diff --git a/dist/_tests/demos/reacttst_connect.js b/dist/_tests/demos/reacttst_connect.js index a6564da13c637542936bde01b4b06a8ed1489a82..9ce47aec5b80976bcbc82f0c60b59ae35a2baf14 100644 --- a/dist/_tests/demos/reacttst_connect.js +++ b/dist/_tests/demos/reacttst_connect.js @@ -24,11 +24,13 @@ exports.DateRangeConnected = reactAndRedux_1.connect(function (state) { maxRange: 10, start: state.twoDates.start, end: state.twoDates.end, + initialEnd: state.twoDates.end, + npmrds: true }; }, function (dispatch) { return { - callback: function (s, e) { - dispatch({ type: actions.SET_TWO_DATES, start: s, end: e }); + callback: function (s, e, version) { + dispatch({ type: actions.SET_TWO_DATES, start: s, end: e, version: version }); } }; })(DateRange_1.DateRange); diff --git a/dist/_tests/demos/reacttst_connect.js.map b/dist/_tests/demos/reacttst_connect.js.map index cf7ddc851a068e350d90a144510258fffe1180fe..540e99c2d041f4e965e11cdf10b9fde41be7cd5f 100644 --- a/dist/_tests/demos/reacttst_connect.js.map +++ b/dist/_tests/demos/reacttst_connect.js.map @@ -1 +1 @@ -{"version":3,"file":"reacttst_connect.js","sourceRoot":"","sources":["../../../src/_tests/demos/reacttst_connect.ts"],"names":[],"mappings":";;AAAA,qEAA4D;AAE5D,2DAAwD;AACxD,6DAA0D;AAC1D,4CAA8C;AAGjC,QAAA,iBAAiB,GAAG,uBAAO,CACpC,UAAC,KAAa;IACV,MAAM,CAAC;QACH,KAAK,EAAE,uBAAuB;QAC9B,MAAM,EAAE,UAAC,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACnB,CAAC;QACD,GAAG,EAAE,KAAK,CAAC,OAAO;KACrB,CAAA;AACL,CAAC,EACD,UAAC,QAAQ;IACL,MAAM,CAAC;QACH,MAAM,EAAE,UAAC,CAAC;YACN,QAAQ,CAAC,EAAC,IAAI,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,EAAE,CAAC,EAAC,CAAC,CAAC;QACjD,CAAC;KACJ,CAAA;AACL,CAAC,CACJ,CAAC,mBAAQ,CAAC,CAAC;AAGC,QAAA,kBAAkB,GAAG,uBAAO,CACrC,UAAC,KAAa;IACV,MAAM,CAAC;QACH,QAAQ,EAAE,EAAE;QACZ,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK;QAC3B,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG;KAC1B,CAAA;AACL,CAAC,EACD,UAAC,QAAQ;IACL,MAAM,CAAC;QACH,QAAQ,EAAE,UAAC,CAAO,EAAE,CAAO;YACvB,QAAQ,CAAC,EAAC,IAAI,EAAE,OAAO,CAAC,aAAa,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAC,CAAC,CAAC;QAC9D,CAAC;KACJ,CAAA;AACL,CAAC,CACJ,CAAC,qBAAS,CAAC,CAAC","sourcesContent":["import {connect} from '../../reactComponents/reactAndRedux';\r\nimport {iState} from './reacttst_store';\r\nimport {DatePick} from '../../reactComponents/DatePick';\r\nimport {DateRange} from '../../reactComponents/DateRange';\r\nimport * as actions from './reacttst_actions';\r\n\r\n\r\nexport const DatePickConnected = connect(\r\n (state: iState) => {\r\n return {\r\n label: 'Date Picker Connected',\r\n change: (v) => {\r\n console.log(v);\r\n },\r\n val: state.oneDate\r\n }\r\n },\r\n (dispatch) => {\r\n return {\r\n change: (v) => {\r\n dispatch({type: actions.SET_ONE_DATE, d: v});\r\n }\r\n }\r\n }\r\n)(DatePick);\r\n\r\n\r\nexport const DateRangeConnected = connect(\r\n (state: iState) => {\r\n return {\r\n maxRange: 10,\r\n start: state.twoDates.start,\r\n end: state.twoDates.end,\r\n }\r\n },\r\n (dispatch) => {\r\n return {\r\n callback: (s: Date, e: Date) => {\r\n dispatch({type: actions.SET_TWO_DATES, start: s, end: e});\r\n }\r\n }\r\n }\r\n)(DateRange);\r\n\r\n\r\n\r\n\r\n"]} \ No newline at end of file +{"version":3,"file":"reacttst_connect.js","sourceRoot":"","sources":["../../../src/_tests/demos/reacttst_connect.ts"],"names":[],"mappings":";;AAAA,qEAA4D;AAE5D,2DAAwD;AACxD,6DAA0D;AAC1D,4CAA8C;AAGjC,QAAA,iBAAiB,GAAG,uBAAO,CACpC,UAAC,KAAa;IACV,MAAM,CAAC;QACH,KAAK,EAAE,uBAAuB;QAC9B,MAAM,EAAE,UAAC,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACnB,CAAC;QACD,GAAG,EAAE,KAAK,CAAC,OAAO;KACrB,CAAA;AACL,CAAC,EACD,UAAC,QAAQ;IACL,MAAM,CAAC;QACH,MAAM,EAAE,UAAC,CAAC;YACN,QAAQ,CAAC,EAAC,IAAI,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,EAAE,CAAC,EAAC,CAAC,CAAC;QACjD,CAAC;KACJ,CAAA;AACL,CAAC,CACJ,CAAC,mBAAQ,CAAC,CAAC;AAGC,QAAA,kBAAkB,GAAG,uBAAO,CACrC,UAAC,KAAa;IACV,MAAM,CAAC;QACH,QAAQ,EAAE,EAAE;QACZ,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK;QAC3B,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG;QACvB,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG;QAC9B,MAAM,EAAE,IAAI;KACf,CAAA;AACL,CAAC,EACD,UAAC,QAAQ;IACL,MAAM,CAAC;QACH,QAAQ,EAAE,UAAC,CAAO,EAAE,CAAO,EAAE,OAAe;YACxC,QAAQ,CAAC,EAAC,IAAI,EAAE,OAAO,CAAC,aAAa,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,EAAC,CAAC,CAAC;QAChF,CAAC;KACJ,CAAA;AACL,CAAC,CACJ,CAAC,qBAAS,CAAC,CAAC","sourcesContent":["import {connect} from '../../reactComponents/reactAndRedux';\r\nimport {iState} from './reacttst_store';\r\nimport {DatePick} from '../../reactComponents/DatePick';\r\nimport {DateRange} from '../../reactComponents/DateRange';\r\nimport * as actions from './reacttst_actions';\r\n\r\n\r\nexport const DatePickConnected = connect(\r\n (state: iState) => {\r\n return {\r\n label: 'Date Picker Connected',\r\n change: (v) => {\r\n console.log(v);\r\n },\r\n val: state.oneDate\r\n }\r\n },\r\n (dispatch) => {\r\n return {\r\n change: (v) => {\r\n dispatch({type: actions.SET_ONE_DATE, d: v});\r\n }\r\n }\r\n }\r\n)(DatePick);\r\n\r\n\r\nexport const DateRangeConnected = connect(\r\n (state: iState) => {\r\n return {\r\n maxRange: 10,\r\n start: state.twoDates.start,\r\n end: state.twoDates.end,\r\n initialEnd: state.twoDates.end,\r\n npmrds: true\r\n }\r\n },\r\n (dispatch) => {\r\n return {\r\n callback: (s: Date, e: Date, version: number) => {\r\n dispatch({type: actions.SET_TWO_DATES, start: s, end: e, version: version});\r\n }\r\n }\r\n }\r\n)(DateRange);\r\n\r\n\r\n\r\n\r\n"]} \ No newline at end of file diff --git a/dist/_tests/demos/reacttst_store.d.ts b/dist/_tests/demos/reacttst_store.d.ts index 53db86a75569628a036e825e36fbfb388ae2af77..9c83ec4f07f97804035e3166c443af7e706fe313 100644 --- a/dist/_tests/demos/reacttst_store.d.ts +++ b/dist/_tests/demos/reacttst_store.d.ts @@ -5,6 +5,7 @@ export interface iState { twoDates: { start: Date; end: Date; + version: number; }; } export declare function getState(): iState; diff --git a/dist/_tests/demos/reacttst_store.js b/dist/_tests/demos/reacttst_store.js index 7ff89a277d6a32652997316fad231b07c03553fc..368bdf89bda955e4a7b454aee86173e1a51da6cf 100644 --- a/dist/_tests/demos/reacttst_store.js +++ b/dist/_tests/demos/reacttst_store.js @@ -11,15 +11,16 @@ function oneDate(state, action) { return state; } } -var now = new Date(); -var before = new Date(); -before.setDate(before.getDate() - 10); +var start = new Date('12/31/2017'); +var end = new Date('12/31/2017'); +start.setDate(start.getDate() - 10); function twoDates(state, action) { - if (state === void 0) { state = { start: now, end: before }; } + if (state === void 0) { state = { start: start, end: end, version: 2 }; } if (action.type == actions.SET_TWO_DATES) { return { start: action.start, - end: action.end + end: action.end, + version: action.version }; } else { diff --git a/dist/_tests/demos/reacttst_store.js.map b/dist/_tests/demos/reacttst_store.js.map index c3a3659913e75bf2ed633415d9c7bc6d5d5d5b0b..47801ce2df65ee38b776ef243e2af3f46f42a299 100644 --- a/dist/_tests/demos/reacttst_store.js.map +++ b/dist/_tests/demos/reacttst_store.js.map @@ -1 +1 @@ -{"version":3,"file":"reacttst_store.js","sourceRoot":"","sources":["../../../src/_tests/demos/reacttst_store.ts"],"names":[],"mappings":";;AAAA,4CAA8C;AAC9C,6BAAgC;AAGhC,iBAAiB,KAAkB,EAAE,MAA+B;IAAnD,sBAAA,EAAA,YAAY,IAAI,EAAE;IAC/B,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;QACtC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IACpB,CAAC;IAAC,IAAI,CAAC,CAAC;QACJ,MAAM,CAAC,KAAK,CAAC;IACjB,CAAC;AACL,CAAC;AAED,IAAI,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;AACrB,IAAI,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;AACxB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;AAEtC,kBAAkB,KAAiC,EAAE,MAA8C;IAAjF,sBAAA,EAAA,UAAS,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAC;IAC/C,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,OAAO,CAAC,aAAa,CAAC,CAAA,CAAC;QACtC,MAAM,CAAC;YACH,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,GAAG,EAAE,MAAM,CAAC,GAAG;SAClB,CAAA;IACL,CAAC;IAAC,IAAI,CAAC,CAAC;QACJ,MAAM,CAAC,KAAK,CAAC;IACjB,CAAC;AACL,CAAC;AAIY,QAAA,QAAQ,GAAG,KAAK,CAAC,WAAW,CACrC,KAAK,CAAC,eAAe,CAAC,EAAC,OAAO,SAAA,EAAE,QAAQ,UAAA,EAAC,CAAC,CAC7C,CAAC;AAUF;IACI,MAAM,CAAC,gBAAQ,CAAC,QAAQ,EAAY,CAAC;AACzC,CAAC;AAFD,4BAEC;AAED,kBAAe,gBAAQ,CAAC","sourcesContent":["import * as actions from './reacttst_actions';\r\nimport Redux = require('redux');\r\n\r\n\r\nfunction oneDate(state = new Date(), action: {type: string, d: Date}) {\r\n if (action.type == actions.SET_ONE_DATE) {\r\n return action.d;\r\n } else {\r\n return state;\r\n }\r\n}\r\n\r\nlet now = new Date();\r\nlet before = new Date();\r\nbefore.setDate(before.getDate() - 10);\r\n\r\nfunction twoDates(state = {start: now, end: before}, action: {type: string, start: Date, end: Date}){\r\n if (action.type == actions.SET_TWO_DATES){\r\n return {\r\n start: action.start,\r\n end: action.end\r\n }\r\n } else {\r\n return state;\r\n }\r\n}\r\n\r\n\r\n\r\nexport const theStore = Redux.createStore(\r\n Redux.combineReducers({oneDate, twoDates})\r\n);\r\n\r\n\r\nexport interface iState {\r\n oneDate: Date;\r\n twoDates: {start: Date, end: Date}\r\n}\r\n\r\n\r\n\r\nexport function getState(): iState{\r\n return theStore.getState() as iState;\r\n}\r\n\r\nexport default theStore;\r\n\r\n\r\n"]} \ No newline at end of file +{"version":3,"file":"reacttst_store.js","sourceRoot":"","sources":["../../../src/_tests/demos/reacttst_store.ts"],"names":[],"mappings":";;AAAA,4CAA8C;AAC9C,6BAAgC;AAGhC,iBAAiB,KAAkB,EAAE,MAA+B;IAAnD,sBAAA,EAAA,YAAY,IAAI,EAAE;IAC/B,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;QACtC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IACpB,CAAC;IAAC,IAAI,CAAC,CAAC;QACJ,MAAM,CAAC,KAAK,CAAC;IACjB,CAAC;AACL,CAAC;AAED,IAAI,KAAK,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC;AACnC,IAAI,GAAG,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC;AACjC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;AAEpC,kBAAkB,KAA4C,EAAE,MAA+D;IAA7G,sBAAA,EAAA,UAAS,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,EAAC;IAC1D,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,OAAO,CAAC,aAAa,CAAC,CAAA,CAAC;QACtC,MAAM,CAAC;YACH,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,OAAO,EAAE,MAAM,CAAC,OAAO;SAC1B,CAAA;IACL,CAAC;IAAC,IAAI,CAAC,CAAC;QACJ,MAAM,CAAC,KAAK,CAAC;IACjB,CAAC;AACL,CAAC;AAIY,QAAA,QAAQ,GAAG,KAAK,CAAC,WAAW,CACrC,KAAK,CAAC,eAAe,CAAC,EAAC,OAAO,SAAA,EAAE,QAAQ,UAAA,EAAC,CAAC,CAC7C,CAAC;AASF;IACI,MAAM,CAAC,gBAAQ,CAAC,QAAQ,EAAY,CAAC;AACzC,CAAC;AAFD,4BAEC;AAED,kBAAe,gBAAQ,CAAC","sourcesContent":["import * as actions from './reacttst_actions';\r\nimport Redux = require('redux');\r\n\r\n\r\nfunction oneDate(state = new Date(), action: {type: string, d: Date}) {\r\n if (action.type == actions.SET_ONE_DATE) {\r\n return action.d;\r\n } else {\r\n return state;\r\n }\r\n}\r\n\r\nlet start = new Date('12/31/2017');\r\nlet end = new Date('12/31/2017');\r\nstart.setDate(start.getDate() - 10);\r\n\r\nfunction twoDates(state = {start: start, end: end, version: 2}, action: {type: string, start: Date, end: Date, version: number}){\r\n if (action.type == actions.SET_TWO_DATES){\r\n return {\r\n start: action.start,\r\n end: action.end,\r\n version: action.version\r\n }\r\n } else {\r\n return state;\r\n }\r\n}\r\n\r\n\r\n\r\nexport const theStore = Redux.createStore(\r\n Redux.combineReducers({oneDate, twoDates})\r\n);\r\n\r\n\r\nexport interface iState {\r\n oneDate: Date;\r\n twoDates: {start: Date, end: Date, version: number}\r\n}\r\n\r\n\r\nexport function getState(): iState{\r\n return theStore.getState() as iState;\r\n}\r\n\r\nexport default theStore;\r\n\r\n\r\n"]} \ No newline at end of file diff --git a/dist/reactComponents/DateRange.d.ts b/dist/reactComponents/DateRange.d.ts index a2ff14e410517690e2359706850bd8a3cae62af0..3bf8738e11c62e6effedaa74c5e6d8060a4599da 100644 --- a/dist/reactComponents/DateRange.d.ts +++ b/dist/reactComponents/DateRange.d.ts @@ -6,13 +6,14 @@ import { React } from './reactAndRedux'; import 'jquery-ui'; export interface iDateRange { maxRange: number; - callback: (start: Date, end: Date) => any; + callback: (start: Date, end: Date, version?: number) => any; minRange?: number; maxDate?: Date; minDate?: Date; initialEnd?: Date; start?: Date; end?: Date; + npmrds?: boolean; } export declare class DateRange extends React.Component<iDateRange, null> { startId: string; @@ -24,10 +25,16 @@ export declare class DateRange extends React.Component<iDateRange, null> { maxRange: number; minRange: number; numDays: number; + versionTwoStart: Date; + previousStart: Date; + previousEnd: Date; constructor(props: iDateRange, context: Object); setNumDays(): void; componentDidMount(): void; private readonly needReset; + private readonly versionSpan; + private readonly version; + private finalizeChange(); private setStart(s); private setEnd(s); render(): JSX.Element; diff --git a/dist/reactComponents/DateRange.js b/dist/reactComponents/DateRange.js index 6d8025024a3cc4b3129d1b0b12dd78876cf29eb2..6593ebb6f550d85aff4bc981c79bc494038bc324 100644 --- a/dist/reactComponents/DateRange.js +++ b/dist/reactComponents/DateRange.js @@ -32,6 +32,7 @@ var DateRange = (function (_super) { var _this = _super.call(this, props, context) || this; _this.startId = makeGuid_1.default(); _this.endId = makeGuid_1.default(); + _this.versionTwoStart = new Date(2017, 1, 1); _this.maxRange = Math.round(_this.props.maxRange) - 1; _this.minRange = typeof _this.props['minRange'] == 'number' ? Math.round(_this.props['minRange']) : 1; if (_this.minRange > _this.maxRange) { @@ -55,7 +56,7 @@ var DateRange = (function (_super) { DateRange.prototype.componentDidMount = function () { this.startInput = document.getElementById(this.startId); this.endInput = document.getElementById(this.endId); - this.props.callback(this.start, this.end); + this.props.callback(this.start, this.end, this.version); }; Object.defineProperty(DateRange.prototype, "needReset", { get: function () { @@ -64,7 +65,49 @@ var DateRange = (function (_super) { enumerable: true, configurable: true }); + Object.defineProperty(DateRange.prototype, "versionSpan", { + get: function () { + if (this.start < this.versionTwoStart && this.end >= this.versionTwoStart) { + return true; + } + else if (fixDate.dateToString(this.versionTwoStart) === fixDate.dateToString(this.end) && this.start < this.versionTwoStart) { + return true; + } + return false; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(DateRange.prototype, "version", { + get: function () { + if (fixDate.dateToString(this.start) == fixDate.dateToString(this.versionTwoStart)) { + return 2; + } + else if (this.start >= this.versionTwoStart) { + return 2; + } + return 1; + }, + enumerable: true, + configurable: true + }); + DateRange.prototype.finalizeChange = function () { + if (this.props.npmrds) { + if (this.versionSpan) { + this.start = this.previousStart; + this.end = this.previousEnd; + this.startInput.value = fixDate.dateToString(this.start); + this.endInput.value = fixDate.dateToString(this.end); + this.setNumDays(); + alert("Start and End dates must not span version break: " + fixDate.dateToString(this.versionTwoStart)); + return; + } + } + this.props.callback(this.start, this.end, this.version); + }; DateRange.prototype.setStart = function (s) { + this.previousStart = new Date(this.start); + this.previousEnd = new Date(this.end); this.start = s; this.setNumDays(); if (this.needReset) { @@ -78,9 +121,11 @@ var DateRange = (function (_super) { this.endInput.value = fixDate.dateToString(this.end); this.setNumDays(); } - this.props.callback(this.start, this.end); + this.finalizeChange(); }; DateRange.prototype.setEnd = function (s) { + this.previousStart = new Date(this.start); + this.previousEnd = new Date(this.end); this.end = s; this.setNumDays(); if (this.needReset) { @@ -94,7 +139,7 @@ var DateRange = (function (_super) { this.startInput.value = fixDate.dateToString(this.start); this.setNumDays(); } - this.props.callback(this.start, this.end); + this.finalizeChange(); }; DateRange.prototype.render = function () { var _this = this; diff --git a/dist/reactComponents/DateRange.js.map b/dist/reactComponents/DateRange.js.map index 76722d1016e831ac06dac9899c48dd1a543597fd..e8d908c081e6cec7ad26ab317d8ece8ae1749045 100644 --- a/dist/reactComponents/DateRange.js.map +++ b/dist/reactComponents/DateRange.js.map @@ -1 +1 @@ -{"version":3,"file":"DateRange.js","sourceRoot":"","sources":["../../src/reactComponents/DateRange.tsx"],"names":[],"mappings":"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","sourcesContent":["/**\r\n * Created by glenn on 6/12/2017.\r\n */\r\n\r\nimport {React} from './reactAndRedux';\r\nimport $ = require('jquery');\r\nimport 'jquery-ui';\r\nimport makeGuid from '../util/makeGuid';\r\nimport * as fixDate from './helpers/dateFormat';\r\nimport DatePick from './DatePick';\r\n\r\nfunction stringToDate(dte: string|Date){\r\n if ((dte as Date).getTime){\r\n return dte as Date;\r\n } else {\r\n return new Date(dte);\r\n }\r\n}\r\n\r\nexport interface iDateRange{\r\n maxRange: number;\r\n callback: (start: Date, end: Date) => any;\r\n minRange?: number;\r\n maxDate?: Date;\r\n minDate?: Date;\r\n initialEnd?: Date;\r\n start?: Date;\r\n end?: Date;\r\n}\r\n\r\n\r\nexport class DateRange extends React.Component<iDateRange, null> {\r\n startId = makeGuid();\r\n endId = makeGuid();\r\n startInput: HTMLInputElement;\r\n endInput: HTMLInputElement;\r\n start: Date;\r\n end: Date;\r\n maxRange: number;\r\n minRange: number;\r\n numDays: number;\r\n\r\n\r\n constructor(props: iDateRange, context: Object) {\r\n super(props, context);\r\n\r\n this.maxRange = Math.round(this.props.maxRange) - 1;\r\n this.minRange = typeof this.props['minRange'] == 'number' ? Math.round(this.props['minRange']) : 1;\r\n\r\n if (this.minRange > this.maxRange) {\r\n throw \"DateRange component: Max range must be greater than min range\";\r\n }\r\n\r\n if (this.props.initialEnd){\r\n this.end = stringToDate(this.props.initialEnd)\r\n } else {\r\n this.end = new Date();\r\n }\r\n\r\n this.end.setHours(0, 0, 0);\r\n this.start = new Date(this.end);\r\n this.start.setDate(this.start.getDate() - this.maxRange);\r\n this.setNumDays();\r\n }\r\n\r\n setNumDays() {\r\n this.numDays = Math.round((this.end.getTime() - this.start.getTime()) / (1000 * 60 * 60 * 24)) + 1;\r\n }\r\n\r\n\r\n componentDidMount() {\r\n this.startInput = document.getElementById(this.startId) as HTMLInputElement;\r\n this.endInput = document.getElementById(this.endId) as HTMLInputElement;\r\n this.props.callback(this.start, this.end);\r\n }\r\n\r\n private get needReset(): boolean {\r\n return this.numDays > this.maxRange || this.numDays < this.minRange;\r\n }\r\n\r\n private setStart(s: Date) {\r\n this.start = s;\r\n this.setNumDays();\r\n\r\n if (this.needReset) {\r\n this.end = new Date(this.start);\r\n\r\n if (this.numDays > this.maxRange) {\r\n this.end.setDate(this.end.getDate() + this.maxRange);\r\n } else {\r\n this.end.setDate(this.end.getDate() + this.minRange - 1);\r\n }\r\n\r\n this.endInput.value = fixDate.dateToString(this.end);\r\n this.setNumDays();\r\n }\r\n this.props.callback(this.start, this.end);\r\n }\r\n\r\n private setEnd(s: Date) {\r\n this.end = s;\r\n this.setNumDays();\r\n\r\n if (this.needReset) {\r\n this.start = new Date(this.end);\r\n\r\n if (this.numDays > this.maxRange) {\r\n this.start.setDate(this.start.getDate() - this.maxRange);\r\n } else {\r\n this.start.setDate(this.start.getDate() - this.minRange + 1);\r\n }\r\n\r\n this.startInput.value = fixDate.dateToString(this.start);\r\n this.setNumDays();\r\n }\r\n this.props.callback(this.start, this.end);\r\n }\r\n\r\n render() {\r\n return <div className=\"date-range\">\r\n <DatePick id={this.startId} label=\"Start\" initialDate={this.start} change={(s) => {this.setStart(s)}}/>\r\n <DatePick id={this.endId} label=\"End\" initialDate={this.end} change={(s) => {this.setEnd(s)}}/>\r\n </div>;\r\n }\r\n}\r\n"]} \ No newline at end of file +{"version":3,"file":"DateRange.js","sourceRoot":"","sources":["../../src/reactComponents/DateRange.tsx"],"names":[],"mappings":"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","sourcesContent":["/**\r\n * Created by glenn on 6/12/2017.\r\n */\r\n\r\nimport {React} from './reactAndRedux';\r\nimport $ = require('jquery');\r\nimport 'jquery-ui';\r\nimport makeGuid from '../util/makeGuid';\r\nimport * as fixDate from './helpers/dateFormat';\r\nimport DatePick from './DatePick';\r\n\r\nfunction stringToDate(dte: string|Date){\r\n if ((dte as Date).getTime){\r\n return dte as Date;\r\n } else {\r\n return new Date(dte);\r\n }\r\n}\r\n\r\nexport interface iDateRange{\r\n maxRange: number;\r\n callback: (start: Date, end: Date, version?: number) => any;\r\n minRange?: number;\r\n maxDate?: Date;\r\n minDate?: Date;\r\n initialEnd?: Date;\r\n start?: Date;\r\n end?: Date;\r\n npmrds?: boolean;\r\n}\r\n\r\n\r\nexport class DateRange extends React.Component<iDateRange, null> {\r\n startId = makeGuid();\r\n endId = makeGuid();\r\n startInput: HTMLInputElement;\r\n endInput: HTMLInputElement;\r\n start: Date;\r\n end: Date;\r\n maxRange: number;\r\n minRange: number;\r\n numDays: number;\r\n versionTwoStart: Date;\r\n previousStart: Date;\r\n previousEnd: Date;\r\n\r\n constructor(props: iDateRange, context: Object) {\r\n super(props, context);\r\n\r\n this.versionTwoStart = new Date(2017, 1, 1);\r\n\r\n this.maxRange = Math.round(this.props.maxRange) - 1;\r\n this.minRange = typeof this.props['minRange'] == 'number' ? Math.round(this.props['minRange']) : 1;\r\n\r\n if (this.minRange > this.maxRange) {\r\n throw \"DateRange component: Max range must be greater than min range\";\r\n }\r\n\r\n if (this.props.initialEnd){\r\n this.end = stringToDate(this.props.initialEnd)\r\n } else {\r\n this.end = new Date();\r\n }\r\n\r\n this.end.setHours(0, 0, 0);\r\n this.start = new Date(this.end);\r\n this.start.setDate(this.start.getDate() - this.maxRange);\r\n this.setNumDays();\r\n }\r\n\r\n setNumDays() {\r\n this.numDays = Math.round((this.end.getTime() - this.start.getTime()) / (1000 * 60 * 60 * 24)) + 1;\r\n }\r\n\r\n\r\n componentDidMount() {\r\n this.startInput = document.getElementById(this.startId) as HTMLInputElement;\r\n this.endInput = document.getElementById(this.endId) as HTMLInputElement;\r\n\r\n\r\n this.props.callback(this.start, this.end, this.version);\r\n }\r\n\r\n private get needReset(): boolean {\r\n return this.numDays > this.maxRange || this.numDays < this.minRange;\r\n }\r\n\r\n private get versionSpan(): boolean{\r\n\r\n if (this.start < this.versionTwoStart && this.end >= this.versionTwoStart){\r\n return true;\r\n } else if (fixDate.dateToString(this.versionTwoStart) === fixDate.dateToString(this.end) && this.start < this.versionTwoStart){\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n private get version(): number{\r\n\r\n if (fixDate.dateToString(this.start) == fixDate.dateToString(this.versionTwoStart)){\r\n return 2;\r\n } else if (this.start >= this.versionTwoStart){\r\n return 2;\r\n }\r\n return 1;\r\n }\r\n\r\n private finalizeChange(){\r\n\r\n if (this.props.npmrds){\r\n if (this.versionSpan){\r\n this.start = this.previousStart;\r\n this.end = this.previousEnd;\r\n\r\n this.startInput.value = fixDate.dateToString(this.start);\r\n this.endInput.value = fixDate.dateToString(this.end);\r\n this.setNumDays();\r\n alert(\"Start and End dates must not span version break: \" + fixDate.dateToString(this.versionTwoStart));\r\n return;\r\n }\r\n }\r\n\r\n this.props.callback(this.start, this.end, this.version);\r\n }\r\n\r\n private setStart(s: Date) {\r\n\r\n this.previousStart = new Date(this.start);\r\n this.previousEnd = new Date(this.end);\r\n\r\n this.start = s;\r\n\r\n this.setNumDays();\r\n\r\n if (this.needReset) {\r\n this.end = new Date(this.start);\r\n\r\n if (this.numDays > this.maxRange) {\r\n this.end.setDate(this.end.getDate() + this.maxRange);\r\n } else {\r\n this.end.setDate(this.end.getDate() + this.minRange - 1);\r\n }\r\n\r\n this.endInput.value = fixDate.dateToString(this.end);\r\n this.setNumDays();\r\n }\r\n\r\n this.finalizeChange();\r\n }\r\n\r\n private setEnd(s: Date) {\r\n this.previousStart = new Date(this.start);\r\n this.previousEnd = new Date(this.end);\r\n\r\n this.end = s;\r\n this.setNumDays();\r\n\r\n if (this.needReset) {\r\n this.start = new Date(this.end);\r\n\r\n if (this.numDays > this.maxRange) {\r\n this.start.setDate(this.start.getDate() - this.maxRange);\r\n } else {\r\n this.start.setDate(this.start.getDate() - this.minRange + 1);\r\n }\r\n\r\n this.startInput.value = fixDate.dateToString(this.start);\r\n this.setNumDays();\r\n }\r\n\r\n this.finalizeChange();\r\n }\r\n\r\n render() {\r\n return <div className=\"date-range\">\r\n <DatePick id={this.startId} label=\"Start\" initialDate={this.start} change={(s) => {this.setStart(s)}}/>\r\n <DatePick id={this.endId} label=\"End\" initialDate={this.end} change={(s) => {this.setEnd(s)}}/>\r\n </div>;\r\n }\r\n}\r\n"]} \ No newline at end of file diff --git a/src/_tests/demos/reacttst_connect.ts b/src/_tests/demos/reacttst_connect.ts index 600a1a87e670a1b9dcc9aba7af7e927169b3263c..59524c7f91cc51346e09e8a6788d6c7bcf1d0802 100644 --- a/src/_tests/demos/reacttst_connect.ts +++ b/src/_tests/demos/reacttst_connect.ts @@ -31,12 +31,14 @@ export const DateRangeConnected = connect( maxRange: 10, start: state.twoDates.start, end: state.twoDates.end, + initialEnd: state.twoDates.end, + npmrds: true } }, (dispatch) => { return { - callback: (s: Date, e: Date) => { - dispatch({type: actions.SET_TWO_DATES, start: s, end: e}); + callback: (s: Date, e: Date, version: number) => { + dispatch({type: actions.SET_TWO_DATES, start: s, end: e, version: version}); } } } diff --git a/src/_tests/demos/reacttst_store.ts b/src/_tests/demos/reacttst_store.ts index f0bd2b100bc343a6b248f69910a150d922f5c237..d92ed51104188e4227f451b41218a9aef3505176 100644 --- a/src/_tests/demos/reacttst_store.ts +++ b/src/_tests/demos/reacttst_store.ts @@ -10,15 +10,16 @@ function oneDate(state = new Date(), action: {type: string, d: Date}) { } } -let now = new Date(); -let before = new Date(); -before.setDate(before.getDate() - 10); +let start = new Date('12/31/2017'); +let end = new Date('12/31/2017'); +start.setDate(start.getDate() - 10); -function twoDates(state = {start: now, end: before}, action: {type: string, start: Date, end: Date}){ +function twoDates(state = {start: start, end: end, version: 2}, action: {type: string, start: Date, end: Date, version: number}){ if (action.type == actions.SET_TWO_DATES){ return { start: action.start, - end: action.end + end: action.end, + version: action.version } } else { return state; @@ -34,11 +35,10 @@ export const theStore = Redux.createStore( export interface iState { oneDate: Date; - twoDates: {start: Date, end: Date} + twoDates: {start: Date, end: Date, version: number} } - export function getState(): iState{ return theStore.getState() as iState; } diff --git a/src/reactComponents/DateRange.tsx b/src/reactComponents/DateRange.tsx index bc60ba989c26b079a12212ee8c9baee1368dda2c..80ada6f42b4e5a5d20bafb7134d0f634b11ba796 100644 --- a/src/reactComponents/DateRange.tsx +++ b/src/reactComponents/DateRange.tsx @@ -19,13 +19,14 @@ function stringToDate(dte: string|Date){ export interface iDateRange{ maxRange: number; - callback: (start: Date, end: Date) => any; + callback: (start: Date, end: Date, version?: number) => any; minRange?: number; maxDate?: Date; minDate?: Date; initialEnd?: Date; start?: Date; end?: Date; + npmrds?: boolean; } @@ -39,11 +40,15 @@ export class DateRange extends React.Component<iDateRange, null> { maxRange: number; minRange: number; numDays: number; - + versionTwoStart: Date; + previousStart: Date; + previousEnd: Date; constructor(props: iDateRange, context: Object) { super(props, context); + this.versionTwoStart = new Date(2017, 1, 1); + this.maxRange = Math.round(this.props.maxRange) - 1; this.minRange = typeof this.props['minRange'] == 'number' ? Math.round(this.props['minRange']) : 1; @@ -71,15 +76,61 @@ export class DateRange extends React.Component<iDateRange, null> { componentDidMount() { this.startInput = document.getElementById(this.startId) as HTMLInputElement; this.endInput = document.getElementById(this.endId) as HTMLInputElement; - this.props.callback(this.start, this.end); + + + this.props.callback(this.start, this.end, this.version); } private get needReset(): boolean { return this.numDays > this.maxRange || this.numDays < this.minRange; } + private get versionSpan(): boolean{ + + if (this.start < this.versionTwoStart && this.end >= this.versionTwoStart){ + return true; + } else if (fixDate.dateToString(this.versionTwoStart) === fixDate.dateToString(this.end) && this.start < this.versionTwoStart){ + return true; + } + + return false; + } + + private get version(): number{ + + if (fixDate.dateToString(this.start) == fixDate.dateToString(this.versionTwoStart)){ + return 2; + } else if (this.start >= this.versionTwoStart){ + return 2; + } + return 1; + } + + private finalizeChange(){ + + if (this.props.npmrds){ + if (this.versionSpan){ + this.start = this.previousStart; + this.end = this.previousEnd; + + this.startInput.value = fixDate.dateToString(this.start); + this.endInput.value = fixDate.dateToString(this.end); + this.setNumDays(); + alert("Start and End dates must not span version break: " + fixDate.dateToString(this.versionTwoStart)); + return; + } + } + + this.props.callback(this.start, this.end, this.version); + } + private setStart(s: Date) { + + this.previousStart = new Date(this.start); + this.previousEnd = new Date(this.end); + this.start = s; + this.setNumDays(); if (this.needReset) { @@ -94,10 +145,14 @@ export class DateRange extends React.Component<iDateRange, null> { this.endInput.value = fixDate.dateToString(this.end); this.setNumDays(); } - this.props.callback(this.start, this.end); + + this.finalizeChange(); } private setEnd(s: Date) { + this.previousStart = new Date(this.start); + this.previousEnd = new Date(this.end); + this.end = s; this.setNumDays(); @@ -113,7 +168,8 @@ export class DateRange extends React.Component<iDateRange, null> { this.startInput.value = fixDate.dateToString(this.start); this.setNumDays(); } - this.props.callback(this.start, this.end); + + this.finalizeChange(); } render() { diff --git a/test/serve/js/animate.js b/test/serve/js/animate.js index 037277eea4331b5ff42de476d3d2a8ec0fc32d65..44fb4d1b9f3c0f7291eb78402aef7ce1051cebb7 100644 --- a/test/serve/js/animate.js +++ b/test/serve/js/animate.js @@ -63,7 +63,7 @@ /******/ __webpack_require__.p = ""; /******/ /******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = 67); +/******/ return __webpack_require__(__webpack_require__.s = 69); /******/ }) /************************************************************************/ /******/ ([ @@ -146,25 +146,6 @@ exports.default = makeGuid; /* 4 */ /***/ (function(module, exports, __webpack_require__) { -"use strict"; -/** - * Created by gavorhes on 11/3/2015. - */ - -Object.defineProperty(exports, "__esModule", { value: true }); -var mapPopupCls_1 = __webpack_require__(24); -/** - * The single popup object catch is that it is common to multimap pages - * @type {MapPopupCls} - */ -exports.mapPopup = new mapPopupCls_1.default(); -exports.default = exports.mapPopup; - - -/***/ }), -/* 5 */ -/***/ (function(module, exports, __webpack_require__) { - "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); @@ -245,7 +226,7 @@ exports.default = MapInteractionBase; /***/ }), -/* 6 */ +/* 5 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -254,17 +235,17 @@ exports.default = MapInteractionBase; */ Object.defineProperty(exports, "__esModule", { value: true }); -var mapMoveCls_1 = __webpack_require__(23); +var mapPopupCls_1 = __webpack_require__(15); /** - * The single map move object catch is that it is common to multimap pages - * @type {MapMoveCls} + * The single popup object catch is that it is common to multimap pages + * @type {MapPopupCls} */ -exports.mapMove = new mapMoveCls_1.default(); -exports.default = exports.mapMove; +exports.mapPopup = new mapPopupCls_1.default(); +exports.default = exports.mapPopup; /***/ }), -/* 7 */ +/* 6 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -273,10 +254,10 @@ exports.default = exports.mapMove; */ Object.defineProperty(exports, "__esModule", { value: true }); -var quickMapBase_1 = __webpack_require__(25); +var quickMapBase_1 = __webpack_require__(16); var provide_1 = __webpack_require__(0); -var mapMove_1 = __webpack_require__(6); -var mapPopup_1 = __webpack_require__(4); +var mapMove_1 = __webpack_require__(7); +var mapPopup_1 = __webpack_require__(5); var nm = provide_1.default('olHelpers'); /** * Sets up a map with some default parameters and initializes @@ -306,6 +287,25 @@ nm.quickMap = quickMap; exports.default = quickMap; +/***/ }), +/* 7 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/** + * Created by gavorhes on 11/3/2015. + */ + +Object.defineProperty(exports, "__esModule", { value: true }); +var mapMoveCls_1 = __webpack_require__(14); +/** + * The single map move object catch is that it is common to multimap pages + * @type {MapMoveCls} + */ +exports.mapMove = new mapMoveCls_1.default(); +exports.default = exports.mapMove; + + /***/ }), /* 8 */ /***/ (function(module, exports, __webpack_require__) { @@ -323,9 +323,42 @@ exports.proj3070 = new ol.proj.Projection({ code: 'EPSG:3070' }); /***/ }), -/* 9 */, +/* 9 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +var provide_1 = __webpack_require__(0); +var nm = provide_1.default('util.checkDefined'); +/** + * check if the input is undefined or null + * @param input - input pointer + * @returns true undefined or null + */ +function undefinedOrNull(input) { + "use strict"; + return (typeof input === 'undefined' || input === null); +} +exports.undefinedOrNull = undefinedOrNull; +nm.undefinedOrNull = undefinedOrNull; +/** + * check if the input is defined and not null + * @param input - input pointer + * @returns true defined and not null + */ +function definedAndNotNull(input) { + "use strict"; + return !(undefinedOrNull(input)); +} +exports.definedAndNotNull = definedAndNotNull; +nm.definedAndNotNull = definedAndNotNull; + + +/***/ }), /* 10 */, -/* 11 */ +/* 11 */, +/* 12 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -734,235 +767,7 @@ exports.default = LayerBase; /***/ }), -/* 12 */, -/* 13 */, -/* 14 */, -/* 15 */, -/* 16 */, -/* 17 */, -/* 18 */, -/* 19 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -Object.defineProperty(exports, "__esModule", { value: true }); -var provide_1 = __webpack_require__(0); -var nm = provide_1.default('util.checkDefined'); -/** - * check if the input is undefined or null - * @param input - input pointer - * @returns true undefined or null - */ -function undefinedOrNull(input) { - "use strict"; - return (typeof input === 'undefined' || input === null); -} -exports.undefinedOrNull = undefinedOrNull; -nm.undefinedOrNull = undefinedOrNull; -/** - * check if the input is defined and not null - * @param input - input pointer - * @returns true defined and not null - */ -function definedAndNotNull(input) { - "use strict"; - return !(undefinedOrNull(input)); -} -exports.definedAndNotNull = definedAndNotNull; -nm.definedAndNotNull = definedAndNotNull; - - -/***/ }), -/* 20 */, -/* 21 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -var __extends = (this && this.__extends) || (function () { - var extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; - return function (d, b) { - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; -})(); -Object.defineProperty(exports, "__esModule", { value: true }); -/** - * Created by gavorhes on 12/7/2015. - */ -var LayerBase_1 = __webpack_require__(11); -var esriToOl = __webpack_require__(28); -var mapPopup_1 = __webpack_require__(4); -var provide_1 = __webpack_require__(0); -var ol = __webpack_require__(2); -var $ = __webpack_require__(1); -var nm = provide_1.default('layers'); -/** - * Helper to return the url to the service on the production server - * @param {string} folder - * @param {string} service - * @returns {string} - */ -function makeServiceUrl(folder, service) { - return "https://transportal.cee.wisc.edu/applications/arcgis2/rest/services/" + folder + "/" + service + "/MapServer"; -} -exports.makeServiceUrl = makeServiceUrl; -function localCacheUrl(folder, service) { - var loc = window.location.href; - var url = "/mapserver/" + folder + "/" + service; - if (loc.indexOf('transportal.cee.wisc.edu') > -1) { - if (loc.toLowerCase().indexOf('webmapsstage') > -1) { - url = 'https://transportal.cee.wisc.edu/gis/webmapsstage' + url; - } - else { - url = 'https://transportal.cee.wisc.edu/gis/webmaps' + url; - } - } - return url; -} -exports.localCacheUrl = localCacheUrl; -/** - * esri mapserver layer - * @augments LayerBase - */ -var LayerEsriMapServer = (function (_super) { - __extends(LayerEsriMapServer, _super); - /** - * The base layer for all others - * @param {string} url - resource url - * @param {object} [options] - config - * @param {string} [options.id] - layer id - * @param {string} [options.name=Unnamed Layer] - layer name - * @param {number} [options.opacity=1] - opacity - * @param {boolean} [options.visible=true] - default visible - * @param {number} [options.minZoom=undefined] - min zoom level, 0 - 28 - * @param {number} [options.maxZoom=undefined] - max zoom level, 0 - 28 - * @param {object} [options.params={}] the get parameters to include to retrieve the layer - * @param {number} [options.zIndex=0] the z index for the layer - * @param {function} [options.loadCallback] function to call on load, context this is the layer object - * @param {boolean} [options.legendCollapse=false] if the legend item should be initially collapsed - * @param {boolean} [options.legendCheckbox=true] if the legend item should have a checkbox for visibility - * @param {boolean} [options.legendContent] additional content to add to the legend - * @param {boolean} [options.addPopup=false] if a popup should be added - * @param {undefined|Array<number>} [options.showLayers=undefined] if a popup should be added - */ - function LayerEsriMapServer(url, options) { - if (options === void 0) { options = {}; } - var _this = _super.call(this, url, options) || this; - _this._source = new ol.source.TileArcGISRest({ - url: _this.url == '' ? undefined : _this.url, - params: typeof options.showLayers == 'undefined' ? undefined : { layers: 'show:' + options.showLayers.join(',') } - }); - _this._showLayers = options.showLayers || []; - _this._olLayer = new ol.layer.Tile({ - source: _this._source, - visible: _this.visible, - opacity: _this.opacity, - minResolution: _this._minResolution, - maxResolution: _this._maxResolution - }); - _this._olLayer.setZIndex(_this._zIndex); - options.addPopup = typeof options.addPopup == 'boolean' ? options.addPopup : false; - _this._esriFormat = new ol.format.EsriJSON(); - _this._popupRequest = null; - options.getLegend = typeof options.getLegend === 'boolean' ? options.getLegend : true; - if (options.getLegend) { - _this.addLegendContent(); - } - if (options.addPopup) { - mapPopup_1.default.addMapServicePopup(_this); - } - return _this; - } - /** - * add additional content to the legend - * @param {string} [additionalContent=''] additional content for legend - */ - LayerEsriMapServer.prototype.addLegendContent = function (additionalContent) { - var _this = this; - var urlCopy = this.url; - if (urlCopy[urlCopy.length - 1] !== '/') { - urlCopy += '/'; - } - urlCopy += 'legend?f=pjson&callback=?'; - $.get(urlCopy, {}, function (d) { - var newHtml = esriToOl.makeMapServiceLegend(d, _this._showLayers); - _super.prototype.addLegendContent.call(_this, newHtml); - }, 'json'); - }; - LayerEsriMapServer.prototype.getPopupInfo = function (queryParams) { - if (!this.visible) { - return; - } - var urlCopy = this.url; - if (urlCopy[urlCopy.length - 1] != '/') { - urlCopy += '/'; - } - urlCopy += 'identify?callback=?'; - var __this = this; - if (this._popupRequest != null) { - this._popupRequest.abort(); - } - this._popupRequest = $.get(urlCopy, queryParams, function (d) { - for (var _i = 0, _a = d['results']; _i < _a.length; _i++) { - var r = _a[_i]; - var popupHtml = '<table class="esri-popup-table">'; - for (var a in r['attributes']) { - if (r['attributes'].hasOwnProperty(a)) { - var attrVal = r['attributes'][a]; - if (attrVal == null || attrVal.toString().toLowerCase() == 'null') { - continue; - } - var attr = a; - if (attr.length > 14) { - attr = attr.slice(0, 11) + '...'; - } - popupHtml += "<tr><td>" + attr + "</td><td>" + attrVal + "</td></tr>"; - } - } - popupHtml += '</table>'; - mapPopup_1.default.addMapServicePopupContent(__this._esriFormat.readFeature(r), __this, popupHtml, r['layerName']); - } - }, 'json'); - this._popupRequest.always(function () { - __this._popupRequest = null; - }); - }; - Object.defineProperty(LayerEsriMapServer.prototype, "source", { - /** - * - * @returns {ol.source.TileArcGISRest} the vector source - */ - get: function () { - return _super.prototype.getSource.call(this); - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(LayerEsriMapServer.prototype, "olLayer", { - /** - * - * @returns the ol layer - */ - get: function () { - return _super.prototype.getOlLayer.call(this); - }, - enumerable: true, - configurable: true - }); - return LayerEsriMapServer; -}(LayerBase_1.LayerBase)); -exports.LayerEsriMapServer = LayerEsriMapServer; -nm.LayerEsriMapServer = LayerEsriMapServer; -exports.default = LayerEsriMapServer; - - -/***/ }), -/* 22 */ +/* 13 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -1048,7 +853,7 @@ exports.Geocode = Geocode; /***/ }), -/* 23 */ +/* 14 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -1064,8 +869,8 @@ var __extends = (this && this.__extends) || (function () { }; })(); Object.defineProperty(exports, "__esModule", { value: true }); -var mapInteractionBase_1 = __webpack_require__(5); -var checkDefined = __webpack_require__(19); +var mapInteractionBase_1 = __webpack_require__(4); +var checkDefined = __webpack_require__(9); var provide_1 = __webpack_require__(0); var makeGuid_1 = __webpack_require__(3); var $ = __webpack_require__(1); @@ -1293,7 +1098,7 @@ exports.default = MapMoveCls; /***/ }), -/* 24 */ +/* 15 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -1312,7 +1117,7 @@ var __extends = (this && this.__extends) || (function () { }; })(); Object.defineProperty(exports, "__esModule", { value: true }); -var mapInteractionBase_1 = __webpack_require__(5); +var mapInteractionBase_1 = __webpack_require__(4); var provide_1 = __webpack_require__(0); var ol = __webpack_require__(2); var $ = __webpack_require__(1); @@ -1728,7 +1533,7 @@ exports.default = MapPopupCls; /***/ }), -/* 25 */ +/* 16 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -1740,7 +1545,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); var provide_1 = __webpack_require__(0); var ol = __webpack_require__(2); var $ = __webpack_require__(1); -var geocode_1 = __webpack_require__(22); +var geocode_1 = __webpack_require__(13); var nm = provide_1.default('olHelpers'); /** * Sets up a map with some default parameters and initializes @@ -1830,6 +1635,201 @@ nm.quickMapBase = quickMapBase; exports.default = quickMapBase; +/***/ }), +/* 17 */, +/* 18 */, +/* 19 */, +/* 20 */, +/* 21 */, +/* 22 */, +/* 23 */, +/* 24 */, +/* 25 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var __extends = (this && this.__extends) || (function () { + var extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +Object.defineProperty(exports, "__esModule", { value: true }); +/** + * Created by gavorhes on 12/7/2015. + */ +var LayerBase_1 = __webpack_require__(12); +var esriToOl = __webpack_require__(28); +var mapPopup_1 = __webpack_require__(5); +var provide_1 = __webpack_require__(0); +var ol = __webpack_require__(2); +var $ = __webpack_require__(1); +var nm = provide_1.default('layers'); +/** + * Helper to return the url to the service on the production server + * @param {string} folder + * @param {string} service + * @returns {string} + */ +function makeServiceUrl(folder, service) { + return "https://transportal.cee.wisc.edu/applications/arcgis2/rest/services/" + folder + "/" + service + "/MapServer"; +} +exports.makeServiceUrl = makeServiceUrl; +function localCacheUrl(folder, service) { + var loc = window.location.href; + var url = "/mapserver/" + folder + "/" + service; + if (loc.indexOf('transportal.cee.wisc.edu') > -1) { + if (loc.toLowerCase().indexOf('webmapsstage') > -1) { + url = 'https://transportal.cee.wisc.edu/gis/webmapsstage' + url; + } + else { + url = 'https://transportal.cee.wisc.edu/gis/webmaps' + url; + } + } + return url; +} +exports.localCacheUrl = localCacheUrl; +/** + * esri mapserver layer + * @augments LayerBase + */ +var LayerEsriMapServer = (function (_super) { + __extends(LayerEsriMapServer, _super); + /** + * The base layer for all others + * @param {string} url - resource url + * @param {object} [options] - config + * @param {string} [options.id] - layer id + * @param {string} [options.name=Unnamed Layer] - layer name + * @param {number} [options.opacity=1] - opacity + * @param {boolean} [options.visible=true] - default visible + * @param {number} [options.minZoom=undefined] - min zoom level, 0 - 28 + * @param {number} [options.maxZoom=undefined] - max zoom level, 0 - 28 + * @param {object} [options.params={}] the get parameters to include to retrieve the layer + * @param {number} [options.zIndex=0] the z index for the layer + * @param {function} [options.loadCallback] function to call on load, context this is the layer object + * @param {boolean} [options.legendCollapse=false] if the legend item should be initially collapsed + * @param {boolean} [options.legendCheckbox=true] if the legend item should have a checkbox for visibility + * @param {boolean} [options.legendContent] additional content to add to the legend + * @param {boolean} [options.addPopup=false] if a popup should be added + * @param {undefined|Array<number>} [options.showLayers=undefined] if a popup should be added + */ + function LayerEsriMapServer(url, options) { + if (options === void 0) { options = {}; } + var _this = _super.call(this, url, options) || this; + _this._source = new ol.source.TileArcGISRest({ + url: _this.url == '' ? undefined : _this.url, + params: typeof options.showLayers == 'undefined' ? undefined : { layers: 'show:' + options.showLayers.join(',') } + }); + _this._showLayers = options.showLayers || []; + _this._olLayer = new ol.layer.Tile({ + source: _this._source, + visible: _this.visible, + opacity: _this.opacity, + minResolution: _this._minResolution, + maxResolution: _this._maxResolution + }); + _this._olLayer.setZIndex(_this._zIndex); + options.addPopup = typeof options.addPopup == 'boolean' ? options.addPopup : false; + _this._esriFormat = new ol.format.EsriJSON(); + _this._popupRequest = null; + options.getLegend = typeof options.getLegend === 'boolean' ? options.getLegend : true; + if (options.getLegend) { + _this.addLegendContent(); + } + if (options.addPopup) { + mapPopup_1.default.addMapServicePopup(_this); + } + return _this; + } + /** + * add additional content to the legend + * @param {string} [additionalContent=''] additional content for legend + */ + LayerEsriMapServer.prototype.addLegendContent = function (additionalContent) { + var _this = this; + var urlCopy = this.url; + if (urlCopy[urlCopy.length - 1] !== '/') { + urlCopy += '/'; + } + urlCopy += 'legend?f=pjson&callback=?'; + $.get(urlCopy, {}, function (d) { + var newHtml = esriToOl.makeMapServiceLegend(d, _this._showLayers); + _super.prototype.addLegendContent.call(_this, newHtml); + }, 'json'); + }; + LayerEsriMapServer.prototype.getPopupInfo = function (queryParams) { + if (!this.visible) { + return; + } + var urlCopy = this.url; + if (urlCopy[urlCopy.length - 1] != '/') { + urlCopy += '/'; + } + urlCopy += 'identify?callback=?'; + var __this = this; + if (this._popupRequest != null) { + this._popupRequest.abort(); + } + this._popupRequest = $.get(urlCopy, queryParams, function (d) { + for (var _i = 0, _a = d['results']; _i < _a.length; _i++) { + var r = _a[_i]; + var popupHtml = '<table class="esri-popup-table">'; + for (var a in r['attributes']) { + if (r['attributes'].hasOwnProperty(a)) { + var attrVal = r['attributes'][a]; + if (attrVal == null || attrVal.toString().toLowerCase() == 'null') { + continue; + } + var attr = a; + if (attr.length > 14) { + attr = attr.slice(0, 11) + '...'; + } + popupHtml += "<tr><td>" + attr + "</td><td>" + attrVal + "</td></tr>"; + } + } + popupHtml += '</table>'; + mapPopup_1.default.addMapServicePopupContent(__this._esriFormat.readFeature(r), __this, popupHtml, r['layerName']); + } + }, 'json'); + this._popupRequest.always(function () { + __this._popupRequest = null; + }); + }; + Object.defineProperty(LayerEsriMapServer.prototype, "source", { + /** + * + * @returns {ol.source.TileArcGISRest} the vector source + */ + get: function () { + return _super.prototype.getSource.call(this); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(LayerEsriMapServer.prototype, "olLayer", { + /** + * + * @returns the ol layer + */ + get: function () { + return _super.prototype.getOlLayer.call(this); + }, + enumerable: true, + configurable: true + }); + return LayerEsriMapServer; +}(LayerBase_1.LayerBase)); +exports.LayerEsriMapServer = LayerEsriMapServer; +nm.LayerEsriMapServer = LayerEsriMapServer; +exports.default = LayerEsriMapServer; + + /***/ }), /* 26 */ /***/ (function(module, exports, __webpack_require__) { @@ -2639,8 +2639,8 @@ var __extends = (this && this.__extends) || (function () { }; })(); Object.defineProperty(exports, "__esModule", { value: true }); -var LayerBase_1 = __webpack_require__(11); -var mapMove_1 = __webpack_require__(6); +var LayerBase_1 = __webpack_require__(12); +var mapMove_1 = __webpack_require__(7); var provide_1 = __webpack_require__(0); var ol = __webpack_require__(2); var $ = __webpack_require__(1); @@ -3137,8 +3137,8 @@ var __extends = (this && this.__extends) || (function () { }; })(); Object.defineProperty(exports, "__esModule", { value: true }); -var LayerBaseXyzTile_1 = __webpack_require__(62); -var RealEarthAnimateTile_1 = __webpack_require__(65); +var LayerBaseXyzTile_1 = __webpack_require__(63); +var RealEarthAnimateTile_1 = __webpack_require__(66); var provide_1 = __webpack_require__(0); var nm = provide_1.default('layers'); /** @@ -3206,7 +3206,8 @@ exports.default = LayerRealEarthTile; /***/ }), /* 60 */, /* 61 */, -/* 62 */ +/* 62 */, +/* 63 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -3225,7 +3226,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); /** * Created by gavorhes on 12/4/2015. */ -var LayerBase_1 = __webpack_require__(11); +var LayerBase_1 = __webpack_require__(12); var provide_1 = __webpack_require__(0); var ol = __webpack_require__(2); var nm = provide_1.default('layers'); @@ -3297,8 +3298,8 @@ exports.default = LayerBaseXyzTile; /***/ }), -/* 63 */, -/* 64 */ +/* 64 */, +/* 65 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -3308,7 +3309,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); * Created by gavorhes on 12/4/2015. */ var provide_1 = __webpack_require__(0); -var mapPopup_1 = __webpack_require__(4); +var mapPopup_1 = __webpack_require__(5); var $ = __webpack_require__(1); var nm = provide_1.default('mixin'); /** @@ -3430,7 +3431,7 @@ exports.default = RealEarthAnimate; /***/ }), -/* 65 */ +/* 66 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -3449,7 +3450,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); /** * Created by gavorhes on 12/4/2015. */ -var RealEarthAnimate_1 = __webpack_require__(64); +var RealEarthAnimate_1 = __webpack_require__(65); var provide_1 = __webpack_require__(0); var nm = provide_1.default('mixin'); /** @@ -3502,19 +3503,20 @@ exports.default = RealEarthAnimateTile; /***/ }), -/* 66 */, -/* 67 */ +/* 67 */, +/* 68 */, +/* 69 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -var quickMap_1 = __webpack_require__(7); +var quickMap_1 = __webpack_require__(6); var LayerRealEarthTile_1 = __webpack_require__(59); var media_control_1 = __webpack_require__(47); var $ = __webpack_require__(1); var LayerBaseVectorEsri_1 = __webpack_require__(58); -var LayerEsriMapServer_1 = __webpack_require__(21); +var LayerEsriMapServer_1 = __webpack_require__(25); var nexrhresStatic = new LayerRealEarthTile_1.default({ products: 'nexrhres', id: 'nexrhres-static', diff --git a/test/serve/js/animate.js.map b/test/serve/js/animate.js.map index 8120133544e08f15e5293b358c5bd5fb236bcf23..4fda230bee0dab1226b2bd3cc7849b288c7a29fd 100644 --- a/test/serve/js/animate.js.map +++ b/test/serve/js/animate.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap b7d91eb15b0b6dcf7ee0?08c4**","webpack:///./src/util/provide.ts?5c82*","webpack:///external \"$\"?57aa*","webpack:///external \"ol\"","webpack:///./src/util/makeGuid.ts?e80e*","webpack:///./src/olHelpers/mapPopup.ts","webpack:///./src/olHelpers/mapInteractionBase.ts","webpack:///./src/olHelpers/mapMove.ts","webpack:///./src/olHelpers/quickMap.ts","webpack:///./src/olHelpers/projections.ts","webpack:///./src/layers/LayerBase.ts","webpack:///./src/util/checkDefined.ts","webpack:///./src/layers/LayerEsriMapServer.ts","webpack:///./src/olHelpers/geocode.ts","webpack:///./src/olHelpers/mapMoveCls.ts","webpack:///./src/olHelpers/mapPopupCls.ts","webpack:///./src/olHelpers/quickMapBase.ts","webpack:///./src/olHelpers/zoomResolutionConvert.ts","webpack:///./src/olHelpers/esriToOlStyle.ts","webpack:///./src/domUtil/media-control.ts","webpack:///./src/domUtil/range-change.ts","webpack:///./src/layers/LayerBaseVector.ts","webpack:///./src/layers/LayerBaseVectorEsri.ts","webpack:///./src/layers/LayerRealEarthTile.ts","webpack:///./src/layers/LayerBaseXyzTile.ts","webpack:///./src/mixin/RealEarthAnimate.ts","webpack:///./src/mixin/RealEarthAnimateTile.ts","webpack:///./src/_tests/demos/animate.ts"],"names":[],"mappings":"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","file":"animate.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 67);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap b7d91eb15b0b6dcf7ee0","/**\r\n * Created by gavorhes on 12/10/2015.\r\n */\r\n\r\ndeclare const window: Window;\r\n/**\r\n * create a namespace on the gv object\r\n * @param {string} namespace to create\r\n * @returns {object} object representing the namespace\r\n */\r\nfunction provide(namespace: string){\r\n \"use strict\";\r\n if (typeof (<any>window).gv == 'undefined'){\r\n (<any>window).gv = {};\r\n }\r\n\r\n let parts = namespace.split('.');\r\n let nameSpace = (<any>window).gv;\r\n\r\n for (let i=0; i< parts.length; i++){\r\n let newObject = nameSpace[parts[i]];\r\n\r\n if (typeof newObject == 'undefined'){\r\n nameSpace[parts[i]] = {};\r\n }\r\n\r\n nameSpace = nameSpace[parts[i]];\r\n }\r\n\r\n return nameSpace;\r\n}\r\n\r\nprovide('util');\r\n(<any>window).gv.util.provide = provide;\r\n\r\nexport default provide;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/util/provide.ts","module.exports = $;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"$\"\n// module id = 1\n// module chunks = 0 1 2 4 5 6 7 8 9","module.exports = ol;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"ol\"\n// module id = 2\n// module chunks = 2 4 5 6","/**\r\n * Created by gavorhes on 11/3/2015.\r\n */\r\n\r\nimport provide from './provide';\r\nlet nm = provide('util');\r\n\r\n\r\n/**\r\n * guids are used to uniquely identify groups and features\r\n * @returns {string} a new guid\r\n */\r\nexport function makeGuid() {\r\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'\r\n .replace(/[xy]/g, function (c) {\r\n let r = Math.random() * 16 | 0, v = c == 'x' ? r : r & 0x3 | 0x8;\r\n\r\n return v.toString(16);\r\n });\r\n\r\n}\r\nnm.makeGuid = makeGuid;\r\nexport default makeGuid;\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/util/makeGuid.ts","/**\r\n * Created by gavorhes on 11/3/2015.\r\n */\r\n\r\nimport MapPopupCls from './mapPopupCls';\r\n\r\n/**\r\n * The single popup object catch is that it is common to multimap pages\r\n * @type {MapPopupCls}\r\n */\r\nexport const mapPopup = new MapPopupCls() as MapPopupCls;\r\nexport default mapPopup;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/mapPopup.ts","/**\r\n * Created by gavorhes on 12/8/2015.\r\n */\r\nimport provide from '../util/provide';\r\nimport ol = require('custom-ol');\r\nconst nm = provide('olHelpers');\r\n\r\n\r\n\r\n/**\r\n * base interaction\r\n */\r\nexport class MapInteractionBase {\r\n _map: ol.Map;\r\n _initialized: boolean;\r\n _subtype: string;\r\n\r\n /**\r\n * map interaction base\r\n * @param subtype - the interaction subtype\r\n */\r\n constructor(subtype: string) {\r\n this._map = null;\r\n this._initialized = false;\r\n this._subtype = subtype;\r\n }\r\n\r\n /**\r\n * base initializer, returns true for already initialized\r\n * @param theMap - the ol Map\r\n * @returns true for already initialized\r\n */\r\n init(theMap: ol.Map){\r\n if (!this._initialized){\r\n this._map = theMap;\r\n this._initialized = true;\r\n }\r\n }\r\n\r\n /**\r\n * get reference to the ol map object\r\n * @returns {ol.Map} the map object\r\n */\r\n get map() {\r\n return this._map;\r\n }\r\n\r\n /**\r\n * get if is initialized\r\n * @returns {boolean} is initialized\r\n */\r\n get initialized() {\r\n return this._initialized;\r\n }\r\n\r\n /**\r\n * Check the initialization status and throw exception if not valid yet\r\n * @protected\r\n */\r\n _checkInit() {\r\n if (!this.initialized) {\r\n let msg = `${this._subtype} object not initialized`;\r\n alert(msg);\r\n console.log(msg);\r\n throw msg;\r\n }\r\n }\r\n\r\n /**\r\n * Check the initialization status and throw exception if not valid yet\r\n */\r\n checkInit(){\r\n this._checkInit();\r\n }\r\n}\r\n\r\nnm.MapInteractionBase = MapInteractionBase;\r\nexport default MapInteractionBase;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/mapInteractionBase.ts","/**\r\n * Created by gavorhes on 11/3/2015.\r\n */\r\n\r\nimport MapMoveCls from './mapMoveCls';\r\n\r\n/**\r\n * The single map move object catch is that it is common to multimap pages\r\n * @type {MapMoveCls}\r\n */\r\n\r\nexport const mapMove = new MapMoveCls();\r\nexport default mapMove;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/mapMove.ts","/**\r\n * Created by gavorhes on 12/15/2015.\r\n */\r\n\r\nimport {quickMapOptions, quickMapBase} from './quickMapBase';\r\nimport provide from '../util/provide';\r\nimport mapMove from './mapMove';\r\nimport mapPopup from './mapPopup';\r\nimport ol = require('custom-ol');\r\nlet nm = provide('olHelpers');\r\n\r\nexport {quickMapOptions} from './quickMapBase';\r\n\r\n/**\r\n * Sets up a map with some default parameters and initializes\r\n * mapMove and mapPopup\r\n *\r\n * @param {object} [options={}] config options\r\n * @param {string} [options.divId=map] map div id\r\n * @param {object} [options.center={}] center config object\r\n * @param {number} [options.center.x=-10018378] center x, web mercator x or lon\r\n * @param {number} [options.center.y=5574910] center y, web mercator y or lat\r\n * @param {number} [options.zoom=7] zoom level\r\n * @param {number} [options.minZoom=undefined] min zoom\r\n * @param {number} [options.maxZoom=undefined] max zoom\r\n * @param {boolean} [options.baseSwitcher=true] if add base map switcher\r\n * @param {boolean} [options.fullScreen=false] if add base map switcher\r\n * @returns {ol.Map} the ol map\r\n */\r\nexport function quickMap(options : quickMapOptions = {}): ol.Map {\r\n let m = quickMapBase(options);\r\n mapMove.init(m);\r\n mapPopup.init(m);\r\n return m;\r\n}\r\n\r\n\r\nnm.quickMap = quickMap;\r\nexport default quickMap;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/quickMap.ts","/**\r\n * Created by gavorhes on 10/3/2016.\r\n */\r\nimport ol = require('custom-ol');\r\n\r\n\r\nexport const proj4326 = new ol.proj.Projection({code: 'EPSG:4326'});\r\nexport const proj3857 = new ol.proj.Projection({code: 'EPSG:3857'});\r\nexport const proj3070 = new ol.proj.Projection({code: 'EPSG:3070'});\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/projections.ts","import * as zoomResolutionConvert from '../olHelpers/zoomResolutionConvert';\r\nimport provide from '../util/provide';\r\nimport ol = require('custom-ol');\r\nimport makeGuid from '../util/makeGuid';\r\nimport $ = require('jquery');\r\n\r\nconst nm = provide('layers');\r\n\r\n\r\nexport interface LayerBaseOptions{\r\n id?: string;\r\n name?: string;\r\n opacity?: number;\r\n visible?: boolean;\r\n minZoom?: number;\r\n maxZoom?: number;\r\n params?: any;\r\n zIndex?: number;\r\n loadCallback?: Function;\r\n legendCollapse?: boolean;\r\n legendCheckbox?: boolean;\r\n legendContent?: string;\r\n}\r\n\r\n\r\n/**\r\n * The base layer class\r\n * @abstract\r\n */\r\nexport abstract class LayerBase {\r\n\r\n protected _legendCheckbox: boolean;\r\n protected _url: string;\r\n protected _opacity: number;\r\n protected _minZoom: number;\r\n protected _maxZoom: number;\r\n protected _visible: boolean;\r\n protected _loaded: boolean;\r\n protected _zIndex: number;\r\n protected _legendContent: string;\r\n protected _params: any;\r\n protected _id: string;\r\n protected _name: string;\r\n protected _source: ol.source.Source;\r\n protected _animate: boolean;\r\n protected _legendCollapse: boolean;\r\n protected _maxResolution: number;\r\n protected _minResolution: number;\r\n protected _$legendDiv: JQuery;\r\n loadCallback: Function;\r\n protected _olLayer: ol.layer.Layer;\r\n protected _applyCollapseCalled: boolean;\r\n\r\n\r\n\r\n /**\r\n * The base layer for all others\r\n * @param {string} url - url for source\r\n * @param {object} options - config\r\n * @param {string} [options.id=makeGuid()] - layer id\r\n * @param {string} [options.name=Unnamed Layer] - layer name\r\n * @param {number} [options.opacity=1] - opacity\r\n * @param {boolean} [options.visible=true] - default visible\r\n * @param {number} [options.minZoom=undefined] - min zoom level, 0 - 28\r\n * @param {number} [options.maxZoom=undefined] - max zoom level, 0 - 28\r\n * @param {object} [options.params={}] - the get parameters to include to retrieve the layer\r\n * @param {number} [options.zIndex=0] - the z index for the layer\r\n * @param {function} [options.loadCallback] - function to call on load, context this is the layer object\r\n * @param {boolean} [options.legendCollapse=false] - if the legend item should be initially collapsed\r\n * @param {boolean} [options.legendCheckbox=true] - if the legend item should have a checkbox for visibility\r\n * @param {boolean} [options.legendContent=undefined] - additional content to add to the legend\r\n */\r\n constructor(url: string, options: LayerBaseOptions = {}) {\r\n options = options || {} as LayerBaseOptions;\r\n\r\n if (typeof url !== 'string') {\r\n throw 'Invalid URL';\r\n }\r\n this._url = url;\r\n\r\n\r\n this._params = typeof options.params == 'object' ? options.params : {};\r\n this._legendCollapse = typeof options.legendCollapse == 'boolean' ? options.legendCollapse : false;\r\n this._legendCheckbox = typeof options.legendCheckbox == 'boolean' ? options.legendCheckbox : true;\r\n\r\n this.id = options.id || makeGuid();\r\n this._name = options.name || 'Unnamed Layer';\r\n this.animate = false;\r\n this._opacity = typeof options.opacity == 'number' ? options.opacity : 1;\r\n\r\n if (this._opacity > 1) {\r\n this._opacity = 1;\r\n } else if (this._opacity < 0) {\r\n this._opacity = 0;\r\n }\r\n\r\n this._visible = typeof options.visible === 'boolean' ? options.visible : true;\r\n\r\n this._source = undefined;\r\n\r\n /**\r\n *\r\n * @protected\r\n */\r\n this._olLayer = undefined;\r\n this._loaded = false;\r\n\r\n this._maxResolution = zoomResolutionConvert.zoomToResolution(options.minZoom);\r\n if (typeof this._maxResolution !== 'undefined') {\r\n this._maxResolution += 0.00001;\r\n }\r\n this._minResolution = zoomResolutionConvert.zoomToResolution(options.maxZoom);\r\n\r\n this._minZoom = typeof options.minZoom == 'number' ? options.minZoom : undefined;\r\n this._maxZoom = typeof options.maxZoom == 'number' ? options.maxZoom : undefined;\r\n this._zIndex = typeof options.zIndex == 'number' ? options.zIndex : 0;\r\n\r\n this.loadCallback = typeof options.loadCallback == 'function' ? options.loadCallback : function () {\r\n };\r\n\r\n\r\n this._legendContent = '';\r\n\r\n if (this._legendCheckbox) {\r\n this._legendContent += `<input type=\"checkbox\" ${this.visible ? 'checked' : ''} ` +\r\n `class=\"legend-check\" id=\"${this.id}-legend-layer-check\"><span></span>`;\r\n this._legendContent += `<label for=\"${this.id}-legend-layer-check\" class=\"legend-layer-name\">${this.name}</label>`;\r\n } else {\r\n this._legendContent += `<label class=\"legend-layer-name\">${this.name}</label>`;\r\n }\r\n\r\n this._$legendDiv = null;\r\n this._applyCollapseCalled = false;\r\n this._addLegendContent(typeof options.legendContent === 'string' ? options.legendContent : undefined);\r\n }\r\n\r\n /**\r\n * base load function, sets _loaded = true if it is not already\r\n * @protected\r\n * @returns {boolean} if already loaded\r\n */\r\n _load() {\r\n if (this.loaded == true) {\r\n return true;\r\n } else {\r\n this._loaded = true;\r\n\r\n return false;\r\n }\r\n }\r\n\r\n /**\r\n * Get the legend html, be sure to only add to the DOM once\r\n * @returns {string} html for layer wrapped in a div\r\n */\r\n getLegendDiv() {\r\n return `<div class=\"legend-layer-div\" id=\"${this.id}-legend-layer-div\">${this._legendContent}</div>`;\r\n }\r\n\r\n /**\r\n *\r\n * @param additionalContent - additional content to add to legend\r\n * @private\r\n */\r\n _addLegendContent(additionalContent='') {\r\n\r\n let addCollapse = additionalContent.indexOf('<ul>') > -1;\r\n\r\n if (addCollapse) {\r\n additionalContent = '<span class=\"legend-items-expander\" title=\"Expand/Collapse\">▼</span>' + additionalContent;\r\n }\r\n\r\n this._legendContent += additionalContent;\r\n\r\n this._$legendDiv = $(`#${this.id}-legend-layer-div`);\r\n\r\n if (this._$legendDiv.length > 0) {\r\n this._$legendDiv.append(additionalContent);\r\n this.applyCollapse();\r\n }\r\n }\r\n\r\n /**\r\n * add additional content to the legend\r\n * @param {string} [additionalContent=] - additonal content to add\r\n */\r\n addLegendContent(additionalContent: string) {\r\n this._addLegendContent(additionalContent);\r\n }\r\n\r\n applyCollapse(): void {\r\n if (this._applyCollapseCalled) {\r\n console.log('collapse already applied');\r\n\r\n return undefined;\r\n }\r\n\r\n this._$legendDiv = $(`#${this.id}-legend-layer-div`);\r\n\r\n if (this._$legendDiv.length > 0) {\r\n\r\n let $expander = this._$legendDiv.find('.legend-items-expander');\r\n\r\n if ($expander.length > 0) {\r\n this._applyCollapseCalled = true;\r\n\r\n $expander.click(function () {\r\n let $this = $(this);\r\n\r\n $this.siblings('ul').slideToggle();\r\n\r\n if ($this.hasClass('legend-layer-group-collapsed')) {\r\n $this.removeClass('legend-layer-group-collapsed');\r\n $this.html('▼');\r\n } else {\r\n $this.addClass('legend-layer-group-collapsed');\r\n $this.html('▶');\r\n }\r\n });\r\n\r\n if (this._legendCollapse) {\r\n $expander.trigger('click');\r\n }\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * trick to refresh the layer\r\n */\r\n refresh() {\r\n if (this.source) {\r\n this.source.refresh();\r\n }\r\n }\r\n\r\n get id(): string{\r\n return this._id;\r\n }\r\n\r\n set id(newId: string){\r\n this._id = newId;\r\n }\r\n\r\n get animate(): boolean{\r\n return this._animate;\r\n }\r\n\r\n set animate(animate: boolean){\r\n this._animate = animate;\r\n }\r\n\r\n /**\r\n * get the legend content\r\n * @type {string}\r\n */\r\n get legendContent(): string {\r\n return this._legendContent;\r\n }\r\n\r\n /**\r\n * set the legend content directly\r\n * @param {string} newVal - new content\r\n * @protected\r\n */\r\n set legendContent(newVal: string) {\r\n this._legendContent = newVal;\r\n }\r\n\r\n /**\r\n * get the map get params\r\n * @type {object}\r\n */\r\n get params(): {[s: string]: any} {\r\n return this._params;\r\n }\r\n\r\n /**\r\n * set the map get params\r\n * @param {object} newParams - new get params\r\n * @protected\r\n */\r\n set params(newParams: {[s: string]: any}) {\r\n this._params = newParams;\r\n }\r\n\r\n /**\r\n * get the minimum resolution\r\n * @type {number|*}\r\n */\r\n get minResolution(): number {\r\n return this._minResolution;\r\n }\r\n\r\n /**\r\n * get the maximum resolution\r\n * @type {number|*}\r\n */\r\n get maxResolution(): number {\r\n return this._maxResolution;\r\n }\r\n\r\n /**\r\n * get min zoom\r\n * @type {number|*}\r\n */\r\n get minZoom(): number {\r\n return this._minZoom;\r\n }\r\n\r\n /**\r\n * get max zoom\r\n * @type {number|*}\r\n */\r\n get maxZoom(): number {\r\n return this._maxZoom;\r\n }\r\n\r\n /**\r\n * get the url\r\n * @type {string}\r\n */\r\n get url(): string {\r\n return this._url;\r\n }\r\n\r\n /**\r\n * Get the layer visibility\r\n * @type {boolean}\r\n */\r\n get visible(): boolean {\r\n return this._visible;\r\n }\r\n\r\n /**\r\n * set the visibility\r\n * @param visibility\r\n */\r\n set visible(visibility: boolean) {\r\n this.setVisible(visibility);\r\n }\r\n\r\n protected setVisible(visibility: boolean) {\r\n this._visible = visibility;\r\n if (this.olLayer) {\r\n this.olLayer.setVisible(this._visible);\r\n if (visibility && !this._loaded) {\r\n this._load();\r\n }\r\n }\r\n }\r\n\r\n\r\n /**\r\n * Get the layer opacity\r\n * @type {number}\r\n */\r\n get opacity(): number {\r\n return this._opacity;\r\n }\r\n\r\n /**\r\n * Set the layer opacity\r\n * @param {number} opacity - layer opacity\r\n */\r\n set opacity(opacity: number) {\r\n this._opacity = opacity;\r\n if (this.olLayer) {\r\n this.olLayer.setOpacity(this._opacity);\r\n }\r\n }\r\n\r\n /**\r\n * Get the layer name\r\n * @type {string}\r\n */\r\n get name(): string {\r\n return this._name;\r\n }\r\n\r\n /**\r\n * set the layer name\r\n * @param {string} newName - the new name\r\n */\r\n set name(newName: string) {\r\n this._name = newName;\r\n }\r\n\r\n /**\r\n * Check if the layer is loaded\r\n * @type {boolean}\r\n */\r\n get loaded():boolean {\r\n return this._loaded;\r\n }\r\n\r\n /**\r\n * get the layer source\r\n * @type {*}\r\n */\r\n get source(): ol.source.Source {\r\n return this.getSource();\r\n }\r\n\r\n\r\n protected getSource(): ol.source.Source{\r\n return this._source;\r\n }\r\n\r\n /**\r\n * get the z index\r\n */\r\n get zIndex(): number {\r\n return this._zIndex;\r\n }\r\n\r\n /**\r\n * set the z index\r\n */\r\n set zIndex(newZ: number) {\r\n this._zIndex = newZ;\r\n }\r\n\r\n protected setZIndex(newZ: number){\r\n\r\n }\r\n\r\n /**\r\n * the the ol layer\r\n */\r\n get olLayer(): ol.layer.Layer {\r\n return this.getOlLayer();\r\n }\r\n\r\n protected getOlLayer(): ol.layer.Layer{\r\n return this._olLayer;\r\n }\r\n}\r\n\r\nnm.LayerBase = LayerBase;\r\nexport default LayerBase;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/layers/LayerBase.ts","import provide from './provide';\r\nlet nm = provide('util.checkDefined');\r\n\r\n/**\r\n * check if the input is undefined or null\r\n * @param input - input pointer\r\n * @returns true undefined or null\r\n */\r\nexport function undefinedOrNull (input: any): boolean{\r\n \"use strict\";\r\n\r\n return (typeof input === 'undefined' || input === null);\r\n}\r\n\r\nnm.undefinedOrNull = undefinedOrNull;\r\n\r\n\r\n/**\r\n * check if the input is defined and not null\r\n * @param input - input pointer\r\n * @returns true defined and not null\r\n */\r\nexport function definedAndNotNull (input: any): boolean{\r\n \"use strict\";\r\n\r\n return !(undefinedOrNull(input));\r\n}\r\n\r\nnm.definedAndNotNull = definedAndNotNull;\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/util/checkDefined.ts","/**\r\n * Created by gavorhes on 12/7/2015.\r\n */\r\nimport {LayerBase, LayerBaseOptions} from './LayerBase';\r\nimport * as esriToOl from '../olHelpers/esriToOlStyle';\r\nimport mapPopup from '../olHelpers/mapPopup';\r\nimport provide from '../util/provide';\r\nimport ol = require('custom-ol');\r\nimport $ = require('jquery');\r\n\r\nconst nm = provide('layers');\r\n\r\n\r\n\r\n/**\r\n * Helper to return the url to the service on the production server\r\n * @param {string} folder\r\n * @param {string} service\r\n * @returns {string}\r\n */\r\nexport function makeServiceUrl(folder: string, service: string): string{\r\n return `https://transportal.cee.wisc.edu/applications/arcgis2/rest/services/${folder}/${service}/MapServer`\r\n}\r\n\r\nexport function localCacheUrl(folder: string, service: string): string{\r\n let loc = window.location.href;\r\n\r\n let url = `/mapserver/${folder}/${service}`;\r\n\r\n if (loc.indexOf('transportal.cee.wisc.edu') > -1){\r\n if (loc.toLowerCase().indexOf('webmapsstage') > -1){\r\n url = 'https://transportal.cee.wisc.edu/gis/webmapsstage' + url;\r\n } else {\r\n url = 'https://transportal.cee.wisc.edu/gis/webmaps' + url\r\n }\r\n }\r\n\r\n\r\n return url;\r\n}\r\n\r\n\r\n\r\n\r\nexport interface LayerEsriMapServerOptions extends LayerBaseOptions {\r\n addPopup?: boolean;\r\n showLayers?: Array<number>;\r\n getLegend?: boolean;\r\n}\r\n\r\n/**\r\n * esri mapserver layer\r\n * @augments LayerBase\r\n */\r\nexport class LayerEsriMapServer extends LayerBase {\r\n _esriFormat: ol.format.EsriJSON;\r\n _popupRequest: JQueryXHR;\r\n _showLayers: number[];\r\n\r\n /**\r\n * The base layer for all others\r\n * @param {string} url - resource url\r\n * @param {object} [options] - config\r\n * @param {string} [options.id] - layer id\r\n * @param {string} [options.name=Unnamed Layer] - layer name\r\n * @param {number} [options.opacity=1] - opacity\r\n * @param {boolean} [options.visible=true] - default visible\r\n * @param {number} [options.minZoom=undefined] - min zoom level, 0 - 28\r\n * @param {number} [options.maxZoom=undefined] - max zoom level, 0 - 28\r\n * @param {object} [options.params={}] the get parameters to include to retrieve the layer\r\n * @param {number} [options.zIndex=0] the z index for the layer\r\n * @param {function} [options.loadCallback] function to call on load, context this is the layer object\r\n * @param {boolean} [options.legendCollapse=false] if the legend item should be initially collapsed\r\n * @param {boolean} [options.legendCheckbox=true] if the legend item should have a checkbox for visibility\r\n * @param {boolean} [options.legendContent] additional content to add to the legend\r\n * @param {boolean} [options.addPopup=false] if a popup should be added\r\n * @param {undefined|Array<number>} [options.showLayers=undefined] if a popup should be added\r\n */\r\n constructor(url: string, options: LayerEsriMapServerOptions = {}) {\r\n\r\n super(url, options);\r\n this._source = new ol.source.TileArcGISRest(\r\n {\r\n url: this.url == '' ? undefined : this.url,\r\n params: typeof options.showLayers == 'undefined' ? undefined : {layers: 'show:' + options.showLayers.join(',')}\r\n }\r\n );\r\n\r\n this._showLayers = options.showLayers || [];\r\n\r\n this._olLayer = new ol.layer.Tile({\r\n source: this._source as ol.source.Tile,\r\n visible: this.visible,\r\n opacity: this.opacity,\r\n minResolution: this._minResolution,\r\n maxResolution: this._maxResolution\r\n });\r\n\r\n\r\n this._olLayer.setZIndex(this._zIndex);\r\n\r\n options.addPopup = typeof options.addPopup == 'boolean' ? options.addPopup : false;\r\n\r\n this._esriFormat = new ol.format.EsriJSON();\r\n this._popupRequest = null;\r\n\r\n options.getLegend = typeof options.getLegend === 'boolean' ? options.getLegend : true;\r\n\r\n if (options.getLegend){\r\n this.addLegendContent();\r\n }\r\n\r\n if (options.addPopup) {\r\n mapPopup.addMapServicePopup(this);\r\n }\r\n }\r\n\r\n /**\r\n * add additional content to the legend\r\n * @param {string} [additionalContent=''] additional content for legend\r\n */\r\n addLegendContent(additionalContent?: string) {\r\n let urlCopy = this.url;\r\n\r\n if (urlCopy[urlCopy.length - 1] !== '/') {\r\n urlCopy += '/';\r\n }\r\n\r\n urlCopy += 'legend?f=pjson&callback=?';\r\n\r\n $.get(urlCopy, {}, (d) => {\r\n let newHtml = esriToOl.makeMapServiceLegend(d, this._showLayers);\r\n super.addLegendContent(newHtml);\r\n }, 'json');\r\n }\r\n\r\n\r\n getPopupInfo(queryParams: {[s: string]: any}) {\r\n if (!this.visible) {\r\n return;\r\n }\r\n\r\n let urlCopy = this.url;\r\n\r\n if (urlCopy[urlCopy.length - 1] != '/') {\r\n urlCopy += '/';\r\n }\r\n\r\n urlCopy += 'identify?callback=?';\r\n\r\n let __this = this;\r\n\r\n if (this._popupRequest != null) {\r\n this._popupRequest.abort();\r\n }\r\n\r\n\r\n this._popupRequest = $.get(urlCopy, queryParams, function (d) {\r\n for (let r of d['results']) {\r\n\r\n let popupHtml = '<table class=\"esri-popup-table\">';\r\n\r\n for (let a in r['attributes']) {\r\n if (r['attributes'].hasOwnProperty(a)) {\r\n let attrVal = r['attributes'][a];\r\n\r\n if (attrVal == null || attrVal.toString().toLowerCase() == 'null') {\r\n continue;\r\n }\r\n\r\n let attr = a;\r\n if (attr.length > 14) {\r\n attr = attr.slice(0, 11) + '...';\r\n }\r\n\r\n popupHtml += `<tr><td>${attr}</td><td>${attrVal}</td></tr>`;\r\n }\r\n }\r\n\r\n popupHtml += '</table>';\r\n\r\n mapPopup.addMapServicePopupContent(__this._esriFormat.readFeature(r), __this, popupHtml, r['layerName']);\r\n }\r\n }, 'json');\r\n\r\n this._popupRequest.always(function () {\r\n __this._popupRequest = null;\r\n });\r\n\r\n }\r\n\r\n /**\r\n *\r\n * @returns {ol.source.TileArcGISRest} the vector source\r\n */\r\n get source(): ol.source.TileArcGISRest {\r\n return super.getSource() as ol.source.TileArcGISRest;\r\n }\r\n\r\n /**\r\n *\r\n * @returns the ol layer\r\n */\r\n get olLayer(): ol.layer.Tile {\r\n return super.getOlLayer() as ol.layer.Tile;\r\n }\r\n}\r\nnm.LayerEsriMapServer = LayerEsriMapServer;\r\nexport default LayerEsriMapServer;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/layers/LayerEsriMapServer.ts","import $ = require('jquery')\r\nimport {makeGuid} from '../util/makeGuid';\r\nimport ol = require('custom-ol');\r\nimport {proj3857, proj4326} from './projections';\r\n\r\n\r\nlet invalidClass = 'geocoder-invalid';\r\nlet geocoderLoadingClass = 'geocoder-loading';\r\n\r\n// let testAddress = '65 7th Street, Prairie du Sac, WI';\r\n\r\n\r\nexport class Geocode {\r\n private theButton: HTMLButtonElement;\r\n private theInput: HTMLInputElement;\r\n private map: ol.Map;\r\n private indicationLayer;\r\n\r\n constructor(mapDiv: HTMLDivElement, map: ol.Map) {\r\n let inputGuid = makeGuid();\r\n let buttonGuid = makeGuid();\r\n\r\n this.map = map;\r\n this.indicationLayer = new ol.layer.Vector({\r\n source: new ol.source.Vector(),\r\n style: new ol.style.Style({\r\n image: new ol.style.Circle({\r\n radius: 12,\r\n fill: new ol.style.Fill({color: 'rgba(255,0,0,0.5)'}),\r\n stroke: new ol.style.Stroke({color: 'red', width: 1})\r\n })\r\n })\r\n });\r\n this.map.addLayer(this.indicationLayer);\r\n\r\n $(mapDiv).append('<div class=\"geocoder-el\">' +\r\n `<input type=\"text\" id=\"${inputGuid}\">` +\r\n `<button id=\"${buttonGuid}\">Search</button>` +\r\n '</div>');\r\n\r\n this.theButton = document.getElementById(buttonGuid) as HTMLButtonElement;\r\n this.theInput = document.getElementById(inputGuid) as HTMLInputElement;\r\n\r\n this.reset();\r\n\r\n let $theButton = $(this.theButton);\r\n let $theInput = $(this.theInput);\r\n\r\n $theButton.click((evt) => {\r\n\r\n evt.preventDefault();\r\n\r\n $theButton.addClass(geocoderLoadingClass);\r\n this.theButton.disabled = true;\r\n this.indicationLayer.getSource().clear();\r\n\r\n $.get(\r\n `https://geocode.xyz/${this.theInput.value}?geoit=json`,\r\n {},\r\n (d) => {\r\n let lat = parseFloat(d['latt']);\r\n let lon = parseFloat(d['longt']);\r\n\r\n if ((lat == 0 && lon == 0) || d['error']) {\r\n $theInput.addClass(invalidClass);\r\n this.theInput.title = 'Specified Location Invalid';\r\n this.theButton.title = 'Specified Location Invalid';\r\n\r\n } else {\r\n let v = this.map.getView();\r\n let p = new ol.geom.Point([lon, lat]);\r\n let feat = new ol.Feature(p);\r\n this.indicationLayer.getSource().addFeature(feat);\r\n p.transform(proj4326, proj3857);\r\n\r\n v.setCenter(p.getCoordinates());\r\n v.setZoom(13);\r\n }\r\n\r\n $theButton.removeClass(geocoderLoadingClass);\r\n this.theButton.disabled = false;\r\n },\r\n 'json');\r\n });\r\n\r\n $(this.theInput).keyup((evt) => {\r\n evt.preventDefault();\r\n this.theButton.disabled = this.theInput.value.length == 0;\r\n $theInput.removeClass(invalidClass);\r\n this.theInput.title = '';\r\n this.theButton.title = '';\r\n\r\n if (!this.theButton.disabled && evt.keyCode == 13) {\r\n $theButton.click();\r\n }\r\n })\r\n }\r\n\r\n private reset() {\r\n this.theButton.disabled = true;\r\n this.theInput.value = '';\r\n }\r\n\r\n\r\n// https://geocode.xyz/65%2075h%20street%20prairie%20du%20sac%20wi?geoit=json\r\n\r\n// error\r\n// geocoder-invalid\r\n\r\n}\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/geocode.ts","import LayerBaseVector from \"../layers/LayerBaseVector\";\r\nimport MapInteractionBase from './mapInteractionBase';\r\nimport * as checkDefined from '../util/checkDefined';\r\nimport provide from '../util/provide';\r\nimport makeGuid from '../util/makeGuid';\r\nimport ol = require('custom-ol');\r\nimport $ = require('jquery');\r\nconst nm = provide('olHelpers');\r\n\r\n\r\nexport interface extentObject{\r\n minX: number;\r\n minY: number;\r\n maxX: number;\r\n maxY: number;\r\n}\r\n\r\nexport interface mapMoveCallbackFunction{\r\n /**\r\n *\r\n * @param extent extent as predefined object minX, minX, maxX, maxY\r\n * @param zoomLevel current zoom level\r\n * @param evtType the event type 'change:center', 'change:resolution'\r\n */\r\n (extent: extentObject, zoomLevel: number, evtType?: string): any\r\n}\r\n\r\n\r\n/**\r\n * assists with map move interactions, trigger callback functions\r\n * @augments MapInteractionBase\r\n */\r\nexport class MapMoveCls extends MapInteractionBase {\r\n _mapExtent: extentObject;\r\n _zoomLevel: number;\r\n _lookupLayer: {[s: string]: LayerBaseVector};\r\n _arrLayer: Array<LayerBaseVector>;\r\n _arrLyrTimeout: Array<number>;\r\n _mapMoveCallbackTimeout: Array<number>;\r\n _mapMoveCallbackDelays: Array<number>;\r\n _mapMoveCallbacksLookup: {[s: string]: mapMoveCallbackFunction};\r\n _mapMoveCallbackContext: Array<Object>;\r\n _mapMoveCallbacks: Array<mapMoveCallbackFunction>;\r\n _arrLyrRequest: Array<any>;\r\n\r\n /**\r\n * constructor called implicitly\r\n */\r\n constructor() {\r\n super('map move');\r\n this._arrLyrRequest = [];\r\n this._arrLyrTimeout = [];\r\n this._arrLayer = [];\r\n this._lookupLayer = {};\r\n\r\n this._mapMoveCallbacks = [];\r\n this._mapMoveCallbacksLookup = {};\r\n this._mapMoveCallbackDelays = [];\r\n this._mapMoveCallbackContext = [];\r\n this._mapMoveCallbackTimeout = [];\r\n\r\n this._mapExtent = undefined;\r\n this._zoomLevel = undefined;\r\n\r\n }\r\n\r\n /**\r\n * initialize the map move object\r\n * @param theMap - the ol map\r\n */\r\n init(theMap: ol.Map){\r\n super.init(theMap);\r\n\r\n this.map.getView().on(['change:center', 'change:resolution'], (e: {type: string}) =>{\r\n\r\n this._updateMapExtent();\r\n\r\n // trigger the layer updates\r\n for (let i = 0; i < this._arrLayer.length; i++) {\r\n this.triggerLyrLoad(this._arrLayer[i], i, e.type);\r\n }\r\n\r\n // trigger the map callbacks\r\n for (let i = 0; i < this._mapMoveCallbacks.length; i++) {\r\n this.triggerMoveCallback(i, e.type);\r\n }\r\n });\r\n }\r\n\r\n _updateMapExtent() {\r\n let theView = this.map.getView();\r\n this._zoomLevel = theView.getZoom();\r\n\r\n let extentArray = theView.calculateExtent(this.map.getSize());\r\n\r\n this._mapExtent = {\r\n minX: extentArray[0],\r\n minY: extentArray[1],\r\n maxX: extentArray[2],\r\n maxY: extentArray[3]\r\n };\r\n }\r\n\r\n /**\r\n * return the map extent\r\n */\r\n get mapExtent() {\r\n if (!this._mapExtent) {\r\n this._updateMapExtent();\r\n }\r\n\r\n return this._mapExtent;\r\n }\r\n\r\n /**\r\n * Trigger the layer load\r\n * @param lyr the layer being acted on\r\n * @param index index of the layer\r\n * @param eventType the event triggering the load, as 'change:center' or 'change:resolution'\r\n */\r\n triggerLyrLoad(lyr: LayerBaseVector, index?: number, eventType?: string) {\r\n\r\n if (checkDefined.undefinedOrNull(lyr) && checkDefined.undefinedOrNull(index)) {\r\n throw 'need to define lyr or index';\r\n } else if (checkDefined.definedAndNotNull(lyr) && checkDefined.undefinedOrNull(index)) {\r\n index = this._arrLayer.indexOf(lyr);\r\n } else if (checkDefined.undefinedOrNull(lyr) && checkDefined.definedAndNotNull(index)) {\r\n lyr = this._arrLayer[index];\r\n }\r\n\r\n // clear the timeout\r\n if (this._arrLyrTimeout[index] != null) {\r\n clearTimeout(this._arrLyrTimeout[index]);\r\n this._arrLyrTimeout[index] = null;\r\n }\r\n\r\n // abort if necessary and clear the request\r\n if (this._arrLyrRequest[index] != null && this._arrLyrRequest[index] != 4) {\r\n this._arrLyrRequest[index].abort();\r\n this._arrLyrRequest[index] = null;\r\n }\r\n\r\n // dummy callback used if before load returns false\r\n let callbackFunc = function () {};\r\n\r\n if (lyr.mapMoveBefore(this._zoomLevel, eventType)) {\r\n lyr.mapMoveMakeGetParams(this._mapExtent, this._zoomLevel);\r\n\r\n let __this = this;\r\n\r\n callbackFunc = function () {\r\n function innerFunction(theLayer: LayerBaseVector, theIndex: number) {\r\n let _innerThis = this;\r\n this._arrLyrRequest[theIndex] = $.get(\r\n theLayer.url,\r\n theLayer.mapMoveParams,\r\n function (d) {\r\n /**\r\n * @type {LayerBaseVector}\r\n */\r\n theLayer.mapMoveCallback(d);\r\n theLayer.loadCallback();\r\n }, 'json').fail(\r\n function (jqXHR) {\r\n if (jqXHR.statusText != 'abort') {\r\n console.log('failed');\r\n console.log(theLayer.url);\r\n console.log(theLayer.mapMoveParams);\r\n }\r\n }).always(\r\n function () {\r\n _innerThis._arrLyrTimeout[theIndex] = null;\r\n _innerThis._arrLyrRequest[theIndex] = null;\r\n });\r\n }\r\n innerFunction.call(__this, lyr, index);\r\n };\r\n } else {\r\n lyr.clear();\r\n }\r\n this._arrLyrTimeout[index] = setTimeout(callbackFunc, lyr.onDemandDelay);\r\n }\r\n\r\n /**\r\n * trigger the map move call back at the given index\r\n * @param ind - the index of the layer\r\n * @param eventType=undefined the event triggering the load as 'change:center' or 'change:resolution'\r\n * @param functionId=undefined the function id used to reference the added callback function\r\n */\r\n triggerMoveCallback(ind: number, eventType?: string, functionId?: string) {\r\n\r\n if (typeof ind == 'undefined' && typeof functionId == 'undefined'){\r\n throw 'either the function index or the id must be defined';\r\n }\r\n\r\n if (typeof ind !== 'number'){\r\n ind = this._mapMoveCallbacks.indexOf(this._mapMoveCallbacksLookup[functionId]);\r\n }\r\n\r\n if (ind < 0){\r\n console.log('function not found');\r\n\r\n return;\r\n }\r\n\r\n // clear the timeout\r\n if (this._mapMoveCallbackTimeout[ind] != null) {\r\n clearTimeout(this._mapMoveCallbackTimeout[ind]);\r\n this._mapMoveCallbackTimeout[ind] = null;\r\n }\r\n\r\n let ctx = this._mapMoveCallbackContext[ind];\r\n let theFunc = this._mapMoveCallbacks[ind];\r\n\r\n let __this = this;\r\n\r\n let f = function () {\r\n if (ctx !== null) {\r\n theFunc.call(ctx, __this._mapExtent, __this._zoomLevel, eventType);\r\n } else {\r\n theFunc(__this._mapExtent, __this._zoomLevel, eventType);\r\n }\r\n };\r\n\r\n this._mapMoveCallbackTimeout[ind] = setTimeout(f, this._mapMoveCallbackDelays[ind]);\r\n }\r\n\r\n /**\r\n * Add a layer to the interaction\r\n * @param lyr - layer to add\r\n * @param triggerOnAdd - if the layer should be loaded on add\r\n */\r\n addVectorLayer(lyr: LayerBaseVector, triggerOnAdd: boolean = true) {\r\n if (this._arrLayer.indexOf(lyr) > -1) {\r\n console.log('already added ' + lyr.name + ' to map move');\r\n\r\n return;\r\n }\r\n this._checkInit();\r\n\r\n this._arrLyrRequest.push(null);\r\n this._arrLyrTimeout.push(null);\r\n this._arrLayer.push(lyr);\r\n this._lookupLayer[lyr.id] = lyr;\r\n\r\n triggerOnAdd = typeof triggerOnAdd == 'boolean' ? triggerOnAdd : true;\r\n\r\n if (triggerOnAdd) {\r\n if (this._mapExtent === undefined) {\r\n this._updateMapExtent();\r\n }\r\n this.triggerLyrLoad(lyr, this._arrLayer.length - 1);\r\n }\r\n }\r\n\r\n\r\n /**\r\n * add a callback to the map move event\r\n * @param func - callback function\r\n * @param context - the context to use for this function\r\n * @param delay=50 the delay before call load\r\n * @param triggerOnAdd if the layer should be loaded on add to mapMove\r\n * @param functionId optional id to reference the function later for outside triggering\r\n */\r\n addCallback(func: mapMoveCallbackFunction, context?: any, delay?: number, triggerOnAdd? : boolean, functionId?: string) {\r\n\r\n if (this._mapMoveCallbacks.indexOf(func) > -1) {\r\n console.log('this function already added to map move');\r\n return;\r\n }\r\n this._checkInit();\r\n if (!functionId){\r\n functionId = makeGuid();\r\n }\r\n\r\n this._mapMoveCallbacks.push(func);\r\n this._mapMoveCallbacksLookup[functionId] = func;\r\n this._mapMoveCallbackDelays.push(typeof delay == 'number' ? delay : 50);\r\n this._mapMoveCallbackContext.push(checkDefined.definedAndNotNull(context) ? context : null);\r\n this._mapMoveCallbackTimeout.push(null);\r\n\r\n triggerOnAdd = typeof triggerOnAdd == 'boolean' ? triggerOnAdd : true;\r\n\r\n if (triggerOnAdd) {\r\n if (this._mapExtent === undefined) {\r\n this._updateMapExtent();\r\n }\r\n this.triggerMoveCallback(this._mapMoveCallbacks.length - 1);\r\n }\r\n }\r\n}\r\n\r\nnm.MapMoveCls = MapMoveCls;\r\nexport default MapMoveCls;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/mapMoveCls.ts","/**\r\n * Created by gavorhes on 11/3/2015.\r\n */\r\n\r\nimport MapInteractionBase from './mapInteractionBase';\r\nimport propertiesZoomStyle from '../olHelpers/propertiesZoomStyle';\r\nimport provide from '../util/provide';\r\nimport ol = require('custom-ol');\r\nimport {LayerBaseVector} from \"../layers/LayerBaseVector\";\r\nimport {LayerBase} from \"../layers/LayerBase\";\r\nimport LayerEsriMapServer from \"../layers/LayerEsriMapServer\";\r\nimport $ = require('jquery');\r\n\r\nconst nm = provide('olHelpers');\r\n\r\nexport interface popupChangedFunction {\r\n ($popContent: JQuery): any;\r\n}\r\n\r\n/**\r\n *\r\n */\r\nexport interface popupCallback {\r\n /**\r\n * Callback function for the popup\r\n * @param featureProperties\r\n * @param jqRef\r\n */\r\n (featureProperties: Object, jqRef?: JQuery): string | boolean;\r\n}\r\n\r\ninterface mapEvent {\r\n coordinate: ol.Coordinate;\r\n pixel: ol.Pixel;\r\n dragging: boolean|any;\r\n originalEvent: Event;\r\n}\r\n\r\n\r\nexport class FeatureLayerProperties {\r\n\r\n feature: ol.Feature;\r\n layer: LayerBaseVector|LayerEsriMapServer;\r\n layerIndex: number;\r\n selectionLayer: ol.layer.Vector;\r\n popupContent: string;\r\n esriLayerName: string;\r\n\r\n /**\r\n *\r\n * @param feature the feature\r\n * @param layer - the layer in the popup\r\n * @param layerIndex - index of the layer\r\n * @param selectionLayer - the ol selection layer\r\n * @param [esriLayerName=undefined] - esri layer name\r\n */\r\n constructor(feature: ol.Feature, layer: LayerBaseVector|LayerEsriMapServer, layerIndex: number, selectionLayer: ol.layer.Vector, esriLayerName?: string) {\r\n this.feature = feature;\r\n this.layer = layer;\r\n this.layerIndex = layerIndex;\r\n this.selectionLayer = selectionLayer;\r\n this.popupContent = '';\r\n this.esriLayerName = typeof esriLayerName == 'string' ? esriLayerName : undefined;\r\n }\r\n\r\n get layerName() {\r\n if (typeof this.esriLayerName == 'string') {\r\n return this.esriLayerName;\r\n } else {\r\n return this.layer.name;\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * map popup class\r\n * @augments MapInteractionBase\r\n */\r\nexport class MapPopupCls extends MapInteractionBase {\r\n private _popupOpen: boolean;\r\n private _passThroughLayerFeatureArray: Array<FeatureLayerProperties>;\r\n private _currentPopupIndex: number;\r\n private _popupContentLength: number;\r\n private _esriMapServiceLayers: Array<LayerEsriMapServer>;\r\n private _$popupCloser: JQuery;\r\n private _$popupContent: JQuery;\r\n private _$popupContainer: JQuery;\r\n private _popupOverlay: ol.Overlay;\r\n private _arrPopupLayers: Array<LayerBaseVector>;\r\n private _popupCoordinate: ol.Coordinate;\r\n private _popupChangedFunctions: Array<popupChangedFunction>;\r\n private _mapClickFunctions: Array<Function>;\r\n private _selectionLayerLookup: {[s: string]: ol.layer.Vector};\r\n private _arrPopupLayerIds: Array<string>;\r\n private _arrPopupLayerNames: Array<string>;\r\n private _arrPopupOlLayers: Array<ol.layer.Vector>;\r\n private _arrPopupContentFunction: Array<popupCallback>;\r\n private _selectionLayers: Array<ol.layer.Vector>;\r\n\r\n /**\r\n * Definition for openlayers style function\r\n * @callback olStyleFunction\r\n * ¶m feature the openlayers vector feature\r\n * $param\r\n */\r\n\r\n\r\n /**\r\n * map popup constructor\r\n */\r\n constructor() {\r\n super('map popup');\r\n this._arrPopupLayerIds = [];\r\n this._arrPopupLayerNames = [];\r\n this._arrPopupLayers = [];\r\n this._arrPopupOlLayers = [];\r\n this._arrPopupContentFunction = [];\r\n this._$popupContainer = undefined;\r\n this._$popupContent = undefined;\r\n this._$popupCloser = undefined;\r\n this._popupOverlay = undefined;\r\n this._selectionLayers = [];\r\n this._selectionLayerLookup = {};\r\n this._mapClickFunctions = [];\r\n\r\n //let a = function($jqueryContent){console.log($jqueryContent)};\r\n //this._popupChangedLookup = {'a': a};\r\n this._popupChangedFunctions = [];\r\n this._esriMapServiceLayers = [];\r\n\r\n this._popupOpen = false;\r\n this._popupCoordinate = null;\r\n\r\n this._passThroughLayerFeatureArray = [];\r\n\r\n this._currentPopupIndex = -1;\r\n this._popupContentLength = 0;\r\n\r\n }\r\n\r\n /**\r\n * map popup initialization\r\n * @param {ol.Map} theMap - the ol map\r\n */\r\n init(theMap: ol.Map) {\r\n super.init(theMap);\r\n\r\n let $map;\r\n let target = this.map.getTarget();\r\n\r\n if (typeof target == 'string') {\r\n $map = $('#' + target);\r\n }\r\n else {\r\n $map = $(target);\r\n }\r\n\r\n $map.append(\r\n '<div class=\"ol-popup\">' +\r\n '<span class=\"ol-popup-closer\">X</span>' +\r\n '<div class=\"popup-content\"></div>' +\r\n '</div>'\r\n );\r\n\r\n this._$popupContainer = $map.find('.ol-popup');\r\n this._$popupContent = $map.find('.popup-content');\r\n this._$popupCloser = $map.find('.ol-popup-closer');\r\n\r\n let _ease = (n: number): number => {\r\n return ol.easing.inAndOut(n);\r\n };\r\n\r\n\r\n this._popupOverlay = new ol.Overlay({\r\n element: this._$popupContainer[0],\r\n autoPan: true,\r\n autoPanAnimation: {\r\n duration: 250,\r\n source: theMap.getView().getCenter(),\r\n easing: _ease\r\n }\r\n });\r\n\r\n this._map.addOverlay(this._popupOverlay);\r\n\r\n this._$popupCloser.click((evt) => {\r\n this.closePopup();\r\n });\r\n\r\n // display popup on click\r\n this._map.on('singleclick', (evt: {coordinate: [number, number], pixel: ol.Pixel}) => {\r\n\r\n this.closePopup();\r\n this._popupCoordinate = evt['coordinate'];\r\n\r\n // esri map service layers\r\n if (this._esriMapServiceLayers.length > 0) {\r\n\r\n let queryParams = {\r\n geometry: evt['coordinate'].join(','),\r\n geometryType: 'esriGeometryPoint',\r\n layers: 'all',\r\n sr: this._map.getView().getProjection().getCode().split(':')[1],\r\n mapExtent: (this._map.getView().calculateExtent(this._map.getSize()) as number[]).join(','),\r\n imageDisplay: (this._map.getSize() as number[]).join(',') + ',96',\r\n returnGeometry: true,\r\n tolerance: 15,\r\n f: 'pjson'\r\n };\r\n\r\n for (let l of this._esriMapServiceLayers) {\r\n l.getPopupInfo(queryParams);\r\n }\r\n }\r\n\r\n let layerFeatureObjectArray = this._featuresAtPixel(evt['pixel']);\r\n\r\n this._passThroughLayerFeatureArray = [];\r\n this._currentPopupIndex = -1;\r\n\r\n for (let i = 0; i < layerFeatureObjectArray.length; i++) {\r\n let featObj = layerFeatureObjectArray[i];\r\n\r\n let props = featObj.feature.getProperties();\r\n\r\n let popupContentResponse = this._arrPopupContentFunction[featObj.layerIndex](props, this._$popupContent);\r\n\r\n //skip if return was false\r\n if (popupContentResponse === false) {\r\n //continue;\r\n } else if (typeof popupContentResponse == 'string') {\r\n featObj.popupContent = popupContentResponse as string;\r\n this._passThroughLayerFeatureArray.push(featObj);\r\n } else {\r\n featObj.selectionLayer.getSource().addFeature(featObj.feature);\r\n }\r\n }\r\n\r\n this._popupContentLength = this._passThroughLayerFeatureArray.length;\r\n\r\n this._currentPopupIndex = -1;\r\n\r\n let popupHtml = '<div class=\"ol-popup-nav\">';\r\n popupHtml += '<span class=\"previous-popup ol-popup-nav-arrow\">◀</span>';\r\n popupHtml += '<span class=\"next-popup ol-popup-nav-arrow\">▶</span>';\r\n popupHtml += `<span class=\"current-popup-item-number\" style=\"font-weight: bold;\"></span>`;\r\n popupHtml += `<span> of </span>`;\r\n popupHtml += `<span class=\"popup-content-length\" style=\"font-weight: bold;\">${this._popupContentLength}</span>`;\r\n popupHtml += `<span> - </span>`;\r\n popupHtml += `<span class=\"current-popup-layer-name\"></span>`;\r\n popupHtml += '</div>';\r\n popupHtml += '<div class=\"ol-popup-inner\">';\r\n\r\n popupHtml += '</div>';\r\n\r\n this._$popupContent.html(popupHtml);\r\n\r\n this._$popupContent.find('.previous-popup').click(() => {\r\n if (this._popupContentLength == 1) {\r\n return;\r\n }\r\n\r\n if (this._currentPopupIndex == 0) {\r\n this._currentPopupIndex = this._popupContentLength - 1;\r\n } else {\r\n this._currentPopupIndex--;\r\n }\r\n this._triggerFeatSelect();\r\n });\r\n\r\n let nextPopup = this._$popupContent.find('.next-popup');\r\n\r\n nextPopup.click(() => {\r\n if (this._popupContentLength == 1 && this._currentPopupIndex > -1) {\r\n return;\r\n }\r\n\r\n if (this._currentPopupIndex == this._popupContentLength - 1) {\r\n this._currentPopupIndex = 0;\r\n } else {\r\n this._currentPopupIndex++;\r\n }\r\n this._triggerFeatSelect();\r\n });\r\n\r\n\r\n if (this._popupContentLength > 0) {\r\n nextPopup.trigger('click');\r\n this._popupOverlay.setPosition(this._popupCoordinate);\r\n this._$popupContent.scrollTop(0);\r\n this._popupOpen = true;\r\n }\r\n });\r\n\r\n //change mouse cursor when over marker\r\n this._map.on('pointermove', (evt: {dragging: boolean, originalEvent: Event}) => {\r\n if (evt['dragging']) {\r\n return;\r\n }\r\n let pixel = this.map.getEventPixel(evt['originalEvent']);\r\n let hit = this.map.hasFeatureAtPixel(pixel, (lyrCandidate) => {\r\n for (let olLayer of this._arrPopupOlLayers) {\r\n if (lyrCandidate == olLayer) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n });\r\n let mapElement = this.map.getTargetElement() as HTMLElement;\r\n mapElement.style.cursor = hit ? 'pointer' : '';\r\n });\r\n\r\n return true;\r\n }\r\n\r\n /**\r\n * helper to select features\r\n * @private\r\n */\r\n _triggerFeatSelect() {\r\n let $currentPopupItemNumber = this._$popupContent.find('.current-popup-item-number');\r\n let $innerPopup = this._$popupContent.find('.ol-popup-inner');\r\n let $layerNameSpan = this._$popupContent.find('.current-popup-layer-name');\r\n this.clearSelection();\r\n let lyrFeatObj = this._passThroughLayerFeatureArray[this._currentPopupIndex];\r\n $currentPopupItemNumber.html((this._currentPopupIndex + 1).toFixed());\r\n $layerNameSpan.html(lyrFeatObj.layerName);\r\n $innerPopup.html(lyrFeatObj.popupContent);\r\n lyrFeatObj.selectionLayer.getSource().addFeature(lyrFeatObj.feature);\r\n for (let f of this._popupChangedFunctions) {\r\n f(this._$popupContent);\r\n }\r\n }\r\n\r\n\r\n /**\r\n *\r\n * @param feature - the ol feature\r\n * @param {LayerEsriMapServer} lyr - the map server layer\r\n * @param {string} popupContent - popup content\r\n * @param {string} esriName - esri layer name\r\n */\r\n addMapServicePopupContent(feature: ol.Feature, lyr: LayerEsriMapServer, popupContent: string, esriName: string) {\r\n\r\n let featLayerObject = new FeatureLayerProperties(\r\n feature, lyr, this._popupContentLength, this._selectionLayerLookup[lyr.id], esriName\r\n );\r\n featLayerObject.popupContent = popupContent;\r\n\r\n this._passThroughLayerFeatureArray.push(featLayerObject);\r\n this._popupContentLength++;\r\n\r\n $('.popup-content-length').html(this._popupContentLength.toFixed());\r\n\r\n if (!this._popupOpen) {\r\n this._$popupContent.find('.next-popup').trigger('click');\r\n\r\n this._popupOverlay.setPosition(this._popupCoordinate);\r\n this._$popupContent.scrollTop(0);\r\n this._popupOpen = true;\r\n }\r\n }\r\n\r\n /**\r\n *\r\n * @param pixel - the ol pixel\r\n * @returns feature layer properties\r\n * @private\r\n */\r\n _featuresAtPixel(pixel: ol.Pixel): Array<FeatureLayerProperties> {\r\n let layerFeatureObjectArray: FeatureLayerProperties[] = [];\r\n\r\n this.map.forEachFeatureAtPixel(pixel, (feature: ol.Feature, layer: ol.layer.Vector) => {\r\n let lyrIndex = this._arrPopupOlLayers.indexOf(layer);\r\n\r\n if (lyrIndex > -1) {\r\n layerFeatureObjectArray.push(\r\n new FeatureLayerProperties(\r\n feature, this._arrPopupLayers[lyrIndex], lyrIndex, this._selectionLayers[lyrIndex]));\r\n }\r\n });\r\n\r\n return layerFeatureObjectArray;\r\n }\r\n\r\n closePopup() {\r\n this._checkInit();\r\n this._popupOpen = false;\r\n this._popupOverlay.setPosition(undefined);\r\n this._$popupCloser[0].blur();\r\n this.clearSelection();\r\n this._$popupContent.html('');\r\n\r\n return false;\r\n };\r\n\r\n\r\n /**\r\n *\r\n * @param chgFunction - popup change function\r\n */\r\n addPopupChangedFunction(chgFunction: popupChangedFunction) {\r\n this._popupChangedFunctions.push(chgFunction);\r\n }\r\n\r\n /**\r\n *\r\n * @param {LayerBase|*} lyr - the layer being acted on\r\n * @param {object} [selectionStyle={}] the selection style configuration\r\n * @param {string} [selectionStyle.color=rgba(255,170,0,0.5)] the selection color\r\n * @param {number} [selectionStyle.width=10] the selection width for linear features\r\n * @param {object|function} [selectionStyle.olStyle=undefined] an openlayers style object or function\r\n * @returns the new selection layer\r\n * @private\r\n */\r\n _addPopupLayer(lyr: LayerBaseVector|LayerEsriMapServer, selectionStyle: {color?: string, width?: number, olStyle?: ol.style.Style}): ol.layer.Vector {\r\n this._checkInit();\r\n\r\n selectionStyle = selectionStyle || {};\r\n selectionStyle.color = selectionStyle.color || 'rgba(255,170,0,0.5)';\r\n selectionStyle.width = selectionStyle.width || 10;\r\n\r\n let theStyle;\r\n\r\n if (selectionStyle.olStyle) {\r\n theStyle = selectionStyle.olStyle;\r\n } else {\r\n theStyle = new ol.style.Style({\r\n stroke: new ol.style.Stroke({\r\n color: selectionStyle.color,\r\n width: selectionStyle.width\r\n }),\r\n image: new ol.style.Circle({\r\n radius: 7,\r\n fill: new ol.style.Fill({color: selectionStyle.color}),\r\n stroke: new ol.style.Stroke({color: selectionStyle.color, width: 1})\r\n }),\r\n fill: new ol.style.Fill({\r\n color: selectionStyle.color\r\n })\r\n });\r\n }\r\n\r\n let selectionLayer = new ol.layer.Vector(\r\n {\r\n source: new ol.source.Vector(),\r\n style: theStyle\r\n }\r\n );\r\n\r\n selectionLayer.setZIndex(100);\r\n\r\n this._selectionLayers.push(selectionLayer);\r\n this._selectionLayerLookup[lyr.id] = selectionLayer;\r\n this.map.addLayer(selectionLayer);\r\n\r\n return selectionLayer;\r\n }\r\n\r\n\r\n /**\r\n * Add popup to the map\r\n * @param {LayerBase|*} lyr The layer that the popup with act on\r\n * @param {popupCallback} popupContentFunction - popup content function that makes popup info\r\n * @param {object} [selectionStyle={}] the selection style configuration\r\n * @param {string} [selectionStyle.color=rgba(255,170,0,0.5)] the selection color\r\n * @param {number} [selectionStyle.width=10] the selection width for linear features\r\n * @param {object|function} [selectionStyle.olStyle=undefined] an openlayers style object or function\r\n * @returns {object} a reference to the ol selection layer\r\n */\r\n addVectorPopup(lyr: LayerBaseVector, popupContentFunction: popupCallback,\r\n selectionStyle?: {color?: string, width?: number, olStyle?: ol.style.Style}) {\r\n let selectionLayer = this._addPopupLayer(lyr, selectionStyle);\r\n this._arrPopupLayerIds.push(lyr.id);\r\n this._arrPopupLayerNames.push(lyr.name);\r\n this._arrPopupLayers.push(lyr);\r\n this._arrPopupOlLayers.push(lyr.olLayer);\r\n this._arrPopupContentFunction.push(popupContentFunction);\r\n\r\n return selectionLayer;\r\n };\r\n\r\n\r\n /**\r\n *\r\n * @param {LayerBase} lyr - layer\r\n */\r\n removeVectorPopup(lyr: LayerBase) {\r\n let idx = this._arrPopupLayerIds.indexOf(lyr.id);\r\n\r\n if (idx > -1) {\r\n this._arrPopupLayerIds.splice(idx, 1);\r\n this._arrPopupLayerNames.splice(idx, 1);\r\n this._arrPopupLayers.splice(idx, 1);\r\n this._arrPopupOlLayers.splice(idx, 1);\r\n this._arrPopupContentFunction.splice(idx, 1);\r\n this._selectionLayers.splice(idx, 1);\r\n delete this._selectionLayerLookup[lyr.id];\r\n }\r\n }\r\n\r\n /**\r\n *\r\n * @param {LayerEsriMapServer} lyr - map server layer\r\n * @param {object} [selectionStyle={}] the selection style configuration\r\n * @param {string} [selectionStyle.color=rgba(255,170,0,0.5)] the selection color\r\n * @param {number} [selectionStyle.width=10] the selection width for linear features\r\n * @param {object|function} [selectionStyle.olStyle=undefined] an openlayers style object or function\r\n * @returns {object} a reference to the ol selection layer\r\n */\r\n addMapServicePopup(lyr: LayerEsriMapServer, selectionStyle?: ol.style.Style|Array<ol.style.Style>|ol.StyleFunction) {\r\n let selectionLayer = this._addPopupLayer(lyr, selectionStyle);\r\n this._esriMapServiceLayers.push(lyr);\r\n\r\n return selectionLayer;\r\n }\r\n\r\n clearSelection() {\r\n this._checkInit();\r\n for (let i = 0; i < this._selectionLayers.length; i++) {\r\n this._selectionLayers[i].getSource().clear();\r\n }\r\n for (let f of this._mapClickFunctions) {\r\n f();\r\n }\r\n };\r\n\r\n /**\r\n * Add a function to be called when the map is clicked but before any popups are implemented\r\n * @param {function} func - the map click function\r\n */\r\n addMapClickFunction(func: Function) {\r\n this._mapClickFunctions.push(func);\r\n }\r\n}\r\nnm.MapPopupCls = MapPopupCls;\r\nexport default MapPopupCls;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/mapPopupCls.ts","/**\r\n * Created by gavorhes on 12/15/2015.\r\n */\r\n\r\nimport provide from '../util/provide';\r\nimport ol = require('custom-ol');\r\nimport $ = require('jquery');\r\nimport {Geocode} from './geocode';\r\nconst nm = provide('olHelpers');\r\n\r\nexport interface quickMapOptions {\r\n divId?: string;\r\n center?: {x: number, y: number};\r\n zoom?: number;\r\n minZoom?: number;\r\n maxZoom?: number;\r\n baseSwitcher?: boolean;\r\n fullScreen?: boolean;\r\n addGeocode?: boolean;\r\n}\r\n\r\n/**\r\n * Sets up a map with some default parameters and initializes\r\n * mapMove and mapPopup\r\n *\r\n * @param [options={}] config options\r\n * @param [options.divId=map] map div id\r\n * @param [options.center={}] center config object\r\n * @param [options.center.x=-10018378] center x, web mercator x or lon\r\n * @param [options.center.y=5574910] center y, web mercator y or lat\r\n * @param [options.zoom=7] zoom level\r\n * @param [options.minZoom=undefined] min zoom\r\n * @param [options.maxZoom=undefined] max zoom\r\n * @param [options.baseSwitcher=true] if add base map switcher\r\n * @param [options.fullScreen=false] if add base map switcher\r\n * @returns the ol map\r\n */\r\nexport function quickMapBase(options: quickMapOptions = {}): ol.Map {\r\n options.divId = options.divId || 'map';\r\n options.center = options.center || {x: -10018378, y: 5574910};\r\n options.zoom = typeof options.zoom == 'number' ? options.zoom : 7;\r\n options.baseSwitcher = typeof options.baseSwitcher == 'boolean' ? options.baseSwitcher : true;\r\n options.fullScreen = typeof options.fullScreen == 'boolean' ? options.fullScreen : false;\r\n options.addGeocode = options.addGeocode || false;\r\n\r\n\r\n let $mapDiv = $('#' + options.divId);\r\n $mapDiv.css('position', 'relative');\r\n\r\n let osmLayer = new ol.layer.Tile({source: new ol.source.OSM()});\r\n // let satLayer = new ol.layer.Tile({visible: false, source: new ol.source.MapQuest({layer: 'sat'})});\r\n\r\n let osmCss = \"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAMAUExURQAAADQ1NDk5OURFREtLS1FHSFlZWGJRVGJiYWdmZWxsbHRmaXBpanN0c3V0dHp5eX5+fIVzd4F3eeV0jud5juZ8k4aHhomHhoyGh5eGj5OVlJiVlZiYl5qZmJydnKOTlaKZmqKdnaOioaqqqKuzsbOvrrSysLa3tbW4uLm6ub27ub+/vbGXwbCZwbCgxLKlxrOqyLStybO3yrSxyrWzzbW2y7a1zbK4y7W6zbW8y760yrTAzbTFzrPKzrLOzrTJzrTOzr7CwbXC0LXK0LTO0L3I0bPQz7TQz7PS0bXQ0LnR0brW1bzT0r7U077V1Lzc2dqNqteUsdyXscaquuOHneaGmueHnOeJnuiBleiKn+eNoOiOoOWUpOiRo+iSpeiUpeqYpumaqOmdrPSynemgruSqtOmisOmlsuuqtequuOW1vOuxu+uxvOq1ve+xvPK0pvW3o/W5pfO5qvS7qfCwvMOuwc2/wNenxNyyzNe/0Nq31Nq51dy72Oy3wOu4wOu+xey4wO+6xO2+xfTAr/TCsvfFtPHLvvTJuMPDwMfHxcXKyc3DxMvFyMvLyM3PzcDV08DV1MTX1cbY1s7X1sjZ1sra2Mnd3M7b2c7c2tfH1tnB1t7F2d7M29fX1tLY1tDd2tHe3NTf3NnS19rZ1tva2Nnf3t3d28rh3tXg3Nnh3tzj393k39ni4N7k4N7n5uXDyOfLz+zAxu3CyOzEyezKzeDJ3eLM3uvP0u3P0ePf2+7R0u7Q1u/U0+7U1ezc0+7a2e/d2+3f3vbFzvLOwfHN0PPQw/TUx/LWyvLYzPDQ1fPe0ubc4vve4uHh3+nh3+/h2u/h3vHj2vHl3uHm4eTn4uDp5ebo4+Xo5ODq6ebq6OTv6+nl4+/j4O7l4e7n5ujp4+np5Ozq5e7s5urt6O7t6Orw6u7x6u3x7vPj5PDl4fDo4vDq5fDt5vDu6PDv7PTv6fDx6vHx7fH17fXw6fXy7fb07/bz8fT18vn38vr39fr48/r59Pr6+P3++//+/gAAALNTSk0AAAEAdFJOU////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wBT9wclAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAAGHRFWHRTb2Z0d2FyZQBwYWludC5uZXQgNC4wLjlsM35OAAAFNElEQVRIS1VVCZxVUxi/9l0UIUT2bMnY43bVI2c0Y01kSWIaS0j2JEtkN41piomZrPPKQ2aQ7JKImOZlnm2493TJzDufuU1Zi+v/fee+mZ//793vnPOd7zvfes5zDBEZkBBjAcIjb+Iiotqgdhat8AMK0vl7/R9N7GiWtshqIr+EZ5gYKibyUsXY1l/mfFpssvUlWQ0FkU3gy4+RB/+kwYcO8pRSnldcOU/r2lAHARSwk2ORgEmOdC1EsuRiYSqMPwwroMIraZk5V2fYJQjCKfZrRmh3gSAZi2i4b7wSylWu8EqZwS59JkFUaW96JbNSc+CEUmt4rorwuZmWdDaoc+uZETuQlTCU5xYzR7muUnVUVo+BcRhre/VwUpasgJwhH7JkYIYA0sNxhmCwUK+lw6vCKBZehw01dEiyw4Q4aE0Z4ahDhKaFQsGnJ2BgqKoTBsNjFy0SlW6whRAZTdm8DBJmkBZhDi1j4xJQBk6ywrWUTymaCxac8lROcdauRGzQSNtA7EHUYhXyEwhhgjFUqRuO+rauhF1awFpzCsmwUbjIFBR0u1bKtyGpulW/H/cVVzkyGaIWTIR9pFAV6GK2gPMXMX8gPk9zzxXgI1kimcAltEYr+cjio1imlKpEa9rOipLm+p+CZ6Bw//qd1/f/O+GwMxbSLpyoZEcwkyh2jIks+3hmdd2jWUw4scxNysnHxU7nSspTRcJjCZGL3IsjsYJMMg5mwgx7gaIOLBFCogAgBBoNa9w+DE6I+Bs7FTgwwrJbHjWDgpYo2KwtBTcYEDuloC9geQw+k2RGnPGpTaOlq7AS+YICUz4DZVaX2TiNDhuYfTtY4geLi0IoCm3XccwM9hx4kU28StQEljDs3ZEpFGA+8dKzLmV9ymIwF5FOGn2GdJM8KLHDJbXyiYVMG9MRTLiXGGg2QKaxM3khPSRrwM9zEIardxU2w/EiA0gOeYKHzDR0V7/QGV3lKIA9ktrDArxO3gdA+k6SKoBiVwcm7NjZb9+Hnztg282TuHVZ9LOISFNt9MgyCetZVczSxnyDbl17Penq6mqpg1IhRaEO2aVLUO4/r17H8tTv6f13h71dduvZI3Y+uMdWksNSauLovJw5hsqiPIUvt0ku7/iBeUR3sksmomYWtRbAjbiLfv2lX9/V7LVG4uYnUZXhQ7f2OPCZEx9wrYWTcePEQqPEML8pl4mMdr/jlXlvHiRiJ2+MSTFY4TTSYStuvz2R/JXh+PPeGXm055J+3/YDWuNu3R3DArPutyg0ZgykMVDU9Ndm22+wYalr2rse48CnsTIFcMn73vfhNrktx1EUcZnPv6ah3Yy5cDTRdBEoGoBeah71dqFyjZDJLkWk3N3v4uuktssjWpzciMPxQeHj8nMKzcGuB0tAyzFhdCKOYWv4HwOQVwIxLG99a6uvH3sJCyO3h+k4EZ+G7+xj5f4XXksoaGrdMRzSc8ARA8+cdOuk2x6fffNNt5x+Ro1omPlrT/CQDlcNlpx4NBIWXhkx7Y3Zp3ofNR7Uv89Om/beW0TLIynHv3vs1VsOFpSWSXvfuPUf9BrRFyxgXdHoKJnQFegPOovvzz59ntrzye240ig8UQ3lDI2VqwagrKIQcLXNFL3wglN2OHdBQ6/vI3kENDVBwRb3k1XtczFbjWn4EzMYi7CF3129+JTYuRSdrGuS92g5dpqn6qXoJQs5xmL8p+Wt4hLbt0mx2OLNZR2bbPy8zJNQGFM/f/CfXZekRYFjGCWjIJpM+WiCzGBPWHhoyaAsjRT/B2Gy5yzYJkwUAAAAAElFTkSuQmCC')\";\r\n let aerialCss = \"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAMAUExURQALBgIMDQgOBwQOEQcTBwUSCwoVDAwdBw8ZDgUREwYUGAYZFQYZGgkTFQoVGQsZFAwZHBMeDhIbFBEbHAwWIA4bIREcIQ4hCQwjFw4lHBgkDB8sDxUiExIiGhAoGxohFRshGRorHQcrKQsiIQwmKgooJA0pKQ81Jw8yLRMiIxImKxUrJREuKhslJB0rIhooKRUuMBMyLhkwJhozKh48LxUzMRM9MBwzMiUvFCMtGiMwEiwzFCgzHDI+GSIsISkvJSQxIiM2LiY5Jic+Lyk0JSo0Ky49JSs9KSU1NSM7NCs2NS8+NDM1JzU9Ljg7IDJCHS1DLSNAMitCMSxIOjREITZLIDZJKDlFIjpFKztKJT1LKzJBMzpHMD1JMjpKPD1RKjlQNC1DQj5QQEA8MEJGJkBKJUJNK0lLLEJMMkVMPEpONENSLUdZL0pTLkpaLkRUMkRSPEVZMktUM0pVOklZMklZNEpcNU1ZMk1ZNUxfMk5dNkxcOVFUM1RUOFJbNVFZOVNYPVFdOVJdPFVaOVVaPVVdOlVdPVpaNlpdO0phN01hOlBiN1NhPFNoP1piPWFbPmRjPENOQEtPSURTQkJVS0xVQk1VSkxbQkxcS0heUVFXRFRcQlJfTFxeQlpeS05lQk1kSFRjQVRjSlZpQ1tkQlxlSlxpRF1rSVVnUVtlU1llXF9tU1xoXlxwSl9ramRfQmJlQ2FhSWFlSWFlTmVlSWRmTGFoQWFpRWFsRmVpRWVtRmNsSmtlRGpqRmpsS2BmWGRsUmFrW2ptUmZyR2RxTGpxTWVyU2RyW2d5V2tzUmt0WW15VG15WXFuTHNtVnFxTXF4T3h0TnJzUnJ1XHJ4VXN6Wnp0VHx1W315VXp8XGR0YGx0YHVzZXJ0aHR9ZXV+aHl9YHOCXXqBXXeCYHyCY3iEaHyIYn+JaXqKcYB5WIN6Y4SCXoCDZIGEaYCIZoOLa4iCaImJbIOOdYuMco6OeIuVcpOKbZKPc5aQb5eXe5ufg6KjhAAAAAAAAAAAAAAAAOGCeQgAAAEAdFJOU////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wBT9wclAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAAGHRFWHRTb2Z0d2FyZQBwYWludC5uZXQgNC4wLjlsM35OAAAH80lEQVRISy1WbXQUVxm+6wqnk3Zmpxl2FG2EGg92C8GDlWptVTwa+uF3xcKmDfFzCUzDsJNsunXipglJXJbrtJWmwZNSnHD3jojRgUIm2UumIZ0JZ7JByrALbMWW0IBW8aRa4+cf76TeX3Nm3uc+z/s+7/vugl4r/aMTrT4e1pPTqnnmJNn5AyUzRnrRle/qE33dsvrBtAQVoxtpZNK3zSzYjUjviWO2Ag+R77dl7W36n/1Ep9KBPG/S+Py0PkjU/gPKQGqwTHryiWYFAXSvMairsio7SjyNsnCzh0qKImV9/7mhfHQZx2yN1O+7rXUm33MUPaboOkAJHaoIdXfJj2xWeyD8jMFEXkvIu5qzpU988gWB5zl+GS+sFe55trEVPdWZB2miq8bBVkNFO2R0qnrfkiXhcJhtDNXE6tbW97/s9O9/7ZfVhx86/CwrROpfvvxboMqeLsuqPr1j44qEwDNMOBximUiYoU8sw7BC/a7T72uEnyJDlGxZ9KcglZRyuqqrv/tSZErgOI4NgRBTIw9EmHAoFGZZnp6aGaJ2GTxfxYs8kKVUQh7WB5hQeC3LsUxoxVKW14l3BX2WcoUYPiZyLLe8teZ+iuT4GGhvV5KpKWkpyzxEr2MZgQ1xdRjfRBoH+2k6lIHjKTHPPBo8CSJISqqq4wGGOcWylIGlgvgNX1Gd8vF5f+IUIwb30ng+Gg2QfBRIMvy0jG8SVkYo4N0zvUXVRztbJ/L6xL7lUZEXBEHkuZqlS6gEAUgKJurnhFtfpACOYd8b/hVbJPqwi44a6KA0sPVjIi/SIyxb3u8KlAJ0S8jRVgrlW+nVHPdrhiXCxu42d86ByksDc80P3MkJFBFQ8Ho1lQegpWJRWFGsDsRwwv7pIyvuQW0ZkrX6NDVFbqcvaQI8vbyqzt5AARrsbKx5yhQEGs+wPO56bOK+0rcwMrOKkpUbZWYxV04UeZZv/cBKFhRL6Qdv9y4LfEDA7/thg7tTmv1a5/GnO0wl0dQg80wglZaHUmxRvjwAHOfyN0mxrpqLUpcjsK3NHYMo4R1o6eho2ZyIb2FoeOC3ILK8kZ2HQMOuWywGXUkJBCeTbYFS0+ym1h2/6UgmvnrvKYZZtIEXGf75C2cIAp5LHNd71x7uPoTjakrWH9e3KFpaatjUvJUysFw0KrLMYMW2lTg4PeUQx6kJEALvxXEmCdVyPLHtCSjBhc01XCjIgafxou+PE6KC1dhxSCwoBCc+N4P3btM84pmdSSjJnjO/nvY4LQfVyz5/I+v6IwjUOMjy+MVCxIbKupTJaEktp7cTKU42Pvjh2m/8cSpC6aPsaX/MHSuUQLVVsIa4RUTs/r/BVAexNdjdnsNG7j/rV93xheLMzKnFrPeTEQchCyCcKb25aAIn7lrAertrZwyNXM8N6zfWrFo3d2SmOEcF83x/r+OOFgrAHYWF7cELjhV7UQo/6WAIUVl9JFl8a//HZ66VpbY3I9QKZqPru77lA+iOWAIr0hKxHCmmr0othSyeIl5y3qt4xT8gSNrKEZozs8Els67rgsLOZ+ygzwMfbtNhobfgzpEyGnz7htPtzUi6PuOoj7K0WF/MXiUFxwGajRD1hjYXHXI9p406qOyinp5/tiWcDHY0jIu4n64Qfq7kliB2gemag9QbOia0PbbDMbd43SHuvxFxrAocxins7MX5Kqbe1QixKBxoV4//PfAgGCu+Rlm4SvZizyDH+0reDHp92iO0BuX3bCfItl0PEwvYLqpwXG2MHlGsQ4S8pMJZv1JGmHiEoHQDdOjwmVlEP/nE9ADKjI8xLI0OOGITfy0SbeG/C2jKUDGSlDhM9I3IpK9iup6XnbRNC7yqueNsJCCIiXzdQhnaGN+46umnEdy5U5UbUJ48LFM9GkJo8BdDOiAZ7ZIQbKhYLMqvhU2wmNxjEAsS2AI7y4nWF64duePbk7YV3zvAVLEMD9AxJRNa3KDUibV7DjnkuprMEYjScFNcaR2ceP2u9R/5k1052Ryme5phAFRswlHjAudiP4dOy7CaxLgdJh9vUlU1702/+LPa1U9fvPi9qlA4XEUBJc3dFlpsR457IDl1iPqLp7o81NQgyV19iYU38uTiv975Pd3SiwQcsGjx+v4/6fl5T7EOOMTCtpbKxfemsQq/3olQZcminADAAI0cuGLHaHOFxbuGvRk/Z9u7CULqoVR6NE0yx1avj30oRhc/jWUoIALGxkz0dg1Dl9iaI7LqOOXKsXJFwjiuEAi70Jra2nW1PL08zLBhZsMABpW5csI7TPfew9ipFKcn5k1i+1KyCWKjC3W/8dF1d666+RaabBVTFTHacjoojBNDh0NDxk+IPTlwfqJkWpbnpFHXIbLbmpxEQ3ff/Z0g/mauXsoln9wDRjy/NHsQFw3P6vWuTJ43/+FZrk2cvAFRipCKdfD9y2+pjRj78s0KdCUDKJvdV91ChngV38T20TM+gghjpJaPlpFr2xbEz5g4A/NGt5rNwdwmYGeeeMXBSLHHUIc+6RsojRH9VTUm3/mLf/64b470XvoxoTKhlMBQ2jMEzo2PjxdGMppmn1RM24bWFJqaQv4BcuJa2Sam7Zokq1ldCsz06NCBHrhwqVQYpfFj42NZexz1EW9SR/kT58nEeQKJb2fPXjjp0u/YUkwHEgLeOnf2nOuf1TRTM02CLKLTPy60/x1CCztqn7Ev+BdsC3m+30decQvW/wBNTwU+CfUQAQAAAABJRU5ErkJggg==')\";\r\n\r\n if (options.baseSwitcher) {\r\n // let switcherContent = '<div class=\"base-map-switcher\" title=\"Toggle Base Layer\" style=\"';\r\n // switcherContent += 'position: absolute; top: 70px; left: 4px; border: solid black 1px; ';\r\n // switcherContent += `height: 50px; width: 50px; z-index: 10; border-radius: 4px; background: ${aerialCss};`;\r\n // switcherContent += '\"></div>';\r\n // $mapDiv.append(switcherContent);\r\n //\r\n // $mapDiv.find('.base-map-switcher').click(function() {\r\n // \"use strict\";\r\n // osmLayer.setVisible(!osmLayer.getVisible());\r\n // satLayer.setVisible(!satLayer.getVisible());\r\n //\r\n // if (osmLayer.getVisible()){\r\n // $(this).css('background', aerialCss);\r\n // } else {\r\n // $(this).css('background', osmCss);\r\n // }\r\n // });\r\n }\r\n\r\n if (options.zoom < 0 || options.zoom > 28) {\r\n throw 'zoom out of range';\r\n }\r\n\r\n if (options.center.x >= -180 && options.center.x <= 180 && options.center.y >= -90 && options.center.y <= 90) {\r\n let p = new ol.geom.Point([options.center.x, options.center.y]);\r\n new ol.proj.Projection({code: \"EPSG:4326\"});\r\n\r\n p.transform(new ol.proj.Projection({code: \"EPSG:4326\"}), new ol.proj.Projection({code: \"EPSG:3857\"}));\r\n let coordinates = p.getCoordinates();\r\n options.center.x = coordinates[0];\r\n options.center.y = coordinates[1];\r\n }\r\n\r\n const controls = ol.control.defaults({\r\n attributionOptions: {collapsible: false}\r\n }\r\n );\r\n\r\n const view = new ol.View({\r\n center: [options.center.x, options.center.y],\r\n zoom: options.zoom,\r\n minZoom: options.minZoom,\r\n maxZoom: options.maxZoom\r\n });\r\n\r\n let map = new ol.Map({\r\n layers: [osmLayer],\r\n target: options.divId,\r\n controls: controls,\r\n view: view\r\n });\r\n\r\n if (options.fullScreen) {\r\n map.addControl(new ol.control.FullScreen({}));\r\n }\r\n\r\n if (options.addGeocode){\r\n new Geocode(document.getElementById(options.divId) as HTMLDivElement, map);\r\n }\r\n\r\n return map;\r\n}\r\n\r\nnm.quickMapBase = quickMapBase;\r\nexport default quickMapBase;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/quickMapBase.ts","/**\r\n * Created by gavorhes on 12/14/2015.\r\n */\r\n\r\nimport provide from '../util/provide';\r\nconst nm = provide('olHelpers.zoomResolutionConvert');\r\n\r\nlet _zoomResLookup = [\r\n 156543.03392804097, //0\r\n 78271.51696402048, //1\r\n 39135.75848201024, //2\r\n 19567.87924100512, //3\r\n 9783.93962050256, //4\r\n 4891.96981025128, //5\r\n 2445.98490512564, //6\r\n 1222.99245256282, //7\r\n 611.49622628141, //8\r\n 305.748113140705, //9\r\n 152.8740565703525, //10\r\n 76.43702828517625, //11\r\n 38.21851414258813, //12\r\n 19.109257071294063, //13\r\n 9.554628535647032, //14\r\n 4.777314267823516, //15\r\n 2.388657133911758, //16\r\n 1.194328566955879, //17\r\n 0.5971642834779395, //18\r\n 0.29858214173896974, //19\r\n 0.14929107086948487, //20\r\n 0.07464553543474244, //21\r\n 0.03732276771737122, //22\r\n 0.01866138385868561, //23\r\n 0.009330691929342804, //24\r\n 0.004665345964671402, //25\r\n 0.002332672982335701, //26\r\n 0.0011663364911678506, //27\r\n 0.0005831682455839253 //28\r\n];\r\n\r\n/**\r\n * Get the resolution given the zoom level\r\n * @param {number} zoomLevel - the zoom level\r\n * @returns {number|*} the map resolution\r\n */\r\nexport function zoomToResolution(zoomLevel: number): number {\r\n \"use strict\";\r\n\r\n if (typeof zoomLevel == 'number') {\r\n if (zoomLevel % 1 === 0 && zoomLevel >= 0 && zoomLevel <= 28) {\r\n return _zoomResLookup[zoomLevel];\r\n } else {\r\n console.log(`invalid zoom level provided: ${zoomLevel}`);\r\n\r\n return undefined;\r\n }\r\n } else {\r\n return undefined;\r\n }\r\n}\r\nnm.zoomToResolution = zoomToResolution;\r\n\r\n\r\n/**\r\n * Get resolution from the zoom level\r\n * @param {number} resolution - the resolution\r\n * @returns {number|*} the zoom level\r\n */\r\nexport function resolutionToZoom(resolution: number): number{\r\n for (let i = 0; i < _zoomResLookup.length; i++){\r\n if (resolution >= _zoomResLookup[i] ){\r\n return i;\r\n }\r\n }\r\n\r\n return 0;\r\n}\r\n\r\nnm.resolutionToZoom = resolutionToZoom;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/zoomResolutionConvert.ts","/**\r\n * Created by gavorhes on 1/4/2016.\r\n */\r\nimport provide from '../util/provide';\r\nimport ol = require('custom-ol');\r\nconst nm = provide('olHelpers.esriToOlStyle');\r\n\r\n\r\n/**\r\n *\r\n * @param {Array<number>} colorArray - input color array\r\n * @param {number} opacity - the opacity 0 to 1\r\n * @returns {string} rgba string\r\n * @private\r\n */\r\nfunction _colorArrayToRgba(colorArray: [number, number, number], opacity: number): string {\r\n \"use strict\";\r\n\r\n return `rgba(${colorArray[0]},${colorArray[1]},${colorArray[2]},${opacity})`;\r\n}\r\n\r\n/**\r\n * escape html charcters\r\n * @param {string} str - input string\r\n * @returns {string} escaped string\r\n */\r\nfunction htmlEscape(str: string): string {\r\n return String(str)\r\n .replace(/&/g, '&')\r\n .replace(/\"/g, '"')\r\n .replace(/'/g, ''')\r\n .replace(/</g, '<')\r\n .replace(/>/g, '>');\r\n}\r\n\r\nnm.htmlEscape = htmlEscape;\r\n\r\n\r\nexport interface iEsriResponse{\r\n drawingInfo: {\r\n renderer: iEsriRenderer;\r\n transparency: number\r\n },\r\n geometryType: string\r\n}\r\n\r\n\r\nexport interface iEsriRenderer{\r\n type: string;\r\n symbol: iEsriSymbol;\r\n uniqueValueInfos: Array<{label: string, value: any, symbol: iEsriSymbol}>;\r\n field1: string;\r\n defaultSymbol: iEsriSymbol;\r\n defaultLabel: string;\r\n}\r\n\r\nexport interface iEsriSymbol{\r\n size: number;\r\n type: string;\r\n outline:{\r\n color: [number, number, number];\r\n width: number;\r\n },\r\n color: [number, number, number];\r\n width: number;\r\n imageData: string\r\n}\r\n\r\n\r\nclass CommonSymbol {\r\n legendHtml: string;\r\n opacity: number;\r\n symbolObj: iEsriSymbol;\r\n olStyle: ol.style.Style;\r\n\r\n /**\r\n *\r\n * @param symbolObj\r\n * @param {number} opacity\r\n */\r\n constructor(symbolObj: iEsriSymbol, opacity: number) {\r\n this.symbolObj = symbolObj;\r\n this.opacity = opacity;\r\n this.olStyle = undefined;\r\n this.legendHtml = '';\r\n }\r\n}\r\n\r\ninterface ICommonSymbol{\r\n new (symbolObj: iEsriSymbol, opacity: number): CommonSymbol\r\n}\r\n\r\n\r\nclass PointSymbol extends CommonSymbol {\r\n constructor(symbolObj: iEsriSymbol, opacity: number) {\r\n super(symbolObj, opacity);\r\n switch (this.symbolObj.type) {\r\n case 'esriSMS':\r\n let innerColor = _colorArrayToRgba(this.symbolObj.color, this.opacity);\r\n let outerColor = _colorArrayToRgba(this.symbolObj.outline.color, this.opacity);\r\n let outlineWidth = this.symbolObj.outline.width;\r\n let radius = this.symbolObj.size;\r\n\r\n\r\n this.olStyle = new ol.style.Style({\r\n image: new ol.style.Circle({\r\n radius: radius,\r\n fill: new ol.style.Fill({\r\n color: innerColor\r\n }),\r\n stroke: new ol.style.Stroke({color: outerColor, width: outlineWidth})\r\n })\r\n });\r\n this.legendHtml = `<span class=\"legend-layer-icon\" style=\"color: ${innerColor}\">●</span>`;\r\n break;\r\n case 'esriPMS':\r\n this.olStyle = new ol.style.Style({\r\n image: new ol.style.Icon({src: `data:image/png;base64,${this.symbolObj['imageData']}`})\r\n });\r\n this.legendHtml = `<img class=\"legend-layer-icon\" height=\"17\" src=\"data:image/png;base64,${this.symbolObj['imageData']}\">`;\r\n break;\r\n default:\r\n console.log(this.symbolObj);\r\n alert('Point symbol does not handle symbol type: ' + this.symbolObj['type']);\r\n }\r\n }\r\n}\r\n\r\nclass LineSymbol extends CommonSymbol {\r\n constructor(symbolObj: iEsriSymbol, opacity: number) {\r\n super(symbolObj, opacity);\r\n switch (this.symbolObj.type) {\r\n case 'esriSLS':\r\n let innerColor = _colorArrayToRgba(this.symbolObj.color, this.opacity);\r\n let lineWidth = this.symbolObj.width;\r\n\r\n this.olStyle = new ol.style.Style({\r\n stroke: new ol.style.Stroke({\r\n color: innerColor,\r\n //lineDash: [4],\r\n width: lineWidth\r\n })\r\n });\r\n\r\n this.legendHtml = `<span class=\"legend-layer-icon\" `;\r\n this.legendHtml += `style=\"`;\r\n this.legendHtml += `background-color: ${innerColor};`;\r\n this.legendHtml += `width: 40px;`;\r\n this.legendHtml += `height: 4px;`;\r\n this.legendHtml += `position: relative;`;\r\n this.legendHtml += `display: inline-block;`;\r\n this.legendHtml += `top: -1px;`;\r\n this.legendHtml += `\"></span>`;\r\n break;\r\n default:\r\n console.log(this.symbolObj);\r\n alert('Line symbol does not handle symbol type: ' + this.symbolObj['type']);\r\n }\r\n }\r\n}\r\n\r\nclass PolygonSymbol extends CommonSymbol {\r\n constructor(symbolObj: iEsriSymbol, opacity: number) {\r\n super(symbolObj, opacity);\r\n switch (this.symbolObj['type']) {\r\n case 'esriSFS':\r\n let innerColor = _colorArrayToRgba(this.symbolObj.color, this.opacity);\r\n let outerColor = _colorArrayToRgba(this.symbolObj.outline.color, this.opacity);\r\n let outlineWidth = this.symbolObj.outline.width;\r\n\r\n this.olStyle = new ol.style.Style({\r\n stroke: new ol.style.Stroke({\r\n color: outerColor,\r\n //lineDash: [4],\r\n width: outlineWidth\r\n }),\r\n fill: new ol.style.Fill({\r\n color: innerColor\r\n })\r\n });\r\n\r\n this.legendHtml = `<span class=\"legend-layer-icon\" `;\r\n this.legendHtml += `style=\"`;\r\n this.legendHtml += `background-color: ${innerColor};`;\r\n this.legendHtml += `border: solid ${outerColor} 1px;`;\r\n this.legendHtml += `width: 40px;`;\r\n this.legendHtml += `height: 9px;`;\r\n this.legendHtml += `position: relative;`;\r\n this.legendHtml += `display: inline-block;`;\r\n this.legendHtml += `top: 2px;`;\r\n this.legendHtml += `\"></span>`;\r\n break;\r\n\r\n default:\r\n console.log(this.symbolObj);\r\n alert('Polygon symbol does handle symbol type: ' + this.symbolObj['type']);\r\n }\r\n }\r\n}\r\n\r\nexport interface iStyleFunc{\r\n (f: ol.Feature): ol.style.Style| ol.style.Style[]\r\n}\r\n\r\nclass SymbolGenerator {\r\n opacity: number;\r\n renderer: iEsriRenderer;\r\n legendHtml: string;\r\n olStyle: iStyleFunc | ol.style.Style;\r\n\r\n constructor(esriResponse: iEsriResponse) {\r\n this.opacity = (100 - (esriResponse['drawingInfo']['transparency'] || 0)) / 100;\r\n this.renderer = esriResponse.drawingInfo.renderer;\r\n this.olStyle = undefined;\r\n this.legendHtml = '';\r\n }\r\n}\r\n\r\nclass SingleSymbol extends SymbolGenerator {\r\n symbol: iEsriSymbol;\r\n /**\r\n *\r\n * @param {object} esriResponse - layer info\r\n * @param SymbolClass - the symbol class to use\r\n */\r\n constructor(esriResponse: iEsriResponse, SymbolClass: ICommonSymbol) {\r\n super(esriResponse);\r\n this.symbol = this.renderer.symbol;\r\n let symbolObj = new SymbolClass(this.symbol, this.opacity);\r\n this.olStyle = symbolObj.olStyle;\r\n this.legendHtml = symbolObj.legendHtml;\r\n }\r\n}\r\n\r\nclass UniqueValueSymbol extends SymbolGenerator {\r\n\r\n propertyName: string;\r\n defaultSymbol: iEsriSymbol;\r\n defaultStyle: ol.style.Style;\r\n defaultLabelHtml: string;\r\n labelArray: Array<string>;\r\n legendArray: Array<string>;\r\n propertyStyleLookup: {[s: string]: ol.style.Style};\r\n valueArray: Array<any>;\r\n uniqueValueInfos: Array<{label: string, value: any, symbol: iEsriSymbol}>;\r\n\r\n /**\r\n *\r\n * @param {object} esriResponse - layer info\r\n * @param SymbolClass - the Symbol class definition\r\n */\r\n constructor(esriResponse: iEsriResponse, SymbolClass: ICommonSymbol) {\r\n super(esriResponse);\r\n this.uniqueValueInfos = this.renderer.uniqueValueInfos;\r\n this.propertyName = this.renderer.field1;\r\n this.defaultSymbol = this.renderer.defaultSymbol;\r\n\r\n\r\n if (this.defaultSymbol) {\r\n let symbolObj = new SymbolClass(this.defaultSymbol, this.opacity);\r\n this.defaultStyle = symbolObj.olStyle;\r\n this.defaultLabelHtml = `<span class=\"legend-layer-subitem\">${htmlEscape(this.renderer['defaultLabel'])}</span>` + symbolObj.legendHtml;\r\n } else {\r\n this.defaultStyle = undefined;\r\n this.defaultLabelHtml = 'other';\r\n }\r\n\r\n this.valueArray = [];\r\n this.labelArray = [];\r\n this.legendArray = [];\r\n this.propertyStyleLookup = {};\r\n\r\n for (let uniqueVal of this.uniqueValueInfos) {\r\n this.labelArray.push(uniqueVal['label']);\r\n this.valueArray.push(uniqueVal['value']);\r\n let uniqueSym = new SymbolClass(uniqueVal.symbol, this.opacity);\r\n this.legendArray.push(`<span class=\"legend-layer-subitem\">${htmlEscape(uniqueVal['label'])}</span>` + uniqueSym.legendHtml);\r\n this.propertyStyleLookup[uniqueVal['value']] = uniqueSym.olStyle;\r\n }\r\n\r\n this.olStyle = (feature: ol.Feature): ol.style.Style[] => {\r\n let checkProperties = feature.getProperties();\r\n let checkProperty = checkProperties[this.propertyName];\r\n\r\n if (this.propertyStyleLookup[checkProperty] !== undefined) {\r\n return [this.propertyStyleLookup[checkProperty]];\r\n } else {\r\n return [this.defaultStyle];\r\n }\r\n };\r\n\r\n if (this.defaultLabelHtml !== null) {\r\n this.legendArray.push(this.defaultLabelHtml);\r\n }\r\n\r\n this.legendHtml = '<ul>';\r\n for (let h of this.legendArray) {\r\n this.legendHtml += `<li>${h}</li>`;\r\n }\r\n this.legendHtml += '</ul>';\r\n }\r\n}\r\n\r\nexport function makeFeatureServiceLegendAndSymbol(esriResponse: iEsriResponse): {style: iStyleFunc | ol.style.Style, legend: string} {\r\n \"use strict\";\r\n let renderer = esriResponse.drawingInfo.renderer;\r\n let symbolLegendOut: SymbolGenerator = null;\r\n\r\n switch (renderer.type) {\r\n case 'simple':\r\n switch (esriResponse.geometryType) {\r\n case 'esriGeometryPoint':\r\n symbolLegendOut = new SingleSymbol(esriResponse, PointSymbol);\r\n break;\r\n case 'esriGeometryPolyline':\r\n symbolLegendOut = new SingleSymbol(esriResponse, LineSymbol);\r\n break;\r\n case 'esriGeometryPolygon':\r\n symbolLegendOut = new SingleSymbol(esriResponse, PolygonSymbol);\r\n break;\r\n default:\r\n console.log(esriResponse);\r\n alert(esriResponse.geometryType + ' not handled');\r\n }\r\n break;\r\n case 'uniqueValue':\r\n switch (esriResponse.geometryType) {\r\n case 'esriGeometryPoint':\r\n symbolLegendOut = new UniqueValueSymbol(esriResponse, PointSymbol);\r\n break;\r\n case 'esriGeometryPolyline':\r\n symbolLegendOut = new UniqueValueSymbol(esriResponse, LineSymbol);\r\n break;\r\n case 'esriGeometryPolygon':\r\n symbolLegendOut = new UniqueValueSymbol(esriResponse, PolygonSymbol);\r\n break;\r\n default:\r\n console.log(esriResponse);\r\n alert(esriResponse['geometryType'] + ' not handled');\r\n }\r\n break;\r\n default:\r\n alert('not handled renderer type: ' + renderer['type']);\r\n }\r\n\r\n if (symbolLegendOut == null) {\r\n return {style: undefined, legend: ''};\r\n } else {\r\n return {style: symbolLegendOut.olStyle, legend: symbolLegendOut.legendHtml};\r\n }\r\n}\r\n\r\nnm.makeFeatureServiceLegendAndSymbol = makeFeatureServiceLegendAndSymbol;\r\n\r\n\r\nexport interface iMapServiceLegend{\r\n layerName: string;\r\n legend: {label: string, imageData: string}[]\r\n}\r\n\r\n/**\r\n *\r\n * @param {object} lyrObject - the layer as defined in the response\r\n * @param {boolean} [skipLayerNameAndExpander=false] use only icons\r\n * @returns {string} legend html\r\n */\r\nfunction mapServiceLegendItem(lyrObject: iMapServiceLegend, skipLayerNameAndExpander: boolean = false) {\r\n\r\n\r\n skipLayerNameAndExpander = typeof skipLayerNameAndExpander == 'boolean' ? skipLayerNameAndExpander : false;\r\n let layerName = lyrObject['layerName'];\r\n let legendItems = lyrObject['legend'];\r\n let legendHtml = '';\r\n\r\n if (!skipLayerNameAndExpander) {\r\n legendHtml += `<span class=\"legend-layer-subitem\">${layerName}</span>`;\r\n }\r\n\r\n if (legendItems.length == 1) {\r\n legendHtml = `<img class=\"legend-layer-icon\" height=\"17\" src=\"data:image/png;base64,${legendItems[0]['imageData']}\">`;\r\n } else {\r\n if (!skipLayerNameAndExpander) {\r\n legendHtml += '<span class=\"legend-items-expander\" title=\"Expand/Collapse\">▼</span>';\r\n }\r\n legendHtml += '<ul>';\r\n for (let i = 0; i < legendItems.length; i++) {\r\n legendHtml += `<li>`;\r\n legendHtml += `<span class=\"legend-layer-subitem\">${htmlEscape(legendItems[i]['label'])}</span>`;\r\n legendHtml += `<img class=\"legend-layer-icon\" height=\"17\" src=\"data:image/png;base64,${legendItems[i]['imageData']}\">`;\r\n legendHtml += `</li>`;\r\n }\r\n legendHtml += '</ul>';\r\n }\r\n\r\n if (!skipLayerNameAndExpander) {\r\n legendHtml = `<span class=\"legend-layer-subitem\">${layerName}</span>` + legendHtml;\r\n }\r\n\r\n return legendHtml;\r\n}\r\n\r\n/**\r\n * make map service legent\r\n * @param {object} esriResponse - layer info\r\n * @param showLayers - limited number of layers to show in map service\r\n * @returns {string} legend content\r\n */\r\nexport function makeMapServiceLegend(esriResponse: {layers: iMapServiceLegend[]}, showLayers: number[] = []) {\r\n \"use strict\";\r\n\r\n let newLegendHtml = '';\r\n\r\n let layers = esriResponse['layers'];\r\n\r\n if (layers.length == 1) {\r\n newLegendHtml += mapServiceLegendItem(layers[0], true);\r\n } else {\r\n newLegendHtml += '<ul>';\r\n for (let i = 0; i < layers.length; i++) {\r\n if (showLayers.length > 0 && showLayers.indexOf(i) < 0){\r\n continue;\r\n }\r\n newLegendHtml += '<li>' + mapServiceLegendItem(layers[i]) + '</li>';\r\n }\r\n newLegendHtml += '</ul>';\r\n }\r\n\r\n return newLegendHtml;\r\n}\r\n\r\nnm.makeMapServiceLegend = makeMapServiceLegend;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/esriToOlStyle.ts","/**\r\n * Created by gavorhes on 11/2/2015.\r\n */\r\n\r\nimport provide from '../util/provide';\r\nimport {rangeChange} from './range-change';\r\nimport $ = require('jquery');\r\n\r\nlet nm = provide('domUtil');\r\n\r\n/**\r\n * @callback mediaCallback\r\n * @param {number} tm\r\n */\r\n\r\nfunction timeToLocalDateString(tm: number) {\r\n \"use strict\";\r\n let d = new Date(tm);\r\n let p1 = d.toLocaleTimeString().split(' ');\r\n let p2 = p1[0].split(':');\r\n p2 = p2.slice(0, 2);\r\n\r\n return d.toLocaleDateString() + '<br>' + p2.join(':') + ' ' + p1[1];\r\n}\r\n\r\nexport interface changeFunction {\r\n (newVal?: number): void;\r\n}\r\n\r\nexport interface mediaRangeConfig {\r\n min?: number;\r\n max?: number;\r\n val?: number;\r\n step?: number;\r\n playInterval?: number;\r\n showAsDate?: boolean;\r\n}\r\n\r\n\r\nexport class MediaControl {\r\n _container: JQuery;\r\n _min: number;\r\n _max: number;\r\n _playInterval: number;\r\n _step: number;\r\n _currentValue: number;\r\n\r\n _playing: boolean;\r\n\r\n _$btnStop: JQuery;\r\n _$slider: JQuery;\r\n _$valLabelVal: JQuery;\r\n _$valLabelMin: JQuery;\r\n _$valLabelMax: JQuery;\r\n _interval: number;\r\n _showAsDate: boolean;\r\n\r\n _changeFunc: changeFunction;\r\n\r\n /**\r\n *\r\n * @param element\r\n * @param changeFunc\r\n * @param mediaConfig\r\n */\r\n constructor(element: JQuery | HTMLElement | string,\r\n changeFunc: changeFunction = (): void => {\r\n return;\r\n },\r\n mediaConfig: mediaRangeConfig = {}) {\r\n\r\n mediaConfig.min = typeof mediaConfig.min == 'number' ? mediaConfig.min : 0;\r\n mediaConfig.max = typeof mediaConfig.max == 'number' ? mediaConfig.max : 100;\r\n mediaConfig.val = typeof mediaConfig.val == 'number' ? mediaConfig.val : 0;\r\n mediaConfig.step = typeof mediaConfig.step == 'number' ? mediaConfig.step : 5;\r\n mediaConfig.playInterval = typeof mediaConfig.playInterval == 'number' ? mediaConfig.playInterval : 500;\r\n mediaConfig.showAsDate = typeof mediaConfig.showAsDate == 'boolean' ? mediaConfig.showAsDate : false;\r\n\r\n if (typeof element == 'string') {\r\n this._container = $('#' + element);\r\n }\r\n else if (typeof (element as HTMLElement).style !== 'undefined') {\r\n this._container = $(element);\r\n } else {\r\n this._container = element as JQuery;\r\n }\r\n\r\n this._container.addClass('media-control-container');\r\n this._playInterval = mediaConfig.playInterval;\r\n this._changeFunc = changeFunc;\r\n\r\n this._showAsDate = mediaConfig.showAsDate;\r\n\r\n this._currentValue = undefined;\r\n this._min = undefined;\r\n this._max = undefined;\r\n this._step = undefined;\r\n this._playing = false;\r\n\r\n let htmlStr =\r\n '<span class=\"media-player-button media-back\"></span>' +\r\n '<span class=\"media-player-button media-play\"></span>' +\r\n '<span class=\"media-player-button media-pause media-disabled\"></span>' +\r\n '<span class=\"media-player-button media-stop media-disabled\" ></span>' +\r\n '<span class=\"media-player-button media-ahead\"></span>' +\r\n `<input type=\"range\">` +\r\n `<div class=\"media-control-value-label-container\">` +\r\n `<span class=\"media-control-value-label-min\"></span>` +\r\n `<span class=\"media-control-value-label-val\"></span>` +\r\n `<span class=\"media-control-value-label-max\"></span>` +\r\n `</div>`;\r\n\r\n this._container.append(htmlStr);\r\n\r\n // let btnPause = this._container.find('.media-pause');\r\n let btnPlay = this._container.find('.media-play');\r\n this._$btnStop = this._container.find('.media-stop');\r\n let btnAhead = this._container.find('.media-ahead');\r\n let btnBack = this._container.find('.media-back');\r\n this._$slider = this._container.find('input[type=range]');\r\n\r\n this._$valLabelMin = this._container.find('.media-control-value-label-min');\r\n this._$valLabelVal = this._container.find('.media-control-value-label-val');\r\n this._$valLabelMax = this._container.find('.media-control-value-label-max');\r\n\r\n this.setMinMaxValueStep(mediaConfig.min, mediaConfig.max, mediaConfig.val, mediaConfig.step);\r\n\r\n rangeChange(this._$slider, (newVal) => {\r\n this.currentValue = newVal;\r\n }, 100);\r\n\r\n let ___this = this;\r\n\r\n btnPlay.click(function () {\r\n let $this = $(this);\r\n $this.addClass('media-disabled');\r\n ___this._$btnStop.removeClass('media-disabled');\r\n btnAhead.addClass('media-locked');\r\n btnBack.addClass('media-locked');\r\n ___this._$slider.prop('disabled', true);\r\n ___this._playing = true;\r\n\r\n ___this._interval = setInterval(function () {\r\n ___this.currentValue += ___this._step;\r\n }, ___this._playInterval);\r\n });\r\n\r\n this._$btnStop.click(function () {\r\n clearInterval(___this._interval);\r\n let $this = $(this);\r\n $this.addClass('media-disabled');\r\n btnPlay.removeClass('media-disabled');\r\n btnAhead.removeClass('media-locked');\r\n btnBack.removeClass('media-locked');\r\n ___this._$slider.prop('disabled', false);\r\n ___this._playing = false;\r\n });\r\n\r\n btnAhead.click(function () {\r\n ___this.currentValue = ___this.currentValue + ___this._step;\r\n });\r\n\r\n btnBack.click(function () {\r\n ___this.currentValue = ___this.currentValue - ___this._step;\r\n });\r\n }\r\n\r\n stopPlaying() {\r\n if (this._playing) {\r\n this._$btnStop.trigger('click');\r\n }\r\n }\r\n\r\n get playing() {\r\n return this._playing;\r\n }\r\n\r\n get min() {\r\n return this._min;\r\n }\r\n\r\n get max() {\r\n return this._max;\r\n }\r\n\r\n get step() {\r\n return this._step;\r\n }\r\n\r\n get currentValue() {\r\n return this._currentValue;\r\n }\r\n\r\n set currentValue(newValue) {\r\n if (newValue > this._max) {\r\n newValue = this._min;\r\n } else if (newValue < this._min) {\r\n newValue = this._max;\r\n }\r\n this._currentValue = newValue;\r\n this._$slider.val(this._currentValue.toFixed(2));\r\n\r\n if (this._showAsDate) {\r\n this._$valLabelVal.html(timeToLocalDateString(this.currentValue));\r\n } else {\r\n this._$valLabelVal.html(this.currentValue.toString());\r\n }\r\n\r\n this._changeFunc(newValue);\r\n }\r\n\r\n /**\r\n * set min and max value with step\r\n * @param {number} newMin the new min\r\n * @param {number} newMax the new mas\r\n * @param {number} [newValue=newMin] the value to set\r\n * @param {number} [newStep=(newMax-newMin)/20] step value\r\n */\r\n setMinMaxValueStep(newMin: number, newMax: number, newValue: number, newStep: number) {\r\n this._min = newMin;\r\n this._max = newMax;\r\n\r\n newValue = typeof newValue == 'number' ? newValue : newMin;\r\n newStep = typeof newStep == 'number' ? newStep : (newMax - newMin) / 20;\r\n\r\n this._currentValue = newValue;\r\n this._step = newStep;\r\n\r\n this._$slider.prop('min', this.min.toString());\r\n this._$slider.prop('max', this.max.toString());\r\n this._$slider.prop('step', this.step.toString());\r\n this._$slider.val(this.currentValue.toString());\r\n\r\n if (this._showAsDate) {\r\n this._$valLabelMin.html(timeToLocalDateString(this._min));\r\n this._$valLabelVal.html(timeToLocalDateString(this.currentValue));\r\n this._$valLabelMax.html(timeToLocalDateString(this._max));\r\n } else {\r\n this._$valLabelMin.html(this._min.toString());\r\n this._$valLabelVal.html(this.currentValue.toString());\r\n this._$valLabelMax.html(this._max.toString());\r\n }\r\n }\r\n\r\n /**\r\n *\r\n * @param {mediaCallback} newFunc the callback on change\r\n */\r\n set changeFunction(newFunc: changeFunction) {\r\n this._changeFunc = newFunc;\r\n }\r\n}\r\n\r\nnm.MediaControl = MediaControl;\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/domUtil/media-control.ts","import provide from '../util/provide';\r\nimport $ = require('jquery');\r\nimport {ChangeEvent} from \"react\";\r\n\r\nconst nm = provide('domUtil');\r\n\r\nlet mouseIn = false;\r\nlet mouseDown = false;\r\nlet timeout: number = null;\r\nlet dragged = false;\r\nlet lastVal: number;\r\n\r\n\r\n/**\r\n * callback on range change interaction, context of this is the firing dom element\r\n * @callback rangeChangeCallback\r\n * @param {number} newValue\r\n * @param {number} ratio value from 0 to 1 relative of the value to the min and max\r\n * @param {object} evt\r\n */\r\n\r\n/***\r\n * callback funcion after the slider has been moved\r\n */\r\nexport interface rangeChangedCallback{\r\n /**\r\n *\r\n * @param newValue new value of the slider\r\n * @param ratio ratio from low to high, 0 to 1\r\n * @param evt the original event\r\n */\r\n (newValue: number, ratio: number, evt: ChangeEvent<HTMLInputElement>): any\r\n}\r\n\r\n\r\n/**\r\n * Created by gavorhes on 11/2/2015.\r\n */\r\n\r\nfunction triggerCallback(callback: rangeChangedCallback, evt: ChangeEvent<HTMLInputElement>) {\r\n \"use strict\";\r\n\r\n let val = parseFloat(this.value);\r\n let min = parseFloat(this.min);\r\n let max = parseFloat(this.max);\r\n let step = parseFloat(this.step);\r\n\r\n if (max - val < step){\r\n val = max;\r\n }\r\n\r\n let percent = (val - min) / (max - min);\r\n\r\n if (typeof lastVal == 'number' && val == lastVal){\r\n return;\r\n }\r\n lastVal = val;\r\n callback(val, percent, evt);\r\n}\r\n\r\n\r\n\r\n/**\r\n * Add a variety of listeners for range inputs applied to a common callback\r\n * @param $slider - jquery reference to the slider\r\n * @param {rangeChangeCallback} callback - the callback\r\n * @param {number} [changeTimeout=75] before the callback is called\r\n * @this {jQuery}\r\n * @returns {jQuery} the jQuery object\r\n */\r\nexport function rangeChange ($slider: JQuery, callback: rangeChangedCallback, changeTimeout: number) {\r\n\r\n changeTimeout = typeof changeTimeout == 'number' ? changeTimeout : 75;\r\n\r\n $slider.mouseenter(function () {\r\n mouseIn = true;\r\n });\r\n\r\n $slider.mouseleave(function () {\r\n mouseIn = false;\r\n mouseDown = false;\r\n });\r\n\r\n $slider.mousedown(function () {\r\n mouseDown = true;\r\n });\r\n\r\n $slider.mouseup(function () {\r\n mouseDown = false;\r\n });\r\n\r\n $slider.mousemove(\r\n /**\r\n *\r\n * @param {object} evt - event properties\r\n * @this {HTMLElement}\r\n */\r\n function (evt) {\r\n if (!(mouseIn && mouseDown)) {\r\n return;\r\n }\r\n\r\n dragged = true;\r\n\r\n if (lastVal == this['value']) {\r\n return;\r\n }\r\n lastVal = this['value'];\r\n\r\n if (timeout != null) {\r\n clearTimeout(timeout);\r\n }\r\n\r\n let _this = this;\r\n\r\n timeout = setTimeout(function () {\r\n triggerCallback.call(_this, callback, evt);\r\n timeout = null;\r\n\r\n }, changeTimeout);\r\n });\r\n\r\n $slider.keyup(\r\n /**\r\n *\r\n * @param {object} evt - event properties\r\n */\r\n function (evt) {\r\n if (evt.keyCode == 37 || evt.keyCode == 39) {\r\n triggerCallback.call(this, callback, evt);\r\n }\r\n });\r\n\r\n $slider.change(function (evt) {\r\n if (dragged) {\r\n dragged = false;\r\n\r\n return;\r\n }\r\n triggerCallback.call(this, callback, evt);\r\n });\r\n\r\n return this;\r\n}\r\n\r\nnm.rangeChange = rangeChange;\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/domUtil/range-change.ts","import {LayerBase, LayerBaseOptions} from './LayerBase';\r\nimport mapMove from '../olHelpers/mapMove';\r\nimport MapMoveCls from '../olHelpers/mapMoveCls'\r\nimport provide from '../util/provide';\r\nimport ol = require('custom-ol');\r\nimport $ = require('jquery');\r\n\r\nconst nm = provide('layers');\r\n\r\nexport interface makeMapMoveParams {\r\n /**\r\n *\r\n * @param lyr\r\n * @param extent\r\n * @param zoomLevel\r\n */\r\n (lyr: LayerBaseVector, extent: {minX: number, minY: number, maxX: number, maxY: number}, zoomLevel?: number): any\r\n}\r\n\r\n\r\n\r\nexport interface LayerBaseVectorOptions extends LayerBaseOptions{\r\n autoLoad?: boolean;\r\n style?: ol.style.Style|Array<ol.style.Style>|ol.StyleFunction;\r\n onDemand?: boolean;\r\n onDemandDelay?: number;\r\n mapMoveMakeGetParams?: makeMapMoveParams;\r\n mapMoveObj?: MapMoveCls;\r\n renderOrder?: (a: ol.Feature, b: ol.Feature) => number;\r\n\r\n}\r\n\r\n\r\n\r\n/**\r\n * The Vector layer base\r\n * @augments LayerBase\r\n * @abstract\r\n */\r\nexport class LayerBaseVector extends LayerBase {\r\n _olLayer: ol.layer.Vector;\r\n _source: ol.source.Vector;\r\n _style: ol.style.Style|Array<ol.style.Style>|ol.StyleFunction;\r\n _autoLoad: boolean;\r\n _onDemand: boolean;\r\n _onDemandDelay: number;\r\n _mapMoveMakeGetParams: makeMapMoveParams;\r\n _mapMoveParams: any;\r\n _mapMove: MapMoveCls;\r\n _projectionMap: ol.proj.Projection;\r\n _projection4326: ol.proj.Projection;\r\n\r\n\r\n\r\n /**\r\n * The base vector layer\r\n * @param {string} url - pass an empty string to prevent default load and add from a json source\r\n * @param {object} options - config\r\n * @param {string} [options.id] - layer id\r\n * @param {string} [options.name=Unnamed Layer] - layer name\r\n * @param {number} [options.opacity=1] - opacity\r\n * @param {boolean} [options.visible=true] - default visible\r\n * @param {number} [options.minZoom=undefined] - min zoom level, 0 - 28\r\n * @param {number} [options.maxZoom=undefined] - max zoom level, 0 - 28\r\n * @param {object} [options.params={}] the get parameters to include to retrieve the layer\r\n * @param {number} [options.zIndex=0] the z index for the layer\r\n * @param {function} [options.loadCallback] function to call on load, context this is the layer object\r\n * @param {boolean} [options.legendCollapse=false] if the legend item should be initially collapsed\r\n * @param {boolean} [options.legendCheckbox=true] if the legend item should have a checkbox for visibility\r\n * @param {boolean} [options.legendContent] additional content to add to the legend\r\n *\r\n * @param {boolean} [options.autoLoad=false] if the layer should auto load if not visible\r\n * @param {object} [options.style=undefined] the layer style, use openlayers default style if not defined\r\n * @param {boolean} [options.onDemand=false] if the layer should be loaded by extent on map move\r\n * @param {number} [options.onDemandDelay=300] delay before the map move callback should be called\r\n * @param {mapMoveMakeGetParams} [options.mapMoveMakeGetParams=function(lyr, extent, zoomLevel){}] function to create additional map move params\r\n * @param {MapMoveCls} [options.mapMoveObj=mapMove] alternate map move object for use with multi map pages\r\n *\r\n */\r\n constructor(url: string, options: LayerBaseVectorOptions = {}) {\r\n super(url, options);\r\n\r\n options = options as LayerBaseVectorOptions;\r\n\r\n //prevent regular load if no url has been provided\r\n if (this.url.trim() == '') {\r\n this._loaded = true;\r\n }\r\n\r\n this._style = typeof options.style == 'undefined' ? undefined : options.style;\r\n\r\n if (this.visible) {\r\n this._autoLoad = true;\r\n } else {\r\n this._autoLoad = (typeof options['autoLoad'] == 'boolean' ? options['autoLoad'] : false);\r\n }\r\n\r\n this._onDemand = typeof options.onDemand == 'boolean' ? options.onDemand : false;\r\n this._onDemandDelay = typeof options.onDemandDelay == 'number' ? options.onDemandDelay : 300;\r\n\r\n if (options.mapMoveObj) {\r\n this._mapMove = options.mapMoveObj;\r\n } else {\r\n this._mapMove = this._onDemand ? mapMove : undefined;\r\n }\r\n\r\n\r\n this._mapMoveMakeGetParams = typeof options.mapMoveMakeGetParams == 'function' ? options.mapMoveMakeGetParams :\r\n function () {return {};};\r\n\r\n if (this._onDemand) {\r\n this._loaded = true;\r\n this._mapMoveParams = {};\r\n this._mapMove.checkInit();\r\n this._mapMove.addVectorLayer(this);\r\n }\r\n\r\n this._source = new ol.source.Vector();\r\n\r\n\r\n this._olLayer = new ol.layer.Vector(\r\n {\r\n source: this._source,\r\n visible: this.visible,\r\n style: this.style,\r\n minResolution: this._minResolution,\r\n maxResolution: this._maxResolution,\r\n renderOrder: options.renderOrder\r\n }\r\n );\r\n\r\n this.olLayer.setZIndex(this._zIndex);\r\n\r\n this._projectionMap = null;\r\n this._projection4326 = new ol.proj.Projection({code: \"EPSG:4326\"});\r\n this._olLayer.setOpacity(this.opacity)\r\n }\r\n\r\n /**\r\n * dummy to be overridden\r\n * @param {object} featureCollection - geojson or esrijson object\r\n */\r\n addFeatures(featureCollection: Object) {\r\n console.log('Layer vector base addFeatures is a placeholder and does nothing');\r\n }\r\n\r\n /**\r\n * Before call to map move callback, can prevent call by returning false\r\n * @param {number} zoom - zoom level\r\n * @param {string} [evtType=undefined] undefined for initial load, otherwise one of 'change:center', 'change:resolution'\r\n * @returns {boolean} if the call should proceed\r\n */\r\n mapMoveBefore(zoom: number, evtType: string) {\r\n if (this.minZoom !== undefined) {\r\n if (zoom < this.minZoom) {\r\n return false;\r\n }\r\n }\r\n\r\n if (this.maxZoom !== undefined) {\r\n if (zoom > this.maxZoom) {\r\n return false;\r\n }\r\n }\r\n\r\n return this.visible;\r\n }\r\n\r\n /**\r\n * callback to generate the parameters passed in the get request\r\n * @param {object} extent - extent object\r\n * @param {number} extent.minX - minX\r\n * @param {number} extent.minY - minY\r\n * @param {number} extent.maxX - maxX\r\n * @param {number} extent.maxY - maxY\r\n * @param {number} zoomLevel - zoom level\r\n */\r\n mapMoveMakeGetParams(extent: {minX: number, minY: number, maxX: number, maxY: number}, zoomLevel: number) {\r\n this._mapMoveParams = {};\r\n $.extend(this._mapMoveParams, this.params);\r\n $.extend(this._mapMoveParams, this._mapMoveMakeGetParams(this, extent, zoomLevel));\r\n }\r\n\r\n /**\r\n * callback function on map move\r\n * @param {object} d - the json response\r\n */\r\n mapMoveCallback(d: Object) {\r\n if (this.source) {\r\n this._source.clear();\r\n }\r\n }\r\n\r\n /**\r\n * clear features in the layer\r\n */\r\n clear() {\r\n if (this._source) {\r\n this._source.clear();\r\n }\r\n }\r\n\r\n /**\r\n * get on demand delay in miliseconds\r\n */\r\n get onDemandDelay(): number {\r\n return this._onDemandDelay;\r\n }\r\n\r\n /**\r\n * get if the layer is autoloaded\r\n */\r\n get autoLoad(): boolean {\r\n return this._autoLoad;\r\n }\r\n\r\n /**\r\n * get the style definition\r\n */\r\n get style(): ol.StyleFunction|Array<ol.style.Style>|ol.style.Style {\r\n return this._style;\r\n }\r\n\r\n /**\r\n * set the style\r\n * @param style - the style or function\r\n */\r\n set style(style: ol.StyleFunction|Array<ol.style.Style>|ol.style.Style) {\r\n this._style = style;\r\n this.olLayer.setStyle(this._style as ol.style.Style);\r\n }\r\n\r\n /**\r\n * get the map CRS if it is defined by the map move object\r\n */\r\n get mapCrs(): string {\r\n return this.mapProj == null ? null : this.mapProj.getCode();\r\n }\r\n\r\n get mapProj(): ol.proj.Projection{\r\n if (this._projectionMap != null){\r\n return this._projectionMap;\r\n }\r\n\r\n if (this._mapMove) {\r\n this._projectionMap = this._mapMove.map.getView().getProjection();\r\n return this._projectionMap;\r\n } else {\r\n return null;\r\n }\r\n\r\n }\r\n\r\n /**\r\n * get the map move object\r\n * @type {MapMoveCls|*}\r\n */\r\n get mapMove(): MapMoveCls {\r\n return this._mapMove;\r\n }\r\n\r\n /**\r\n * map move params\r\n * @type {object}\r\n */\r\n get mapMoveParams() {\r\n return this._mapMoveParams;\r\n }\r\n\r\n get visible(): boolean{\r\n return this._visible;\r\n }\r\n\r\n /**\r\n * Set the layer visibility\r\n * @type {boolean}\r\n * @override\r\n */\r\n set visible(visibility) {\r\n super.setVisible(visibility);\r\n\r\n if (this._onDemand) {\r\n this.mapMove.triggerLyrLoad(this);\r\n }\r\n }\r\n\r\n /**\r\n * get the layer vector source\r\n * @override\r\n */\r\n get source(): ol.source.Vector {\r\n return this.getSource() as ol.source.Vector;\r\n }\r\n\r\n /**\r\n * array of ol features\r\n */\r\n get features(): Array<ol.Feature> {\r\n return this.source.getFeatures();\r\n }\r\n\r\n /**\r\n *\r\n */\r\n get olLayer(): ol.layer.Vector {\r\n return super.getOlLayer() as ol.layer.Vector;\r\n }\r\n\r\n protected setZIndex(newZ: number) {\r\n this.olLayer.setZIndex(newZ);\r\n }\r\n}\r\n\r\nnm.LayerBaseVector = LayerBaseVector;\r\nexport default LayerBaseVector;\r\n\r\n\r\n\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/layers/LayerBaseVector.ts","/**\r\n * Created by gavorhes on 11/2/2015.\r\n */\r\n\r\nimport {LayerBaseVector, LayerBaseVectorOptions} from './LayerBaseVector';\r\nimport * as esriToOl from '../olHelpers/esriToOlStyle';\r\nimport provide from '../util/provide';\r\nimport ol = require('custom-ol');\r\nimport $ = require('jquery');\r\nlet nm = provide('layers');\r\n\r\nexport interface LayerBaseVectorEsriOptions extends LayerBaseVectorOptions{\r\n format?: string;\r\n outSR?: number;\r\n where?: string;\r\n outFields?: string;\r\n useEsriStyle?: boolean;\r\n}\r\n\r\n/**\r\n * Base layer for esri vector layers\r\n * @augments LayerBaseVector\r\n */\r\nexport class LayerBaseVectorEsri extends LayerBaseVector {\r\n _outSR: number;\r\n _esriFormat: ol.format.EsriJSON;\r\n _urlCopy: string;\r\n _useEsriStyle: boolean;\r\n\r\n /**\r\n * The base vector layer\r\n * @param {string} url - url for source\r\n * @param {object} options - config\r\n * @param {string} [options.id] - layer id\r\n * @param {string} [options.name=Unnamed Layer] - layer name\r\n * @param {number} [options.opacity=1] - opacity\r\n * @param {boolean} [options.visible=true] - default visible\r\n * @param {number} [options.minZoom=undefined] - min zoom level, 0 - 28\r\n * @param {number} [options.maxZoom=undefined] - max zoom level, 0 - 28\r\n * @param {object} [options.params={}] the get parameters to include to retrieve the layer\r\n * @param {number} [options.zIndex=0] the z index for the layer\r\n * @param {function} [options.loadCallback] function to call on load, context this is the layer object\r\n * @param {boolean} [options.legendCollapse=false] if the legend item should be initially collapsed\r\n * @param {boolean} [options.legendCheckbox=true] if the legend item should have a checkbox for visibility\r\n * @param {boolean} [options.legendContent] additional content to add to the legend\r\n *\r\n * @param {boolean} [options.autoLoad=false] if the layer should auto load if not visible\r\n * @param {object} [options.style=undefined] the layer style, use openlayers default style if not defined\r\n * @param {boolean} [options.onDemand=false] if the layer should be loaded by extent on map move\r\n * @param {number} [options.onDemandDelay=300] delay before the map move callback should be called\r\n * @param {MapMoveCls} [options.mapMoveObj=mapMove] alternate map move object for use with multi map pages\r\n *\r\n * @param {string} [options.where=1=1] the layer filter clause\r\n * @param {string} [options.outFields=*] comma separated list of output fields, defaults to all\r\n * @param {string} [options.format=pjson] the format the retrieve the data\r\n * @param {number} [options.outSR=3857] the output spatial reference, defaults to web mercator\r\n * @param {boolean} [options.useEsriStyle=false] if the map service style should be used\r\n * @param {boolean} [options.collapseLegend=false] if the legend should be initially collapsed\r\n * @param {number} [options.mapMoveMakeGetParams=function(extent, zoomLevel){}] function to create additional map move params\r\n */\r\n constructor(url: string, options: LayerBaseVectorEsriOptions) {\r\n\r\n if (typeof options.params != 'object') {\r\n options.params = {};\r\n }\r\n options.params['where'] = options.where || '1=1';\r\n options.params['outFields'] = options.outFields || '*';\r\n options.params['f'] = options.format || 'pjson';\r\n options.params['outSR'] = options.outSR || 3857;\r\n\r\n super(url, options);\r\n this._outSR = this.params['outSR'];\r\n this._esriFormat = new ol.format.EsriJSON();\r\n\r\n if (this._url[this._url.length - 1] !== '/') {\r\n this._url += '/';\r\n }\r\n\r\n this._urlCopy = this.url;\r\n this._url += 'query?callback=?';\r\n\r\n if (this.autoLoad || this.visible) {\r\n this._load();\r\n }\r\n\r\n this._useEsriStyle = typeof options.useEsriStyle == 'boolean' ? options.useEsriStyle : false;\r\n\r\n if (this._useEsriStyle) {\r\n this.addLegendContent();\r\n }\r\n }\r\n\r\n /**\r\n * add additional content to the legend\r\n * @param {string} [additionalContent=''] additional content to add to legend\r\n */\r\n addLegendContent(additionalContent?: string) {\r\n if (!this._useEsriStyle) {\r\n super.addLegendContent(additionalContent);\r\n } else {\r\n $.get(this._urlCopy + '?f=pjson&callback=?', {}, (d) => {\r\n if (d['subLayers'].length > 0) {\r\n alert('should only use single feature layers, not groups');\r\n\r\n return;\r\n }\r\n\r\n let newStyleAndLegend = esriToOl.makeFeatureServiceLegendAndSymbol(d);\r\n this.style = newStyleAndLegend.style;\r\n super.addLegendContent(newStyleAndLegend.legend);\r\n }, 'json');\r\n }\r\n }\r\n\r\n\r\n /**\r\n * add feature collection\r\n * @param {object} featureCollection - features as esrijson\r\n */\r\n addFeatures(featureCollection: Object) {\r\n let feats = this._esriFormat.readFeatures(featureCollection);\r\n this.source.addFeatures(feats);\r\n }\r\n\r\n /**\r\n * trigger load features\r\n * @protected\r\n * @returns {boolean} if already loaded\r\n */\r\n _load() {\r\n if (super._load()) {\r\n return true;\r\n }\r\n $.get(this._url, this.params, (d) => {\r\n this.addFeatures(d);\r\n this.loadCallback(this);\r\n }, 'json').fail(() => {\r\n this._loaded = false;\r\n });\r\n\r\n return false;\r\n }\r\n\r\n /**\r\n * callback to generate the parameters passed in the get request\r\n * @param {object} extent - extent object\r\n * @param {number} extent.minX - minX\r\n * @param {number} extent.minY - minY\r\n * @param {number} extent.maxX - maxX\r\n * @param {number} extent.maxY - maxY\r\n * @param {number} zoomLevel - zoom level\r\n */\r\n mapMoveMakeGetParams(extent: {minX: number, minY: number, maxX: number, maxY: number}, zoomLevel: number) {\r\n super.mapMoveMakeGetParams(extent, zoomLevel);\r\n this.mapMoveParams['geometry'] = `${extent.minX},${extent.minY},${extent.maxX},${extent.maxY}`;\r\n this.mapMoveParams['geometryType'] = 'esriGeometryEnvelope';\r\n this.mapMoveParams['spatialRel'] = 'esriSpatialRelIntersects';\r\n this.mapMoveParams['spatialRel'] = 'esriSpatialRelIntersects';\r\n this.mapMoveParams['inSR'] = 3857;\r\n if (this._outSR == 3857) {\r\n this.mapMoveParams['geometryPrecision'] = 1;\r\n }\r\n }\r\n\r\n /**\r\n * Before call to map move callback, can prevent call by returning false\r\n * @param {number} zoom - zoom level\r\n * @param {string} [evtType=undefined] undefined for initial load, otherwise one of 'change:center', 'change:resolution'\r\n * @returns {boolean} if the call should proceed\r\n */\r\n mapMoveBefore(zoom: number, evtType: string) {\r\n return super.mapMoveBefore(zoom, evtType);\r\n //if (super.mapMoveBefore(zoom, evtType)){\r\n // //place holder for additional processing\r\n // return true;\r\n //} else {\r\n // return false;\r\n //}\r\n }\r\n\r\n /**\r\n * callback function on map move\r\n * @param {object} d - the json response\r\n */\r\n mapMoveCallback(d: Object) {\r\n super.mapMoveCallback(d);\r\n this.source.addFeatures(this._esriFormat.readFeatures(d));\r\n }\r\n}\r\n\r\nnm.LayerBaseVectorEsri = LayerBaseVectorEsri;\r\nexport default LayerBaseVectorEsri;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/layers/LayerBaseVectorEsri.ts","/**\r\n * Created by gavorhes on 11/4/2015.\r\n */\r\n\r\nimport {LayerBaseXyzTile} from './LayerBaseXyzTile';\r\nimport {LayerBaseOptions} from './LayerBase';\r\nimport RealEarthAnimateTile from '../mixin/RealEarthAnimateTile';\r\nimport provide from '../util/provide';\r\nimport {IRealEarthAnimate, timesLoadedCallback} from \"../mixin/RealEarthAnimate\";\r\nconst nm = provide('layers');\r\n\r\nexport interface LayerRealEarthTileOptions extends LayerBaseOptions {\r\n products: string;\r\n animate?: boolean;\r\n timeLoadCallback?: timesLoadedCallback;\r\n}\r\n\r\n\r\n/**\r\n * Real earth tile\r\n * @augments LayerBaseXyzTile\r\n */\r\nexport class LayerRealEarthTile extends LayerBaseXyzTile implements IRealEarthAnimate {\r\n _products: string;\r\n animator: RealEarthAnimateTile;\r\n\r\n /**\r\n * The base layer for all others\r\n * @param {object} options - config\r\n * @param {string} [options.id] - layer id\r\n * @param {string} [options.name=Unnamed Layer] - layer name\r\n * @param {number} [options.opacity=1] - opacity\r\n * @param {boolean} [options.visible=true] - default visible\r\n * @param {number} [options.minZoom=undefined] - min zoom level, 0 - 28\r\n * @param {number} [options.maxZoom=undefined] - max zoom level, 0 - 28\r\n * @param {object} [options.params={}] the get parameters to include to retrieve the layer\r\n * @param {number} [options.zIndex=0] the z index for the layer\r\n * @param {function} [options.loadCallback] function to call on load, context this is the layer object\r\n * @param {boolean} [options.legendCollapse=false] if the legend item should be initially collapsed\r\n * @param {boolean} [options.legendCheckbox=true] if the legend item should have a checkbox for visibility\r\n * @param {boolean} [options.legendContent] additional content to add to the legend\r\n *\r\n * @param {string} options.products - the products to request\r\n * @param {boolean} [options.hasTimes=false] If the layer is time dependent, fixed set of dates\r\n * @param {boolean} [options.animate=false] if the layer should be animated\r\n */\r\n constructor(options: LayerRealEarthTileOptions) {\r\n options.animate = typeof options.animate == 'boolean' ? options.animate : false;\r\n if (options.animate) {\r\n super('', options);\r\n this._products = options.products;\r\n this.animator = new RealEarthAnimateTile(this, options.timeLoadCallback);\r\n this.animator.timeInit();\r\n } else {\r\n super(`http://realearth.ssec.wisc.edu/api/image?products=${options.products}&x={x}&y={y}&z={z}`, options);\r\n this._products = options.products;\r\n }\r\n }\r\n\r\n setLayerTime(theTime: number): boolean {\r\n if (this.animator) {\r\n return this.animator.setLayerTime(theTime);\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n _load(): boolean {\r\n if (this.animator) {\r\n return false;\r\n }\r\n return super._load();\r\n }\r\n}\r\n\r\nnm.LayerRealEarthTile = LayerRealEarthTile;\r\nexport default LayerRealEarthTile;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/layers/LayerRealEarthTile.ts","/**\r\n * Created by gavorhes on 12/4/2015.\r\n */\r\nimport {LayerBase, LayerBaseOptions} from './LayerBase';\r\nimport provide from '../util/provide';\r\nimport ol = require('custom-ol');\r\nconst nm = provide('layers');\r\n\r\n\r\n/**\r\n * XYZ tile\r\n * @augments LayerBase\r\n */\r\nexport class LayerBaseXyzTile extends LayerBase {\r\n\r\n\r\n /**\r\n * The XYZ tile layer\r\n * @param {string} url - url for source\r\n * @param {object} options - config\r\n * @param {string} [options.id] - layer id\r\n * @param {string} [options.name=Unnamed Layer] - layer name\r\n * @param {number} [options.opacity=1] - opacity\r\n * @param {boolean} [options.visible=true] - default visible\r\n * @param {number} [options.minZoom=undefined] - min zoom level, 0 - 28\r\n * @param {number} [options.maxZoom=undefined] - max zoom level, 0 - 28\r\n * @param {object} [options.params={}] the get parameters to include to retrieve the layer\r\n * @param {number} [options.zIndex=0] the z index for the layer\r\n * @param {function} [options.loadCallback] function to call on load, context this is the layer object\r\n * @param {boolean} [options.legendCollapse=false] if the legend item should be initially collapsed\r\n * @param {boolean} [options.legendCheckbox=true] if the legend item should have a checkbox for visibility\r\n * @param {boolean} [options.legendContent] additional content to add to the legend\r\n * @param {boolean} [options.useEsriStyle=false] if the map service style should be used\r\n */\r\n constructor(url: string, options: LayerBaseOptions = {}) {\r\n super(url, options);\r\n this._source = new ol.source.XYZ({url: this.url == '' ? undefined : this.url});\r\n\r\n this._olLayer = new ol.layer.Tile({\r\n source: this._source as ol.source.XYZ,\r\n visible: this.visible,\r\n opacity: this.opacity,\r\n minResolution: this._minResolution,\r\n maxResolution: this._maxResolution\r\n } );\r\n\r\n this._olLayer.setZIndex(this._zIndex);\r\n }\r\n\r\n /**\r\n *\r\n * @returns {ol.source.XYZ} the vector source\r\n */\r\n get source(): ol.source.XYZ {\r\n return this._source as ol.source.XYZ;\r\n }\r\n\r\n /**\r\n *\r\n * @returns {ol.layer.Tile|ol.layer.Base|undefined} the ol layer\r\n */\r\n get olLayer() : ol.layer.Tile {\r\n return this._olLayer as ol.layer.Tile;\r\n }\r\n}\r\n\r\nnm.LayerBaseXyzTile = LayerBaseXyzTile;\r\nexport default LayerBaseXyzTile;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/layers/LayerBaseXyzTile.ts","/**\r\n * Created by gavorhes on 12/4/2015.\r\n */\r\nimport provide from '../util/provide';\r\nimport mapPopup from '../olHelpers/mapPopup';\r\nimport LayerRealEarthTile from \"../layers/LayerRealEarthTile\";\r\nimport {LayerVectorRealEarth} from '../layers/LayerRealEarthVector'\r\nimport $ = require('jquery');\r\n\r\nconst nm = provide('mixin');\r\n\r\n\r\n/**\r\n * The GMT offset time in minutes\r\n * @type {number}\r\n */\r\nlet offsetMinutes = (new Date()).getTimezoneOffset();\r\n\r\nexport interface IRealEarthAnimate{\r\n setLayerTime(theTime: number): boolean;\r\n}\r\n\r\nexport interface timesLoadedCallback{\r\n (lyr?: LayerRealEarthTile|LayerVectorRealEarth): void;\r\n}\r\n\r\n\r\n/**\r\n * Mixin to get the product times\r\n * Be sure to call getTimeInit after the mixin has been applied\r\n */\r\nexport class RealEarthAnimate {\r\n _animateEnabled: boolean;\r\n _currentIndex: number;\r\n _localDates: Date[];\r\n _rawDateStrings: string[];\r\n _products: string;\r\n loadCallback: timesLoadedCallback;\r\n localTimes: number[];\r\n _currentTime: number;\r\n\r\n lyr: LayerRealEarthTile|LayerVectorRealEarth;\r\n\r\n constructor(lyr: LayerRealEarthTile|LayerVectorRealEarth, loadCallback?: timesLoadedCallback){\r\n this.lyr = lyr;\r\n this._products = lyr._products;\r\n if (loadCallback){\r\n this.loadCallback = loadCallback;\r\n } else {\r\n this.loadCallback = function(): void {return;};\r\n }\r\n }\r\n\r\n\r\n /**\r\n * Call this after the mixin has been applied\r\n */\r\n timeInit() {\r\n\r\n this._rawDateStrings = [];\r\n this._localDates = [];\r\n this.localTimes = [];\r\n this._animateEnabled = true;\r\n // this._loaded = true;\r\n this._currentTime = undefined;\r\n this._currentIndex = undefined;\r\n\r\n $.get('http://realearth.ssec.wisc.edu/api/products', {products: this._products}, (d) => {\r\n if (d.length == 0) {\r\n console.log(`${this._products} layer not available or does not have times`);\r\n\r\n return;\r\n }\r\n d = d[0];\r\n for (let i = 0; i < d['times'].length; i++) {\r\n this._loadDates.call(this, d['times'][i]);\r\n }\r\n this.loadCallback.call(this.lyr, this.lyr);\r\n this._loadLatest.call(this);\r\n }, 'json');\r\n }\r\n\r\n\r\n /**\r\n * Given the raw time string, add to the arrays to keep track of dates and cache\r\n * @param {string} inString - input string to parse\r\n * @returns {string} the converted string\r\n * @protected\r\n */\r\n _loadDates(inString: string): string {\r\n let yr = inString.slice(0, 4);\r\n let month = inString.slice(4, 6);\r\n let d = inString.slice(6, 8);\r\n let hr = inString.slice(9, 11);\r\n let mn = inString.slice(11, 13);\r\n let sec = inString.slice(13, 15);\r\n\r\n let rawDateStr = inString.replace('.', '_');\r\n this._rawDateStrings.push(rawDateStr);\r\n\r\n let dteStr = `${month}/${d}/${yr} ${hr}:${mn}:${sec}`;\r\n let newDte = new Date(dteStr);\r\n newDte.setMinutes(newDte.getMinutes() - offsetMinutes);\r\n this._localDates.push(newDte);\r\n this.localTimes.push(newDte.getTime());\r\n\r\n return rawDateStr;\r\n }\r\n\r\n /**\r\n *\r\n * @protected\r\n * @returns {boolean} if should continue\r\n */\r\n _loadLatest(){\r\n mapPopup.closePopup();\r\n if (this.localTimes.length > 0){\r\n this._currentIndex = this.localTimes.length -1;\r\n\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n /**\r\n *\r\n * @param {number} theTime - the time\r\n * @returns {boolean} true if new index, false if the same or below lowest value\r\n */\r\n setLayerTime(theTime: number): boolean{\r\n\r\n this._currentTime = theTime;\r\n\r\n let newIndex;\r\n\r\n if (theTime < this.localTimes[0]){\r\n return false;\r\n } else if (theTime > this.localTimes[this.localTimes.length - 1]){\r\n newIndex = this.localTimes.length - 1;\r\n }\r\n\r\n for (let i = 0; i < this.localTimes.length; i++){\r\n if (this.localTimes[i] >= theTime){\r\n newIndex = i;\r\n break;\r\n }\r\n }\r\n\r\n if (newIndex == this._currentIndex){\r\n return false;\r\n } else {\r\n this._currentIndex = newIndex;\r\n mapPopup.closePopup();\r\n\r\n return true;\r\n }\r\n }\r\n}\r\n\r\nnm.RealEarthAnimate = RealEarthAnimate;\r\nexport default RealEarthAnimate;\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/mixin/RealEarthAnimate.ts","/**\r\n * Created by gavorhes on 12/4/2015.\r\n */\r\nimport RealEarthAnimate from './RealEarthAnimate';\r\nimport provide from '../util/provide';\r\nimport ol = require('custom-ol');\r\nimport LayerRealEarthTile from \"../layers/LayerRealEarthTile\";\r\nconst nm = provide('mixin');\r\n\r\n/**\r\n * Animate real earth tile\r\n * @augments RealEarthAnimate\r\n */\r\nclass RealEarthAnimateTile extends RealEarthAnimate {\r\n _sourceUrls: string[];\r\n _source: ol.source.XYZ;\r\n _olLayer: ol.layer.Tile;\r\n\r\n constructor(layer: LayerRealEarthTile, loadCallback?: (lyr: LayerRealEarthTile) => void){\r\n super(layer, loadCallback);\r\n this._source = layer.source;\r\n this._olLayer = layer.olLayer;\r\n }\r\n\r\n\r\n\r\n timeInit() {\r\n super.timeInit();\r\n this._sourceUrls = [];\r\n }\r\n\r\n _loadDates(inString: string): string {\r\n let rawDte = super._loadDates(inString);\r\n let dteProductUrl =\r\n `http://realearth.ssec.wisc.edu/api/image?products=${this._products}_${rawDte}&x={x}&y={y}&z={z}`;\r\n this._sourceUrls.push(dteProductUrl);\r\n return '';\r\n }\r\n\r\n /**\r\n * @protected\r\n */\r\n _loadLatest(): boolean {\r\n if (super._loadLatest()){\r\n this._source.setUrl(this._sourceUrls[this._sourceUrls.length - 1]);\r\n }\r\n return true;\r\n }\r\n\r\n setLayerTime(theTime: number): boolean {\r\n if (super.setLayerTime(theTime)) {\r\n if (this._olLayer.getZIndex() < 0){\r\n this._olLayer.setZIndex(0);\r\n }\r\n this._source.setUrl(this._sourceUrls[this._currentIndex]);\r\n } else {\r\n this._olLayer.setZIndex(-1);\r\n }\r\n return true;\r\n }\r\n}\r\n\r\nnm.RealEarthAnimateTile = RealEarthAnimateTile;\r\nexport default RealEarthAnimateTile;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/mixin/RealEarthAnimateTile.ts","import {quickMap} from '../../olHelpers/quickMap';\r\nimport LayerRealEarthTile from \"../../layers/LayerRealEarthTile\";\r\nimport {MediaControl, changeFunction} from \"../../domUtil/media-control\";\r\nimport $ = require('jquery');\r\nimport {LayerBaseVectorEsri} from \"../../layers/LayerBaseVectorEsri\";\r\nimport {LayerEsriMapServer} from \"../../layers/LayerEsriMapServer\";\r\n\r\nlet nexrhresStatic = new LayerRealEarthTile({\r\n products: 'nexrhres',\r\n id: 'nexrhres-static',\r\n opacity: 0.6,\r\n animate: true,\r\n name: 'Hybrid Reflectivity',\r\n // maxZoom: 10,\r\n timeLoadCallback: function (f) {\r\n console.log(f);\r\n }\r\n }\r\n);\r\n\r\n\r\nlet d = new Date();\r\nlet endTime = d.getTime();\r\nd.setHours(d.getHours() - 4);\r\nlet startTime = d.getTime();\r\nlet rangeStep = Math.round((endTime - startTime) / 8);\r\n\r\nlet media = new MediaControl(\r\n $('#control'),\r\n (v: number) => {\r\n nexrhresStatic.setLayerTime(v);\r\n },\r\n {\r\n min: startTime,\r\n max: endTime,\r\n val: endTime,\r\n step: rangeStep,\r\n playInterval: 750,\r\n showAsDate: true\r\n }\r\n);\r\n\r\n\r\nlet map = quickMap();\r\nmap.addLayer(nexrhresStatic.olLayer);\r\n\r\n\r\nlet coordinationLayer = new LayerBaseVectorEsri(\r\n 'http://transportal.cee.wisc.edu/applications/arcgis2/rest/services/GLRTOC/GlrtocCoordination/MapServer/0',\r\n {\r\n visible: true,\r\n autoLoad: true,\r\n name: 'Coordination',\r\n useEsriStyle: true\r\n }\r\n);\r\n\r\nmap.addLayer(coordinationLayer.olLayer);\r\n\r\n let oakRidgeLayers = [\r\n ['Cameras', 'cameras33'],\r\n ['HAR', 'HAR33'],\r\n ['DMS', 'MessageSigns33'],\r\n //['State Summary', 'statesummary'],\r\n ['Traffic Control', 'TrafficControl33'],\r\n ['Traffic Detection', 'TrafficDetectionMulti'],\r\n ['Weather', 'Weather33']\r\n ];\r\n\r\n\r\n for (let i = 0; i < oakRidgeLayers.length; i++) {\r\n let oakRidgeLayer = new LayerEsriMapServer(\r\n `http://itsdpro.ornl.gov/arcgis/rest/services/ITSPublic/${oakRidgeLayers[i][1]}/MapServer`,\r\n {\r\n id: oakRidgeLayers[i][1],\r\n name: oakRidgeLayers[i][0],\r\n visible: true,\r\n minZoom: 7,\r\n zIndex: 20,\r\n addPopup: true,\r\n legendCollapse: true\r\n }\r\n );\r\n map.addLayer(oakRidgeLayer.olLayer);\r\n }\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/_tests/demos/animate.ts"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/bootstrap 85176672b243dd643c6c?aa7c**","webpack:///./src/util/provide.ts?5c82*","webpack:///external \"$\"?57aa*","webpack:///external \"ol\"","webpack:///./src/util/makeGuid.ts?e80e*","webpack:///./src/olHelpers/mapInteractionBase.ts","webpack:///./src/olHelpers/mapPopup.ts","webpack:///./src/olHelpers/quickMap.ts","webpack:///./src/olHelpers/mapMove.ts","webpack:///./src/olHelpers/projections.ts","webpack:///./src/util/checkDefined.ts","webpack:///./src/layers/LayerBase.ts","webpack:///./src/olHelpers/geocode.ts","webpack:///./src/olHelpers/mapMoveCls.ts","webpack:///./src/olHelpers/mapPopupCls.ts","webpack:///./src/olHelpers/quickMapBase.ts","webpack:///./src/layers/LayerEsriMapServer.ts","webpack:///./src/olHelpers/zoomResolutionConvert.ts","webpack:///./src/olHelpers/esriToOlStyle.ts","webpack:///./src/domUtil/media-control.ts","webpack:///./src/domUtil/range-change.ts","webpack:///./src/layers/LayerBaseVector.ts","webpack:///./src/layers/LayerBaseVectorEsri.ts","webpack:///./src/layers/LayerRealEarthTile.ts","webpack:///./src/layers/LayerBaseXyzTile.ts","webpack:///./src/mixin/RealEarthAnimate.ts","webpack:///./src/mixin/RealEarthAnimateTile.ts","webpack:///./src/_tests/demos/animate.ts"],"names":[],"mappings":"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","file":"animate.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 69);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 85176672b243dd643c6c","/**\r\n * Created by gavorhes on 12/10/2015.\r\n */\r\n\r\ndeclare const window: Window;\r\n/**\r\n * create a namespace on the gv object\r\n * @param {string} namespace to create\r\n * @returns {object} object representing the namespace\r\n */\r\nfunction provide(namespace: string){\r\n \"use strict\";\r\n if (typeof (<any>window).gv == 'undefined'){\r\n (<any>window).gv = {};\r\n }\r\n\r\n let parts = namespace.split('.');\r\n let nameSpace = (<any>window).gv;\r\n\r\n for (let i=0; i< parts.length; i++){\r\n let newObject = nameSpace[parts[i]];\r\n\r\n if (typeof newObject == 'undefined'){\r\n nameSpace[parts[i]] = {};\r\n }\r\n\r\n nameSpace = nameSpace[parts[i]];\r\n }\r\n\r\n return nameSpace;\r\n}\r\n\r\nprovide('util');\r\n(<any>window).gv.util.provide = provide;\r\n\r\nexport default provide;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/util/provide.ts","module.exports = $;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"$\"\n// module id = 1\n// module chunks = 0 1 2 4 5 6 7 8 9 10","module.exports = ol;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"ol\"\n// module id = 2\n// module chunks = 2 4 5 6 7","/**\r\n * Created by gavorhes on 11/3/2015.\r\n */\r\n\r\nimport provide from './provide';\r\nlet nm = provide('util');\r\n\r\n\r\n/**\r\n * guids are used to uniquely identify groups and features\r\n * @returns {string} a new guid\r\n */\r\nexport function makeGuid() {\r\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'\r\n .replace(/[xy]/g, function (c) {\r\n let r = Math.random() * 16 | 0, v = c == 'x' ? r : r & 0x3 | 0x8;\r\n\r\n return v.toString(16);\r\n });\r\n\r\n}\r\nnm.makeGuid = makeGuid;\r\nexport default makeGuid;\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/util/makeGuid.ts","/**\r\n * Created by gavorhes on 12/8/2015.\r\n */\r\nimport provide from '../util/provide';\r\nimport ol = require('custom-ol');\r\nconst nm = provide('olHelpers');\r\n\r\n\r\n\r\n/**\r\n * base interaction\r\n */\r\nexport class MapInteractionBase {\r\n _map: ol.Map;\r\n _initialized: boolean;\r\n _subtype: string;\r\n\r\n /**\r\n * map interaction base\r\n * @param subtype - the interaction subtype\r\n */\r\n constructor(subtype: string) {\r\n this._map = null;\r\n this._initialized = false;\r\n this._subtype = subtype;\r\n }\r\n\r\n /**\r\n * base initializer, returns true for already initialized\r\n * @param theMap - the ol Map\r\n * @returns true for already initialized\r\n */\r\n init(theMap: ol.Map){\r\n if (!this._initialized){\r\n this._map = theMap;\r\n this._initialized = true;\r\n }\r\n }\r\n\r\n /**\r\n * get reference to the ol map object\r\n * @returns {ol.Map} the map object\r\n */\r\n get map() {\r\n return this._map;\r\n }\r\n\r\n /**\r\n * get if is initialized\r\n * @returns {boolean} is initialized\r\n */\r\n get initialized() {\r\n return this._initialized;\r\n }\r\n\r\n /**\r\n * Check the initialization status and throw exception if not valid yet\r\n * @protected\r\n */\r\n _checkInit() {\r\n if (!this.initialized) {\r\n let msg = `${this._subtype} object not initialized`;\r\n alert(msg);\r\n console.log(msg);\r\n throw msg;\r\n }\r\n }\r\n\r\n /**\r\n * Check the initialization status and throw exception if not valid yet\r\n */\r\n checkInit(){\r\n this._checkInit();\r\n }\r\n}\r\n\r\nnm.MapInteractionBase = MapInteractionBase;\r\nexport default MapInteractionBase;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/mapInteractionBase.ts","/**\r\n * Created by gavorhes on 11/3/2015.\r\n */\r\n\r\nimport MapPopupCls from './mapPopupCls';\r\n\r\n/**\r\n * The single popup object catch is that it is common to multimap pages\r\n * @type {MapPopupCls}\r\n */\r\nexport const mapPopup = new MapPopupCls() as MapPopupCls;\r\nexport default mapPopup;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/mapPopup.ts","/**\r\n * Created by gavorhes on 12/15/2015.\r\n */\r\n\r\nimport {quickMapOptions, quickMapBase} from './quickMapBase';\r\nimport provide from '../util/provide';\r\nimport mapMove from './mapMove';\r\nimport mapPopup from './mapPopup';\r\nimport ol = require('custom-ol');\r\nlet nm = provide('olHelpers');\r\n\r\nexport {quickMapOptions} from './quickMapBase';\r\n\r\n/**\r\n * Sets up a map with some default parameters and initializes\r\n * mapMove and mapPopup\r\n *\r\n * @param {object} [options={}] config options\r\n * @param {string} [options.divId=map] map div id\r\n * @param {object} [options.center={}] center config object\r\n * @param {number} [options.center.x=-10018378] center x, web mercator x or lon\r\n * @param {number} [options.center.y=5574910] center y, web mercator y or lat\r\n * @param {number} [options.zoom=7] zoom level\r\n * @param {number} [options.minZoom=undefined] min zoom\r\n * @param {number} [options.maxZoom=undefined] max zoom\r\n * @param {boolean} [options.baseSwitcher=true] if add base map switcher\r\n * @param {boolean} [options.fullScreen=false] if add base map switcher\r\n * @returns {ol.Map} the ol map\r\n */\r\nexport function quickMap(options : quickMapOptions = {}): ol.Map {\r\n let m = quickMapBase(options);\r\n mapMove.init(m);\r\n mapPopup.init(m);\r\n return m;\r\n}\r\n\r\n\r\nnm.quickMap = quickMap;\r\nexport default quickMap;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/quickMap.ts","/**\r\n * Created by gavorhes on 11/3/2015.\r\n */\r\n\r\nimport MapMoveCls from './mapMoveCls';\r\n\r\n/**\r\n * The single map move object catch is that it is common to multimap pages\r\n * @type {MapMoveCls}\r\n */\r\n\r\nexport const mapMove = new MapMoveCls();\r\nexport default mapMove;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/mapMove.ts","/**\r\n * Created by gavorhes on 10/3/2016.\r\n */\r\nimport ol = require('custom-ol');\r\n\r\n\r\nexport const proj4326 = new ol.proj.Projection({code: 'EPSG:4326'});\r\nexport const proj3857 = new ol.proj.Projection({code: 'EPSG:3857'});\r\nexport const proj3070 = new ol.proj.Projection({code: 'EPSG:3070'});\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/projections.ts","import provide from './provide';\r\nlet nm = provide('util.checkDefined');\r\n\r\n/**\r\n * check if the input is undefined or null\r\n * @param input - input pointer\r\n * @returns true undefined or null\r\n */\r\nexport function undefinedOrNull (input: any): boolean{\r\n \"use strict\";\r\n\r\n return (typeof input === 'undefined' || input === null);\r\n}\r\n\r\nnm.undefinedOrNull = undefinedOrNull;\r\n\r\n\r\n/**\r\n * check if the input is defined and not null\r\n * @param input - input pointer\r\n * @returns true defined and not null\r\n */\r\nexport function definedAndNotNull (input: any): boolean{\r\n \"use strict\";\r\n\r\n return !(undefinedOrNull(input));\r\n}\r\n\r\nnm.definedAndNotNull = definedAndNotNull;\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/util/checkDefined.ts","import * as zoomResolutionConvert from '../olHelpers/zoomResolutionConvert';\r\nimport provide from '../util/provide';\r\nimport ol = require('custom-ol');\r\nimport makeGuid from '../util/makeGuid';\r\nimport $ = require('jquery');\r\n\r\nconst nm = provide('layers');\r\n\r\n\r\nexport interface LayerBaseOptions{\r\n id?: string;\r\n name?: string;\r\n opacity?: number;\r\n visible?: boolean;\r\n minZoom?: number;\r\n maxZoom?: number;\r\n params?: any;\r\n zIndex?: number;\r\n loadCallback?: Function;\r\n legendCollapse?: boolean;\r\n legendCheckbox?: boolean;\r\n legendContent?: string;\r\n}\r\n\r\n\r\n/**\r\n * The base layer class\r\n * @abstract\r\n */\r\nexport abstract class LayerBase {\r\n\r\n protected _legendCheckbox: boolean;\r\n protected _url: string;\r\n protected _opacity: number;\r\n protected _minZoom: number;\r\n protected _maxZoom: number;\r\n protected _visible: boolean;\r\n protected _loaded: boolean;\r\n protected _zIndex: number;\r\n protected _legendContent: string;\r\n protected _params: any;\r\n protected _id: string;\r\n protected _name: string;\r\n protected _source: ol.source.Source;\r\n protected _animate: boolean;\r\n protected _legendCollapse: boolean;\r\n protected _maxResolution: number;\r\n protected _minResolution: number;\r\n protected _$legendDiv: JQuery;\r\n loadCallback: Function;\r\n protected _olLayer: ol.layer.Layer;\r\n protected _applyCollapseCalled: boolean;\r\n\r\n\r\n\r\n /**\r\n * The base layer for all others\r\n * @param {string} url - url for source\r\n * @param {object} options - config\r\n * @param {string} [options.id=makeGuid()] - layer id\r\n * @param {string} [options.name=Unnamed Layer] - layer name\r\n * @param {number} [options.opacity=1] - opacity\r\n * @param {boolean} [options.visible=true] - default visible\r\n * @param {number} [options.minZoom=undefined] - min zoom level, 0 - 28\r\n * @param {number} [options.maxZoom=undefined] - max zoom level, 0 - 28\r\n * @param {object} [options.params={}] - the get parameters to include to retrieve the layer\r\n * @param {number} [options.zIndex=0] - the z index for the layer\r\n * @param {function} [options.loadCallback] - function to call on load, context this is the layer object\r\n * @param {boolean} [options.legendCollapse=false] - if the legend item should be initially collapsed\r\n * @param {boolean} [options.legendCheckbox=true] - if the legend item should have a checkbox for visibility\r\n * @param {boolean} [options.legendContent=undefined] - additional content to add to the legend\r\n */\r\n constructor(url: string, options: LayerBaseOptions = {}) {\r\n options = options || {} as LayerBaseOptions;\r\n\r\n if (typeof url !== 'string') {\r\n throw 'Invalid URL';\r\n }\r\n this._url = url;\r\n\r\n\r\n this._params = typeof options.params == 'object' ? options.params : {};\r\n this._legendCollapse = typeof options.legendCollapse == 'boolean' ? options.legendCollapse : false;\r\n this._legendCheckbox = typeof options.legendCheckbox == 'boolean' ? options.legendCheckbox : true;\r\n\r\n this.id = options.id || makeGuid();\r\n this._name = options.name || 'Unnamed Layer';\r\n this.animate = false;\r\n this._opacity = typeof options.opacity == 'number' ? options.opacity : 1;\r\n\r\n if (this._opacity > 1) {\r\n this._opacity = 1;\r\n } else if (this._opacity < 0) {\r\n this._opacity = 0;\r\n }\r\n\r\n this._visible = typeof options.visible === 'boolean' ? options.visible : true;\r\n\r\n this._source = undefined;\r\n\r\n /**\r\n *\r\n * @protected\r\n */\r\n this._olLayer = undefined;\r\n this._loaded = false;\r\n\r\n this._maxResolution = zoomResolutionConvert.zoomToResolution(options.minZoom);\r\n if (typeof this._maxResolution !== 'undefined') {\r\n this._maxResolution += 0.00001;\r\n }\r\n this._minResolution = zoomResolutionConvert.zoomToResolution(options.maxZoom);\r\n\r\n this._minZoom = typeof options.minZoom == 'number' ? options.minZoom : undefined;\r\n this._maxZoom = typeof options.maxZoom == 'number' ? options.maxZoom : undefined;\r\n this._zIndex = typeof options.zIndex == 'number' ? options.zIndex : 0;\r\n\r\n this.loadCallback = typeof options.loadCallback == 'function' ? options.loadCallback : function () {\r\n };\r\n\r\n\r\n this._legendContent = '';\r\n\r\n if (this._legendCheckbox) {\r\n this._legendContent += `<input type=\"checkbox\" ${this.visible ? 'checked' : ''} ` +\r\n `class=\"legend-check\" id=\"${this.id}-legend-layer-check\"><span></span>`;\r\n this._legendContent += `<label for=\"${this.id}-legend-layer-check\" class=\"legend-layer-name\">${this.name}</label>`;\r\n } else {\r\n this._legendContent += `<label class=\"legend-layer-name\">${this.name}</label>`;\r\n }\r\n\r\n this._$legendDiv = null;\r\n this._applyCollapseCalled = false;\r\n this._addLegendContent(typeof options.legendContent === 'string' ? options.legendContent : undefined);\r\n }\r\n\r\n /**\r\n * base load function, sets _loaded = true if it is not already\r\n * @protected\r\n * @returns {boolean} if already loaded\r\n */\r\n _load() {\r\n if (this.loaded == true) {\r\n return true;\r\n } else {\r\n this._loaded = true;\r\n\r\n return false;\r\n }\r\n }\r\n\r\n /**\r\n * Get the legend html, be sure to only add to the DOM once\r\n * @returns {string} html for layer wrapped in a div\r\n */\r\n getLegendDiv() {\r\n return `<div class=\"legend-layer-div\" id=\"${this.id}-legend-layer-div\">${this._legendContent}</div>`;\r\n }\r\n\r\n /**\r\n *\r\n * @param additionalContent - additional content to add to legend\r\n * @private\r\n */\r\n _addLegendContent(additionalContent='') {\r\n\r\n let addCollapse = additionalContent.indexOf('<ul>') > -1;\r\n\r\n if (addCollapse) {\r\n additionalContent = '<span class=\"legend-items-expander\" title=\"Expand/Collapse\">▼</span>' + additionalContent;\r\n }\r\n\r\n this._legendContent += additionalContent;\r\n\r\n this._$legendDiv = $(`#${this.id}-legend-layer-div`);\r\n\r\n if (this._$legendDiv.length > 0) {\r\n this._$legendDiv.append(additionalContent);\r\n this.applyCollapse();\r\n }\r\n }\r\n\r\n /**\r\n * add additional content to the legend\r\n * @param {string} [additionalContent=] - additonal content to add\r\n */\r\n addLegendContent(additionalContent: string) {\r\n this._addLegendContent(additionalContent);\r\n }\r\n\r\n applyCollapse(): void {\r\n if (this._applyCollapseCalled) {\r\n console.log('collapse already applied');\r\n\r\n return undefined;\r\n }\r\n\r\n this._$legendDiv = $(`#${this.id}-legend-layer-div`);\r\n\r\n if (this._$legendDiv.length > 0) {\r\n\r\n let $expander = this._$legendDiv.find('.legend-items-expander');\r\n\r\n if ($expander.length > 0) {\r\n this._applyCollapseCalled = true;\r\n\r\n $expander.click(function () {\r\n let $this = $(this);\r\n\r\n $this.siblings('ul').slideToggle();\r\n\r\n if ($this.hasClass('legend-layer-group-collapsed')) {\r\n $this.removeClass('legend-layer-group-collapsed');\r\n $this.html('▼');\r\n } else {\r\n $this.addClass('legend-layer-group-collapsed');\r\n $this.html('▶');\r\n }\r\n });\r\n\r\n if (this._legendCollapse) {\r\n $expander.trigger('click');\r\n }\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * trick to refresh the layer\r\n */\r\n refresh() {\r\n if (this.source) {\r\n this.source.refresh();\r\n }\r\n }\r\n\r\n get id(): string{\r\n return this._id;\r\n }\r\n\r\n set id(newId: string){\r\n this._id = newId;\r\n }\r\n\r\n get animate(): boolean{\r\n return this._animate;\r\n }\r\n\r\n set animate(animate: boolean){\r\n this._animate = animate;\r\n }\r\n\r\n /**\r\n * get the legend content\r\n * @type {string}\r\n */\r\n get legendContent(): string {\r\n return this._legendContent;\r\n }\r\n\r\n /**\r\n * set the legend content directly\r\n * @param {string} newVal - new content\r\n * @protected\r\n */\r\n set legendContent(newVal: string) {\r\n this._legendContent = newVal;\r\n }\r\n\r\n /**\r\n * get the map get params\r\n * @type {object}\r\n */\r\n get params(): {[s: string]: any} {\r\n return this._params;\r\n }\r\n\r\n /**\r\n * set the map get params\r\n * @param {object} newParams - new get params\r\n * @protected\r\n */\r\n set params(newParams: {[s: string]: any}) {\r\n this._params = newParams;\r\n }\r\n\r\n /**\r\n * get the minimum resolution\r\n * @type {number|*}\r\n */\r\n get minResolution(): number {\r\n return this._minResolution;\r\n }\r\n\r\n /**\r\n * get the maximum resolution\r\n * @type {number|*}\r\n */\r\n get maxResolution(): number {\r\n return this._maxResolution;\r\n }\r\n\r\n /**\r\n * get min zoom\r\n * @type {number|*}\r\n */\r\n get minZoom(): number {\r\n return this._minZoom;\r\n }\r\n\r\n /**\r\n * get max zoom\r\n * @type {number|*}\r\n */\r\n get maxZoom(): number {\r\n return this._maxZoom;\r\n }\r\n\r\n /**\r\n * get the url\r\n * @type {string}\r\n */\r\n get url(): string {\r\n return this._url;\r\n }\r\n\r\n /**\r\n * Get the layer visibility\r\n * @type {boolean}\r\n */\r\n get visible(): boolean {\r\n return this._visible;\r\n }\r\n\r\n /**\r\n * set the visibility\r\n * @param visibility\r\n */\r\n set visible(visibility: boolean) {\r\n this.setVisible(visibility);\r\n }\r\n\r\n protected setVisible(visibility: boolean) {\r\n this._visible = visibility;\r\n if (this.olLayer) {\r\n this.olLayer.setVisible(this._visible);\r\n if (visibility && !this._loaded) {\r\n this._load();\r\n }\r\n }\r\n }\r\n\r\n\r\n /**\r\n * Get the layer opacity\r\n * @type {number}\r\n */\r\n get opacity(): number {\r\n return this._opacity;\r\n }\r\n\r\n /**\r\n * Set the layer opacity\r\n * @param {number} opacity - layer opacity\r\n */\r\n set opacity(opacity: number) {\r\n this._opacity = opacity;\r\n if (this.olLayer) {\r\n this.olLayer.setOpacity(this._opacity);\r\n }\r\n }\r\n\r\n /**\r\n * Get the layer name\r\n * @type {string}\r\n */\r\n get name(): string {\r\n return this._name;\r\n }\r\n\r\n /**\r\n * set the layer name\r\n * @param {string} newName - the new name\r\n */\r\n set name(newName: string) {\r\n this._name = newName;\r\n }\r\n\r\n /**\r\n * Check if the layer is loaded\r\n * @type {boolean}\r\n */\r\n get loaded():boolean {\r\n return this._loaded;\r\n }\r\n\r\n /**\r\n * get the layer source\r\n * @type {*}\r\n */\r\n get source(): ol.source.Source {\r\n return this.getSource();\r\n }\r\n\r\n\r\n protected getSource(): ol.source.Source{\r\n return this._source;\r\n }\r\n\r\n /**\r\n * get the z index\r\n */\r\n get zIndex(): number {\r\n return this._zIndex;\r\n }\r\n\r\n /**\r\n * set the z index\r\n */\r\n set zIndex(newZ: number) {\r\n this._zIndex = newZ;\r\n }\r\n\r\n protected setZIndex(newZ: number){\r\n\r\n }\r\n\r\n /**\r\n * the the ol layer\r\n */\r\n get olLayer(): ol.layer.Layer {\r\n return this.getOlLayer();\r\n }\r\n\r\n protected getOlLayer(): ol.layer.Layer{\r\n return this._olLayer;\r\n }\r\n}\r\n\r\nnm.LayerBase = LayerBase;\r\nexport default LayerBase;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/layers/LayerBase.ts","import $ = require('jquery')\r\nimport {makeGuid} from '../util/makeGuid';\r\nimport ol = require('custom-ol');\r\nimport {proj3857, proj4326} from './projections';\r\n\r\n\r\nlet invalidClass = 'geocoder-invalid';\r\nlet geocoderLoadingClass = 'geocoder-loading';\r\n\r\n// let testAddress = '65 7th Street, Prairie du Sac, WI';\r\n\r\n\r\nexport class Geocode {\r\n private theButton: HTMLButtonElement;\r\n private theInput: HTMLInputElement;\r\n private map: ol.Map;\r\n private indicationLayer;\r\n\r\n constructor(mapDiv: HTMLDivElement, map: ol.Map) {\r\n let inputGuid = makeGuid();\r\n let buttonGuid = makeGuid();\r\n\r\n this.map = map;\r\n this.indicationLayer = new ol.layer.Vector({\r\n source: new ol.source.Vector(),\r\n style: new ol.style.Style({\r\n image: new ol.style.Circle({\r\n radius: 12,\r\n fill: new ol.style.Fill({color: 'rgba(255,0,0,0.5)'}),\r\n stroke: new ol.style.Stroke({color: 'red', width: 1})\r\n })\r\n })\r\n });\r\n this.map.addLayer(this.indicationLayer);\r\n\r\n $(mapDiv).append('<div class=\"geocoder-el\">' +\r\n `<input type=\"text\" id=\"${inputGuid}\">` +\r\n `<button id=\"${buttonGuid}\">Search</button>` +\r\n '</div>');\r\n\r\n this.theButton = document.getElementById(buttonGuid) as HTMLButtonElement;\r\n this.theInput = document.getElementById(inputGuid) as HTMLInputElement;\r\n\r\n this.reset();\r\n\r\n let $theButton = $(this.theButton);\r\n let $theInput = $(this.theInput);\r\n\r\n $theButton.click((evt) => {\r\n\r\n evt.preventDefault();\r\n\r\n $theButton.addClass(geocoderLoadingClass);\r\n this.theButton.disabled = true;\r\n this.indicationLayer.getSource().clear();\r\n\r\n $.get(\r\n `https://geocode.xyz/${this.theInput.value}?geoit=json`,\r\n {},\r\n (d) => {\r\n let lat = parseFloat(d['latt']);\r\n let lon = parseFloat(d['longt']);\r\n\r\n if ((lat == 0 && lon == 0) || d['error']) {\r\n $theInput.addClass(invalidClass);\r\n this.theInput.title = 'Specified Location Invalid';\r\n this.theButton.title = 'Specified Location Invalid';\r\n\r\n } else {\r\n let v = this.map.getView();\r\n let p = new ol.geom.Point([lon, lat]);\r\n let feat = new ol.Feature(p);\r\n this.indicationLayer.getSource().addFeature(feat);\r\n p.transform(proj4326, proj3857);\r\n\r\n v.setCenter(p.getCoordinates());\r\n v.setZoom(13);\r\n }\r\n\r\n $theButton.removeClass(geocoderLoadingClass);\r\n this.theButton.disabled = false;\r\n },\r\n 'json');\r\n });\r\n\r\n $(this.theInput).keyup((evt) => {\r\n evt.preventDefault();\r\n this.theButton.disabled = this.theInput.value.length == 0;\r\n $theInput.removeClass(invalidClass);\r\n this.theInput.title = '';\r\n this.theButton.title = '';\r\n\r\n if (!this.theButton.disabled && evt.keyCode == 13) {\r\n $theButton.click();\r\n }\r\n })\r\n }\r\n\r\n private reset() {\r\n this.theButton.disabled = true;\r\n this.theInput.value = '';\r\n }\r\n\r\n\r\n// https://geocode.xyz/65%2075h%20street%20prairie%20du%20sac%20wi?geoit=json\r\n\r\n// error\r\n// geocoder-invalid\r\n\r\n}\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/geocode.ts","import LayerBaseVector from \"../layers/LayerBaseVector\";\r\nimport MapInteractionBase from './mapInteractionBase';\r\nimport * as checkDefined from '../util/checkDefined';\r\nimport provide from '../util/provide';\r\nimport makeGuid from '../util/makeGuid';\r\nimport ol = require('custom-ol');\r\nimport $ = require('jquery');\r\nconst nm = provide('olHelpers');\r\n\r\n\r\nexport interface extentObject{\r\n minX: number;\r\n minY: number;\r\n maxX: number;\r\n maxY: number;\r\n}\r\n\r\nexport interface mapMoveCallbackFunction{\r\n /**\r\n *\r\n * @param extent extent as predefined object minX, minX, maxX, maxY\r\n * @param zoomLevel current zoom level\r\n * @param evtType the event type 'change:center', 'change:resolution'\r\n */\r\n (extent: extentObject, zoomLevel: number, evtType?: string): any\r\n}\r\n\r\n\r\n/**\r\n * assists with map move interactions, trigger callback functions\r\n * @augments MapInteractionBase\r\n */\r\nexport class MapMoveCls extends MapInteractionBase {\r\n _mapExtent: extentObject;\r\n _zoomLevel: number;\r\n _lookupLayer: {[s: string]: LayerBaseVector};\r\n _arrLayer: Array<LayerBaseVector>;\r\n _arrLyrTimeout: Array<number>;\r\n _mapMoveCallbackTimeout: Array<number>;\r\n _mapMoveCallbackDelays: Array<number>;\r\n _mapMoveCallbacksLookup: {[s: string]: mapMoveCallbackFunction};\r\n _mapMoveCallbackContext: Array<Object>;\r\n _mapMoveCallbacks: Array<mapMoveCallbackFunction>;\r\n _arrLyrRequest: Array<any>;\r\n\r\n /**\r\n * constructor called implicitly\r\n */\r\n constructor() {\r\n super('map move');\r\n this._arrLyrRequest = [];\r\n this._arrLyrTimeout = [];\r\n this._arrLayer = [];\r\n this._lookupLayer = {};\r\n\r\n this._mapMoveCallbacks = [];\r\n this._mapMoveCallbacksLookup = {};\r\n this._mapMoveCallbackDelays = [];\r\n this._mapMoveCallbackContext = [];\r\n this._mapMoveCallbackTimeout = [];\r\n\r\n this._mapExtent = undefined;\r\n this._zoomLevel = undefined;\r\n\r\n }\r\n\r\n /**\r\n * initialize the map move object\r\n * @param theMap - the ol map\r\n */\r\n init(theMap: ol.Map){\r\n super.init(theMap);\r\n\r\n this.map.getView().on(['change:center', 'change:resolution'], (e: {type: string}) =>{\r\n\r\n this._updateMapExtent();\r\n\r\n // trigger the layer updates\r\n for (let i = 0; i < this._arrLayer.length; i++) {\r\n this.triggerLyrLoad(this._arrLayer[i], i, e.type);\r\n }\r\n\r\n // trigger the map callbacks\r\n for (let i = 0; i < this._mapMoveCallbacks.length; i++) {\r\n this.triggerMoveCallback(i, e.type);\r\n }\r\n });\r\n }\r\n\r\n _updateMapExtent() {\r\n let theView = this.map.getView();\r\n this._zoomLevel = theView.getZoom();\r\n\r\n let extentArray = theView.calculateExtent(this.map.getSize());\r\n\r\n this._mapExtent = {\r\n minX: extentArray[0],\r\n minY: extentArray[1],\r\n maxX: extentArray[2],\r\n maxY: extentArray[3]\r\n };\r\n }\r\n\r\n /**\r\n * return the map extent\r\n */\r\n get mapExtent() {\r\n if (!this._mapExtent) {\r\n this._updateMapExtent();\r\n }\r\n\r\n return this._mapExtent;\r\n }\r\n\r\n /**\r\n * Trigger the layer load\r\n * @param lyr the layer being acted on\r\n * @param index index of the layer\r\n * @param eventType the event triggering the load, as 'change:center' or 'change:resolution'\r\n */\r\n triggerLyrLoad(lyr: LayerBaseVector, index?: number, eventType?: string) {\r\n\r\n if (checkDefined.undefinedOrNull(lyr) && checkDefined.undefinedOrNull(index)) {\r\n throw 'need to define lyr or index';\r\n } else if (checkDefined.definedAndNotNull(lyr) && checkDefined.undefinedOrNull(index)) {\r\n index = this._arrLayer.indexOf(lyr);\r\n } else if (checkDefined.undefinedOrNull(lyr) && checkDefined.definedAndNotNull(index)) {\r\n lyr = this._arrLayer[index];\r\n }\r\n\r\n // clear the timeout\r\n if (this._arrLyrTimeout[index] != null) {\r\n clearTimeout(this._arrLyrTimeout[index]);\r\n this._arrLyrTimeout[index] = null;\r\n }\r\n\r\n // abort if necessary and clear the request\r\n if (this._arrLyrRequest[index] != null && this._arrLyrRequest[index] != 4) {\r\n this._arrLyrRequest[index].abort();\r\n this._arrLyrRequest[index] = null;\r\n }\r\n\r\n // dummy callback used if before load returns false\r\n let callbackFunc = function () {};\r\n\r\n if (lyr.mapMoveBefore(this._zoomLevel, eventType)) {\r\n lyr.mapMoveMakeGetParams(this._mapExtent, this._zoomLevel);\r\n\r\n let __this = this;\r\n\r\n callbackFunc = function () {\r\n function innerFunction(theLayer: LayerBaseVector, theIndex: number) {\r\n let _innerThis = this;\r\n this._arrLyrRequest[theIndex] = $.get(\r\n theLayer.url,\r\n theLayer.mapMoveParams,\r\n function (d) {\r\n /**\r\n * @type {LayerBaseVector}\r\n */\r\n theLayer.mapMoveCallback(d);\r\n theLayer.loadCallback();\r\n }, 'json').fail(\r\n function (jqXHR) {\r\n if (jqXHR.statusText != 'abort') {\r\n console.log('failed');\r\n console.log(theLayer.url);\r\n console.log(theLayer.mapMoveParams);\r\n }\r\n }).always(\r\n function () {\r\n _innerThis._arrLyrTimeout[theIndex] = null;\r\n _innerThis._arrLyrRequest[theIndex] = null;\r\n });\r\n }\r\n innerFunction.call(__this, lyr, index);\r\n };\r\n } else {\r\n lyr.clear();\r\n }\r\n this._arrLyrTimeout[index] = setTimeout(callbackFunc, lyr.onDemandDelay);\r\n }\r\n\r\n /**\r\n * trigger the map move call back at the given index\r\n * @param ind - the index of the layer\r\n * @param eventType=undefined the event triggering the load as 'change:center' or 'change:resolution'\r\n * @param functionId=undefined the function id used to reference the added callback function\r\n */\r\n triggerMoveCallback(ind: number, eventType?: string, functionId?: string) {\r\n\r\n if (typeof ind == 'undefined' && typeof functionId == 'undefined'){\r\n throw 'either the function index or the id must be defined';\r\n }\r\n\r\n if (typeof ind !== 'number'){\r\n ind = this._mapMoveCallbacks.indexOf(this._mapMoveCallbacksLookup[functionId]);\r\n }\r\n\r\n if (ind < 0){\r\n console.log('function not found');\r\n\r\n return;\r\n }\r\n\r\n // clear the timeout\r\n if (this._mapMoveCallbackTimeout[ind] != null) {\r\n clearTimeout(this._mapMoveCallbackTimeout[ind]);\r\n this._mapMoveCallbackTimeout[ind] = null;\r\n }\r\n\r\n let ctx = this._mapMoveCallbackContext[ind];\r\n let theFunc = this._mapMoveCallbacks[ind];\r\n\r\n let __this = this;\r\n\r\n let f = function () {\r\n if (ctx !== null) {\r\n theFunc.call(ctx, __this._mapExtent, __this._zoomLevel, eventType);\r\n } else {\r\n theFunc(__this._mapExtent, __this._zoomLevel, eventType);\r\n }\r\n };\r\n\r\n this._mapMoveCallbackTimeout[ind] = setTimeout(f, this._mapMoveCallbackDelays[ind]);\r\n }\r\n\r\n /**\r\n * Add a layer to the interaction\r\n * @param lyr - layer to add\r\n * @param triggerOnAdd - if the layer should be loaded on add\r\n */\r\n addVectorLayer(lyr: LayerBaseVector, triggerOnAdd: boolean = true) {\r\n if (this._arrLayer.indexOf(lyr) > -1) {\r\n console.log('already added ' + lyr.name + ' to map move');\r\n\r\n return;\r\n }\r\n this._checkInit();\r\n\r\n this._arrLyrRequest.push(null);\r\n this._arrLyrTimeout.push(null);\r\n this._arrLayer.push(lyr);\r\n this._lookupLayer[lyr.id] = lyr;\r\n\r\n triggerOnAdd = typeof triggerOnAdd == 'boolean' ? triggerOnAdd : true;\r\n\r\n if (triggerOnAdd) {\r\n if (this._mapExtent === undefined) {\r\n this._updateMapExtent();\r\n }\r\n this.triggerLyrLoad(lyr, this._arrLayer.length - 1);\r\n }\r\n }\r\n\r\n\r\n /**\r\n * add a callback to the map move event\r\n * @param func - callback function\r\n * @param context - the context to use for this function\r\n * @param delay=50 the delay before call load\r\n * @param triggerOnAdd if the layer should be loaded on add to mapMove\r\n * @param functionId optional id to reference the function later for outside triggering\r\n */\r\n addCallback(func: mapMoveCallbackFunction, context?: any, delay?: number, triggerOnAdd? : boolean, functionId?: string) {\r\n\r\n if (this._mapMoveCallbacks.indexOf(func) > -1) {\r\n console.log('this function already added to map move');\r\n return;\r\n }\r\n this._checkInit();\r\n if (!functionId){\r\n functionId = makeGuid();\r\n }\r\n\r\n this._mapMoveCallbacks.push(func);\r\n this._mapMoveCallbacksLookup[functionId] = func;\r\n this._mapMoveCallbackDelays.push(typeof delay == 'number' ? delay : 50);\r\n this._mapMoveCallbackContext.push(checkDefined.definedAndNotNull(context) ? context : null);\r\n this._mapMoveCallbackTimeout.push(null);\r\n\r\n triggerOnAdd = typeof triggerOnAdd == 'boolean' ? triggerOnAdd : true;\r\n\r\n if (triggerOnAdd) {\r\n if (this._mapExtent === undefined) {\r\n this._updateMapExtent();\r\n }\r\n this.triggerMoveCallback(this._mapMoveCallbacks.length - 1);\r\n }\r\n }\r\n}\r\n\r\nnm.MapMoveCls = MapMoveCls;\r\nexport default MapMoveCls;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/mapMoveCls.ts","/**\r\n * Created by gavorhes on 11/3/2015.\r\n */\r\n\r\nimport MapInteractionBase from './mapInteractionBase';\r\nimport propertiesZoomStyle from '../olHelpers/propertiesZoomStyle';\r\nimport provide from '../util/provide';\r\nimport ol = require('custom-ol');\r\nimport {LayerBaseVector} from \"../layers/LayerBaseVector\";\r\nimport {LayerBase} from \"../layers/LayerBase\";\r\nimport LayerEsriMapServer from \"../layers/LayerEsriMapServer\";\r\nimport $ = require('jquery');\r\n\r\nconst nm = provide('olHelpers');\r\n\r\nexport interface popupChangedFunction {\r\n ($popContent: JQuery): any;\r\n}\r\n\r\n/**\r\n *\r\n */\r\nexport interface popupCallback {\r\n /**\r\n * Callback function for the popup\r\n * @param featureProperties\r\n * @param jqRef\r\n */\r\n (featureProperties: Object, jqRef?: JQuery): string | boolean;\r\n}\r\n\r\ninterface mapEvent {\r\n coordinate: ol.Coordinate;\r\n pixel: ol.Pixel;\r\n dragging: boolean|any;\r\n originalEvent: Event;\r\n}\r\n\r\n\r\nexport class FeatureLayerProperties {\r\n\r\n feature: ol.Feature;\r\n layer: LayerBaseVector|LayerEsriMapServer;\r\n layerIndex: number;\r\n selectionLayer: ol.layer.Vector;\r\n popupContent: string;\r\n esriLayerName: string;\r\n\r\n /**\r\n *\r\n * @param feature the feature\r\n * @param layer - the layer in the popup\r\n * @param layerIndex - index of the layer\r\n * @param selectionLayer - the ol selection layer\r\n * @param [esriLayerName=undefined] - esri layer name\r\n */\r\n constructor(feature: ol.Feature, layer: LayerBaseVector|LayerEsriMapServer, layerIndex: number, selectionLayer: ol.layer.Vector, esriLayerName?: string) {\r\n this.feature = feature;\r\n this.layer = layer;\r\n this.layerIndex = layerIndex;\r\n this.selectionLayer = selectionLayer;\r\n this.popupContent = '';\r\n this.esriLayerName = typeof esriLayerName == 'string' ? esriLayerName : undefined;\r\n }\r\n\r\n get layerName() {\r\n if (typeof this.esriLayerName == 'string') {\r\n return this.esriLayerName;\r\n } else {\r\n return this.layer.name;\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * map popup class\r\n * @augments MapInteractionBase\r\n */\r\nexport class MapPopupCls extends MapInteractionBase {\r\n private _popupOpen: boolean;\r\n private _passThroughLayerFeatureArray: Array<FeatureLayerProperties>;\r\n private _currentPopupIndex: number;\r\n private _popupContentLength: number;\r\n private _esriMapServiceLayers: Array<LayerEsriMapServer>;\r\n private _$popupCloser: JQuery;\r\n private _$popupContent: JQuery;\r\n private _$popupContainer: JQuery;\r\n private _popupOverlay: ol.Overlay;\r\n private _arrPopupLayers: Array<LayerBaseVector>;\r\n private _popupCoordinate: ol.Coordinate;\r\n private _popupChangedFunctions: Array<popupChangedFunction>;\r\n private _mapClickFunctions: Array<Function>;\r\n private _selectionLayerLookup: {[s: string]: ol.layer.Vector};\r\n private _arrPopupLayerIds: Array<string>;\r\n private _arrPopupLayerNames: Array<string>;\r\n private _arrPopupOlLayers: Array<ol.layer.Vector>;\r\n private _arrPopupContentFunction: Array<popupCallback>;\r\n private _selectionLayers: Array<ol.layer.Vector>;\r\n\r\n /**\r\n * Definition for openlayers style function\r\n * @callback olStyleFunction\r\n * ¶m feature the openlayers vector feature\r\n * $param\r\n */\r\n\r\n\r\n /**\r\n * map popup constructor\r\n */\r\n constructor() {\r\n super('map popup');\r\n this._arrPopupLayerIds = [];\r\n this._arrPopupLayerNames = [];\r\n this._arrPopupLayers = [];\r\n this._arrPopupOlLayers = [];\r\n this._arrPopupContentFunction = [];\r\n this._$popupContainer = undefined;\r\n this._$popupContent = undefined;\r\n this._$popupCloser = undefined;\r\n this._popupOverlay = undefined;\r\n this._selectionLayers = [];\r\n this._selectionLayerLookup = {};\r\n this._mapClickFunctions = [];\r\n\r\n //let a = function($jqueryContent){console.log($jqueryContent)};\r\n //this._popupChangedLookup = {'a': a};\r\n this._popupChangedFunctions = [];\r\n this._esriMapServiceLayers = [];\r\n\r\n this._popupOpen = false;\r\n this._popupCoordinate = null;\r\n\r\n this._passThroughLayerFeatureArray = [];\r\n\r\n this._currentPopupIndex = -1;\r\n this._popupContentLength = 0;\r\n\r\n }\r\n\r\n /**\r\n * map popup initialization\r\n * @param {ol.Map} theMap - the ol map\r\n */\r\n init(theMap: ol.Map) {\r\n super.init(theMap);\r\n\r\n let $map;\r\n let target = this.map.getTarget();\r\n\r\n if (typeof target == 'string') {\r\n $map = $('#' + target);\r\n }\r\n else {\r\n $map = $(target);\r\n }\r\n\r\n $map.append(\r\n '<div class=\"ol-popup\">' +\r\n '<span class=\"ol-popup-closer\">X</span>' +\r\n '<div class=\"popup-content\"></div>' +\r\n '</div>'\r\n );\r\n\r\n this._$popupContainer = $map.find('.ol-popup');\r\n this._$popupContent = $map.find('.popup-content');\r\n this._$popupCloser = $map.find('.ol-popup-closer');\r\n\r\n let _ease = (n: number): number => {\r\n return ol.easing.inAndOut(n);\r\n };\r\n\r\n\r\n this._popupOverlay = new ol.Overlay({\r\n element: this._$popupContainer[0],\r\n autoPan: true,\r\n autoPanAnimation: {\r\n duration: 250,\r\n source: theMap.getView().getCenter(),\r\n easing: _ease\r\n }\r\n });\r\n\r\n this._map.addOverlay(this._popupOverlay);\r\n\r\n this._$popupCloser.click((evt) => {\r\n this.closePopup();\r\n });\r\n\r\n // display popup on click\r\n this._map.on('singleclick', (evt: {coordinate: [number, number], pixel: ol.Pixel}) => {\r\n\r\n this.closePopup();\r\n this._popupCoordinate = evt['coordinate'];\r\n\r\n // esri map service layers\r\n if (this._esriMapServiceLayers.length > 0) {\r\n\r\n let queryParams = {\r\n geometry: evt['coordinate'].join(','),\r\n geometryType: 'esriGeometryPoint',\r\n layers: 'all',\r\n sr: this._map.getView().getProjection().getCode().split(':')[1],\r\n mapExtent: (this._map.getView().calculateExtent(this._map.getSize()) as number[]).join(','),\r\n imageDisplay: (this._map.getSize() as number[]).join(',') + ',96',\r\n returnGeometry: true,\r\n tolerance: 15,\r\n f: 'pjson'\r\n };\r\n\r\n for (let l of this._esriMapServiceLayers) {\r\n l.getPopupInfo(queryParams);\r\n }\r\n }\r\n\r\n let layerFeatureObjectArray = this._featuresAtPixel(evt['pixel']);\r\n\r\n this._passThroughLayerFeatureArray = [];\r\n this._currentPopupIndex = -1;\r\n\r\n for (let i = 0; i < layerFeatureObjectArray.length; i++) {\r\n let featObj = layerFeatureObjectArray[i];\r\n\r\n let props = featObj.feature.getProperties();\r\n\r\n let popupContentResponse = this._arrPopupContentFunction[featObj.layerIndex](props, this._$popupContent);\r\n\r\n //skip if return was false\r\n if (popupContentResponse === false) {\r\n //continue;\r\n } else if (typeof popupContentResponse == 'string') {\r\n featObj.popupContent = popupContentResponse as string;\r\n this._passThroughLayerFeatureArray.push(featObj);\r\n } else {\r\n featObj.selectionLayer.getSource().addFeature(featObj.feature);\r\n }\r\n }\r\n\r\n this._popupContentLength = this._passThroughLayerFeatureArray.length;\r\n\r\n this._currentPopupIndex = -1;\r\n\r\n let popupHtml = '<div class=\"ol-popup-nav\">';\r\n popupHtml += '<span class=\"previous-popup ol-popup-nav-arrow\">◀</span>';\r\n popupHtml += '<span class=\"next-popup ol-popup-nav-arrow\">▶</span>';\r\n popupHtml += `<span class=\"current-popup-item-number\" style=\"font-weight: bold;\"></span>`;\r\n popupHtml += `<span> of </span>`;\r\n popupHtml += `<span class=\"popup-content-length\" style=\"font-weight: bold;\">${this._popupContentLength}</span>`;\r\n popupHtml += `<span> - </span>`;\r\n popupHtml += `<span class=\"current-popup-layer-name\"></span>`;\r\n popupHtml += '</div>';\r\n popupHtml += '<div class=\"ol-popup-inner\">';\r\n\r\n popupHtml += '</div>';\r\n\r\n this._$popupContent.html(popupHtml);\r\n\r\n this._$popupContent.find('.previous-popup').click(() => {\r\n if (this._popupContentLength == 1) {\r\n return;\r\n }\r\n\r\n if (this._currentPopupIndex == 0) {\r\n this._currentPopupIndex = this._popupContentLength - 1;\r\n } else {\r\n this._currentPopupIndex--;\r\n }\r\n this._triggerFeatSelect();\r\n });\r\n\r\n let nextPopup = this._$popupContent.find('.next-popup');\r\n\r\n nextPopup.click(() => {\r\n if (this._popupContentLength == 1 && this._currentPopupIndex > -1) {\r\n return;\r\n }\r\n\r\n if (this._currentPopupIndex == this._popupContentLength - 1) {\r\n this._currentPopupIndex = 0;\r\n } else {\r\n this._currentPopupIndex++;\r\n }\r\n this._triggerFeatSelect();\r\n });\r\n\r\n\r\n if (this._popupContentLength > 0) {\r\n nextPopup.trigger('click');\r\n this._popupOverlay.setPosition(this._popupCoordinate);\r\n this._$popupContent.scrollTop(0);\r\n this._popupOpen = true;\r\n }\r\n });\r\n\r\n //change mouse cursor when over marker\r\n this._map.on('pointermove', (evt: {dragging: boolean, originalEvent: Event}) => {\r\n if (evt['dragging']) {\r\n return;\r\n }\r\n let pixel = this.map.getEventPixel(evt['originalEvent']);\r\n let hit = this.map.hasFeatureAtPixel(pixel, (lyrCandidate) => {\r\n for (let olLayer of this._arrPopupOlLayers) {\r\n if (lyrCandidate == olLayer) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n });\r\n let mapElement = this.map.getTargetElement() as HTMLElement;\r\n mapElement.style.cursor = hit ? 'pointer' : '';\r\n });\r\n\r\n return true;\r\n }\r\n\r\n /**\r\n * helper to select features\r\n * @private\r\n */\r\n _triggerFeatSelect() {\r\n let $currentPopupItemNumber = this._$popupContent.find('.current-popup-item-number');\r\n let $innerPopup = this._$popupContent.find('.ol-popup-inner');\r\n let $layerNameSpan = this._$popupContent.find('.current-popup-layer-name');\r\n this.clearSelection();\r\n let lyrFeatObj = this._passThroughLayerFeatureArray[this._currentPopupIndex];\r\n $currentPopupItemNumber.html((this._currentPopupIndex + 1).toFixed());\r\n $layerNameSpan.html(lyrFeatObj.layerName);\r\n $innerPopup.html(lyrFeatObj.popupContent);\r\n lyrFeatObj.selectionLayer.getSource().addFeature(lyrFeatObj.feature);\r\n for (let f of this._popupChangedFunctions) {\r\n f(this._$popupContent);\r\n }\r\n }\r\n\r\n\r\n /**\r\n *\r\n * @param feature - the ol feature\r\n * @param {LayerEsriMapServer} lyr - the map server layer\r\n * @param {string} popupContent - popup content\r\n * @param {string} esriName - esri layer name\r\n */\r\n addMapServicePopupContent(feature: ol.Feature, lyr: LayerEsriMapServer, popupContent: string, esriName: string) {\r\n\r\n let featLayerObject = new FeatureLayerProperties(\r\n feature, lyr, this._popupContentLength, this._selectionLayerLookup[lyr.id], esriName\r\n );\r\n featLayerObject.popupContent = popupContent;\r\n\r\n this._passThroughLayerFeatureArray.push(featLayerObject);\r\n this._popupContentLength++;\r\n\r\n $('.popup-content-length').html(this._popupContentLength.toFixed());\r\n\r\n if (!this._popupOpen) {\r\n this._$popupContent.find('.next-popup').trigger('click');\r\n\r\n this._popupOverlay.setPosition(this._popupCoordinate);\r\n this._$popupContent.scrollTop(0);\r\n this._popupOpen = true;\r\n }\r\n }\r\n\r\n /**\r\n *\r\n * @param pixel - the ol pixel\r\n * @returns feature layer properties\r\n * @private\r\n */\r\n _featuresAtPixel(pixel: ol.Pixel): Array<FeatureLayerProperties> {\r\n let layerFeatureObjectArray: FeatureLayerProperties[] = [];\r\n\r\n this.map.forEachFeatureAtPixel(pixel, (feature: ol.Feature, layer: ol.layer.Vector) => {\r\n let lyrIndex = this._arrPopupOlLayers.indexOf(layer);\r\n\r\n if (lyrIndex > -1) {\r\n layerFeatureObjectArray.push(\r\n new FeatureLayerProperties(\r\n feature, this._arrPopupLayers[lyrIndex], lyrIndex, this._selectionLayers[lyrIndex]));\r\n }\r\n });\r\n\r\n return layerFeatureObjectArray;\r\n }\r\n\r\n closePopup() {\r\n this._checkInit();\r\n this._popupOpen = false;\r\n this._popupOverlay.setPosition(undefined);\r\n this._$popupCloser[0].blur();\r\n this.clearSelection();\r\n this._$popupContent.html('');\r\n\r\n return false;\r\n };\r\n\r\n\r\n /**\r\n *\r\n * @param chgFunction - popup change function\r\n */\r\n addPopupChangedFunction(chgFunction: popupChangedFunction) {\r\n this._popupChangedFunctions.push(chgFunction);\r\n }\r\n\r\n /**\r\n *\r\n * @param {LayerBase|*} lyr - the layer being acted on\r\n * @param {object} [selectionStyle={}] the selection style configuration\r\n * @param {string} [selectionStyle.color=rgba(255,170,0,0.5)] the selection color\r\n * @param {number} [selectionStyle.width=10] the selection width for linear features\r\n * @param {object|function} [selectionStyle.olStyle=undefined] an openlayers style object or function\r\n * @returns the new selection layer\r\n * @private\r\n */\r\n _addPopupLayer(lyr: LayerBaseVector|LayerEsriMapServer, selectionStyle: {color?: string, width?: number, olStyle?: ol.style.Style}): ol.layer.Vector {\r\n this._checkInit();\r\n\r\n selectionStyle = selectionStyle || {};\r\n selectionStyle.color = selectionStyle.color || 'rgba(255,170,0,0.5)';\r\n selectionStyle.width = selectionStyle.width || 10;\r\n\r\n let theStyle;\r\n\r\n if (selectionStyle.olStyle) {\r\n theStyle = selectionStyle.olStyle;\r\n } else {\r\n theStyle = new ol.style.Style({\r\n stroke: new ol.style.Stroke({\r\n color: selectionStyle.color,\r\n width: selectionStyle.width\r\n }),\r\n image: new ol.style.Circle({\r\n radius: 7,\r\n fill: new ol.style.Fill({color: selectionStyle.color}),\r\n stroke: new ol.style.Stroke({color: selectionStyle.color, width: 1})\r\n }),\r\n fill: new ol.style.Fill({\r\n color: selectionStyle.color\r\n })\r\n });\r\n }\r\n\r\n let selectionLayer = new ol.layer.Vector(\r\n {\r\n source: new ol.source.Vector(),\r\n style: theStyle\r\n }\r\n );\r\n\r\n selectionLayer.setZIndex(100);\r\n\r\n this._selectionLayers.push(selectionLayer);\r\n this._selectionLayerLookup[lyr.id] = selectionLayer;\r\n this.map.addLayer(selectionLayer);\r\n\r\n return selectionLayer;\r\n }\r\n\r\n\r\n /**\r\n * Add popup to the map\r\n * @param {LayerBase|*} lyr The layer that the popup with act on\r\n * @param {popupCallback} popupContentFunction - popup content function that makes popup info\r\n * @param {object} [selectionStyle={}] the selection style configuration\r\n * @param {string} [selectionStyle.color=rgba(255,170,0,0.5)] the selection color\r\n * @param {number} [selectionStyle.width=10] the selection width for linear features\r\n * @param {object|function} [selectionStyle.olStyle=undefined] an openlayers style object or function\r\n * @returns {object} a reference to the ol selection layer\r\n */\r\n addVectorPopup(lyr: LayerBaseVector, popupContentFunction: popupCallback,\r\n selectionStyle?: {color?: string, width?: number, olStyle?: ol.style.Style}) {\r\n let selectionLayer = this._addPopupLayer(lyr, selectionStyle);\r\n this._arrPopupLayerIds.push(lyr.id);\r\n this._arrPopupLayerNames.push(lyr.name);\r\n this._arrPopupLayers.push(lyr);\r\n this._arrPopupOlLayers.push(lyr.olLayer);\r\n this._arrPopupContentFunction.push(popupContentFunction);\r\n\r\n return selectionLayer;\r\n };\r\n\r\n\r\n /**\r\n *\r\n * @param {LayerBase} lyr - layer\r\n */\r\n removeVectorPopup(lyr: LayerBase) {\r\n let idx = this._arrPopupLayerIds.indexOf(lyr.id);\r\n\r\n if (idx > -1) {\r\n this._arrPopupLayerIds.splice(idx, 1);\r\n this._arrPopupLayerNames.splice(idx, 1);\r\n this._arrPopupLayers.splice(idx, 1);\r\n this._arrPopupOlLayers.splice(idx, 1);\r\n this._arrPopupContentFunction.splice(idx, 1);\r\n this._selectionLayers.splice(idx, 1);\r\n delete this._selectionLayerLookup[lyr.id];\r\n }\r\n }\r\n\r\n /**\r\n *\r\n * @param {LayerEsriMapServer} lyr - map server layer\r\n * @param {object} [selectionStyle={}] the selection style configuration\r\n * @param {string} [selectionStyle.color=rgba(255,170,0,0.5)] the selection color\r\n * @param {number} [selectionStyle.width=10] the selection width for linear features\r\n * @param {object|function} [selectionStyle.olStyle=undefined] an openlayers style object or function\r\n * @returns {object} a reference to the ol selection layer\r\n */\r\n addMapServicePopup(lyr: LayerEsriMapServer, selectionStyle?: ol.style.Style|Array<ol.style.Style>|ol.StyleFunction) {\r\n let selectionLayer = this._addPopupLayer(lyr, selectionStyle);\r\n this._esriMapServiceLayers.push(lyr);\r\n\r\n return selectionLayer;\r\n }\r\n\r\n clearSelection() {\r\n this._checkInit();\r\n for (let i = 0; i < this._selectionLayers.length; i++) {\r\n this._selectionLayers[i].getSource().clear();\r\n }\r\n for (let f of this._mapClickFunctions) {\r\n f();\r\n }\r\n };\r\n\r\n /**\r\n * Add a function to be called when the map is clicked but before any popups are implemented\r\n * @param {function} func - the map click function\r\n */\r\n addMapClickFunction(func: Function) {\r\n this._mapClickFunctions.push(func);\r\n }\r\n}\r\nnm.MapPopupCls = MapPopupCls;\r\nexport default MapPopupCls;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/mapPopupCls.ts","/**\r\n * Created by gavorhes on 12/15/2015.\r\n */\r\n\r\nimport provide from '../util/provide';\r\nimport ol = require('custom-ol');\r\nimport $ = require('jquery');\r\nimport {Geocode} from './geocode';\r\nconst nm = provide('olHelpers');\r\n\r\nexport interface quickMapOptions {\r\n divId?: string;\r\n center?: {x: number, y: number};\r\n zoom?: number;\r\n minZoom?: number;\r\n maxZoom?: number;\r\n baseSwitcher?: boolean;\r\n fullScreen?: boolean;\r\n addGeocode?: boolean;\r\n}\r\n\r\n/**\r\n * Sets up a map with some default parameters and initializes\r\n * mapMove and mapPopup\r\n *\r\n * @param [options={}] config options\r\n * @param [options.divId=map] map div id\r\n * @param [options.center={}] center config object\r\n * @param [options.center.x=-10018378] center x, web mercator x or lon\r\n * @param [options.center.y=5574910] center y, web mercator y or lat\r\n * @param [options.zoom=7] zoom level\r\n * @param [options.minZoom=undefined] min zoom\r\n * @param [options.maxZoom=undefined] max zoom\r\n * @param [options.baseSwitcher=true] if add base map switcher\r\n * @param [options.fullScreen=false] if add base map switcher\r\n * @returns the ol map\r\n */\r\nexport function quickMapBase(options: quickMapOptions = {}): ol.Map {\r\n options.divId = options.divId || 'map';\r\n options.center = options.center || {x: -10018378, y: 5574910};\r\n options.zoom = typeof options.zoom == 'number' ? options.zoom : 7;\r\n options.baseSwitcher = typeof options.baseSwitcher == 'boolean' ? options.baseSwitcher : true;\r\n options.fullScreen = typeof options.fullScreen == 'boolean' ? options.fullScreen : false;\r\n options.addGeocode = options.addGeocode || false;\r\n\r\n\r\n let $mapDiv = $('#' + options.divId);\r\n $mapDiv.css('position', 'relative');\r\n\r\n let osmLayer = new ol.layer.Tile({source: new ol.source.OSM()});\r\n // let satLayer = new ol.layer.Tile({visible: false, source: new ol.source.MapQuest({layer: 'sat'})});\r\n\r\n let osmCss = \"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAMAUExURQAAADQ1NDk5OURFREtLS1FHSFlZWGJRVGJiYWdmZWxsbHRmaXBpanN0c3V0dHp5eX5+fIVzd4F3eeV0jud5juZ8k4aHhomHhoyGh5eGj5OVlJiVlZiYl5qZmJydnKOTlaKZmqKdnaOioaqqqKuzsbOvrrSysLa3tbW4uLm6ub27ub+/vbGXwbCZwbCgxLKlxrOqyLStybO3yrSxyrWzzbW2y7a1zbK4y7W6zbW8y760yrTAzbTFzrPKzrLOzrTJzrTOzr7CwbXC0LXK0LTO0L3I0bPQz7TQz7PS0bXQ0LnR0brW1bzT0r7U077V1Lzc2dqNqteUsdyXscaquuOHneaGmueHnOeJnuiBleiKn+eNoOiOoOWUpOiRo+iSpeiUpeqYpumaqOmdrPSynemgruSqtOmisOmlsuuqtequuOW1vOuxu+uxvOq1ve+xvPK0pvW3o/W5pfO5qvS7qfCwvMOuwc2/wNenxNyyzNe/0Nq31Nq51dy72Oy3wOu4wOu+xey4wO+6xO2+xfTAr/TCsvfFtPHLvvTJuMPDwMfHxcXKyc3DxMvFyMvLyM3PzcDV08DV1MTX1cbY1s7X1sjZ1sra2Mnd3M7b2c7c2tfH1tnB1t7F2d7M29fX1tLY1tDd2tHe3NTf3NnS19rZ1tva2Nnf3t3d28rh3tXg3Nnh3tzj393k39ni4N7k4N7n5uXDyOfLz+zAxu3CyOzEyezKzeDJ3eLM3uvP0u3P0ePf2+7R0u7Q1u/U0+7U1ezc0+7a2e/d2+3f3vbFzvLOwfHN0PPQw/TUx/LWyvLYzPDQ1fPe0ubc4vve4uHh3+nh3+/h2u/h3vHj2vHl3uHm4eTn4uDp5ebo4+Xo5ODq6ebq6OTv6+nl4+/j4O7l4e7n5ujp4+np5Ozq5e7s5urt6O7t6Orw6u7x6u3x7vPj5PDl4fDo4vDq5fDt5vDu6PDv7PTv6fDx6vHx7fH17fXw6fXy7fb07/bz8fT18vn38vr39fr48/r59Pr6+P3++//+/gAAALNTSk0AAAEAdFJOU////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wBT9wclAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAAGHRFWHRTb2Z0d2FyZQBwYWludC5uZXQgNC4wLjlsM35OAAAFNElEQVRIS1VVCZxVUxi/9l0UIUT2bMnY43bVI2c0Y01kSWIaS0j2JEtkN41piomZrPPKQ2aQ7JKImOZlnm2493TJzDufuU1Zi+v/fee+mZ//793vnPOd7zvfes5zDBEZkBBjAcIjb+Iiotqgdhat8AMK0vl7/R9N7GiWtshqIr+EZ5gYKibyUsXY1l/mfFpssvUlWQ0FkU3gy4+RB/+kwYcO8pRSnldcOU/r2lAHARSwk2ORgEmOdC1EsuRiYSqMPwwroMIraZk5V2fYJQjCKfZrRmh3gSAZi2i4b7wSylWu8EqZwS59JkFUaW96JbNSc+CEUmt4rorwuZmWdDaoc+uZETuQlTCU5xYzR7muUnVUVo+BcRhre/VwUpasgJwhH7JkYIYA0sNxhmCwUK+lw6vCKBZehw01dEiyw4Q4aE0Z4ahDhKaFQsGnJ2BgqKoTBsNjFy0SlW6whRAZTdm8DBJmkBZhDi1j4xJQBk6ywrWUTymaCxac8lROcdauRGzQSNtA7EHUYhXyEwhhgjFUqRuO+rauhF1awFpzCsmwUbjIFBR0u1bKtyGpulW/H/cVVzkyGaIWTIR9pFAV6GK2gPMXMX8gPk9zzxXgI1kimcAltEYr+cjio1imlKpEa9rOipLm+p+CZ6Bw//qd1/f/O+GwMxbSLpyoZEcwkyh2jIks+3hmdd2jWUw4scxNysnHxU7nSspTRcJjCZGL3IsjsYJMMg5mwgx7gaIOLBFCogAgBBoNa9w+DE6I+Bs7FTgwwrJbHjWDgpYo2KwtBTcYEDuloC9geQw+k2RGnPGpTaOlq7AS+YICUz4DZVaX2TiNDhuYfTtY4geLi0IoCm3XccwM9hx4kU28StQEljDs3ZEpFGA+8dKzLmV9ymIwF5FOGn2GdJM8KLHDJbXyiYVMG9MRTLiXGGg2QKaxM3khPSRrwM9zEIardxU2w/EiA0gOeYKHzDR0V7/QGV3lKIA9ktrDArxO3gdA+k6SKoBiVwcm7NjZb9+Hnztg282TuHVZ9LOISFNt9MgyCetZVczSxnyDbl17Penq6mqpg1IhRaEO2aVLUO4/r17H8tTv6f13h71dduvZI3Y+uMdWksNSauLovJw5hsqiPIUvt0ku7/iBeUR3sksmomYWtRbAjbiLfv2lX9/V7LVG4uYnUZXhQ7f2OPCZEx9wrYWTcePEQqPEML8pl4mMdr/jlXlvHiRiJ2+MSTFY4TTSYStuvz2R/JXh+PPeGXm055J+3/YDWuNu3R3DArPutyg0ZgykMVDU9Ndm22+wYalr2rse48CnsTIFcMn73vfhNrktx1EUcZnPv6ah3Yy5cDTRdBEoGoBeah71dqFyjZDJLkWk3N3v4uuktssjWpzciMPxQeHj8nMKzcGuB0tAyzFhdCKOYWv4HwOQVwIxLG99a6uvH3sJCyO3h+k4EZ+G7+xj5f4XXksoaGrdMRzSc8ARA8+cdOuk2x6fffNNt5x+Ro1omPlrT/CQDlcNlpx4NBIWXhkx7Y3Zp3ofNR7Uv89Om/beW0TLIynHv3vs1VsOFpSWSXvfuPUf9BrRFyxgXdHoKJnQFegPOovvzz59ntrzye240ig8UQ3lDI2VqwagrKIQcLXNFL3wglN2OHdBQ6/vI3kENDVBwRb3k1XtczFbjWn4EzMYi7CF3129+JTYuRSdrGuS92g5dpqn6qXoJQs5xmL8p+Wt4hLbt0mx2OLNZR2bbPy8zJNQGFM/f/CfXZekRYFjGCWjIJpM+WiCzGBPWHhoyaAsjRT/B2Gy5yzYJkwUAAAAAElFTkSuQmCC')\";\r\n let aerialCss = \"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAMAUExURQALBgIMDQgOBwQOEQcTBwUSCwoVDAwdBw8ZDgUREwYUGAYZFQYZGgkTFQoVGQsZFAwZHBMeDhIbFBEbHAwWIA4bIREcIQ4hCQwjFw4lHBgkDB8sDxUiExIiGhAoGxohFRshGRorHQcrKQsiIQwmKgooJA0pKQ81Jw8yLRMiIxImKxUrJREuKhslJB0rIhooKRUuMBMyLhkwJhozKh48LxUzMRM9MBwzMiUvFCMtGiMwEiwzFCgzHDI+GSIsISkvJSQxIiM2LiY5Jic+Lyk0JSo0Ky49JSs9KSU1NSM7NCs2NS8+NDM1JzU9Ljg7IDJCHS1DLSNAMitCMSxIOjREITZLIDZJKDlFIjpFKztKJT1LKzJBMzpHMD1JMjpKPD1RKjlQNC1DQj5QQEA8MEJGJkBKJUJNK0lLLEJMMkVMPEpONENSLUdZL0pTLkpaLkRUMkRSPEVZMktUM0pVOklZMklZNEpcNU1ZMk1ZNUxfMk5dNkxcOVFUM1RUOFJbNVFZOVNYPVFdOVJdPFVaOVVaPVVdOlVdPVpaNlpdO0phN01hOlBiN1NhPFNoP1piPWFbPmRjPENOQEtPSURTQkJVS0xVQk1VSkxbQkxcS0heUVFXRFRcQlJfTFxeQlpeS05lQk1kSFRjQVRjSlZpQ1tkQlxlSlxpRF1rSVVnUVtlU1llXF9tU1xoXlxwSl9ramRfQmJlQ2FhSWFlSWFlTmVlSWRmTGFoQWFpRWFsRmVpRWVtRmNsSmtlRGpqRmpsS2BmWGRsUmFrW2ptUmZyR2RxTGpxTWVyU2RyW2d5V2tzUmt0WW15VG15WXFuTHNtVnFxTXF4T3h0TnJzUnJ1XHJ4VXN6Wnp0VHx1W315VXp8XGR0YGx0YHVzZXJ0aHR9ZXV+aHl9YHOCXXqBXXeCYHyCY3iEaHyIYn+JaXqKcYB5WIN6Y4SCXoCDZIGEaYCIZoOLa4iCaImJbIOOdYuMco6OeIuVcpOKbZKPc5aQb5eXe5ufg6KjhAAAAAAAAAAAAAAAAOGCeQgAAAEAdFJOU////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wBT9wclAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAAGHRFWHRTb2Z0d2FyZQBwYWludC5uZXQgNC4wLjlsM35OAAAH80lEQVRISy1WbXQUVxm+6wqnk3Zmpxl2FG2EGg92C8GDlWptVTwa+uF3xcKmDfFzCUzDsJNsunXipglJXJbrtJWmwZNSnHD3jojRgUIm2UumIZ0JZ7JByrALbMWW0IBW8aRa4+cf76TeX3Nm3uc+z/s+7/vugl4r/aMTrT4e1pPTqnnmJNn5AyUzRnrRle/qE33dsvrBtAQVoxtpZNK3zSzYjUjviWO2Ag+R77dl7W36n/1Ep9KBPG/S+Py0PkjU/gPKQGqwTHryiWYFAXSvMairsio7SjyNsnCzh0qKImV9/7mhfHQZx2yN1O+7rXUm33MUPaboOkAJHaoIdXfJj2xWeyD8jMFEXkvIu5qzpU988gWB5zl+GS+sFe55trEVPdWZB2miq8bBVkNFO2R0qnrfkiXhcJhtDNXE6tbW97/s9O9/7ZfVhx86/CwrROpfvvxboMqeLsuqPr1j44qEwDNMOBximUiYoU8sw7BC/a7T72uEnyJDlGxZ9KcglZRyuqqrv/tSZErgOI4NgRBTIw9EmHAoFGZZnp6aGaJ2GTxfxYs8kKVUQh7WB5hQeC3LsUxoxVKW14l3BX2WcoUYPiZyLLe8teZ+iuT4GGhvV5KpKWkpyzxEr2MZgQ1xdRjfRBoH+2k6lIHjKTHPPBo8CSJISqqq4wGGOcWylIGlgvgNX1Gd8vF5f+IUIwb30ng+Gg2QfBRIMvy0jG8SVkYo4N0zvUXVRztbJ/L6xL7lUZEXBEHkuZqlS6gEAUgKJurnhFtfpACOYd8b/hVbJPqwi44a6KA0sPVjIi/SIyxb3u8KlAJ0S8jRVgrlW+nVHPdrhiXCxu42d86ByksDc80P3MkJFBFQ8Ho1lQegpWJRWFGsDsRwwv7pIyvuQW0ZkrX6NDVFbqcvaQI8vbyqzt5AARrsbKx5yhQEGs+wPO56bOK+0rcwMrOKkpUbZWYxV04UeZZv/cBKFhRL6Qdv9y4LfEDA7/thg7tTmv1a5/GnO0wl0dQg80wglZaHUmxRvjwAHOfyN0mxrpqLUpcjsK3NHYMo4R1o6eho2ZyIb2FoeOC3ILK8kZ2HQMOuWywGXUkJBCeTbYFS0+ym1h2/6UgmvnrvKYZZtIEXGf75C2cIAp5LHNd71x7uPoTjakrWH9e3KFpaatjUvJUysFw0KrLMYMW2lTg4PeUQx6kJEALvxXEmCdVyPLHtCSjBhc01XCjIgafxou+PE6KC1dhxSCwoBCc+N4P3btM84pmdSSjJnjO/nvY4LQfVyz5/I+v6IwjUOMjy+MVCxIbKupTJaEktp7cTKU42Pvjh2m/8cSpC6aPsaX/MHSuUQLVVsIa4RUTs/r/BVAexNdjdnsNG7j/rV93xheLMzKnFrPeTEQchCyCcKb25aAIn7lrAertrZwyNXM8N6zfWrFo3d2SmOEcF83x/r+OOFgrAHYWF7cELjhV7UQo/6WAIUVl9JFl8a//HZ66VpbY3I9QKZqPru77lA+iOWAIr0hKxHCmmr0othSyeIl5y3qt4xT8gSNrKEZozs8Els67rgsLOZ+ygzwMfbtNhobfgzpEyGnz7htPtzUi6PuOoj7K0WF/MXiUFxwGajRD1hjYXHXI9p406qOyinp5/tiWcDHY0jIu4n64Qfq7kliB2gemag9QbOia0PbbDMbd43SHuvxFxrAocxins7MX5Kqbe1QixKBxoV4//PfAgGCu+Rlm4SvZizyDH+0reDHp92iO0BuX3bCfItl0PEwvYLqpwXG2MHlGsQ4S8pMJZv1JGmHiEoHQDdOjwmVlEP/nE9ADKjI8xLI0OOGITfy0SbeG/C2jKUDGSlDhM9I3IpK9iup6XnbRNC7yqueNsJCCIiXzdQhnaGN+46umnEdy5U5UbUJ48LFM9GkJo8BdDOiAZ7ZIQbKhYLMqvhU2wmNxjEAsS2AI7y4nWF64duePbk7YV3zvAVLEMD9AxJRNa3KDUibV7DjnkuprMEYjScFNcaR2ceP2u9R/5k1052Ryme5phAFRswlHjAudiP4dOy7CaxLgdJh9vUlU1702/+LPa1U9fvPi9qlA4XEUBJc3dFlpsR457IDl1iPqLp7o81NQgyV19iYU38uTiv975Pd3SiwQcsGjx+v4/6fl5T7EOOMTCtpbKxfemsQq/3olQZcminADAAI0cuGLHaHOFxbuGvRk/Z9u7CULqoVR6NE0yx1avj30oRhc/jWUoIALGxkz0dg1Dl9iaI7LqOOXKsXJFwjiuEAi70Jra2nW1PL08zLBhZsMABpW5csI7TPfew9ipFKcn5k1i+1KyCWKjC3W/8dF1d666+RaabBVTFTHacjoojBNDh0NDxk+IPTlwfqJkWpbnpFHXIbLbmpxEQ3ff/Z0g/mauXsoln9wDRjy/NHsQFw3P6vWuTJ43/+FZrk2cvAFRipCKdfD9y2+pjRj78s0KdCUDKJvdV91ChngV38T20TM+gghjpJaPlpFr2xbEz5g4A/NGt5rNwdwmYGeeeMXBSLHHUIc+6RsojRH9VTUm3/mLf/64b470XvoxoTKhlMBQ2jMEzo2PjxdGMppmn1RM24bWFJqaQv4BcuJa2Sam7Zokq1ldCsz06NCBHrhwqVQYpfFj42NZexz1EW9SR/kT58nEeQKJb2fPXjjp0u/YUkwHEgLeOnf2nOuf1TRTM02CLKLTPy60/x1CCztqn7Ev+BdsC3m+30decQvW/wBNTwU+CfUQAQAAAABJRU5ErkJggg==')\";\r\n\r\n if (options.baseSwitcher) {\r\n // let switcherContent = '<div class=\"base-map-switcher\" title=\"Toggle Base Layer\" style=\"';\r\n // switcherContent += 'position: absolute; top: 70px; left: 4px; border: solid black 1px; ';\r\n // switcherContent += `height: 50px; width: 50px; z-index: 10; border-radius: 4px; background: ${aerialCss};`;\r\n // switcherContent += '\"></div>';\r\n // $mapDiv.append(switcherContent);\r\n //\r\n // $mapDiv.find('.base-map-switcher').click(function() {\r\n // \"use strict\";\r\n // osmLayer.setVisible(!osmLayer.getVisible());\r\n // satLayer.setVisible(!satLayer.getVisible());\r\n //\r\n // if (osmLayer.getVisible()){\r\n // $(this).css('background', aerialCss);\r\n // } else {\r\n // $(this).css('background', osmCss);\r\n // }\r\n // });\r\n }\r\n\r\n if (options.zoom < 0 || options.zoom > 28) {\r\n throw 'zoom out of range';\r\n }\r\n\r\n if (options.center.x >= -180 && options.center.x <= 180 && options.center.y >= -90 && options.center.y <= 90) {\r\n let p = new ol.geom.Point([options.center.x, options.center.y]);\r\n new ol.proj.Projection({code: \"EPSG:4326\"});\r\n\r\n p.transform(new ol.proj.Projection({code: \"EPSG:4326\"}), new ol.proj.Projection({code: \"EPSG:3857\"}));\r\n let coordinates = p.getCoordinates();\r\n options.center.x = coordinates[0];\r\n options.center.y = coordinates[1];\r\n }\r\n\r\n const controls = ol.control.defaults({\r\n attributionOptions: {collapsible: false}\r\n }\r\n );\r\n\r\n const view = new ol.View({\r\n center: [options.center.x, options.center.y],\r\n zoom: options.zoom,\r\n minZoom: options.minZoom,\r\n maxZoom: options.maxZoom\r\n });\r\n\r\n let map = new ol.Map({\r\n layers: [osmLayer],\r\n target: options.divId,\r\n controls: controls,\r\n view: view\r\n });\r\n\r\n if (options.fullScreen) {\r\n map.addControl(new ol.control.FullScreen({}));\r\n }\r\n\r\n if (options.addGeocode){\r\n new Geocode(document.getElementById(options.divId) as HTMLDivElement, map);\r\n }\r\n\r\n return map;\r\n}\r\n\r\nnm.quickMapBase = quickMapBase;\r\nexport default quickMapBase;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/quickMapBase.ts","/**\r\n * Created by gavorhes on 12/7/2015.\r\n */\r\nimport {LayerBase, LayerBaseOptions} from './LayerBase';\r\nimport * as esriToOl from '../olHelpers/esriToOlStyle';\r\nimport mapPopup from '../olHelpers/mapPopup';\r\nimport provide from '../util/provide';\r\nimport ol = require('custom-ol');\r\nimport $ = require('jquery');\r\n\r\nconst nm = provide('layers');\r\n\r\n\r\n\r\n/**\r\n * Helper to return the url to the service on the production server\r\n * @param {string} folder\r\n * @param {string} service\r\n * @returns {string}\r\n */\r\nexport function makeServiceUrl(folder: string, service: string): string{\r\n return `https://transportal.cee.wisc.edu/applications/arcgis2/rest/services/${folder}/${service}/MapServer`\r\n}\r\n\r\nexport function localCacheUrl(folder: string, service: string): string{\r\n let loc = window.location.href;\r\n\r\n let url = `/mapserver/${folder}/${service}`;\r\n\r\n if (loc.indexOf('transportal.cee.wisc.edu') > -1){\r\n if (loc.toLowerCase().indexOf('webmapsstage') > -1){\r\n url = 'https://transportal.cee.wisc.edu/gis/webmapsstage' + url;\r\n } else {\r\n url = 'https://transportal.cee.wisc.edu/gis/webmaps' + url\r\n }\r\n }\r\n\r\n\r\n return url;\r\n}\r\n\r\n\r\n\r\n\r\nexport interface LayerEsriMapServerOptions extends LayerBaseOptions {\r\n addPopup?: boolean;\r\n showLayers?: Array<number>;\r\n getLegend?: boolean;\r\n}\r\n\r\n/**\r\n * esri mapserver layer\r\n * @augments LayerBase\r\n */\r\nexport class LayerEsriMapServer extends LayerBase {\r\n _esriFormat: ol.format.EsriJSON;\r\n _popupRequest: JQueryXHR;\r\n _showLayers: number[];\r\n\r\n /**\r\n * The base layer for all others\r\n * @param {string} url - resource url\r\n * @param {object} [options] - config\r\n * @param {string} [options.id] - layer id\r\n * @param {string} [options.name=Unnamed Layer] - layer name\r\n * @param {number} [options.opacity=1] - opacity\r\n * @param {boolean} [options.visible=true] - default visible\r\n * @param {number} [options.minZoom=undefined] - min zoom level, 0 - 28\r\n * @param {number} [options.maxZoom=undefined] - max zoom level, 0 - 28\r\n * @param {object} [options.params={}] the get parameters to include to retrieve the layer\r\n * @param {number} [options.zIndex=0] the z index for the layer\r\n * @param {function} [options.loadCallback] function to call on load, context this is the layer object\r\n * @param {boolean} [options.legendCollapse=false] if the legend item should be initially collapsed\r\n * @param {boolean} [options.legendCheckbox=true] if the legend item should have a checkbox for visibility\r\n * @param {boolean} [options.legendContent] additional content to add to the legend\r\n * @param {boolean} [options.addPopup=false] if a popup should be added\r\n * @param {undefined|Array<number>} [options.showLayers=undefined] if a popup should be added\r\n */\r\n constructor(url: string, options: LayerEsriMapServerOptions = {}) {\r\n\r\n super(url, options);\r\n this._source = new ol.source.TileArcGISRest(\r\n {\r\n url: this.url == '' ? undefined : this.url,\r\n params: typeof options.showLayers == 'undefined' ? undefined : {layers: 'show:' + options.showLayers.join(',')}\r\n }\r\n );\r\n\r\n this._showLayers = options.showLayers || [];\r\n\r\n this._olLayer = new ol.layer.Tile({\r\n source: this._source as ol.source.Tile,\r\n visible: this.visible,\r\n opacity: this.opacity,\r\n minResolution: this._minResolution,\r\n maxResolution: this._maxResolution\r\n });\r\n\r\n\r\n this._olLayer.setZIndex(this._zIndex);\r\n\r\n options.addPopup = typeof options.addPopup == 'boolean' ? options.addPopup : false;\r\n\r\n this._esriFormat = new ol.format.EsriJSON();\r\n this._popupRequest = null;\r\n\r\n options.getLegend = typeof options.getLegend === 'boolean' ? options.getLegend : true;\r\n\r\n if (options.getLegend){\r\n this.addLegendContent();\r\n }\r\n\r\n if (options.addPopup) {\r\n mapPopup.addMapServicePopup(this);\r\n }\r\n }\r\n\r\n /**\r\n * add additional content to the legend\r\n * @param {string} [additionalContent=''] additional content for legend\r\n */\r\n addLegendContent(additionalContent?: string) {\r\n let urlCopy = this.url;\r\n\r\n if (urlCopy[urlCopy.length - 1] !== '/') {\r\n urlCopy += '/';\r\n }\r\n\r\n urlCopy += 'legend?f=pjson&callback=?';\r\n\r\n $.get(urlCopy, {}, (d) => {\r\n let newHtml = esriToOl.makeMapServiceLegend(d, this._showLayers);\r\n super.addLegendContent(newHtml);\r\n }, 'json');\r\n }\r\n\r\n\r\n getPopupInfo(queryParams: {[s: string]: any}) {\r\n if (!this.visible) {\r\n return;\r\n }\r\n\r\n let urlCopy = this.url;\r\n\r\n if (urlCopy[urlCopy.length - 1] != '/') {\r\n urlCopy += '/';\r\n }\r\n\r\n urlCopy += 'identify?callback=?';\r\n\r\n let __this = this;\r\n\r\n if (this._popupRequest != null) {\r\n this._popupRequest.abort();\r\n }\r\n\r\n\r\n this._popupRequest = $.get(urlCopy, queryParams, function (d) {\r\n for (let r of d['results']) {\r\n\r\n let popupHtml = '<table class=\"esri-popup-table\">';\r\n\r\n for (let a in r['attributes']) {\r\n if (r['attributes'].hasOwnProperty(a)) {\r\n let attrVal = r['attributes'][a];\r\n\r\n if (attrVal == null || attrVal.toString().toLowerCase() == 'null') {\r\n continue;\r\n }\r\n\r\n let attr = a;\r\n if (attr.length > 14) {\r\n attr = attr.slice(0, 11) + '...';\r\n }\r\n\r\n popupHtml += `<tr><td>${attr}</td><td>${attrVal}</td></tr>`;\r\n }\r\n }\r\n\r\n popupHtml += '</table>';\r\n\r\n mapPopup.addMapServicePopupContent(__this._esriFormat.readFeature(r), __this, popupHtml, r['layerName']);\r\n }\r\n }, 'json');\r\n\r\n this._popupRequest.always(function () {\r\n __this._popupRequest = null;\r\n });\r\n\r\n }\r\n\r\n /**\r\n *\r\n * @returns {ol.source.TileArcGISRest} the vector source\r\n */\r\n get source(): ol.source.TileArcGISRest {\r\n return super.getSource() as ol.source.TileArcGISRest;\r\n }\r\n\r\n /**\r\n *\r\n * @returns the ol layer\r\n */\r\n get olLayer(): ol.layer.Tile {\r\n return super.getOlLayer() as ol.layer.Tile;\r\n }\r\n}\r\nnm.LayerEsriMapServer = LayerEsriMapServer;\r\nexport default LayerEsriMapServer;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/layers/LayerEsriMapServer.ts","/**\r\n * Created by gavorhes on 12/14/2015.\r\n */\r\n\r\nimport provide from '../util/provide';\r\nconst nm = provide('olHelpers.zoomResolutionConvert');\r\n\r\nlet _zoomResLookup = [\r\n 156543.03392804097, //0\r\n 78271.51696402048, //1\r\n 39135.75848201024, //2\r\n 19567.87924100512, //3\r\n 9783.93962050256, //4\r\n 4891.96981025128, //5\r\n 2445.98490512564, //6\r\n 1222.99245256282, //7\r\n 611.49622628141, //8\r\n 305.748113140705, //9\r\n 152.8740565703525, //10\r\n 76.43702828517625, //11\r\n 38.21851414258813, //12\r\n 19.109257071294063, //13\r\n 9.554628535647032, //14\r\n 4.777314267823516, //15\r\n 2.388657133911758, //16\r\n 1.194328566955879, //17\r\n 0.5971642834779395, //18\r\n 0.29858214173896974, //19\r\n 0.14929107086948487, //20\r\n 0.07464553543474244, //21\r\n 0.03732276771737122, //22\r\n 0.01866138385868561, //23\r\n 0.009330691929342804, //24\r\n 0.004665345964671402, //25\r\n 0.002332672982335701, //26\r\n 0.0011663364911678506, //27\r\n 0.0005831682455839253 //28\r\n];\r\n\r\n/**\r\n * Get the resolution given the zoom level\r\n * @param {number} zoomLevel - the zoom level\r\n * @returns {number|*} the map resolution\r\n */\r\nexport function zoomToResolution(zoomLevel: number): number {\r\n \"use strict\";\r\n\r\n if (typeof zoomLevel == 'number') {\r\n if (zoomLevel % 1 === 0 && zoomLevel >= 0 && zoomLevel <= 28) {\r\n return _zoomResLookup[zoomLevel];\r\n } else {\r\n console.log(`invalid zoom level provided: ${zoomLevel}`);\r\n\r\n return undefined;\r\n }\r\n } else {\r\n return undefined;\r\n }\r\n}\r\nnm.zoomToResolution = zoomToResolution;\r\n\r\n\r\n/**\r\n * Get resolution from the zoom level\r\n * @param {number} resolution - the resolution\r\n * @returns {number|*} the zoom level\r\n */\r\nexport function resolutionToZoom(resolution: number): number{\r\n for (let i = 0; i < _zoomResLookup.length; i++){\r\n if (resolution >= _zoomResLookup[i] ){\r\n return i;\r\n }\r\n }\r\n\r\n return 0;\r\n}\r\n\r\nnm.resolutionToZoom = resolutionToZoom;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/zoomResolutionConvert.ts","/**\r\n * Created by gavorhes on 1/4/2016.\r\n */\r\nimport provide from '../util/provide';\r\nimport ol = require('custom-ol');\r\nconst nm = provide('olHelpers.esriToOlStyle');\r\n\r\n\r\n/**\r\n *\r\n * @param {Array<number>} colorArray - input color array\r\n * @param {number} opacity - the opacity 0 to 1\r\n * @returns {string} rgba string\r\n * @private\r\n */\r\nfunction _colorArrayToRgba(colorArray: [number, number, number], opacity: number): string {\r\n \"use strict\";\r\n\r\n return `rgba(${colorArray[0]},${colorArray[1]},${colorArray[2]},${opacity})`;\r\n}\r\n\r\n/**\r\n * escape html charcters\r\n * @param {string} str - input string\r\n * @returns {string} escaped string\r\n */\r\nfunction htmlEscape(str: string): string {\r\n return String(str)\r\n .replace(/&/g, '&')\r\n .replace(/\"/g, '"')\r\n .replace(/'/g, ''')\r\n .replace(/</g, '<')\r\n .replace(/>/g, '>');\r\n}\r\n\r\nnm.htmlEscape = htmlEscape;\r\n\r\n\r\nexport interface iEsriResponse{\r\n drawingInfo: {\r\n renderer: iEsriRenderer;\r\n transparency: number\r\n },\r\n geometryType: string\r\n}\r\n\r\n\r\nexport interface iEsriRenderer{\r\n type: string;\r\n symbol: iEsriSymbol;\r\n uniqueValueInfos: Array<{label: string, value: any, symbol: iEsriSymbol}>;\r\n field1: string;\r\n defaultSymbol: iEsriSymbol;\r\n defaultLabel: string;\r\n}\r\n\r\nexport interface iEsriSymbol{\r\n size: number;\r\n type: string;\r\n outline:{\r\n color: [number, number, number];\r\n width: number;\r\n },\r\n color: [number, number, number];\r\n width: number;\r\n imageData: string\r\n}\r\n\r\n\r\nclass CommonSymbol {\r\n legendHtml: string;\r\n opacity: number;\r\n symbolObj: iEsriSymbol;\r\n olStyle: ol.style.Style;\r\n\r\n /**\r\n *\r\n * @param symbolObj\r\n * @param {number} opacity\r\n */\r\n constructor(symbolObj: iEsriSymbol, opacity: number) {\r\n this.symbolObj = symbolObj;\r\n this.opacity = opacity;\r\n this.olStyle = undefined;\r\n this.legendHtml = '';\r\n }\r\n}\r\n\r\ninterface ICommonSymbol{\r\n new (symbolObj: iEsriSymbol, opacity: number): CommonSymbol\r\n}\r\n\r\n\r\nclass PointSymbol extends CommonSymbol {\r\n constructor(symbolObj: iEsriSymbol, opacity: number) {\r\n super(symbolObj, opacity);\r\n switch (this.symbolObj.type) {\r\n case 'esriSMS':\r\n let innerColor = _colorArrayToRgba(this.symbolObj.color, this.opacity);\r\n let outerColor = _colorArrayToRgba(this.symbolObj.outline.color, this.opacity);\r\n let outlineWidth = this.symbolObj.outline.width;\r\n let radius = this.symbolObj.size;\r\n\r\n\r\n this.olStyle = new ol.style.Style({\r\n image: new ol.style.Circle({\r\n radius: radius,\r\n fill: new ol.style.Fill({\r\n color: innerColor\r\n }),\r\n stroke: new ol.style.Stroke({color: outerColor, width: outlineWidth})\r\n })\r\n });\r\n this.legendHtml = `<span class=\"legend-layer-icon\" style=\"color: ${innerColor}\">●</span>`;\r\n break;\r\n case 'esriPMS':\r\n this.olStyle = new ol.style.Style({\r\n image: new ol.style.Icon({src: `data:image/png;base64,${this.symbolObj['imageData']}`})\r\n });\r\n this.legendHtml = `<img class=\"legend-layer-icon\" height=\"17\" src=\"data:image/png;base64,${this.symbolObj['imageData']}\">`;\r\n break;\r\n default:\r\n console.log(this.symbolObj);\r\n alert('Point symbol does not handle symbol type: ' + this.symbolObj['type']);\r\n }\r\n }\r\n}\r\n\r\nclass LineSymbol extends CommonSymbol {\r\n constructor(symbolObj: iEsriSymbol, opacity: number) {\r\n super(symbolObj, opacity);\r\n switch (this.symbolObj.type) {\r\n case 'esriSLS':\r\n let innerColor = _colorArrayToRgba(this.symbolObj.color, this.opacity);\r\n let lineWidth = this.symbolObj.width;\r\n\r\n this.olStyle = new ol.style.Style({\r\n stroke: new ol.style.Stroke({\r\n color: innerColor,\r\n //lineDash: [4],\r\n width: lineWidth\r\n })\r\n });\r\n\r\n this.legendHtml = `<span class=\"legend-layer-icon\" `;\r\n this.legendHtml += `style=\"`;\r\n this.legendHtml += `background-color: ${innerColor};`;\r\n this.legendHtml += `width: 40px;`;\r\n this.legendHtml += `height: 4px;`;\r\n this.legendHtml += `position: relative;`;\r\n this.legendHtml += `display: inline-block;`;\r\n this.legendHtml += `top: -1px;`;\r\n this.legendHtml += `\"></span>`;\r\n break;\r\n default:\r\n console.log(this.symbolObj);\r\n alert('Line symbol does not handle symbol type: ' + this.symbolObj['type']);\r\n }\r\n }\r\n}\r\n\r\nclass PolygonSymbol extends CommonSymbol {\r\n constructor(symbolObj: iEsriSymbol, opacity: number) {\r\n super(symbolObj, opacity);\r\n switch (this.symbolObj['type']) {\r\n case 'esriSFS':\r\n let innerColor = _colorArrayToRgba(this.symbolObj.color, this.opacity);\r\n let outerColor = _colorArrayToRgba(this.symbolObj.outline.color, this.opacity);\r\n let outlineWidth = this.symbolObj.outline.width;\r\n\r\n this.olStyle = new ol.style.Style({\r\n stroke: new ol.style.Stroke({\r\n color: outerColor,\r\n //lineDash: [4],\r\n width: outlineWidth\r\n }),\r\n fill: new ol.style.Fill({\r\n color: innerColor\r\n })\r\n });\r\n\r\n this.legendHtml = `<span class=\"legend-layer-icon\" `;\r\n this.legendHtml += `style=\"`;\r\n this.legendHtml += `background-color: ${innerColor};`;\r\n this.legendHtml += `border: solid ${outerColor} 1px;`;\r\n this.legendHtml += `width: 40px;`;\r\n this.legendHtml += `height: 9px;`;\r\n this.legendHtml += `position: relative;`;\r\n this.legendHtml += `display: inline-block;`;\r\n this.legendHtml += `top: 2px;`;\r\n this.legendHtml += `\"></span>`;\r\n break;\r\n\r\n default:\r\n console.log(this.symbolObj);\r\n alert('Polygon symbol does handle symbol type: ' + this.symbolObj['type']);\r\n }\r\n }\r\n}\r\n\r\nexport interface iStyleFunc{\r\n (f: ol.Feature): ol.style.Style| ol.style.Style[]\r\n}\r\n\r\nclass SymbolGenerator {\r\n opacity: number;\r\n renderer: iEsriRenderer;\r\n legendHtml: string;\r\n olStyle: iStyleFunc | ol.style.Style;\r\n\r\n constructor(esriResponse: iEsriResponse) {\r\n this.opacity = (100 - (esriResponse['drawingInfo']['transparency'] || 0)) / 100;\r\n this.renderer = esriResponse.drawingInfo.renderer;\r\n this.olStyle = undefined;\r\n this.legendHtml = '';\r\n }\r\n}\r\n\r\nclass SingleSymbol extends SymbolGenerator {\r\n symbol: iEsriSymbol;\r\n /**\r\n *\r\n * @param {object} esriResponse - layer info\r\n * @param SymbolClass - the symbol class to use\r\n */\r\n constructor(esriResponse: iEsriResponse, SymbolClass: ICommonSymbol) {\r\n super(esriResponse);\r\n this.symbol = this.renderer.symbol;\r\n let symbolObj = new SymbolClass(this.symbol, this.opacity);\r\n this.olStyle = symbolObj.olStyle;\r\n this.legendHtml = symbolObj.legendHtml;\r\n }\r\n}\r\n\r\nclass UniqueValueSymbol extends SymbolGenerator {\r\n\r\n propertyName: string;\r\n defaultSymbol: iEsriSymbol;\r\n defaultStyle: ol.style.Style;\r\n defaultLabelHtml: string;\r\n labelArray: Array<string>;\r\n legendArray: Array<string>;\r\n propertyStyleLookup: {[s: string]: ol.style.Style};\r\n valueArray: Array<any>;\r\n uniqueValueInfos: Array<{label: string, value: any, symbol: iEsriSymbol}>;\r\n\r\n /**\r\n *\r\n * @param {object} esriResponse - layer info\r\n * @param SymbolClass - the Symbol class definition\r\n */\r\n constructor(esriResponse: iEsriResponse, SymbolClass: ICommonSymbol) {\r\n super(esriResponse);\r\n this.uniqueValueInfos = this.renderer.uniqueValueInfos;\r\n this.propertyName = this.renderer.field1;\r\n this.defaultSymbol = this.renderer.defaultSymbol;\r\n\r\n\r\n if (this.defaultSymbol) {\r\n let symbolObj = new SymbolClass(this.defaultSymbol, this.opacity);\r\n this.defaultStyle = symbolObj.olStyle;\r\n this.defaultLabelHtml = `<span class=\"legend-layer-subitem\">${htmlEscape(this.renderer['defaultLabel'])}</span>` + symbolObj.legendHtml;\r\n } else {\r\n this.defaultStyle = undefined;\r\n this.defaultLabelHtml = 'other';\r\n }\r\n\r\n this.valueArray = [];\r\n this.labelArray = [];\r\n this.legendArray = [];\r\n this.propertyStyleLookup = {};\r\n\r\n for (let uniqueVal of this.uniqueValueInfos) {\r\n this.labelArray.push(uniqueVal['label']);\r\n this.valueArray.push(uniqueVal['value']);\r\n let uniqueSym = new SymbolClass(uniqueVal.symbol, this.opacity);\r\n this.legendArray.push(`<span class=\"legend-layer-subitem\">${htmlEscape(uniqueVal['label'])}</span>` + uniqueSym.legendHtml);\r\n this.propertyStyleLookup[uniqueVal['value']] = uniqueSym.olStyle;\r\n }\r\n\r\n this.olStyle = (feature: ol.Feature): ol.style.Style[] => {\r\n let checkProperties = feature.getProperties();\r\n let checkProperty = checkProperties[this.propertyName];\r\n\r\n if (this.propertyStyleLookup[checkProperty] !== undefined) {\r\n return [this.propertyStyleLookup[checkProperty]];\r\n } else {\r\n return [this.defaultStyle];\r\n }\r\n };\r\n\r\n if (this.defaultLabelHtml !== null) {\r\n this.legendArray.push(this.defaultLabelHtml);\r\n }\r\n\r\n this.legendHtml = '<ul>';\r\n for (let h of this.legendArray) {\r\n this.legendHtml += `<li>${h}</li>`;\r\n }\r\n this.legendHtml += '</ul>';\r\n }\r\n}\r\n\r\nexport function makeFeatureServiceLegendAndSymbol(esriResponse: iEsriResponse): {style: iStyleFunc | ol.style.Style, legend: string} {\r\n \"use strict\";\r\n let renderer = esriResponse.drawingInfo.renderer;\r\n let symbolLegendOut: SymbolGenerator = null;\r\n\r\n switch (renderer.type) {\r\n case 'simple':\r\n switch (esriResponse.geometryType) {\r\n case 'esriGeometryPoint':\r\n symbolLegendOut = new SingleSymbol(esriResponse, PointSymbol);\r\n break;\r\n case 'esriGeometryPolyline':\r\n symbolLegendOut = new SingleSymbol(esriResponse, LineSymbol);\r\n break;\r\n case 'esriGeometryPolygon':\r\n symbolLegendOut = new SingleSymbol(esriResponse, PolygonSymbol);\r\n break;\r\n default:\r\n console.log(esriResponse);\r\n alert(esriResponse.geometryType + ' not handled');\r\n }\r\n break;\r\n case 'uniqueValue':\r\n switch (esriResponse.geometryType) {\r\n case 'esriGeometryPoint':\r\n symbolLegendOut = new UniqueValueSymbol(esriResponse, PointSymbol);\r\n break;\r\n case 'esriGeometryPolyline':\r\n symbolLegendOut = new UniqueValueSymbol(esriResponse, LineSymbol);\r\n break;\r\n case 'esriGeometryPolygon':\r\n symbolLegendOut = new UniqueValueSymbol(esriResponse, PolygonSymbol);\r\n break;\r\n default:\r\n console.log(esriResponse);\r\n alert(esriResponse['geometryType'] + ' not handled');\r\n }\r\n break;\r\n default:\r\n alert('not handled renderer type: ' + renderer['type']);\r\n }\r\n\r\n if (symbolLegendOut == null) {\r\n return {style: undefined, legend: ''};\r\n } else {\r\n return {style: symbolLegendOut.olStyle, legend: symbolLegendOut.legendHtml};\r\n }\r\n}\r\n\r\nnm.makeFeatureServiceLegendAndSymbol = makeFeatureServiceLegendAndSymbol;\r\n\r\n\r\nexport interface iMapServiceLegend{\r\n layerName: string;\r\n legend: {label: string, imageData: string}[]\r\n}\r\n\r\n/**\r\n *\r\n * @param {object} lyrObject - the layer as defined in the response\r\n * @param {boolean} [skipLayerNameAndExpander=false] use only icons\r\n * @returns {string} legend html\r\n */\r\nfunction mapServiceLegendItem(lyrObject: iMapServiceLegend, skipLayerNameAndExpander: boolean = false) {\r\n\r\n\r\n skipLayerNameAndExpander = typeof skipLayerNameAndExpander == 'boolean' ? skipLayerNameAndExpander : false;\r\n let layerName = lyrObject['layerName'];\r\n let legendItems = lyrObject['legend'];\r\n let legendHtml = '';\r\n\r\n if (!skipLayerNameAndExpander) {\r\n legendHtml += `<span class=\"legend-layer-subitem\">${layerName}</span>`;\r\n }\r\n\r\n if (legendItems.length == 1) {\r\n legendHtml = `<img class=\"legend-layer-icon\" height=\"17\" src=\"data:image/png;base64,${legendItems[0]['imageData']}\">`;\r\n } else {\r\n if (!skipLayerNameAndExpander) {\r\n legendHtml += '<span class=\"legend-items-expander\" title=\"Expand/Collapse\">▼</span>';\r\n }\r\n legendHtml += '<ul>';\r\n for (let i = 0; i < legendItems.length; i++) {\r\n legendHtml += `<li>`;\r\n legendHtml += `<span class=\"legend-layer-subitem\">${htmlEscape(legendItems[i]['label'])}</span>`;\r\n legendHtml += `<img class=\"legend-layer-icon\" height=\"17\" src=\"data:image/png;base64,${legendItems[i]['imageData']}\">`;\r\n legendHtml += `</li>`;\r\n }\r\n legendHtml += '</ul>';\r\n }\r\n\r\n if (!skipLayerNameAndExpander) {\r\n legendHtml = `<span class=\"legend-layer-subitem\">${layerName}</span>` + legendHtml;\r\n }\r\n\r\n return legendHtml;\r\n}\r\n\r\n/**\r\n * make map service legent\r\n * @param {object} esriResponse - layer info\r\n * @param showLayers - limited number of layers to show in map service\r\n * @returns {string} legend content\r\n */\r\nexport function makeMapServiceLegend(esriResponse: {layers: iMapServiceLegend[]}, showLayers: number[] = []) {\r\n \"use strict\";\r\n\r\n let newLegendHtml = '';\r\n\r\n let layers = esriResponse['layers'];\r\n\r\n if (layers.length == 1) {\r\n newLegendHtml += mapServiceLegendItem(layers[0], true);\r\n } else {\r\n newLegendHtml += '<ul>';\r\n for (let i = 0; i < layers.length; i++) {\r\n if (showLayers.length > 0 && showLayers.indexOf(i) < 0){\r\n continue;\r\n }\r\n newLegendHtml += '<li>' + mapServiceLegendItem(layers[i]) + '</li>';\r\n }\r\n newLegendHtml += '</ul>';\r\n }\r\n\r\n return newLegendHtml;\r\n}\r\n\r\nnm.makeMapServiceLegend = makeMapServiceLegend;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/esriToOlStyle.ts","/**\r\n * Created by gavorhes on 11/2/2015.\r\n */\r\n\r\nimport provide from '../util/provide';\r\nimport {rangeChange} from './range-change';\r\nimport $ = require('jquery');\r\n\r\nlet nm = provide('domUtil');\r\n\r\n/**\r\n * @callback mediaCallback\r\n * @param {number} tm\r\n */\r\n\r\nfunction timeToLocalDateString(tm: number) {\r\n \"use strict\";\r\n let d = new Date(tm);\r\n let p1 = d.toLocaleTimeString().split(' ');\r\n let p2 = p1[0].split(':');\r\n p2 = p2.slice(0, 2);\r\n\r\n return d.toLocaleDateString() + '<br>' + p2.join(':') + ' ' + p1[1];\r\n}\r\n\r\nexport interface changeFunction {\r\n (newVal?: number): void;\r\n}\r\n\r\nexport interface mediaRangeConfig {\r\n min?: number;\r\n max?: number;\r\n val?: number;\r\n step?: number;\r\n playInterval?: number;\r\n showAsDate?: boolean;\r\n}\r\n\r\n\r\nexport class MediaControl {\r\n _container: JQuery;\r\n _min: number;\r\n _max: number;\r\n _playInterval: number;\r\n _step: number;\r\n _currentValue: number;\r\n\r\n _playing: boolean;\r\n\r\n _$btnStop: JQuery;\r\n _$slider: JQuery;\r\n _$valLabelVal: JQuery;\r\n _$valLabelMin: JQuery;\r\n _$valLabelMax: JQuery;\r\n _interval: number;\r\n _showAsDate: boolean;\r\n\r\n _changeFunc: changeFunction;\r\n\r\n /**\r\n *\r\n * @param element\r\n * @param changeFunc\r\n * @param mediaConfig\r\n */\r\n constructor(element: JQuery | HTMLElement | string,\r\n changeFunc: changeFunction = (): void => {\r\n return;\r\n },\r\n mediaConfig: mediaRangeConfig = {}) {\r\n\r\n mediaConfig.min = typeof mediaConfig.min == 'number' ? mediaConfig.min : 0;\r\n mediaConfig.max = typeof mediaConfig.max == 'number' ? mediaConfig.max : 100;\r\n mediaConfig.val = typeof mediaConfig.val == 'number' ? mediaConfig.val : 0;\r\n mediaConfig.step = typeof mediaConfig.step == 'number' ? mediaConfig.step : 5;\r\n mediaConfig.playInterval = typeof mediaConfig.playInterval == 'number' ? mediaConfig.playInterval : 500;\r\n mediaConfig.showAsDate = typeof mediaConfig.showAsDate == 'boolean' ? mediaConfig.showAsDate : false;\r\n\r\n if (typeof element == 'string') {\r\n this._container = $('#' + element);\r\n }\r\n else if (typeof (element as HTMLElement).style !== 'undefined') {\r\n this._container = $(element);\r\n } else {\r\n this._container = element as JQuery;\r\n }\r\n\r\n this._container.addClass('media-control-container');\r\n this._playInterval = mediaConfig.playInterval;\r\n this._changeFunc = changeFunc;\r\n\r\n this._showAsDate = mediaConfig.showAsDate;\r\n\r\n this._currentValue = undefined;\r\n this._min = undefined;\r\n this._max = undefined;\r\n this._step = undefined;\r\n this._playing = false;\r\n\r\n let htmlStr =\r\n '<span class=\"media-player-button media-back\"></span>' +\r\n '<span class=\"media-player-button media-play\"></span>' +\r\n '<span class=\"media-player-button media-pause media-disabled\"></span>' +\r\n '<span class=\"media-player-button media-stop media-disabled\" ></span>' +\r\n '<span class=\"media-player-button media-ahead\"></span>' +\r\n `<input type=\"range\">` +\r\n `<div class=\"media-control-value-label-container\">` +\r\n `<span class=\"media-control-value-label-min\"></span>` +\r\n `<span class=\"media-control-value-label-val\"></span>` +\r\n `<span class=\"media-control-value-label-max\"></span>` +\r\n `</div>`;\r\n\r\n this._container.append(htmlStr);\r\n\r\n // let btnPause = this._container.find('.media-pause');\r\n let btnPlay = this._container.find('.media-play');\r\n this._$btnStop = this._container.find('.media-stop');\r\n let btnAhead = this._container.find('.media-ahead');\r\n let btnBack = this._container.find('.media-back');\r\n this._$slider = this._container.find('input[type=range]');\r\n\r\n this._$valLabelMin = this._container.find('.media-control-value-label-min');\r\n this._$valLabelVal = this._container.find('.media-control-value-label-val');\r\n this._$valLabelMax = this._container.find('.media-control-value-label-max');\r\n\r\n this.setMinMaxValueStep(mediaConfig.min, mediaConfig.max, mediaConfig.val, mediaConfig.step);\r\n\r\n rangeChange(this._$slider, (newVal) => {\r\n this.currentValue = newVal;\r\n }, 100);\r\n\r\n let ___this = this;\r\n\r\n btnPlay.click(function () {\r\n let $this = $(this);\r\n $this.addClass('media-disabled');\r\n ___this._$btnStop.removeClass('media-disabled');\r\n btnAhead.addClass('media-locked');\r\n btnBack.addClass('media-locked');\r\n ___this._$slider.prop('disabled', true);\r\n ___this._playing = true;\r\n\r\n ___this._interval = setInterval(function () {\r\n ___this.currentValue += ___this._step;\r\n }, ___this._playInterval);\r\n });\r\n\r\n this._$btnStop.click(function () {\r\n clearInterval(___this._interval);\r\n let $this = $(this);\r\n $this.addClass('media-disabled');\r\n btnPlay.removeClass('media-disabled');\r\n btnAhead.removeClass('media-locked');\r\n btnBack.removeClass('media-locked');\r\n ___this._$slider.prop('disabled', false);\r\n ___this._playing = false;\r\n });\r\n\r\n btnAhead.click(function () {\r\n ___this.currentValue = ___this.currentValue + ___this._step;\r\n });\r\n\r\n btnBack.click(function () {\r\n ___this.currentValue = ___this.currentValue - ___this._step;\r\n });\r\n }\r\n\r\n stopPlaying() {\r\n if (this._playing) {\r\n this._$btnStop.trigger('click');\r\n }\r\n }\r\n\r\n get playing() {\r\n return this._playing;\r\n }\r\n\r\n get min() {\r\n return this._min;\r\n }\r\n\r\n get max() {\r\n return this._max;\r\n }\r\n\r\n get step() {\r\n return this._step;\r\n }\r\n\r\n get currentValue() {\r\n return this._currentValue;\r\n }\r\n\r\n set currentValue(newValue) {\r\n if (newValue > this._max) {\r\n newValue = this._min;\r\n } else if (newValue < this._min) {\r\n newValue = this._max;\r\n }\r\n this._currentValue = newValue;\r\n this._$slider.val(this._currentValue.toFixed(2));\r\n\r\n if (this._showAsDate) {\r\n this._$valLabelVal.html(timeToLocalDateString(this.currentValue));\r\n } else {\r\n this._$valLabelVal.html(this.currentValue.toString());\r\n }\r\n\r\n this._changeFunc(newValue);\r\n }\r\n\r\n /**\r\n * set min and max value with step\r\n * @param {number} newMin the new min\r\n * @param {number} newMax the new mas\r\n * @param {number} [newValue=newMin] the value to set\r\n * @param {number} [newStep=(newMax-newMin)/20] step value\r\n */\r\n setMinMaxValueStep(newMin: number, newMax: number, newValue: number, newStep: number) {\r\n this._min = newMin;\r\n this._max = newMax;\r\n\r\n newValue = typeof newValue == 'number' ? newValue : newMin;\r\n newStep = typeof newStep == 'number' ? newStep : (newMax - newMin) / 20;\r\n\r\n this._currentValue = newValue;\r\n this._step = newStep;\r\n\r\n this._$slider.prop('min', this.min.toString());\r\n this._$slider.prop('max', this.max.toString());\r\n this._$slider.prop('step', this.step.toString());\r\n this._$slider.val(this.currentValue.toString());\r\n\r\n if (this._showAsDate) {\r\n this._$valLabelMin.html(timeToLocalDateString(this._min));\r\n this._$valLabelVal.html(timeToLocalDateString(this.currentValue));\r\n this._$valLabelMax.html(timeToLocalDateString(this._max));\r\n } else {\r\n this._$valLabelMin.html(this._min.toString());\r\n this._$valLabelVal.html(this.currentValue.toString());\r\n this._$valLabelMax.html(this._max.toString());\r\n }\r\n }\r\n\r\n /**\r\n *\r\n * @param {mediaCallback} newFunc the callback on change\r\n */\r\n set changeFunction(newFunc: changeFunction) {\r\n this._changeFunc = newFunc;\r\n }\r\n}\r\n\r\nnm.MediaControl = MediaControl;\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/domUtil/media-control.ts","import provide from '../util/provide';\r\nimport $ = require('jquery');\r\nimport {ChangeEvent} from \"react\";\r\n\r\nconst nm = provide('domUtil');\r\n\r\nlet mouseIn = false;\r\nlet mouseDown = false;\r\nlet timeout: number = null;\r\nlet dragged = false;\r\nlet lastVal: number;\r\n\r\n\r\n/**\r\n * callback on range change interaction, context of this is the firing dom element\r\n * @callback rangeChangeCallback\r\n * @param {number} newValue\r\n * @param {number} ratio value from 0 to 1 relative of the value to the min and max\r\n * @param {object} evt\r\n */\r\n\r\n/***\r\n * callback funcion after the slider has been moved\r\n */\r\nexport interface rangeChangedCallback{\r\n /**\r\n *\r\n * @param newValue new value of the slider\r\n * @param ratio ratio from low to high, 0 to 1\r\n * @param evt the original event\r\n */\r\n (newValue: number, ratio: number, evt: ChangeEvent<HTMLInputElement>): any\r\n}\r\n\r\n\r\n/**\r\n * Created by gavorhes on 11/2/2015.\r\n */\r\n\r\nfunction triggerCallback(callback: rangeChangedCallback, evt: ChangeEvent<HTMLInputElement>) {\r\n \"use strict\";\r\n\r\n let val = parseFloat(this.value);\r\n let min = parseFloat(this.min);\r\n let max = parseFloat(this.max);\r\n let step = parseFloat(this.step);\r\n\r\n if (max - val < step){\r\n val = max;\r\n }\r\n\r\n let percent = (val - min) / (max - min);\r\n\r\n if (typeof lastVal == 'number' && val == lastVal){\r\n return;\r\n }\r\n lastVal = val;\r\n callback(val, percent, evt);\r\n}\r\n\r\n\r\n\r\n/**\r\n * Add a variety of listeners for range inputs applied to a common callback\r\n * @param $slider - jquery reference to the slider\r\n * @param {rangeChangeCallback} callback - the callback\r\n * @param {number} [changeTimeout=75] before the callback is called\r\n * @this {jQuery}\r\n * @returns {jQuery} the jQuery object\r\n */\r\nexport function rangeChange ($slider: JQuery, callback: rangeChangedCallback, changeTimeout: number) {\r\n\r\n changeTimeout = typeof changeTimeout == 'number' ? changeTimeout : 75;\r\n\r\n $slider.mouseenter(function () {\r\n mouseIn = true;\r\n });\r\n\r\n $slider.mouseleave(function () {\r\n mouseIn = false;\r\n mouseDown = false;\r\n });\r\n\r\n $slider.mousedown(function () {\r\n mouseDown = true;\r\n });\r\n\r\n $slider.mouseup(function () {\r\n mouseDown = false;\r\n });\r\n\r\n $slider.mousemove(\r\n /**\r\n *\r\n * @param {object} evt - event properties\r\n * @this {HTMLElement}\r\n */\r\n function (evt) {\r\n if (!(mouseIn && mouseDown)) {\r\n return;\r\n }\r\n\r\n dragged = true;\r\n\r\n if (lastVal == this['value']) {\r\n return;\r\n }\r\n lastVal = this['value'];\r\n\r\n if (timeout != null) {\r\n clearTimeout(timeout);\r\n }\r\n\r\n let _this = this;\r\n\r\n timeout = setTimeout(function () {\r\n triggerCallback.call(_this, callback, evt);\r\n timeout = null;\r\n\r\n }, changeTimeout);\r\n });\r\n\r\n $slider.keyup(\r\n /**\r\n *\r\n * @param {object} evt - event properties\r\n */\r\n function (evt) {\r\n if (evt.keyCode == 37 || evt.keyCode == 39) {\r\n triggerCallback.call(this, callback, evt);\r\n }\r\n });\r\n\r\n $slider.change(function (evt) {\r\n if (dragged) {\r\n dragged = false;\r\n\r\n return;\r\n }\r\n triggerCallback.call(this, callback, evt);\r\n });\r\n\r\n return this;\r\n}\r\n\r\nnm.rangeChange = rangeChange;\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/domUtil/range-change.ts","import {LayerBase, LayerBaseOptions} from './LayerBase';\r\nimport mapMove from '../olHelpers/mapMove';\r\nimport MapMoveCls from '../olHelpers/mapMoveCls'\r\nimport provide from '../util/provide';\r\nimport ol = require('custom-ol');\r\nimport $ = require('jquery');\r\n\r\nconst nm = provide('layers');\r\n\r\nexport interface makeMapMoveParams {\r\n /**\r\n *\r\n * @param lyr\r\n * @param extent\r\n * @param zoomLevel\r\n */\r\n (lyr: LayerBaseVector, extent: {minX: number, minY: number, maxX: number, maxY: number}, zoomLevel?: number): any\r\n}\r\n\r\n\r\n\r\nexport interface LayerBaseVectorOptions extends LayerBaseOptions{\r\n autoLoad?: boolean;\r\n style?: ol.style.Style|Array<ol.style.Style>|ol.StyleFunction;\r\n onDemand?: boolean;\r\n onDemandDelay?: number;\r\n mapMoveMakeGetParams?: makeMapMoveParams;\r\n mapMoveObj?: MapMoveCls;\r\n renderOrder?: (a: ol.Feature, b: ol.Feature) => number;\r\n\r\n}\r\n\r\n\r\n\r\n/**\r\n * The Vector layer base\r\n * @augments LayerBase\r\n * @abstract\r\n */\r\nexport class LayerBaseVector extends LayerBase {\r\n _olLayer: ol.layer.Vector;\r\n _source: ol.source.Vector;\r\n _style: ol.style.Style|Array<ol.style.Style>|ol.StyleFunction;\r\n _autoLoad: boolean;\r\n _onDemand: boolean;\r\n _onDemandDelay: number;\r\n _mapMoveMakeGetParams: makeMapMoveParams;\r\n _mapMoveParams: any;\r\n _mapMove: MapMoveCls;\r\n _projectionMap: ol.proj.Projection;\r\n _projection4326: ol.proj.Projection;\r\n\r\n\r\n\r\n /**\r\n * The base vector layer\r\n * @param {string} url - pass an empty string to prevent default load and add from a json source\r\n * @param {object} options - config\r\n * @param {string} [options.id] - layer id\r\n * @param {string} [options.name=Unnamed Layer] - layer name\r\n * @param {number} [options.opacity=1] - opacity\r\n * @param {boolean} [options.visible=true] - default visible\r\n * @param {number} [options.minZoom=undefined] - min zoom level, 0 - 28\r\n * @param {number} [options.maxZoom=undefined] - max zoom level, 0 - 28\r\n * @param {object} [options.params={}] the get parameters to include to retrieve the layer\r\n * @param {number} [options.zIndex=0] the z index for the layer\r\n * @param {function} [options.loadCallback] function to call on load, context this is the layer object\r\n * @param {boolean} [options.legendCollapse=false] if the legend item should be initially collapsed\r\n * @param {boolean} [options.legendCheckbox=true] if the legend item should have a checkbox for visibility\r\n * @param {boolean} [options.legendContent] additional content to add to the legend\r\n *\r\n * @param {boolean} [options.autoLoad=false] if the layer should auto load if not visible\r\n * @param {object} [options.style=undefined] the layer style, use openlayers default style if not defined\r\n * @param {boolean} [options.onDemand=false] if the layer should be loaded by extent on map move\r\n * @param {number} [options.onDemandDelay=300] delay before the map move callback should be called\r\n * @param {mapMoveMakeGetParams} [options.mapMoveMakeGetParams=function(lyr, extent, zoomLevel){}] function to create additional map move params\r\n * @param {MapMoveCls} [options.mapMoveObj=mapMove] alternate map move object for use with multi map pages\r\n *\r\n */\r\n constructor(url: string, options: LayerBaseVectorOptions = {}) {\r\n super(url, options);\r\n\r\n options = options as LayerBaseVectorOptions;\r\n\r\n //prevent regular load if no url has been provided\r\n if (this.url.trim() == '') {\r\n this._loaded = true;\r\n }\r\n\r\n this._style = typeof options.style == 'undefined' ? undefined : options.style;\r\n\r\n if (this.visible) {\r\n this._autoLoad = true;\r\n } else {\r\n this._autoLoad = (typeof options['autoLoad'] == 'boolean' ? options['autoLoad'] : false);\r\n }\r\n\r\n this._onDemand = typeof options.onDemand == 'boolean' ? options.onDemand : false;\r\n this._onDemandDelay = typeof options.onDemandDelay == 'number' ? options.onDemandDelay : 300;\r\n\r\n if (options.mapMoveObj) {\r\n this._mapMove = options.mapMoveObj;\r\n } else {\r\n this._mapMove = this._onDemand ? mapMove : undefined;\r\n }\r\n\r\n\r\n this._mapMoveMakeGetParams = typeof options.mapMoveMakeGetParams == 'function' ? options.mapMoveMakeGetParams :\r\n function () {return {};};\r\n\r\n if (this._onDemand) {\r\n this._loaded = true;\r\n this._mapMoveParams = {};\r\n this._mapMove.checkInit();\r\n this._mapMove.addVectorLayer(this);\r\n }\r\n\r\n this._source = new ol.source.Vector();\r\n\r\n\r\n this._olLayer = new ol.layer.Vector(\r\n {\r\n source: this._source,\r\n visible: this.visible,\r\n style: this.style,\r\n minResolution: this._minResolution,\r\n maxResolution: this._maxResolution,\r\n renderOrder: options.renderOrder\r\n }\r\n );\r\n\r\n this.olLayer.setZIndex(this._zIndex);\r\n\r\n this._projectionMap = null;\r\n this._projection4326 = new ol.proj.Projection({code: \"EPSG:4326\"});\r\n this._olLayer.setOpacity(this.opacity)\r\n }\r\n\r\n /**\r\n * dummy to be overridden\r\n * @param {object} featureCollection - geojson or esrijson object\r\n */\r\n addFeatures(featureCollection: Object) {\r\n console.log('Layer vector base addFeatures is a placeholder and does nothing');\r\n }\r\n\r\n /**\r\n * Before call to map move callback, can prevent call by returning false\r\n * @param {number} zoom - zoom level\r\n * @param {string} [evtType=undefined] undefined for initial load, otherwise one of 'change:center', 'change:resolution'\r\n * @returns {boolean} if the call should proceed\r\n */\r\n mapMoveBefore(zoom: number, evtType: string) {\r\n if (this.minZoom !== undefined) {\r\n if (zoom < this.minZoom) {\r\n return false;\r\n }\r\n }\r\n\r\n if (this.maxZoom !== undefined) {\r\n if (zoom > this.maxZoom) {\r\n return false;\r\n }\r\n }\r\n\r\n return this.visible;\r\n }\r\n\r\n /**\r\n * callback to generate the parameters passed in the get request\r\n * @param {object} extent - extent object\r\n * @param {number} extent.minX - minX\r\n * @param {number} extent.minY - minY\r\n * @param {number} extent.maxX - maxX\r\n * @param {number} extent.maxY - maxY\r\n * @param {number} zoomLevel - zoom level\r\n */\r\n mapMoveMakeGetParams(extent: {minX: number, minY: number, maxX: number, maxY: number}, zoomLevel: number) {\r\n this._mapMoveParams = {};\r\n $.extend(this._mapMoveParams, this.params);\r\n $.extend(this._mapMoveParams, this._mapMoveMakeGetParams(this, extent, zoomLevel));\r\n }\r\n\r\n /**\r\n * callback function on map move\r\n * @param {object} d - the json response\r\n */\r\n mapMoveCallback(d: Object) {\r\n if (this.source) {\r\n this._source.clear();\r\n }\r\n }\r\n\r\n /**\r\n * clear features in the layer\r\n */\r\n clear() {\r\n if (this._source) {\r\n this._source.clear();\r\n }\r\n }\r\n\r\n /**\r\n * get on demand delay in miliseconds\r\n */\r\n get onDemandDelay(): number {\r\n return this._onDemandDelay;\r\n }\r\n\r\n /**\r\n * get if the layer is autoloaded\r\n */\r\n get autoLoad(): boolean {\r\n return this._autoLoad;\r\n }\r\n\r\n /**\r\n * get the style definition\r\n */\r\n get style(): ol.StyleFunction|Array<ol.style.Style>|ol.style.Style {\r\n return this._style;\r\n }\r\n\r\n /**\r\n * set the style\r\n * @param style - the style or function\r\n */\r\n set style(style: ol.StyleFunction|Array<ol.style.Style>|ol.style.Style) {\r\n this._style = style;\r\n this.olLayer.setStyle(this._style as ol.style.Style);\r\n }\r\n\r\n /**\r\n * get the map CRS if it is defined by the map move object\r\n */\r\n get mapCrs(): string {\r\n return this.mapProj == null ? null : this.mapProj.getCode();\r\n }\r\n\r\n get mapProj(): ol.proj.Projection{\r\n if (this._projectionMap != null){\r\n return this._projectionMap;\r\n }\r\n\r\n if (this._mapMove) {\r\n this._projectionMap = this._mapMove.map.getView().getProjection();\r\n return this._projectionMap;\r\n } else {\r\n return null;\r\n }\r\n\r\n }\r\n\r\n /**\r\n * get the map move object\r\n * @type {MapMoveCls|*}\r\n */\r\n get mapMove(): MapMoveCls {\r\n return this._mapMove;\r\n }\r\n\r\n /**\r\n * map move params\r\n * @type {object}\r\n */\r\n get mapMoveParams() {\r\n return this._mapMoveParams;\r\n }\r\n\r\n get visible(): boolean{\r\n return this._visible;\r\n }\r\n\r\n /**\r\n * Set the layer visibility\r\n * @type {boolean}\r\n * @override\r\n */\r\n set visible(visibility) {\r\n super.setVisible(visibility);\r\n\r\n if (this._onDemand) {\r\n this.mapMove.triggerLyrLoad(this);\r\n }\r\n }\r\n\r\n /**\r\n * get the layer vector source\r\n * @override\r\n */\r\n get source(): ol.source.Vector {\r\n return this.getSource() as ol.source.Vector;\r\n }\r\n\r\n /**\r\n * array of ol features\r\n */\r\n get features(): Array<ol.Feature> {\r\n return this.source.getFeatures();\r\n }\r\n\r\n /**\r\n *\r\n */\r\n get olLayer(): ol.layer.Vector {\r\n return super.getOlLayer() as ol.layer.Vector;\r\n }\r\n\r\n protected setZIndex(newZ: number) {\r\n this.olLayer.setZIndex(newZ);\r\n }\r\n}\r\n\r\nnm.LayerBaseVector = LayerBaseVector;\r\nexport default LayerBaseVector;\r\n\r\n\r\n\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/layers/LayerBaseVector.ts","/**\r\n * Created by gavorhes on 11/2/2015.\r\n */\r\n\r\nimport {LayerBaseVector, LayerBaseVectorOptions} from './LayerBaseVector';\r\nimport * as esriToOl from '../olHelpers/esriToOlStyle';\r\nimport provide from '../util/provide';\r\nimport ol = require('custom-ol');\r\nimport $ = require('jquery');\r\nlet nm = provide('layers');\r\n\r\nexport interface LayerBaseVectorEsriOptions extends LayerBaseVectorOptions{\r\n format?: string;\r\n outSR?: number;\r\n where?: string;\r\n outFields?: string;\r\n useEsriStyle?: boolean;\r\n}\r\n\r\n/**\r\n * Base layer for esri vector layers\r\n * @augments LayerBaseVector\r\n */\r\nexport class LayerBaseVectorEsri extends LayerBaseVector {\r\n _outSR: number;\r\n _esriFormat: ol.format.EsriJSON;\r\n _urlCopy: string;\r\n _useEsriStyle: boolean;\r\n\r\n /**\r\n * The base vector layer\r\n * @param {string} url - url for source\r\n * @param {object} options - config\r\n * @param {string} [options.id] - layer id\r\n * @param {string} [options.name=Unnamed Layer] - layer name\r\n * @param {number} [options.opacity=1] - opacity\r\n * @param {boolean} [options.visible=true] - default visible\r\n * @param {number} [options.minZoom=undefined] - min zoom level, 0 - 28\r\n * @param {number} [options.maxZoom=undefined] - max zoom level, 0 - 28\r\n * @param {object} [options.params={}] the get parameters to include to retrieve the layer\r\n * @param {number} [options.zIndex=0] the z index for the layer\r\n * @param {function} [options.loadCallback] function to call on load, context this is the layer object\r\n * @param {boolean} [options.legendCollapse=false] if the legend item should be initially collapsed\r\n * @param {boolean} [options.legendCheckbox=true] if the legend item should have a checkbox for visibility\r\n * @param {boolean} [options.legendContent] additional content to add to the legend\r\n *\r\n * @param {boolean} [options.autoLoad=false] if the layer should auto load if not visible\r\n * @param {object} [options.style=undefined] the layer style, use openlayers default style if not defined\r\n * @param {boolean} [options.onDemand=false] if the layer should be loaded by extent on map move\r\n * @param {number} [options.onDemandDelay=300] delay before the map move callback should be called\r\n * @param {MapMoveCls} [options.mapMoveObj=mapMove] alternate map move object for use with multi map pages\r\n *\r\n * @param {string} [options.where=1=1] the layer filter clause\r\n * @param {string} [options.outFields=*] comma separated list of output fields, defaults to all\r\n * @param {string} [options.format=pjson] the format the retrieve the data\r\n * @param {number} [options.outSR=3857] the output spatial reference, defaults to web mercator\r\n * @param {boolean} [options.useEsriStyle=false] if the map service style should be used\r\n * @param {boolean} [options.collapseLegend=false] if the legend should be initially collapsed\r\n * @param {number} [options.mapMoveMakeGetParams=function(extent, zoomLevel){}] function to create additional map move params\r\n */\r\n constructor(url: string, options: LayerBaseVectorEsriOptions) {\r\n\r\n if (typeof options.params != 'object') {\r\n options.params = {};\r\n }\r\n options.params['where'] = options.where || '1=1';\r\n options.params['outFields'] = options.outFields || '*';\r\n options.params['f'] = options.format || 'pjson';\r\n options.params['outSR'] = options.outSR || 3857;\r\n\r\n super(url, options);\r\n this._outSR = this.params['outSR'];\r\n this._esriFormat = new ol.format.EsriJSON();\r\n\r\n if (this._url[this._url.length - 1] !== '/') {\r\n this._url += '/';\r\n }\r\n\r\n this._urlCopy = this.url;\r\n this._url += 'query?callback=?';\r\n\r\n if (this.autoLoad || this.visible) {\r\n this._load();\r\n }\r\n\r\n this._useEsriStyle = typeof options.useEsriStyle == 'boolean' ? options.useEsriStyle : false;\r\n\r\n if (this._useEsriStyle) {\r\n this.addLegendContent();\r\n }\r\n }\r\n\r\n /**\r\n * add additional content to the legend\r\n * @param {string} [additionalContent=''] additional content to add to legend\r\n */\r\n addLegendContent(additionalContent?: string) {\r\n if (!this._useEsriStyle) {\r\n super.addLegendContent(additionalContent);\r\n } else {\r\n $.get(this._urlCopy + '?f=pjson&callback=?', {}, (d) => {\r\n if (d['subLayers'].length > 0) {\r\n alert('should only use single feature layers, not groups');\r\n\r\n return;\r\n }\r\n\r\n let newStyleAndLegend = esriToOl.makeFeatureServiceLegendAndSymbol(d);\r\n this.style = newStyleAndLegend.style;\r\n super.addLegendContent(newStyleAndLegend.legend);\r\n }, 'json');\r\n }\r\n }\r\n\r\n\r\n /**\r\n * add feature collection\r\n * @param {object} featureCollection - features as esrijson\r\n */\r\n addFeatures(featureCollection: Object) {\r\n let feats = this._esriFormat.readFeatures(featureCollection);\r\n this.source.addFeatures(feats);\r\n }\r\n\r\n /**\r\n * trigger load features\r\n * @protected\r\n * @returns {boolean} if already loaded\r\n */\r\n _load() {\r\n if (super._load()) {\r\n return true;\r\n }\r\n $.get(this._url, this.params, (d) => {\r\n this.addFeatures(d);\r\n this.loadCallback(this);\r\n }, 'json').fail(() => {\r\n this._loaded = false;\r\n });\r\n\r\n return false;\r\n }\r\n\r\n /**\r\n * callback to generate the parameters passed in the get request\r\n * @param {object} extent - extent object\r\n * @param {number} extent.minX - minX\r\n * @param {number} extent.minY - minY\r\n * @param {number} extent.maxX - maxX\r\n * @param {number} extent.maxY - maxY\r\n * @param {number} zoomLevel - zoom level\r\n */\r\n mapMoveMakeGetParams(extent: {minX: number, minY: number, maxX: number, maxY: number}, zoomLevel: number) {\r\n super.mapMoveMakeGetParams(extent, zoomLevel);\r\n this.mapMoveParams['geometry'] = `${extent.minX},${extent.minY},${extent.maxX},${extent.maxY}`;\r\n this.mapMoveParams['geometryType'] = 'esriGeometryEnvelope';\r\n this.mapMoveParams['spatialRel'] = 'esriSpatialRelIntersects';\r\n this.mapMoveParams['spatialRel'] = 'esriSpatialRelIntersects';\r\n this.mapMoveParams['inSR'] = 3857;\r\n if (this._outSR == 3857) {\r\n this.mapMoveParams['geometryPrecision'] = 1;\r\n }\r\n }\r\n\r\n /**\r\n * Before call to map move callback, can prevent call by returning false\r\n * @param {number} zoom - zoom level\r\n * @param {string} [evtType=undefined] undefined for initial load, otherwise one of 'change:center', 'change:resolution'\r\n * @returns {boolean} if the call should proceed\r\n */\r\n mapMoveBefore(zoom: number, evtType: string) {\r\n return super.mapMoveBefore(zoom, evtType);\r\n //if (super.mapMoveBefore(zoom, evtType)){\r\n // //place holder for additional processing\r\n // return true;\r\n //} else {\r\n // return false;\r\n //}\r\n }\r\n\r\n /**\r\n * callback function on map move\r\n * @param {object} d - the json response\r\n */\r\n mapMoveCallback(d: Object) {\r\n super.mapMoveCallback(d);\r\n this.source.addFeatures(this._esriFormat.readFeatures(d));\r\n }\r\n}\r\n\r\nnm.LayerBaseVectorEsri = LayerBaseVectorEsri;\r\nexport default LayerBaseVectorEsri;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/layers/LayerBaseVectorEsri.ts","/**\r\n * Created by gavorhes on 11/4/2015.\r\n */\r\n\r\nimport {LayerBaseXyzTile} from './LayerBaseXyzTile';\r\nimport {LayerBaseOptions} from './LayerBase';\r\nimport RealEarthAnimateTile from '../mixin/RealEarthAnimateTile';\r\nimport provide from '../util/provide';\r\nimport {IRealEarthAnimate, timesLoadedCallback} from \"../mixin/RealEarthAnimate\";\r\nconst nm = provide('layers');\r\n\r\nexport interface LayerRealEarthTileOptions extends LayerBaseOptions {\r\n products: string;\r\n animate?: boolean;\r\n timeLoadCallback?: timesLoadedCallback;\r\n}\r\n\r\n\r\n/**\r\n * Real earth tile\r\n * @augments LayerBaseXyzTile\r\n */\r\nexport class LayerRealEarthTile extends LayerBaseXyzTile implements IRealEarthAnimate {\r\n _products: string;\r\n animator: RealEarthAnimateTile;\r\n\r\n /**\r\n * The base layer for all others\r\n * @param {object} options - config\r\n * @param {string} [options.id] - layer id\r\n * @param {string} [options.name=Unnamed Layer] - layer name\r\n * @param {number} [options.opacity=1] - opacity\r\n * @param {boolean} [options.visible=true] - default visible\r\n * @param {number} [options.minZoom=undefined] - min zoom level, 0 - 28\r\n * @param {number} [options.maxZoom=undefined] - max zoom level, 0 - 28\r\n * @param {object} [options.params={}] the get parameters to include to retrieve the layer\r\n * @param {number} [options.zIndex=0] the z index for the layer\r\n * @param {function} [options.loadCallback] function to call on load, context this is the layer object\r\n * @param {boolean} [options.legendCollapse=false] if the legend item should be initially collapsed\r\n * @param {boolean} [options.legendCheckbox=true] if the legend item should have a checkbox for visibility\r\n * @param {boolean} [options.legendContent] additional content to add to the legend\r\n *\r\n * @param {string} options.products - the products to request\r\n * @param {boolean} [options.hasTimes=false] If the layer is time dependent, fixed set of dates\r\n * @param {boolean} [options.animate=false] if the layer should be animated\r\n */\r\n constructor(options: LayerRealEarthTileOptions) {\r\n options.animate = typeof options.animate == 'boolean' ? options.animate : false;\r\n if (options.animate) {\r\n super('', options);\r\n this._products = options.products;\r\n this.animator = new RealEarthAnimateTile(this, options.timeLoadCallback);\r\n this.animator.timeInit();\r\n } else {\r\n super(`http://realearth.ssec.wisc.edu/api/image?products=${options.products}&x={x}&y={y}&z={z}`, options);\r\n this._products = options.products;\r\n }\r\n }\r\n\r\n setLayerTime(theTime: number): boolean {\r\n if (this.animator) {\r\n return this.animator.setLayerTime(theTime);\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n _load(): boolean {\r\n if (this.animator) {\r\n return false;\r\n }\r\n return super._load();\r\n }\r\n}\r\n\r\nnm.LayerRealEarthTile = LayerRealEarthTile;\r\nexport default LayerRealEarthTile;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/layers/LayerRealEarthTile.ts","/**\r\n * Created by gavorhes on 12/4/2015.\r\n */\r\nimport {LayerBase, LayerBaseOptions} from './LayerBase';\r\nimport provide from '../util/provide';\r\nimport ol = require('custom-ol');\r\nconst nm = provide('layers');\r\n\r\n\r\n/**\r\n * XYZ tile\r\n * @augments LayerBase\r\n */\r\nexport class LayerBaseXyzTile extends LayerBase {\r\n\r\n\r\n /**\r\n * The XYZ tile layer\r\n * @param {string} url - url for source\r\n * @param {object} options - config\r\n * @param {string} [options.id] - layer id\r\n * @param {string} [options.name=Unnamed Layer] - layer name\r\n * @param {number} [options.opacity=1] - opacity\r\n * @param {boolean} [options.visible=true] - default visible\r\n * @param {number} [options.minZoom=undefined] - min zoom level, 0 - 28\r\n * @param {number} [options.maxZoom=undefined] - max zoom level, 0 - 28\r\n * @param {object} [options.params={}] the get parameters to include to retrieve the layer\r\n * @param {number} [options.zIndex=0] the z index for the layer\r\n * @param {function} [options.loadCallback] function to call on load, context this is the layer object\r\n * @param {boolean} [options.legendCollapse=false] if the legend item should be initially collapsed\r\n * @param {boolean} [options.legendCheckbox=true] if the legend item should have a checkbox for visibility\r\n * @param {boolean} [options.legendContent] additional content to add to the legend\r\n * @param {boolean} [options.useEsriStyle=false] if the map service style should be used\r\n */\r\n constructor(url: string, options: LayerBaseOptions = {}) {\r\n super(url, options);\r\n this._source = new ol.source.XYZ({url: this.url == '' ? undefined : this.url});\r\n\r\n this._olLayer = new ol.layer.Tile({\r\n source: this._source as ol.source.XYZ,\r\n visible: this.visible,\r\n opacity: this.opacity,\r\n minResolution: this._minResolution,\r\n maxResolution: this._maxResolution\r\n } );\r\n\r\n this._olLayer.setZIndex(this._zIndex);\r\n }\r\n\r\n /**\r\n *\r\n * @returns {ol.source.XYZ} the vector source\r\n */\r\n get source(): ol.source.XYZ {\r\n return this._source as ol.source.XYZ;\r\n }\r\n\r\n /**\r\n *\r\n * @returns {ol.layer.Tile|ol.layer.Base|undefined} the ol layer\r\n */\r\n get olLayer() : ol.layer.Tile {\r\n return this._olLayer as ol.layer.Tile;\r\n }\r\n}\r\n\r\nnm.LayerBaseXyzTile = LayerBaseXyzTile;\r\nexport default LayerBaseXyzTile;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/layers/LayerBaseXyzTile.ts","/**\r\n * Created by gavorhes on 12/4/2015.\r\n */\r\nimport provide from '../util/provide';\r\nimport mapPopup from '../olHelpers/mapPopup';\r\nimport LayerRealEarthTile from \"../layers/LayerRealEarthTile\";\r\nimport {LayerVectorRealEarth} from '../layers/LayerRealEarthVector'\r\nimport $ = require('jquery');\r\n\r\nconst nm = provide('mixin');\r\n\r\n\r\n/**\r\n * The GMT offset time in minutes\r\n * @type {number}\r\n */\r\nlet offsetMinutes = (new Date()).getTimezoneOffset();\r\n\r\nexport interface IRealEarthAnimate{\r\n setLayerTime(theTime: number): boolean;\r\n}\r\n\r\nexport interface timesLoadedCallback{\r\n (lyr?: LayerRealEarthTile|LayerVectorRealEarth): void;\r\n}\r\n\r\n\r\n/**\r\n * Mixin to get the product times\r\n * Be sure to call getTimeInit after the mixin has been applied\r\n */\r\nexport class RealEarthAnimate {\r\n _animateEnabled: boolean;\r\n _currentIndex: number;\r\n _localDates: Date[];\r\n _rawDateStrings: string[];\r\n _products: string;\r\n loadCallback: timesLoadedCallback;\r\n localTimes: number[];\r\n _currentTime: number;\r\n\r\n lyr: LayerRealEarthTile|LayerVectorRealEarth;\r\n\r\n constructor(lyr: LayerRealEarthTile|LayerVectorRealEarth, loadCallback?: timesLoadedCallback){\r\n this.lyr = lyr;\r\n this._products = lyr._products;\r\n if (loadCallback){\r\n this.loadCallback = loadCallback;\r\n } else {\r\n this.loadCallback = function(): void {return;};\r\n }\r\n }\r\n\r\n\r\n /**\r\n * Call this after the mixin has been applied\r\n */\r\n timeInit() {\r\n\r\n this._rawDateStrings = [];\r\n this._localDates = [];\r\n this.localTimes = [];\r\n this._animateEnabled = true;\r\n // this._loaded = true;\r\n this._currentTime = undefined;\r\n this._currentIndex = undefined;\r\n\r\n $.get('http://realearth.ssec.wisc.edu/api/products', {products: this._products}, (d) => {\r\n if (d.length == 0) {\r\n console.log(`${this._products} layer not available or does not have times`);\r\n\r\n return;\r\n }\r\n d = d[0];\r\n for (let i = 0; i < d['times'].length; i++) {\r\n this._loadDates.call(this, d['times'][i]);\r\n }\r\n this.loadCallback.call(this.lyr, this.lyr);\r\n this._loadLatest.call(this);\r\n }, 'json');\r\n }\r\n\r\n\r\n /**\r\n * Given the raw time string, add to the arrays to keep track of dates and cache\r\n * @param {string} inString - input string to parse\r\n * @returns {string} the converted string\r\n * @protected\r\n */\r\n _loadDates(inString: string): string {\r\n let yr = inString.slice(0, 4);\r\n let month = inString.slice(4, 6);\r\n let d = inString.slice(6, 8);\r\n let hr = inString.slice(9, 11);\r\n let mn = inString.slice(11, 13);\r\n let sec = inString.slice(13, 15);\r\n\r\n let rawDateStr = inString.replace('.', '_');\r\n this._rawDateStrings.push(rawDateStr);\r\n\r\n let dteStr = `${month}/${d}/${yr} ${hr}:${mn}:${sec}`;\r\n let newDte = new Date(dteStr);\r\n newDte.setMinutes(newDte.getMinutes() - offsetMinutes);\r\n this._localDates.push(newDte);\r\n this.localTimes.push(newDte.getTime());\r\n\r\n return rawDateStr;\r\n }\r\n\r\n /**\r\n *\r\n * @protected\r\n * @returns {boolean} if should continue\r\n */\r\n _loadLatest(){\r\n mapPopup.closePopup();\r\n if (this.localTimes.length > 0){\r\n this._currentIndex = this.localTimes.length -1;\r\n\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n /**\r\n *\r\n * @param {number} theTime - the time\r\n * @returns {boolean} true if new index, false if the same or below lowest value\r\n */\r\n setLayerTime(theTime: number): boolean{\r\n\r\n this._currentTime = theTime;\r\n\r\n let newIndex;\r\n\r\n if (theTime < this.localTimes[0]){\r\n return false;\r\n } else if (theTime > this.localTimes[this.localTimes.length - 1]){\r\n newIndex = this.localTimes.length - 1;\r\n }\r\n\r\n for (let i = 0; i < this.localTimes.length; i++){\r\n if (this.localTimes[i] >= theTime){\r\n newIndex = i;\r\n break;\r\n }\r\n }\r\n\r\n if (newIndex == this._currentIndex){\r\n return false;\r\n } else {\r\n this._currentIndex = newIndex;\r\n mapPopup.closePopup();\r\n\r\n return true;\r\n }\r\n }\r\n}\r\n\r\nnm.RealEarthAnimate = RealEarthAnimate;\r\nexport default RealEarthAnimate;\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/mixin/RealEarthAnimate.ts","/**\r\n * Created by gavorhes on 12/4/2015.\r\n */\r\nimport RealEarthAnimate from './RealEarthAnimate';\r\nimport provide from '../util/provide';\r\nimport ol = require('custom-ol');\r\nimport LayerRealEarthTile from \"../layers/LayerRealEarthTile\";\r\nconst nm = provide('mixin');\r\n\r\n/**\r\n * Animate real earth tile\r\n * @augments RealEarthAnimate\r\n */\r\nclass RealEarthAnimateTile extends RealEarthAnimate {\r\n _sourceUrls: string[];\r\n _source: ol.source.XYZ;\r\n _olLayer: ol.layer.Tile;\r\n\r\n constructor(layer: LayerRealEarthTile, loadCallback?: (lyr: LayerRealEarthTile) => void){\r\n super(layer, loadCallback);\r\n this._source = layer.source;\r\n this._olLayer = layer.olLayer;\r\n }\r\n\r\n\r\n\r\n timeInit() {\r\n super.timeInit();\r\n this._sourceUrls = [];\r\n }\r\n\r\n _loadDates(inString: string): string {\r\n let rawDte = super._loadDates(inString);\r\n let dteProductUrl =\r\n `http://realearth.ssec.wisc.edu/api/image?products=${this._products}_${rawDte}&x={x}&y={y}&z={z}`;\r\n this._sourceUrls.push(dteProductUrl);\r\n return '';\r\n }\r\n\r\n /**\r\n * @protected\r\n */\r\n _loadLatest(): boolean {\r\n if (super._loadLatest()){\r\n this._source.setUrl(this._sourceUrls[this._sourceUrls.length - 1]);\r\n }\r\n return true;\r\n }\r\n\r\n setLayerTime(theTime: number): boolean {\r\n if (super.setLayerTime(theTime)) {\r\n if (this._olLayer.getZIndex() < 0){\r\n this._olLayer.setZIndex(0);\r\n }\r\n this._source.setUrl(this._sourceUrls[this._currentIndex]);\r\n } else {\r\n this._olLayer.setZIndex(-1);\r\n }\r\n return true;\r\n }\r\n}\r\n\r\nnm.RealEarthAnimateTile = RealEarthAnimateTile;\r\nexport default RealEarthAnimateTile;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/mixin/RealEarthAnimateTile.ts","import {quickMap} from '../../olHelpers/quickMap';\r\nimport LayerRealEarthTile from \"../../layers/LayerRealEarthTile\";\r\nimport {MediaControl, changeFunction} from \"../../domUtil/media-control\";\r\nimport $ = require('jquery');\r\nimport {LayerBaseVectorEsri} from \"../../layers/LayerBaseVectorEsri\";\r\nimport {LayerEsriMapServer} from \"../../layers/LayerEsriMapServer\";\r\n\r\nlet nexrhresStatic = new LayerRealEarthTile({\r\n products: 'nexrhres',\r\n id: 'nexrhres-static',\r\n opacity: 0.6,\r\n animate: true,\r\n name: 'Hybrid Reflectivity',\r\n // maxZoom: 10,\r\n timeLoadCallback: function (f) {\r\n console.log(f);\r\n }\r\n }\r\n);\r\n\r\n\r\nlet d = new Date();\r\nlet endTime = d.getTime();\r\nd.setHours(d.getHours() - 4);\r\nlet startTime = d.getTime();\r\nlet rangeStep = Math.round((endTime - startTime) / 8);\r\n\r\nlet media = new MediaControl(\r\n $('#control'),\r\n (v: number) => {\r\n nexrhresStatic.setLayerTime(v);\r\n },\r\n {\r\n min: startTime,\r\n max: endTime,\r\n val: endTime,\r\n step: rangeStep,\r\n playInterval: 750,\r\n showAsDate: true\r\n }\r\n);\r\n\r\n\r\nlet map = quickMap();\r\nmap.addLayer(nexrhresStatic.olLayer);\r\n\r\n\r\nlet coordinationLayer = new LayerBaseVectorEsri(\r\n 'http://transportal.cee.wisc.edu/applications/arcgis2/rest/services/GLRTOC/GlrtocCoordination/MapServer/0',\r\n {\r\n visible: true,\r\n autoLoad: true,\r\n name: 'Coordination',\r\n useEsriStyle: true\r\n }\r\n);\r\n\r\nmap.addLayer(coordinationLayer.olLayer);\r\n\r\n let oakRidgeLayers = [\r\n ['Cameras', 'cameras33'],\r\n ['HAR', 'HAR33'],\r\n ['DMS', 'MessageSigns33'],\r\n //['State Summary', 'statesummary'],\r\n ['Traffic Control', 'TrafficControl33'],\r\n ['Traffic Detection', 'TrafficDetectionMulti'],\r\n ['Weather', 'Weather33']\r\n ];\r\n\r\n\r\n for (let i = 0; i < oakRidgeLayers.length; i++) {\r\n let oakRidgeLayer = new LayerEsriMapServer(\r\n `http://itsdpro.ornl.gov/arcgis/rest/services/ITSPublic/${oakRidgeLayers[i][1]}/MapServer`,\r\n {\r\n id: oakRidgeLayers[i][1],\r\n name: oakRidgeLayers[i][0],\r\n visible: true,\r\n minZoom: 7,\r\n zIndex: 20,\r\n addPopup: true,\r\n legendCollapse: true\r\n }\r\n );\r\n map.addLayer(oakRidgeLayer.olLayer);\r\n }\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/_tests/demos/animate.ts"],"sourceRoot":""} \ No newline at end of file diff --git a/test/serve/js/another.js b/test/serve/js/another.js index 6c767e791e82f564585aa5917023a7e802451966..17fc6cac4378d7c96f473def67162526f371a00a 100644 --- a/test/serve/js/another.js +++ b/test/serve/js/another.js @@ -63,12 +63,12 @@ /******/ __webpack_require__.p = ""; /******/ /******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = 68); +/******/ return __webpack_require__(__webpack_require__.s = 70); /******/ }) /************************************************************************/ /******/ ({ -/***/ 68: +/***/ 70: /***/ (function(module, exports) { /** diff --git a/test/serve/js/another.js.map b/test/serve/js/another.js.map index 4844d7fde21a1fe88a51001510154daad37d19c8..5c6f30c6ed87a98d9b87bf955809cb41ad9f7344 100644 --- a/test/serve/js/another.js.map +++ b/test/serve/js/another.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap b7d91eb15b0b6dcf7ee0?08c4***********","webpack:///./src/_tests/demos/another.ts"],"names":[],"mappings":";AAAA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA,mDAA2C,cAAc;;AAEzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;AAEA;AACA;;;;;;;;AChEA;;GAEG;AAEH,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;AAC/B,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC","file":"another.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 68);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap b7d91eb15b0b6dcf7ee0","/**\r\n * Created by gavorhes on 9/22/2016.\r\n */\r\n\r\nconsole.log('here is another');\r\nconsole.log('here is another');\n\n\n// WEBPACK FOOTER //\n// ./src/_tests/demos/another.ts"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/bootstrap 85176672b243dd643c6c?aa7c***********","webpack:///./src/_tests/demos/another.ts"],"names":[],"mappings":";AAAA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA,mDAA2C,cAAc;;AAEzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;AAEA;AACA;;;;;;;;AChEA;;GAEG;AAEH,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;AAC/B,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC","file":"another.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 70);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 85176672b243dd643c6c","/**\r\n * Created by gavorhes on 9/22/2016.\r\n */\r\n\r\nconsole.log('here is another');\r\nconsole.log('here is another');\n\n\n// WEBPACK FOOTER //\n// ./src/_tests/demos/another.ts"],"sourceRoot":""} \ No newline at end of file diff --git a/test/serve/js/compare-test.js b/test/serve/js/compare-test.js index 9503c5760fea0f942cfb338819d4cb85a239da84..ec8f2c95e959558d2e685b7f28f39681dba51265 100644 --- a/test/serve/js/compare-test.js +++ b/test/serve/js/compare-test.js @@ -63,11 +63,12 @@ /******/ __webpack_require__.p = ""; /******/ /******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = 69); +/******/ return __webpack_require__(__webpack_require__.s = 71); /******/ }) /************************************************************************/ -/******/ ([ -/* 0 */ +/******/ ({ + +/***/ 0: /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -103,229 +104,15 @@ exports.default = provide; /***/ }), -/* 1 */ -/***/ (function(module, exports) { - -module.exports = $; -/***/ }), -/* 2 */ +/***/ 1: /***/ (function(module, exports) { -module.exports = ol; - -/***/ }), -/* 3 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * Created by gavorhes on 11/3/2015. - */ - -Object.defineProperty(exports, "__esModule", { value: true }); -var provide_1 = __webpack_require__(0); -var nm = provide_1.default('util'); -/** - * guids are used to uniquely identify groups and features - * @returns {string} a new guid - */ -function makeGuid() { - return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx' - .replace(/[xy]/g, function (c) { - var r = Math.random() * 16 | 0, v = c == 'x' ? r : r & 0x3 | 0x8; - return v.toString(16); - }); -} -exports.makeGuid = makeGuid; -nm.makeGuid = makeGuid; -exports.default = makeGuid; - - -/***/ }), -/* 4 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * Created by gavorhes on 11/3/2015. - */ - -Object.defineProperty(exports, "__esModule", { value: true }); -var mapPopupCls_1 = __webpack_require__(24); -/** - * The single popup object catch is that it is common to multimap pages - * @type {MapPopupCls} - */ -exports.mapPopup = new mapPopupCls_1.default(); -exports.default = exports.mapPopup; - - -/***/ }), -/* 5 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -Object.defineProperty(exports, "__esModule", { value: true }); -/** - * Created by gavorhes on 12/8/2015. - */ -var provide_1 = __webpack_require__(0); -var nm = provide_1.default('olHelpers'); -/** - * base interaction - */ -var MapInteractionBase = (function () { - /** - * map interaction base - * @param subtype - the interaction subtype - */ - function MapInteractionBase(subtype) { - this._map = null; - this._initialized = false; - this._subtype = subtype; - } - /** - * base initializer, returns true for already initialized - * @param theMap - the ol Map - * @returns true for already initialized - */ - MapInteractionBase.prototype.init = function (theMap) { - if (!this._initialized) { - this._map = theMap; - this._initialized = true; - } - }; - Object.defineProperty(MapInteractionBase.prototype, "map", { - /** - * get reference to the ol map object - * @returns {ol.Map} the map object - */ - get: function () { - return this._map; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(MapInteractionBase.prototype, "initialized", { - /** - * get if is initialized - * @returns {boolean} is initialized - */ - get: function () { - return this._initialized; - }, - enumerable: true, - configurable: true - }); - /** - * Check the initialization status and throw exception if not valid yet - * @protected - */ - MapInteractionBase.prototype._checkInit = function () { - if (!this.initialized) { - var msg = this._subtype + " object not initialized"; - alert(msg); - console.log(msg); - throw msg; - } - }; - /** - * Check the initialization status and throw exception if not valid yet - */ - MapInteractionBase.prototype.checkInit = function () { - this._checkInit(); - }; - return MapInteractionBase; -}()); -exports.MapInteractionBase = MapInteractionBase; -nm.MapInteractionBase = MapInteractionBase; -exports.default = MapInteractionBase; - - -/***/ }), -/* 6 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * Created by gavorhes on 11/3/2015. - */ - -Object.defineProperty(exports, "__esModule", { value: true }); -var mapMoveCls_1 = __webpack_require__(23); -/** - * The single map move object catch is that it is common to multimap pages - * @type {MapMoveCls} - */ -exports.mapMove = new mapMoveCls_1.default(); -exports.default = exports.mapMove; - - -/***/ }), -/* 7 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -/** - * Created by gavorhes on 12/15/2015. - */ - -Object.defineProperty(exports, "__esModule", { value: true }); -var quickMapBase_1 = __webpack_require__(25); -var provide_1 = __webpack_require__(0); -var mapMove_1 = __webpack_require__(6); -var mapPopup_1 = __webpack_require__(4); -var nm = provide_1.default('olHelpers'); -/** - * Sets up a map with some default parameters and initializes - * mapMove and mapPopup - * - * @param {object} [options={}] config options - * @param {string} [options.divId=map] map div id - * @param {object} [options.center={}] center config object - * @param {number} [options.center.x=-10018378] center x, web mercator x or lon - * @param {number} [options.center.y=5574910] center y, web mercator y or lat - * @param {number} [options.zoom=7] zoom level - * @param {number} [options.minZoom=undefined] min zoom - * @param {number} [options.maxZoom=undefined] max zoom - * @param {boolean} [options.baseSwitcher=true] if add base map switcher - * @param {boolean} [options.fullScreen=false] if add base map switcher - * @returns {ol.Map} the ol map - */ -function quickMap(options) { - if (options === void 0) { options = {}; } - var m = quickMapBase_1.quickMapBase(options); - mapMove_1.default.init(m); - mapPopup_1.default.init(m); - return m; -} -exports.quickMap = quickMap; -nm.quickMap = quickMap; -exports.default = quickMap; - +module.exports = $; /***/ }), -/* 8 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; -Object.defineProperty(exports, "__esModule", { value: true }); -/** - * Created by gavorhes on 10/3/2016. - */ -var ol = __webpack_require__(2); -exports.proj4326 = new ol.proj.Projection({ code: 'EPSG:4326' }); -exports.proj3857 = new ol.proj.Projection({ code: 'EPSG:3857' }); -exports.proj3070 = new ol.proj.Projection({ code: 'EPSG:3070' }); - - -/***/ }), -/* 9 */, -/* 10 */, -/* 11 */ +/***/ 12: /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -653,316 +440,89 @@ var LayerBase = (function () { configurable: true }); Object.defineProperty(LayerBase.prototype, "name", { - /** - * Get the layer name - * @type {string} - */ - get: function () { - return this._name; - }, - /** - * set the layer name - * @param {string} newName - the new name - */ - set: function (newName) { - this._name = newName; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(LayerBase.prototype, "loaded", { - /** - * Check if the layer is loaded - * @type {boolean} - */ - get: function () { - return this._loaded; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(LayerBase.prototype, "source", { - /** - * get the layer source - * @type {*} - */ - get: function () { - return this.getSource(); - }, - enumerable: true, - configurable: true - }); - LayerBase.prototype.getSource = function () { - return this._source; - }; - Object.defineProperty(LayerBase.prototype, "zIndex", { - /** - * get the z index - */ - get: function () { - return this._zIndex; - }, - /** - * set the z index - */ - set: function (newZ) { - this._zIndex = newZ; - }, - enumerable: true, - configurable: true - }); - LayerBase.prototype.setZIndex = function (newZ) { - }; - Object.defineProperty(LayerBase.prototype, "olLayer", { - /** - * the the ol layer - */ - get: function () { - return this.getOlLayer(); - }, - enumerable: true, - configurable: true - }); - LayerBase.prototype.getOlLayer = function () { - return this._olLayer; - }; - return LayerBase; -}()); -exports.LayerBase = LayerBase; -nm.LayerBase = LayerBase; -exports.default = LayerBase; - - -/***/ }), -/* 12 */, -/* 13 */, -/* 14 */, -/* 15 */, -/* 16 */, -/* 17 */, -/* 18 */, -/* 19 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -Object.defineProperty(exports, "__esModule", { value: true }); -var provide_1 = __webpack_require__(0); -var nm = provide_1.default('util.checkDefined'); -/** - * check if the input is undefined or null - * @param input - input pointer - * @returns true undefined or null - */ -function undefinedOrNull(input) { - "use strict"; - return (typeof input === 'undefined' || input === null); -} -exports.undefinedOrNull = undefinedOrNull; -nm.undefinedOrNull = undefinedOrNull; -/** - * check if the input is defined and not null - * @param input - input pointer - * @returns true defined and not null - */ -function definedAndNotNull(input) { - "use strict"; - return !(undefinedOrNull(input)); -} -exports.definedAndNotNull = definedAndNotNull; -nm.definedAndNotNull = definedAndNotNull; - - -/***/ }), -/* 20 */, -/* 21 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -var __extends = (this && this.__extends) || (function () { - var extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; - return function (d, b) { - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; -})(); -Object.defineProperty(exports, "__esModule", { value: true }); -/** - * Created by gavorhes on 12/7/2015. - */ -var LayerBase_1 = __webpack_require__(11); -var esriToOl = __webpack_require__(28); -var mapPopup_1 = __webpack_require__(4); -var provide_1 = __webpack_require__(0); -var ol = __webpack_require__(2); -var $ = __webpack_require__(1); -var nm = provide_1.default('layers'); -/** - * Helper to return the url to the service on the production server - * @param {string} folder - * @param {string} service - * @returns {string} - */ -function makeServiceUrl(folder, service) { - return "https://transportal.cee.wisc.edu/applications/arcgis2/rest/services/" + folder + "/" + service + "/MapServer"; -} -exports.makeServiceUrl = makeServiceUrl; -function localCacheUrl(folder, service) { - var loc = window.location.href; - var url = "/mapserver/" + folder + "/" + service; - if (loc.indexOf('transportal.cee.wisc.edu') > -1) { - if (loc.toLowerCase().indexOf('webmapsstage') > -1) { - url = 'https://transportal.cee.wisc.edu/gis/webmapsstage' + url; - } - else { - url = 'https://transportal.cee.wisc.edu/gis/webmaps' + url; - } - } - return url; -} -exports.localCacheUrl = localCacheUrl; -/** - * esri mapserver layer - * @augments LayerBase - */ -var LayerEsriMapServer = (function (_super) { - __extends(LayerEsriMapServer, _super); - /** - * The base layer for all others - * @param {string} url - resource url - * @param {object} [options] - config - * @param {string} [options.id] - layer id - * @param {string} [options.name=Unnamed Layer] - layer name - * @param {number} [options.opacity=1] - opacity - * @param {boolean} [options.visible=true] - default visible - * @param {number} [options.minZoom=undefined] - min zoom level, 0 - 28 - * @param {number} [options.maxZoom=undefined] - max zoom level, 0 - 28 - * @param {object} [options.params={}] the get parameters to include to retrieve the layer - * @param {number} [options.zIndex=0] the z index for the layer - * @param {function} [options.loadCallback] function to call on load, context this is the layer object - * @param {boolean} [options.legendCollapse=false] if the legend item should be initially collapsed - * @param {boolean} [options.legendCheckbox=true] if the legend item should have a checkbox for visibility - * @param {boolean} [options.legendContent] additional content to add to the legend - * @param {boolean} [options.addPopup=false] if a popup should be added - * @param {undefined|Array<number>} [options.showLayers=undefined] if a popup should be added - */ - function LayerEsriMapServer(url, options) { - if (options === void 0) { options = {}; } - var _this = _super.call(this, url, options) || this; - _this._source = new ol.source.TileArcGISRest({ - url: _this.url == '' ? undefined : _this.url, - params: typeof options.showLayers == 'undefined' ? undefined : { layers: 'show:' + options.showLayers.join(',') } - }); - _this._showLayers = options.showLayers || []; - _this._olLayer = new ol.layer.Tile({ - source: _this._source, - visible: _this.visible, - opacity: _this.opacity, - minResolution: _this._minResolution, - maxResolution: _this._maxResolution - }); - _this._olLayer.setZIndex(_this._zIndex); - options.addPopup = typeof options.addPopup == 'boolean' ? options.addPopup : false; - _this._esriFormat = new ol.format.EsriJSON(); - _this._popupRequest = null; - options.getLegend = typeof options.getLegend === 'boolean' ? options.getLegend : true; - if (options.getLegend) { - _this.addLegendContent(); - } - if (options.addPopup) { - mapPopup_1.default.addMapServicePopup(_this); - } - return _this; - } - /** - * add additional content to the legend - * @param {string} [additionalContent=''] additional content for legend - */ - LayerEsriMapServer.prototype.addLegendContent = function (additionalContent) { - var _this = this; - var urlCopy = this.url; - if (urlCopy[urlCopy.length - 1] !== '/') { - urlCopy += '/'; - } - urlCopy += 'legend?f=pjson&callback=?'; - $.get(urlCopy, {}, function (d) { - var newHtml = esriToOl.makeMapServiceLegend(d, _this._showLayers); - _super.prototype.addLegendContent.call(_this, newHtml); - }, 'json'); - }; - LayerEsriMapServer.prototype.getPopupInfo = function (queryParams) { - if (!this.visible) { - return; - } - var urlCopy = this.url; - if (urlCopy[urlCopy.length - 1] != '/') { - urlCopy += '/'; - } - urlCopy += 'identify?callback=?'; - var __this = this; - if (this._popupRequest != null) { - this._popupRequest.abort(); - } - this._popupRequest = $.get(urlCopy, queryParams, function (d) { - for (var _i = 0, _a = d['results']; _i < _a.length; _i++) { - var r = _a[_i]; - var popupHtml = '<table class="esri-popup-table">'; - for (var a in r['attributes']) { - if (r['attributes'].hasOwnProperty(a)) { - var attrVal = r['attributes'][a]; - if (attrVal == null || attrVal.toString().toLowerCase() == 'null') { - continue; - } - var attr = a; - if (attr.length > 14) { - attr = attr.slice(0, 11) + '...'; - } - popupHtml += "<tr><td>" + attr + "</td><td>" + attrVal + "</td></tr>"; - } - } - popupHtml += '</table>'; - mapPopup_1.default.addMapServicePopupContent(__this._esriFormat.readFeature(r), __this, popupHtml, r['layerName']); - } - }, 'json'); - this._popupRequest.always(function () { - __this._popupRequest = null; - }); + /** + * Get the layer name + * @type {string} + */ + get: function () { + return this._name; + }, + /** + * set the layer name + * @param {string} newName - the new name + */ + set: function (newName) { + this._name = newName; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(LayerBase.prototype, "loaded", { + /** + * Check if the layer is loaded + * @type {boolean} + */ + get: function () { + return this._loaded; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(LayerBase.prototype, "source", { + /** + * get the layer source + * @type {*} + */ + get: function () { + return this.getSource(); + }, + enumerable: true, + configurable: true + }); + LayerBase.prototype.getSource = function () { + return this._source; }; - Object.defineProperty(LayerEsriMapServer.prototype, "source", { + Object.defineProperty(LayerBase.prototype, "zIndex", { /** - * - * @returns {ol.source.TileArcGISRest} the vector source + * get the z index */ get: function () { - return _super.prototype.getSource.call(this); + return this._zIndex; + }, + /** + * set the z index + */ + set: function (newZ) { + this._zIndex = newZ; }, enumerable: true, configurable: true }); - Object.defineProperty(LayerEsriMapServer.prototype, "olLayer", { + LayerBase.prototype.setZIndex = function (newZ) { + }; + Object.defineProperty(LayerBase.prototype, "olLayer", { /** - * - * @returns the ol layer + * the the ol layer */ get: function () { - return _super.prototype.getOlLayer.call(this); + return this.getOlLayer(); }, enumerable: true, configurable: true }); - return LayerEsriMapServer; -}(LayerBase_1.LayerBase)); -exports.LayerEsriMapServer = LayerEsriMapServer; -nm.LayerEsriMapServer = LayerEsriMapServer; -exports.default = LayerEsriMapServer; + LayerBase.prototype.getOlLayer = function () { + return this._olLayer; + }; + return LayerBase; +}()); +exports.LayerBase = LayerBase; +nm.LayerBase = LayerBase; +exports.default = LayerBase; /***/ }), -/* 22 */ + +/***/ 13: /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -1048,7 +608,8 @@ exports.Geocode = Geocode; /***/ }), -/* 23 */ + +/***/ 14: /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -1064,8 +625,8 @@ var __extends = (this && this.__extends) || (function () { }; })(); Object.defineProperty(exports, "__esModule", { value: true }); -var mapInteractionBase_1 = __webpack_require__(5); -var checkDefined = __webpack_require__(19); +var mapInteractionBase_1 = __webpack_require__(4); +var checkDefined = __webpack_require__(9); var provide_1 = __webpack_require__(0); var makeGuid_1 = __webpack_require__(3); var $ = __webpack_require__(1); @@ -1293,7 +854,8 @@ exports.default = MapMoveCls; /***/ }), -/* 24 */ + +/***/ 15: /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -1312,7 +874,7 @@ var __extends = (this && this.__extends) || (function () { }; })(); Object.defineProperty(exports, "__esModule", { value: true }); -var mapInteractionBase_1 = __webpack_require__(5); +var mapInteractionBase_1 = __webpack_require__(4); var provide_1 = __webpack_require__(0); var ol = __webpack_require__(2); var $ = __webpack_require__(1); @@ -1728,7 +1290,8 @@ exports.default = MapPopupCls; /***/ }), -/* 25 */ + +/***/ 16: /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -1740,7 +1303,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); var provide_1 = __webpack_require__(0); var ol = __webpack_require__(2); var $ = __webpack_require__(1); -var geocode_1 = __webpack_require__(22); +var geocode_1 = __webpack_require__(13); var nm = provide_1.default('olHelpers'); /** * Sets up a map with some default parameters and initializes @@ -1831,7 +1394,203 @@ exports.default = quickMapBase; /***/ }), -/* 26 */ + +/***/ 2: +/***/ (function(module, exports) { + +module.exports = ol; + +/***/ }), + +/***/ 25: +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var __extends = (this && this.__extends) || (function () { + var extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +Object.defineProperty(exports, "__esModule", { value: true }); +/** + * Created by gavorhes on 12/7/2015. + */ +var LayerBase_1 = __webpack_require__(12); +var esriToOl = __webpack_require__(28); +var mapPopup_1 = __webpack_require__(5); +var provide_1 = __webpack_require__(0); +var ol = __webpack_require__(2); +var $ = __webpack_require__(1); +var nm = provide_1.default('layers'); +/** + * Helper to return the url to the service on the production server + * @param {string} folder + * @param {string} service + * @returns {string} + */ +function makeServiceUrl(folder, service) { + return "https://transportal.cee.wisc.edu/applications/arcgis2/rest/services/" + folder + "/" + service + "/MapServer"; +} +exports.makeServiceUrl = makeServiceUrl; +function localCacheUrl(folder, service) { + var loc = window.location.href; + var url = "/mapserver/" + folder + "/" + service; + if (loc.indexOf('transportal.cee.wisc.edu') > -1) { + if (loc.toLowerCase().indexOf('webmapsstage') > -1) { + url = 'https://transportal.cee.wisc.edu/gis/webmapsstage' + url; + } + else { + url = 'https://transportal.cee.wisc.edu/gis/webmaps' + url; + } + } + return url; +} +exports.localCacheUrl = localCacheUrl; +/** + * esri mapserver layer + * @augments LayerBase + */ +var LayerEsriMapServer = (function (_super) { + __extends(LayerEsriMapServer, _super); + /** + * The base layer for all others + * @param {string} url - resource url + * @param {object} [options] - config + * @param {string} [options.id] - layer id + * @param {string} [options.name=Unnamed Layer] - layer name + * @param {number} [options.opacity=1] - opacity + * @param {boolean} [options.visible=true] - default visible + * @param {number} [options.minZoom=undefined] - min zoom level, 0 - 28 + * @param {number} [options.maxZoom=undefined] - max zoom level, 0 - 28 + * @param {object} [options.params={}] the get parameters to include to retrieve the layer + * @param {number} [options.zIndex=0] the z index for the layer + * @param {function} [options.loadCallback] function to call on load, context this is the layer object + * @param {boolean} [options.legendCollapse=false] if the legend item should be initially collapsed + * @param {boolean} [options.legendCheckbox=true] if the legend item should have a checkbox for visibility + * @param {boolean} [options.legendContent] additional content to add to the legend + * @param {boolean} [options.addPopup=false] if a popup should be added + * @param {undefined|Array<number>} [options.showLayers=undefined] if a popup should be added + */ + function LayerEsriMapServer(url, options) { + if (options === void 0) { options = {}; } + var _this = _super.call(this, url, options) || this; + _this._source = new ol.source.TileArcGISRest({ + url: _this.url == '' ? undefined : _this.url, + params: typeof options.showLayers == 'undefined' ? undefined : { layers: 'show:' + options.showLayers.join(',') } + }); + _this._showLayers = options.showLayers || []; + _this._olLayer = new ol.layer.Tile({ + source: _this._source, + visible: _this.visible, + opacity: _this.opacity, + minResolution: _this._minResolution, + maxResolution: _this._maxResolution + }); + _this._olLayer.setZIndex(_this._zIndex); + options.addPopup = typeof options.addPopup == 'boolean' ? options.addPopup : false; + _this._esriFormat = new ol.format.EsriJSON(); + _this._popupRequest = null; + options.getLegend = typeof options.getLegend === 'boolean' ? options.getLegend : true; + if (options.getLegend) { + _this.addLegendContent(); + } + if (options.addPopup) { + mapPopup_1.default.addMapServicePopup(_this); + } + return _this; + } + /** + * add additional content to the legend + * @param {string} [additionalContent=''] additional content for legend + */ + LayerEsriMapServer.prototype.addLegendContent = function (additionalContent) { + var _this = this; + var urlCopy = this.url; + if (urlCopy[urlCopy.length - 1] !== '/') { + urlCopy += '/'; + } + urlCopy += 'legend?f=pjson&callback=?'; + $.get(urlCopy, {}, function (d) { + var newHtml = esriToOl.makeMapServiceLegend(d, _this._showLayers); + _super.prototype.addLegendContent.call(_this, newHtml); + }, 'json'); + }; + LayerEsriMapServer.prototype.getPopupInfo = function (queryParams) { + if (!this.visible) { + return; + } + var urlCopy = this.url; + if (urlCopy[urlCopy.length - 1] != '/') { + urlCopy += '/'; + } + urlCopy += 'identify?callback=?'; + var __this = this; + if (this._popupRequest != null) { + this._popupRequest.abort(); + } + this._popupRequest = $.get(urlCopy, queryParams, function (d) { + for (var _i = 0, _a = d['results']; _i < _a.length; _i++) { + var r = _a[_i]; + var popupHtml = '<table class="esri-popup-table">'; + for (var a in r['attributes']) { + if (r['attributes'].hasOwnProperty(a)) { + var attrVal = r['attributes'][a]; + if (attrVal == null || attrVal.toString().toLowerCase() == 'null') { + continue; + } + var attr = a; + if (attr.length > 14) { + attr = attr.slice(0, 11) + '...'; + } + popupHtml += "<tr><td>" + attr + "</td><td>" + attrVal + "</td></tr>"; + } + } + popupHtml += '</table>'; + mapPopup_1.default.addMapServicePopupContent(__this._esriFormat.readFeature(r), __this, popupHtml, r['layerName']); + } + }, 'json'); + this._popupRequest.always(function () { + __this._popupRequest = null; + }); + }; + Object.defineProperty(LayerEsriMapServer.prototype, "source", { + /** + * + * @returns {ol.source.TileArcGISRest} the vector source + */ + get: function () { + return _super.prototype.getSource.call(this); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(LayerEsriMapServer.prototype, "olLayer", { + /** + * + * @returns the ol layer + */ + get: function () { + return _super.prototype.getOlLayer.call(this); + }, + enumerable: true, + configurable: true + }); + return LayerEsriMapServer; +}(LayerBase_1.LayerBase)); +exports.LayerEsriMapServer = LayerEsriMapServer; +nm.LayerEsriMapServer = LayerEsriMapServer; +exports.default = LayerEsriMapServer; + + +/***/ }), + +/***/ 26: /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -1913,8 +1672,8 @@ nm.resolutionToZoom = resolutionToZoom; /***/ }), -/* 27 */, -/* 28 */ + +/***/ 28: /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -2279,38 +2038,185 @@ nm.makeMapServiceLegend = makeMapServiceLegend; /***/ }), -/* 29 */, -/* 30 */, -/* 31 */, -/* 32 */, -/* 33 */, -/* 34 */, -/* 35 */, -/* 36 */, -/* 37 */, -/* 38 */, -/* 39 */, -/* 40 */, -/* 41 */, -/* 42 */, -/* 43 */, -/* 44 */, -/* 45 */, -/* 46 */, -/* 47 */, -/* 48 */, -/* 49 */, -/* 50 */, -/* 51 */, -/* 52 */, -/* 53 */, -/* 54 */, -/* 55 */, -/* 56 */, -/* 57 */, -/* 58 */, -/* 59 */, -/* 60 */ + +/***/ 3: +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/** + * Created by gavorhes on 11/3/2015. + */ + +Object.defineProperty(exports, "__esModule", { value: true }); +var provide_1 = __webpack_require__(0); +var nm = provide_1.default('util'); +/** + * guids are used to uniquely identify groups and features + * @returns {string} a new guid + */ +function makeGuid() { + return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx' + .replace(/[xy]/g, function (c) { + var r = Math.random() * 16 | 0, v = c == 'x' ? r : r & 0x3 | 0x8; + return v.toString(16); + }); +} +exports.makeGuid = makeGuid; +nm.makeGuid = makeGuid; +exports.default = makeGuid; + + +/***/ }), + +/***/ 4: +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +/** + * Created by gavorhes on 12/8/2015. + */ +var provide_1 = __webpack_require__(0); +var nm = provide_1.default('olHelpers'); +/** + * base interaction + */ +var MapInteractionBase = (function () { + /** + * map interaction base + * @param subtype - the interaction subtype + */ + function MapInteractionBase(subtype) { + this._map = null; + this._initialized = false; + this._subtype = subtype; + } + /** + * base initializer, returns true for already initialized + * @param theMap - the ol Map + * @returns true for already initialized + */ + MapInteractionBase.prototype.init = function (theMap) { + if (!this._initialized) { + this._map = theMap; + this._initialized = true; + } + }; + Object.defineProperty(MapInteractionBase.prototype, "map", { + /** + * get reference to the ol map object + * @returns {ol.Map} the map object + */ + get: function () { + return this._map; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(MapInteractionBase.prototype, "initialized", { + /** + * get if is initialized + * @returns {boolean} is initialized + */ + get: function () { + return this._initialized; + }, + enumerable: true, + configurable: true + }); + /** + * Check the initialization status and throw exception if not valid yet + * @protected + */ + MapInteractionBase.prototype._checkInit = function () { + if (!this.initialized) { + var msg = this._subtype + " object not initialized"; + alert(msg); + console.log(msg); + throw msg; + } + }; + /** + * Check the initialization status and throw exception if not valid yet + */ + MapInteractionBase.prototype.checkInit = function () { + this._checkInit(); + }; + return MapInteractionBase; +}()); +exports.MapInteractionBase = MapInteractionBase; +nm.MapInteractionBase = MapInteractionBase; +exports.default = MapInteractionBase; + + +/***/ }), + +/***/ 5: +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/** + * Created by gavorhes on 11/3/2015. + */ + +Object.defineProperty(exports, "__esModule", { value: true }); +var mapPopupCls_1 = __webpack_require__(15); +/** + * The single popup object catch is that it is common to multimap pages + * @type {MapPopupCls} + */ +exports.mapPopup = new mapPopupCls_1.default(); +exports.default = exports.mapPopup; + + +/***/ }), + +/***/ 6: +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/** + * Created by gavorhes on 12/15/2015. + */ + +Object.defineProperty(exports, "__esModule", { value: true }); +var quickMapBase_1 = __webpack_require__(16); +var provide_1 = __webpack_require__(0); +var mapMove_1 = __webpack_require__(7); +var mapPopup_1 = __webpack_require__(5); +var nm = provide_1.default('olHelpers'); +/** + * Sets up a map with some default parameters and initializes + * mapMove and mapPopup + * + * @param {object} [options={}] config options + * @param {string} [options.divId=map] map div id + * @param {object} [options.center={}] center config object + * @param {number} [options.center.x=-10018378] center x, web mercator x or lon + * @param {number} [options.center.y=5574910] center y, web mercator y or lat + * @param {number} [options.zoom=7] zoom level + * @param {number} [options.minZoom=undefined] min zoom + * @param {number} [options.maxZoom=undefined] max zoom + * @param {boolean} [options.baseSwitcher=true] if add base map switcher + * @param {boolean} [options.fullScreen=false] if add base map switcher + * @returns {ol.Map} the ol map + */ +function quickMap(options) { + if (options === void 0) { options = {}; } + var m = quickMapBase_1.quickMapBase(options); + mapMove_1.default.init(m); + mapPopup_1.default.init(m); + return m; +} +exports.quickMap = quickMap; +nm.quickMap = quickMap; +exports.default = quickMap; + + +/***/ }), + +/***/ 60: /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -2443,15 +2349,28 @@ exports.default = LayerSwipe; /***/ }), -/* 61 */, -/* 62 */, -/* 63 */, -/* 64 */, -/* 65 */, -/* 66 */, -/* 67 */, -/* 68 */, -/* 69 */ + +/***/ 7: +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/** + * Created by gavorhes on 11/3/2015. + */ + +Object.defineProperty(exports, "__esModule", { value: true }); +var mapMoveCls_1 = __webpack_require__(14); +/** + * The single map move object catch is that it is common to multimap pages + * @type {MapMoveCls} + */ +exports.mapMove = new mapMoveCls_1.default(); +exports.default = exports.mapMove; + + +/***/ }), + +/***/ 71: /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -2460,9 +2379,9 @@ Object.defineProperty(exports, "__esModule", { value: true }); /** * Created by gavorhes on 6/1/2016. */ -var quickMap_1 = __webpack_require__(7); +var quickMap_1 = __webpack_require__(6); var layerSwipe_1 = __webpack_require__(60); -var LayerEsriMapServer_1 = __webpack_require__(21); +var LayerEsriMapServer_1 = __webpack_require__(25); var map = quickMap_1.quickMap(); var swiper = new layerSwipe_1.default(map); var wisDotRegions = new LayerEsriMapServer_1.LayerEsriMapServer('http://transportal.cee.wisc.edu/applications/arcgis2/rest/services/MetaManager/Metamanager_regions/MapServer', { @@ -2499,6 +2418,58 @@ setTimeout(function () { }, 5000); +/***/ }), + +/***/ 8: +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +/** + * Created by gavorhes on 10/3/2016. + */ +var ol = __webpack_require__(2); +exports.proj4326 = new ol.proj.Projection({ code: 'EPSG:4326' }); +exports.proj3857 = new ol.proj.Projection({ code: 'EPSG:3857' }); +exports.proj3070 = new ol.proj.Projection({ code: 'EPSG:3070' }); + + +/***/ }), + +/***/ 9: +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +var provide_1 = __webpack_require__(0); +var nm = provide_1.default('util.checkDefined'); +/** + * check if the input is undefined or null + * @param input - input pointer + * @returns true undefined or null + */ +function undefinedOrNull(input) { + "use strict"; + return (typeof input === 'undefined' || input === null); +} +exports.undefinedOrNull = undefinedOrNull; +nm.undefinedOrNull = undefinedOrNull; +/** + * check if the input is defined and not null + * @param input - input pointer + * @returns true defined and not null + */ +function definedAndNotNull(input) { + "use strict"; + return !(undefinedOrNull(input)); +} +exports.definedAndNotNull = definedAndNotNull; +nm.definedAndNotNull = definedAndNotNull; + + /***/ }) -/******/ ]); + +/******/ }); //# sourceMappingURL=compare-test.js.map \ No newline at end of file diff --git a/test/serve/js/compare-test.js.map b/test/serve/js/compare-test.js.map index 24058a9750d204852689b580ccab290baa4b7af1..ef9baa3d573b0450d54776f139e38c41552a0a2d 100644 --- a/test/serve/js/compare-test.js.map +++ b/test/serve/js/compare-test.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap b7d91eb15b0b6dcf7ee0","webpack:///./src/util/provide.ts?5c82****","webpack:///external \"$\"?57aa****","webpack:///external \"ol\"?81ed**","webpack:///./src/util/makeGuid.ts?e80e****","webpack:///./src/olHelpers/mapPopup.ts?5d6c**","webpack:///./src/olHelpers/mapInteractionBase.ts?f419**","webpack:///./src/olHelpers/mapMove.ts?6a2b**","webpack:///./src/olHelpers/quickMap.ts?1069**","webpack:///./src/olHelpers/projections.ts?804b**","webpack:///./src/layers/LayerBase.ts?bf94**","webpack:///./src/util/checkDefined.ts?bcd7**","webpack:///./src/layers/LayerEsriMapServer.ts?9c85*","webpack:///./src/olHelpers/geocode.ts?5a2f**","webpack:///./src/olHelpers/mapMoveCls.ts?cd45**","webpack:///./src/olHelpers/mapPopupCls.ts?e3f7**","webpack:///./src/olHelpers/quickMapBase.ts?fb65**","webpack:///./src/olHelpers/zoomResolutionConvert.ts?dd4b**","webpack:///./src/olHelpers/esriToOlStyle.ts?9363*","webpack:///./src/olHelpers/layerSwipe.ts","webpack:///./src/_tests/demos/compare-test.ts"],"names":[],"mappings":"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","file":"compare-test.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 69);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap b7d91eb15b0b6dcf7ee0","/**\r\n * Created by gavorhes on 12/10/2015.\r\n */\r\n\r\ndeclare const window: Window;\r\n/**\r\n * create a namespace on the gv object\r\n * @param {string} namespace to create\r\n * @returns {object} object representing the namespace\r\n */\r\nfunction provide(namespace: string){\r\n \"use strict\";\r\n if (typeof (<any>window).gv == 'undefined'){\r\n (<any>window).gv = {};\r\n }\r\n\r\n let parts = namespace.split('.');\r\n let nameSpace = (<any>window).gv;\r\n\r\n for (let i=0; i< parts.length; i++){\r\n let newObject = nameSpace[parts[i]];\r\n\r\n if (typeof newObject == 'undefined'){\r\n nameSpace[parts[i]] = {};\r\n }\r\n\r\n nameSpace = nameSpace[parts[i]];\r\n }\r\n\r\n return nameSpace;\r\n}\r\n\r\nprovide('util');\r\n(<any>window).gv.util.provide = provide;\r\n\r\nexport default provide;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/util/provide.ts","module.exports = $;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"$\"\n// module id = 1\n// module chunks = 0 1 2 4 5 6 7 8 9","module.exports = ol;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"ol\"\n// module id = 2\n// module chunks = 2 4 5 6","/**\r\n * Created by gavorhes on 11/3/2015.\r\n */\r\n\r\nimport provide from './provide';\r\nlet nm = provide('util');\r\n\r\n\r\n/**\r\n * guids are used to uniquely identify groups and features\r\n * @returns {string} a new guid\r\n */\r\nexport function makeGuid() {\r\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'\r\n .replace(/[xy]/g, function (c) {\r\n let r = Math.random() * 16 | 0, v = c == 'x' ? r : r & 0x3 | 0x8;\r\n\r\n return v.toString(16);\r\n });\r\n\r\n}\r\nnm.makeGuid = makeGuid;\r\nexport default makeGuid;\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/util/makeGuid.ts","/**\r\n * Created by gavorhes on 11/3/2015.\r\n */\r\n\r\nimport MapPopupCls from './mapPopupCls';\r\n\r\n/**\r\n * The single popup object catch is that it is common to multimap pages\r\n * @type {MapPopupCls}\r\n */\r\nexport const mapPopup = new MapPopupCls() as MapPopupCls;\r\nexport default mapPopup;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/mapPopup.ts","/**\r\n * Created by gavorhes on 12/8/2015.\r\n */\r\nimport provide from '../util/provide';\r\nimport ol = require('custom-ol');\r\nconst nm = provide('olHelpers');\r\n\r\n\r\n\r\n/**\r\n * base interaction\r\n */\r\nexport class MapInteractionBase {\r\n _map: ol.Map;\r\n _initialized: boolean;\r\n _subtype: string;\r\n\r\n /**\r\n * map interaction base\r\n * @param subtype - the interaction subtype\r\n */\r\n constructor(subtype: string) {\r\n this._map = null;\r\n this._initialized = false;\r\n this._subtype = subtype;\r\n }\r\n\r\n /**\r\n * base initializer, returns true for already initialized\r\n * @param theMap - the ol Map\r\n * @returns true for already initialized\r\n */\r\n init(theMap: ol.Map){\r\n if (!this._initialized){\r\n this._map = theMap;\r\n this._initialized = true;\r\n }\r\n }\r\n\r\n /**\r\n * get reference to the ol map object\r\n * @returns {ol.Map} the map object\r\n */\r\n get map() {\r\n return this._map;\r\n }\r\n\r\n /**\r\n * get if is initialized\r\n * @returns {boolean} is initialized\r\n */\r\n get initialized() {\r\n return this._initialized;\r\n }\r\n\r\n /**\r\n * Check the initialization status and throw exception if not valid yet\r\n * @protected\r\n */\r\n _checkInit() {\r\n if (!this.initialized) {\r\n let msg = `${this._subtype} object not initialized`;\r\n alert(msg);\r\n console.log(msg);\r\n throw msg;\r\n }\r\n }\r\n\r\n /**\r\n * Check the initialization status and throw exception if not valid yet\r\n */\r\n checkInit(){\r\n this._checkInit();\r\n }\r\n}\r\n\r\nnm.MapInteractionBase = MapInteractionBase;\r\nexport default MapInteractionBase;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/mapInteractionBase.ts","/**\r\n * Created by gavorhes on 11/3/2015.\r\n */\r\n\r\nimport MapMoveCls from './mapMoveCls';\r\n\r\n/**\r\n * The single map move object catch is that it is common to multimap pages\r\n * @type {MapMoveCls}\r\n */\r\n\r\nexport const mapMove = new MapMoveCls();\r\nexport default mapMove;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/mapMove.ts","/**\r\n * Created by gavorhes on 12/15/2015.\r\n */\r\n\r\nimport {quickMapOptions, quickMapBase} from './quickMapBase';\r\nimport provide from '../util/provide';\r\nimport mapMove from './mapMove';\r\nimport mapPopup from './mapPopup';\r\nimport ol = require('custom-ol');\r\nlet nm = provide('olHelpers');\r\n\r\nexport {quickMapOptions} from './quickMapBase';\r\n\r\n/**\r\n * Sets up a map with some default parameters and initializes\r\n * mapMove and mapPopup\r\n *\r\n * @param {object} [options={}] config options\r\n * @param {string} [options.divId=map] map div id\r\n * @param {object} [options.center={}] center config object\r\n * @param {number} [options.center.x=-10018378] center x, web mercator x or lon\r\n * @param {number} [options.center.y=5574910] center y, web mercator y or lat\r\n * @param {number} [options.zoom=7] zoom level\r\n * @param {number} [options.minZoom=undefined] min zoom\r\n * @param {number} [options.maxZoom=undefined] max zoom\r\n * @param {boolean} [options.baseSwitcher=true] if add base map switcher\r\n * @param {boolean} [options.fullScreen=false] if add base map switcher\r\n * @returns {ol.Map} the ol map\r\n */\r\nexport function quickMap(options : quickMapOptions = {}): ol.Map {\r\n let m = quickMapBase(options);\r\n mapMove.init(m);\r\n mapPopup.init(m);\r\n return m;\r\n}\r\n\r\n\r\nnm.quickMap = quickMap;\r\nexport default quickMap;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/quickMap.ts","/**\r\n * Created by gavorhes on 10/3/2016.\r\n */\r\nimport ol = require('custom-ol');\r\n\r\n\r\nexport const proj4326 = new ol.proj.Projection({code: 'EPSG:4326'});\r\nexport const proj3857 = new ol.proj.Projection({code: 'EPSG:3857'});\r\nexport const proj3070 = new ol.proj.Projection({code: 'EPSG:3070'});\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/projections.ts","import * as zoomResolutionConvert from '../olHelpers/zoomResolutionConvert';\r\nimport provide from '../util/provide';\r\nimport ol = require('custom-ol');\r\nimport makeGuid from '../util/makeGuid';\r\nimport $ = require('jquery');\r\n\r\nconst nm = provide('layers');\r\n\r\n\r\nexport interface LayerBaseOptions{\r\n id?: string;\r\n name?: string;\r\n opacity?: number;\r\n visible?: boolean;\r\n minZoom?: number;\r\n maxZoom?: number;\r\n params?: any;\r\n zIndex?: number;\r\n loadCallback?: Function;\r\n legendCollapse?: boolean;\r\n legendCheckbox?: boolean;\r\n legendContent?: string;\r\n}\r\n\r\n\r\n/**\r\n * The base layer class\r\n * @abstract\r\n */\r\nexport abstract class LayerBase {\r\n\r\n protected _legendCheckbox: boolean;\r\n protected _url: string;\r\n protected _opacity: number;\r\n protected _minZoom: number;\r\n protected _maxZoom: number;\r\n protected _visible: boolean;\r\n protected _loaded: boolean;\r\n protected _zIndex: number;\r\n protected _legendContent: string;\r\n protected _params: any;\r\n protected _id: string;\r\n protected _name: string;\r\n protected _source: ol.source.Source;\r\n protected _animate: boolean;\r\n protected _legendCollapse: boolean;\r\n protected _maxResolution: number;\r\n protected _minResolution: number;\r\n protected _$legendDiv: JQuery;\r\n loadCallback: Function;\r\n protected _olLayer: ol.layer.Layer;\r\n protected _applyCollapseCalled: boolean;\r\n\r\n\r\n\r\n /**\r\n * The base layer for all others\r\n * @param {string} url - url for source\r\n * @param {object} options - config\r\n * @param {string} [options.id=makeGuid()] - layer id\r\n * @param {string} [options.name=Unnamed Layer] - layer name\r\n * @param {number} [options.opacity=1] - opacity\r\n * @param {boolean} [options.visible=true] - default visible\r\n * @param {number} [options.minZoom=undefined] - min zoom level, 0 - 28\r\n * @param {number} [options.maxZoom=undefined] - max zoom level, 0 - 28\r\n * @param {object} [options.params={}] - the get parameters to include to retrieve the layer\r\n * @param {number} [options.zIndex=0] - the z index for the layer\r\n * @param {function} [options.loadCallback] - function to call on load, context this is the layer object\r\n * @param {boolean} [options.legendCollapse=false] - if the legend item should be initially collapsed\r\n * @param {boolean} [options.legendCheckbox=true] - if the legend item should have a checkbox for visibility\r\n * @param {boolean} [options.legendContent=undefined] - additional content to add to the legend\r\n */\r\n constructor(url: string, options: LayerBaseOptions = {}) {\r\n options = options || {} as LayerBaseOptions;\r\n\r\n if (typeof url !== 'string') {\r\n throw 'Invalid URL';\r\n }\r\n this._url = url;\r\n\r\n\r\n this._params = typeof options.params == 'object' ? options.params : {};\r\n this._legendCollapse = typeof options.legendCollapse == 'boolean' ? options.legendCollapse : false;\r\n this._legendCheckbox = typeof options.legendCheckbox == 'boolean' ? options.legendCheckbox : true;\r\n\r\n this.id = options.id || makeGuid();\r\n this._name = options.name || 'Unnamed Layer';\r\n this.animate = false;\r\n this._opacity = typeof options.opacity == 'number' ? options.opacity : 1;\r\n\r\n if (this._opacity > 1) {\r\n this._opacity = 1;\r\n } else if (this._opacity < 0) {\r\n this._opacity = 0;\r\n }\r\n\r\n this._visible = typeof options.visible === 'boolean' ? options.visible : true;\r\n\r\n this._source = undefined;\r\n\r\n /**\r\n *\r\n * @protected\r\n */\r\n this._olLayer = undefined;\r\n this._loaded = false;\r\n\r\n this._maxResolution = zoomResolutionConvert.zoomToResolution(options.minZoom);\r\n if (typeof this._maxResolution !== 'undefined') {\r\n this._maxResolution += 0.00001;\r\n }\r\n this._minResolution = zoomResolutionConvert.zoomToResolution(options.maxZoom);\r\n\r\n this._minZoom = typeof options.minZoom == 'number' ? options.minZoom : undefined;\r\n this._maxZoom = typeof options.maxZoom == 'number' ? options.maxZoom : undefined;\r\n this._zIndex = typeof options.zIndex == 'number' ? options.zIndex : 0;\r\n\r\n this.loadCallback = typeof options.loadCallback == 'function' ? options.loadCallback : function () {\r\n };\r\n\r\n\r\n this._legendContent = '';\r\n\r\n if (this._legendCheckbox) {\r\n this._legendContent += `<input type=\"checkbox\" ${this.visible ? 'checked' : ''} ` +\r\n `class=\"legend-check\" id=\"${this.id}-legend-layer-check\"><span></span>`;\r\n this._legendContent += `<label for=\"${this.id}-legend-layer-check\" class=\"legend-layer-name\">${this.name}</label>`;\r\n } else {\r\n this._legendContent += `<label class=\"legend-layer-name\">${this.name}</label>`;\r\n }\r\n\r\n this._$legendDiv = null;\r\n this._applyCollapseCalled = false;\r\n this._addLegendContent(typeof options.legendContent === 'string' ? options.legendContent : undefined);\r\n }\r\n\r\n /**\r\n * base load function, sets _loaded = true if it is not already\r\n * @protected\r\n * @returns {boolean} if already loaded\r\n */\r\n _load() {\r\n if (this.loaded == true) {\r\n return true;\r\n } else {\r\n this._loaded = true;\r\n\r\n return false;\r\n }\r\n }\r\n\r\n /**\r\n * Get the legend html, be sure to only add to the DOM once\r\n * @returns {string} html for layer wrapped in a div\r\n */\r\n getLegendDiv() {\r\n return `<div class=\"legend-layer-div\" id=\"${this.id}-legend-layer-div\">${this._legendContent}</div>`;\r\n }\r\n\r\n /**\r\n *\r\n * @param additionalContent - additional content to add to legend\r\n * @private\r\n */\r\n _addLegendContent(additionalContent='') {\r\n\r\n let addCollapse = additionalContent.indexOf('<ul>') > -1;\r\n\r\n if (addCollapse) {\r\n additionalContent = '<span class=\"legend-items-expander\" title=\"Expand/Collapse\">▼</span>' + additionalContent;\r\n }\r\n\r\n this._legendContent += additionalContent;\r\n\r\n this._$legendDiv = $(`#${this.id}-legend-layer-div`);\r\n\r\n if (this._$legendDiv.length > 0) {\r\n this._$legendDiv.append(additionalContent);\r\n this.applyCollapse();\r\n }\r\n }\r\n\r\n /**\r\n * add additional content to the legend\r\n * @param {string} [additionalContent=] - additonal content to add\r\n */\r\n addLegendContent(additionalContent: string) {\r\n this._addLegendContent(additionalContent);\r\n }\r\n\r\n applyCollapse(): void {\r\n if (this._applyCollapseCalled) {\r\n console.log('collapse already applied');\r\n\r\n return undefined;\r\n }\r\n\r\n this._$legendDiv = $(`#${this.id}-legend-layer-div`);\r\n\r\n if (this._$legendDiv.length > 0) {\r\n\r\n let $expander = this._$legendDiv.find('.legend-items-expander');\r\n\r\n if ($expander.length > 0) {\r\n this._applyCollapseCalled = true;\r\n\r\n $expander.click(function () {\r\n let $this = $(this);\r\n\r\n $this.siblings('ul').slideToggle();\r\n\r\n if ($this.hasClass('legend-layer-group-collapsed')) {\r\n $this.removeClass('legend-layer-group-collapsed');\r\n $this.html('▼');\r\n } else {\r\n $this.addClass('legend-layer-group-collapsed');\r\n $this.html('▶');\r\n }\r\n });\r\n\r\n if (this._legendCollapse) {\r\n $expander.trigger('click');\r\n }\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * trick to refresh the layer\r\n */\r\n refresh() {\r\n if (this.source) {\r\n this.source.refresh();\r\n }\r\n }\r\n\r\n get id(): string{\r\n return this._id;\r\n }\r\n\r\n set id(newId: string){\r\n this._id = newId;\r\n }\r\n\r\n get animate(): boolean{\r\n return this._animate;\r\n }\r\n\r\n set animate(animate: boolean){\r\n this._animate = animate;\r\n }\r\n\r\n /**\r\n * get the legend content\r\n * @type {string}\r\n */\r\n get legendContent(): string {\r\n return this._legendContent;\r\n }\r\n\r\n /**\r\n * set the legend content directly\r\n * @param {string} newVal - new content\r\n * @protected\r\n */\r\n set legendContent(newVal: string) {\r\n this._legendContent = newVal;\r\n }\r\n\r\n /**\r\n * get the map get params\r\n * @type {object}\r\n */\r\n get params(): {[s: string]: any} {\r\n return this._params;\r\n }\r\n\r\n /**\r\n * set the map get params\r\n * @param {object} newParams - new get params\r\n * @protected\r\n */\r\n set params(newParams: {[s: string]: any}) {\r\n this._params = newParams;\r\n }\r\n\r\n /**\r\n * get the minimum resolution\r\n * @type {number|*}\r\n */\r\n get minResolution(): number {\r\n return this._minResolution;\r\n }\r\n\r\n /**\r\n * get the maximum resolution\r\n * @type {number|*}\r\n */\r\n get maxResolution(): number {\r\n return this._maxResolution;\r\n }\r\n\r\n /**\r\n * get min zoom\r\n * @type {number|*}\r\n */\r\n get minZoom(): number {\r\n return this._minZoom;\r\n }\r\n\r\n /**\r\n * get max zoom\r\n * @type {number|*}\r\n */\r\n get maxZoom(): number {\r\n return this._maxZoom;\r\n }\r\n\r\n /**\r\n * get the url\r\n * @type {string}\r\n */\r\n get url(): string {\r\n return this._url;\r\n }\r\n\r\n /**\r\n * Get the layer visibility\r\n * @type {boolean}\r\n */\r\n get visible(): boolean {\r\n return this._visible;\r\n }\r\n\r\n /**\r\n * set the visibility\r\n * @param visibility\r\n */\r\n set visible(visibility: boolean) {\r\n this.setVisible(visibility);\r\n }\r\n\r\n protected setVisible(visibility: boolean) {\r\n this._visible = visibility;\r\n if (this.olLayer) {\r\n this.olLayer.setVisible(this._visible);\r\n if (visibility && !this._loaded) {\r\n this._load();\r\n }\r\n }\r\n }\r\n\r\n\r\n /**\r\n * Get the layer opacity\r\n * @type {number}\r\n */\r\n get opacity(): number {\r\n return this._opacity;\r\n }\r\n\r\n /**\r\n * Set the layer opacity\r\n * @param {number} opacity - layer opacity\r\n */\r\n set opacity(opacity: number) {\r\n this._opacity = opacity;\r\n if (this.olLayer) {\r\n this.olLayer.setOpacity(this._opacity);\r\n }\r\n }\r\n\r\n /**\r\n * Get the layer name\r\n * @type {string}\r\n */\r\n get name(): string {\r\n return this._name;\r\n }\r\n\r\n /**\r\n * set the layer name\r\n * @param {string} newName - the new name\r\n */\r\n set name(newName: string) {\r\n this._name = newName;\r\n }\r\n\r\n /**\r\n * Check if the layer is loaded\r\n * @type {boolean}\r\n */\r\n get loaded():boolean {\r\n return this._loaded;\r\n }\r\n\r\n /**\r\n * get the layer source\r\n * @type {*}\r\n */\r\n get source(): ol.source.Source {\r\n return this.getSource();\r\n }\r\n\r\n\r\n protected getSource(): ol.source.Source{\r\n return this._source;\r\n }\r\n\r\n /**\r\n * get the z index\r\n */\r\n get zIndex(): number {\r\n return this._zIndex;\r\n }\r\n\r\n /**\r\n * set the z index\r\n */\r\n set zIndex(newZ: number) {\r\n this._zIndex = newZ;\r\n }\r\n\r\n protected setZIndex(newZ: number){\r\n\r\n }\r\n\r\n /**\r\n * the the ol layer\r\n */\r\n get olLayer(): ol.layer.Layer {\r\n return this.getOlLayer();\r\n }\r\n\r\n protected getOlLayer(): ol.layer.Layer{\r\n return this._olLayer;\r\n }\r\n}\r\n\r\nnm.LayerBase = LayerBase;\r\nexport default LayerBase;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/layers/LayerBase.ts","import provide from './provide';\r\nlet nm = provide('util.checkDefined');\r\n\r\n/**\r\n * check if the input is undefined or null\r\n * @param input - input pointer\r\n * @returns true undefined or null\r\n */\r\nexport function undefinedOrNull (input: any): boolean{\r\n \"use strict\";\r\n\r\n return (typeof input === 'undefined' || input === null);\r\n}\r\n\r\nnm.undefinedOrNull = undefinedOrNull;\r\n\r\n\r\n/**\r\n * check if the input is defined and not null\r\n * @param input - input pointer\r\n * @returns true defined and not null\r\n */\r\nexport function definedAndNotNull (input: any): boolean{\r\n \"use strict\";\r\n\r\n return !(undefinedOrNull(input));\r\n}\r\n\r\nnm.definedAndNotNull = definedAndNotNull;\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/util/checkDefined.ts","/**\r\n * Created by gavorhes on 12/7/2015.\r\n */\r\nimport {LayerBase, LayerBaseOptions} from './LayerBase';\r\nimport * as esriToOl from '../olHelpers/esriToOlStyle';\r\nimport mapPopup from '../olHelpers/mapPopup';\r\nimport provide from '../util/provide';\r\nimport ol = require('custom-ol');\r\nimport $ = require('jquery');\r\n\r\nconst nm = provide('layers');\r\n\r\n\r\n\r\n/**\r\n * Helper to return the url to the service on the production server\r\n * @param {string} folder\r\n * @param {string} service\r\n * @returns {string}\r\n */\r\nexport function makeServiceUrl(folder: string, service: string): string{\r\n return `https://transportal.cee.wisc.edu/applications/arcgis2/rest/services/${folder}/${service}/MapServer`\r\n}\r\n\r\nexport function localCacheUrl(folder: string, service: string): string{\r\n let loc = window.location.href;\r\n\r\n let url = `/mapserver/${folder}/${service}`;\r\n\r\n if (loc.indexOf('transportal.cee.wisc.edu') > -1){\r\n if (loc.toLowerCase().indexOf('webmapsstage') > -1){\r\n url = 'https://transportal.cee.wisc.edu/gis/webmapsstage' + url;\r\n } else {\r\n url = 'https://transportal.cee.wisc.edu/gis/webmaps' + url\r\n }\r\n }\r\n\r\n\r\n return url;\r\n}\r\n\r\n\r\n\r\n\r\nexport interface LayerEsriMapServerOptions extends LayerBaseOptions {\r\n addPopup?: boolean;\r\n showLayers?: Array<number>;\r\n getLegend?: boolean;\r\n}\r\n\r\n/**\r\n * esri mapserver layer\r\n * @augments LayerBase\r\n */\r\nexport class LayerEsriMapServer extends LayerBase {\r\n _esriFormat: ol.format.EsriJSON;\r\n _popupRequest: JQueryXHR;\r\n _showLayers: number[];\r\n\r\n /**\r\n * The base layer for all others\r\n * @param {string} url - resource url\r\n * @param {object} [options] - config\r\n * @param {string} [options.id] - layer id\r\n * @param {string} [options.name=Unnamed Layer] - layer name\r\n * @param {number} [options.opacity=1] - opacity\r\n * @param {boolean} [options.visible=true] - default visible\r\n * @param {number} [options.minZoom=undefined] - min zoom level, 0 - 28\r\n * @param {number} [options.maxZoom=undefined] - max zoom level, 0 - 28\r\n * @param {object} [options.params={}] the get parameters to include to retrieve the layer\r\n * @param {number} [options.zIndex=0] the z index for the layer\r\n * @param {function} [options.loadCallback] function to call on load, context this is the layer object\r\n * @param {boolean} [options.legendCollapse=false] if the legend item should be initially collapsed\r\n * @param {boolean} [options.legendCheckbox=true] if the legend item should have a checkbox for visibility\r\n * @param {boolean} [options.legendContent] additional content to add to the legend\r\n * @param {boolean} [options.addPopup=false] if a popup should be added\r\n * @param {undefined|Array<number>} [options.showLayers=undefined] if a popup should be added\r\n */\r\n constructor(url: string, options: LayerEsriMapServerOptions = {}) {\r\n\r\n super(url, options);\r\n this._source = new ol.source.TileArcGISRest(\r\n {\r\n url: this.url == '' ? undefined : this.url,\r\n params: typeof options.showLayers == 'undefined' ? undefined : {layers: 'show:' + options.showLayers.join(',')}\r\n }\r\n );\r\n\r\n this._showLayers = options.showLayers || [];\r\n\r\n this._olLayer = new ol.layer.Tile({\r\n source: this._source as ol.source.Tile,\r\n visible: this.visible,\r\n opacity: this.opacity,\r\n minResolution: this._minResolution,\r\n maxResolution: this._maxResolution\r\n });\r\n\r\n\r\n this._olLayer.setZIndex(this._zIndex);\r\n\r\n options.addPopup = typeof options.addPopup == 'boolean' ? options.addPopup : false;\r\n\r\n this._esriFormat = new ol.format.EsriJSON();\r\n this._popupRequest = null;\r\n\r\n options.getLegend = typeof options.getLegend === 'boolean' ? options.getLegend : true;\r\n\r\n if (options.getLegend){\r\n this.addLegendContent();\r\n }\r\n\r\n if (options.addPopup) {\r\n mapPopup.addMapServicePopup(this);\r\n }\r\n }\r\n\r\n /**\r\n * add additional content to the legend\r\n * @param {string} [additionalContent=''] additional content for legend\r\n */\r\n addLegendContent(additionalContent?: string) {\r\n let urlCopy = this.url;\r\n\r\n if (urlCopy[urlCopy.length - 1] !== '/') {\r\n urlCopy += '/';\r\n }\r\n\r\n urlCopy += 'legend?f=pjson&callback=?';\r\n\r\n $.get(urlCopy, {}, (d) => {\r\n let newHtml = esriToOl.makeMapServiceLegend(d, this._showLayers);\r\n super.addLegendContent(newHtml);\r\n }, 'json');\r\n }\r\n\r\n\r\n getPopupInfo(queryParams: {[s: string]: any}) {\r\n if (!this.visible) {\r\n return;\r\n }\r\n\r\n let urlCopy = this.url;\r\n\r\n if (urlCopy[urlCopy.length - 1] != '/') {\r\n urlCopy += '/';\r\n }\r\n\r\n urlCopy += 'identify?callback=?';\r\n\r\n let __this = this;\r\n\r\n if (this._popupRequest != null) {\r\n this._popupRequest.abort();\r\n }\r\n\r\n\r\n this._popupRequest = $.get(urlCopy, queryParams, function (d) {\r\n for (let r of d['results']) {\r\n\r\n let popupHtml = '<table class=\"esri-popup-table\">';\r\n\r\n for (let a in r['attributes']) {\r\n if (r['attributes'].hasOwnProperty(a)) {\r\n let attrVal = r['attributes'][a];\r\n\r\n if (attrVal == null || attrVal.toString().toLowerCase() == 'null') {\r\n continue;\r\n }\r\n\r\n let attr = a;\r\n if (attr.length > 14) {\r\n attr = attr.slice(0, 11) + '...';\r\n }\r\n\r\n popupHtml += `<tr><td>${attr}</td><td>${attrVal}</td></tr>`;\r\n }\r\n }\r\n\r\n popupHtml += '</table>';\r\n\r\n mapPopup.addMapServicePopupContent(__this._esriFormat.readFeature(r), __this, popupHtml, r['layerName']);\r\n }\r\n }, 'json');\r\n\r\n this._popupRequest.always(function () {\r\n __this._popupRequest = null;\r\n });\r\n\r\n }\r\n\r\n /**\r\n *\r\n * @returns {ol.source.TileArcGISRest} the vector source\r\n */\r\n get source(): ol.source.TileArcGISRest {\r\n return super.getSource() as ol.source.TileArcGISRest;\r\n }\r\n\r\n /**\r\n *\r\n * @returns the ol layer\r\n */\r\n get olLayer(): ol.layer.Tile {\r\n return super.getOlLayer() as ol.layer.Tile;\r\n }\r\n}\r\nnm.LayerEsriMapServer = LayerEsriMapServer;\r\nexport default LayerEsriMapServer;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/layers/LayerEsriMapServer.ts","import $ = require('jquery')\r\nimport {makeGuid} from '../util/makeGuid';\r\nimport ol = require('custom-ol');\r\nimport {proj3857, proj4326} from './projections';\r\n\r\n\r\nlet invalidClass = 'geocoder-invalid';\r\nlet geocoderLoadingClass = 'geocoder-loading';\r\n\r\n// let testAddress = '65 7th Street, Prairie du Sac, WI';\r\n\r\n\r\nexport class Geocode {\r\n private theButton: HTMLButtonElement;\r\n private theInput: HTMLInputElement;\r\n private map: ol.Map;\r\n private indicationLayer;\r\n\r\n constructor(mapDiv: HTMLDivElement, map: ol.Map) {\r\n let inputGuid = makeGuid();\r\n let buttonGuid = makeGuid();\r\n\r\n this.map = map;\r\n this.indicationLayer = new ol.layer.Vector({\r\n source: new ol.source.Vector(),\r\n style: new ol.style.Style({\r\n image: new ol.style.Circle({\r\n radius: 12,\r\n fill: new ol.style.Fill({color: 'rgba(255,0,0,0.5)'}),\r\n stroke: new ol.style.Stroke({color: 'red', width: 1})\r\n })\r\n })\r\n });\r\n this.map.addLayer(this.indicationLayer);\r\n\r\n $(mapDiv).append('<div class=\"geocoder-el\">' +\r\n `<input type=\"text\" id=\"${inputGuid}\">` +\r\n `<button id=\"${buttonGuid}\">Search</button>` +\r\n '</div>');\r\n\r\n this.theButton = document.getElementById(buttonGuid) as HTMLButtonElement;\r\n this.theInput = document.getElementById(inputGuid) as HTMLInputElement;\r\n\r\n this.reset();\r\n\r\n let $theButton = $(this.theButton);\r\n let $theInput = $(this.theInput);\r\n\r\n $theButton.click((evt) => {\r\n\r\n evt.preventDefault();\r\n\r\n $theButton.addClass(geocoderLoadingClass);\r\n this.theButton.disabled = true;\r\n this.indicationLayer.getSource().clear();\r\n\r\n $.get(\r\n `https://geocode.xyz/${this.theInput.value}?geoit=json`,\r\n {},\r\n (d) => {\r\n let lat = parseFloat(d['latt']);\r\n let lon = parseFloat(d['longt']);\r\n\r\n if ((lat == 0 && lon == 0) || d['error']) {\r\n $theInput.addClass(invalidClass);\r\n this.theInput.title = 'Specified Location Invalid';\r\n this.theButton.title = 'Specified Location Invalid';\r\n\r\n } else {\r\n let v = this.map.getView();\r\n let p = new ol.geom.Point([lon, lat]);\r\n let feat = new ol.Feature(p);\r\n this.indicationLayer.getSource().addFeature(feat);\r\n p.transform(proj4326, proj3857);\r\n\r\n v.setCenter(p.getCoordinates());\r\n v.setZoom(13);\r\n }\r\n\r\n $theButton.removeClass(geocoderLoadingClass);\r\n this.theButton.disabled = false;\r\n },\r\n 'json');\r\n });\r\n\r\n $(this.theInput).keyup((evt) => {\r\n evt.preventDefault();\r\n this.theButton.disabled = this.theInput.value.length == 0;\r\n $theInput.removeClass(invalidClass);\r\n this.theInput.title = '';\r\n this.theButton.title = '';\r\n\r\n if (!this.theButton.disabled && evt.keyCode == 13) {\r\n $theButton.click();\r\n }\r\n })\r\n }\r\n\r\n private reset() {\r\n this.theButton.disabled = true;\r\n this.theInput.value = '';\r\n }\r\n\r\n\r\n// https://geocode.xyz/65%2075h%20street%20prairie%20du%20sac%20wi?geoit=json\r\n\r\n// error\r\n// geocoder-invalid\r\n\r\n}\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/geocode.ts","import LayerBaseVector from \"../layers/LayerBaseVector\";\r\nimport MapInteractionBase from './mapInteractionBase';\r\nimport * as checkDefined from '../util/checkDefined';\r\nimport provide from '../util/provide';\r\nimport makeGuid from '../util/makeGuid';\r\nimport ol = require('custom-ol');\r\nimport $ = require('jquery');\r\nconst nm = provide('olHelpers');\r\n\r\n\r\nexport interface extentObject{\r\n minX: number;\r\n minY: number;\r\n maxX: number;\r\n maxY: number;\r\n}\r\n\r\nexport interface mapMoveCallbackFunction{\r\n /**\r\n *\r\n * @param extent extent as predefined object minX, minX, maxX, maxY\r\n * @param zoomLevel current zoom level\r\n * @param evtType the event type 'change:center', 'change:resolution'\r\n */\r\n (extent: extentObject, zoomLevel: number, evtType?: string): any\r\n}\r\n\r\n\r\n/**\r\n * assists with map move interactions, trigger callback functions\r\n * @augments MapInteractionBase\r\n */\r\nexport class MapMoveCls extends MapInteractionBase {\r\n _mapExtent: extentObject;\r\n _zoomLevel: number;\r\n _lookupLayer: {[s: string]: LayerBaseVector};\r\n _arrLayer: Array<LayerBaseVector>;\r\n _arrLyrTimeout: Array<number>;\r\n _mapMoveCallbackTimeout: Array<number>;\r\n _mapMoveCallbackDelays: Array<number>;\r\n _mapMoveCallbacksLookup: {[s: string]: mapMoveCallbackFunction};\r\n _mapMoveCallbackContext: Array<Object>;\r\n _mapMoveCallbacks: Array<mapMoveCallbackFunction>;\r\n _arrLyrRequest: Array<any>;\r\n\r\n /**\r\n * constructor called implicitly\r\n */\r\n constructor() {\r\n super('map move');\r\n this._arrLyrRequest = [];\r\n this._arrLyrTimeout = [];\r\n this._arrLayer = [];\r\n this._lookupLayer = {};\r\n\r\n this._mapMoveCallbacks = [];\r\n this._mapMoveCallbacksLookup = {};\r\n this._mapMoveCallbackDelays = [];\r\n this._mapMoveCallbackContext = [];\r\n this._mapMoveCallbackTimeout = [];\r\n\r\n this._mapExtent = undefined;\r\n this._zoomLevel = undefined;\r\n\r\n }\r\n\r\n /**\r\n * initialize the map move object\r\n * @param theMap - the ol map\r\n */\r\n init(theMap: ol.Map){\r\n super.init(theMap);\r\n\r\n this.map.getView().on(['change:center', 'change:resolution'], (e: {type: string}) =>{\r\n\r\n this._updateMapExtent();\r\n\r\n // trigger the layer updates\r\n for (let i = 0; i < this._arrLayer.length; i++) {\r\n this.triggerLyrLoad(this._arrLayer[i], i, e.type);\r\n }\r\n\r\n // trigger the map callbacks\r\n for (let i = 0; i < this._mapMoveCallbacks.length; i++) {\r\n this.triggerMoveCallback(i, e.type);\r\n }\r\n });\r\n }\r\n\r\n _updateMapExtent() {\r\n let theView = this.map.getView();\r\n this._zoomLevel = theView.getZoom();\r\n\r\n let extentArray = theView.calculateExtent(this.map.getSize());\r\n\r\n this._mapExtent = {\r\n minX: extentArray[0],\r\n minY: extentArray[1],\r\n maxX: extentArray[2],\r\n maxY: extentArray[3]\r\n };\r\n }\r\n\r\n /**\r\n * return the map extent\r\n */\r\n get mapExtent() {\r\n if (!this._mapExtent) {\r\n this._updateMapExtent();\r\n }\r\n\r\n return this._mapExtent;\r\n }\r\n\r\n /**\r\n * Trigger the layer load\r\n * @param lyr the layer being acted on\r\n * @param index index of the layer\r\n * @param eventType the event triggering the load, as 'change:center' or 'change:resolution'\r\n */\r\n triggerLyrLoad(lyr: LayerBaseVector, index?: number, eventType?: string) {\r\n\r\n if (checkDefined.undefinedOrNull(lyr) && checkDefined.undefinedOrNull(index)) {\r\n throw 'need to define lyr or index';\r\n } else if (checkDefined.definedAndNotNull(lyr) && checkDefined.undefinedOrNull(index)) {\r\n index = this._arrLayer.indexOf(lyr);\r\n } else if (checkDefined.undefinedOrNull(lyr) && checkDefined.definedAndNotNull(index)) {\r\n lyr = this._arrLayer[index];\r\n }\r\n\r\n // clear the timeout\r\n if (this._arrLyrTimeout[index] != null) {\r\n clearTimeout(this._arrLyrTimeout[index]);\r\n this._arrLyrTimeout[index] = null;\r\n }\r\n\r\n // abort if necessary and clear the request\r\n if (this._arrLyrRequest[index] != null && this._arrLyrRequest[index] != 4) {\r\n this._arrLyrRequest[index].abort();\r\n this._arrLyrRequest[index] = null;\r\n }\r\n\r\n // dummy callback used if before load returns false\r\n let callbackFunc = function () {};\r\n\r\n if (lyr.mapMoveBefore(this._zoomLevel, eventType)) {\r\n lyr.mapMoveMakeGetParams(this._mapExtent, this._zoomLevel);\r\n\r\n let __this = this;\r\n\r\n callbackFunc = function () {\r\n function innerFunction(theLayer: LayerBaseVector, theIndex: number) {\r\n let _innerThis = this;\r\n this._arrLyrRequest[theIndex] = $.get(\r\n theLayer.url,\r\n theLayer.mapMoveParams,\r\n function (d) {\r\n /**\r\n * @type {LayerBaseVector}\r\n */\r\n theLayer.mapMoveCallback(d);\r\n theLayer.loadCallback();\r\n }, 'json').fail(\r\n function (jqXHR) {\r\n if (jqXHR.statusText != 'abort') {\r\n console.log('failed');\r\n console.log(theLayer.url);\r\n console.log(theLayer.mapMoveParams);\r\n }\r\n }).always(\r\n function () {\r\n _innerThis._arrLyrTimeout[theIndex] = null;\r\n _innerThis._arrLyrRequest[theIndex] = null;\r\n });\r\n }\r\n innerFunction.call(__this, lyr, index);\r\n };\r\n } else {\r\n lyr.clear();\r\n }\r\n this._arrLyrTimeout[index] = setTimeout(callbackFunc, lyr.onDemandDelay);\r\n }\r\n\r\n /**\r\n * trigger the map move call back at the given index\r\n * @param ind - the index of the layer\r\n * @param eventType=undefined the event triggering the load as 'change:center' or 'change:resolution'\r\n * @param functionId=undefined the function id used to reference the added callback function\r\n */\r\n triggerMoveCallback(ind: number, eventType?: string, functionId?: string) {\r\n\r\n if (typeof ind == 'undefined' && typeof functionId == 'undefined'){\r\n throw 'either the function index or the id must be defined';\r\n }\r\n\r\n if (typeof ind !== 'number'){\r\n ind = this._mapMoveCallbacks.indexOf(this._mapMoveCallbacksLookup[functionId]);\r\n }\r\n\r\n if (ind < 0){\r\n console.log('function not found');\r\n\r\n return;\r\n }\r\n\r\n // clear the timeout\r\n if (this._mapMoveCallbackTimeout[ind] != null) {\r\n clearTimeout(this._mapMoveCallbackTimeout[ind]);\r\n this._mapMoveCallbackTimeout[ind] = null;\r\n }\r\n\r\n let ctx = this._mapMoveCallbackContext[ind];\r\n let theFunc = this._mapMoveCallbacks[ind];\r\n\r\n let __this = this;\r\n\r\n let f = function () {\r\n if (ctx !== null) {\r\n theFunc.call(ctx, __this._mapExtent, __this._zoomLevel, eventType);\r\n } else {\r\n theFunc(__this._mapExtent, __this._zoomLevel, eventType);\r\n }\r\n };\r\n\r\n this._mapMoveCallbackTimeout[ind] = setTimeout(f, this._mapMoveCallbackDelays[ind]);\r\n }\r\n\r\n /**\r\n * Add a layer to the interaction\r\n * @param lyr - layer to add\r\n * @param triggerOnAdd - if the layer should be loaded on add\r\n */\r\n addVectorLayer(lyr: LayerBaseVector, triggerOnAdd: boolean = true) {\r\n if (this._arrLayer.indexOf(lyr) > -1) {\r\n console.log('already added ' + lyr.name + ' to map move');\r\n\r\n return;\r\n }\r\n this._checkInit();\r\n\r\n this._arrLyrRequest.push(null);\r\n this._arrLyrTimeout.push(null);\r\n this._arrLayer.push(lyr);\r\n this._lookupLayer[lyr.id] = lyr;\r\n\r\n triggerOnAdd = typeof triggerOnAdd == 'boolean' ? triggerOnAdd : true;\r\n\r\n if (triggerOnAdd) {\r\n if (this._mapExtent === undefined) {\r\n this._updateMapExtent();\r\n }\r\n this.triggerLyrLoad(lyr, this._arrLayer.length - 1);\r\n }\r\n }\r\n\r\n\r\n /**\r\n * add a callback to the map move event\r\n * @param func - callback function\r\n * @param context - the context to use for this function\r\n * @param delay=50 the delay before call load\r\n * @param triggerOnAdd if the layer should be loaded on add to mapMove\r\n * @param functionId optional id to reference the function later for outside triggering\r\n */\r\n addCallback(func: mapMoveCallbackFunction, context?: any, delay?: number, triggerOnAdd? : boolean, functionId?: string) {\r\n\r\n if (this._mapMoveCallbacks.indexOf(func) > -1) {\r\n console.log('this function already added to map move');\r\n return;\r\n }\r\n this._checkInit();\r\n if (!functionId){\r\n functionId = makeGuid();\r\n }\r\n\r\n this._mapMoveCallbacks.push(func);\r\n this._mapMoveCallbacksLookup[functionId] = func;\r\n this._mapMoveCallbackDelays.push(typeof delay == 'number' ? delay : 50);\r\n this._mapMoveCallbackContext.push(checkDefined.definedAndNotNull(context) ? context : null);\r\n this._mapMoveCallbackTimeout.push(null);\r\n\r\n triggerOnAdd = typeof triggerOnAdd == 'boolean' ? triggerOnAdd : true;\r\n\r\n if (triggerOnAdd) {\r\n if (this._mapExtent === undefined) {\r\n this._updateMapExtent();\r\n }\r\n this.triggerMoveCallback(this._mapMoveCallbacks.length - 1);\r\n }\r\n }\r\n}\r\n\r\nnm.MapMoveCls = MapMoveCls;\r\nexport default MapMoveCls;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/mapMoveCls.ts","/**\r\n * Created by gavorhes on 11/3/2015.\r\n */\r\n\r\nimport MapInteractionBase from './mapInteractionBase';\r\nimport propertiesZoomStyle from '../olHelpers/propertiesZoomStyle';\r\nimport provide from '../util/provide';\r\nimport ol = require('custom-ol');\r\nimport {LayerBaseVector} from \"../layers/LayerBaseVector\";\r\nimport {LayerBase} from \"../layers/LayerBase\";\r\nimport LayerEsriMapServer from \"../layers/LayerEsriMapServer\";\r\nimport $ = require('jquery');\r\n\r\nconst nm = provide('olHelpers');\r\n\r\nexport interface popupChangedFunction {\r\n ($popContent: JQuery): any;\r\n}\r\n\r\n/**\r\n *\r\n */\r\nexport interface popupCallback {\r\n /**\r\n * Callback function for the popup\r\n * @param featureProperties\r\n * @param jqRef\r\n */\r\n (featureProperties: Object, jqRef?: JQuery): string | boolean;\r\n}\r\n\r\ninterface mapEvent {\r\n coordinate: ol.Coordinate;\r\n pixel: ol.Pixel;\r\n dragging: boolean|any;\r\n originalEvent: Event;\r\n}\r\n\r\n\r\nexport class FeatureLayerProperties {\r\n\r\n feature: ol.Feature;\r\n layer: LayerBaseVector|LayerEsriMapServer;\r\n layerIndex: number;\r\n selectionLayer: ol.layer.Vector;\r\n popupContent: string;\r\n esriLayerName: string;\r\n\r\n /**\r\n *\r\n * @param feature the feature\r\n * @param layer - the layer in the popup\r\n * @param layerIndex - index of the layer\r\n * @param selectionLayer - the ol selection layer\r\n * @param [esriLayerName=undefined] - esri layer name\r\n */\r\n constructor(feature: ol.Feature, layer: LayerBaseVector|LayerEsriMapServer, layerIndex: number, selectionLayer: ol.layer.Vector, esriLayerName?: string) {\r\n this.feature = feature;\r\n this.layer = layer;\r\n this.layerIndex = layerIndex;\r\n this.selectionLayer = selectionLayer;\r\n this.popupContent = '';\r\n this.esriLayerName = typeof esriLayerName == 'string' ? esriLayerName : undefined;\r\n }\r\n\r\n get layerName() {\r\n if (typeof this.esriLayerName == 'string') {\r\n return this.esriLayerName;\r\n } else {\r\n return this.layer.name;\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * map popup class\r\n * @augments MapInteractionBase\r\n */\r\nexport class MapPopupCls extends MapInteractionBase {\r\n private _popupOpen: boolean;\r\n private _passThroughLayerFeatureArray: Array<FeatureLayerProperties>;\r\n private _currentPopupIndex: number;\r\n private _popupContentLength: number;\r\n private _esriMapServiceLayers: Array<LayerEsriMapServer>;\r\n private _$popupCloser: JQuery;\r\n private _$popupContent: JQuery;\r\n private _$popupContainer: JQuery;\r\n private _popupOverlay: ol.Overlay;\r\n private _arrPopupLayers: Array<LayerBaseVector>;\r\n private _popupCoordinate: ol.Coordinate;\r\n private _popupChangedFunctions: Array<popupChangedFunction>;\r\n private _mapClickFunctions: Array<Function>;\r\n private _selectionLayerLookup: {[s: string]: ol.layer.Vector};\r\n private _arrPopupLayerIds: Array<string>;\r\n private _arrPopupLayerNames: Array<string>;\r\n private _arrPopupOlLayers: Array<ol.layer.Vector>;\r\n private _arrPopupContentFunction: Array<popupCallback>;\r\n private _selectionLayers: Array<ol.layer.Vector>;\r\n\r\n /**\r\n * Definition for openlayers style function\r\n * @callback olStyleFunction\r\n * ¶m feature the openlayers vector feature\r\n * $param\r\n */\r\n\r\n\r\n /**\r\n * map popup constructor\r\n */\r\n constructor() {\r\n super('map popup');\r\n this._arrPopupLayerIds = [];\r\n this._arrPopupLayerNames = [];\r\n this._arrPopupLayers = [];\r\n this._arrPopupOlLayers = [];\r\n this._arrPopupContentFunction = [];\r\n this._$popupContainer = undefined;\r\n this._$popupContent = undefined;\r\n this._$popupCloser = undefined;\r\n this._popupOverlay = undefined;\r\n this._selectionLayers = [];\r\n this._selectionLayerLookup = {};\r\n this._mapClickFunctions = [];\r\n\r\n //let a = function($jqueryContent){console.log($jqueryContent)};\r\n //this._popupChangedLookup = {'a': a};\r\n this._popupChangedFunctions = [];\r\n this._esriMapServiceLayers = [];\r\n\r\n this._popupOpen = false;\r\n this._popupCoordinate = null;\r\n\r\n this._passThroughLayerFeatureArray = [];\r\n\r\n this._currentPopupIndex = -1;\r\n this._popupContentLength = 0;\r\n\r\n }\r\n\r\n /**\r\n * map popup initialization\r\n * @param {ol.Map} theMap - the ol map\r\n */\r\n init(theMap: ol.Map) {\r\n super.init(theMap);\r\n\r\n let $map;\r\n let target = this.map.getTarget();\r\n\r\n if (typeof target == 'string') {\r\n $map = $('#' + target);\r\n }\r\n else {\r\n $map = $(target);\r\n }\r\n\r\n $map.append(\r\n '<div class=\"ol-popup\">' +\r\n '<span class=\"ol-popup-closer\">X</span>' +\r\n '<div class=\"popup-content\"></div>' +\r\n '</div>'\r\n );\r\n\r\n this._$popupContainer = $map.find('.ol-popup');\r\n this._$popupContent = $map.find('.popup-content');\r\n this._$popupCloser = $map.find('.ol-popup-closer');\r\n\r\n let _ease = (n: number): number => {\r\n return ol.easing.inAndOut(n);\r\n };\r\n\r\n\r\n this._popupOverlay = new ol.Overlay({\r\n element: this._$popupContainer[0],\r\n autoPan: true,\r\n autoPanAnimation: {\r\n duration: 250,\r\n source: theMap.getView().getCenter(),\r\n easing: _ease\r\n }\r\n });\r\n\r\n this._map.addOverlay(this._popupOverlay);\r\n\r\n this._$popupCloser.click((evt) => {\r\n this.closePopup();\r\n });\r\n\r\n // display popup on click\r\n this._map.on('singleclick', (evt: {coordinate: [number, number], pixel: ol.Pixel}) => {\r\n\r\n this.closePopup();\r\n this._popupCoordinate = evt['coordinate'];\r\n\r\n // esri map service layers\r\n if (this._esriMapServiceLayers.length > 0) {\r\n\r\n let queryParams = {\r\n geometry: evt['coordinate'].join(','),\r\n geometryType: 'esriGeometryPoint',\r\n layers: 'all',\r\n sr: this._map.getView().getProjection().getCode().split(':')[1],\r\n mapExtent: (this._map.getView().calculateExtent(this._map.getSize()) as number[]).join(','),\r\n imageDisplay: (this._map.getSize() as number[]).join(',') + ',96',\r\n returnGeometry: true,\r\n tolerance: 15,\r\n f: 'pjson'\r\n };\r\n\r\n for (let l of this._esriMapServiceLayers) {\r\n l.getPopupInfo(queryParams);\r\n }\r\n }\r\n\r\n let layerFeatureObjectArray = this._featuresAtPixel(evt['pixel']);\r\n\r\n this._passThroughLayerFeatureArray = [];\r\n this._currentPopupIndex = -1;\r\n\r\n for (let i = 0; i < layerFeatureObjectArray.length; i++) {\r\n let featObj = layerFeatureObjectArray[i];\r\n\r\n let props = featObj.feature.getProperties();\r\n\r\n let popupContentResponse = this._arrPopupContentFunction[featObj.layerIndex](props, this._$popupContent);\r\n\r\n //skip if return was false\r\n if (popupContentResponse === false) {\r\n //continue;\r\n } else if (typeof popupContentResponse == 'string') {\r\n featObj.popupContent = popupContentResponse as string;\r\n this._passThroughLayerFeatureArray.push(featObj);\r\n } else {\r\n featObj.selectionLayer.getSource().addFeature(featObj.feature);\r\n }\r\n }\r\n\r\n this._popupContentLength = this._passThroughLayerFeatureArray.length;\r\n\r\n this._currentPopupIndex = -1;\r\n\r\n let popupHtml = '<div class=\"ol-popup-nav\">';\r\n popupHtml += '<span class=\"previous-popup ol-popup-nav-arrow\">◀</span>';\r\n popupHtml += '<span class=\"next-popup ol-popup-nav-arrow\">▶</span>';\r\n popupHtml += `<span class=\"current-popup-item-number\" style=\"font-weight: bold;\"></span>`;\r\n popupHtml += `<span> of </span>`;\r\n popupHtml += `<span class=\"popup-content-length\" style=\"font-weight: bold;\">${this._popupContentLength}</span>`;\r\n popupHtml += `<span> - </span>`;\r\n popupHtml += `<span class=\"current-popup-layer-name\"></span>`;\r\n popupHtml += '</div>';\r\n popupHtml += '<div class=\"ol-popup-inner\">';\r\n\r\n popupHtml += '</div>';\r\n\r\n this._$popupContent.html(popupHtml);\r\n\r\n this._$popupContent.find('.previous-popup').click(() => {\r\n if (this._popupContentLength == 1) {\r\n return;\r\n }\r\n\r\n if (this._currentPopupIndex == 0) {\r\n this._currentPopupIndex = this._popupContentLength - 1;\r\n } else {\r\n this._currentPopupIndex--;\r\n }\r\n this._triggerFeatSelect();\r\n });\r\n\r\n let nextPopup = this._$popupContent.find('.next-popup');\r\n\r\n nextPopup.click(() => {\r\n if (this._popupContentLength == 1 && this._currentPopupIndex > -1) {\r\n return;\r\n }\r\n\r\n if (this._currentPopupIndex == this._popupContentLength - 1) {\r\n this._currentPopupIndex = 0;\r\n } else {\r\n this._currentPopupIndex++;\r\n }\r\n this._triggerFeatSelect();\r\n });\r\n\r\n\r\n if (this._popupContentLength > 0) {\r\n nextPopup.trigger('click');\r\n this._popupOverlay.setPosition(this._popupCoordinate);\r\n this._$popupContent.scrollTop(0);\r\n this._popupOpen = true;\r\n }\r\n });\r\n\r\n //change mouse cursor when over marker\r\n this._map.on('pointermove', (evt: {dragging: boolean, originalEvent: Event}) => {\r\n if (evt['dragging']) {\r\n return;\r\n }\r\n let pixel = this.map.getEventPixel(evt['originalEvent']);\r\n let hit = this.map.hasFeatureAtPixel(pixel, (lyrCandidate) => {\r\n for (let olLayer of this._arrPopupOlLayers) {\r\n if (lyrCandidate == olLayer) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n });\r\n let mapElement = this.map.getTargetElement() as HTMLElement;\r\n mapElement.style.cursor = hit ? 'pointer' : '';\r\n });\r\n\r\n return true;\r\n }\r\n\r\n /**\r\n * helper to select features\r\n * @private\r\n */\r\n _triggerFeatSelect() {\r\n let $currentPopupItemNumber = this._$popupContent.find('.current-popup-item-number');\r\n let $innerPopup = this._$popupContent.find('.ol-popup-inner');\r\n let $layerNameSpan = this._$popupContent.find('.current-popup-layer-name');\r\n this.clearSelection();\r\n let lyrFeatObj = this._passThroughLayerFeatureArray[this._currentPopupIndex];\r\n $currentPopupItemNumber.html((this._currentPopupIndex + 1).toFixed());\r\n $layerNameSpan.html(lyrFeatObj.layerName);\r\n $innerPopup.html(lyrFeatObj.popupContent);\r\n lyrFeatObj.selectionLayer.getSource().addFeature(lyrFeatObj.feature);\r\n for (let f of this._popupChangedFunctions) {\r\n f(this._$popupContent);\r\n }\r\n }\r\n\r\n\r\n /**\r\n *\r\n * @param feature - the ol feature\r\n * @param {LayerEsriMapServer} lyr - the map server layer\r\n * @param {string} popupContent - popup content\r\n * @param {string} esriName - esri layer name\r\n */\r\n addMapServicePopupContent(feature: ol.Feature, lyr: LayerEsriMapServer, popupContent: string, esriName: string) {\r\n\r\n let featLayerObject = new FeatureLayerProperties(\r\n feature, lyr, this._popupContentLength, this._selectionLayerLookup[lyr.id], esriName\r\n );\r\n featLayerObject.popupContent = popupContent;\r\n\r\n this._passThroughLayerFeatureArray.push(featLayerObject);\r\n this._popupContentLength++;\r\n\r\n $('.popup-content-length').html(this._popupContentLength.toFixed());\r\n\r\n if (!this._popupOpen) {\r\n this._$popupContent.find('.next-popup').trigger('click');\r\n\r\n this._popupOverlay.setPosition(this._popupCoordinate);\r\n this._$popupContent.scrollTop(0);\r\n this._popupOpen = true;\r\n }\r\n }\r\n\r\n /**\r\n *\r\n * @param pixel - the ol pixel\r\n * @returns feature layer properties\r\n * @private\r\n */\r\n _featuresAtPixel(pixel: ol.Pixel): Array<FeatureLayerProperties> {\r\n let layerFeatureObjectArray: FeatureLayerProperties[] = [];\r\n\r\n this.map.forEachFeatureAtPixel(pixel, (feature: ol.Feature, layer: ol.layer.Vector) => {\r\n let lyrIndex = this._arrPopupOlLayers.indexOf(layer);\r\n\r\n if (lyrIndex > -1) {\r\n layerFeatureObjectArray.push(\r\n new FeatureLayerProperties(\r\n feature, this._arrPopupLayers[lyrIndex], lyrIndex, this._selectionLayers[lyrIndex]));\r\n }\r\n });\r\n\r\n return layerFeatureObjectArray;\r\n }\r\n\r\n closePopup() {\r\n this._checkInit();\r\n this._popupOpen = false;\r\n this._popupOverlay.setPosition(undefined);\r\n this._$popupCloser[0].blur();\r\n this.clearSelection();\r\n this._$popupContent.html('');\r\n\r\n return false;\r\n };\r\n\r\n\r\n /**\r\n *\r\n * @param chgFunction - popup change function\r\n */\r\n addPopupChangedFunction(chgFunction: popupChangedFunction) {\r\n this._popupChangedFunctions.push(chgFunction);\r\n }\r\n\r\n /**\r\n *\r\n * @param {LayerBase|*} lyr - the layer being acted on\r\n * @param {object} [selectionStyle={}] the selection style configuration\r\n * @param {string} [selectionStyle.color=rgba(255,170,0,0.5)] the selection color\r\n * @param {number} [selectionStyle.width=10] the selection width for linear features\r\n * @param {object|function} [selectionStyle.olStyle=undefined] an openlayers style object or function\r\n * @returns the new selection layer\r\n * @private\r\n */\r\n _addPopupLayer(lyr: LayerBaseVector|LayerEsriMapServer, selectionStyle: {color?: string, width?: number, olStyle?: ol.style.Style}): ol.layer.Vector {\r\n this._checkInit();\r\n\r\n selectionStyle = selectionStyle || {};\r\n selectionStyle.color = selectionStyle.color || 'rgba(255,170,0,0.5)';\r\n selectionStyle.width = selectionStyle.width || 10;\r\n\r\n let theStyle;\r\n\r\n if (selectionStyle.olStyle) {\r\n theStyle = selectionStyle.olStyle;\r\n } else {\r\n theStyle = new ol.style.Style({\r\n stroke: new ol.style.Stroke({\r\n color: selectionStyle.color,\r\n width: selectionStyle.width\r\n }),\r\n image: new ol.style.Circle({\r\n radius: 7,\r\n fill: new ol.style.Fill({color: selectionStyle.color}),\r\n stroke: new ol.style.Stroke({color: selectionStyle.color, width: 1})\r\n }),\r\n fill: new ol.style.Fill({\r\n color: selectionStyle.color\r\n })\r\n });\r\n }\r\n\r\n let selectionLayer = new ol.layer.Vector(\r\n {\r\n source: new ol.source.Vector(),\r\n style: theStyle\r\n }\r\n );\r\n\r\n selectionLayer.setZIndex(100);\r\n\r\n this._selectionLayers.push(selectionLayer);\r\n this._selectionLayerLookup[lyr.id] = selectionLayer;\r\n this.map.addLayer(selectionLayer);\r\n\r\n return selectionLayer;\r\n }\r\n\r\n\r\n /**\r\n * Add popup to the map\r\n * @param {LayerBase|*} lyr The layer that the popup with act on\r\n * @param {popupCallback} popupContentFunction - popup content function that makes popup info\r\n * @param {object} [selectionStyle={}] the selection style configuration\r\n * @param {string} [selectionStyle.color=rgba(255,170,0,0.5)] the selection color\r\n * @param {number} [selectionStyle.width=10] the selection width for linear features\r\n * @param {object|function} [selectionStyle.olStyle=undefined] an openlayers style object or function\r\n * @returns {object} a reference to the ol selection layer\r\n */\r\n addVectorPopup(lyr: LayerBaseVector, popupContentFunction: popupCallback,\r\n selectionStyle?: {color?: string, width?: number, olStyle?: ol.style.Style}) {\r\n let selectionLayer = this._addPopupLayer(lyr, selectionStyle);\r\n this._arrPopupLayerIds.push(lyr.id);\r\n this._arrPopupLayerNames.push(lyr.name);\r\n this._arrPopupLayers.push(lyr);\r\n this._arrPopupOlLayers.push(lyr.olLayer);\r\n this._arrPopupContentFunction.push(popupContentFunction);\r\n\r\n return selectionLayer;\r\n };\r\n\r\n\r\n /**\r\n *\r\n * @param {LayerBase} lyr - layer\r\n */\r\n removeVectorPopup(lyr: LayerBase) {\r\n let idx = this._arrPopupLayerIds.indexOf(lyr.id);\r\n\r\n if (idx > -1) {\r\n this._arrPopupLayerIds.splice(idx, 1);\r\n this._arrPopupLayerNames.splice(idx, 1);\r\n this._arrPopupLayers.splice(idx, 1);\r\n this._arrPopupOlLayers.splice(idx, 1);\r\n this._arrPopupContentFunction.splice(idx, 1);\r\n this._selectionLayers.splice(idx, 1);\r\n delete this._selectionLayerLookup[lyr.id];\r\n }\r\n }\r\n\r\n /**\r\n *\r\n * @param {LayerEsriMapServer} lyr - map server layer\r\n * @param {object} [selectionStyle={}] the selection style configuration\r\n * @param {string} [selectionStyle.color=rgba(255,170,0,0.5)] the selection color\r\n * @param {number} [selectionStyle.width=10] the selection width for linear features\r\n * @param {object|function} [selectionStyle.olStyle=undefined] an openlayers style object or function\r\n * @returns {object} a reference to the ol selection layer\r\n */\r\n addMapServicePopup(lyr: LayerEsriMapServer, selectionStyle?: ol.style.Style|Array<ol.style.Style>|ol.StyleFunction) {\r\n let selectionLayer = this._addPopupLayer(lyr, selectionStyle);\r\n this._esriMapServiceLayers.push(lyr);\r\n\r\n return selectionLayer;\r\n }\r\n\r\n clearSelection() {\r\n this._checkInit();\r\n for (let i = 0; i < this._selectionLayers.length; i++) {\r\n this._selectionLayers[i].getSource().clear();\r\n }\r\n for (let f of this._mapClickFunctions) {\r\n f();\r\n }\r\n };\r\n\r\n /**\r\n * Add a function to be called when the map is clicked but before any popups are implemented\r\n * @param {function} func - the map click function\r\n */\r\n addMapClickFunction(func: Function) {\r\n this._mapClickFunctions.push(func);\r\n }\r\n}\r\nnm.MapPopupCls = MapPopupCls;\r\nexport default MapPopupCls;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/mapPopupCls.ts","/**\r\n * Created by gavorhes on 12/15/2015.\r\n */\r\n\r\nimport provide from '../util/provide';\r\nimport ol = require('custom-ol');\r\nimport $ = require('jquery');\r\nimport {Geocode} from './geocode';\r\nconst nm = provide('olHelpers');\r\n\r\nexport interface quickMapOptions {\r\n divId?: string;\r\n center?: {x: number, y: number};\r\n zoom?: number;\r\n minZoom?: number;\r\n maxZoom?: number;\r\n baseSwitcher?: boolean;\r\n fullScreen?: boolean;\r\n addGeocode?: boolean;\r\n}\r\n\r\n/**\r\n * Sets up a map with some default parameters and initializes\r\n * mapMove and mapPopup\r\n *\r\n * @param [options={}] config options\r\n * @param [options.divId=map] map div id\r\n * @param [options.center={}] center config object\r\n * @param [options.center.x=-10018378] center x, web mercator x or lon\r\n * @param [options.center.y=5574910] center y, web mercator y or lat\r\n * @param [options.zoom=7] zoom level\r\n * @param [options.minZoom=undefined] min zoom\r\n * @param [options.maxZoom=undefined] max zoom\r\n * @param [options.baseSwitcher=true] if add base map switcher\r\n * @param [options.fullScreen=false] if add base map switcher\r\n * @returns the ol map\r\n */\r\nexport function quickMapBase(options: quickMapOptions = {}): ol.Map {\r\n options.divId = options.divId || 'map';\r\n options.center = options.center || {x: -10018378, y: 5574910};\r\n options.zoom = typeof options.zoom == 'number' ? options.zoom : 7;\r\n options.baseSwitcher = typeof options.baseSwitcher == 'boolean' ? options.baseSwitcher : true;\r\n options.fullScreen = typeof options.fullScreen == 'boolean' ? options.fullScreen : false;\r\n options.addGeocode = options.addGeocode || false;\r\n\r\n\r\n let $mapDiv = $('#' + options.divId);\r\n $mapDiv.css('position', 'relative');\r\n\r\n let osmLayer = new ol.layer.Tile({source: new ol.source.OSM()});\r\n // let satLayer = new ol.layer.Tile({visible: false, source: new ol.source.MapQuest({layer: 'sat'})});\r\n\r\n let osmCss = \"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAMAUExURQAAADQ1NDk5OURFREtLS1FHSFlZWGJRVGJiYWdmZWxsbHRmaXBpanN0c3V0dHp5eX5+fIVzd4F3eeV0jud5juZ8k4aHhomHhoyGh5eGj5OVlJiVlZiYl5qZmJydnKOTlaKZmqKdnaOioaqqqKuzsbOvrrSysLa3tbW4uLm6ub27ub+/vbGXwbCZwbCgxLKlxrOqyLStybO3yrSxyrWzzbW2y7a1zbK4y7W6zbW8y760yrTAzbTFzrPKzrLOzrTJzrTOzr7CwbXC0LXK0LTO0L3I0bPQz7TQz7PS0bXQ0LnR0brW1bzT0r7U077V1Lzc2dqNqteUsdyXscaquuOHneaGmueHnOeJnuiBleiKn+eNoOiOoOWUpOiRo+iSpeiUpeqYpumaqOmdrPSynemgruSqtOmisOmlsuuqtequuOW1vOuxu+uxvOq1ve+xvPK0pvW3o/W5pfO5qvS7qfCwvMOuwc2/wNenxNyyzNe/0Nq31Nq51dy72Oy3wOu4wOu+xey4wO+6xO2+xfTAr/TCsvfFtPHLvvTJuMPDwMfHxcXKyc3DxMvFyMvLyM3PzcDV08DV1MTX1cbY1s7X1sjZ1sra2Mnd3M7b2c7c2tfH1tnB1t7F2d7M29fX1tLY1tDd2tHe3NTf3NnS19rZ1tva2Nnf3t3d28rh3tXg3Nnh3tzj393k39ni4N7k4N7n5uXDyOfLz+zAxu3CyOzEyezKzeDJ3eLM3uvP0u3P0ePf2+7R0u7Q1u/U0+7U1ezc0+7a2e/d2+3f3vbFzvLOwfHN0PPQw/TUx/LWyvLYzPDQ1fPe0ubc4vve4uHh3+nh3+/h2u/h3vHj2vHl3uHm4eTn4uDp5ebo4+Xo5ODq6ebq6OTv6+nl4+/j4O7l4e7n5ujp4+np5Ozq5e7s5urt6O7t6Orw6u7x6u3x7vPj5PDl4fDo4vDq5fDt5vDu6PDv7PTv6fDx6vHx7fH17fXw6fXy7fb07/bz8fT18vn38vr39fr48/r59Pr6+P3++//+/gAAALNTSk0AAAEAdFJOU////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wBT9wclAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAAGHRFWHRTb2Z0d2FyZQBwYWludC5uZXQgNC4wLjlsM35OAAAFNElEQVRIS1VVCZxVUxi/9l0UIUT2bMnY43bVI2c0Y01kSWIaS0j2JEtkN41piomZrPPKQ2aQ7JKImOZlnm2493TJzDufuU1Zi+v/fee+mZ//793vnPOd7zvfes5zDBEZkBBjAcIjb+Iiotqgdhat8AMK0vl7/R9N7GiWtshqIr+EZ5gYKibyUsXY1l/mfFpssvUlWQ0FkU3gy4+RB/+kwYcO8pRSnldcOU/r2lAHARSwk2ORgEmOdC1EsuRiYSqMPwwroMIraZk5V2fYJQjCKfZrRmh3gSAZi2i4b7wSylWu8EqZwS59JkFUaW96JbNSc+CEUmt4rorwuZmWdDaoc+uZETuQlTCU5xYzR7muUnVUVo+BcRhre/VwUpasgJwhH7JkYIYA0sNxhmCwUK+lw6vCKBZehw01dEiyw4Q4aE0Z4ahDhKaFQsGnJ2BgqKoTBsNjFy0SlW6whRAZTdm8DBJmkBZhDi1j4xJQBk6ywrWUTymaCxac8lROcdauRGzQSNtA7EHUYhXyEwhhgjFUqRuO+rauhF1awFpzCsmwUbjIFBR0u1bKtyGpulW/H/cVVzkyGaIWTIR9pFAV6GK2gPMXMX8gPk9zzxXgI1kimcAltEYr+cjio1imlKpEa9rOipLm+p+CZ6Bw//qd1/f/O+GwMxbSLpyoZEcwkyh2jIks+3hmdd2jWUw4scxNysnHxU7nSspTRcJjCZGL3IsjsYJMMg5mwgx7gaIOLBFCogAgBBoNa9w+DE6I+Bs7FTgwwrJbHjWDgpYo2KwtBTcYEDuloC9geQw+k2RGnPGpTaOlq7AS+YICUz4DZVaX2TiNDhuYfTtY4geLi0IoCm3XccwM9hx4kU28StQEljDs3ZEpFGA+8dKzLmV9ymIwF5FOGn2GdJM8KLHDJbXyiYVMG9MRTLiXGGg2QKaxM3khPSRrwM9zEIardxU2w/EiA0gOeYKHzDR0V7/QGV3lKIA9ktrDArxO3gdA+k6SKoBiVwcm7NjZb9+Hnztg282TuHVZ9LOISFNt9MgyCetZVczSxnyDbl17Penq6mqpg1IhRaEO2aVLUO4/r17H8tTv6f13h71dduvZI3Y+uMdWksNSauLovJw5hsqiPIUvt0ku7/iBeUR3sksmomYWtRbAjbiLfv2lX9/V7LVG4uYnUZXhQ7f2OPCZEx9wrYWTcePEQqPEML8pl4mMdr/jlXlvHiRiJ2+MSTFY4TTSYStuvz2R/JXh+PPeGXm055J+3/YDWuNu3R3DArPutyg0ZgykMVDU9Ndm22+wYalr2rse48CnsTIFcMn73vfhNrktx1EUcZnPv6ah3Yy5cDTRdBEoGoBeah71dqFyjZDJLkWk3N3v4uuktssjWpzciMPxQeHj8nMKzcGuB0tAyzFhdCKOYWv4HwOQVwIxLG99a6uvH3sJCyO3h+k4EZ+G7+xj5f4XXksoaGrdMRzSc8ARA8+cdOuk2x6fffNNt5x+Ro1omPlrT/CQDlcNlpx4NBIWXhkx7Y3Zp3ofNR7Uv89Om/beW0TLIynHv3vs1VsOFpSWSXvfuPUf9BrRFyxgXdHoKJnQFegPOovvzz59ntrzye240ig8UQ3lDI2VqwagrKIQcLXNFL3wglN2OHdBQ6/vI3kENDVBwRb3k1XtczFbjWn4EzMYi7CF3129+JTYuRSdrGuS92g5dpqn6qXoJQs5xmL8p+Wt4hLbt0mx2OLNZR2bbPy8zJNQGFM/f/CfXZekRYFjGCWjIJpM+WiCzGBPWHhoyaAsjRT/B2Gy5yzYJkwUAAAAAElFTkSuQmCC')\";\r\n let aerialCss = \"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAMAUExURQALBgIMDQgOBwQOEQcTBwUSCwoVDAwdBw8ZDgUREwYUGAYZFQYZGgkTFQoVGQsZFAwZHBMeDhIbFBEbHAwWIA4bIREcIQ4hCQwjFw4lHBgkDB8sDxUiExIiGhAoGxohFRshGRorHQcrKQsiIQwmKgooJA0pKQ81Jw8yLRMiIxImKxUrJREuKhslJB0rIhooKRUuMBMyLhkwJhozKh48LxUzMRM9MBwzMiUvFCMtGiMwEiwzFCgzHDI+GSIsISkvJSQxIiM2LiY5Jic+Lyk0JSo0Ky49JSs9KSU1NSM7NCs2NS8+NDM1JzU9Ljg7IDJCHS1DLSNAMitCMSxIOjREITZLIDZJKDlFIjpFKztKJT1LKzJBMzpHMD1JMjpKPD1RKjlQNC1DQj5QQEA8MEJGJkBKJUJNK0lLLEJMMkVMPEpONENSLUdZL0pTLkpaLkRUMkRSPEVZMktUM0pVOklZMklZNEpcNU1ZMk1ZNUxfMk5dNkxcOVFUM1RUOFJbNVFZOVNYPVFdOVJdPFVaOVVaPVVdOlVdPVpaNlpdO0phN01hOlBiN1NhPFNoP1piPWFbPmRjPENOQEtPSURTQkJVS0xVQk1VSkxbQkxcS0heUVFXRFRcQlJfTFxeQlpeS05lQk1kSFRjQVRjSlZpQ1tkQlxlSlxpRF1rSVVnUVtlU1llXF9tU1xoXlxwSl9ramRfQmJlQ2FhSWFlSWFlTmVlSWRmTGFoQWFpRWFsRmVpRWVtRmNsSmtlRGpqRmpsS2BmWGRsUmFrW2ptUmZyR2RxTGpxTWVyU2RyW2d5V2tzUmt0WW15VG15WXFuTHNtVnFxTXF4T3h0TnJzUnJ1XHJ4VXN6Wnp0VHx1W315VXp8XGR0YGx0YHVzZXJ0aHR9ZXV+aHl9YHOCXXqBXXeCYHyCY3iEaHyIYn+JaXqKcYB5WIN6Y4SCXoCDZIGEaYCIZoOLa4iCaImJbIOOdYuMco6OeIuVcpOKbZKPc5aQb5eXe5ufg6KjhAAAAAAAAAAAAAAAAOGCeQgAAAEAdFJOU////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wBT9wclAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAAGHRFWHRTb2Z0d2FyZQBwYWludC5uZXQgNC4wLjlsM35OAAAH80lEQVRISy1WbXQUVxm+6wqnk3Zmpxl2FG2EGg92C8GDlWptVTwa+uF3xcKmDfFzCUzDsJNsunXipglJXJbrtJWmwZNSnHD3jojRgUIm2UumIZ0JZ7JByrALbMWW0IBW8aRa4+cf76TeX3Nm3uc+z/s+7/vugl4r/aMTrT4e1pPTqnnmJNn5AyUzRnrRle/qE33dsvrBtAQVoxtpZNK3zSzYjUjviWO2Ag+R77dl7W36n/1Ep9KBPG/S+Py0PkjU/gPKQGqwTHryiWYFAXSvMairsio7SjyNsnCzh0qKImV9/7mhfHQZx2yN1O+7rXUm33MUPaboOkAJHaoIdXfJj2xWeyD8jMFEXkvIu5qzpU988gWB5zl+GS+sFe55trEVPdWZB2miq8bBVkNFO2R0qnrfkiXhcJhtDNXE6tbW97/s9O9/7ZfVhx86/CwrROpfvvxboMqeLsuqPr1j44qEwDNMOBximUiYoU8sw7BC/a7T72uEnyJDlGxZ9KcglZRyuqqrv/tSZErgOI4NgRBTIw9EmHAoFGZZnp6aGaJ2GTxfxYs8kKVUQh7WB5hQeC3LsUxoxVKW14l3BX2WcoUYPiZyLLe8teZ+iuT4GGhvV5KpKWkpyzxEr2MZgQ1xdRjfRBoH+2k6lIHjKTHPPBo8CSJISqqq4wGGOcWylIGlgvgNX1Gd8vF5f+IUIwb30ng+Gg2QfBRIMvy0jG8SVkYo4N0zvUXVRztbJ/L6xL7lUZEXBEHkuZqlS6gEAUgKJurnhFtfpACOYd8b/hVbJPqwi44a6KA0sPVjIi/SIyxb3u8KlAJ0S8jRVgrlW+nVHPdrhiXCxu42d86ByksDc80P3MkJFBFQ8Ho1lQegpWJRWFGsDsRwwv7pIyvuQW0ZkrX6NDVFbqcvaQI8vbyqzt5AARrsbKx5yhQEGs+wPO56bOK+0rcwMrOKkpUbZWYxV04UeZZv/cBKFhRL6Qdv9y4LfEDA7/thg7tTmv1a5/GnO0wl0dQg80wglZaHUmxRvjwAHOfyN0mxrpqLUpcjsK3NHYMo4R1o6eho2ZyIb2FoeOC3ILK8kZ2HQMOuWywGXUkJBCeTbYFS0+ym1h2/6UgmvnrvKYZZtIEXGf75C2cIAp5LHNd71x7uPoTjakrWH9e3KFpaatjUvJUysFw0KrLMYMW2lTg4PeUQx6kJEALvxXEmCdVyPLHtCSjBhc01XCjIgafxou+PE6KC1dhxSCwoBCc+N4P3btM84pmdSSjJnjO/nvY4LQfVyz5/I+v6IwjUOMjy+MVCxIbKupTJaEktp7cTKU42Pvjh2m/8cSpC6aPsaX/MHSuUQLVVsIa4RUTs/r/BVAexNdjdnsNG7j/rV93xheLMzKnFrPeTEQchCyCcKb25aAIn7lrAertrZwyNXM8N6zfWrFo3d2SmOEcF83x/r+OOFgrAHYWF7cELjhV7UQo/6WAIUVl9JFl8a//HZ66VpbY3I9QKZqPru77lA+iOWAIr0hKxHCmmr0othSyeIl5y3qt4xT8gSNrKEZozs8Els67rgsLOZ+ygzwMfbtNhobfgzpEyGnz7htPtzUi6PuOoj7K0WF/MXiUFxwGajRD1hjYXHXI9p406qOyinp5/tiWcDHY0jIu4n64Qfq7kliB2gemag9QbOia0PbbDMbd43SHuvxFxrAocxins7MX5Kqbe1QixKBxoV4//PfAgGCu+Rlm4SvZizyDH+0reDHp92iO0BuX3bCfItl0PEwvYLqpwXG2MHlGsQ4S8pMJZv1JGmHiEoHQDdOjwmVlEP/nE9ADKjI8xLI0OOGITfy0SbeG/C2jKUDGSlDhM9I3IpK9iup6XnbRNC7yqueNsJCCIiXzdQhnaGN+46umnEdy5U5UbUJ48LFM9GkJo8BdDOiAZ7ZIQbKhYLMqvhU2wmNxjEAsS2AI7y4nWF64duePbk7YV3zvAVLEMD9AxJRNa3KDUibV7DjnkuprMEYjScFNcaR2ceP2u9R/5k1052Ryme5phAFRswlHjAudiP4dOy7CaxLgdJh9vUlU1702/+LPa1U9fvPi9qlA4XEUBJc3dFlpsR457IDl1iPqLp7o81NQgyV19iYU38uTiv975Pd3SiwQcsGjx+v4/6fl5T7EOOMTCtpbKxfemsQq/3olQZcminADAAI0cuGLHaHOFxbuGvRk/Z9u7CULqoVR6NE0yx1avj30oRhc/jWUoIALGxkz0dg1Dl9iaI7LqOOXKsXJFwjiuEAi70Jra2nW1PL08zLBhZsMABpW5csI7TPfew9ipFKcn5k1i+1KyCWKjC3W/8dF1d666+RaabBVTFTHacjoojBNDh0NDxk+IPTlwfqJkWpbnpFHXIbLbmpxEQ3ff/Z0g/mauXsoln9wDRjy/NHsQFw3P6vWuTJ43/+FZrk2cvAFRipCKdfD9y2+pjRj78s0KdCUDKJvdV91ChngV38T20TM+gghjpJaPlpFr2xbEz5g4A/NGt5rNwdwmYGeeeMXBSLHHUIc+6RsojRH9VTUm3/mLf/64b470XvoxoTKhlMBQ2jMEzo2PjxdGMppmn1RM24bWFJqaQv4BcuJa2Sam7Zokq1ldCsz06NCBHrhwqVQYpfFj42NZexz1EW9SR/kT58nEeQKJb2fPXjjp0u/YUkwHEgLeOnf2nOuf1TRTM02CLKLTPy60/x1CCztqn7Ev+BdsC3m+30decQvW/wBNTwU+CfUQAQAAAABJRU5ErkJggg==')\";\r\n\r\n if (options.baseSwitcher) {\r\n // let switcherContent = '<div class=\"base-map-switcher\" title=\"Toggle Base Layer\" style=\"';\r\n // switcherContent += 'position: absolute; top: 70px; left: 4px; border: solid black 1px; ';\r\n // switcherContent += `height: 50px; width: 50px; z-index: 10; border-radius: 4px; background: ${aerialCss};`;\r\n // switcherContent += '\"></div>';\r\n // $mapDiv.append(switcherContent);\r\n //\r\n // $mapDiv.find('.base-map-switcher').click(function() {\r\n // \"use strict\";\r\n // osmLayer.setVisible(!osmLayer.getVisible());\r\n // satLayer.setVisible(!satLayer.getVisible());\r\n //\r\n // if (osmLayer.getVisible()){\r\n // $(this).css('background', aerialCss);\r\n // } else {\r\n // $(this).css('background', osmCss);\r\n // }\r\n // });\r\n }\r\n\r\n if (options.zoom < 0 || options.zoom > 28) {\r\n throw 'zoom out of range';\r\n }\r\n\r\n if (options.center.x >= -180 && options.center.x <= 180 && options.center.y >= -90 && options.center.y <= 90) {\r\n let p = new ol.geom.Point([options.center.x, options.center.y]);\r\n new ol.proj.Projection({code: \"EPSG:4326\"});\r\n\r\n p.transform(new ol.proj.Projection({code: \"EPSG:4326\"}), new ol.proj.Projection({code: \"EPSG:3857\"}));\r\n let coordinates = p.getCoordinates();\r\n options.center.x = coordinates[0];\r\n options.center.y = coordinates[1];\r\n }\r\n\r\n const controls = ol.control.defaults({\r\n attributionOptions: {collapsible: false}\r\n }\r\n );\r\n\r\n const view = new ol.View({\r\n center: [options.center.x, options.center.y],\r\n zoom: options.zoom,\r\n minZoom: options.minZoom,\r\n maxZoom: options.maxZoom\r\n });\r\n\r\n let map = new ol.Map({\r\n layers: [osmLayer],\r\n target: options.divId,\r\n controls: controls,\r\n view: view\r\n });\r\n\r\n if (options.fullScreen) {\r\n map.addControl(new ol.control.FullScreen({}));\r\n }\r\n\r\n if (options.addGeocode){\r\n new Geocode(document.getElementById(options.divId) as HTMLDivElement, map);\r\n }\r\n\r\n return map;\r\n}\r\n\r\nnm.quickMapBase = quickMapBase;\r\nexport default quickMapBase;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/quickMapBase.ts","/**\r\n * Created by gavorhes on 12/14/2015.\r\n */\r\n\r\nimport provide from '../util/provide';\r\nconst nm = provide('olHelpers.zoomResolutionConvert');\r\n\r\nlet _zoomResLookup = [\r\n 156543.03392804097, //0\r\n 78271.51696402048, //1\r\n 39135.75848201024, //2\r\n 19567.87924100512, //3\r\n 9783.93962050256, //4\r\n 4891.96981025128, //5\r\n 2445.98490512564, //6\r\n 1222.99245256282, //7\r\n 611.49622628141, //8\r\n 305.748113140705, //9\r\n 152.8740565703525, //10\r\n 76.43702828517625, //11\r\n 38.21851414258813, //12\r\n 19.109257071294063, //13\r\n 9.554628535647032, //14\r\n 4.777314267823516, //15\r\n 2.388657133911758, //16\r\n 1.194328566955879, //17\r\n 0.5971642834779395, //18\r\n 0.29858214173896974, //19\r\n 0.14929107086948487, //20\r\n 0.07464553543474244, //21\r\n 0.03732276771737122, //22\r\n 0.01866138385868561, //23\r\n 0.009330691929342804, //24\r\n 0.004665345964671402, //25\r\n 0.002332672982335701, //26\r\n 0.0011663364911678506, //27\r\n 0.0005831682455839253 //28\r\n];\r\n\r\n/**\r\n * Get the resolution given the zoom level\r\n * @param {number} zoomLevel - the zoom level\r\n * @returns {number|*} the map resolution\r\n */\r\nexport function zoomToResolution(zoomLevel: number): number {\r\n \"use strict\";\r\n\r\n if (typeof zoomLevel == 'number') {\r\n if (zoomLevel % 1 === 0 && zoomLevel >= 0 && zoomLevel <= 28) {\r\n return _zoomResLookup[zoomLevel];\r\n } else {\r\n console.log(`invalid zoom level provided: ${zoomLevel}`);\r\n\r\n return undefined;\r\n }\r\n } else {\r\n return undefined;\r\n }\r\n}\r\nnm.zoomToResolution = zoomToResolution;\r\n\r\n\r\n/**\r\n * Get resolution from the zoom level\r\n * @param {number} resolution - the resolution\r\n * @returns {number|*} the zoom level\r\n */\r\nexport function resolutionToZoom(resolution: number): number{\r\n for (let i = 0; i < _zoomResLookup.length; i++){\r\n if (resolution >= _zoomResLookup[i] ){\r\n return i;\r\n }\r\n }\r\n\r\n return 0;\r\n}\r\n\r\nnm.resolutionToZoom = resolutionToZoom;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/zoomResolutionConvert.ts","/**\r\n * Created by gavorhes on 1/4/2016.\r\n */\r\nimport provide from '../util/provide';\r\nimport ol = require('custom-ol');\r\nconst nm = provide('olHelpers.esriToOlStyle');\r\n\r\n\r\n/**\r\n *\r\n * @param {Array<number>} colorArray - input color array\r\n * @param {number} opacity - the opacity 0 to 1\r\n * @returns {string} rgba string\r\n * @private\r\n */\r\nfunction _colorArrayToRgba(colorArray: [number, number, number], opacity: number): string {\r\n \"use strict\";\r\n\r\n return `rgba(${colorArray[0]},${colorArray[1]},${colorArray[2]},${opacity})`;\r\n}\r\n\r\n/**\r\n * escape html charcters\r\n * @param {string} str - input string\r\n * @returns {string} escaped string\r\n */\r\nfunction htmlEscape(str: string): string {\r\n return String(str)\r\n .replace(/&/g, '&')\r\n .replace(/\"/g, '"')\r\n .replace(/'/g, ''')\r\n .replace(/</g, '<')\r\n .replace(/>/g, '>');\r\n}\r\n\r\nnm.htmlEscape = htmlEscape;\r\n\r\n\r\nexport interface iEsriResponse{\r\n drawingInfo: {\r\n renderer: iEsriRenderer;\r\n transparency: number\r\n },\r\n geometryType: string\r\n}\r\n\r\n\r\nexport interface iEsriRenderer{\r\n type: string;\r\n symbol: iEsriSymbol;\r\n uniqueValueInfos: Array<{label: string, value: any, symbol: iEsriSymbol}>;\r\n field1: string;\r\n defaultSymbol: iEsriSymbol;\r\n defaultLabel: string;\r\n}\r\n\r\nexport interface iEsriSymbol{\r\n size: number;\r\n type: string;\r\n outline:{\r\n color: [number, number, number];\r\n width: number;\r\n },\r\n color: [number, number, number];\r\n width: number;\r\n imageData: string\r\n}\r\n\r\n\r\nclass CommonSymbol {\r\n legendHtml: string;\r\n opacity: number;\r\n symbolObj: iEsriSymbol;\r\n olStyle: ol.style.Style;\r\n\r\n /**\r\n *\r\n * @param symbolObj\r\n * @param {number} opacity\r\n */\r\n constructor(symbolObj: iEsriSymbol, opacity: number) {\r\n this.symbolObj = symbolObj;\r\n this.opacity = opacity;\r\n this.olStyle = undefined;\r\n this.legendHtml = '';\r\n }\r\n}\r\n\r\ninterface ICommonSymbol{\r\n new (symbolObj: iEsriSymbol, opacity: number): CommonSymbol\r\n}\r\n\r\n\r\nclass PointSymbol extends CommonSymbol {\r\n constructor(symbolObj: iEsriSymbol, opacity: number) {\r\n super(symbolObj, opacity);\r\n switch (this.symbolObj.type) {\r\n case 'esriSMS':\r\n let innerColor = _colorArrayToRgba(this.symbolObj.color, this.opacity);\r\n let outerColor = _colorArrayToRgba(this.symbolObj.outline.color, this.opacity);\r\n let outlineWidth = this.symbolObj.outline.width;\r\n let radius = this.symbolObj.size;\r\n\r\n\r\n this.olStyle = new ol.style.Style({\r\n image: new ol.style.Circle({\r\n radius: radius,\r\n fill: new ol.style.Fill({\r\n color: innerColor\r\n }),\r\n stroke: new ol.style.Stroke({color: outerColor, width: outlineWidth})\r\n })\r\n });\r\n this.legendHtml = `<span class=\"legend-layer-icon\" style=\"color: ${innerColor}\">●</span>`;\r\n break;\r\n case 'esriPMS':\r\n this.olStyle = new ol.style.Style({\r\n image: new ol.style.Icon({src: `data:image/png;base64,${this.symbolObj['imageData']}`})\r\n });\r\n this.legendHtml = `<img class=\"legend-layer-icon\" height=\"17\" src=\"data:image/png;base64,${this.symbolObj['imageData']}\">`;\r\n break;\r\n default:\r\n console.log(this.symbolObj);\r\n alert('Point symbol does not handle symbol type: ' + this.symbolObj['type']);\r\n }\r\n }\r\n}\r\n\r\nclass LineSymbol extends CommonSymbol {\r\n constructor(symbolObj: iEsriSymbol, opacity: number) {\r\n super(symbolObj, opacity);\r\n switch (this.symbolObj.type) {\r\n case 'esriSLS':\r\n let innerColor = _colorArrayToRgba(this.symbolObj.color, this.opacity);\r\n let lineWidth = this.symbolObj.width;\r\n\r\n this.olStyle = new ol.style.Style({\r\n stroke: new ol.style.Stroke({\r\n color: innerColor,\r\n //lineDash: [4],\r\n width: lineWidth\r\n })\r\n });\r\n\r\n this.legendHtml = `<span class=\"legend-layer-icon\" `;\r\n this.legendHtml += `style=\"`;\r\n this.legendHtml += `background-color: ${innerColor};`;\r\n this.legendHtml += `width: 40px;`;\r\n this.legendHtml += `height: 4px;`;\r\n this.legendHtml += `position: relative;`;\r\n this.legendHtml += `display: inline-block;`;\r\n this.legendHtml += `top: -1px;`;\r\n this.legendHtml += `\"></span>`;\r\n break;\r\n default:\r\n console.log(this.symbolObj);\r\n alert('Line symbol does not handle symbol type: ' + this.symbolObj['type']);\r\n }\r\n }\r\n}\r\n\r\nclass PolygonSymbol extends CommonSymbol {\r\n constructor(symbolObj: iEsriSymbol, opacity: number) {\r\n super(symbolObj, opacity);\r\n switch (this.symbolObj['type']) {\r\n case 'esriSFS':\r\n let innerColor = _colorArrayToRgba(this.symbolObj.color, this.opacity);\r\n let outerColor = _colorArrayToRgba(this.symbolObj.outline.color, this.opacity);\r\n let outlineWidth = this.symbolObj.outline.width;\r\n\r\n this.olStyle = new ol.style.Style({\r\n stroke: new ol.style.Stroke({\r\n color: outerColor,\r\n //lineDash: [4],\r\n width: outlineWidth\r\n }),\r\n fill: new ol.style.Fill({\r\n color: innerColor\r\n })\r\n });\r\n\r\n this.legendHtml = `<span class=\"legend-layer-icon\" `;\r\n this.legendHtml += `style=\"`;\r\n this.legendHtml += `background-color: ${innerColor};`;\r\n this.legendHtml += `border: solid ${outerColor} 1px;`;\r\n this.legendHtml += `width: 40px;`;\r\n this.legendHtml += `height: 9px;`;\r\n this.legendHtml += `position: relative;`;\r\n this.legendHtml += `display: inline-block;`;\r\n this.legendHtml += `top: 2px;`;\r\n this.legendHtml += `\"></span>`;\r\n break;\r\n\r\n default:\r\n console.log(this.symbolObj);\r\n alert('Polygon symbol does handle symbol type: ' + this.symbolObj['type']);\r\n }\r\n }\r\n}\r\n\r\nexport interface iStyleFunc{\r\n (f: ol.Feature): ol.style.Style| ol.style.Style[]\r\n}\r\n\r\nclass SymbolGenerator {\r\n opacity: number;\r\n renderer: iEsriRenderer;\r\n legendHtml: string;\r\n olStyle: iStyleFunc | ol.style.Style;\r\n\r\n constructor(esriResponse: iEsriResponse) {\r\n this.opacity = (100 - (esriResponse['drawingInfo']['transparency'] || 0)) / 100;\r\n this.renderer = esriResponse.drawingInfo.renderer;\r\n this.olStyle = undefined;\r\n this.legendHtml = '';\r\n }\r\n}\r\n\r\nclass SingleSymbol extends SymbolGenerator {\r\n symbol: iEsriSymbol;\r\n /**\r\n *\r\n * @param {object} esriResponse - layer info\r\n * @param SymbolClass - the symbol class to use\r\n */\r\n constructor(esriResponse: iEsriResponse, SymbolClass: ICommonSymbol) {\r\n super(esriResponse);\r\n this.symbol = this.renderer.symbol;\r\n let symbolObj = new SymbolClass(this.symbol, this.opacity);\r\n this.olStyle = symbolObj.olStyle;\r\n this.legendHtml = symbolObj.legendHtml;\r\n }\r\n}\r\n\r\nclass UniqueValueSymbol extends SymbolGenerator {\r\n\r\n propertyName: string;\r\n defaultSymbol: iEsriSymbol;\r\n defaultStyle: ol.style.Style;\r\n defaultLabelHtml: string;\r\n labelArray: Array<string>;\r\n legendArray: Array<string>;\r\n propertyStyleLookup: {[s: string]: ol.style.Style};\r\n valueArray: Array<any>;\r\n uniqueValueInfos: Array<{label: string, value: any, symbol: iEsriSymbol}>;\r\n\r\n /**\r\n *\r\n * @param {object} esriResponse - layer info\r\n * @param SymbolClass - the Symbol class definition\r\n */\r\n constructor(esriResponse: iEsriResponse, SymbolClass: ICommonSymbol) {\r\n super(esriResponse);\r\n this.uniqueValueInfos = this.renderer.uniqueValueInfos;\r\n this.propertyName = this.renderer.field1;\r\n this.defaultSymbol = this.renderer.defaultSymbol;\r\n\r\n\r\n if (this.defaultSymbol) {\r\n let symbolObj = new SymbolClass(this.defaultSymbol, this.opacity);\r\n this.defaultStyle = symbolObj.olStyle;\r\n this.defaultLabelHtml = `<span class=\"legend-layer-subitem\">${htmlEscape(this.renderer['defaultLabel'])}</span>` + symbolObj.legendHtml;\r\n } else {\r\n this.defaultStyle = undefined;\r\n this.defaultLabelHtml = 'other';\r\n }\r\n\r\n this.valueArray = [];\r\n this.labelArray = [];\r\n this.legendArray = [];\r\n this.propertyStyleLookup = {};\r\n\r\n for (let uniqueVal of this.uniqueValueInfos) {\r\n this.labelArray.push(uniqueVal['label']);\r\n this.valueArray.push(uniqueVal['value']);\r\n let uniqueSym = new SymbolClass(uniqueVal.symbol, this.opacity);\r\n this.legendArray.push(`<span class=\"legend-layer-subitem\">${htmlEscape(uniqueVal['label'])}</span>` + uniqueSym.legendHtml);\r\n this.propertyStyleLookup[uniqueVal['value']] = uniqueSym.olStyle;\r\n }\r\n\r\n this.olStyle = (feature: ol.Feature): ol.style.Style[] => {\r\n let checkProperties = feature.getProperties();\r\n let checkProperty = checkProperties[this.propertyName];\r\n\r\n if (this.propertyStyleLookup[checkProperty] !== undefined) {\r\n return [this.propertyStyleLookup[checkProperty]];\r\n } else {\r\n return [this.defaultStyle];\r\n }\r\n };\r\n\r\n if (this.defaultLabelHtml !== null) {\r\n this.legendArray.push(this.defaultLabelHtml);\r\n }\r\n\r\n this.legendHtml = '<ul>';\r\n for (let h of this.legendArray) {\r\n this.legendHtml += `<li>${h}</li>`;\r\n }\r\n this.legendHtml += '</ul>';\r\n }\r\n}\r\n\r\nexport function makeFeatureServiceLegendAndSymbol(esriResponse: iEsriResponse): {style: iStyleFunc | ol.style.Style, legend: string} {\r\n \"use strict\";\r\n let renderer = esriResponse.drawingInfo.renderer;\r\n let symbolLegendOut: SymbolGenerator = null;\r\n\r\n switch (renderer.type) {\r\n case 'simple':\r\n switch (esriResponse.geometryType) {\r\n case 'esriGeometryPoint':\r\n symbolLegendOut = new SingleSymbol(esriResponse, PointSymbol);\r\n break;\r\n case 'esriGeometryPolyline':\r\n symbolLegendOut = new SingleSymbol(esriResponse, LineSymbol);\r\n break;\r\n case 'esriGeometryPolygon':\r\n symbolLegendOut = new SingleSymbol(esriResponse, PolygonSymbol);\r\n break;\r\n default:\r\n console.log(esriResponse);\r\n alert(esriResponse.geometryType + ' not handled');\r\n }\r\n break;\r\n case 'uniqueValue':\r\n switch (esriResponse.geometryType) {\r\n case 'esriGeometryPoint':\r\n symbolLegendOut = new UniqueValueSymbol(esriResponse, PointSymbol);\r\n break;\r\n case 'esriGeometryPolyline':\r\n symbolLegendOut = new UniqueValueSymbol(esriResponse, LineSymbol);\r\n break;\r\n case 'esriGeometryPolygon':\r\n symbolLegendOut = new UniqueValueSymbol(esriResponse, PolygonSymbol);\r\n break;\r\n default:\r\n console.log(esriResponse);\r\n alert(esriResponse['geometryType'] + ' not handled');\r\n }\r\n break;\r\n default:\r\n alert('not handled renderer type: ' + renderer['type']);\r\n }\r\n\r\n if (symbolLegendOut == null) {\r\n return {style: undefined, legend: ''};\r\n } else {\r\n return {style: symbolLegendOut.olStyle, legend: symbolLegendOut.legendHtml};\r\n }\r\n}\r\n\r\nnm.makeFeatureServiceLegendAndSymbol = makeFeatureServiceLegendAndSymbol;\r\n\r\n\r\nexport interface iMapServiceLegend{\r\n layerName: string;\r\n legend: {label: string, imageData: string}[]\r\n}\r\n\r\n/**\r\n *\r\n * @param {object} lyrObject - the layer as defined in the response\r\n * @param {boolean} [skipLayerNameAndExpander=false] use only icons\r\n * @returns {string} legend html\r\n */\r\nfunction mapServiceLegendItem(lyrObject: iMapServiceLegend, skipLayerNameAndExpander: boolean = false) {\r\n\r\n\r\n skipLayerNameAndExpander = typeof skipLayerNameAndExpander == 'boolean' ? skipLayerNameAndExpander : false;\r\n let layerName = lyrObject['layerName'];\r\n let legendItems = lyrObject['legend'];\r\n let legendHtml = '';\r\n\r\n if (!skipLayerNameAndExpander) {\r\n legendHtml += `<span class=\"legend-layer-subitem\">${layerName}</span>`;\r\n }\r\n\r\n if (legendItems.length == 1) {\r\n legendHtml = `<img class=\"legend-layer-icon\" height=\"17\" src=\"data:image/png;base64,${legendItems[0]['imageData']}\">`;\r\n } else {\r\n if (!skipLayerNameAndExpander) {\r\n legendHtml += '<span class=\"legend-items-expander\" title=\"Expand/Collapse\">▼</span>';\r\n }\r\n legendHtml += '<ul>';\r\n for (let i = 0; i < legendItems.length; i++) {\r\n legendHtml += `<li>`;\r\n legendHtml += `<span class=\"legend-layer-subitem\">${htmlEscape(legendItems[i]['label'])}</span>`;\r\n legendHtml += `<img class=\"legend-layer-icon\" height=\"17\" src=\"data:image/png;base64,${legendItems[i]['imageData']}\">`;\r\n legendHtml += `</li>`;\r\n }\r\n legendHtml += '</ul>';\r\n }\r\n\r\n if (!skipLayerNameAndExpander) {\r\n legendHtml = `<span class=\"legend-layer-subitem\">${layerName}</span>` + legendHtml;\r\n }\r\n\r\n return legendHtml;\r\n}\r\n\r\n/**\r\n * make map service legent\r\n * @param {object} esriResponse - layer info\r\n * @param showLayers - limited number of layers to show in map service\r\n * @returns {string} legend content\r\n */\r\nexport function makeMapServiceLegend(esriResponse: {layers: iMapServiceLegend[]}, showLayers: number[] = []) {\r\n \"use strict\";\r\n\r\n let newLegendHtml = '';\r\n\r\n let layers = esriResponse['layers'];\r\n\r\n if (layers.length == 1) {\r\n newLegendHtml += mapServiceLegendItem(layers[0], true);\r\n } else {\r\n newLegendHtml += '<ul>';\r\n for (let i = 0; i < layers.length; i++) {\r\n if (showLayers.length > 0 && showLayers.indexOf(i) < 0){\r\n continue;\r\n }\r\n newLegendHtml += '<li>' + mapServiceLegendItem(layers[i]) + '</li>';\r\n }\r\n newLegendHtml += '</ul>';\r\n }\r\n\r\n return newLegendHtml;\r\n}\r\n\r\nnm.makeMapServiceLegend = makeMapServiceLegend;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/esriToOlStyle.ts","/**\r\n * Created by gavorhes on 6/1/2016.\r\n */\r\n\r\n\r\nimport provide from '../util/provide';\r\nimport {LayerBase} from \"../layers/LayerBase\";\r\nimport ol = require('custom-ol');\r\nimport $ = require('jquery');\r\n\r\nlet nm = provide('collections.layerSwipe');\r\n\r\n\r\nclass LayerSwipe {\r\n leftLayers: Array<LayerBase>;\r\n rightLayers: Array<LayerBase>;\r\n _percentRight: number;\r\n _map: ol.Map;\r\n $mapElement: JQuery;\r\n $swiper: JQuery;\r\n dragging: boolean;\r\n offset: number;\r\n /**\r\n *\r\n * @param {ol.Map} map - the map\r\n * @param {string} [sliderContent=''] - additional html to be added inside the slider div\r\n */\r\n constructor(map: ol.Map, sliderContent: string = '') {\r\n\r\n sliderContent = sliderContent || '';\r\n /**\r\n *\r\n * @type {Array<LayerBase>}\r\n */\r\n this.leftLayers = [];\r\n\r\n /**\r\n *\r\n * @type {Array<LayerBase>}\r\n */\r\n this.rightLayers = [];\r\n\r\n this._percentRight = 50;\r\n this.offset = null;\r\n\r\n this._map = map;\r\n this.$mapElement = $(map.getTargetElement());\r\n this.$mapElement.append(`<div class=\"layer-swiper\">${sliderContent}</div>`);\r\n\r\n\r\n this.$swiper = this.$mapElement.find('.layer-swiper');\r\n this.percentRight = this.percentRight;\r\n\r\n this.dragging = false;\r\n\r\n this.$mapElement.mouseleave(() => {\r\n this.dragging = false;\r\n });\r\n\r\n this.$swiper.bind('mousewheel DOMMouseScroll', function(evt){\r\n evt.preventDefault();\r\n });\r\n\r\n this.$swiper.mousedown((evt) => {\r\n this.dragging = true;\r\n this.offset = evt.offsetX;\r\n });\r\n\r\n $(window).mouseup(() => {\r\n this.dragging = false;\r\n });\r\n\r\n this.$mapElement.mousemove((evt) => {\r\n if (this.dragging) {\r\n let mapLeft = this.$mapElement.position().left;\r\n let mapWidth = this.$mapElement.width();\r\n\r\n this.percentRight = 100 * (evt.pageX - this.offset - mapLeft) / mapWidth;\r\n }\r\n });\r\n }\r\n\r\n /**\r\n *\r\n * @param {LayerBase|*} lyr - layer to be added to left side\r\n */\r\n addLeftLayer(lyr: LayerBase) {\r\n\r\n if (this.leftLayers.indexOf(lyr) != -1){\r\n return;\r\n }\r\n\r\n lyr.olLayer.on('precompose', (event: {context: CanvasRenderingContext2D}) => {\r\n let ctx = event['context'];\r\n let width = ctx.canvas.width * (this.percentRight / 100);\r\n\r\n ctx.save();\r\n ctx.beginPath();\r\n ctx.rect(0, 0, width, ctx.canvas.height);\r\n ctx.clip();\r\n });\r\n\r\n lyr.olLayer.on('postcompose', function (event: {context: CanvasRenderingContext2D}) {\r\n let ctx = event['context'];\r\n ctx.restore();\r\n });\r\n\r\n\r\n this.leftLayers.push(lyr);\r\n }\r\n\r\n /**\r\n *\r\n * @param {LayerBase|*} lyr - layer to be added to right side\r\n */\r\n addRightLayer(lyr: LayerBase) {\r\n\r\n if (this.rightLayers.indexOf(lyr) != -1){\r\n return;\r\n }\r\n\r\n lyr.olLayer.on('precompose', (event: {context: CanvasRenderingContext2D}) => {\r\n let ctx = event['context'];\r\n let width = ctx.canvas.width * (this.percentRight / 100);\r\n\r\n ctx.save();\r\n ctx.beginPath();\r\n ctx.rect(width, 0, ctx.canvas.width - width, ctx.canvas.height);\r\n ctx.clip();\r\n });\r\n\r\n lyr.olLayer.on('postcompose', function (event: {context: CanvasRenderingContext2D}) {\r\n let ctx = event['context'];\r\n ctx.restore();\r\n });\r\n\r\n this.rightLayers.push(lyr);\r\n }\r\n\r\n get percentRight() : number{\r\n return this._percentRight;\r\n }\r\n\r\n set percentRight(percent: number) {\r\n let maxed = this.$swiper.position().left + this.$swiper.width() > this.$mapElement.width();\r\n\r\n if (percent < 0) {\r\n return;\r\n } else if (maxed && percent > this.percentRight) {\r\n return;\r\n }\r\n\r\n this._percentRight = percent;\r\n this.$swiper.css('left', `${this._percentRight.toFixed(2)}%`);\r\n this._map.render();\r\n }\r\n}\r\n\r\nnm.LayerSwipe = LayerSwipe;\r\nexport default LayerSwipe;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/layerSwipe.ts","/**\r\n * Created by gavorhes on 6/1/2016.\r\n */\r\nimport {quickMap} from '../../olHelpers/quickMap';\r\nimport LayerSwipe from '../../olHelpers/layerSwipe';\r\nimport {LayerEsriMapServer} from '../../layers/LayerEsriMapServer';\r\n\r\nlet map = quickMap();\r\n\r\n\r\nlet swiper = new LayerSwipe(map);\r\n\r\n\r\nlet wisDotRegions = new LayerEsriMapServer(\r\n 'http://transportal.cee.wisc.edu/applications/arcgis2/rest/services/MetaManager/Metamanager_regions/MapServer',\r\n {\r\n minZoom: 6,\r\n maxZoom: 12,\r\n name: 'WisDOT Regions'\r\n });\r\n\r\nlet metamanagerSegments = new LayerEsriMapServer(\r\n 'http://transportal.cee.wisc.edu/applications/arcgis2/rest/services/MetaManager/MM_All_Segments/MapServer',\r\n {\r\n minZoom: 7,\r\n visible: true,\r\n name: 'Metamanager Segments'\r\n });\r\n\r\nlet truckSpeed2014 = new LayerEsriMapServer(\r\n 'http://transportal.cee.wisc.edu/applications/arcgis2/rest/services/NPMRDS/compareDynamic/MapServer',\r\n {\r\n minZoom: 7,\r\n visible: true,\r\n name: 'truck2014',\r\n showLayers: [8]\r\n });\r\n\r\nlet truckSpeed2015 = new LayerEsriMapServer(\r\n 'http://transportal.cee.wisc.edu/applications/arcgis2/rest/services/NPMRDS/compareDynamic/MapServer',\r\n {\r\n minZoom: 7,\r\n visible: true,\r\n name: 'truck2015',\r\n showLayers: [9]\r\n });\r\n\r\nmap.addLayer(wisDotRegions.olLayer);\r\nmap.addLayer(truckSpeed2014.olLayer);\r\nmap.addLayer(truckSpeed2015.olLayer);\r\nmap.addLayer(metamanagerSegments.olLayer);\r\n\r\n\r\nswiper.addLeftLayer(wisDotRegions);\r\nswiper.addRightLayer(metamanagerSegments);\r\n\r\nswiper.addLeftLayer(truckSpeed2014);\r\nswiper.addRightLayer(truckSpeed2015);\r\n\r\nsetTimeout(() => {\r\n\r\n}, 5000);\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/_tests/demos/compare-test.ts"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/bootstrap 85176672b243dd643c6c","webpack:///./src/util/provide.ts?5c82****","webpack:///external \"$\"?57aa****","webpack:///./src/layers/LayerBase.ts?bf94**","webpack:///./src/olHelpers/geocode.ts?5a2f**","webpack:///./src/olHelpers/mapMoveCls.ts?cd45**","webpack:///./src/olHelpers/mapPopupCls.ts?e3f7**","webpack:///./src/olHelpers/quickMapBase.ts?fb65**","webpack:///external \"ol\"?81ed**","webpack:///./src/layers/LayerEsriMapServer.ts?9c85*","webpack:///./src/olHelpers/zoomResolutionConvert.ts?dd4b**","webpack:///./src/olHelpers/esriToOlStyle.ts?9363*","webpack:///./src/util/makeGuid.ts?e80e****","webpack:///./src/olHelpers/mapInteractionBase.ts?f419**","webpack:///./src/olHelpers/mapPopup.ts?5d6c**","webpack:///./src/olHelpers/quickMap.ts?1069**","webpack:///./src/olHelpers/layerSwipe.ts","webpack:///./src/olHelpers/mapMove.ts?6a2b**","webpack:///./src/_tests/demos/compare-test.ts","webpack:///./src/olHelpers/projections.ts?804b**","webpack:///./src/util/checkDefined.ts?bcd7**"],"names":[],"mappings":"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","file":"compare-test.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 71);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 85176672b243dd643c6c","/**\r\n * Created by gavorhes on 12/10/2015.\r\n */\r\n\r\ndeclare const window: Window;\r\n/**\r\n * create a namespace on the gv object\r\n * @param {string} namespace to create\r\n * @returns {object} object representing the namespace\r\n */\r\nfunction provide(namespace: string){\r\n \"use strict\";\r\n if (typeof (<any>window).gv == 'undefined'){\r\n (<any>window).gv = {};\r\n }\r\n\r\n let parts = namespace.split('.');\r\n let nameSpace = (<any>window).gv;\r\n\r\n for (let i=0; i< parts.length; i++){\r\n let newObject = nameSpace[parts[i]];\r\n\r\n if (typeof newObject == 'undefined'){\r\n nameSpace[parts[i]] = {};\r\n }\r\n\r\n nameSpace = nameSpace[parts[i]];\r\n }\r\n\r\n return nameSpace;\r\n}\r\n\r\nprovide('util');\r\n(<any>window).gv.util.provide = provide;\r\n\r\nexport default provide;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/util/provide.ts","module.exports = $;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"$\"\n// module id = 1\n// module chunks = 0 1 2 4 5 6 7 8 9 10","import * as zoomResolutionConvert from '../olHelpers/zoomResolutionConvert';\r\nimport provide from '../util/provide';\r\nimport ol = require('custom-ol');\r\nimport makeGuid from '../util/makeGuid';\r\nimport $ = require('jquery');\r\n\r\nconst nm = provide('layers');\r\n\r\n\r\nexport interface LayerBaseOptions{\r\n id?: string;\r\n name?: string;\r\n opacity?: number;\r\n visible?: boolean;\r\n minZoom?: number;\r\n maxZoom?: number;\r\n params?: any;\r\n zIndex?: number;\r\n loadCallback?: Function;\r\n legendCollapse?: boolean;\r\n legendCheckbox?: boolean;\r\n legendContent?: string;\r\n}\r\n\r\n\r\n/**\r\n * The base layer class\r\n * @abstract\r\n */\r\nexport abstract class LayerBase {\r\n\r\n protected _legendCheckbox: boolean;\r\n protected _url: string;\r\n protected _opacity: number;\r\n protected _minZoom: number;\r\n protected _maxZoom: number;\r\n protected _visible: boolean;\r\n protected _loaded: boolean;\r\n protected _zIndex: number;\r\n protected _legendContent: string;\r\n protected _params: any;\r\n protected _id: string;\r\n protected _name: string;\r\n protected _source: ol.source.Source;\r\n protected _animate: boolean;\r\n protected _legendCollapse: boolean;\r\n protected _maxResolution: number;\r\n protected _minResolution: number;\r\n protected _$legendDiv: JQuery;\r\n loadCallback: Function;\r\n protected _olLayer: ol.layer.Layer;\r\n protected _applyCollapseCalled: boolean;\r\n\r\n\r\n\r\n /**\r\n * The base layer for all others\r\n * @param {string} url - url for source\r\n * @param {object} options - config\r\n * @param {string} [options.id=makeGuid()] - layer id\r\n * @param {string} [options.name=Unnamed Layer] - layer name\r\n * @param {number} [options.opacity=1] - opacity\r\n * @param {boolean} [options.visible=true] - default visible\r\n * @param {number} [options.minZoom=undefined] - min zoom level, 0 - 28\r\n * @param {number} [options.maxZoom=undefined] - max zoom level, 0 - 28\r\n * @param {object} [options.params={}] - the get parameters to include to retrieve the layer\r\n * @param {number} [options.zIndex=0] - the z index for the layer\r\n * @param {function} [options.loadCallback] - function to call on load, context this is the layer object\r\n * @param {boolean} [options.legendCollapse=false] - if the legend item should be initially collapsed\r\n * @param {boolean} [options.legendCheckbox=true] - if the legend item should have a checkbox for visibility\r\n * @param {boolean} [options.legendContent=undefined] - additional content to add to the legend\r\n */\r\n constructor(url: string, options: LayerBaseOptions = {}) {\r\n options = options || {} as LayerBaseOptions;\r\n\r\n if (typeof url !== 'string') {\r\n throw 'Invalid URL';\r\n }\r\n this._url = url;\r\n\r\n\r\n this._params = typeof options.params == 'object' ? options.params : {};\r\n this._legendCollapse = typeof options.legendCollapse == 'boolean' ? options.legendCollapse : false;\r\n this._legendCheckbox = typeof options.legendCheckbox == 'boolean' ? options.legendCheckbox : true;\r\n\r\n this.id = options.id || makeGuid();\r\n this._name = options.name || 'Unnamed Layer';\r\n this.animate = false;\r\n this._opacity = typeof options.opacity == 'number' ? options.opacity : 1;\r\n\r\n if (this._opacity > 1) {\r\n this._opacity = 1;\r\n } else if (this._opacity < 0) {\r\n this._opacity = 0;\r\n }\r\n\r\n this._visible = typeof options.visible === 'boolean' ? options.visible : true;\r\n\r\n this._source = undefined;\r\n\r\n /**\r\n *\r\n * @protected\r\n */\r\n this._olLayer = undefined;\r\n this._loaded = false;\r\n\r\n this._maxResolution = zoomResolutionConvert.zoomToResolution(options.minZoom);\r\n if (typeof this._maxResolution !== 'undefined') {\r\n this._maxResolution += 0.00001;\r\n }\r\n this._minResolution = zoomResolutionConvert.zoomToResolution(options.maxZoom);\r\n\r\n this._minZoom = typeof options.minZoom == 'number' ? options.minZoom : undefined;\r\n this._maxZoom = typeof options.maxZoom == 'number' ? options.maxZoom : undefined;\r\n this._zIndex = typeof options.zIndex == 'number' ? options.zIndex : 0;\r\n\r\n this.loadCallback = typeof options.loadCallback == 'function' ? options.loadCallback : function () {\r\n };\r\n\r\n\r\n this._legendContent = '';\r\n\r\n if (this._legendCheckbox) {\r\n this._legendContent += `<input type=\"checkbox\" ${this.visible ? 'checked' : ''} ` +\r\n `class=\"legend-check\" id=\"${this.id}-legend-layer-check\"><span></span>`;\r\n this._legendContent += `<label for=\"${this.id}-legend-layer-check\" class=\"legend-layer-name\">${this.name}</label>`;\r\n } else {\r\n this._legendContent += `<label class=\"legend-layer-name\">${this.name}</label>`;\r\n }\r\n\r\n this._$legendDiv = null;\r\n this._applyCollapseCalled = false;\r\n this._addLegendContent(typeof options.legendContent === 'string' ? options.legendContent : undefined);\r\n }\r\n\r\n /**\r\n * base load function, sets _loaded = true if it is not already\r\n * @protected\r\n * @returns {boolean} if already loaded\r\n */\r\n _load() {\r\n if (this.loaded == true) {\r\n return true;\r\n } else {\r\n this._loaded = true;\r\n\r\n return false;\r\n }\r\n }\r\n\r\n /**\r\n * Get the legend html, be sure to only add to the DOM once\r\n * @returns {string} html for layer wrapped in a div\r\n */\r\n getLegendDiv() {\r\n return `<div class=\"legend-layer-div\" id=\"${this.id}-legend-layer-div\">${this._legendContent}</div>`;\r\n }\r\n\r\n /**\r\n *\r\n * @param additionalContent - additional content to add to legend\r\n * @private\r\n */\r\n _addLegendContent(additionalContent='') {\r\n\r\n let addCollapse = additionalContent.indexOf('<ul>') > -1;\r\n\r\n if (addCollapse) {\r\n additionalContent = '<span class=\"legend-items-expander\" title=\"Expand/Collapse\">▼</span>' + additionalContent;\r\n }\r\n\r\n this._legendContent += additionalContent;\r\n\r\n this._$legendDiv = $(`#${this.id}-legend-layer-div`);\r\n\r\n if (this._$legendDiv.length > 0) {\r\n this._$legendDiv.append(additionalContent);\r\n this.applyCollapse();\r\n }\r\n }\r\n\r\n /**\r\n * add additional content to the legend\r\n * @param {string} [additionalContent=] - additonal content to add\r\n */\r\n addLegendContent(additionalContent: string) {\r\n this._addLegendContent(additionalContent);\r\n }\r\n\r\n applyCollapse(): void {\r\n if (this._applyCollapseCalled) {\r\n console.log('collapse already applied');\r\n\r\n return undefined;\r\n }\r\n\r\n this._$legendDiv = $(`#${this.id}-legend-layer-div`);\r\n\r\n if (this._$legendDiv.length > 0) {\r\n\r\n let $expander = this._$legendDiv.find('.legend-items-expander');\r\n\r\n if ($expander.length > 0) {\r\n this._applyCollapseCalled = true;\r\n\r\n $expander.click(function () {\r\n let $this = $(this);\r\n\r\n $this.siblings('ul').slideToggle();\r\n\r\n if ($this.hasClass('legend-layer-group-collapsed')) {\r\n $this.removeClass('legend-layer-group-collapsed');\r\n $this.html('▼');\r\n } else {\r\n $this.addClass('legend-layer-group-collapsed');\r\n $this.html('▶');\r\n }\r\n });\r\n\r\n if (this._legendCollapse) {\r\n $expander.trigger('click');\r\n }\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * trick to refresh the layer\r\n */\r\n refresh() {\r\n if (this.source) {\r\n this.source.refresh();\r\n }\r\n }\r\n\r\n get id(): string{\r\n return this._id;\r\n }\r\n\r\n set id(newId: string){\r\n this._id = newId;\r\n }\r\n\r\n get animate(): boolean{\r\n return this._animate;\r\n }\r\n\r\n set animate(animate: boolean){\r\n this._animate = animate;\r\n }\r\n\r\n /**\r\n * get the legend content\r\n * @type {string}\r\n */\r\n get legendContent(): string {\r\n return this._legendContent;\r\n }\r\n\r\n /**\r\n * set the legend content directly\r\n * @param {string} newVal - new content\r\n * @protected\r\n */\r\n set legendContent(newVal: string) {\r\n this._legendContent = newVal;\r\n }\r\n\r\n /**\r\n * get the map get params\r\n * @type {object}\r\n */\r\n get params(): {[s: string]: any} {\r\n return this._params;\r\n }\r\n\r\n /**\r\n * set the map get params\r\n * @param {object} newParams - new get params\r\n * @protected\r\n */\r\n set params(newParams: {[s: string]: any}) {\r\n this._params = newParams;\r\n }\r\n\r\n /**\r\n * get the minimum resolution\r\n * @type {number|*}\r\n */\r\n get minResolution(): number {\r\n return this._minResolution;\r\n }\r\n\r\n /**\r\n * get the maximum resolution\r\n * @type {number|*}\r\n */\r\n get maxResolution(): number {\r\n return this._maxResolution;\r\n }\r\n\r\n /**\r\n * get min zoom\r\n * @type {number|*}\r\n */\r\n get minZoom(): number {\r\n return this._minZoom;\r\n }\r\n\r\n /**\r\n * get max zoom\r\n * @type {number|*}\r\n */\r\n get maxZoom(): number {\r\n return this._maxZoom;\r\n }\r\n\r\n /**\r\n * get the url\r\n * @type {string}\r\n */\r\n get url(): string {\r\n return this._url;\r\n }\r\n\r\n /**\r\n * Get the layer visibility\r\n * @type {boolean}\r\n */\r\n get visible(): boolean {\r\n return this._visible;\r\n }\r\n\r\n /**\r\n * set the visibility\r\n * @param visibility\r\n */\r\n set visible(visibility: boolean) {\r\n this.setVisible(visibility);\r\n }\r\n\r\n protected setVisible(visibility: boolean) {\r\n this._visible = visibility;\r\n if (this.olLayer) {\r\n this.olLayer.setVisible(this._visible);\r\n if (visibility && !this._loaded) {\r\n this._load();\r\n }\r\n }\r\n }\r\n\r\n\r\n /**\r\n * Get the layer opacity\r\n * @type {number}\r\n */\r\n get opacity(): number {\r\n return this._opacity;\r\n }\r\n\r\n /**\r\n * Set the layer opacity\r\n * @param {number} opacity - layer opacity\r\n */\r\n set opacity(opacity: number) {\r\n this._opacity = opacity;\r\n if (this.olLayer) {\r\n this.olLayer.setOpacity(this._opacity);\r\n }\r\n }\r\n\r\n /**\r\n * Get the layer name\r\n * @type {string}\r\n */\r\n get name(): string {\r\n return this._name;\r\n }\r\n\r\n /**\r\n * set the layer name\r\n * @param {string} newName - the new name\r\n */\r\n set name(newName: string) {\r\n this._name = newName;\r\n }\r\n\r\n /**\r\n * Check if the layer is loaded\r\n * @type {boolean}\r\n */\r\n get loaded():boolean {\r\n return this._loaded;\r\n }\r\n\r\n /**\r\n * get the layer source\r\n * @type {*}\r\n */\r\n get source(): ol.source.Source {\r\n return this.getSource();\r\n }\r\n\r\n\r\n protected getSource(): ol.source.Source{\r\n return this._source;\r\n }\r\n\r\n /**\r\n * get the z index\r\n */\r\n get zIndex(): number {\r\n return this._zIndex;\r\n }\r\n\r\n /**\r\n * set the z index\r\n */\r\n set zIndex(newZ: number) {\r\n this._zIndex = newZ;\r\n }\r\n\r\n protected setZIndex(newZ: number){\r\n\r\n }\r\n\r\n /**\r\n * the the ol layer\r\n */\r\n get olLayer(): ol.layer.Layer {\r\n return this.getOlLayer();\r\n }\r\n\r\n protected getOlLayer(): ol.layer.Layer{\r\n return this._olLayer;\r\n }\r\n}\r\n\r\nnm.LayerBase = LayerBase;\r\nexport default LayerBase;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/layers/LayerBase.ts","import $ = require('jquery')\r\nimport {makeGuid} from '../util/makeGuid';\r\nimport ol = require('custom-ol');\r\nimport {proj3857, proj4326} from './projections';\r\n\r\n\r\nlet invalidClass = 'geocoder-invalid';\r\nlet geocoderLoadingClass = 'geocoder-loading';\r\n\r\n// let testAddress = '65 7th Street, Prairie du Sac, WI';\r\n\r\n\r\nexport class Geocode {\r\n private theButton: HTMLButtonElement;\r\n private theInput: HTMLInputElement;\r\n private map: ol.Map;\r\n private indicationLayer;\r\n\r\n constructor(mapDiv: HTMLDivElement, map: ol.Map) {\r\n let inputGuid = makeGuid();\r\n let buttonGuid = makeGuid();\r\n\r\n this.map = map;\r\n this.indicationLayer = new ol.layer.Vector({\r\n source: new ol.source.Vector(),\r\n style: new ol.style.Style({\r\n image: new ol.style.Circle({\r\n radius: 12,\r\n fill: new ol.style.Fill({color: 'rgba(255,0,0,0.5)'}),\r\n stroke: new ol.style.Stroke({color: 'red', width: 1})\r\n })\r\n })\r\n });\r\n this.map.addLayer(this.indicationLayer);\r\n\r\n $(mapDiv).append('<div class=\"geocoder-el\">' +\r\n `<input type=\"text\" id=\"${inputGuid}\">` +\r\n `<button id=\"${buttonGuid}\">Search</button>` +\r\n '</div>');\r\n\r\n this.theButton = document.getElementById(buttonGuid) as HTMLButtonElement;\r\n this.theInput = document.getElementById(inputGuid) as HTMLInputElement;\r\n\r\n this.reset();\r\n\r\n let $theButton = $(this.theButton);\r\n let $theInput = $(this.theInput);\r\n\r\n $theButton.click((evt) => {\r\n\r\n evt.preventDefault();\r\n\r\n $theButton.addClass(geocoderLoadingClass);\r\n this.theButton.disabled = true;\r\n this.indicationLayer.getSource().clear();\r\n\r\n $.get(\r\n `https://geocode.xyz/${this.theInput.value}?geoit=json`,\r\n {},\r\n (d) => {\r\n let lat = parseFloat(d['latt']);\r\n let lon = parseFloat(d['longt']);\r\n\r\n if ((lat == 0 && lon == 0) || d['error']) {\r\n $theInput.addClass(invalidClass);\r\n this.theInput.title = 'Specified Location Invalid';\r\n this.theButton.title = 'Specified Location Invalid';\r\n\r\n } else {\r\n let v = this.map.getView();\r\n let p = new ol.geom.Point([lon, lat]);\r\n let feat = new ol.Feature(p);\r\n this.indicationLayer.getSource().addFeature(feat);\r\n p.transform(proj4326, proj3857);\r\n\r\n v.setCenter(p.getCoordinates());\r\n v.setZoom(13);\r\n }\r\n\r\n $theButton.removeClass(geocoderLoadingClass);\r\n this.theButton.disabled = false;\r\n },\r\n 'json');\r\n });\r\n\r\n $(this.theInput).keyup((evt) => {\r\n evt.preventDefault();\r\n this.theButton.disabled = this.theInput.value.length == 0;\r\n $theInput.removeClass(invalidClass);\r\n this.theInput.title = '';\r\n this.theButton.title = '';\r\n\r\n if (!this.theButton.disabled && evt.keyCode == 13) {\r\n $theButton.click();\r\n }\r\n })\r\n }\r\n\r\n private reset() {\r\n this.theButton.disabled = true;\r\n this.theInput.value = '';\r\n }\r\n\r\n\r\n// https://geocode.xyz/65%2075h%20street%20prairie%20du%20sac%20wi?geoit=json\r\n\r\n// error\r\n// geocoder-invalid\r\n\r\n}\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/geocode.ts","import LayerBaseVector from \"../layers/LayerBaseVector\";\r\nimport MapInteractionBase from './mapInteractionBase';\r\nimport * as checkDefined from '../util/checkDefined';\r\nimport provide from '../util/provide';\r\nimport makeGuid from '../util/makeGuid';\r\nimport ol = require('custom-ol');\r\nimport $ = require('jquery');\r\nconst nm = provide('olHelpers');\r\n\r\n\r\nexport interface extentObject{\r\n minX: number;\r\n minY: number;\r\n maxX: number;\r\n maxY: number;\r\n}\r\n\r\nexport interface mapMoveCallbackFunction{\r\n /**\r\n *\r\n * @param extent extent as predefined object minX, minX, maxX, maxY\r\n * @param zoomLevel current zoom level\r\n * @param evtType the event type 'change:center', 'change:resolution'\r\n */\r\n (extent: extentObject, zoomLevel: number, evtType?: string): any\r\n}\r\n\r\n\r\n/**\r\n * assists with map move interactions, trigger callback functions\r\n * @augments MapInteractionBase\r\n */\r\nexport class MapMoveCls extends MapInteractionBase {\r\n _mapExtent: extentObject;\r\n _zoomLevel: number;\r\n _lookupLayer: {[s: string]: LayerBaseVector};\r\n _arrLayer: Array<LayerBaseVector>;\r\n _arrLyrTimeout: Array<number>;\r\n _mapMoveCallbackTimeout: Array<number>;\r\n _mapMoveCallbackDelays: Array<number>;\r\n _mapMoveCallbacksLookup: {[s: string]: mapMoveCallbackFunction};\r\n _mapMoveCallbackContext: Array<Object>;\r\n _mapMoveCallbacks: Array<mapMoveCallbackFunction>;\r\n _arrLyrRequest: Array<any>;\r\n\r\n /**\r\n * constructor called implicitly\r\n */\r\n constructor() {\r\n super('map move');\r\n this._arrLyrRequest = [];\r\n this._arrLyrTimeout = [];\r\n this._arrLayer = [];\r\n this._lookupLayer = {};\r\n\r\n this._mapMoveCallbacks = [];\r\n this._mapMoveCallbacksLookup = {};\r\n this._mapMoveCallbackDelays = [];\r\n this._mapMoveCallbackContext = [];\r\n this._mapMoveCallbackTimeout = [];\r\n\r\n this._mapExtent = undefined;\r\n this._zoomLevel = undefined;\r\n\r\n }\r\n\r\n /**\r\n * initialize the map move object\r\n * @param theMap - the ol map\r\n */\r\n init(theMap: ol.Map){\r\n super.init(theMap);\r\n\r\n this.map.getView().on(['change:center', 'change:resolution'], (e: {type: string}) =>{\r\n\r\n this._updateMapExtent();\r\n\r\n // trigger the layer updates\r\n for (let i = 0; i < this._arrLayer.length; i++) {\r\n this.triggerLyrLoad(this._arrLayer[i], i, e.type);\r\n }\r\n\r\n // trigger the map callbacks\r\n for (let i = 0; i < this._mapMoveCallbacks.length; i++) {\r\n this.triggerMoveCallback(i, e.type);\r\n }\r\n });\r\n }\r\n\r\n _updateMapExtent() {\r\n let theView = this.map.getView();\r\n this._zoomLevel = theView.getZoom();\r\n\r\n let extentArray = theView.calculateExtent(this.map.getSize());\r\n\r\n this._mapExtent = {\r\n minX: extentArray[0],\r\n minY: extentArray[1],\r\n maxX: extentArray[2],\r\n maxY: extentArray[3]\r\n };\r\n }\r\n\r\n /**\r\n * return the map extent\r\n */\r\n get mapExtent() {\r\n if (!this._mapExtent) {\r\n this._updateMapExtent();\r\n }\r\n\r\n return this._mapExtent;\r\n }\r\n\r\n /**\r\n * Trigger the layer load\r\n * @param lyr the layer being acted on\r\n * @param index index of the layer\r\n * @param eventType the event triggering the load, as 'change:center' or 'change:resolution'\r\n */\r\n triggerLyrLoad(lyr: LayerBaseVector, index?: number, eventType?: string) {\r\n\r\n if (checkDefined.undefinedOrNull(lyr) && checkDefined.undefinedOrNull(index)) {\r\n throw 'need to define lyr or index';\r\n } else if (checkDefined.definedAndNotNull(lyr) && checkDefined.undefinedOrNull(index)) {\r\n index = this._arrLayer.indexOf(lyr);\r\n } else if (checkDefined.undefinedOrNull(lyr) && checkDefined.definedAndNotNull(index)) {\r\n lyr = this._arrLayer[index];\r\n }\r\n\r\n // clear the timeout\r\n if (this._arrLyrTimeout[index] != null) {\r\n clearTimeout(this._arrLyrTimeout[index]);\r\n this._arrLyrTimeout[index] = null;\r\n }\r\n\r\n // abort if necessary and clear the request\r\n if (this._arrLyrRequest[index] != null && this._arrLyrRequest[index] != 4) {\r\n this._arrLyrRequest[index].abort();\r\n this._arrLyrRequest[index] = null;\r\n }\r\n\r\n // dummy callback used if before load returns false\r\n let callbackFunc = function () {};\r\n\r\n if (lyr.mapMoveBefore(this._zoomLevel, eventType)) {\r\n lyr.mapMoveMakeGetParams(this._mapExtent, this._zoomLevel);\r\n\r\n let __this = this;\r\n\r\n callbackFunc = function () {\r\n function innerFunction(theLayer: LayerBaseVector, theIndex: number) {\r\n let _innerThis = this;\r\n this._arrLyrRequest[theIndex] = $.get(\r\n theLayer.url,\r\n theLayer.mapMoveParams,\r\n function (d) {\r\n /**\r\n * @type {LayerBaseVector}\r\n */\r\n theLayer.mapMoveCallback(d);\r\n theLayer.loadCallback();\r\n }, 'json').fail(\r\n function (jqXHR) {\r\n if (jqXHR.statusText != 'abort') {\r\n console.log('failed');\r\n console.log(theLayer.url);\r\n console.log(theLayer.mapMoveParams);\r\n }\r\n }).always(\r\n function () {\r\n _innerThis._arrLyrTimeout[theIndex] = null;\r\n _innerThis._arrLyrRequest[theIndex] = null;\r\n });\r\n }\r\n innerFunction.call(__this, lyr, index);\r\n };\r\n } else {\r\n lyr.clear();\r\n }\r\n this._arrLyrTimeout[index] = setTimeout(callbackFunc, lyr.onDemandDelay);\r\n }\r\n\r\n /**\r\n * trigger the map move call back at the given index\r\n * @param ind - the index of the layer\r\n * @param eventType=undefined the event triggering the load as 'change:center' or 'change:resolution'\r\n * @param functionId=undefined the function id used to reference the added callback function\r\n */\r\n triggerMoveCallback(ind: number, eventType?: string, functionId?: string) {\r\n\r\n if (typeof ind == 'undefined' && typeof functionId == 'undefined'){\r\n throw 'either the function index or the id must be defined';\r\n }\r\n\r\n if (typeof ind !== 'number'){\r\n ind = this._mapMoveCallbacks.indexOf(this._mapMoveCallbacksLookup[functionId]);\r\n }\r\n\r\n if (ind < 0){\r\n console.log('function not found');\r\n\r\n return;\r\n }\r\n\r\n // clear the timeout\r\n if (this._mapMoveCallbackTimeout[ind] != null) {\r\n clearTimeout(this._mapMoveCallbackTimeout[ind]);\r\n this._mapMoveCallbackTimeout[ind] = null;\r\n }\r\n\r\n let ctx = this._mapMoveCallbackContext[ind];\r\n let theFunc = this._mapMoveCallbacks[ind];\r\n\r\n let __this = this;\r\n\r\n let f = function () {\r\n if (ctx !== null) {\r\n theFunc.call(ctx, __this._mapExtent, __this._zoomLevel, eventType);\r\n } else {\r\n theFunc(__this._mapExtent, __this._zoomLevel, eventType);\r\n }\r\n };\r\n\r\n this._mapMoveCallbackTimeout[ind] = setTimeout(f, this._mapMoveCallbackDelays[ind]);\r\n }\r\n\r\n /**\r\n * Add a layer to the interaction\r\n * @param lyr - layer to add\r\n * @param triggerOnAdd - if the layer should be loaded on add\r\n */\r\n addVectorLayer(lyr: LayerBaseVector, triggerOnAdd: boolean = true) {\r\n if (this._arrLayer.indexOf(lyr) > -1) {\r\n console.log('already added ' + lyr.name + ' to map move');\r\n\r\n return;\r\n }\r\n this._checkInit();\r\n\r\n this._arrLyrRequest.push(null);\r\n this._arrLyrTimeout.push(null);\r\n this._arrLayer.push(lyr);\r\n this._lookupLayer[lyr.id] = lyr;\r\n\r\n triggerOnAdd = typeof triggerOnAdd == 'boolean' ? triggerOnAdd : true;\r\n\r\n if (triggerOnAdd) {\r\n if (this._mapExtent === undefined) {\r\n this._updateMapExtent();\r\n }\r\n this.triggerLyrLoad(lyr, this._arrLayer.length - 1);\r\n }\r\n }\r\n\r\n\r\n /**\r\n * add a callback to the map move event\r\n * @param func - callback function\r\n * @param context - the context to use for this function\r\n * @param delay=50 the delay before call load\r\n * @param triggerOnAdd if the layer should be loaded on add to mapMove\r\n * @param functionId optional id to reference the function later for outside triggering\r\n */\r\n addCallback(func: mapMoveCallbackFunction, context?: any, delay?: number, triggerOnAdd? : boolean, functionId?: string) {\r\n\r\n if (this._mapMoveCallbacks.indexOf(func) > -1) {\r\n console.log('this function already added to map move');\r\n return;\r\n }\r\n this._checkInit();\r\n if (!functionId){\r\n functionId = makeGuid();\r\n }\r\n\r\n this._mapMoveCallbacks.push(func);\r\n this._mapMoveCallbacksLookup[functionId] = func;\r\n this._mapMoveCallbackDelays.push(typeof delay == 'number' ? delay : 50);\r\n this._mapMoveCallbackContext.push(checkDefined.definedAndNotNull(context) ? context : null);\r\n this._mapMoveCallbackTimeout.push(null);\r\n\r\n triggerOnAdd = typeof triggerOnAdd == 'boolean' ? triggerOnAdd : true;\r\n\r\n if (triggerOnAdd) {\r\n if (this._mapExtent === undefined) {\r\n this._updateMapExtent();\r\n }\r\n this.triggerMoveCallback(this._mapMoveCallbacks.length - 1);\r\n }\r\n }\r\n}\r\n\r\nnm.MapMoveCls = MapMoveCls;\r\nexport default MapMoveCls;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/mapMoveCls.ts","/**\r\n * Created by gavorhes on 11/3/2015.\r\n */\r\n\r\nimport MapInteractionBase from './mapInteractionBase';\r\nimport propertiesZoomStyle from '../olHelpers/propertiesZoomStyle';\r\nimport provide from '../util/provide';\r\nimport ol = require('custom-ol');\r\nimport {LayerBaseVector} from \"../layers/LayerBaseVector\";\r\nimport {LayerBase} from \"../layers/LayerBase\";\r\nimport LayerEsriMapServer from \"../layers/LayerEsriMapServer\";\r\nimport $ = require('jquery');\r\n\r\nconst nm = provide('olHelpers');\r\n\r\nexport interface popupChangedFunction {\r\n ($popContent: JQuery): any;\r\n}\r\n\r\n/**\r\n *\r\n */\r\nexport interface popupCallback {\r\n /**\r\n * Callback function for the popup\r\n * @param featureProperties\r\n * @param jqRef\r\n */\r\n (featureProperties: Object, jqRef?: JQuery): string | boolean;\r\n}\r\n\r\ninterface mapEvent {\r\n coordinate: ol.Coordinate;\r\n pixel: ol.Pixel;\r\n dragging: boolean|any;\r\n originalEvent: Event;\r\n}\r\n\r\n\r\nexport class FeatureLayerProperties {\r\n\r\n feature: ol.Feature;\r\n layer: LayerBaseVector|LayerEsriMapServer;\r\n layerIndex: number;\r\n selectionLayer: ol.layer.Vector;\r\n popupContent: string;\r\n esriLayerName: string;\r\n\r\n /**\r\n *\r\n * @param feature the feature\r\n * @param layer - the layer in the popup\r\n * @param layerIndex - index of the layer\r\n * @param selectionLayer - the ol selection layer\r\n * @param [esriLayerName=undefined] - esri layer name\r\n */\r\n constructor(feature: ol.Feature, layer: LayerBaseVector|LayerEsriMapServer, layerIndex: number, selectionLayer: ol.layer.Vector, esriLayerName?: string) {\r\n this.feature = feature;\r\n this.layer = layer;\r\n this.layerIndex = layerIndex;\r\n this.selectionLayer = selectionLayer;\r\n this.popupContent = '';\r\n this.esriLayerName = typeof esriLayerName == 'string' ? esriLayerName : undefined;\r\n }\r\n\r\n get layerName() {\r\n if (typeof this.esriLayerName == 'string') {\r\n return this.esriLayerName;\r\n } else {\r\n return this.layer.name;\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * map popup class\r\n * @augments MapInteractionBase\r\n */\r\nexport class MapPopupCls extends MapInteractionBase {\r\n private _popupOpen: boolean;\r\n private _passThroughLayerFeatureArray: Array<FeatureLayerProperties>;\r\n private _currentPopupIndex: number;\r\n private _popupContentLength: number;\r\n private _esriMapServiceLayers: Array<LayerEsriMapServer>;\r\n private _$popupCloser: JQuery;\r\n private _$popupContent: JQuery;\r\n private _$popupContainer: JQuery;\r\n private _popupOverlay: ol.Overlay;\r\n private _arrPopupLayers: Array<LayerBaseVector>;\r\n private _popupCoordinate: ol.Coordinate;\r\n private _popupChangedFunctions: Array<popupChangedFunction>;\r\n private _mapClickFunctions: Array<Function>;\r\n private _selectionLayerLookup: {[s: string]: ol.layer.Vector};\r\n private _arrPopupLayerIds: Array<string>;\r\n private _arrPopupLayerNames: Array<string>;\r\n private _arrPopupOlLayers: Array<ol.layer.Vector>;\r\n private _arrPopupContentFunction: Array<popupCallback>;\r\n private _selectionLayers: Array<ol.layer.Vector>;\r\n\r\n /**\r\n * Definition for openlayers style function\r\n * @callback olStyleFunction\r\n * ¶m feature the openlayers vector feature\r\n * $param\r\n */\r\n\r\n\r\n /**\r\n * map popup constructor\r\n */\r\n constructor() {\r\n super('map popup');\r\n this._arrPopupLayerIds = [];\r\n this._arrPopupLayerNames = [];\r\n this._arrPopupLayers = [];\r\n this._arrPopupOlLayers = [];\r\n this._arrPopupContentFunction = [];\r\n this._$popupContainer = undefined;\r\n this._$popupContent = undefined;\r\n this._$popupCloser = undefined;\r\n this._popupOverlay = undefined;\r\n this._selectionLayers = [];\r\n this._selectionLayerLookup = {};\r\n this._mapClickFunctions = [];\r\n\r\n //let a = function($jqueryContent){console.log($jqueryContent)};\r\n //this._popupChangedLookup = {'a': a};\r\n this._popupChangedFunctions = [];\r\n this._esriMapServiceLayers = [];\r\n\r\n this._popupOpen = false;\r\n this._popupCoordinate = null;\r\n\r\n this._passThroughLayerFeatureArray = [];\r\n\r\n this._currentPopupIndex = -1;\r\n this._popupContentLength = 0;\r\n\r\n }\r\n\r\n /**\r\n * map popup initialization\r\n * @param {ol.Map} theMap - the ol map\r\n */\r\n init(theMap: ol.Map) {\r\n super.init(theMap);\r\n\r\n let $map;\r\n let target = this.map.getTarget();\r\n\r\n if (typeof target == 'string') {\r\n $map = $('#' + target);\r\n }\r\n else {\r\n $map = $(target);\r\n }\r\n\r\n $map.append(\r\n '<div class=\"ol-popup\">' +\r\n '<span class=\"ol-popup-closer\">X</span>' +\r\n '<div class=\"popup-content\"></div>' +\r\n '</div>'\r\n );\r\n\r\n this._$popupContainer = $map.find('.ol-popup');\r\n this._$popupContent = $map.find('.popup-content');\r\n this._$popupCloser = $map.find('.ol-popup-closer');\r\n\r\n let _ease = (n: number): number => {\r\n return ol.easing.inAndOut(n);\r\n };\r\n\r\n\r\n this._popupOverlay = new ol.Overlay({\r\n element: this._$popupContainer[0],\r\n autoPan: true,\r\n autoPanAnimation: {\r\n duration: 250,\r\n source: theMap.getView().getCenter(),\r\n easing: _ease\r\n }\r\n });\r\n\r\n this._map.addOverlay(this._popupOverlay);\r\n\r\n this._$popupCloser.click((evt) => {\r\n this.closePopup();\r\n });\r\n\r\n // display popup on click\r\n this._map.on('singleclick', (evt: {coordinate: [number, number], pixel: ol.Pixel}) => {\r\n\r\n this.closePopup();\r\n this._popupCoordinate = evt['coordinate'];\r\n\r\n // esri map service layers\r\n if (this._esriMapServiceLayers.length > 0) {\r\n\r\n let queryParams = {\r\n geometry: evt['coordinate'].join(','),\r\n geometryType: 'esriGeometryPoint',\r\n layers: 'all',\r\n sr: this._map.getView().getProjection().getCode().split(':')[1],\r\n mapExtent: (this._map.getView().calculateExtent(this._map.getSize()) as number[]).join(','),\r\n imageDisplay: (this._map.getSize() as number[]).join(',') + ',96',\r\n returnGeometry: true,\r\n tolerance: 15,\r\n f: 'pjson'\r\n };\r\n\r\n for (let l of this._esriMapServiceLayers) {\r\n l.getPopupInfo(queryParams);\r\n }\r\n }\r\n\r\n let layerFeatureObjectArray = this._featuresAtPixel(evt['pixel']);\r\n\r\n this._passThroughLayerFeatureArray = [];\r\n this._currentPopupIndex = -1;\r\n\r\n for (let i = 0; i < layerFeatureObjectArray.length; i++) {\r\n let featObj = layerFeatureObjectArray[i];\r\n\r\n let props = featObj.feature.getProperties();\r\n\r\n let popupContentResponse = this._arrPopupContentFunction[featObj.layerIndex](props, this._$popupContent);\r\n\r\n //skip if return was false\r\n if (popupContentResponse === false) {\r\n //continue;\r\n } else if (typeof popupContentResponse == 'string') {\r\n featObj.popupContent = popupContentResponse as string;\r\n this._passThroughLayerFeatureArray.push(featObj);\r\n } else {\r\n featObj.selectionLayer.getSource().addFeature(featObj.feature);\r\n }\r\n }\r\n\r\n this._popupContentLength = this._passThroughLayerFeatureArray.length;\r\n\r\n this._currentPopupIndex = -1;\r\n\r\n let popupHtml = '<div class=\"ol-popup-nav\">';\r\n popupHtml += '<span class=\"previous-popup ol-popup-nav-arrow\">◀</span>';\r\n popupHtml += '<span class=\"next-popup ol-popup-nav-arrow\">▶</span>';\r\n popupHtml += `<span class=\"current-popup-item-number\" style=\"font-weight: bold;\"></span>`;\r\n popupHtml += `<span> of </span>`;\r\n popupHtml += `<span class=\"popup-content-length\" style=\"font-weight: bold;\">${this._popupContentLength}</span>`;\r\n popupHtml += `<span> - </span>`;\r\n popupHtml += `<span class=\"current-popup-layer-name\"></span>`;\r\n popupHtml += '</div>';\r\n popupHtml += '<div class=\"ol-popup-inner\">';\r\n\r\n popupHtml += '</div>';\r\n\r\n this._$popupContent.html(popupHtml);\r\n\r\n this._$popupContent.find('.previous-popup').click(() => {\r\n if (this._popupContentLength == 1) {\r\n return;\r\n }\r\n\r\n if (this._currentPopupIndex == 0) {\r\n this._currentPopupIndex = this._popupContentLength - 1;\r\n } else {\r\n this._currentPopupIndex--;\r\n }\r\n this._triggerFeatSelect();\r\n });\r\n\r\n let nextPopup = this._$popupContent.find('.next-popup');\r\n\r\n nextPopup.click(() => {\r\n if (this._popupContentLength == 1 && this._currentPopupIndex > -1) {\r\n return;\r\n }\r\n\r\n if (this._currentPopupIndex == this._popupContentLength - 1) {\r\n this._currentPopupIndex = 0;\r\n } else {\r\n this._currentPopupIndex++;\r\n }\r\n this._triggerFeatSelect();\r\n });\r\n\r\n\r\n if (this._popupContentLength > 0) {\r\n nextPopup.trigger('click');\r\n this._popupOverlay.setPosition(this._popupCoordinate);\r\n this._$popupContent.scrollTop(0);\r\n this._popupOpen = true;\r\n }\r\n });\r\n\r\n //change mouse cursor when over marker\r\n this._map.on('pointermove', (evt: {dragging: boolean, originalEvent: Event}) => {\r\n if (evt['dragging']) {\r\n return;\r\n }\r\n let pixel = this.map.getEventPixel(evt['originalEvent']);\r\n let hit = this.map.hasFeatureAtPixel(pixel, (lyrCandidate) => {\r\n for (let olLayer of this._arrPopupOlLayers) {\r\n if (lyrCandidate == olLayer) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n });\r\n let mapElement = this.map.getTargetElement() as HTMLElement;\r\n mapElement.style.cursor = hit ? 'pointer' : '';\r\n });\r\n\r\n return true;\r\n }\r\n\r\n /**\r\n * helper to select features\r\n * @private\r\n */\r\n _triggerFeatSelect() {\r\n let $currentPopupItemNumber = this._$popupContent.find('.current-popup-item-number');\r\n let $innerPopup = this._$popupContent.find('.ol-popup-inner');\r\n let $layerNameSpan = this._$popupContent.find('.current-popup-layer-name');\r\n this.clearSelection();\r\n let lyrFeatObj = this._passThroughLayerFeatureArray[this._currentPopupIndex];\r\n $currentPopupItemNumber.html((this._currentPopupIndex + 1).toFixed());\r\n $layerNameSpan.html(lyrFeatObj.layerName);\r\n $innerPopup.html(lyrFeatObj.popupContent);\r\n lyrFeatObj.selectionLayer.getSource().addFeature(lyrFeatObj.feature);\r\n for (let f of this._popupChangedFunctions) {\r\n f(this._$popupContent);\r\n }\r\n }\r\n\r\n\r\n /**\r\n *\r\n * @param feature - the ol feature\r\n * @param {LayerEsriMapServer} lyr - the map server layer\r\n * @param {string} popupContent - popup content\r\n * @param {string} esriName - esri layer name\r\n */\r\n addMapServicePopupContent(feature: ol.Feature, lyr: LayerEsriMapServer, popupContent: string, esriName: string) {\r\n\r\n let featLayerObject = new FeatureLayerProperties(\r\n feature, lyr, this._popupContentLength, this._selectionLayerLookup[lyr.id], esriName\r\n );\r\n featLayerObject.popupContent = popupContent;\r\n\r\n this._passThroughLayerFeatureArray.push(featLayerObject);\r\n this._popupContentLength++;\r\n\r\n $('.popup-content-length').html(this._popupContentLength.toFixed());\r\n\r\n if (!this._popupOpen) {\r\n this._$popupContent.find('.next-popup').trigger('click');\r\n\r\n this._popupOverlay.setPosition(this._popupCoordinate);\r\n this._$popupContent.scrollTop(0);\r\n this._popupOpen = true;\r\n }\r\n }\r\n\r\n /**\r\n *\r\n * @param pixel - the ol pixel\r\n * @returns feature layer properties\r\n * @private\r\n */\r\n _featuresAtPixel(pixel: ol.Pixel): Array<FeatureLayerProperties> {\r\n let layerFeatureObjectArray: FeatureLayerProperties[] = [];\r\n\r\n this.map.forEachFeatureAtPixel(pixel, (feature: ol.Feature, layer: ol.layer.Vector) => {\r\n let lyrIndex = this._arrPopupOlLayers.indexOf(layer);\r\n\r\n if (lyrIndex > -1) {\r\n layerFeatureObjectArray.push(\r\n new FeatureLayerProperties(\r\n feature, this._arrPopupLayers[lyrIndex], lyrIndex, this._selectionLayers[lyrIndex]));\r\n }\r\n });\r\n\r\n return layerFeatureObjectArray;\r\n }\r\n\r\n closePopup() {\r\n this._checkInit();\r\n this._popupOpen = false;\r\n this._popupOverlay.setPosition(undefined);\r\n this._$popupCloser[0].blur();\r\n this.clearSelection();\r\n this._$popupContent.html('');\r\n\r\n return false;\r\n };\r\n\r\n\r\n /**\r\n *\r\n * @param chgFunction - popup change function\r\n */\r\n addPopupChangedFunction(chgFunction: popupChangedFunction) {\r\n this._popupChangedFunctions.push(chgFunction);\r\n }\r\n\r\n /**\r\n *\r\n * @param {LayerBase|*} lyr - the layer being acted on\r\n * @param {object} [selectionStyle={}] the selection style configuration\r\n * @param {string} [selectionStyle.color=rgba(255,170,0,0.5)] the selection color\r\n * @param {number} [selectionStyle.width=10] the selection width for linear features\r\n * @param {object|function} [selectionStyle.olStyle=undefined] an openlayers style object or function\r\n * @returns the new selection layer\r\n * @private\r\n */\r\n _addPopupLayer(lyr: LayerBaseVector|LayerEsriMapServer, selectionStyle: {color?: string, width?: number, olStyle?: ol.style.Style}): ol.layer.Vector {\r\n this._checkInit();\r\n\r\n selectionStyle = selectionStyle || {};\r\n selectionStyle.color = selectionStyle.color || 'rgba(255,170,0,0.5)';\r\n selectionStyle.width = selectionStyle.width || 10;\r\n\r\n let theStyle;\r\n\r\n if (selectionStyle.olStyle) {\r\n theStyle = selectionStyle.olStyle;\r\n } else {\r\n theStyle = new ol.style.Style({\r\n stroke: new ol.style.Stroke({\r\n color: selectionStyle.color,\r\n width: selectionStyle.width\r\n }),\r\n image: new ol.style.Circle({\r\n radius: 7,\r\n fill: new ol.style.Fill({color: selectionStyle.color}),\r\n stroke: new ol.style.Stroke({color: selectionStyle.color, width: 1})\r\n }),\r\n fill: new ol.style.Fill({\r\n color: selectionStyle.color\r\n })\r\n });\r\n }\r\n\r\n let selectionLayer = new ol.layer.Vector(\r\n {\r\n source: new ol.source.Vector(),\r\n style: theStyle\r\n }\r\n );\r\n\r\n selectionLayer.setZIndex(100);\r\n\r\n this._selectionLayers.push(selectionLayer);\r\n this._selectionLayerLookup[lyr.id] = selectionLayer;\r\n this.map.addLayer(selectionLayer);\r\n\r\n return selectionLayer;\r\n }\r\n\r\n\r\n /**\r\n * Add popup to the map\r\n * @param {LayerBase|*} lyr The layer that the popup with act on\r\n * @param {popupCallback} popupContentFunction - popup content function that makes popup info\r\n * @param {object} [selectionStyle={}] the selection style configuration\r\n * @param {string} [selectionStyle.color=rgba(255,170,0,0.5)] the selection color\r\n * @param {number} [selectionStyle.width=10] the selection width for linear features\r\n * @param {object|function} [selectionStyle.olStyle=undefined] an openlayers style object or function\r\n * @returns {object} a reference to the ol selection layer\r\n */\r\n addVectorPopup(lyr: LayerBaseVector, popupContentFunction: popupCallback,\r\n selectionStyle?: {color?: string, width?: number, olStyle?: ol.style.Style}) {\r\n let selectionLayer = this._addPopupLayer(lyr, selectionStyle);\r\n this._arrPopupLayerIds.push(lyr.id);\r\n this._arrPopupLayerNames.push(lyr.name);\r\n this._arrPopupLayers.push(lyr);\r\n this._arrPopupOlLayers.push(lyr.olLayer);\r\n this._arrPopupContentFunction.push(popupContentFunction);\r\n\r\n return selectionLayer;\r\n };\r\n\r\n\r\n /**\r\n *\r\n * @param {LayerBase} lyr - layer\r\n */\r\n removeVectorPopup(lyr: LayerBase) {\r\n let idx = this._arrPopupLayerIds.indexOf(lyr.id);\r\n\r\n if (idx > -1) {\r\n this._arrPopupLayerIds.splice(idx, 1);\r\n this._arrPopupLayerNames.splice(idx, 1);\r\n this._arrPopupLayers.splice(idx, 1);\r\n this._arrPopupOlLayers.splice(idx, 1);\r\n this._arrPopupContentFunction.splice(idx, 1);\r\n this._selectionLayers.splice(idx, 1);\r\n delete this._selectionLayerLookup[lyr.id];\r\n }\r\n }\r\n\r\n /**\r\n *\r\n * @param {LayerEsriMapServer} lyr - map server layer\r\n * @param {object} [selectionStyle={}] the selection style configuration\r\n * @param {string} [selectionStyle.color=rgba(255,170,0,0.5)] the selection color\r\n * @param {number} [selectionStyle.width=10] the selection width for linear features\r\n * @param {object|function} [selectionStyle.olStyle=undefined] an openlayers style object or function\r\n * @returns {object} a reference to the ol selection layer\r\n */\r\n addMapServicePopup(lyr: LayerEsriMapServer, selectionStyle?: ol.style.Style|Array<ol.style.Style>|ol.StyleFunction) {\r\n let selectionLayer = this._addPopupLayer(lyr, selectionStyle);\r\n this._esriMapServiceLayers.push(lyr);\r\n\r\n return selectionLayer;\r\n }\r\n\r\n clearSelection() {\r\n this._checkInit();\r\n for (let i = 0; i < this._selectionLayers.length; i++) {\r\n this._selectionLayers[i].getSource().clear();\r\n }\r\n for (let f of this._mapClickFunctions) {\r\n f();\r\n }\r\n };\r\n\r\n /**\r\n * Add a function to be called when the map is clicked but before any popups are implemented\r\n * @param {function} func - the map click function\r\n */\r\n addMapClickFunction(func: Function) {\r\n this._mapClickFunctions.push(func);\r\n }\r\n}\r\nnm.MapPopupCls = MapPopupCls;\r\nexport default MapPopupCls;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/mapPopupCls.ts","/**\r\n * Created by gavorhes on 12/15/2015.\r\n */\r\n\r\nimport provide from '../util/provide';\r\nimport ol = require('custom-ol');\r\nimport $ = require('jquery');\r\nimport {Geocode} from './geocode';\r\nconst nm = provide('olHelpers');\r\n\r\nexport interface quickMapOptions {\r\n divId?: string;\r\n center?: {x: number, y: number};\r\n zoom?: number;\r\n minZoom?: number;\r\n maxZoom?: number;\r\n baseSwitcher?: boolean;\r\n fullScreen?: boolean;\r\n addGeocode?: boolean;\r\n}\r\n\r\n/**\r\n * Sets up a map with some default parameters and initializes\r\n * mapMove and mapPopup\r\n *\r\n * @param [options={}] config options\r\n * @param [options.divId=map] map div id\r\n * @param [options.center={}] center config object\r\n * @param [options.center.x=-10018378] center x, web mercator x or lon\r\n * @param [options.center.y=5574910] center y, web mercator y or lat\r\n * @param [options.zoom=7] zoom level\r\n * @param [options.minZoom=undefined] min zoom\r\n * @param [options.maxZoom=undefined] max zoom\r\n * @param [options.baseSwitcher=true] if add base map switcher\r\n * @param [options.fullScreen=false] if add base map switcher\r\n * @returns the ol map\r\n */\r\nexport function quickMapBase(options: quickMapOptions = {}): ol.Map {\r\n options.divId = options.divId || 'map';\r\n options.center = options.center || {x: -10018378, y: 5574910};\r\n options.zoom = typeof options.zoom == 'number' ? options.zoom : 7;\r\n options.baseSwitcher = typeof options.baseSwitcher == 'boolean' ? options.baseSwitcher : true;\r\n options.fullScreen = typeof options.fullScreen == 'boolean' ? options.fullScreen : false;\r\n options.addGeocode = options.addGeocode || false;\r\n\r\n\r\n let $mapDiv = $('#' + options.divId);\r\n $mapDiv.css('position', 'relative');\r\n\r\n let osmLayer = new ol.layer.Tile({source: new ol.source.OSM()});\r\n // let satLayer = new ol.layer.Tile({visible: false, source: new ol.source.MapQuest({layer: 'sat'})});\r\n\r\n let osmCss = \"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAMAUExURQAAADQ1NDk5OURFREtLS1FHSFlZWGJRVGJiYWdmZWxsbHRmaXBpanN0c3V0dHp5eX5+fIVzd4F3eeV0jud5juZ8k4aHhomHhoyGh5eGj5OVlJiVlZiYl5qZmJydnKOTlaKZmqKdnaOioaqqqKuzsbOvrrSysLa3tbW4uLm6ub27ub+/vbGXwbCZwbCgxLKlxrOqyLStybO3yrSxyrWzzbW2y7a1zbK4y7W6zbW8y760yrTAzbTFzrPKzrLOzrTJzrTOzr7CwbXC0LXK0LTO0L3I0bPQz7TQz7PS0bXQ0LnR0brW1bzT0r7U077V1Lzc2dqNqteUsdyXscaquuOHneaGmueHnOeJnuiBleiKn+eNoOiOoOWUpOiRo+iSpeiUpeqYpumaqOmdrPSynemgruSqtOmisOmlsuuqtequuOW1vOuxu+uxvOq1ve+xvPK0pvW3o/W5pfO5qvS7qfCwvMOuwc2/wNenxNyyzNe/0Nq31Nq51dy72Oy3wOu4wOu+xey4wO+6xO2+xfTAr/TCsvfFtPHLvvTJuMPDwMfHxcXKyc3DxMvFyMvLyM3PzcDV08DV1MTX1cbY1s7X1sjZ1sra2Mnd3M7b2c7c2tfH1tnB1t7F2d7M29fX1tLY1tDd2tHe3NTf3NnS19rZ1tva2Nnf3t3d28rh3tXg3Nnh3tzj393k39ni4N7k4N7n5uXDyOfLz+zAxu3CyOzEyezKzeDJ3eLM3uvP0u3P0ePf2+7R0u7Q1u/U0+7U1ezc0+7a2e/d2+3f3vbFzvLOwfHN0PPQw/TUx/LWyvLYzPDQ1fPe0ubc4vve4uHh3+nh3+/h2u/h3vHj2vHl3uHm4eTn4uDp5ebo4+Xo5ODq6ebq6OTv6+nl4+/j4O7l4e7n5ujp4+np5Ozq5e7s5urt6O7t6Orw6u7x6u3x7vPj5PDl4fDo4vDq5fDt5vDu6PDv7PTv6fDx6vHx7fH17fXw6fXy7fb07/bz8fT18vn38vr39fr48/r59Pr6+P3++//+/gAAALNTSk0AAAEAdFJOU////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wBT9wclAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAAGHRFWHRTb2Z0d2FyZQBwYWludC5uZXQgNC4wLjlsM35OAAAFNElEQVRIS1VVCZxVUxi/9l0UIUT2bMnY43bVI2c0Y01kSWIaS0j2JEtkN41piomZrPPKQ2aQ7JKImOZlnm2493TJzDufuU1Zi+v/fee+mZ//793vnPOd7zvfes5zDBEZkBBjAcIjb+Iiotqgdhat8AMK0vl7/R9N7GiWtshqIr+EZ5gYKibyUsXY1l/mfFpssvUlWQ0FkU3gy4+RB/+kwYcO8pRSnldcOU/r2lAHARSwk2ORgEmOdC1EsuRiYSqMPwwroMIraZk5V2fYJQjCKfZrRmh3gSAZi2i4b7wSylWu8EqZwS59JkFUaW96JbNSc+CEUmt4rorwuZmWdDaoc+uZETuQlTCU5xYzR7muUnVUVo+BcRhre/VwUpasgJwhH7JkYIYA0sNxhmCwUK+lw6vCKBZehw01dEiyw4Q4aE0Z4ahDhKaFQsGnJ2BgqKoTBsNjFy0SlW6whRAZTdm8DBJmkBZhDi1j4xJQBk6ywrWUTymaCxac8lROcdauRGzQSNtA7EHUYhXyEwhhgjFUqRuO+rauhF1awFpzCsmwUbjIFBR0u1bKtyGpulW/H/cVVzkyGaIWTIR9pFAV6GK2gPMXMX8gPk9zzxXgI1kimcAltEYr+cjio1imlKpEa9rOipLm+p+CZ6Bw//qd1/f/O+GwMxbSLpyoZEcwkyh2jIks+3hmdd2jWUw4scxNysnHxU7nSspTRcJjCZGL3IsjsYJMMg5mwgx7gaIOLBFCogAgBBoNa9w+DE6I+Bs7FTgwwrJbHjWDgpYo2KwtBTcYEDuloC9geQw+k2RGnPGpTaOlq7AS+YICUz4DZVaX2TiNDhuYfTtY4geLi0IoCm3XccwM9hx4kU28StQEljDs3ZEpFGA+8dKzLmV9ymIwF5FOGn2GdJM8KLHDJbXyiYVMG9MRTLiXGGg2QKaxM3khPSRrwM9zEIardxU2w/EiA0gOeYKHzDR0V7/QGV3lKIA9ktrDArxO3gdA+k6SKoBiVwcm7NjZb9+Hnztg282TuHVZ9LOISFNt9MgyCetZVczSxnyDbl17Penq6mqpg1IhRaEO2aVLUO4/r17H8tTv6f13h71dduvZI3Y+uMdWksNSauLovJw5hsqiPIUvt0ku7/iBeUR3sksmomYWtRbAjbiLfv2lX9/V7LVG4uYnUZXhQ7f2OPCZEx9wrYWTcePEQqPEML8pl4mMdr/jlXlvHiRiJ2+MSTFY4TTSYStuvz2R/JXh+PPeGXm055J+3/YDWuNu3R3DArPutyg0ZgykMVDU9Ndm22+wYalr2rse48CnsTIFcMn73vfhNrktx1EUcZnPv6ah3Yy5cDTRdBEoGoBeah71dqFyjZDJLkWk3N3v4uuktssjWpzciMPxQeHj8nMKzcGuB0tAyzFhdCKOYWv4HwOQVwIxLG99a6uvH3sJCyO3h+k4EZ+G7+xj5f4XXksoaGrdMRzSc8ARA8+cdOuk2x6fffNNt5x+Ro1omPlrT/CQDlcNlpx4NBIWXhkx7Y3Zp3ofNR7Uv89Om/beW0TLIynHv3vs1VsOFpSWSXvfuPUf9BrRFyxgXdHoKJnQFegPOovvzz59ntrzye240ig8UQ3lDI2VqwagrKIQcLXNFL3wglN2OHdBQ6/vI3kENDVBwRb3k1XtczFbjWn4EzMYi7CF3129+JTYuRSdrGuS92g5dpqn6qXoJQs5xmL8p+Wt4hLbt0mx2OLNZR2bbPy8zJNQGFM/f/CfXZekRYFjGCWjIJpM+WiCzGBPWHhoyaAsjRT/B2Gy5yzYJkwUAAAAAElFTkSuQmCC')\";\r\n let aerialCss = \"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAMAUExURQALBgIMDQgOBwQOEQcTBwUSCwoVDAwdBw8ZDgUREwYUGAYZFQYZGgkTFQoVGQsZFAwZHBMeDhIbFBEbHAwWIA4bIREcIQ4hCQwjFw4lHBgkDB8sDxUiExIiGhAoGxohFRshGRorHQcrKQsiIQwmKgooJA0pKQ81Jw8yLRMiIxImKxUrJREuKhslJB0rIhooKRUuMBMyLhkwJhozKh48LxUzMRM9MBwzMiUvFCMtGiMwEiwzFCgzHDI+GSIsISkvJSQxIiM2LiY5Jic+Lyk0JSo0Ky49JSs9KSU1NSM7NCs2NS8+NDM1JzU9Ljg7IDJCHS1DLSNAMitCMSxIOjREITZLIDZJKDlFIjpFKztKJT1LKzJBMzpHMD1JMjpKPD1RKjlQNC1DQj5QQEA8MEJGJkBKJUJNK0lLLEJMMkVMPEpONENSLUdZL0pTLkpaLkRUMkRSPEVZMktUM0pVOklZMklZNEpcNU1ZMk1ZNUxfMk5dNkxcOVFUM1RUOFJbNVFZOVNYPVFdOVJdPFVaOVVaPVVdOlVdPVpaNlpdO0phN01hOlBiN1NhPFNoP1piPWFbPmRjPENOQEtPSURTQkJVS0xVQk1VSkxbQkxcS0heUVFXRFRcQlJfTFxeQlpeS05lQk1kSFRjQVRjSlZpQ1tkQlxlSlxpRF1rSVVnUVtlU1llXF9tU1xoXlxwSl9ramRfQmJlQ2FhSWFlSWFlTmVlSWRmTGFoQWFpRWFsRmVpRWVtRmNsSmtlRGpqRmpsS2BmWGRsUmFrW2ptUmZyR2RxTGpxTWVyU2RyW2d5V2tzUmt0WW15VG15WXFuTHNtVnFxTXF4T3h0TnJzUnJ1XHJ4VXN6Wnp0VHx1W315VXp8XGR0YGx0YHVzZXJ0aHR9ZXV+aHl9YHOCXXqBXXeCYHyCY3iEaHyIYn+JaXqKcYB5WIN6Y4SCXoCDZIGEaYCIZoOLa4iCaImJbIOOdYuMco6OeIuVcpOKbZKPc5aQb5eXe5ufg6KjhAAAAAAAAAAAAAAAAOGCeQgAAAEAdFJOU////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wBT9wclAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAAGHRFWHRTb2Z0d2FyZQBwYWludC5uZXQgNC4wLjlsM35OAAAH80lEQVRISy1WbXQUVxm+6wqnk3Zmpxl2FG2EGg92C8GDlWptVTwa+uF3xcKmDfFzCUzDsJNsunXipglJXJbrtJWmwZNSnHD3jojRgUIm2UumIZ0JZ7JByrALbMWW0IBW8aRa4+cf76TeX3Nm3uc+z/s+7/vugl4r/aMTrT4e1pPTqnnmJNn5AyUzRnrRle/qE33dsvrBtAQVoxtpZNK3zSzYjUjviWO2Ag+R77dl7W36n/1Ep9KBPG/S+Py0PkjU/gPKQGqwTHryiWYFAXSvMairsio7SjyNsnCzh0qKImV9/7mhfHQZx2yN1O+7rXUm33MUPaboOkAJHaoIdXfJj2xWeyD8jMFEXkvIu5qzpU988gWB5zl+GS+sFe55trEVPdWZB2miq8bBVkNFO2R0qnrfkiXhcJhtDNXE6tbW97/s9O9/7ZfVhx86/CwrROpfvvxboMqeLsuqPr1j44qEwDNMOBximUiYoU8sw7BC/a7T72uEnyJDlGxZ9KcglZRyuqqrv/tSZErgOI4NgRBTIw9EmHAoFGZZnp6aGaJ2GTxfxYs8kKVUQh7WB5hQeC3LsUxoxVKW14l3BX2WcoUYPiZyLLe8teZ+iuT4GGhvV5KpKWkpyzxEr2MZgQ1xdRjfRBoH+2k6lIHjKTHPPBo8CSJISqqq4wGGOcWylIGlgvgNX1Gd8vF5f+IUIwb30ng+Gg2QfBRIMvy0jG8SVkYo4N0zvUXVRztbJ/L6xL7lUZEXBEHkuZqlS6gEAUgKJurnhFtfpACOYd8b/hVbJPqwi44a6KA0sPVjIi/SIyxb3u8KlAJ0S8jRVgrlW+nVHPdrhiXCxu42d86ByksDc80P3MkJFBFQ8Ho1lQegpWJRWFGsDsRwwv7pIyvuQW0ZkrX6NDVFbqcvaQI8vbyqzt5AARrsbKx5yhQEGs+wPO56bOK+0rcwMrOKkpUbZWYxV04UeZZv/cBKFhRL6Qdv9y4LfEDA7/thg7tTmv1a5/GnO0wl0dQg80wglZaHUmxRvjwAHOfyN0mxrpqLUpcjsK3NHYMo4R1o6eho2ZyIb2FoeOC3ILK8kZ2HQMOuWywGXUkJBCeTbYFS0+ym1h2/6UgmvnrvKYZZtIEXGf75C2cIAp5LHNd71x7uPoTjakrWH9e3KFpaatjUvJUysFw0KrLMYMW2lTg4PeUQx6kJEALvxXEmCdVyPLHtCSjBhc01XCjIgafxou+PE6KC1dhxSCwoBCc+N4P3btM84pmdSSjJnjO/nvY4LQfVyz5/I+v6IwjUOMjy+MVCxIbKupTJaEktp7cTKU42Pvjh2m/8cSpC6aPsaX/MHSuUQLVVsIa4RUTs/r/BVAexNdjdnsNG7j/rV93xheLMzKnFrPeTEQchCyCcKb25aAIn7lrAertrZwyNXM8N6zfWrFo3d2SmOEcF83x/r+OOFgrAHYWF7cELjhV7UQo/6WAIUVl9JFl8a//HZ66VpbY3I9QKZqPru77lA+iOWAIr0hKxHCmmr0othSyeIl5y3qt4xT8gSNrKEZozs8Els67rgsLOZ+ygzwMfbtNhobfgzpEyGnz7htPtzUi6PuOoj7K0WF/MXiUFxwGajRD1hjYXHXI9p406qOyinp5/tiWcDHY0jIu4n64Qfq7kliB2gemag9QbOia0PbbDMbd43SHuvxFxrAocxins7MX5Kqbe1QixKBxoV4//PfAgGCu+Rlm4SvZizyDH+0reDHp92iO0BuX3bCfItl0PEwvYLqpwXG2MHlGsQ4S8pMJZv1JGmHiEoHQDdOjwmVlEP/nE9ADKjI8xLI0OOGITfy0SbeG/C2jKUDGSlDhM9I3IpK9iup6XnbRNC7yqueNsJCCIiXzdQhnaGN+46umnEdy5U5UbUJ48LFM9GkJo8BdDOiAZ7ZIQbKhYLMqvhU2wmNxjEAsS2AI7y4nWF64duePbk7YV3zvAVLEMD9AxJRNa3KDUibV7DjnkuprMEYjScFNcaR2ceP2u9R/5k1052Ryme5phAFRswlHjAudiP4dOy7CaxLgdJh9vUlU1702/+LPa1U9fvPi9qlA4XEUBJc3dFlpsR457IDl1iPqLp7o81NQgyV19iYU38uTiv975Pd3SiwQcsGjx+v4/6fl5T7EOOMTCtpbKxfemsQq/3olQZcminADAAI0cuGLHaHOFxbuGvRk/Z9u7CULqoVR6NE0yx1avj30oRhc/jWUoIALGxkz0dg1Dl9iaI7LqOOXKsXJFwjiuEAi70Jra2nW1PL08zLBhZsMABpW5csI7TPfew9ipFKcn5k1i+1KyCWKjC3W/8dF1d666+RaabBVTFTHacjoojBNDh0NDxk+IPTlwfqJkWpbnpFHXIbLbmpxEQ3ff/Z0g/mauXsoln9wDRjy/NHsQFw3P6vWuTJ43/+FZrk2cvAFRipCKdfD9y2+pjRj78s0KdCUDKJvdV91ChngV38T20TM+gghjpJaPlpFr2xbEz5g4A/NGt5rNwdwmYGeeeMXBSLHHUIc+6RsojRH9VTUm3/mLf/64b470XvoxoTKhlMBQ2jMEzo2PjxdGMppmn1RM24bWFJqaQv4BcuJa2Sam7Zokq1ldCsz06NCBHrhwqVQYpfFj42NZexz1EW9SR/kT58nEeQKJb2fPXjjp0u/YUkwHEgLeOnf2nOuf1TRTM02CLKLTPy60/x1CCztqn7Ev+BdsC3m+30decQvW/wBNTwU+CfUQAQAAAABJRU5ErkJggg==')\";\r\n\r\n if (options.baseSwitcher) {\r\n // let switcherContent = '<div class=\"base-map-switcher\" title=\"Toggle Base Layer\" style=\"';\r\n // switcherContent += 'position: absolute; top: 70px; left: 4px; border: solid black 1px; ';\r\n // switcherContent += `height: 50px; width: 50px; z-index: 10; border-radius: 4px; background: ${aerialCss};`;\r\n // switcherContent += '\"></div>';\r\n // $mapDiv.append(switcherContent);\r\n //\r\n // $mapDiv.find('.base-map-switcher').click(function() {\r\n // \"use strict\";\r\n // osmLayer.setVisible(!osmLayer.getVisible());\r\n // satLayer.setVisible(!satLayer.getVisible());\r\n //\r\n // if (osmLayer.getVisible()){\r\n // $(this).css('background', aerialCss);\r\n // } else {\r\n // $(this).css('background', osmCss);\r\n // }\r\n // });\r\n }\r\n\r\n if (options.zoom < 0 || options.zoom > 28) {\r\n throw 'zoom out of range';\r\n }\r\n\r\n if (options.center.x >= -180 && options.center.x <= 180 && options.center.y >= -90 && options.center.y <= 90) {\r\n let p = new ol.geom.Point([options.center.x, options.center.y]);\r\n new ol.proj.Projection({code: \"EPSG:4326\"});\r\n\r\n p.transform(new ol.proj.Projection({code: \"EPSG:4326\"}), new ol.proj.Projection({code: \"EPSG:3857\"}));\r\n let coordinates = p.getCoordinates();\r\n options.center.x = coordinates[0];\r\n options.center.y = coordinates[1];\r\n }\r\n\r\n const controls = ol.control.defaults({\r\n attributionOptions: {collapsible: false}\r\n }\r\n );\r\n\r\n const view = new ol.View({\r\n center: [options.center.x, options.center.y],\r\n zoom: options.zoom,\r\n minZoom: options.minZoom,\r\n maxZoom: options.maxZoom\r\n });\r\n\r\n let map = new ol.Map({\r\n layers: [osmLayer],\r\n target: options.divId,\r\n controls: controls,\r\n view: view\r\n });\r\n\r\n if (options.fullScreen) {\r\n map.addControl(new ol.control.FullScreen({}));\r\n }\r\n\r\n if (options.addGeocode){\r\n new Geocode(document.getElementById(options.divId) as HTMLDivElement, map);\r\n }\r\n\r\n return map;\r\n}\r\n\r\nnm.quickMapBase = quickMapBase;\r\nexport default quickMapBase;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/quickMapBase.ts","module.exports = ol;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"ol\"\n// module id = 2\n// module chunks = 2 4 5 6 7","/**\r\n * Created by gavorhes on 12/7/2015.\r\n */\r\nimport {LayerBase, LayerBaseOptions} from './LayerBase';\r\nimport * as esriToOl from '../olHelpers/esriToOlStyle';\r\nimport mapPopup from '../olHelpers/mapPopup';\r\nimport provide from '../util/provide';\r\nimport ol = require('custom-ol');\r\nimport $ = require('jquery');\r\n\r\nconst nm = provide('layers');\r\n\r\n\r\n\r\n/**\r\n * Helper to return the url to the service on the production server\r\n * @param {string} folder\r\n * @param {string} service\r\n * @returns {string}\r\n */\r\nexport function makeServiceUrl(folder: string, service: string): string{\r\n return `https://transportal.cee.wisc.edu/applications/arcgis2/rest/services/${folder}/${service}/MapServer`\r\n}\r\n\r\nexport function localCacheUrl(folder: string, service: string): string{\r\n let loc = window.location.href;\r\n\r\n let url = `/mapserver/${folder}/${service}`;\r\n\r\n if (loc.indexOf('transportal.cee.wisc.edu') > -1){\r\n if (loc.toLowerCase().indexOf('webmapsstage') > -1){\r\n url = 'https://transportal.cee.wisc.edu/gis/webmapsstage' + url;\r\n } else {\r\n url = 'https://transportal.cee.wisc.edu/gis/webmaps' + url\r\n }\r\n }\r\n\r\n\r\n return url;\r\n}\r\n\r\n\r\n\r\n\r\nexport interface LayerEsriMapServerOptions extends LayerBaseOptions {\r\n addPopup?: boolean;\r\n showLayers?: Array<number>;\r\n getLegend?: boolean;\r\n}\r\n\r\n/**\r\n * esri mapserver layer\r\n * @augments LayerBase\r\n */\r\nexport class LayerEsriMapServer extends LayerBase {\r\n _esriFormat: ol.format.EsriJSON;\r\n _popupRequest: JQueryXHR;\r\n _showLayers: number[];\r\n\r\n /**\r\n * The base layer for all others\r\n * @param {string} url - resource url\r\n * @param {object} [options] - config\r\n * @param {string} [options.id] - layer id\r\n * @param {string} [options.name=Unnamed Layer] - layer name\r\n * @param {number} [options.opacity=1] - opacity\r\n * @param {boolean} [options.visible=true] - default visible\r\n * @param {number} [options.minZoom=undefined] - min zoom level, 0 - 28\r\n * @param {number} [options.maxZoom=undefined] - max zoom level, 0 - 28\r\n * @param {object} [options.params={}] the get parameters to include to retrieve the layer\r\n * @param {number} [options.zIndex=0] the z index for the layer\r\n * @param {function} [options.loadCallback] function to call on load, context this is the layer object\r\n * @param {boolean} [options.legendCollapse=false] if the legend item should be initially collapsed\r\n * @param {boolean} [options.legendCheckbox=true] if the legend item should have a checkbox for visibility\r\n * @param {boolean} [options.legendContent] additional content to add to the legend\r\n * @param {boolean} [options.addPopup=false] if a popup should be added\r\n * @param {undefined|Array<number>} [options.showLayers=undefined] if a popup should be added\r\n */\r\n constructor(url: string, options: LayerEsriMapServerOptions = {}) {\r\n\r\n super(url, options);\r\n this._source = new ol.source.TileArcGISRest(\r\n {\r\n url: this.url == '' ? undefined : this.url,\r\n params: typeof options.showLayers == 'undefined' ? undefined : {layers: 'show:' + options.showLayers.join(',')}\r\n }\r\n );\r\n\r\n this._showLayers = options.showLayers || [];\r\n\r\n this._olLayer = new ol.layer.Tile({\r\n source: this._source as ol.source.Tile,\r\n visible: this.visible,\r\n opacity: this.opacity,\r\n minResolution: this._minResolution,\r\n maxResolution: this._maxResolution\r\n });\r\n\r\n\r\n this._olLayer.setZIndex(this._zIndex);\r\n\r\n options.addPopup = typeof options.addPopup == 'boolean' ? options.addPopup : false;\r\n\r\n this._esriFormat = new ol.format.EsriJSON();\r\n this._popupRequest = null;\r\n\r\n options.getLegend = typeof options.getLegend === 'boolean' ? options.getLegend : true;\r\n\r\n if (options.getLegend){\r\n this.addLegendContent();\r\n }\r\n\r\n if (options.addPopup) {\r\n mapPopup.addMapServicePopup(this);\r\n }\r\n }\r\n\r\n /**\r\n * add additional content to the legend\r\n * @param {string} [additionalContent=''] additional content for legend\r\n */\r\n addLegendContent(additionalContent?: string) {\r\n let urlCopy = this.url;\r\n\r\n if (urlCopy[urlCopy.length - 1] !== '/') {\r\n urlCopy += '/';\r\n }\r\n\r\n urlCopy += 'legend?f=pjson&callback=?';\r\n\r\n $.get(urlCopy, {}, (d) => {\r\n let newHtml = esriToOl.makeMapServiceLegend(d, this._showLayers);\r\n super.addLegendContent(newHtml);\r\n }, 'json');\r\n }\r\n\r\n\r\n getPopupInfo(queryParams: {[s: string]: any}) {\r\n if (!this.visible) {\r\n return;\r\n }\r\n\r\n let urlCopy = this.url;\r\n\r\n if (urlCopy[urlCopy.length - 1] != '/') {\r\n urlCopy += '/';\r\n }\r\n\r\n urlCopy += 'identify?callback=?';\r\n\r\n let __this = this;\r\n\r\n if (this._popupRequest != null) {\r\n this._popupRequest.abort();\r\n }\r\n\r\n\r\n this._popupRequest = $.get(urlCopy, queryParams, function (d) {\r\n for (let r of d['results']) {\r\n\r\n let popupHtml = '<table class=\"esri-popup-table\">';\r\n\r\n for (let a in r['attributes']) {\r\n if (r['attributes'].hasOwnProperty(a)) {\r\n let attrVal = r['attributes'][a];\r\n\r\n if (attrVal == null || attrVal.toString().toLowerCase() == 'null') {\r\n continue;\r\n }\r\n\r\n let attr = a;\r\n if (attr.length > 14) {\r\n attr = attr.slice(0, 11) + '...';\r\n }\r\n\r\n popupHtml += `<tr><td>${attr}</td><td>${attrVal}</td></tr>`;\r\n }\r\n }\r\n\r\n popupHtml += '</table>';\r\n\r\n mapPopup.addMapServicePopupContent(__this._esriFormat.readFeature(r), __this, popupHtml, r['layerName']);\r\n }\r\n }, 'json');\r\n\r\n this._popupRequest.always(function () {\r\n __this._popupRequest = null;\r\n });\r\n\r\n }\r\n\r\n /**\r\n *\r\n * @returns {ol.source.TileArcGISRest} the vector source\r\n */\r\n get source(): ol.source.TileArcGISRest {\r\n return super.getSource() as ol.source.TileArcGISRest;\r\n }\r\n\r\n /**\r\n *\r\n * @returns the ol layer\r\n */\r\n get olLayer(): ol.layer.Tile {\r\n return super.getOlLayer() as ol.layer.Tile;\r\n }\r\n}\r\nnm.LayerEsriMapServer = LayerEsriMapServer;\r\nexport default LayerEsriMapServer;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/layers/LayerEsriMapServer.ts","/**\r\n * Created by gavorhes on 12/14/2015.\r\n */\r\n\r\nimport provide from '../util/provide';\r\nconst nm = provide('olHelpers.zoomResolutionConvert');\r\n\r\nlet _zoomResLookup = [\r\n 156543.03392804097, //0\r\n 78271.51696402048, //1\r\n 39135.75848201024, //2\r\n 19567.87924100512, //3\r\n 9783.93962050256, //4\r\n 4891.96981025128, //5\r\n 2445.98490512564, //6\r\n 1222.99245256282, //7\r\n 611.49622628141, //8\r\n 305.748113140705, //9\r\n 152.8740565703525, //10\r\n 76.43702828517625, //11\r\n 38.21851414258813, //12\r\n 19.109257071294063, //13\r\n 9.554628535647032, //14\r\n 4.777314267823516, //15\r\n 2.388657133911758, //16\r\n 1.194328566955879, //17\r\n 0.5971642834779395, //18\r\n 0.29858214173896974, //19\r\n 0.14929107086948487, //20\r\n 0.07464553543474244, //21\r\n 0.03732276771737122, //22\r\n 0.01866138385868561, //23\r\n 0.009330691929342804, //24\r\n 0.004665345964671402, //25\r\n 0.002332672982335701, //26\r\n 0.0011663364911678506, //27\r\n 0.0005831682455839253 //28\r\n];\r\n\r\n/**\r\n * Get the resolution given the zoom level\r\n * @param {number} zoomLevel - the zoom level\r\n * @returns {number|*} the map resolution\r\n */\r\nexport function zoomToResolution(zoomLevel: number): number {\r\n \"use strict\";\r\n\r\n if (typeof zoomLevel == 'number') {\r\n if (zoomLevel % 1 === 0 && zoomLevel >= 0 && zoomLevel <= 28) {\r\n return _zoomResLookup[zoomLevel];\r\n } else {\r\n console.log(`invalid zoom level provided: ${zoomLevel}`);\r\n\r\n return undefined;\r\n }\r\n } else {\r\n return undefined;\r\n }\r\n}\r\nnm.zoomToResolution = zoomToResolution;\r\n\r\n\r\n/**\r\n * Get resolution from the zoom level\r\n * @param {number} resolution - the resolution\r\n * @returns {number|*} the zoom level\r\n */\r\nexport function resolutionToZoom(resolution: number): number{\r\n for (let i = 0; i < _zoomResLookup.length; i++){\r\n if (resolution >= _zoomResLookup[i] ){\r\n return i;\r\n }\r\n }\r\n\r\n return 0;\r\n}\r\n\r\nnm.resolutionToZoom = resolutionToZoom;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/zoomResolutionConvert.ts","/**\r\n * Created by gavorhes on 1/4/2016.\r\n */\r\nimport provide from '../util/provide';\r\nimport ol = require('custom-ol');\r\nconst nm = provide('olHelpers.esriToOlStyle');\r\n\r\n\r\n/**\r\n *\r\n * @param {Array<number>} colorArray - input color array\r\n * @param {number} opacity - the opacity 0 to 1\r\n * @returns {string} rgba string\r\n * @private\r\n */\r\nfunction _colorArrayToRgba(colorArray: [number, number, number], opacity: number): string {\r\n \"use strict\";\r\n\r\n return `rgba(${colorArray[0]},${colorArray[1]},${colorArray[2]},${opacity})`;\r\n}\r\n\r\n/**\r\n * escape html charcters\r\n * @param {string} str - input string\r\n * @returns {string} escaped string\r\n */\r\nfunction htmlEscape(str: string): string {\r\n return String(str)\r\n .replace(/&/g, '&')\r\n .replace(/\"/g, '"')\r\n .replace(/'/g, ''')\r\n .replace(/</g, '<')\r\n .replace(/>/g, '>');\r\n}\r\n\r\nnm.htmlEscape = htmlEscape;\r\n\r\n\r\nexport interface iEsriResponse{\r\n drawingInfo: {\r\n renderer: iEsriRenderer;\r\n transparency: number\r\n },\r\n geometryType: string\r\n}\r\n\r\n\r\nexport interface iEsriRenderer{\r\n type: string;\r\n symbol: iEsriSymbol;\r\n uniqueValueInfos: Array<{label: string, value: any, symbol: iEsriSymbol}>;\r\n field1: string;\r\n defaultSymbol: iEsriSymbol;\r\n defaultLabel: string;\r\n}\r\n\r\nexport interface iEsriSymbol{\r\n size: number;\r\n type: string;\r\n outline:{\r\n color: [number, number, number];\r\n width: number;\r\n },\r\n color: [number, number, number];\r\n width: number;\r\n imageData: string\r\n}\r\n\r\n\r\nclass CommonSymbol {\r\n legendHtml: string;\r\n opacity: number;\r\n symbolObj: iEsriSymbol;\r\n olStyle: ol.style.Style;\r\n\r\n /**\r\n *\r\n * @param symbolObj\r\n * @param {number} opacity\r\n */\r\n constructor(symbolObj: iEsriSymbol, opacity: number) {\r\n this.symbolObj = symbolObj;\r\n this.opacity = opacity;\r\n this.olStyle = undefined;\r\n this.legendHtml = '';\r\n }\r\n}\r\n\r\ninterface ICommonSymbol{\r\n new (symbolObj: iEsriSymbol, opacity: number): CommonSymbol\r\n}\r\n\r\n\r\nclass PointSymbol extends CommonSymbol {\r\n constructor(symbolObj: iEsriSymbol, opacity: number) {\r\n super(symbolObj, opacity);\r\n switch (this.symbolObj.type) {\r\n case 'esriSMS':\r\n let innerColor = _colorArrayToRgba(this.symbolObj.color, this.opacity);\r\n let outerColor = _colorArrayToRgba(this.symbolObj.outline.color, this.opacity);\r\n let outlineWidth = this.symbolObj.outline.width;\r\n let radius = this.symbolObj.size;\r\n\r\n\r\n this.olStyle = new ol.style.Style({\r\n image: new ol.style.Circle({\r\n radius: radius,\r\n fill: new ol.style.Fill({\r\n color: innerColor\r\n }),\r\n stroke: new ol.style.Stroke({color: outerColor, width: outlineWidth})\r\n })\r\n });\r\n this.legendHtml = `<span class=\"legend-layer-icon\" style=\"color: ${innerColor}\">●</span>`;\r\n break;\r\n case 'esriPMS':\r\n this.olStyle = new ol.style.Style({\r\n image: new ol.style.Icon({src: `data:image/png;base64,${this.symbolObj['imageData']}`})\r\n });\r\n this.legendHtml = `<img class=\"legend-layer-icon\" height=\"17\" src=\"data:image/png;base64,${this.symbolObj['imageData']}\">`;\r\n break;\r\n default:\r\n console.log(this.symbolObj);\r\n alert('Point symbol does not handle symbol type: ' + this.symbolObj['type']);\r\n }\r\n }\r\n}\r\n\r\nclass LineSymbol extends CommonSymbol {\r\n constructor(symbolObj: iEsriSymbol, opacity: number) {\r\n super(symbolObj, opacity);\r\n switch (this.symbolObj.type) {\r\n case 'esriSLS':\r\n let innerColor = _colorArrayToRgba(this.symbolObj.color, this.opacity);\r\n let lineWidth = this.symbolObj.width;\r\n\r\n this.olStyle = new ol.style.Style({\r\n stroke: new ol.style.Stroke({\r\n color: innerColor,\r\n //lineDash: [4],\r\n width: lineWidth\r\n })\r\n });\r\n\r\n this.legendHtml = `<span class=\"legend-layer-icon\" `;\r\n this.legendHtml += `style=\"`;\r\n this.legendHtml += `background-color: ${innerColor};`;\r\n this.legendHtml += `width: 40px;`;\r\n this.legendHtml += `height: 4px;`;\r\n this.legendHtml += `position: relative;`;\r\n this.legendHtml += `display: inline-block;`;\r\n this.legendHtml += `top: -1px;`;\r\n this.legendHtml += `\"></span>`;\r\n break;\r\n default:\r\n console.log(this.symbolObj);\r\n alert('Line symbol does not handle symbol type: ' + this.symbolObj['type']);\r\n }\r\n }\r\n}\r\n\r\nclass PolygonSymbol extends CommonSymbol {\r\n constructor(symbolObj: iEsriSymbol, opacity: number) {\r\n super(symbolObj, opacity);\r\n switch (this.symbolObj['type']) {\r\n case 'esriSFS':\r\n let innerColor = _colorArrayToRgba(this.symbolObj.color, this.opacity);\r\n let outerColor = _colorArrayToRgba(this.symbolObj.outline.color, this.opacity);\r\n let outlineWidth = this.symbolObj.outline.width;\r\n\r\n this.olStyle = new ol.style.Style({\r\n stroke: new ol.style.Stroke({\r\n color: outerColor,\r\n //lineDash: [4],\r\n width: outlineWidth\r\n }),\r\n fill: new ol.style.Fill({\r\n color: innerColor\r\n })\r\n });\r\n\r\n this.legendHtml = `<span class=\"legend-layer-icon\" `;\r\n this.legendHtml += `style=\"`;\r\n this.legendHtml += `background-color: ${innerColor};`;\r\n this.legendHtml += `border: solid ${outerColor} 1px;`;\r\n this.legendHtml += `width: 40px;`;\r\n this.legendHtml += `height: 9px;`;\r\n this.legendHtml += `position: relative;`;\r\n this.legendHtml += `display: inline-block;`;\r\n this.legendHtml += `top: 2px;`;\r\n this.legendHtml += `\"></span>`;\r\n break;\r\n\r\n default:\r\n console.log(this.symbolObj);\r\n alert('Polygon symbol does handle symbol type: ' + this.symbolObj['type']);\r\n }\r\n }\r\n}\r\n\r\nexport interface iStyleFunc{\r\n (f: ol.Feature): ol.style.Style| ol.style.Style[]\r\n}\r\n\r\nclass SymbolGenerator {\r\n opacity: number;\r\n renderer: iEsriRenderer;\r\n legendHtml: string;\r\n olStyle: iStyleFunc | ol.style.Style;\r\n\r\n constructor(esriResponse: iEsriResponse) {\r\n this.opacity = (100 - (esriResponse['drawingInfo']['transparency'] || 0)) / 100;\r\n this.renderer = esriResponse.drawingInfo.renderer;\r\n this.olStyle = undefined;\r\n this.legendHtml = '';\r\n }\r\n}\r\n\r\nclass SingleSymbol extends SymbolGenerator {\r\n symbol: iEsriSymbol;\r\n /**\r\n *\r\n * @param {object} esriResponse - layer info\r\n * @param SymbolClass - the symbol class to use\r\n */\r\n constructor(esriResponse: iEsriResponse, SymbolClass: ICommonSymbol) {\r\n super(esriResponse);\r\n this.symbol = this.renderer.symbol;\r\n let symbolObj = new SymbolClass(this.symbol, this.opacity);\r\n this.olStyle = symbolObj.olStyle;\r\n this.legendHtml = symbolObj.legendHtml;\r\n }\r\n}\r\n\r\nclass UniqueValueSymbol extends SymbolGenerator {\r\n\r\n propertyName: string;\r\n defaultSymbol: iEsriSymbol;\r\n defaultStyle: ol.style.Style;\r\n defaultLabelHtml: string;\r\n labelArray: Array<string>;\r\n legendArray: Array<string>;\r\n propertyStyleLookup: {[s: string]: ol.style.Style};\r\n valueArray: Array<any>;\r\n uniqueValueInfos: Array<{label: string, value: any, symbol: iEsriSymbol}>;\r\n\r\n /**\r\n *\r\n * @param {object} esriResponse - layer info\r\n * @param SymbolClass - the Symbol class definition\r\n */\r\n constructor(esriResponse: iEsriResponse, SymbolClass: ICommonSymbol) {\r\n super(esriResponse);\r\n this.uniqueValueInfos = this.renderer.uniqueValueInfos;\r\n this.propertyName = this.renderer.field1;\r\n this.defaultSymbol = this.renderer.defaultSymbol;\r\n\r\n\r\n if (this.defaultSymbol) {\r\n let symbolObj = new SymbolClass(this.defaultSymbol, this.opacity);\r\n this.defaultStyle = symbolObj.olStyle;\r\n this.defaultLabelHtml = `<span class=\"legend-layer-subitem\">${htmlEscape(this.renderer['defaultLabel'])}</span>` + symbolObj.legendHtml;\r\n } else {\r\n this.defaultStyle = undefined;\r\n this.defaultLabelHtml = 'other';\r\n }\r\n\r\n this.valueArray = [];\r\n this.labelArray = [];\r\n this.legendArray = [];\r\n this.propertyStyleLookup = {};\r\n\r\n for (let uniqueVal of this.uniqueValueInfos) {\r\n this.labelArray.push(uniqueVal['label']);\r\n this.valueArray.push(uniqueVal['value']);\r\n let uniqueSym = new SymbolClass(uniqueVal.symbol, this.opacity);\r\n this.legendArray.push(`<span class=\"legend-layer-subitem\">${htmlEscape(uniqueVal['label'])}</span>` + uniqueSym.legendHtml);\r\n this.propertyStyleLookup[uniqueVal['value']] = uniqueSym.olStyle;\r\n }\r\n\r\n this.olStyle = (feature: ol.Feature): ol.style.Style[] => {\r\n let checkProperties = feature.getProperties();\r\n let checkProperty = checkProperties[this.propertyName];\r\n\r\n if (this.propertyStyleLookup[checkProperty] !== undefined) {\r\n return [this.propertyStyleLookup[checkProperty]];\r\n } else {\r\n return [this.defaultStyle];\r\n }\r\n };\r\n\r\n if (this.defaultLabelHtml !== null) {\r\n this.legendArray.push(this.defaultLabelHtml);\r\n }\r\n\r\n this.legendHtml = '<ul>';\r\n for (let h of this.legendArray) {\r\n this.legendHtml += `<li>${h}</li>`;\r\n }\r\n this.legendHtml += '</ul>';\r\n }\r\n}\r\n\r\nexport function makeFeatureServiceLegendAndSymbol(esriResponse: iEsriResponse): {style: iStyleFunc | ol.style.Style, legend: string} {\r\n \"use strict\";\r\n let renderer = esriResponse.drawingInfo.renderer;\r\n let symbolLegendOut: SymbolGenerator = null;\r\n\r\n switch (renderer.type) {\r\n case 'simple':\r\n switch (esriResponse.geometryType) {\r\n case 'esriGeometryPoint':\r\n symbolLegendOut = new SingleSymbol(esriResponse, PointSymbol);\r\n break;\r\n case 'esriGeometryPolyline':\r\n symbolLegendOut = new SingleSymbol(esriResponse, LineSymbol);\r\n break;\r\n case 'esriGeometryPolygon':\r\n symbolLegendOut = new SingleSymbol(esriResponse, PolygonSymbol);\r\n break;\r\n default:\r\n console.log(esriResponse);\r\n alert(esriResponse.geometryType + ' not handled');\r\n }\r\n break;\r\n case 'uniqueValue':\r\n switch (esriResponse.geometryType) {\r\n case 'esriGeometryPoint':\r\n symbolLegendOut = new UniqueValueSymbol(esriResponse, PointSymbol);\r\n break;\r\n case 'esriGeometryPolyline':\r\n symbolLegendOut = new UniqueValueSymbol(esriResponse, LineSymbol);\r\n break;\r\n case 'esriGeometryPolygon':\r\n symbolLegendOut = new UniqueValueSymbol(esriResponse, PolygonSymbol);\r\n break;\r\n default:\r\n console.log(esriResponse);\r\n alert(esriResponse['geometryType'] + ' not handled');\r\n }\r\n break;\r\n default:\r\n alert('not handled renderer type: ' + renderer['type']);\r\n }\r\n\r\n if (symbolLegendOut == null) {\r\n return {style: undefined, legend: ''};\r\n } else {\r\n return {style: symbolLegendOut.olStyle, legend: symbolLegendOut.legendHtml};\r\n }\r\n}\r\n\r\nnm.makeFeatureServiceLegendAndSymbol = makeFeatureServiceLegendAndSymbol;\r\n\r\n\r\nexport interface iMapServiceLegend{\r\n layerName: string;\r\n legend: {label: string, imageData: string}[]\r\n}\r\n\r\n/**\r\n *\r\n * @param {object} lyrObject - the layer as defined in the response\r\n * @param {boolean} [skipLayerNameAndExpander=false] use only icons\r\n * @returns {string} legend html\r\n */\r\nfunction mapServiceLegendItem(lyrObject: iMapServiceLegend, skipLayerNameAndExpander: boolean = false) {\r\n\r\n\r\n skipLayerNameAndExpander = typeof skipLayerNameAndExpander == 'boolean' ? skipLayerNameAndExpander : false;\r\n let layerName = lyrObject['layerName'];\r\n let legendItems = lyrObject['legend'];\r\n let legendHtml = '';\r\n\r\n if (!skipLayerNameAndExpander) {\r\n legendHtml += `<span class=\"legend-layer-subitem\">${layerName}</span>`;\r\n }\r\n\r\n if (legendItems.length == 1) {\r\n legendHtml = `<img class=\"legend-layer-icon\" height=\"17\" src=\"data:image/png;base64,${legendItems[0]['imageData']}\">`;\r\n } else {\r\n if (!skipLayerNameAndExpander) {\r\n legendHtml += '<span class=\"legend-items-expander\" title=\"Expand/Collapse\">▼</span>';\r\n }\r\n legendHtml += '<ul>';\r\n for (let i = 0; i < legendItems.length; i++) {\r\n legendHtml += `<li>`;\r\n legendHtml += `<span class=\"legend-layer-subitem\">${htmlEscape(legendItems[i]['label'])}</span>`;\r\n legendHtml += `<img class=\"legend-layer-icon\" height=\"17\" src=\"data:image/png;base64,${legendItems[i]['imageData']}\">`;\r\n legendHtml += `</li>`;\r\n }\r\n legendHtml += '</ul>';\r\n }\r\n\r\n if (!skipLayerNameAndExpander) {\r\n legendHtml = `<span class=\"legend-layer-subitem\">${layerName}</span>` + legendHtml;\r\n }\r\n\r\n return legendHtml;\r\n}\r\n\r\n/**\r\n * make map service legent\r\n * @param {object} esriResponse - layer info\r\n * @param showLayers - limited number of layers to show in map service\r\n * @returns {string} legend content\r\n */\r\nexport function makeMapServiceLegend(esriResponse: {layers: iMapServiceLegend[]}, showLayers: number[] = []) {\r\n \"use strict\";\r\n\r\n let newLegendHtml = '';\r\n\r\n let layers = esriResponse['layers'];\r\n\r\n if (layers.length == 1) {\r\n newLegendHtml += mapServiceLegendItem(layers[0], true);\r\n } else {\r\n newLegendHtml += '<ul>';\r\n for (let i = 0; i < layers.length; i++) {\r\n if (showLayers.length > 0 && showLayers.indexOf(i) < 0){\r\n continue;\r\n }\r\n newLegendHtml += '<li>' + mapServiceLegendItem(layers[i]) + '</li>';\r\n }\r\n newLegendHtml += '</ul>';\r\n }\r\n\r\n return newLegendHtml;\r\n}\r\n\r\nnm.makeMapServiceLegend = makeMapServiceLegend;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/esriToOlStyle.ts","/**\r\n * Created by gavorhes on 11/3/2015.\r\n */\r\n\r\nimport provide from './provide';\r\nlet nm = provide('util');\r\n\r\n\r\n/**\r\n * guids are used to uniquely identify groups and features\r\n * @returns {string} a new guid\r\n */\r\nexport function makeGuid() {\r\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'\r\n .replace(/[xy]/g, function (c) {\r\n let r = Math.random() * 16 | 0, v = c == 'x' ? r : r & 0x3 | 0x8;\r\n\r\n return v.toString(16);\r\n });\r\n\r\n}\r\nnm.makeGuid = makeGuid;\r\nexport default makeGuid;\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/util/makeGuid.ts","/**\r\n * Created by gavorhes on 12/8/2015.\r\n */\r\nimport provide from '../util/provide';\r\nimport ol = require('custom-ol');\r\nconst nm = provide('olHelpers');\r\n\r\n\r\n\r\n/**\r\n * base interaction\r\n */\r\nexport class MapInteractionBase {\r\n _map: ol.Map;\r\n _initialized: boolean;\r\n _subtype: string;\r\n\r\n /**\r\n * map interaction base\r\n * @param subtype - the interaction subtype\r\n */\r\n constructor(subtype: string) {\r\n this._map = null;\r\n this._initialized = false;\r\n this._subtype = subtype;\r\n }\r\n\r\n /**\r\n * base initializer, returns true for already initialized\r\n * @param theMap - the ol Map\r\n * @returns true for already initialized\r\n */\r\n init(theMap: ol.Map){\r\n if (!this._initialized){\r\n this._map = theMap;\r\n this._initialized = true;\r\n }\r\n }\r\n\r\n /**\r\n * get reference to the ol map object\r\n * @returns {ol.Map} the map object\r\n */\r\n get map() {\r\n return this._map;\r\n }\r\n\r\n /**\r\n * get if is initialized\r\n * @returns {boolean} is initialized\r\n */\r\n get initialized() {\r\n return this._initialized;\r\n }\r\n\r\n /**\r\n * Check the initialization status and throw exception if not valid yet\r\n * @protected\r\n */\r\n _checkInit() {\r\n if (!this.initialized) {\r\n let msg = `${this._subtype} object not initialized`;\r\n alert(msg);\r\n console.log(msg);\r\n throw msg;\r\n }\r\n }\r\n\r\n /**\r\n * Check the initialization status and throw exception if not valid yet\r\n */\r\n checkInit(){\r\n this._checkInit();\r\n }\r\n}\r\n\r\nnm.MapInteractionBase = MapInteractionBase;\r\nexport default MapInteractionBase;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/mapInteractionBase.ts","/**\r\n * Created by gavorhes on 11/3/2015.\r\n */\r\n\r\nimport MapPopupCls from './mapPopupCls';\r\n\r\n/**\r\n * The single popup object catch is that it is common to multimap pages\r\n * @type {MapPopupCls}\r\n */\r\nexport const mapPopup = new MapPopupCls() as MapPopupCls;\r\nexport default mapPopup;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/mapPopup.ts","/**\r\n * Created by gavorhes on 12/15/2015.\r\n */\r\n\r\nimport {quickMapOptions, quickMapBase} from './quickMapBase';\r\nimport provide from '../util/provide';\r\nimport mapMove from './mapMove';\r\nimport mapPopup from './mapPopup';\r\nimport ol = require('custom-ol');\r\nlet nm = provide('olHelpers');\r\n\r\nexport {quickMapOptions} from './quickMapBase';\r\n\r\n/**\r\n * Sets up a map with some default parameters and initializes\r\n * mapMove and mapPopup\r\n *\r\n * @param {object} [options={}] config options\r\n * @param {string} [options.divId=map] map div id\r\n * @param {object} [options.center={}] center config object\r\n * @param {number} [options.center.x=-10018378] center x, web mercator x or lon\r\n * @param {number} [options.center.y=5574910] center y, web mercator y or lat\r\n * @param {number} [options.zoom=7] zoom level\r\n * @param {number} [options.minZoom=undefined] min zoom\r\n * @param {number} [options.maxZoom=undefined] max zoom\r\n * @param {boolean} [options.baseSwitcher=true] if add base map switcher\r\n * @param {boolean} [options.fullScreen=false] if add base map switcher\r\n * @returns {ol.Map} the ol map\r\n */\r\nexport function quickMap(options : quickMapOptions = {}): ol.Map {\r\n let m = quickMapBase(options);\r\n mapMove.init(m);\r\n mapPopup.init(m);\r\n return m;\r\n}\r\n\r\n\r\nnm.quickMap = quickMap;\r\nexport default quickMap;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/quickMap.ts","/**\r\n * Created by gavorhes on 6/1/2016.\r\n */\r\n\r\n\r\nimport provide from '../util/provide';\r\nimport {LayerBase} from \"../layers/LayerBase\";\r\nimport ol = require('custom-ol');\r\nimport $ = require('jquery');\r\n\r\nlet nm = provide('collections.layerSwipe');\r\n\r\n\r\nclass LayerSwipe {\r\n leftLayers: Array<LayerBase>;\r\n rightLayers: Array<LayerBase>;\r\n _percentRight: number;\r\n _map: ol.Map;\r\n $mapElement: JQuery;\r\n $swiper: JQuery;\r\n dragging: boolean;\r\n offset: number;\r\n /**\r\n *\r\n * @param {ol.Map} map - the map\r\n * @param {string} [sliderContent=''] - additional html to be added inside the slider div\r\n */\r\n constructor(map: ol.Map, sliderContent: string = '') {\r\n\r\n sliderContent = sliderContent || '';\r\n /**\r\n *\r\n * @type {Array<LayerBase>}\r\n */\r\n this.leftLayers = [];\r\n\r\n /**\r\n *\r\n * @type {Array<LayerBase>}\r\n */\r\n this.rightLayers = [];\r\n\r\n this._percentRight = 50;\r\n this.offset = null;\r\n\r\n this._map = map;\r\n this.$mapElement = $(map.getTargetElement());\r\n this.$mapElement.append(`<div class=\"layer-swiper\">${sliderContent}</div>`);\r\n\r\n\r\n this.$swiper = this.$mapElement.find('.layer-swiper');\r\n this.percentRight = this.percentRight;\r\n\r\n this.dragging = false;\r\n\r\n this.$mapElement.mouseleave(() => {\r\n this.dragging = false;\r\n });\r\n\r\n this.$swiper.bind('mousewheel DOMMouseScroll', function(evt){\r\n evt.preventDefault();\r\n });\r\n\r\n this.$swiper.mousedown((evt) => {\r\n this.dragging = true;\r\n this.offset = evt.offsetX;\r\n });\r\n\r\n $(window).mouseup(() => {\r\n this.dragging = false;\r\n });\r\n\r\n this.$mapElement.mousemove((evt) => {\r\n if (this.dragging) {\r\n let mapLeft = this.$mapElement.position().left;\r\n let mapWidth = this.$mapElement.width();\r\n\r\n this.percentRight = 100 * (evt.pageX - this.offset - mapLeft) / mapWidth;\r\n }\r\n });\r\n }\r\n\r\n /**\r\n *\r\n * @param {LayerBase|*} lyr - layer to be added to left side\r\n */\r\n addLeftLayer(lyr: LayerBase) {\r\n\r\n if (this.leftLayers.indexOf(lyr) != -1){\r\n return;\r\n }\r\n\r\n lyr.olLayer.on('precompose', (event: {context: CanvasRenderingContext2D}) => {\r\n let ctx = event['context'];\r\n let width = ctx.canvas.width * (this.percentRight / 100);\r\n\r\n ctx.save();\r\n ctx.beginPath();\r\n ctx.rect(0, 0, width, ctx.canvas.height);\r\n ctx.clip();\r\n });\r\n\r\n lyr.olLayer.on('postcompose', function (event: {context: CanvasRenderingContext2D}) {\r\n let ctx = event['context'];\r\n ctx.restore();\r\n });\r\n\r\n\r\n this.leftLayers.push(lyr);\r\n }\r\n\r\n /**\r\n *\r\n * @param {LayerBase|*} lyr - layer to be added to right side\r\n */\r\n addRightLayer(lyr: LayerBase) {\r\n\r\n if (this.rightLayers.indexOf(lyr) != -1){\r\n return;\r\n }\r\n\r\n lyr.olLayer.on('precompose', (event: {context: CanvasRenderingContext2D}) => {\r\n let ctx = event['context'];\r\n let width = ctx.canvas.width * (this.percentRight / 100);\r\n\r\n ctx.save();\r\n ctx.beginPath();\r\n ctx.rect(width, 0, ctx.canvas.width - width, ctx.canvas.height);\r\n ctx.clip();\r\n });\r\n\r\n lyr.olLayer.on('postcompose', function (event: {context: CanvasRenderingContext2D}) {\r\n let ctx = event['context'];\r\n ctx.restore();\r\n });\r\n\r\n this.rightLayers.push(lyr);\r\n }\r\n\r\n get percentRight() : number{\r\n return this._percentRight;\r\n }\r\n\r\n set percentRight(percent: number) {\r\n let maxed = this.$swiper.position().left + this.$swiper.width() > this.$mapElement.width();\r\n\r\n if (percent < 0) {\r\n return;\r\n } else if (maxed && percent > this.percentRight) {\r\n return;\r\n }\r\n\r\n this._percentRight = percent;\r\n this.$swiper.css('left', `${this._percentRight.toFixed(2)}%`);\r\n this._map.render();\r\n }\r\n}\r\n\r\nnm.LayerSwipe = LayerSwipe;\r\nexport default LayerSwipe;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/layerSwipe.ts","/**\r\n * Created by gavorhes on 11/3/2015.\r\n */\r\n\r\nimport MapMoveCls from './mapMoveCls';\r\n\r\n/**\r\n * The single map move object catch is that it is common to multimap pages\r\n * @type {MapMoveCls}\r\n */\r\n\r\nexport const mapMove = new MapMoveCls();\r\nexport default mapMove;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/mapMove.ts","/**\r\n * Created by gavorhes on 6/1/2016.\r\n */\r\nimport {quickMap} from '../../olHelpers/quickMap';\r\nimport LayerSwipe from '../../olHelpers/layerSwipe';\r\nimport {LayerEsriMapServer} from '../../layers/LayerEsriMapServer';\r\n\r\nlet map = quickMap();\r\n\r\n\r\nlet swiper = new LayerSwipe(map);\r\n\r\n\r\nlet wisDotRegions = new LayerEsriMapServer(\r\n 'http://transportal.cee.wisc.edu/applications/arcgis2/rest/services/MetaManager/Metamanager_regions/MapServer',\r\n {\r\n minZoom: 6,\r\n maxZoom: 12,\r\n name: 'WisDOT Regions'\r\n });\r\n\r\nlet metamanagerSegments = new LayerEsriMapServer(\r\n 'http://transportal.cee.wisc.edu/applications/arcgis2/rest/services/MetaManager/MM_All_Segments/MapServer',\r\n {\r\n minZoom: 7,\r\n visible: true,\r\n name: 'Metamanager Segments'\r\n });\r\n\r\nlet truckSpeed2014 = new LayerEsriMapServer(\r\n 'http://transportal.cee.wisc.edu/applications/arcgis2/rest/services/NPMRDS/compareDynamic/MapServer',\r\n {\r\n minZoom: 7,\r\n visible: true,\r\n name: 'truck2014',\r\n showLayers: [8]\r\n });\r\n\r\nlet truckSpeed2015 = new LayerEsriMapServer(\r\n 'http://transportal.cee.wisc.edu/applications/arcgis2/rest/services/NPMRDS/compareDynamic/MapServer',\r\n {\r\n minZoom: 7,\r\n visible: true,\r\n name: 'truck2015',\r\n showLayers: [9]\r\n });\r\n\r\nmap.addLayer(wisDotRegions.olLayer);\r\nmap.addLayer(truckSpeed2014.olLayer);\r\nmap.addLayer(truckSpeed2015.olLayer);\r\nmap.addLayer(metamanagerSegments.olLayer);\r\n\r\n\r\nswiper.addLeftLayer(wisDotRegions);\r\nswiper.addRightLayer(metamanagerSegments);\r\n\r\nswiper.addLeftLayer(truckSpeed2014);\r\nswiper.addRightLayer(truckSpeed2015);\r\n\r\nsetTimeout(() => {\r\n\r\n}, 5000);\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/_tests/demos/compare-test.ts","/**\r\n * Created by gavorhes on 10/3/2016.\r\n */\r\nimport ol = require('custom-ol');\r\n\r\n\r\nexport const proj4326 = new ol.proj.Projection({code: 'EPSG:4326'});\r\nexport const proj3857 = new ol.proj.Projection({code: 'EPSG:3857'});\r\nexport const proj3070 = new ol.proj.Projection({code: 'EPSG:3070'});\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/projections.ts","import provide from './provide';\r\nlet nm = provide('util.checkDefined');\r\n\r\n/**\r\n * check if the input is undefined or null\r\n * @param input - input pointer\r\n * @returns true undefined or null\r\n */\r\nexport function undefinedOrNull (input: any): boolean{\r\n \"use strict\";\r\n\r\n return (typeof input === 'undefined' || input === null);\r\n}\r\n\r\nnm.undefinedOrNull = undefinedOrNull;\r\n\r\n\r\n/**\r\n * check if the input is defined and not null\r\n * @param input - input pointer\r\n * @returns true defined and not null\r\n */\r\nexport function definedAndNotNull (input: any): boolean{\r\n \"use strict\";\r\n\r\n return !(undefinedOrNull(input));\r\n}\r\n\r\nnm.definedAndNotNull = definedAndNotNull;\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/util/checkDefined.ts"],"sourceRoot":""} \ No newline at end of file diff --git a/test/serve/js/geocode.js b/test/serve/js/geocode.js index 9782e89ef07d3d6c80e3ccbe451f5886364c2b8c..3712bcc76697c15ef128072735eff09f2973eb84 100644 --- a/test/serve/js/geocode.js +++ b/test/serve/js/geocode.js @@ -63,7 +63,7 @@ /******/ __webpack_require__.p = ""; /******/ /******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = 70); +/******/ return __webpack_require__(__webpack_require__.s = 72); /******/ }) /************************************************************************/ /******/ ({ @@ -112,48 +112,7 @@ module.exports = $; /***/ }), -/***/ 19: -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -Object.defineProperty(exports, "__esModule", { value: true }); -var provide_1 = __webpack_require__(0); -var nm = provide_1.default('util.checkDefined'); -/** - * check if the input is undefined or null - * @param input - input pointer - * @returns true undefined or null - */ -function undefinedOrNull(input) { - "use strict"; - return (typeof input === 'undefined' || input === null); -} -exports.undefinedOrNull = undefinedOrNull; -nm.undefinedOrNull = undefinedOrNull; -/** - * check if the input is defined and not null - * @param input - input pointer - * @returns true defined and not null - */ -function definedAndNotNull(input) { - "use strict"; - return !(undefinedOrNull(input)); -} -exports.definedAndNotNull = definedAndNotNull; -nm.definedAndNotNull = definedAndNotNull; - - -/***/ }), - -/***/ 2: -/***/ (function(module, exports) { - -module.exports = ol; - -/***/ }), - -/***/ 22: +/***/ 13: /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -240,7 +199,7 @@ exports.Geocode = Geocode; /***/ }), -/***/ 23: +/***/ 14: /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -256,8 +215,8 @@ var __extends = (this && this.__extends) || (function () { }; })(); Object.defineProperty(exports, "__esModule", { value: true }); -var mapInteractionBase_1 = __webpack_require__(5); -var checkDefined = __webpack_require__(19); +var mapInteractionBase_1 = __webpack_require__(4); +var checkDefined = __webpack_require__(9); var provide_1 = __webpack_require__(0); var makeGuid_1 = __webpack_require__(3); var $ = __webpack_require__(1); @@ -486,7 +445,7 @@ exports.default = MapMoveCls; /***/ }), -/***/ 24: +/***/ 15: /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -505,7 +464,7 @@ var __extends = (this && this.__extends) || (function () { }; })(); Object.defineProperty(exports, "__esModule", { value: true }); -var mapInteractionBase_1 = __webpack_require__(5); +var mapInteractionBase_1 = __webpack_require__(4); var provide_1 = __webpack_require__(0); var ol = __webpack_require__(2); var $ = __webpack_require__(1); @@ -922,7 +881,7 @@ exports.default = MapPopupCls; /***/ }), -/***/ 25: +/***/ 16: /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -934,7 +893,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); var provide_1 = __webpack_require__(0); var ol = __webpack_require__(2); var $ = __webpack_require__(1); -var geocode_1 = __webpack_require__(22); +var geocode_1 = __webpack_require__(13); var nm = provide_1.default('olHelpers'); /** * Sets up a map with some default parameters and initializes @@ -1024,6 +983,13 @@ nm.quickMapBase = quickMapBase; exports.default = quickMapBase; +/***/ }), + +/***/ 2: +/***/ (function(module, exports) { + +module.exports = ol; + /***/ }), /***/ 3: @@ -1058,26 +1024,6 @@ exports.default = makeGuid; /***/ 4: /***/ (function(module, exports, __webpack_require__) { -"use strict"; -/** - * Created by gavorhes on 11/3/2015. - */ - -Object.defineProperty(exports, "__esModule", { value: true }); -var mapPopupCls_1 = __webpack_require__(24); -/** - * The single popup object catch is that it is common to multimap pages - * @type {MapPopupCls} - */ -exports.mapPopup = new mapPopupCls_1.default(); -exports.default = exports.mapPopup; - - -/***/ }), - -/***/ 5: -/***/ (function(module, exports, __webpack_require__) { - "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); @@ -1159,7 +1105,7 @@ exports.default = MapInteractionBase; /***/ }), -/***/ 6: +/***/ 5: /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -1168,18 +1114,18 @@ exports.default = MapInteractionBase; */ Object.defineProperty(exports, "__esModule", { value: true }); -var mapMoveCls_1 = __webpack_require__(23); +var mapPopupCls_1 = __webpack_require__(15); /** - * The single map move object catch is that it is common to multimap pages - * @type {MapMoveCls} + * The single popup object catch is that it is common to multimap pages + * @type {MapPopupCls} */ -exports.mapMove = new mapMoveCls_1.default(); -exports.default = exports.mapMove; +exports.mapPopup = new mapPopupCls_1.default(); +exports.default = exports.mapPopup; /***/ }), -/***/ 7: +/***/ 6: /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -1188,10 +1134,10 @@ exports.default = exports.mapMove; */ Object.defineProperty(exports, "__esModule", { value: true }); -var quickMapBase_1 = __webpack_require__(25); +var quickMapBase_1 = __webpack_require__(16); var provide_1 = __webpack_require__(0); -var mapMove_1 = __webpack_require__(6); -var mapPopup_1 = __webpack_require__(4); +var mapMove_1 = __webpack_require__(7); +var mapPopup_1 = __webpack_require__(5); var nm = provide_1.default('olHelpers'); /** * Sets up a map with some default parameters and initializes @@ -1223,34 +1169,13 @@ exports.default = quickMap; /***/ }), -/***/ 70: +/***/ 61: /***/ (function(module, exports, __webpack_require__) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -var quickMap_1 = __webpack_require__(7); -var mapToBase64_1 = __webpack_require__(77); -var map = quickMap_1.default({ addGeocode: true }); -window['map'] = map; -function callback(d) { - console.log(d); -} -setTimeout(function () { - mapToBase64_1.mapToBase64(map, callback, { delay: 1500 }); -}, 2000); -console.log('it works'); - - -/***/ }), - -/***/ 77: -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -Object.defineProperty(exports, "__esModule", { value: true }); -var extentUtil_1 = __webpack_require__(78); +var extentUtil_1 = __webpack_require__(67); /** * * @param {ol.Map} map @@ -1305,6 +1230,9 @@ function mapToBase64(map, callback, options) { map.getView().setCenter(originalCenter); map.getView().setZoom(originalZoom); } + if (options.layers) { + extentUtil_1.fitToMap(options.layers, map); + } } }); map.renderSync(); @@ -1318,7 +1246,7 @@ exports.default = mapToBase64; /***/ }), -/***/ 78: +/***/ 67: /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -1383,6 +1311,47 @@ exports.fitToMap = fitToMap; nm.calculateExtent = calculateExtent; +/***/ }), + +/***/ 7: +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/** + * Created by gavorhes on 11/3/2015. + */ + +Object.defineProperty(exports, "__esModule", { value: true }); +var mapMoveCls_1 = __webpack_require__(14); +/** + * The single map move object catch is that it is common to multimap pages + * @type {MapMoveCls} + */ +exports.mapMove = new mapMoveCls_1.default(); +exports.default = exports.mapMove; + + +/***/ }), + +/***/ 72: +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +var quickMap_1 = __webpack_require__(6); +var mapToBase64_1 = __webpack_require__(61); +var map = quickMap_1.default({ addGeocode: true }); +window['map'] = map; +function callback(d) { + console.log(d); +} +setTimeout(function () { + mapToBase64_1.mapToBase64(map, callback, { delay: 1500 }); +}, 2000); +console.log('it works'); + + /***/ }), /***/ 8: @@ -1400,6 +1369,40 @@ exports.proj3857 = new ol.proj.Projection({ code: 'EPSG:3857' }); exports.proj3070 = new ol.proj.Projection({ code: 'EPSG:3070' }); +/***/ }), + +/***/ 9: +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +var provide_1 = __webpack_require__(0); +var nm = provide_1.default('util.checkDefined'); +/** + * check if the input is undefined or null + * @param input - input pointer + * @returns true undefined or null + */ +function undefinedOrNull(input) { + "use strict"; + return (typeof input === 'undefined' || input === null); +} +exports.undefinedOrNull = undefinedOrNull; +nm.undefinedOrNull = undefinedOrNull; +/** + * check if the input is defined and not null + * @param input - input pointer + * @returns true defined and not null + */ +function definedAndNotNull(input) { + "use strict"; + return !(undefinedOrNull(input)); +} +exports.definedAndNotNull = definedAndNotNull; +nm.definedAndNotNull = definedAndNotNull; + + /***/ }) /******/ }); diff --git a/test/serve/js/geocode.js.map b/test/serve/js/geocode.js.map index eda546cc05d8dae255add1c6310473477fb2ad10..fd672e4df21e0dd311a1314695cfe22ec7dd4535 100644 --- a/test/serve/js/geocode.js.map +++ b/test/serve/js/geocode.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap 4a475da5ff42470d66f3","webpack:///./src/util/provide.ts","webpack:///external \"$\"","webpack:///./src/util/checkDefined.ts","webpack:///external \"ol\"","webpack:///./src/olHelpers/geocode.ts","webpack:///./src/olHelpers/mapMoveCls.ts","webpack:///./src/olHelpers/mapPopupCls.ts","webpack:///./src/olHelpers/quickMapBase.ts","webpack:///./src/util/makeGuid.ts","webpack:///./src/olHelpers/mapPopup.ts","webpack:///./src/olHelpers/mapInteractionBase.ts","webpack:///./src/olHelpers/mapMove.ts","webpack:///./src/olHelpers/quickMap.ts","webpack:///./src/_tests/demos/geocode.ts","webpack:///./src/olHelpers/mapToBase64.ts","webpack:///./src/olHelpers/extentUtil.ts","webpack:///./src/olHelpers/projections.ts"],"names":[],"mappings":"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","file":"geocode.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 70);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 4a475da5ff42470d66f3","/**\r\n * Created by gavorhes on 12/10/2015.\r\n */\r\n\r\ndeclare const window: Window;\r\n/**\r\n * create a namespace on the gv object\r\n * @param {string} namespace to create\r\n * @returns {object} object representing the namespace\r\n */\r\nfunction provide(namespace: string){\r\n \"use strict\";\r\n if (typeof (<any>window).gv == 'undefined'){\r\n (<any>window).gv = {};\r\n }\r\n\r\n let parts = namespace.split('.');\r\n let nameSpace = (<any>window).gv;\r\n\r\n for (let i=0; i< parts.length; i++){\r\n let newObject = nameSpace[parts[i]];\r\n\r\n if (typeof newObject == 'undefined'){\r\n nameSpace[parts[i]] = {};\r\n }\r\n\r\n nameSpace = nameSpace[parts[i]];\r\n }\r\n\r\n return nameSpace;\r\n}\r\n\r\nprovide('util');\r\n(<any>window).gv.util.provide = provide;\r\n\r\nexport default provide;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/util/provide.ts","module.exports = $;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"$\"\n// module id = 1\n// module chunks = 0 1 2 4 5 6 7 8 9 11","import provide from './provide';\r\nlet nm = provide('util.checkDefined');\r\n\r\n/**\r\n * check if the input is undefined or null\r\n * @param input - input pointer\r\n * @returns true undefined or null\r\n */\r\nexport function undefinedOrNull (input: any): boolean{\r\n \"use strict\";\r\n\r\n return (typeof input === 'undefined' || input === null);\r\n}\r\n\r\nnm.undefinedOrNull = undefinedOrNull;\r\n\r\n\r\n/**\r\n * check if the input is defined and not null\r\n * @param input - input pointer\r\n * @returns true defined and not null\r\n */\r\nexport function definedAndNotNull (input: any): boolean{\r\n \"use strict\";\r\n\r\n return !(undefinedOrNull(input));\r\n}\r\n\r\nnm.definedAndNotNull = definedAndNotNull;\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/util/checkDefined.ts","module.exports = ol;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"ol\"\n// module id = 2\n// module chunks = 2 4 5 6 11","import $ = require('jquery')\r\nimport {makeGuid} from '../util/makeGuid';\r\nimport ol = require('custom-ol');\r\nimport {proj3857, proj4326} from './projections';\r\n\r\n\r\nlet invalidClass = 'geocoder-invalid';\r\nlet geocoderLoadingClass = 'geocoder-loading';\r\n\r\n// let testAddress = '65 7th Street, Prairie du Sac, WI';\r\n\r\n\r\nexport class Geocode {\r\n private theButton: HTMLButtonElement;\r\n private theInput: HTMLInputElement;\r\n private map: ol.Map;\r\n private indicationLayer;\r\n\r\n constructor(mapDiv: HTMLDivElement, map: ol.Map) {\r\n let inputGuid = makeGuid();\r\n let buttonGuid = makeGuid();\r\n\r\n this.map = map;\r\n this.indicationLayer = new ol.layer.Vector({\r\n source: new ol.source.Vector(),\r\n style: new ol.style.Style({\r\n image: new ol.style.Circle({\r\n radius: 12,\r\n fill: new ol.style.Fill({color: 'rgba(255,0,0,0.5)'}),\r\n stroke: new ol.style.Stroke({color: 'red', width: 1})\r\n })\r\n })\r\n });\r\n this.map.addLayer(this.indicationLayer);\r\n\r\n $(mapDiv).append('<div class=\"geocoder-el\">' +\r\n `<input type=\"text\" id=\"${inputGuid}\">` +\r\n `<button id=\"${buttonGuid}\">Search</button>` +\r\n '</div>');\r\n\r\n this.theButton = document.getElementById(buttonGuid) as HTMLButtonElement;\r\n this.theInput = document.getElementById(inputGuid) as HTMLInputElement;\r\n\r\n this.reset();\r\n\r\n let $theButton = $(this.theButton);\r\n let $theInput = $(this.theInput);\r\n\r\n $theButton.click((evt) => {\r\n\r\n evt.preventDefault();\r\n\r\n $theButton.addClass(geocoderLoadingClass);\r\n this.theButton.disabled = true;\r\n this.indicationLayer.getSource().clear();\r\n\r\n $.get(\r\n `https://geocode.xyz/${this.theInput.value}?geoit=json`,\r\n {},\r\n (d) => {\r\n let lat = parseFloat(d['latt']);\r\n let lon = parseFloat(d['longt']);\r\n\r\n if ((lat == 0 && lon == 0) || d['error']) {\r\n $theInput.addClass(invalidClass);\r\n this.theInput.title = 'Specified Location Invalid';\r\n this.theButton.title = 'Specified Location Invalid';\r\n\r\n } else {\r\n let v = this.map.getView();\r\n let p = new ol.geom.Point([lon, lat]);\r\n let feat = new ol.Feature(p);\r\n this.indicationLayer.getSource().addFeature(feat);\r\n p.transform(proj4326, proj3857);\r\n\r\n v.setCenter(p.getCoordinates());\r\n v.setZoom(13);\r\n }\r\n\r\n $theButton.removeClass(geocoderLoadingClass);\r\n this.theButton.disabled = false;\r\n },\r\n 'json');\r\n });\r\n\r\n $(this.theInput).keyup((evt) => {\r\n evt.preventDefault();\r\n this.theButton.disabled = this.theInput.value.length == 0;\r\n $theInput.removeClass(invalidClass);\r\n this.theInput.title = '';\r\n this.theButton.title = '';\r\n\r\n if (!this.theButton.disabled && evt.keyCode == 13) {\r\n $theButton.click();\r\n }\r\n })\r\n }\r\n\r\n private reset() {\r\n this.theButton.disabled = true;\r\n this.theInput.value = '';\r\n }\r\n\r\n\r\n// https://geocode.xyz/65%2075h%20street%20prairie%20du%20sac%20wi?geoit=json\r\n\r\n// error\r\n// geocoder-invalid\r\n\r\n}\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/geocode.ts","import LayerBaseVector from \"../layers/LayerBaseVector\";\r\nimport MapInteractionBase from './mapInteractionBase';\r\nimport * as checkDefined from '../util/checkDefined';\r\nimport provide from '../util/provide';\r\nimport makeGuid from '../util/makeGuid';\r\nimport ol = require('custom-ol');\r\nimport $ = require('jquery');\r\nconst nm = provide('olHelpers');\r\n\r\n\r\nexport interface extentObject{\r\n minX: number;\r\n minY: number;\r\n maxX: number;\r\n maxY: number;\r\n}\r\n\r\nexport interface mapMoveCallbackFunction{\r\n /**\r\n *\r\n * @param extent extent as predefined object minX, minX, maxX, maxY\r\n * @param zoomLevel current zoom level\r\n * @param evtType the event type 'change:center', 'change:resolution'\r\n */\r\n (extent: extentObject, zoomLevel: number, evtType?: string): any\r\n}\r\n\r\n\r\n/**\r\n * assists with map move interactions, trigger callback functions\r\n * @augments MapInteractionBase\r\n */\r\nexport class MapMoveCls extends MapInteractionBase {\r\n _mapExtent: extentObject;\r\n _zoomLevel: number;\r\n _lookupLayer: {[s: string]: LayerBaseVector};\r\n _arrLayer: Array<LayerBaseVector>;\r\n _arrLyrTimeout: Array<number>;\r\n _mapMoveCallbackTimeout: Array<number>;\r\n _mapMoveCallbackDelays: Array<number>;\r\n _mapMoveCallbacksLookup: {[s: string]: mapMoveCallbackFunction};\r\n _mapMoveCallbackContext: Array<Object>;\r\n _mapMoveCallbacks: Array<mapMoveCallbackFunction>;\r\n _arrLyrRequest: Array<any>;\r\n\r\n /**\r\n * constructor called implicitly\r\n */\r\n constructor() {\r\n super('map move');\r\n this._arrLyrRequest = [];\r\n this._arrLyrTimeout = [];\r\n this._arrLayer = [];\r\n this._lookupLayer = {};\r\n\r\n this._mapMoveCallbacks = [];\r\n this._mapMoveCallbacksLookup = {};\r\n this._mapMoveCallbackDelays = [];\r\n this._mapMoveCallbackContext = [];\r\n this._mapMoveCallbackTimeout = [];\r\n\r\n this._mapExtent = undefined;\r\n this._zoomLevel = undefined;\r\n\r\n }\r\n\r\n /**\r\n * initialize the map move object\r\n * @param theMap - the ol map\r\n */\r\n init(theMap: ol.Map){\r\n super.init(theMap);\r\n\r\n this.map.getView().on(['change:center', 'change:resolution'], (e: {type: string}) =>{\r\n\r\n this._updateMapExtent();\r\n\r\n // trigger the layer updates\r\n for (let i = 0; i < this._arrLayer.length; i++) {\r\n this.triggerLyrLoad(this._arrLayer[i], i, e.type);\r\n }\r\n\r\n // trigger the map callbacks\r\n for (let i = 0; i < this._mapMoveCallbacks.length; i++) {\r\n this.triggerMoveCallback(i, e.type);\r\n }\r\n });\r\n }\r\n\r\n _updateMapExtent() {\r\n let theView = this.map.getView();\r\n this._zoomLevel = theView.getZoom();\r\n\r\n let extentArray = theView.calculateExtent(this.map.getSize());\r\n\r\n this._mapExtent = {\r\n minX: extentArray[0],\r\n minY: extentArray[1],\r\n maxX: extentArray[2],\r\n maxY: extentArray[3]\r\n };\r\n }\r\n\r\n /**\r\n * return the map extent\r\n */\r\n get mapExtent() {\r\n if (!this._mapExtent) {\r\n this._updateMapExtent();\r\n }\r\n\r\n return this._mapExtent;\r\n }\r\n\r\n /**\r\n * Trigger the layer load\r\n * @param lyr the layer being acted on\r\n * @param index index of the layer\r\n * @param eventType the event triggering the load, as 'change:center' or 'change:resolution'\r\n */\r\n triggerLyrLoad(lyr: LayerBaseVector, index?: number, eventType?: string) {\r\n\r\n if (checkDefined.undefinedOrNull(lyr) && checkDefined.undefinedOrNull(index)) {\r\n throw 'need to define lyr or index';\r\n } else if (checkDefined.definedAndNotNull(lyr) && checkDefined.undefinedOrNull(index)) {\r\n index = this._arrLayer.indexOf(lyr);\r\n } else if (checkDefined.undefinedOrNull(lyr) && checkDefined.definedAndNotNull(index)) {\r\n lyr = this._arrLayer[index];\r\n }\r\n\r\n // clear the timeout\r\n if (this._arrLyrTimeout[index] != null) {\r\n clearTimeout(this._arrLyrTimeout[index]);\r\n this._arrLyrTimeout[index] = null;\r\n }\r\n\r\n // abort if necessary and clear the request\r\n if (this._arrLyrRequest[index] != null && this._arrLyrRequest[index] != 4) {\r\n this._arrLyrRequest[index].abort();\r\n this._arrLyrRequest[index] = null;\r\n }\r\n\r\n // dummy callback used if before load returns false\r\n let callbackFunc = function () {};\r\n\r\n if (lyr.mapMoveBefore(this._zoomLevel, eventType)) {\r\n lyr.mapMoveMakeGetParams(this._mapExtent, this._zoomLevel);\r\n\r\n let __this = this;\r\n\r\n callbackFunc = function () {\r\n function innerFunction(theLayer: LayerBaseVector, theIndex: number) {\r\n let _innerThis = this;\r\n this._arrLyrRequest[theIndex] = $.get(\r\n theLayer.url,\r\n theLayer.mapMoveParams,\r\n function (d) {\r\n /**\r\n * @type {LayerBaseVector}\r\n */\r\n theLayer.mapMoveCallback(d);\r\n theLayer.loadCallback();\r\n }, 'json').fail(\r\n function (jqXHR) {\r\n if (jqXHR.statusText != 'abort') {\r\n console.log('failed');\r\n console.log(theLayer.url);\r\n console.log(theLayer.mapMoveParams);\r\n }\r\n }).always(\r\n function () {\r\n _innerThis._arrLyrTimeout[theIndex] = null;\r\n _innerThis._arrLyrRequest[theIndex] = null;\r\n });\r\n }\r\n innerFunction.call(__this, lyr, index);\r\n };\r\n } else {\r\n lyr.clear();\r\n }\r\n this._arrLyrTimeout[index] = setTimeout(callbackFunc, lyr.onDemandDelay);\r\n }\r\n\r\n /**\r\n * trigger the map move call back at the given index\r\n * @param ind - the index of the layer\r\n * @param eventType=undefined the event triggering the load as 'change:center' or 'change:resolution'\r\n * @param functionId=undefined the function id used to reference the added callback function\r\n */\r\n triggerMoveCallback(ind: number, eventType?: string, functionId?: string) {\r\n\r\n if (typeof ind == 'undefined' && typeof functionId == 'undefined'){\r\n throw 'either the function index or the id must be defined';\r\n }\r\n\r\n if (typeof ind !== 'number'){\r\n ind = this._mapMoveCallbacks.indexOf(this._mapMoveCallbacksLookup[functionId]);\r\n }\r\n\r\n if (ind < 0){\r\n console.log('function not found');\r\n\r\n return;\r\n }\r\n\r\n // clear the timeout\r\n if (this._mapMoveCallbackTimeout[ind] != null) {\r\n clearTimeout(this._mapMoveCallbackTimeout[ind]);\r\n this._mapMoveCallbackTimeout[ind] = null;\r\n }\r\n\r\n let ctx = this._mapMoveCallbackContext[ind];\r\n let theFunc = this._mapMoveCallbacks[ind];\r\n\r\n let __this = this;\r\n\r\n let f = function () {\r\n if (ctx !== null) {\r\n theFunc.call(ctx, __this._mapExtent, __this._zoomLevel, eventType);\r\n } else {\r\n theFunc(__this._mapExtent, __this._zoomLevel, eventType);\r\n }\r\n };\r\n\r\n this._mapMoveCallbackTimeout[ind] = setTimeout(f, this._mapMoveCallbackDelays[ind]);\r\n }\r\n\r\n /**\r\n * Add a layer to the interaction\r\n * @param lyr - layer to add\r\n * @param triggerOnAdd - if the layer should be loaded on add\r\n */\r\n addVectorLayer(lyr: LayerBaseVector, triggerOnAdd: boolean = true) {\r\n if (this._arrLayer.indexOf(lyr) > -1) {\r\n console.log('already added ' + lyr.name + ' to map move');\r\n\r\n return;\r\n }\r\n this._checkInit();\r\n\r\n this._arrLyrRequest.push(null);\r\n this._arrLyrTimeout.push(null);\r\n this._arrLayer.push(lyr);\r\n this._lookupLayer[lyr.id] = lyr;\r\n\r\n triggerOnAdd = typeof triggerOnAdd == 'boolean' ? triggerOnAdd : true;\r\n\r\n if (triggerOnAdd) {\r\n if (this._mapExtent === undefined) {\r\n this._updateMapExtent();\r\n }\r\n this.triggerLyrLoad(lyr, this._arrLayer.length - 1);\r\n }\r\n }\r\n\r\n\r\n /**\r\n * add a callback to the map move event\r\n * @param func - callback function\r\n * @param context - the context to use for this function\r\n * @param delay=50 the delay before call load\r\n * @param triggerOnAdd if the layer should be loaded on add to mapMove\r\n * @param functionId optional id to reference the function later for outside triggering\r\n */\r\n addCallback(func: mapMoveCallbackFunction, context?: any, delay?: number, triggerOnAdd? : boolean, functionId?: string) {\r\n\r\n if (this._mapMoveCallbacks.indexOf(func) > -1) {\r\n console.log('this function already added to map move');\r\n return;\r\n }\r\n this._checkInit();\r\n if (!functionId){\r\n functionId = makeGuid();\r\n }\r\n\r\n this._mapMoveCallbacks.push(func);\r\n this._mapMoveCallbacksLookup[functionId] = func;\r\n this._mapMoveCallbackDelays.push(typeof delay == 'number' ? delay : 50);\r\n this._mapMoveCallbackContext.push(checkDefined.definedAndNotNull(context) ? context : null);\r\n this._mapMoveCallbackTimeout.push(null);\r\n\r\n triggerOnAdd = typeof triggerOnAdd == 'boolean' ? triggerOnAdd : true;\r\n\r\n if (triggerOnAdd) {\r\n if (this._mapExtent === undefined) {\r\n this._updateMapExtent();\r\n }\r\n this.triggerMoveCallback(this._mapMoveCallbacks.length - 1);\r\n }\r\n }\r\n}\r\n\r\nnm.MapMoveCls = MapMoveCls;\r\nexport default MapMoveCls;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/mapMoveCls.ts","/**\r\n * Created by gavorhes on 11/3/2015.\r\n */\r\n\r\nimport MapInteractionBase from './mapInteractionBase';\r\nimport propertiesZoomStyle from '../olHelpers/propertiesZoomStyle';\r\nimport provide from '../util/provide';\r\nimport ol = require('custom-ol');\r\nimport {LayerBaseVector} from \"../layers/LayerBaseVector\";\r\nimport {LayerBase} from \"../layers/LayerBase\";\r\nimport LayerEsriMapServer from \"../layers/LayerEsriMapServer\";\r\nimport $ = require('jquery');\r\n\r\nconst nm = provide('olHelpers');\r\n\r\nexport interface popupChangedFunction {\r\n ($popContent: JQuery): any;\r\n}\r\n\r\n/**\r\n *\r\n */\r\nexport interface popupCallback {\r\n /**\r\n * Callback function for the popup\r\n * @param featureProperties\r\n * @param jqRef\r\n */\r\n (featureProperties: Object, jqRef?: JQuery): string | boolean;\r\n}\r\n\r\ninterface mapEvent {\r\n coordinate: ol.Coordinate;\r\n pixel: ol.Pixel;\r\n dragging: boolean|any;\r\n originalEvent: Event;\r\n}\r\n\r\n\r\nexport class FeatureLayerProperties {\r\n\r\n feature: ol.Feature;\r\n layer: LayerBaseVector|LayerEsriMapServer;\r\n layerIndex: number;\r\n selectionLayer: ol.layer.Vector;\r\n popupContent: string;\r\n esriLayerName: string;\r\n\r\n /**\r\n *\r\n * @param feature the feature\r\n * @param layer - the layer in the popup\r\n * @param layerIndex - index of the layer\r\n * @param selectionLayer - the ol selection layer\r\n * @param [esriLayerName=undefined] - esri layer name\r\n */\r\n constructor(feature: ol.Feature, layer: LayerBaseVector|LayerEsriMapServer, layerIndex: number, selectionLayer: ol.layer.Vector, esriLayerName?: string) {\r\n this.feature = feature;\r\n this.layer = layer;\r\n this.layerIndex = layerIndex;\r\n this.selectionLayer = selectionLayer;\r\n this.popupContent = '';\r\n this.esriLayerName = typeof esriLayerName == 'string' ? esriLayerName : undefined;\r\n }\r\n\r\n get layerName() {\r\n if (typeof this.esriLayerName == 'string') {\r\n return this.esriLayerName;\r\n } else {\r\n return this.layer.name;\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * map popup class\r\n * @augments MapInteractionBase\r\n */\r\nexport class MapPopupCls extends MapInteractionBase {\r\n private _popupOpen: boolean;\r\n private _passThroughLayerFeatureArray: Array<FeatureLayerProperties>;\r\n private _currentPopupIndex: number;\r\n private _popupContentLength: number;\r\n private _esriMapServiceLayers: Array<LayerEsriMapServer>;\r\n private _$popupCloser: JQuery;\r\n private _$popupContent: JQuery;\r\n private _$popupContainer: JQuery;\r\n private _popupOverlay: ol.Overlay;\r\n private _arrPopupLayers: Array<LayerBaseVector>;\r\n private _popupCoordinate: ol.Coordinate;\r\n private _popupChangedFunctions: Array<popupChangedFunction>;\r\n private _mapClickFunctions: Array<Function>;\r\n private _selectionLayerLookup: {[s: string]: ol.layer.Vector};\r\n private _arrPopupLayerIds: Array<string>;\r\n private _arrPopupLayerNames: Array<string>;\r\n private _arrPopupOlLayers: Array<ol.layer.Vector>;\r\n private _arrPopupContentFunction: Array<popupCallback>;\r\n private _selectionLayers: Array<ol.layer.Vector>;\r\n\r\n /**\r\n * Definition for openlayers style function\r\n * @callback olStyleFunction\r\n * ¶m feature the openlayers vector feature\r\n * $param\r\n */\r\n\r\n\r\n /**\r\n * map popup constructor\r\n */\r\n constructor() {\r\n super('map popup');\r\n this._arrPopupLayerIds = [];\r\n this._arrPopupLayerNames = [];\r\n this._arrPopupLayers = [];\r\n this._arrPopupOlLayers = [];\r\n this._arrPopupContentFunction = [];\r\n this._$popupContainer = undefined;\r\n this._$popupContent = undefined;\r\n this._$popupCloser = undefined;\r\n this._popupOverlay = undefined;\r\n this._selectionLayers = [];\r\n this._selectionLayerLookup = {};\r\n this._mapClickFunctions = [];\r\n\r\n //let a = function($jqueryContent){console.log($jqueryContent)};\r\n //this._popupChangedLookup = {'a': a};\r\n this._popupChangedFunctions = [];\r\n this._esriMapServiceLayers = [];\r\n\r\n this._popupOpen = false;\r\n this._popupCoordinate = null;\r\n\r\n this._passThroughLayerFeatureArray = [];\r\n\r\n this._currentPopupIndex = -1;\r\n this._popupContentLength = 0;\r\n\r\n }\r\n\r\n /**\r\n * map popup initialization\r\n * @param {ol.Map} theMap - the ol map\r\n */\r\n init(theMap: ol.Map) {\r\n super.init(theMap);\r\n\r\n let $map;\r\n let target = this.map.getTarget();\r\n\r\n if (typeof target == 'string') {\r\n $map = $('#' + target);\r\n }\r\n else {\r\n $map = $(target);\r\n }\r\n\r\n $map.append(\r\n '<div class=\"ol-popup\">' +\r\n '<span class=\"ol-popup-closer\">X</span>' +\r\n '<div class=\"popup-content\"></div>' +\r\n '</div>'\r\n );\r\n\r\n this._$popupContainer = $map.find('.ol-popup');\r\n this._$popupContent = $map.find('.popup-content');\r\n this._$popupCloser = $map.find('.ol-popup-closer');\r\n\r\n let _ease = (n: number): number => {\r\n return ol.easing.inAndOut(n);\r\n };\r\n\r\n\r\n this._popupOverlay = new ol.Overlay({\r\n element: this._$popupContainer[0],\r\n autoPan: true,\r\n autoPanAnimation: {\r\n duration: 250,\r\n source: theMap.getView().getCenter(),\r\n easing: _ease\r\n }\r\n });\r\n\r\n this._map.addOverlay(this._popupOverlay);\r\n\r\n this._$popupCloser.click((evt) => {\r\n this.closePopup();\r\n });\r\n\r\n // display popup on click\r\n this._map.on('singleclick', (evt: {coordinate: [number, number], pixel: ol.Pixel}) => {\r\n\r\n this.closePopup();\r\n this._popupCoordinate = evt['coordinate'];\r\n\r\n // esri map service layers\r\n if (this._esriMapServiceLayers.length > 0) {\r\n\r\n let queryParams = {\r\n geometry: evt['coordinate'].join(','),\r\n geometryType: 'esriGeometryPoint',\r\n layers: 'all',\r\n sr: this._map.getView().getProjection().getCode().split(':')[1],\r\n mapExtent: (this._map.getView().calculateExtent(this._map.getSize()) as number[]).join(','),\r\n imageDisplay: (this._map.getSize() as number[]).join(',') + ',96',\r\n returnGeometry: true,\r\n tolerance: 15,\r\n f: 'pjson'\r\n };\r\n\r\n for (let l of this._esriMapServiceLayers) {\r\n l.getPopupInfo(queryParams);\r\n }\r\n }\r\n\r\n let layerFeatureObjectArray = this._featuresAtPixel(evt['pixel']);\r\n\r\n this._passThroughLayerFeatureArray = [];\r\n this._currentPopupIndex = -1;\r\n\r\n for (let i = 0; i < layerFeatureObjectArray.length; i++) {\r\n let featObj = layerFeatureObjectArray[i];\r\n\r\n let props = featObj.feature.getProperties();\r\n\r\n let popupContentResponse = this._arrPopupContentFunction[featObj.layerIndex](props, this._$popupContent);\r\n\r\n //skip if return was false\r\n if (popupContentResponse === false) {\r\n //continue;\r\n } else if (typeof popupContentResponse == 'string') {\r\n featObj.popupContent = popupContentResponse as string;\r\n this._passThroughLayerFeatureArray.push(featObj);\r\n } else {\r\n featObj.selectionLayer.getSource().addFeature(featObj.feature);\r\n }\r\n }\r\n\r\n this._popupContentLength = this._passThroughLayerFeatureArray.length;\r\n\r\n this._currentPopupIndex = -1;\r\n\r\n let popupHtml = '<div class=\"ol-popup-nav\">';\r\n popupHtml += '<span class=\"previous-popup ol-popup-nav-arrow\">◀</span>';\r\n popupHtml += '<span class=\"next-popup ol-popup-nav-arrow\">▶</span>';\r\n popupHtml += `<span class=\"current-popup-item-number\" style=\"font-weight: bold;\"></span>`;\r\n popupHtml += `<span> of </span>`;\r\n popupHtml += `<span class=\"popup-content-length\" style=\"font-weight: bold;\">${this._popupContentLength}</span>`;\r\n popupHtml += `<span> - </span>`;\r\n popupHtml += `<span class=\"current-popup-layer-name\"></span>`;\r\n popupHtml += '</div>';\r\n popupHtml += '<div class=\"ol-popup-inner\">';\r\n\r\n popupHtml += '</div>';\r\n\r\n this._$popupContent.html(popupHtml);\r\n\r\n this._$popupContent.find('.previous-popup').click(() => {\r\n if (this._popupContentLength == 1) {\r\n return;\r\n }\r\n\r\n if (this._currentPopupIndex == 0) {\r\n this._currentPopupIndex = this._popupContentLength - 1;\r\n } else {\r\n this._currentPopupIndex--;\r\n }\r\n this._triggerFeatSelect();\r\n });\r\n\r\n let nextPopup = this._$popupContent.find('.next-popup');\r\n\r\n nextPopup.click(() => {\r\n if (this._popupContentLength == 1 && this._currentPopupIndex > -1) {\r\n return;\r\n }\r\n\r\n if (this._currentPopupIndex == this._popupContentLength - 1) {\r\n this._currentPopupIndex = 0;\r\n } else {\r\n this._currentPopupIndex++;\r\n }\r\n this._triggerFeatSelect();\r\n });\r\n\r\n\r\n if (this._popupContentLength > 0) {\r\n nextPopup.trigger('click');\r\n this._popupOverlay.setPosition(this._popupCoordinate);\r\n this._$popupContent.scrollTop(0);\r\n this._popupOpen = true;\r\n }\r\n });\r\n\r\n //change mouse cursor when over marker\r\n this._map.on('pointermove', (evt: {dragging: boolean, originalEvent: Event}) => {\r\n if (evt['dragging']) {\r\n return;\r\n }\r\n let pixel = this.map.getEventPixel(evt['originalEvent']);\r\n let hit = this.map.hasFeatureAtPixel(pixel, (lyrCandidate) => {\r\n for (let olLayer of this._arrPopupOlLayers) {\r\n if (lyrCandidate == olLayer) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n });\r\n let mapElement = this.map.getTargetElement() as HTMLElement;\r\n mapElement.style.cursor = hit ? 'pointer' : '';\r\n });\r\n\r\n return true;\r\n }\r\n\r\n /**\r\n * helper to select features\r\n * @private\r\n */\r\n _triggerFeatSelect() {\r\n let $currentPopupItemNumber = this._$popupContent.find('.current-popup-item-number');\r\n let $innerPopup = this._$popupContent.find('.ol-popup-inner');\r\n let $layerNameSpan = this._$popupContent.find('.current-popup-layer-name');\r\n this.clearSelection();\r\n let lyrFeatObj = this._passThroughLayerFeatureArray[this._currentPopupIndex];\r\n $currentPopupItemNumber.html((this._currentPopupIndex + 1).toFixed());\r\n $layerNameSpan.html(lyrFeatObj.layerName);\r\n $innerPopup.html(lyrFeatObj.popupContent);\r\n lyrFeatObj.selectionLayer.getSource().addFeature(lyrFeatObj.feature);\r\n for (let f of this._popupChangedFunctions) {\r\n f(this._$popupContent);\r\n }\r\n }\r\n\r\n\r\n /**\r\n *\r\n * @param feature - the ol feature\r\n * @param {LayerEsriMapServer} lyr - the map server layer\r\n * @param {string} popupContent - popup content\r\n * @param {string} esriName - esri layer name\r\n */\r\n addMapServicePopupContent(feature: ol.Feature, lyr: LayerEsriMapServer, popupContent: string, esriName: string) {\r\n\r\n let featLayerObject = new FeatureLayerProperties(\r\n feature, lyr, this._popupContentLength, this._selectionLayerLookup[lyr.id], esriName\r\n );\r\n featLayerObject.popupContent = popupContent;\r\n\r\n this._passThroughLayerFeatureArray.push(featLayerObject);\r\n this._popupContentLength++;\r\n\r\n $('.popup-content-length').html(this._popupContentLength.toFixed());\r\n\r\n if (!this._popupOpen) {\r\n this._$popupContent.find('.next-popup').trigger('click');\r\n\r\n this._popupOverlay.setPosition(this._popupCoordinate);\r\n this._$popupContent.scrollTop(0);\r\n this._popupOpen = true;\r\n }\r\n }\r\n\r\n /**\r\n *\r\n * @param pixel - the ol pixel\r\n * @returns feature layer properties\r\n * @private\r\n */\r\n _featuresAtPixel(pixel: ol.Pixel): Array<FeatureLayerProperties> {\r\n let layerFeatureObjectArray: FeatureLayerProperties[] = [];\r\n\r\n this.map.forEachFeatureAtPixel(pixel, (feature: ol.Feature, layer: ol.layer.Vector) => {\r\n let lyrIndex = this._arrPopupOlLayers.indexOf(layer);\r\n\r\n if (lyrIndex > -1) {\r\n layerFeatureObjectArray.push(\r\n new FeatureLayerProperties(\r\n feature, this._arrPopupLayers[lyrIndex], lyrIndex, this._selectionLayers[lyrIndex]));\r\n }\r\n });\r\n\r\n return layerFeatureObjectArray;\r\n }\r\n\r\n closePopup() {\r\n this._checkInit();\r\n this._popupOpen = false;\r\n this._popupOverlay.setPosition(undefined);\r\n this._$popupCloser[0].blur();\r\n this.clearSelection();\r\n this._$popupContent.html('');\r\n\r\n return false;\r\n };\r\n\r\n\r\n /**\r\n *\r\n * @param chgFunction - popup change function\r\n */\r\n addPopupChangedFunction(chgFunction: popupChangedFunction) {\r\n this._popupChangedFunctions.push(chgFunction);\r\n }\r\n\r\n /**\r\n *\r\n * @param {LayerBase|*} lyr - the layer being acted on\r\n * @param {object} [selectionStyle={}] the selection style configuration\r\n * @param {string} [selectionStyle.color=rgba(255,170,0,0.5)] the selection color\r\n * @param {number} [selectionStyle.width=10] the selection width for linear features\r\n * @param {object|function} [selectionStyle.olStyle=undefined] an openlayers style object or function\r\n * @returns the new selection layer\r\n * @private\r\n */\r\n _addPopupLayer(lyr: LayerBaseVector|LayerEsriMapServer, selectionStyle: {color?: string, width?: number, olStyle?: ol.style.Style}): ol.layer.Vector {\r\n this._checkInit();\r\n\r\n selectionStyle = selectionStyle || {};\r\n selectionStyle.color = selectionStyle.color || 'rgba(255,170,0,0.5)';\r\n selectionStyle.width = selectionStyle.width || 10;\r\n\r\n let theStyle;\r\n\r\n if (selectionStyle.olStyle) {\r\n theStyle = selectionStyle.olStyle;\r\n } else {\r\n theStyle = new ol.style.Style({\r\n stroke: new ol.style.Stroke({\r\n color: selectionStyle.color,\r\n width: selectionStyle.width\r\n }),\r\n image: new ol.style.Circle({\r\n radius: 7,\r\n fill: new ol.style.Fill({color: selectionStyle.color}),\r\n stroke: new ol.style.Stroke({color: selectionStyle.color, width: 1})\r\n }),\r\n fill: new ol.style.Fill({\r\n color: selectionStyle.color\r\n })\r\n });\r\n }\r\n\r\n let selectionLayer = new ol.layer.Vector(\r\n {\r\n source: new ol.source.Vector(),\r\n style: theStyle\r\n }\r\n );\r\n\r\n selectionLayer.setZIndex(100);\r\n\r\n this._selectionLayers.push(selectionLayer);\r\n this._selectionLayerLookup[lyr.id] = selectionLayer;\r\n this.map.addLayer(selectionLayer);\r\n\r\n return selectionLayer;\r\n }\r\n\r\n\r\n /**\r\n * Add popup to the map\r\n * @param {LayerBase|*} lyr The layer that the popup with act on\r\n * @param {popupCallback} popupContentFunction - popup content function that makes popup info\r\n * @param {object} [selectionStyle={}] the selection style configuration\r\n * @param {string} [selectionStyle.color=rgba(255,170,0,0.5)] the selection color\r\n * @param {number} [selectionStyle.width=10] the selection width for linear features\r\n * @param {object|function} [selectionStyle.olStyle=undefined] an openlayers style object or function\r\n * @returns {object} a reference to the ol selection layer\r\n */\r\n addVectorPopup(lyr: LayerBaseVector, popupContentFunction: popupCallback,\r\n selectionStyle?: {color?: string, width?: number, olStyle?: ol.style.Style}) {\r\n let selectionLayer = this._addPopupLayer(lyr, selectionStyle);\r\n this._arrPopupLayerIds.push(lyr.id);\r\n this._arrPopupLayerNames.push(lyr.name);\r\n this._arrPopupLayers.push(lyr);\r\n this._arrPopupOlLayers.push(lyr.olLayer);\r\n this._arrPopupContentFunction.push(popupContentFunction);\r\n\r\n return selectionLayer;\r\n };\r\n\r\n\r\n /**\r\n *\r\n * @param {LayerBase} lyr - layer\r\n */\r\n removeVectorPopup(lyr: LayerBase) {\r\n let idx = this._arrPopupLayerIds.indexOf(lyr.id);\r\n\r\n if (idx > -1) {\r\n this._arrPopupLayerIds.splice(idx, 1);\r\n this._arrPopupLayerNames.splice(idx, 1);\r\n this._arrPopupLayers.splice(idx, 1);\r\n this._arrPopupOlLayers.splice(idx, 1);\r\n this._arrPopupContentFunction.splice(idx, 1);\r\n this._selectionLayers.splice(idx, 1);\r\n delete this._selectionLayerLookup[lyr.id];\r\n }\r\n }\r\n\r\n /**\r\n *\r\n * @param {LayerEsriMapServer} lyr - map server layer\r\n * @param {object} [selectionStyle={}] the selection style configuration\r\n * @param {string} [selectionStyle.color=rgba(255,170,0,0.5)] the selection color\r\n * @param {number} [selectionStyle.width=10] the selection width for linear features\r\n * @param {object|function} [selectionStyle.olStyle=undefined] an openlayers style object or function\r\n * @returns {object} a reference to the ol selection layer\r\n */\r\n addMapServicePopup(lyr: LayerEsriMapServer, selectionStyle?: ol.style.Style|Array<ol.style.Style>|ol.StyleFunction) {\r\n let selectionLayer = this._addPopupLayer(lyr, selectionStyle);\r\n this._esriMapServiceLayers.push(lyr);\r\n\r\n return selectionLayer;\r\n }\r\n\r\n clearSelection() {\r\n this._checkInit();\r\n for (let i = 0; i < this._selectionLayers.length; i++) {\r\n this._selectionLayers[i].getSource().clear();\r\n }\r\n for (let f of this._mapClickFunctions) {\r\n f();\r\n }\r\n };\r\n\r\n /**\r\n * Add a function to be called when the map is clicked but before any popups are implemented\r\n * @param {function} func - the map click function\r\n */\r\n addMapClickFunction(func: Function) {\r\n this._mapClickFunctions.push(func);\r\n }\r\n}\r\nnm.MapPopupCls = MapPopupCls;\r\nexport default MapPopupCls;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/mapPopupCls.ts","/**\r\n * Created by gavorhes on 12/15/2015.\r\n */\r\n\r\nimport provide from '../util/provide';\r\nimport ol = require('custom-ol');\r\nimport $ = require('jquery');\r\nimport {Geocode} from './geocode';\r\nconst nm = provide('olHelpers');\r\n\r\nexport interface quickMapOptions {\r\n divId?: string;\r\n center?: {x: number, y: number};\r\n zoom?: number;\r\n minZoom?: number;\r\n maxZoom?: number;\r\n baseSwitcher?: boolean;\r\n fullScreen?: boolean;\r\n addGeocode?: boolean;\r\n}\r\n\r\n/**\r\n * Sets up a map with some default parameters and initializes\r\n * mapMove and mapPopup\r\n *\r\n * @param [options={}] config options\r\n * @param [options.divId=map] map div id\r\n * @param [options.center={}] center config object\r\n * @param [options.center.x=-10018378] center x, web mercator x or lon\r\n * @param [options.center.y=5574910] center y, web mercator y or lat\r\n * @param [options.zoom=7] zoom level\r\n * @param [options.minZoom=undefined] min zoom\r\n * @param [options.maxZoom=undefined] max zoom\r\n * @param [options.baseSwitcher=true] if add base map switcher\r\n * @param [options.fullScreen=false] if add base map switcher\r\n * @returns the ol map\r\n */\r\nexport function quickMapBase(options: quickMapOptions = {}): ol.Map {\r\n options.divId = options.divId || 'map';\r\n options.center = options.center || {x: -10018378, y: 5574910};\r\n options.zoom = typeof options.zoom == 'number' ? options.zoom : 7;\r\n options.baseSwitcher = typeof options.baseSwitcher == 'boolean' ? options.baseSwitcher : true;\r\n options.fullScreen = typeof options.fullScreen == 'boolean' ? options.fullScreen : false;\r\n options.addGeocode = options.addGeocode || false;\r\n\r\n\r\n let $mapDiv = $('#' + options.divId);\r\n $mapDiv.css('position', 'relative');\r\n\r\n let osmLayer = new ol.layer.Tile({source: new ol.source.OSM()});\r\n // let satLayer = new ol.layer.Tile({visible: false, source: new ol.source.MapQuest({layer: 'sat'})});\r\n\r\n let osmCss = \"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAMAUExURQAAADQ1NDk5OURFREtLS1FHSFlZWGJRVGJiYWdmZWxsbHRmaXBpanN0c3V0dHp5eX5+fIVzd4F3eeV0jud5juZ8k4aHhomHhoyGh5eGj5OVlJiVlZiYl5qZmJydnKOTlaKZmqKdnaOioaqqqKuzsbOvrrSysLa3tbW4uLm6ub27ub+/vbGXwbCZwbCgxLKlxrOqyLStybO3yrSxyrWzzbW2y7a1zbK4y7W6zbW8y760yrTAzbTFzrPKzrLOzrTJzrTOzr7CwbXC0LXK0LTO0L3I0bPQz7TQz7PS0bXQ0LnR0brW1bzT0r7U077V1Lzc2dqNqteUsdyXscaquuOHneaGmueHnOeJnuiBleiKn+eNoOiOoOWUpOiRo+iSpeiUpeqYpumaqOmdrPSynemgruSqtOmisOmlsuuqtequuOW1vOuxu+uxvOq1ve+xvPK0pvW3o/W5pfO5qvS7qfCwvMOuwc2/wNenxNyyzNe/0Nq31Nq51dy72Oy3wOu4wOu+xey4wO+6xO2+xfTAr/TCsvfFtPHLvvTJuMPDwMfHxcXKyc3DxMvFyMvLyM3PzcDV08DV1MTX1cbY1s7X1sjZ1sra2Mnd3M7b2c7c2tfH1tnB1t7F2d7M29fX1tLY1tDd2tHe3NTf3NnS19rZ1tva2Nnf3t3d28rh3tXg3Nnh3tzj393k39ni4N7k4N7n5uXDyOfLz+zAxu3CyOzEyezKzeDJ3eLM3uvP0u3P0ePf2+7R0u7Q1u/U0+7U1ezc0+7a2e/d2+3f3vbFzvLOwfHN0PPQw/TUx/LWyvLYzPDQ1fPe0ubc4vve4uHh3+nh3+/h2u/h3vHj2vHl3uHm4eTn4uDp5ebo4+Xo5ODq6ebq6OTv6+nl4+/j4O7l4e7n5ujp4+np5Ozq5e7s5urt6O7t6Orw6u7x6u3x7vPj5PDl4fDo4vDq5fDt5vDu6PDv7PTv6fDx6vHx7fH17fXw6fXy7fb07/bz8fT18vn38vr39fr48/r59Pr6+P3++//+/gAAALNTSk0AAAEAdFJOU////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wBT9wclAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAAGHRFWHRTb2Z0d2FyZQBwYWludC5uZXQgNC4wLjlsM35OAAAFNElEQVRIS1VVCZxVUxi/9l0UIUT2bMnY43bVI2c0Y01kSWIaS0j2JEtkN41piomZrPPKQ2aQ7JKImOZlnm2493TJzDufuU1Zi+v/fee+mZ//793vnPOd7zvfes5zDBEZkBBjAcIjb+Iiotqgdhat8AMK0vl7/R9N7GiWtshqIr+EZ5gYKibyUsXY1l/mfFpssvUlWQ0FkU3gy4+RB/+kwYcO8pRSnldcOU/r2lAHARSwk2ORgEmOdC1EsuRiYSqMPwwroMIraZk5V2fYJQjCKfZrRmh3gSAZi2i4b7wSylWu8EqZwS59JkFUaW96JbNSc+CEUmt4rorwuZmWdDaoc+uZETuQlTCU5xYzR7muUnVUVo+BcRhre/VwUpasgJwhH7JkYIYA0sNxhmCwUK+lw6vCKBZehw01dEiyw4Q4aE0Z4ahDhKaFQsGnJ2BgqKoTBsNjFy0SlW6whRAZTdm8DBJmkBZhDi1j4xJQBk6ywrWUTymaCxac8lROcdauRGzQSNtA7EHUYhXyEwhhgjFUqRuO+rauhF1awFpzCsmwUbjIFBR0u1bKtyGpulW/H/cVVzkyGaIWTIR9pFAV6GK2gPMXMX8gPk9zzxXgI1kimcAltEYr+cjio1imlKpEa9rOipLm+p+CZ6Bw//qd1/f/O+GwMxbSLpyoZEcwkyh2jIks+3hmdd2jWUw4scxNysnHxU7nSspTRcJjCZGL3IsjsYJMMg5mwgx7gaIOLBFCogAgBBoNa9w+DE6I+Bs7FTgwwrJbHjWDgpYo2KwtBTcYEDuloC9geQw+k2RGnPGpTaOlq7AS+YICUz4DZVaX2TiNDhuYfTtY4geLi0IoCm3XccwM9hx4kU28StQEljDs3ZEpFGA+8dKzLmV9ymIwF5FOGn2GdJM8KLHDJbXyiYVMG9MRTLiXGGg2QKaxM3khPSRrwM9zEIardxU2w/EiA0gOeYKHzDR0V7/QGV3lKIA9ktrDArxO3gdA+k6SKoBiVwcm7NjZb9+Hnztg282TuHVZ9LOISFNt9MgyCetZVczSxnyDbl17Penq6mqpg1IhRaEO2aVLUO4/r17H8tTv6f13h71dduvZI3Y+uMdWksNSauLovJw5hsqiPIUvt0ku7/iBeUR3sksmomYWtRbAjbiLfv2lX9/V7LVG4uYnUZXhQ7f2OPCZEx9wrYWTcePEQqPEML8pl4mMdr/jlXlvHiRiJ2+MSTFY4TTSYStuvz2R/JXh+PPeGXm055J+3/YDWuNu3R3DArPutyg0ZgykMVDU9Ndm22+wYalr2rse48CnsTIFcMn73vfhNrktx1EUcZnPv6ah3Yy5cDTRdBEoGoBeah71dqFyjZDJLkWk3N3v4uuktssjWpzciMPxQeHj8nMKzcGuB0tAyzFhdCKOYWv4HwOQVwIxLG99a6uvH3sJCyO3h+k4EZ+G7+xj5f4XXksoaGrdMRzSc8ARA8+cdOuk2x6fffNNt5x+Ro1omPlrT/CQDlcNlpx4NBIWXhkx7Y3Zp3ofNR7Uv89Om/beW0TLIynHv3vs1VsOFpSWSXvfuPUf9BrRFyxgXdHoKJnQFegPOovvzz59ntrzye240ig8UQ3lDI2VqwagrKIQcLXNFL3wglN2OHdBQ6/vI3kENDVBwRb3k1XtczFbjWn4EzMYi7CF3129+JTYuRSdrGuS92g5dpqn6qXoJQs5xmL8p+Wt4hLbt0mx2OLNZR2bbPy8zJNQGFM/f/CfXZekRYFjGCWjIJpM+WiCzGBPWHhoyaAsjRT/B2Gy5yzYJkwUAAAAAElFTkSuQmCC')\";\r\n let aerialCss = \"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAMAUExURQALBgIMDQgOBwQOEQcTBwUSCwoVDAwdBw8ZDgUREwYUGAYZFQYZGgkTFQoVGQsZFAwZHBMeDhIbFBEbHAwWIA4bIREcIQ4hCQwjFw4lHBgkDB8sDxUiExIiGhAoGxohFRshGRorHQcrKQsiIQwmKgooJA0pKQ81Jw8yLRMiIxImKxUrJREuKhslJB0rIhooKRUuMBMyLhkwJhozKh48LxUzMRM9MBwzMiUvFCMtGiMwEiwzFCgzHDI+GSIsISkvJSQxIiM2LiY5Jic+Lyk0JSo0Ky49JSs9KSU1NSM7NCs2NS8+NDM1JzU9Ljg7IDJCHS1DLSNAMitCMSxIOjREITZLIDZJKDlFIjpFKztKJT1LKzJBMzpHMD1JMjpKPD1RKjlQNC1DQj5QQEA8MEJGJkBKJUJNK0lLLEJMMkVMPEpONENSLUdZL0pTLkpaLkRUMkRSPEVZMktUM0pVOklZMklZNEpcNU1ZMk1ZNUxfMk5dNkxcOVFUM1RUOFJbNVFZOVNYPVFdOVJdPFVaOVVaPVVdOlVdPVpaNlpdO0phN01hOlBiN1NhPFNoP1piPWFbPmRjPENOQEtPSURTQkJVS0xVQk1VSkxbQkxcS0heUVFXRFRcQlJfTFxeQlpeS05lQk1kSFRjQVRjSlZpQ1tkQlxlSlxpRF1rSVVnUVtlU1llXF9tU1xoXlxwSl9ramRfQmJlQ2FhSWFlSWFlTmVlSWRmTGFoQWFpRWFsRmVpRWVtRmNsSmtlRGpqRmpsS2BmWGRsUmFrW2ptUmZyR2RxTGpxTWVyU2RyW2d5V2tzUmt0WW15VG15WXFuTHNtVnFxTXF4T3h0TnJzUnJ1XHJ4VXN6Wnp0VHx1W315VXp8XGR0YGx0YHVzZXJ0aHR9ZXV+aHl9YHOCXXqBXXeCYHyCY3iEaHyIYn+JaXqKcYB5WIN6Y4SCXoCDZIGEaYCIZoOLa4iCaImJbIOOdYuMco6OeIuVcpOKbZKPc5aQb5eXe5ufg6KjhAAAAAAAAAAAAAAAAOGCeQgAAAEAdFJOU////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wBT9wclAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAAGHRFWHRTb2Z0d2FyZQBwYWludC5uZXQgNC4wLjlsM35OAAAH80lEQVRISy1WbXQUVxm+6wqnk3Zmpxl2FG2EGg92C8GDlWptVTwa+uF3xcKmDfFzCUzDsJNsunXipglJXJbrtJWmwZNSnHD3jojRgUIm2UumIZ0JZ7JByrALbMWW0IBW8aRa4+cf76TeX3Nm3uc+z/s+7/vugl4r/aMTrT4e1pPTqnnmJNn5AyUzRnrRle/qE33dsvrBtAQVoxtpZNK3zSzYjUjviWO2Ag+R77dl7W36n/1Ep9KBPG/S+Py0PkjU/gPKQGqwTHryiWYFAXSvMairsio7SjyNsnCzh0qKImV9/7mhfHQZx2yN1O+7rXUm33MUPaboOkAJHaoIdXfJj2xWeyD8jMFEXkvIu5qzpU988gWB5zl+GS+sFe55trEVPdWZB2miq8bBVkNFO2R0qnrfkiXhcJhtDNXE6tbW97/s9O9/7ZfVhx86/CwrROpfvvxboMqeLsuqPr1j44qEwDNMOBximUiYoU8sw7BC/a7T72uEnyJDlGxZ9KcglZRyuqqrv/tSZErgOI4NgRBTIw9EmHAoFGZZnp6aGaJ2GTxfxYs8kKVUQh7WB5hQeC3LsUxoxVKW14l3BX2WcoUYPiZyLLe8teZ+iuT4GGhvV5KpKWkpyzxEr2MZgQ1xdRjfRBoH+2k6lIHjKTHPPBo8CSJISqqq4wGGOcWylIGlgvgNX1Gd8vF5f+IUIwb30ng+Gg2QfBRIMvy0jG8SVkYo4N0zvUXVRztbJ/L6xL7lUZEXBEHkuZqlS6gEAUgKJurnhFtfpACOYd8b/hVbJPqwi44a6KA0sPVjIi/SIyxb3u8KlAJ0S8jRVgrlW+nVHPdrhiXCxu42d86ByksDc80P3MkJFBFQ8Ho1lQegpWJRWFGsDsRwwv7pIyvuQW0ZkrX6NDVFbqcvaQI8vbyqzt5AARrsbKx5yhQEGs+wPO56bOK+0rcwMrOKkpUbZWYxV04UeZZv/cBKFhRL6Qdv9y4LfEDA7/thg7tTmv1a5/GnO0wl0dQg80wglZaHUmxRvjwAHOfyN0mxrpqLUpcjsK3NHYMo4R1o6eho2ZyIb2FoeOC3ILK8kZ2HQMOuWywGXUkJBCeTbYFS0+ym1h2/6UgmvnrvKYZZtIEXGf75C2cIAp5LHNd71x7uPoTjakrWH9e3KFpaatjUvJUysFw0KrLMYMW2lTg4PeUQx6kJEALvxXEmCdVyPLHtCSjBhc01XCjIgafxou+PE6KC1dhxSCwoBCc+N4P3btM84pmdSSjJnjO/nvY4LQfVyz5/I+v6IwjUOMjy+MVCxIbKupTJaEktp7cTKU42Pvjh2m/8cSpC6aPsaX/MHSuUQLVVsIa4RUTs/r/BVAexNdjdnsNG7j/rV93xheLMzKnFrPeTEQchCyCcKb25aAIn7lrAertrZwyNXM8N6zfWrFo3d2SmOEcF83x/r+OOFgrAHYWF7cELjhV7UQo/6WAIUVl9JFl8a//HZ66VpbY3I9QKZqPru77lA+iOWAIr0hKxHCmmr0othSyeIl5y3qt4xT8gSNrKEZozs8Els67rgsLOZ+ygzwMfbtNhobfgzpEyGnz7htPtzUi6PuOoj7K0WF/MXiUFxwGajRD1hjYXHXI9p406qOyinp5/tiWcDHY0jIu4n64Qfq7kliB2gemag9QbOia0PbbDMbd43SHuvxFxrAocxins7MX5Kqbe1QixKBxoV4//PfAgGCu+Rlm4SvZizyDH+0reDHp92iO0BuX3bCfItl0PEwvYLqpwXG2MHlGsQ4S8pMJZv1JGmHiEoHQDdOjwmVlEP/nE9ADKjI8xLI0OOGITfy0SbeG/C2jKUDGSlDhM9I3IpK9iup6XnbRNC7yqueNsJCCIiXzdQhnaGN+46umnEdy5U5UbUJ48LFM9GkJo8BdDOiAZ7ZIQbKhYLMqvhU2wmNxjEAsS2AI7y4nWF64duePbk7YV3zvAVLEMD9AxJRNa3KDUibV7DjnkuprMEYjScFNcaR2ceP2u9R/5k1052Ryme5phAFRswlHjAudiP4dOy7CaxLgdJh9vUlU1702/+LPa1U9fvPi9qlA4XEUBJc3dFlpsR457IDl1iPqLp7o81NQgyV19iYU38uTiv975Pd3SiwQcsGjx+v4/6fl5T7EOOMTCtpbKxfemsQq/3olQZcminADAAI0cuGLHaHOFxbuGvRk/Z9u7CULqoVR6NE0yx1avj30oRhc/jWUoIALGxkz0dg1Dl9iaI7LqOOXKsXJFwjiuEAi70Jra2nW1PL08zLBhZsMABpW5csI7TPfew9ipFKcn5k1i+1KyCWKjC3W/8dF1d666+RaabBVTFTHacjoojBNDh0NDxk+IPTlwfqJkWpbnpFHXIbLbmpxEQ3ff/Z0g/mauXsoln9wDRjy/NHsQFw3P6vWuTJ43/+FZrk2cvAFRipCKdfD9y2+pjRj78s0KdCUDKJvdV91ChngV38T20TM+gghjpJaPlpFr2xbEz5g4A/NGt5rNwdwmYGeeeMXBSLHHUIc+6RsojRH9VTUm3/mLf/64b470XvoxoTKhlMBQ2jMEzo2PjxdGMppmn1RM24bWFJqaQv4BcuJa2Sam7Zokq1ldCsz06NCBHrhwqVQYpfFj42NZexz1EW9SR/kT58nEeQKJb2fPXjjp0u/YUkwHEgLeOnf2nOuf1TRTM02CLKLTPy60/x1CCztqn7Ev+BdsC3m+30decQvW/wBNTwU+CfUQAQAAAABJRU5ErkJggg==')\";\r\n\r\n if (options.baseSwitcher) {\r\n // let switcherContent = '<div class=\"base-map-switcher\" title=\"Toggle Base Layer\" style=\"';\r\n // switcherContent += 'position: absolute; top: 70px; left: 4px; border: solid black 1px; ';\r\n // switcherContent += `height: 50px; width: 50px; z-index: 10; border-radius: 4px; background: ${aerialCss};`;\r\n // switcherContent += '\"></div>';\r\n // $mapDiv.append(switcherContent);\r\n //\r\n // $mapDiv.find('.base-map-switcher').click(function() {\r\n // \"use strict\";\r\n // osmLayer.setVisible(!osmLayer.getVisible());\r\n // satLayer.setVisible(!satLayer.getVisible());\r\n //\r\n // if (osmLayer.getVisible()){\r\n // $(this).css('background', aerialCss);\r\n // } else {\r\n // $(this).css('background', osmCss);\r\n // }\r\n // });\r\n }\r\n\r\n if (options.zoom < 0 || options.zoom > 28) {\r\n throw 'zoom out of range';\r\n }\r\n\r\n if (options.center.x >= -180 && options.center.x <= 180 && options.center.y >= -90 && options.center.y <= 90) {\r\n let p = new ol.geom.Point([options.center.x, options.center.y]);\r\n new ol.proj.Projection({code: \"EPSG:4326\"});\r\n\r\n p.transform(new ol.proj.Projection({code: \"EPSG:4326\"}), new ol.proj.Projection({code: \"EPSG:3857\"}));\r\n let coordinates = p.getCoordinates();\r\n options.center.x = coordinates[0];\r\n options.center.y = coordinates[1];\r\n }\r\n\r\n const controls = ol.control.defaults({\r\n attributionOptions: {collapsible: false}\r\n }\r\n );\r\n\r\n const view = new ol.View({\r\n center: [options.center.x, options.center.y],\r\n zoom: options.zoom,\r\n minZoom: options.minZoom,\r\n maxZoom: options.maxZoom\r\n });\r\n\r\n let map = new ol.Map({\r\n layers: [osmLayer],\r\n target: options.divId,\r\n controls: controls,\r\n view: view\r\n });\r\n\r\n if (options.fullScreen) {\r\n map.addControl(new ol.control.FullScreen({}));\r\n }\r\n\r\n if (options.addGeocode){\r\n new Geocode(document.getElementById(options.divId) as HTMLDivElement, map);\r\n }\r\n\r\n return map;\r\n}\r\n\r\nnm.quickMapBase = quickMapBase;\r\nexport default quickMapBase;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/quickMapBase.ts","/**\r\n * Created by gavorhes on 11/3/2015.\r\n */\r\n\r\nimport provide from './provide';\r\nlet nm = provide('util');\r\n\r\n\r\n/**\r\n * guids are used to uniquely identify groups and features\r\n * @returns {string} a new guid\r\n */\r\nexport function makeGuid() {\r\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'\r\n .replace(/[xy]/g, function (c) {\r\n let r = Math.random() * 16 | 0, v = c == 'x' ? r : r & 0x3 | 0x8;\r\n\r\n return v.toString(16);\r\n });\r\n\r\n}\r\nnm.makeGuid = makeGuid;\r\nexport default makeGuid;\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/util/makeGuid.ts","/**\r\n * Created by gavorhes on 11/3/2015.\r\n */\r\n\r\nimport MapPopupCls from './mapPopupCls';\r\n\r\n/**\r\n * The single popup object catch is that it is common to multimap pages\r\n * @type {MapPopupCls}\r\n */\r\nexport const mapPopup = new MapPopupCls() as MapPopupCls;\r\nexport default mapPopup;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/mapPopup.ts","/**\r\n * Created by gavorhes on 12/8/2015.\r\n */\r\nimport provide from '../util/provide';\r\nimport ol = require('custom-ol');\r\nconst nm = provide('olHelpers');\r\n\r\n\r\n\r\n/**\r\n * base interaction\r\n */\r\nexport class MapInteractionBase {\r\n _map: ol.Map;\r\n _initialized: boolean;\r\n _subtype: string;\r\n\r\n /**\r\n * map interaction base\r\n * @param subtype - the interaction subtype\r\n */\r\n constructor(subtype: string) {\r\n this._map = null;\r\n this._initialized = false;\r\n this._subtype = subtype;\r\n }\r\n\r\n /**\r\n * base initializer, returns true for already initialized\r\n * @param theMap - the ol Map\r\n * @returns true for already initialized\r\n */\r\n init(theMap: ol.Map){\r\n if (!this._initialized){\r\n this._map = theMap;\r\n this._initialized = true;\r\n }\r\n }\r\n\r\n /**\r\n * get reference to the ol map object\r\n * @returns {ol.Map} the map object\r\n */\r\n get map() {\r\n return this._map;\r\n }\r\n\r\n /**\r\n * get if is initialized\r\n * @returns {boolean} is initialized\r\n */\r\n get initialized() {\r\n return this._initialized;\r\n }\r\n\r\n /**\r\n * Check the initialization status and throw exception if not valid yet\r\n * @protected\r\n */\r\n _checkInit() {\r\n if (!this.initialized) {\r\n let msg = `${this._subtype} object not initialized`;\r\n alert(msg);\r\n console.log(msg);\r\n throw msg;\r\n }\r\n }\r\n\r\n /**\r\n * Check the initialization status and throw exception if not valid yet\r\n */\r\n checkInit(){\r\n this._checkInit();\r\n }\r\n}\r\n\r\nnm.MapInteractionBase = MapInteractionBase;\r\nexport default MapInteractionBase;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/mapInteractionBase.ts","/**\r\n * Created by gavorhes on 11/3/2015.\r\n */\r\n\r\nimport MapMoveCls from './mapMoveCls';\r\n\r\n/**\r\n * The single map move object catch is that it is common to multimap pages\r\n * @type {MapMoveCls}\r\n */\r\n\r\nexport const mapMove = new MapMoveCls();\r\nexport default mapMove;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/mapMove.ts","/**\r\n * Created by gavorhes on 12/15/2015.\r\n */\r\n\r\nimport {quickMapOptions, quickMapBase} from './quickMapBase';\r\nimport provide from '../util/provide';\r\nimport mapMove from './mapMove';\r\nimport mapPopup from './mapPopup';\r\nimport ol = require('custom-ol');\r\nlet nm = provide('olHelpers');\r\n\r\nexport {quickMapOptions} from './quickMapBase';\r\n\r\n/**\r\n * Sets up a map with some default parameters and initializes\r\n * mapMove and mapPopup\r\n *\r\n * @param {object} [options={}] config options\r\n * @param {string} [options.divId=map] map div id\r\n * @param {object} [options.center={}] center config object\r\n * @param {number} [options.center.x=-10018378] center x, web mercator x or lon\r\n * @param {number} [options.center.y=5574910] center y, web mercator y or lat\r\n * @param {number} [options.zoom=7] zoom level\r\n * @param {number} [options.minZoom=undefined] min zoom\r\n * @param {number} [options.maxZoom=undefined] max zoom\r\n * @param {boolean} [options.baseSwitcher=true] if add base map switcher\r\n * @param {boolean} [options.fullScreen=false] if add base map switcher\r\n * @returns {ol.Map} the ol map\r\n */\r\nexport function quickMap(options : quickMapOptions = {}): ol.Map {\r\n let m = quickMapBase(options);\r\n mapMove.init(m);\r\n mapPopup.init(m);\r\n return m;\r\n}\r\n\r\n\r\nnm.quickMap = quickMap;\r\nexport default quickMap;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/quickMap.ts","import ItsLayerCollection from '../../collections/ItsLayerCollection';\r\nimport LayerLegend from '../../collections/LayerLegend';\r\nimport quickMap from '../../olHelpers/quickMap';\r\nimport {mapToBase64} from '../../olHelpers/mapToBase64';\r\nlet map = quickMap({addGeocode: true});\r\n\r\nwindow['map'] = map;\r\n\r\nfunction callback(d: string){\r\n console.log(d);\r\n}\r\n\r\nsetTimeout(() => {\r\n mapToBase64(map, callback, {delay: 1500});\r\n}, 2000);\r\n\r\n\r\nconsole.log('it works');\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/_tests/demos/geocode.ts","import ol = require('custom-ol');\r\nimport {LayerBaseVector} from \"../layers/LayerBaseVector\";\r\nimport {fitToMap} from '../olHelpers/extentUtil';\r\nimport {layers} from \"../\";\r\n\r\ndeclare const glob: Object;\r\n\r\nexport interface iMapToBase64Options {\r\n resize?: { width: number, height: number };\r\n layers?: LayerBaseVector[] | LayerBaseVector[];\r\n delay?: number;\r\n}\r\n\r\n\r\n/**\r\n *\r\n * @param {ol.Map} map\r\n * @param {(imgData) => string} callback\r\n * @param {iMapToBase64Options} options\r\n * @returns {any}\r\n */\r\nexport function mapToBase64(map: ol.Map, callback: (imgData: string) => any, options?: iMapToBase64Options): any {\r\n options = options || {};\r\n\r\n if (typeof options.delay === 'number'){\r\n //pass\r\n } else if (options.layers || options.resize){\r\n options.delay = 2000;\r\n } else {\r\n options.delay = 1;\r\n }\r\n\r\n let mapTarget: HTMLDivElement = map.getTargetElement() as HTMLDivElement;\r\n\r\n let originalHeight = mapTarget.style.height;\r\n let originalWidth = mapTarget.style.width;\r\n let originalPosition = mapTarget.style.position;\r\n let originalCenter = map.getView().getCenter();\r\n let originalZoom = map.getView().getZoom();\r\n\r\n // let mapTimeout = 1;\r\n\r\n if (options.resize) {\r\n mapTarget.style.height = `${options.resize.height}px`;\r\n mapTarget.style.width = `${options.resize.width}px`;\r\n mapTarget.style.position = 'absolute';\r\n map.updateSize();\r\n }\r\n\r\n map.once('postrender', () => {\r\n\r\n if (options.layers) {\r\n fitToMap(options.layers, map);\r\n }\r\n\r\n setTimeout(() => {\r\n map.once('postcompose', (event) => {\r\n try {\r\n let canvas: HTMLCanvasElement = event['context'].canvas;\r\n let imgData = canvas.toDataURL('image/png');\r\n callback(imgData);\r\n }\r\n catch (ex) {\r\n // reportParams['imgData'] = null;\r\n } finally {\r\n if (options.resize) {\r\n mapTarget.style.height = originalHeight;\r\n mapTarget.style.width = originalWidth;\r\n mapTarget.style.position = originalPosition;\r\n\r\n map.updateSize();\r\n map.getView().setCenter(originalCenter);\r\n map.getView().setZoom(originalZoom);\r\n }\r\n }\r\n });\r\n map.renderSync();\r\n }, options.delay);\r\n });\r\n\r\n map.updateSize();\r\n\r\n}\r\n\r\nexport default mapToBase64;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/mapToBase64.ts","/**\r\n * Created by gavorhes on 7/18/2016.\r\n */\r\nimport provide from '../util/provide';\r\nimport ol = require('custom-ol');\r\nimport {LayerBaseVector} from \"../layers/LayerBaseVector\";\r\n\r\n\r\nconst nm = provide('util');\r\n\r\n/**\r\n *\r\n * @param {Array<LayerBaseVector>|Array<ol.layer.Vector>|LayerBaseVector|ol.layer.Vector|*} layers - array of layers or single\r\n * @returns {ol.Extent|Array<number>|*} - collective extent\r\n */\r\nexport function calculateExtent(layers: ol.layer.Vector[]|LayerBaseVector[]): ol.Extent|Array<number>| ol.Extent| number[] {\r\n \"use strict\";\r\n\r\n let hasExtent = false;\r\n\r\n let minX = 10E100;\r\n let minY = 10E100;\r\n let maxX = -10E100;\r\n let maxY = -10E100;\r\n\r\n for (let lyr of layers) {\r\n\r\n let olLayer: ol.layer.Vector = (lyr as LayerBaseVector).olLayer || lyr as ol.layer.Vector;\r\n \r\n \r\n if (olLayer.getSource().getFeatures().length > 0) {\r\n hasExtent = true;\r\n let ext = olLayer.getSource().getExtent();\r\n minX = ext[0] < minX ? ext[0] : minX;\r\n minY = ext[1] < minY ? ext[1] : minY;\r\n maxX = ext[2] > maxX ? ext[2] : maxX;\r\n maxY = ext[3] > maxY ? ext[3] : maxY;\r\n }\r\n }\r\n\r\n if (hasExtent) {\r\n return [minX, minY, maxX, maxY];\r\n } else {\r\n return undefined;\r\n }\r\n}\r\n\r\nnm.calculateExtent = calculateExtent;\r\n \r\n\r\n/**\r\n * given one or an array of layers, fit to the map\r\n * @param layers - array of layers or single\r\n * @param mp - the map to fit\r\n * @param [zoomOut=undefined] - levels to zoom out after fit\r\n */\r\nexport function fitToMap(layers: ol.layer.Vector[]|LayerBaseVector[], mp: ol.Map, zoomOut?: number){\r\n \"use strict\";\r\n\r\n let ext = calculateExtent(layers);\r\n \r\n if (typeof ext == 'undefined'){\r\n return;\r\n }\r\n \r\n mp.getView().fit(ext as ol.Extent, mp.getSize());\r\n \r\n if (typeof zoomOut == 'number'){\r\n mp.getView().setZoom(mp.getView().getZoom() - zoomOut);\r\n }\r\n}\r\n\r\nnm.calculateExtent = calculateExtent;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/extentUtil.ts","/**\r\n * Created by gavorhes on 10/3/2016.\r\n */\r\nimport ol = require('custom-ol');\r\n\r\n\r\nexport const proj4326 = new ol.proj.Projection({code: 'EPSG:4326'});\r\nexport const proj3857 = new ol.proj.Projection({code: 'EPSG:3857'});\r\nexport const proj3070 = new ol.proj.Projection({code: 'EPSG:3070'});\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/projections.ts"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/bootstrap 85176672b243dd643c6c?aa7c******","webpack:///./src/util/provide.ts?5c82*****","webpack:///external \"$\"?57aa*****","webpack:///./src/olHelpers/geocode.ts?5a2f***","webpack:///./src/olHelpers/mapMoveCls.ts?cd45***","webpack:///./src/olHelpers/mapPopupCls.ts?e3f7***","webpack:///./src/olHelpers/quickMapBase.ts?fb65***","webpack:///external \"ol\"?81ed***","webpack:///./src/util/makeGuid.ts?e80e*****","webpack:///./src/olHelpers/mapInteractionBase.ts?f419***","webpack:///./src/olHelpers/mapPopup.ts?5d6c***","webpack:///./src/olHelpers/quickMap.ts?1069***","webpack:///./src/olHelpers/mapToBase64.ts","webpack:///./src/olHelpers/extentUtil.ts","webpack:///./src/olHelpers/mapMove.ts?6a2b***","webpack:///./src/_tests/demos/geocode.ts","webpack:///./src/olHelpers/projections.ts?804b***","webpack:///./src/util/checkDefined.ts?bcd7***"],"names":[],"mappings":"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","file":"geocode.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 72);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 85176672b243dd643c6c","/**\r\n * Created by gavorhes on 12/10/2015.\r\n */\r\n\r\ndeclare const window: Window;\r\n/**\r\n * create a namespace on the gv object\r\n * @param {string} namespace to create\r\n * @returns {object} object representing the namespace\r\n */\r\nfunction provide(namespace: string){\r\n \"use strict\";\r\n if (typeof (<any>window).gv == 'undefined'){\r\n (<any>window).gv = {};\r\n }\r\n\r\n let parts = namespace.split('.');\r\n let nameSpace = (<any>window).gv;\r\n\r\n for (let i=0; i< parts.length; i++){\r\n let newObject = nameSpace[parts[i]];\r\n\r\n if (typeof newObject == 'undefined'){\r\n nameSpace[parts[i]] = {};\r\n }\r\n\r\n nameSpace = nameSpace[parts[i]];\r\n }\r\n\r\n return nameSpace;\r\n}\r\n\r\nprovide('util');\r\n(<any>window).gv.util.provide = provide;\r\n\r\nexport default provide;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/util/provide.ts","module.exports = $;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"$\"\n// module id = 1\n// module chunks = 0 1 2 4 5 6 7 8 9 10","import $ = require('jquery')\r\nimport {makeGuid} from '../util/makeGuid';\r\nimport ol = require('custom-ol');\r\nimport {proj3857, proj4326} from './projections';\r\n\r\n\r\nlet invalidClass = 'geocoder-invalid';\r\nlet geocoderLoadingClass = 'geocoder-loading';\r\n\r\n// let testAddress = '65 7th Street, Prairie du Sac, WI';\r\n\r\n\r\nexport class Geocode {\r\n private theButton: HTMLButtonElement;\r\n private theInput: HTMLInputElement;\r\n private map: ol.Map;\r\n private indicationLayer;\r\n\r\n constructor(mapDiv: HTMLDivElement, map: ol.Map) {\r\n let inputGuid = makeGuid();\r\n let buttonGuid = makeGuid();\r\n\r\n this.map = map;\r\n this.indicationLayer = new ol.layer.Vector({\r\n source: new ol.source.Vector(),\r\n style: new ol.style.Style({\r\n image: new ol.style.Circle({\r\n radius: 12,\r\n fill: new ol.style.Fill({color: 'rgba(255,0,0,0.5)'}),\r\n stroke: new ol.style.Stroke({color: 'red', width: 1})\r\n })\r\n })\r\n });\r\n this.map.addLayer(this.indicationLayer);\r\n\r\n $(mapDiv).append('<div class=\"geocoder-el\">' +\r\n `<input type=\"text\" id=\"${inputGuid}\">` +\r\n `<button id=\"${buttonGuid}\">Search</button>` +\r\n '</div>');\r\n\r\n this.theButton = document.getElementById(buttonGuid) as HTMLButtonElement;\r\n this.theInput = document.getElementById(inputGuid) as HTMLInputElement;\r\n\r\n this.reset();\r\n\r\n let $theButton = $(this.theButton);\r\n let $theInput = $(this.theInput);\r\n\r\n $theButton.click((evt) => {\r\n\r\n evt.preventDefault();\r\n\r\n $theButton.addClass(geocoderLoadingClass);\r\n this.theButton.disabled = true;\r\n this.indicationLayer.getSource().clear();\r\n\r\n $.get(\r\n `https://geocode.xyz/${this.theInput.value}?geoit=json`,\r\n {},\r\n (d) => {\r\n let lat = parseFloat(d['latt']);\r\n let lon = parseFloat(d['longt']);\r\n\r\n if ((lat == 0 && lon == 0) || d['error']) {\r\n $theInput.addClass(invalidClass);\r\n this.theInput.title = 'Specified Location Invalid';\r\n this.theButton.title = 'Specified Location Invalid';\r\n\r\n } else {\r\n let v = this.map.getView();\r\n let p = new ol.geom.Point([lon, lat]);\r\n let feat = new ol.Feature(p);\r\n this.indicationLayer.getSource().addFeature(feat);\r\n p.transform(proj4326, proj3857);\r\n\r\n v.setCenter(p.getCoordinates());\r\n v.setZoom(13);\r\n }\r\n\r\n $theButton.removeClass(geocoderLoadingClass);\r\n this.theButton.disabled = false;\r\n },\r\n 'json');\r\n });\r\n\r\n $(this.theInput).keyup((evt) => {\r\n evt.preventDefault();\r\n this.theButton.disabled = this.theInput.value.length == 0;\r\n $theInput.removeClass(invalidClass);\r\n this.theInput.title = '';\r\n this.theButton.title = '';\r\n\r\n if (!this.theButton.disabled && evt.keyCode == 13) {\r\n $theButton.click();\r\n }\r\n })\r\n }\r\n\r\n private reset() {\r\n this.theButton.disabled = true;\r\n this.theInput.value = '';\r\n }\r\n\r\n\r\n// https://geocode.xyz/65%2075h%20street%20prairie%20du%20sac%20wi?geoit=json\r\n\r\n// error\r\n// geocoder-invalid\r\n\r\n}\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/geocode.ts","import LayerBaseVector from \"../layers/LayerBaseVector\";\r\nimport MapInteractionBase from './mapInteractionBase';\r\nimport * as checkDefined from '../util/checkDefined';\r\nimport provide from '../util/provide';\r\nimport makeGuid from '../util/makeGuid';\r\nimport ol = require('custom-ol');\r\nimport $ = require('jquery');\r\nconst nm = provide('olHelpers');\r\n\r\n\r\nexport interface extentObject{\r\n minX: number;\r\n minY: number;\r\n maxX: number;\r\n maxY: number;\r\n}\r\n\r\nexport interface mapMoveCallbackFunction{\r\n /**\r\n *\r\n * @param extent extent as predefined object minX, minX, maxX, maxY\r\n * @param zoomLevel current zoom level\r\n * @param evtType the event type 'change:center', 'change:resolution'\r\n */\r\n (extent: extentObject, zoomLevel: number, evtType?: string): any\r\n}\r\n\r\n\r\n/**\r\n * assists with map move interactions, trigger callback functions\r\n * @augments MapInteractionBase\r\n */\r\nexport class MapMoveCls extends MapInteractionBase {\r\n _mapExtent: extentObject;\r\n _zoomLevel: number;\r\n _lookupLayer: {[s: string]: LayerBaseVector};\r\n _arrLayer: Array<LayerBaseVector>;\r\n _arrLyrTimeout: Array<number>;\r\n _mapMoveCallbackTimeout: Array<number>;\r\n _mapMoveCallbackDelays: Array<number>;\r\n _mapMoveCallbacksLookup: {[s: string]: mapMoveCallbackFunction};\r\n _mapMoveCallbackContext: Array<Object>;\r\n _mapMoveCallbacks: Array<mapMoveCallbackFunction>;\r\n _arrLyrRequest: Array<any>;\r\n\r\n /**\r\n * constructor called implicitly\r\n */\r\n constructor() {\r\n super('map move');\r\n this._arrLyrRequest = [];\r\n this._arrLyrTimeout = [];\r\n this._arrLayer = [];\r\n this._lookupLayer = {};\r\n\r\n this._mapMoveCallbacks = [];\r\n this._mapMoveCallbacksLookup = {};\r\n this._mapMoveCallbackDelays = [];\r\n this._mapMoveCallbackContext = [];\r\n this._mapMoveCallbackTimeout = [];\r\n\r\n this._mapExtent = undefined;\r\n this._zoomLevel = undefined;\r\n\r\n }\r\n\r\n /**\r\n * initialize the map move object\r\n * @param theMap - the ol map\r\n */\r\n init(theMap: ol.Map){\r\n super.init(theMap);\r\n\r\n this.map.getView().on(['change:center', 'change:resolution'], (e: {type: string}) =>{\r\n\r\n this._updateMapExtent();\r\n\r\n // trigger the layer updates\r\n for (let i = 0; i < this._arrLayer.length; i++) {\r\n this.triggerLyrLoad(this._arrLayer[i], i, e.type);\r\n }\r\n\r\n // trigger the map callbacks\r\n for (let i = 0; i < this._mapMoveCallbacks.length; i++) {\r\n this.triggerMoveCallback(i, e.type);\r\n }\r\n });\r\n }\r\n\r\n _updateMapExtent() {\r\n let theView = this.map.getView();\r\n this._zoomLevel = theView.getZoom();\r\n\r\n let extentArray = theView.calculateExtent(this.map.getSize());\r\n\r\n this._mapExtent = {\r\n minX: extentArray[0],\r\n minY: extentArray[1],\r\n maxX: extentArray[2],\r\n maxY: extentArray[3]\r\n };\r\n }\r\n\r\n /**\r\n * return the map extent\r\n */\r\n get mapExtent() {\r\n if (!this._mapExtent) {\r\n this._updateMapExtent();\r\n }\r\n\r\n return this._mapExtent;\r\n }\r\n\r\n /**\r\n * Trigger the layer load\r\n * @param lyr the layer being acted on\r\n * @param index index of the layer\r\n * @param eventType the event triggering the load, as 'change:center' or 'change:resolution'\r\n */\r\n triggerLyrLoad(lyr: LayerBaseVector, index?: number, eventType?: string) {\r\n\r\n if (checkDefined.undefinedOrNull(lyr) && checkDefined.undefinedOrNull(index)) {\r\n throw 'need to define lyr or index';\r\n } else if (checkDefined.definedAndNotNull(lyr) && checkDefined.undefinedOrNull(index)) {\r\n index = this._arrLayer.indexOf(lyr);\r\n } else if (checkDefined.undefinedOrNull(lyr) && checkDefined.definedAndNotNull(index)) {\r\n lyr = this._arrLayer[index];\r\n }\r\n\r\n // clear the timeout\r\n if (this._arrLyrTimeout[index] != null) {\r\n clearTimeout(this._arrLyrTimeout[index]);\r\n this._arrLyrTimeout[index] = null;\r\n }\r\n\r\n // abort if necessary and clear the request\r\n if (this._arrLyrRequest[index] != null && this._arrLyrRequest[index] != 4) {\r\n this._arrLyrRequest[index].abort();\r\n this._arrLyrRequest[index] = null;\r\n }\r\n\r\n // dummy callback used if before load returns false\r\n let callbackFunc = function () {};\r\n\r\n if (lyr.mapMoveBefore(this._zoomLevel, eventType)) {\r\n lyr.mapMoveMakeGetParams(this._mapExtent, this._zoomLevel);\r\n\r\n let __this = this;\r\n\r\n callbackFunc = function () {\r\n function innerFunction(theLayer: LayerBaseVector, theIndex: number) {\r\n let _innerThis = this;\r\n this._arrLyrRequest[theIndex] = $.get(\r\n theLayer.url,\r\n theLayer.mapMoveParams,\r\n function (d) {\r\n /**\r\n * @type {LayerBaseVector}\r\n */\r\n theLayer.mapMoveCallback(d);\r\n theLayer.loadCallback();\r\n }, 'json').fail(\r\n function (jqXHR) {\r\n if (jqXHR.statusText != 'abort') {\r\n console.log('failed');\r\n console.log(theLayer.url);\r\n console.log(theLayer.mapMoveParams);\r\n }\r\n }).always(\r\n function () {\r\n _innerThis._arrLyrTimeout[theIndex] = null;\r\n _innerThis._arrLyrRequest[theIndex] = null;\r\n });\r\n }\r\n innerFunction.call(__this, lyr, index);\r\n };\r\n } else {\r\n lyr.clear();\r\n }\r\n this._arrLyrTimeout[index] = setTimeout(callbackFunc, lyr.onDemandDelay);\r\n }\r\n\r\n /**\r\n * trigger the map move call back at the given index\r\n * @param ind - the index of the layer\r\n * @param eventType=undefined the event triggering the load as 'change:center' or 'change:resolution'\r\n * @param functionId=undefined the function id used to reference the added callback function\r\n */\r\n triggerMoveCallback(ind: number, eventType?: string, functionId?: string) {\r\n\r\n if (typeof ind == 'undefined' && typeof functionId == 'undefined'){\r\n throw 'either the function index or the id must be defined';\r\n }\r\n\r\n if (typeof ind !== 'number'){\r\n ind = this._mapMoveCallbacks.indexOf(this._mapMoveCallbacksLookup[functionId]);\r\n }\r\n\r\n if (ind < 0){\r\n console.log('function not found');\r\n\r\n return;\r\n }\r\n\r\n // clear the timeout\r\n if (this._mapMoveCallbackTimeout[ind] != null) {\r\n clearTimeout(this._mapMoveCallbackTimeout[ind]);\r\n this._mapMoveCallbackTimeout[ind] = null;\r\n }\r\n\r\n let ctx = this._mapMoveCallbackContext[ind];\r\n let theFunc = this._mapMoveCallbacks[ind];\r\n\r\n let __this = this;\r\n\r\n let f = function () {\r\n if (ctx !== null) {\r\n theFunc.call(ctx, __this._mapExtent, __this._zoomLevel, eventType);\r\n } else {\r\n theFunc(__this._mapExtent, __this._zoomLevel, eventType);\r\n }\r\n };\r\n\r\n this._mapMoveCallbackTimeout[ind] = setTimeout(f, this._mapMoveCallbackDelays[ind]);\r\n }\r\n\r\n /**\r\n * Add a layer to the interaction\r\n * @param lyr - layer to add\r\n * @param triggerOnAdd - if the layer should be loaded on add\r\n */\r\n addVectorLayer(lyr: LayerBaseVector, triggerOnAdd: boolean = true) {\r\n if (this._arrLayer.indexOf(lyr) > -1) {\r\n console.log('already added ' + lyr.name + ' to map move');\r\n\r\n return;\r\n }\r\n this._checkInit();\r\n\r\n this._arrLyrRequest.push(null);\r\n this._arrLyrTimeout.push(null);\r\n this._arrLayer.push(lyr);\r\n this._lookupLayer[lyr.id] = lyr;\r\n\r\n triggerOnAdd = typeof triggerOnAdd == 'boolean' ? triggerOnAdd : true;\r\n\r\n if (triggerOnAdd) {\r\n if (this._mapExtent === undefined) {\r\n this._updateMapExtent();\r\n }\r\n this.triggerLyrLoad(lyr, this._arrLayer.length - 1);\r\n }\r\n }\r\n\r\n\r\n /**\r\n * add a callback to the map move event\r\n * @param func - callback function\r\n * @param context - the context to use for this function\r\n * @param delay=50 the delay before call load\r\n * @param triggerOnAdd if the layer should be loaded on add to mapMove\r\n * @param functionId optional id to reference the function later for outside triggering\r\n */\r\n addCallback(func: mapMoveCallbackFunction, context?: any, delay?: number, triggerOnAdd? : boolean, functionId?: string) {\r\n\r\n if (this._mapMoveCallbacks.indexOf(func) > -1) {\r\n console.log('this function already added to map move');\r\n return;\r\n }\r\n this._checkInit();\r\n if (!functionId){\r\n functionId = makeGuid();\r\n }\r\n\r\n this._mapMoveCallbacks.push(func);\r\n this._mapMoveCallbacksLookup[functionId] = func;\r\n this._mapMoveCallbackDelays.push(typeof delay == 'number' ? delay : 50);\r\n this._mapMoveCallbackContext.push(checkDefined.definedAndNotNull(context) ? context : null);\r\n this._mapMoveCallbackTimeout.push(null);\r\n\r\n triggerOnAdd = typeof triggerOnAdd == 'boolean' ? triggerOnAdd : true;\r\n\r\n if (triggerOnAdd) {\r\n if (this._mapExtent === undefined) {\r\n this._updateMapExtent();\r\n }\r\n this.triggerMoveCallback(this._mapMoveCallbacks.length - 1);\r\n }\r\n }\r\n}\r\n\r\nnm.MapMoveCls = MapMoveCls;\r\nexport default MapMoveCls;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/mapMoveCls.ts","/**\r\n * Created by gavorhes on 11/3/2015.\r\n */\r\n\r\nimport MapInteractionBase from './mapInteractionBase';\r\nimport propertiesZoomStyle from '../olHelpers/propertiesZoomStyle';\r\nimport provide from '../util/provide';\r\nimport ol = require('custom-ol');\r\nimport {LayerBaseVector} from \"../layers/LayerBaseVector\";\r\nimport {LayerBase} from \"../layers/LayerBase\";\r\nimport LayerEsriMapServer from \"../layers/LayerEsriMapServer\";\r\nimport $ = require('jquery');\r\n\r\nconst nm = provide('olHelpers');\r\n\r\nexport interface popupChangedFunction {\r\n ($popContent: JQuery): any;\r\n}\r\n\r\n/**\r\n *\r\n */\r\nexport interface popupCallback {\r\n /**\r\n * Callback function for the popup\r\n * @param featureProperties\r\n * @param jqRef\r\n */\r\n (featureProperties: Object, jqRef?: JQuery): string | boolean;\r\n}\r\n\r\ninterface mapEvent {\r\n coordinate: ol.Coordinate;\r\n pixel: ol.Pixel;\r\n dragging: boolean|any;\r\n originalEvent: Event;\r\n}\r\n\r\n\r\nexport class FeatureLayerProperties {\r\n\r\n feature: ol.Feature;\r\n layer: LayerBaseVector|LayerEsriMapServer;\r\n layerIndex: number;\r\n selectionLayer: ol.layer.Vector;\r\n popupContent: string;\r\n esriLayerName: string;\r\n\r\n /**\r\n *\r\n * @param feature the feature\r\n * @param layer - the layer in the popup\r\n * @param layerIndex - index of the layer\r\n * @param selectionLayer - the ol selection layer\r\n * @param [esriLayerName=undefined] - esri layer name\r\n */\r\n constructor(feature: ol.Feature, layer: LayerBaseVector|LayerEsriMapServer, layerIndex: number, selectionLayer: ol.layer.Vector, esriLayerName?: string) {\r\n this.feature = feature;\r\n this.layer = layer;\r\n this.layerIndex = layerIndex;\r\n this.selectionLayer = selectionLayer;\r\n this.popupContent = '';\r\n this.esriLayerName = typeof esriLayerName == 'string' ? esriLayerName : undefined;\r\n }\r\n\r\n get layerName() {\r\n if (typeof this.esriLayerName == 'string') {\r\n return this.esriLayerName;\r\n } else {\r\n return this.layer.name;\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * map popup class\r\n * @augments MapInteractionBase\r\n */\r\nexport class MapPopupCls extends MapInteractionBase {\r\n private _popupOpen: boolean;\r\n private _passThroughLayerFeatureArray: Array<FeatureLayerProperties>;\r\n private _currentPopupIndex: number;\r\n private _popupContentLength: number;\r\n private _esriMapServiceLayers: Array<LayerEsriMapServer>;\r\n private _$popupCloser: JQuery;\r\n private _$popupContent: JQuery;\r\n private _$popupContainer: JQuery;\r\n private _popupOverlay: ol.Overlay;\r\n private _arrPopupLayers: Array<LayerBaseVector>;\r\n private _popupCoordinate: ol.Coordinate;\r\n private _popupChangedFunctions: Array<popupChangedFunction>;\r\n private _mapClickFunctions: Array<Function>;\r\n private _selectionLayerLookup: {[s: string]: ol.layer.Vector};\r\n private _arrPopupLayerIds: Array<string>;\r\n private _arrPopupLayerNames: Array<string>;\r\n private _arrPopupOlLayers: Array<ol.layer.Vector>;\r\n private _arrPopupContentFunction: Array<popupCallback>;\r\n private _selectionLayers: Array<ol.layer.Vector>;\r\n\r\n /**\r\n * Definition for openlayers style function\r\n * @callback olStyleFunction\r\n * ¶m feature the openlayers vector feature\r\n * $param\r\n */\r\n\r\n\r\n /**\r\n * map popup constructor\r\n */\r\n constructor() {\r\n super('map popup');\r\n this._arrPopupLayerIds = [];\r\n this._arrPopupLayerNames = [];\r\n this._arrPopupLayers = [];\r\n this._arrPopupOlLayers = [];\r\n this._arrPopupContentFunction = [];\r\n this._$popupContainer = undefined;\r\n this._$popupContent = undefined;\r\n this._$popupCloser = undefined;\r\n this._popupOverlay = undefined;\r\n this._selectionLayers = [];\r\n this._selectionLayerLookup = {};\r\n this._mapClickFunctions = [];\r\n\r\n //let a = function($jqueryContent){console.log($jqueryContent)};\r\n //this._popupChangedLookup = {'a': a};\r\n this._popupChangedFunctions = [];\r\n this._esriMapServiceLayers = [];\r\n\r\n this._popupOpen = false;\r\n this._popupCoordinate = null;\r\n\r\n this._passThroughLayerFeatureArray = [];\r\n\r\n this._currentPopupIndex = -1;\r\n this._popupContentLength = 0;\r\n\r\n }\r\n\r\n /**\r\n * map popup initialization\r\n * @param {ol.Map} theMap - the ol map\r\n */\r\n init(theMap: ol.Map) {\r\n super.init(theMap);\r\n\r\n let $map;\r\n let target = this.map.getTarget();\r\n\r\n if (typeof target == 'string') {\r\n $map = $('#' + target);\r\n }\r\n else {\r\n $map = $(target);\r\n }\r\n\r\n $map.append(\r\n '<div class=\"ol-popup\">' +\r\n '<span class=\"ol-popup-closer\">X</span>' +\r\n '<div class=\"popup-content\"></div>' +\r\n '</div>'\r\n );\r\n\r\n this._$popupContainer = $map.find('.ol-popup');\r\n this._$popupContent = $map.find('.popup-content');\r\n this._$popupCloser = $map.find('.ol-popup-closer');\r\n\r\n let _ease = (n: number): number => {\r\n return ol.easing.inAndOut(n);\r\n };\r\n\r\n\r\n this._popupOverlay = new ol.Overlay({\r\n element: this._$popupContainer[0],\r\n autoPan: true,\r\n autoPanAnimation: {\r\n duration: 250,\r\n source: theMap.getView().getCenter(),\r\n easing: _ease\r\n }\r\n });\r\n\r\n this._map.addOverlay(this._popupOverlay);\r\n\r\n this._$popupCloser.click((evt) => {\r\n this.closePopup();\r\n });\r\n\r\n // display popup on click\r\n this._map.on('singleclick', (evt: {coordinate: [number, number], pixel: ol.Pixel}) => {\r\n\r\n this.closePopup();\r\n this._popupCoordinate = evt['coordinate'];\r\n\r\n // esri map service layers\r\n if (this._esriMapServiceLayers.length > 0) {\r\n\r\n let queryParams = {\r\n geometry: evt['coordinate'].join(','),\r\n geometryType: 'esriGeometryPoint',\r\n layers: 'all',\r\n sr: this._map.getView().getProjection().getCode().split(':')[1],\r\n mapExtent: (this._map.getView().calculateExtent(this._map.getSize()) as number[]).join(','),\r\n imageDisplay: (this._map.getSize() as number[]).join(',') + ',96',\r\n returnGeometry: true,\r\n tolerance: 15,\r\n f: 'pjson'\r\n };\r\n\r\n for (let l of this._esriMapServiceLayers) {\r\n l.getPopupInfo(queryParams);\r\n }\r\n }\r\n\r\n let layerFeatureObjectArray = this._featuresAtPixel(evt['pixel']);\r\n\r\n this._passThroughLayerFeatureArray = [];\r\n this._currentPopupIndex = -1;\r\n\r\n for (let i = 0; i < layerFeatureObjectArray.length; i++) {\r\n let featObj = layerFeatureObjectArray[i];\r\n\r\n let props = featObj.feature.getProperties();\r\n\r\n let popupContentResponse = this._arrPopupContentFunction[featObj.layerIndex](props, this._$popupContent);\r\n\r\n //skip if return was false\r\n if (popupContentResponse === false) {\r\n //continue;\r\n } else if (typeof popupContentResponse == 'string') {\r\n featObj.popupContent = popupContentResponse as string;\r\n this._passThroughLayerFeatureArray.push(featObj);\r\n } else {\r\n featObj.selectionLayer.getSource().addFeature(featObj.feature);\r\n }\r\n }\r\n\r\n this._popupContentLength = this._passThroughLayerFeatureArray.length;\r\n\r\n this._currentPopupIndex = -1;\r\n\r\n let popupHtml = '<div class=\"ol-popup-nav\">';\r\n popupHtml += '<span class=\"previous-popup ol-popup-nav-arrow\">◀</span>';\r\n popupHtml += '<span class=\"next-popup ol-popup-nav-arrow\">▶</span>';\r\n popupHtml += `<span class=\"current-popup-item-number\" style=\"font-weight: bold;\"></span>`;\r\n popupHtml += `<span> of </span>`;\r\n popupHtml += `<span class=\"popup-content-length\" style=\"font-weight: bold;\">${this._popupContentLength}</span>`;\r\n popupHtml += `<span> - </span>`;\r\n popupHtml += `<span class=\"current-popup-layer-name\"></span>`;\r\n popupHtml += '</div>';\r\n popupHtml += '<div class=\"ol-popup-inner\">';\r\n\r\n popupHtml += '</div>';\r\n\r\n this._$popupContent.html(popupHtml);\r\n\r\n this._$popupContent.find('.previous-popup').click(() => {\r\n if (this._popupContentLength == 1) {\r\n return;\r\n }\r\n\r\n if (this._currentPopupIndex == 0) {\r\n this._currentPopupIndex = this._popupContentLength - 1;\r\n } else {\r\n this._currentPopupIndex--;\r\n }\r\n this._triggerFeatSelect();\r\n });\r\n\r\n let nextPopup = this._$popupContent.find('.next-popup');\r\n\r\n nextPopup.click(() => {\r\n if (this._popupContentLength == 1 && this._currentPopupIndex > -1) {\r\n return;\r\n }\r\n\r\n if (this._currentPopupIndex == this._popupContentLength - 1) {\r\n this._currentPopupIndex = 0;\r\n } else {\r\n this._currentPopupIndex++;\r\n }\r\n this._triggerFeatSelect();\r\n });\r\n\r\n\r\n if (this._popupContentLength > 0) {\r\n nextPopup.trigger('click');\r\n this._popupOverlay.setPosition(this._popupCoordinate);\r\n this._$popupContent.scrollTop(0);\r\n this._popupOpen = true;\r\n }\r\n });\r\n\r\n //change mouse cursor when over marker\r\n this._map.on('pointermove', (evt: {dragging: boolean, originalEvent: Event}) => {\r\n if (evt['dragging']) {\r\n return;\r\n }\r\n let pixel = this.map.getEventPixel(evt['originalEvent']);\r\n let hit = this.map.hasFeatureAtPixel(pixel, (lyrCandidate) => {\r\n for (let olLayer of this._arrPopupOlLayers) {\r\n if (lyrCandidate == olLayer) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n });\r\n let mapElement = this.map.getTargetElement() as HTMLElement;\r\n mapElement.style.cursor = hit ? 'pointer' : '';\r\n });\r\n\r\n return true;\r\n }\r\n\r\n /**\r\n * helper to select features\r\n * @private\r\n */\r\n _triggerFeatSelect() {\r\n let $currentPopupItemNumber = this._$popupContent.find('.current-popup-item-number');\r\n let $innerPopup = this._$popupContent.find('.ol-popup-inner');\r\n let $layerNameSpan = this._$popupContent.find('.current-popup-layer-name');\r\n this.clearSelection();\r\n let lyrFeatObj = this._passThroughLayerFeatureArray[this._currentPopupIndex];\r\n $currentPopupItemNumber.html((this._currentPopupIndex + 1).toFixed());\r\n $layerNameSpan.html(lyrFeatObj.layerName);\r\n $innerPopup.html(lyrFeatObj.popupContent);\r\n lyrFeatObj.selectionLayer.getSource().addFeature(lyrFeatObj.feature);\r\n for (let f of this._popupChangedFunctions) {\r\n f(this._$popupContent);\r\n }\r\n }\r\n\r\n\r\n /**\r\n *\r\n * @param feature - the ol feature\r\n * @param {LayerEsriMapServer} lyr - the map server layer\r\n * @param {string} popupContent - popup content\r\n * @param {string} esriName - esri layer name\r\n */\r\n addMapServicePopupContent(feature: ol.Feature, lyr: LayerEsriMapServer, popupContent: string, esriName: string) {\r\n\r\n let featLayerObject = new FeatureLayerProperties(\r\n feature, lyr, this._popupContentLength, this._selectionLayerLookup[lyr.id], esriName\r\n );\r\n featLayerObject.popupContent = popupContent;\r\n\r\n this._passThroughLayerFeatureArray.push(featLayerObject);\r\n this._popupContentLength++;\r\n\r\n $('.popup-content-length').html(this._popupContentLength.toFixed());\r\n\r\n if (!this._popupOpen) {\r\n this._$popupContent.find('.next-popup').trigger('click');\r\n\r\n this._popupOverlay.setPosition(this._popupCoordinate);\r\n this._$popupContent.scrollTop(0);\r\n this._popupOpen = true;\r\n }\r\n }\r\n\r\n /**\r\n *\r\n * @param pixel - the ol pixel\r\n * @returns feature layer properties\r\n * @private\r\n */\r\n _featuresAtPixel(pixel: ol.Pixel): Array<FeatureLayerProperties> {\r\n let layerFeatureObjectArray: FeatureLayerProperties[] = [];\r\n\r\n this.map.forEachFeatureAtPixel(pixel, (feature: ol.Feature, layer: ol.layer.Vector) => {\r\n let lyrIndex = this._arrPopupOlLayers.indexOf(layer);\r\n\r\n if (lyrIndex > -1) {\r\n layerFeatureObjectArray.push(\r\n new FeatureLayerProperties(\r\n feature, this._arrPopupLayers[lyrIndex], lyrIndex, this._selectionLayers[lyrIndex]));\r\n }\r\n });\r\n\r\n return layerFeatureObjectArray;\r\n }\r\n\r\n closePopup() {\r\n this._checkInit();\r\n this._popupOpen = false;\r\n this._popupOverlay.setPosition(undefined);\r\n this._$popupCloser[0].blur();\r\n this.clearSelection();\r\n this._$popupContent.html('');\r\n\r\n return false;\r\n };\r\n\r\n\r\n /**\r\n *\r\n * @param chgFunction - popup change function\r\n */\r\n addPopupChangedFunction(chgFunction: popupChangedFunction) {\r\n this._popupChangedFunctions.push(chgFunction);\r\n }\r\n\r\n /**\r\n *\r\n * @param {LayerBase|*} lyr - the layer being acted on\r\n * @param {object} [selectionStyle={}] the selection style configuration\r\n * @param {string} [selectionStyle.color=rgba(255,170,0,0.5)] the selection color\r\n * @param {number} [selectionStyle.width=10] the selection width for linear features\r\n * @param {object|function} [selectionStyle.olStyle=undefined] an openlayers style object or function\r\n * @returns the new selection layer\r\n * @private\r\n */\r\n _addPopupLayer(lyr: LayerBaseVector|LayerEsriMapServer, selectionStyle: {color?: string, width?: number, olStyle?: ol.style.Style}): ol.layer.Vector {\r\n this._checkInit();\r\n\r\n selectionStyle = selectionStyle || {};\r\n selectionStyle.color = selectionStyle.color || 'rgba(255,170,0,0.5)';\r\n selectionStyle.width = selectionStyle.width || 10;\r\n\r\n let theStyle;\r\n\r\n if (selectionStyle.olStyle) {\r\n theStyle = selectionStyle.olStyle;\r\n } else {\r\n theStyle = new ol.style.Style({\r\n stroke: new ol.style.Stroke({\r\n color: selectionStyle.color,\r\n width: selectionStyle.width\r\n }),\r\n image: new ol.style.Circle({\r\n radius: 7,\r\n fill: new ol.style.Fill({color: selectionStyle.color}),\r\n stroke: new ol.style.Stroke({color: selectionStyle.color, width: 1})\r\n }),\r\n fill: new ol.style.Fill({\r\n color: selectionStyle.color\r\n })\r\n });\r\n }\r\n\r\n let selectionLayer = new ol.layer.Vector(\r\n {\r\n source: new ol.source.Vector(),\r\n style: theStyle\r\n }\r\n );\r\n\r\n selectionLayer.setZIndex(100);\r\n\r\n this._selectionLayers.push(selectionLayer);\r\n this._selectionLayerLookup[lyr.id] = selectionLayer;\r\n this.map.addLayer(selectionLayer);\r\n\r\n return selectionLayer;\r\n }\r\n\r\n\r\n /**\r\n * Add popup to the map\r\n * @param {LayerBase|*} lyr The layer that the popup with act on\r\n * @param {popupCallback} popupContentFunction - popup content function that makes popup info\r\n * @param {object} [selectionStyle={}] the selection style configuration\r\n * @param {string} [selectionStyle.color=rgba(255,170,0,0.5)] the selection color\r\n * @param {number} [selectionStyle.width=10] the selection width for linear features\r\n * @param {object|function} [selectionStyle.olStyle=undefined] an openlayers style object or function\r\n * @returns {object} a reference to the ol selection layer\r\n */\r\n addVectorPopup(lyr: LayerBaseVector, popupContentFunction: popupCallback,\r\n selectionStyle?: {color?: string, width?: number, olStyle?: ol.style.Style}) {\r\n let selectionLayer = this._addPopupLayer(lyr, selectionStyle);\r\n this._arrPopupLayerIds.push(lyr.id);\r\n this._arrPopupLayerNames.push(lyr.name);\r\n this._arrPopupLayers.push(lyr);\r\n this._arrPopupOlLayers.push(lyr.olLayer);\r\n this._arrPopupContentFunction.push(popupContentFunction);\r\n\r\n return selectionLayer;\r\n };\r\n\r\n\r\n /**\r\n *\r\n * @param {LayerBase} lyr - layer\r\n */\r\n removeVectorPopup(lyr: LayerBase) {\r\n let idx = this._arrPopupLayerIds.indexOf(lyr.id);\r\n\r\n if (idx > -1) {\r\n this._arrPopupLayerIds.splice(idx, 1);\r\n this._arrPopupLayerNames.splice(idx, 1);\r\n this._arrPopupLayers.splice(idx, 1);\r\n this._arrPopupOlLayers.splice(idx, 1);\r\n this._arrPopupContentFunction.splice(idx, 1);\r\n this._selectionLayers.splice(idx, 1);\r\n delete this._selectionLayerLookup[lyr.id];\r\n }\r\n }\r\n\r\n /**\r\n *\r\n * @param {LayerEsriMapServer} lyr - map server layer\r\n * @param {object} [selectionStyle={}] the selection style configuration\r\n * @param {string} [selectionStyle.color=rgba(255,170,0,0.5)] the selection color\r\n * @param {number} [selectionStyle.width=10] the selection width for linear features\r\n * @param {object|function} [selectionStyle.olStyle=undefined] an openlayers style object or function\r\n * @returns {object} a reference to the ol selection layer\r\n */\r\n addMapServicePopup(lyr: LayerEsriMapServer, selectionStyle?: ol.style.Style|Array<ol.style.Style>|ol.StyleFunction) {\r\n let selectionLayer = this._addPopupLayer(lyr, selectionStyle);\r\n this._esriMapServiceLayers.push(lyr);\r\n\r\n return selectionLayer;\r\n }\r\n\r\n clearSelection() {\r\n this._checkInit();\r\n for (let i = 0; i < this._selectionLayers.length; i++) {\r\n this._selectionLayers[i].getSource().clear();\r\n }\r\n for (let f of this._mapClickFunctions) {\r\n f();\r\n }\r\n };\r\n\r\n /**\r\n * Add a function to be called when the map is clicked but before any popups are implemented\r\n * @param {function} func - the map click function\r\n */\r\n addMapClickFunction(func: Function) {\r\n this._mapClickFunctions.push(func);\r\n }\r\n}\r\nnm.MapPopupCls = MapPopupCls;\r\nexport default MapPopupCls;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/mapPopupCls.ts","/**\r\n * Created by gavorhes on 12/15/2015.\r\n */\r\n\r\nimport provide from '../util/provide';\r\nimport ol = require('custom-ol');\r\nimport $ = require('jquery');\r\nimport {Geocode} from './geocode';\r\nconst nm = provide('olHelpers');\r\n\r\nexport interface quickMapOptions {\r\n divId?: string;\r\n center?: {x: number, y: number};\r\n zoom?: number;\r\n minZoom?: number;\r\n maxZoom?: number;\r\n baseSwitcher?: boolean;\r\n fullScreen?: boolean;\r\n addGeocode?: boolean;\r\n}\r\n\r\n/**\r\n * Sets up a map with some default parameters and initializes\r\n * mapMove and mapPopup\r\n *\r\n * @param [options={}] config options\r\n * @param [options.divId=map] map div id\r\n * @param [options.center={}] center config object\r\n * @param [options.center.x=-10018378] center x, web mercator x or lon\r\n * @param [options.center.y=5574910] center y, web mercator y or lat\r\n * @param [options.zoom=7] zoom level\r\n * @param [options.minZoom=undefined] min zoom\r\n * @param [options.maxZoom=undefined] max zoom\r\n * @param [options.baseSwitcher=true] if add base map switcher\r\n * @param [options.fullScreen=false] if add base map switcher\r\n * @returns the ol map\r\n */\r\nexport function quickMapBase(options: quickMapOptions = {}): ol.Map {\r\n options.divId = options.divId || 'map';\r\n options.center = options.center || {x: -10018378, y: 5574910};\r\n options.zoom = typeof options.zoom == 'number' ? options.zoom : 7;\r\n options.baseSwitcher = typeof options.baseSwitcher == 'boolean' ? options.baseSwitcher : true;\r\n options.fullScreen = typeof options.fullScreen == 'boolean' ? options.fullScreen : false;\r\n options.addGeocode = options.addGeocode || false;\r\n\r\n\r\n let $mapDiv = $('#' + options.divId);\r\n $mapDiv.css('position', 'relative');\r\n\r\n let osmLayer = new ol.layer.Tile({source: new ol.source.OSM()});\r\n // let satLayer = new ol.layer.Tile({visible: false, source: new ol.source.MapQuest({layer: 'sat'})});\r\n\r\n let osmCss = \"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAMAUExURQAAADQ1NDk5OURFREtLS1FHSFlZWGJRVGJiYWdmZWxsbHRmaXBpanN0c3V0dHp5eX5+fIVzd4F3eeV0jud5juZ8k4aHhomHhoyGh5eGj5OVlJiVlZiYl5qZmJydnKOTlaKZmqKdnaOioaqqqKuzsbOvrrSysLa3tbW4uLm6ub27ub+/vbGXwbCZwbCgxLKlxrOqyLStybO3yrSxyrWzzbW2y7a1zbK4y7W6zbW8y760yrTAzbTFzrPKzrLOzrTJzrTOzr7CwbXC0LXK0LTO0L3I0bPQz7TQz7PS0bXQ0LnR0brW1bzT0r7U077V1Lzc2dqNqteUsdyXscaquuOHneaGmueHnOeJnuiBleiKn+eNoOiOoOWUpOiRo+iSpeiUpeqYpumaqOmdrPSynemgruSqtOmisOmlsuuqtequuOW1vOuxu+uxvOq1ve+xvPK0pvW3o/W5pfO5qvS7qfCwvMOuwc2/wNenxNyyzNe/0Nq31Nq51dy72Oy3wOu4wOu+xey4wO+6xO2+xfTAr/TCsvfFtPHLvvTJuMPDwMfHxcXKyc3DxMvFyMvLyM3PzcDV08DV1MTX1cbY1s7X1sjZ1sra2Mnd3M7b2c7c2tfH1tnB1t7F2d7M29fX1tLY1tDd2tHe3NTf3NnS19rZ1tva2Nnf3t3d28rh3tXg3Nnh3tzj393k39ni4N7k4N7n5uXDyOfLz+zAxu3CyOzEyezKzeDJ3eLM3uvP0u3P0ePf2+7R0u7Q1u/U0+7U1ezc0+7a2e/d2+3f3vbFzvLOwfHN0PPQw/TUx/LWyvLYzPDQ1fPe0ubc4vve4uHh3+nh3+/h2u/h3vHj2vHl3uHm4eTn4uDp5ebo4+Xo5ODq6ebq6OTv6+nl4+/j4O7l4e7n5ujp4+np5Ozq5e7s5urt6O7t6Orw6u7x6u3x7vPj5PDl4fDo4vDq5fDt5vDu6PDv7PTv6fDx6vHx7fH17fXw6fXy7fb07/bz8fT18vn38vr39fr48/r59Pr6+P3++//+/gAAALNTSk0AAAEAdFJOU////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wBT9wclAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAAGHRFWHRTb2Z0d2FyZQBwYWludC5uZXQgNC4wLjlsM35OAAAFNElEQVRIS1VVCZxVUxi/9l0UIUT2bMnY43bVI2c0Y01kSWIaS0j2JEtkN41piomZrPPKQ2aQ7JKImOZlnm2493TJzDufuU1Zi+v/fee+mZ//793vnPOd7zvfes5zDBEZkBBjAcIjb+Iiotqgdhat8AMK0vl7/R9N7GiWtshqIr+EZ5gYKibyUsXY1l/mfFpssvUlWQ0FkU3gy4+RB/+kwYcO8pRSnldcOU/r2lAHARSwk2ORgEmOdC1EsuRiYSqMPwwroMIraZk5V2fYJQjCKfZrRmh3gSAZi2i4b7wSylWu8EqZwS59JkFUaW96JbNSc+CEUmt4rorwuZmWdDaoc+uZETuQlTCU5xYzR7muUnVUVo+BcRhre/VwUpasgJwhH7JkYIYA0sNxhmCwUK+lw6vCKBZehw01dEiyw4Q4aE0Z4ahDhKaFQsGnJ2BgqKoTBsNjFy0SlW6whRAZTdm8DBJmkBZhDi1j4xJQBk6ywrWUTymaCxac8lROcdauRGzQSNtA7EHUYhXyEwhhgjFUqRuO+rauhF1awFpzCsmwUbjIFBR0u1bKtyGpulW/H/cVVzkyGaIWTIR9pFAV6GK2gPMXMX8gPk9zzxXgI1kimcAltEYr+cjio1imlKpEa9rOipLm+p+CZ6Bw//qd1/f/O+GwMxbSLpyoZEcwkyh2jIks+3hmdd2jWUw4scxNysnHxU7nSspTRcJjCZGL3IsjsYJMMg5mwgx7gaIOLBFCogAgBBoNa9w+DE6I+Bs7FTgwwrJbHjWDgpYo2KwtBTcYEDuloC9geQw+k2RGnPGpTaOlq7AS+YICUz4DZVaX2TiNDhuYfTtY4geLi0IoCm3XccwM9hx4kU28StQEljDs3ZEpFGA+8dKzLmV9ymIwF5FOGn2GdJM8KLHDJbXyiYVMG9MRTLiXGGg2QKaxM3khPSRrwM9zEIardxU2w/EiA0gOeYKHzDR0V7/QGV3lKIA9ktrDArxO3gdA+k6SKoBiVwcm7NjZb9+Hnztg282TuHVZ9LOISFNt9MgyCetZVczSxnyDbl17Penq6mqpg1IhRaEO2aVLUO4/r17H8tTv6f13h71dduvZI3Y+uMdWksNSauLovJw5hsqiPIUvt0ku7/iBeUR3sksmomYWtRbAjbiLfv2lX9/V7LVG4uYnUZXhQ7f2OPCZEx9wrYWTcePEQqPEML8pl4mMdr/jlXlvHiRiJ2+MSTFY4TTSYStuvz2R/JXh+PPeGXm055J+3/YDWuNu3R3DArPutyg0ZgykMVDU9Ndm22+wYalr2rse48CnsTIFcMn73vfhNrktx1EUcZnPv6ah3Yy5cDTRdBEoGoBeah71dqFyjZDJLkWk3N3v4uuktssjWpzciMPxQeHj8nMKzcGuB0tAyzFhdCKOYWv4HwOQVwIxLG99a6uvH3sJCyO3h+k4EZ+G7+xj5f4XXksoaGrdMRzSc8ARA8+cdOuk2x6fffNNt5x+Ro1omPlrT/CQDlcNlpx4NBIWXhkx7Y3Zp3ofNR7Uv89Om/beW0TLIynHv3vs1VsOFpSWSXvfuPUf9BrRFyxgXdHoKJnQFegPOovvzz59ntrzye240ig8UQ3lDI2VqwagrKIQcLXNFL3wglN2OHdBQ6/vI3kENDVBwRb3k1XtczFbjWn4EzMYi7CF3129+JTYuRSdrGuS92g5dpqn6qXoJQs5xmL8p+Wt4hLbt0mx2OLNZR2bbPy8zJNQGFM/f/CfXZekRYFjGCWjIJpM+WiCzGBPWHhoyaAsjRT/B2Gy5yzYJkwUAAAAAElFTkSuQmCC')\";\r\n let aerialCss = \"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAMAUExURQALBgIMDQgOBwQOEQcTBwUSCwoVDAwdBw8ZDgUREwYUGAYZFQYZGgkTFQoVGQsZFAwZHBMeDhIbFBEbHAwWIA4bIREcIQ4hCQwjFw4lHBgkDB8sDxUiExIiGhAoGxohFRshGRorHQcrKQsiIQwmKgooJA0pKQ81Jw8yLRMiIxImKxUrJREuKhslJB0rIhooKRUuMBMyLhkwJhozKh48LxUzMRM9MBwzMiUvFCMtGiMwEiwzFCgzHDI+GSIsISkvJSQxIiM2LiY5Jic+Lyk0JSo0Ky49JSs9KSU1NSM7NCs2NS8+NDM1JzU9Ljg7IDJCHS1DLSNAMitCMSxIOjREITZLIDZJKDlFIjpFKztKJT1LKzJBMzpHMD1JMjpKPD1RKjlQNC1DQj5QQEA8MEJGJkBKJUJNK0lLLEJMMkVMPEpONENSLUdZL0pTLkpaLkRUMkRSPEVZMktUM0pVOklZMklZNEpcNU1ZMk1ZNUxfMk5dNkxcOVFUM1RUOFJbNVFZOVNYPVFdOVJdPFVaOVVaPVVdOlVdPVpaNlpdO0phN01hOlBiN1NhPFNoP1piPWFbPmRjPENOQEtPSURTQkJVS0xVQk1VSkxbQkxcS0heUVFXRFRcQlJfTFxeQlpeS05lQk1kSFRjQVRjSlZpQ1tkQlxlSlxpRF1rSVVnUVtlU1llXF9tU1xoXlxwSl9ramRfQmJlQ2FhSWFlSWFlTmVlSWRmTGFoQWFpRWFsRmVpRWVtRmNsSmtlRGpqRmpsS2BmWGRsUmFrW2ptUmZyR2RxTGpxTWVyU2RyW2d5V2tzUmt0WW15VG15WXFuTHNtVnFxTXF4T3h0TnJzUnJ1XHJ4VXN6Wnp0VHx1W315VXp8XGR0YGx0YHVzZXJ0aHR9ZXV+aHl9YHOCXXqBXXeCYHyCY3iEaHyIYn+JaXqKcYB5WIN6Y4SCXoCDZIGEaYCIZoOLa4iCaImJbIOOdYuMco6OeIuVcpOKbZKPc5aQb5eXe5ufg6KjhAAAAAAAAAAAAAAAAOGCeQgAAAEAdFJOU////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wBT9wclAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAAGHRFWHRTb2Z0d2FyZQBwYWludC5uZXQgNC4wLjlsM35OAAAH80lEQVRISy1WbXQUVxm+6wqnk3Zmpxl2FG2EGg92C8GDlWptVTwa+uF3xcKmDfFzCUzDsJNsunXipglJXJbrtJWmwZNSnHD3jojRgUIm2UumIZ0JZ7JByrALbMWW0IBW8aRa4+cf76TeX3Nm3uc+z/s+7/vugl4r/aMTrT4e1pPTqnnmJNn5AyUzRnrRle/qE33dsvrBtAQVoxtpZNK3zSzYjUjviWO2Ag+R77dl7W36n/1Ep9KBPG/S+Py0PkjU/gPKQGqwTHryiWYFAXSvMairsio7SjyNsnCzh0qKImV9/7mhfHQZx2yN1O+7rXUm33MUPaboOkAJHaoIdXfJj2xWeyD8jMFEXkvIu5qzpU988gWB5zl+GS+sFe55trEVPdWZB2miq8bBVkNFO2R0qnrfkiXhcJhtDNXE6tbW97/s9O9/7ZfVhx86/CwrROpfvvxboMqeLsuqPr1j44qEwDNMOBximUiYoU8sw7BC/a7T72uEnyJDlGxZ9KcglZRyuqqrv/tSZErgOI4NgRBTIw9EmHAoFGZZnp6aGaJ2GTxfxYs8kKVUQh7WB5hQeC3LsUxoxVKW14l3BX2WcoUYPiZyLLe8teZ+iuT4GGhvV5KpKWkpyzxEr2MZgQ1xdRjfRBoH+2k6lIHjKTHPPBo8CSJISqqq4wGGOcWylIGlgvgNX1Gd8vF5f+IUIwb30ng+Gg2QfBRIMvy0jG8SVkYo4N0zvUXVRztbJ/L6xL7lUZEXBEHkuZqlS6gEAUgKJurnhFtfpACOYd8b/hVbJPqwi44a6KA0sPVjIi/SIyxb3u8KlAJ0S8jRVgrlW+nVHPdrhiXCxu42d86ByksDc80P3MkJFBFQ8Ho1lQegpWJRWFGsDsRwwv7pIyvuQW0ZkrX6NDVFbqcvaQI8vbyqzt5AARrsbKx5yhQEGs+wPO56bOK+0rcwMrOKkpUbZWYxV04UeZZv/cBKFhRL6Qdv9y4LfEDA7/thg7tTmv1a5/GnO0wl0dQg80wglZaHUmxRvjwAHOfyN0mxrpqLUpcjsK3NHYMo4R1o6eho2ZyIb2FoeOC3ILK8kZ2HQMOuWywGXUkJBCeTbYFS0+ym1h2/6UgmvnrvKYZZtIEXGf75C2cIAp5LHNd71x7uPoTjakrWH9e3KFpaatjUvJUysFw0KrLMYMW2lTg4PeUQx6kJEALvxXEmCdVyPLHtCSjBhc01XCjIgafxou+PE6KC1dhxSCwoBCc+N4P3btM84pmdSSjJnjO/nvY4LQfVyz5/I+v6IwjUOMjy+MVCxIbKupTJaEktp7cTKU42Pvjh2m/8cSpC6aPsaX/MHSuUQLVVsIa4RUTs/r/BVAexNdjdnsNG7j/rV93xheLMzKnFrPeTEQchCyCcKb25aAIn7lrAertrZwyNXM8N6zfWrFo3d2SmOEcF83x/r+OOFgrAHYWF7cELjhV7UQo/6WAIUVl9JFl8a//HZ66VpbY3I9QKZqPru77lA+iOWAIr0hKxHCmmr0othSyeIl5y3qt4xT8gSNrKEZozs8Els67rgsLOZ+ygzwMfbtNhobfgzpEyGnz7htPtzUi6PuOoj7K0WF/MXiUFxwGajRD1hjYXHXI9p406qOyinp5/tiWcDHY0jIu4n64Qfq7kliB2gemag9QbOia0PbbDMbd43SHuvxFxrAocxins7MX5Kqbe1QixKBxoV4//PfAgGCu+Rlm4SvZizyDH+0reDHp92iO0BuX3bCfItl0PEwvYLqpwXG2MHlGsQ4S8pMJZv1JGmHiEoHQDdOjwmVlEP/nE9ADKjI8xLI0OOGITfy0SbeG/C2jKUDGSlDhM9I3IpK9iup6XnbRNC7yqueNsJCCIiXzdQhnaGN+46umnEdy5U5UbUJ48LFM9GkJo8BdDOiAZ7ZIQbKhYLMqvhU2wmNxjEAsS2AI7y4nWF64duePbk7YV3zvAVLEMD9AxJRNa3KDUibV7DjnkuprMEYjScFNcaR2ceP2u9R/5k1052Ryme5phAFRswlHjAudiP4dOy7CaxLgdJh9vUlU1702/+LPa1U9fvPi9qlA4XEUBJc3dFlpsR457IDl1iPqLp7o81NQgyV19iYU38uTiv975Pd3SiwQcsGjx+v4/6fl5T7EOOMTCtpbKxfemsQq/3olQZcminADAAI0cuGLHaHOFxbuGvRk/Z9u7CULqoVR6NE0yx1avj30oRhc/jWUoIALGxkz0dg1Dl9iaI7LqOOXKsXJFwjiuEAi70Jra2nW1PL08zLBhZsMABpW5csI7TPfew9ipFKcn5k1i+1KyCWKjC3W/8dF1d666+RaabBVTFTHacjoojBNDh0NDxk+IPTlwfqJkWpbnpFHXIbLbmpxEQ3ff/Z0g/mauXsoln9wDRjy/NHsQFw3P6vWuTJ43/+FZrk2cvAFRipCKdfD9y2+pjRj78s0KdCUDKJvdV91ChngV38T20TM+gghjpJaPlpFr2xbEz5g4A/NGt5rNwdwmYGeeeMXBSLHHUIc+6RsojRH9VTUm3/mLf/64b470XvoxoTKhlMBQ2jMEzo2PjxdGMppmn1RM24bWFJqaQv4BcuJa2Sam7Zokq1ldCsz06NCBHrhwqVQYpfFj42NZexz1EW9SR/kT58nEeQKJb2fPXjjp0u/YUkwHEgLeOnf2nOuf1TRTM02CLKLTPy60/x1CCztqn7Ev+BdsC3m+30decQvW/wBNTwU+CfUQAQAAAABJRU5ErkJggg==')\";\r\n\r\n if (options.baseSwitcher) {\r\n // let switcherContent = '<div class=\"base-map-switcher\" title=\"Toggle Base Layer\" style=\"';\r\n // switcherContent += 'position: absolute; top: 70px; left: 4px; border: solid black 1px; ';\r\n // switcherContent += `height: 50px; width: 50px; z-index: 10; border-radius: 4px; background: ${aerialCss};`;\r\n // switcherContent += '\"></div>';\r\n // $mapDiv.append(switcherContent);\r\n //\r\n // $mapDiv.find('.base-map-switcher').click(function() {\r\n // \"use strict\";\r\n // osmLayer.setVisible(!osmLayer.getVisible());\r\n // satLayer.setVisible(!satLayer.getVisible());\r\n //\r\n // if (osmLayer.getVisible()){\r\n // $(this).css('background', aerialCss);\r\n // } else {\r\n // $(this).css('background', osmCss);\r\n // }\r\n // });\r\n }\r\n\r\n if (options.zoom < 0 || options.zoom > 28) {\r\n throw 'zoom out of range';\r\n }\r\n\r\n if (options.center.x >= -180 && options.center.x <= 180 && options.center.y >= -90 && options.center.y <= 90) {\r\n let p = new ol.geom.Point([options.center.x, options.center.y]);\r\n new ol.proj.Projection({code: \"EPSG:4326\"});\r\n\r\n p.transform(new ol.proj.Projection({code: \"EPSG:4326\"}), new ol.proj.Projection({code: \"EPSG:3857\"}));\r\n let coordinates = p.getCoordinates();\r\n options.center.x = coordinates[0];\r\n options.center.y = coordinates[1];\r\n }\r\n\r\n const controls = ol.control.defaults({\r\n attributionOptions: {collapsible: false}\r\n }\r\n );\r\n\r\n const view = new ol.View({\r\n center: [options.center.x, options.center.y],\r\n zoom: options.zoom,\r\n minZoom: options.minZoom,\r\n maxZoom: options.maxZoom\r\n });\r\n\r\n let map = new ol.Map({\r\n layers: [osmLayer],\r\n target: options.divId,\r\n controls: controls,\r\n view: view\r\n });\r\n\r\n if (options.fullScreen) {\r\n map.addControl(new ol.control.FullScreen({}));\r\n }\r\n\r\n if (options.addGeocode){\r\n new Geocode(document.getElementById(options.divId) as HTMLDivElement, map);\r\n }\r\n\r\n return map;\r\n}\r\n\r\nnm.quickMapBase = quickMapBase;\r\nexport default quickMapBase;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/quickMapBase.ts","module.exports = ol;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"ol\"\n// module id = 2\n// module chunks = 2 4 5 6 7","/**\r\n * Created by gavorhes on 11/3/2015.\r\n */\r\n\r\nimport provide from './provide';\r\nlet nm = provide('util');\r\n\r\n\r\n/**\r\n * guids are used to uniquely identify groups and features\r\n * @returns {string} a new guid\r\n */\r\nexport function makeGuid() {\r\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'\r\n .replace(/[xy]/g, function (c) {\r\n let r = Math.random() * 16 | 0, v = c == 'x' ? r : r & 0x3 | 0x8;\r\n\r\n return v.toString(16);\r\n });\r\n\r\n}\r\nnm.makeGuid = makeGuid;\r\nexport default makeGuid;\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/util/makeGuid.ts","/**\r\n * Created by gavorhes on 12/8/2015.\r\n */\r\nimport provide from '../util/provide';\r\nimport ol = require('custom-ol');\r\nconst nm = provide('olHelpers');\r\n\r\n\r\n\r\n/**\r\n * base interaction\r\n */\r\nexport class MapInteractionBase {\r\n _map: ol.Map;\r\n _initialized: boolean;\r\n _subtype: string;\r\n\r\n /**\r\n * map interaction base\r\n * @param subtype - the interaction subtype\r\n */\r\n constructor(subtype: string) {\r\n this._map = null;\r\n this._initialized = false;\r\n this._subtype = subtype;\r\n }\r\n\r\n /**\r\n * base initializer, returns true for already initialized\r\n * @param theMap - the ol Map\r\n * @returns true for already initialized\r\n */\r\n init(theMap: ol.Map){\r\n if (!this._initialized){\r\n this._map = theMap;\r\n this._initialized = true;\r\n }\r\n }\r\n\r\n /**\r\n * get reference to the ol map object\r\n * @returns {ol.Map} the map object\r\n */\r\n get map() {\r\n return this._map;\r\n }\r\n\r\n /**\r\n * get if is initialized\r\n * @returns {boolean} is initialized\r\n */\r\n get initialized() {\r\n return this._initialized;\r\n }\r\n\r\n /**\r\n * Check the initialization status and throw exception if not valid yet\r\n * @protected\r\n */\r\n _checkInit() {\r\n if (!this.initialized) {\r\n let msg = `${this._subtype} object not initialized`;\r\n alert(msg);\r\n console.log(msg);\r\n throw msg;\r\n }\r\n }\r\n\r\n /**\r\n * Check the initialization status and throw exception if not valid yet\r\n */\r\n checkInit(){\r\n this._checkInit();\r\n }\r\n}\r\n\r\nnm.MapInteractionBase = MapInteractionBase;\r\nexport default MapInteractionBase;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/mapInteractionBase.ts","/**\r\n * Created by gavorhes on 11/3/2015.\r\n */\r\n\r\nimport MapPopupCls from './mapPopupCls';\r\n\r\n/**\r\n * The single popup object catch is that it is common to multimap pages\r\n * @type {MapPopupCls}\r\n */\r\nexport const mapPopup = new MapPopupCls() as MapPopupCls;\r\nexport default mapPopup;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/mapPopup.ts","/**\r\n * Created by gavorhes on 12/15/2015.\r\n */\r\n\r\nimport {quickMapOptions, quickMapBase} from './quickMapBase';\r\nimport provide from '../util/provide';\r\nimport mapMove from './mapMove';\r\nimport mapPopup from './mapPopup';\r\nimport ol = require('custom-ol');\r\nlet nm = provide('olHelpers');\r\n\r\nexport {quickMapOptions} from './quickMapBase';\r\n\r\n/**\r\n * Sets up a map with some default parameters and initializes\r\n * mapMove and mapPopup\r\n *\r\n * @param {object} [options={}] config options\r\n * @param {string} [options.divId=map] map div id\r\n * @param {object} [options.center={}] center config object\r\n * @param {number} [options.center.x=-10018378] center x, web mercator x or lon\r\n * @param {number} [options.center.y=5574910] center y, web mercator y or lat\r\n * @param {number} [options.zoom=7] zoom level\r\n * @param {number} [options.minZoom=undefined] min zoom\r\n * @param {number} [options.maxZoom=undefined] max zoom\r\n * @param {boolean} [options.baseSwitcher=true] if add base map switcher\r\n * @param {boolean} [options.fullScreen=false] if add base map switcher\r\n * @returns {ol.Map} the ol map\r\n */\r\nexport function quickMap(options : quickMapOptions = {}): ol.Map {\r\n let m = quickMapBase(options);\r\n mapMove.init(m);\r\n mapPopup.init(m);\r\n return m;\r\n}\r\n\r\n\r\nnm.quickMap = quickMap;\r\nexport default quickMap;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/quickMap.ts","import ol = require('custom-ol');\r\nimport {LayerBaseVector} from \"../layers/LayerBaseVector\";\r\nimport {fitToMap} from '../olHelpers/extentUtil';\r\nimport {layers} from \"../\";\r\n\r\ndeclare const glob: Object;\r\n\r\nexport interface iMapToBase64Options {\r\n resize?: { width: number, height: number };\r\n layers?: LayerBaseVector[] | LayerBaseVector[];\r\n delay?: number;\r\n}\r\n\r\n\r\n/**\r\n *\r\n * @param {ol.Map} map\r\n * @param {(imgData) => string} callback\r\n * @param {iMapToBase64Options} options\r\n * @returns {any}\r\n */\r\nexport function mapToBase64(map: ol.Map, callback: (imgData: string) => any, options?: iMapToBase64Options): any {\r\n options = options || {};\r\n\r\n if (typeof options.delay === 'number') {\r\n //pass\r\n } else if (options.layers || options.resize) {\r\n options.delay = 2000;\r\n } else {\r\n options.delay = 1;\r\n }\r\n\r\n let mapTarget: HTMLDivElement = map.getTargetElement() as HTMLDivElement;\r\n\r\n let originalHeight = mapTarget.style.height;\r\n let originalWidth = mapTarget.style.width;\r\n let originalPosition = mapTarget.style.position;\r\n let originalCenter = map.getView().getCenter();\r\n let originalZoom = map.getView().getZoom();\r\n\r\n // let mapTimeout = 1;\r\n\r\n if (options.resize) {\r\n mapTarget.style.height = `${options.resize.height}px`;\r\n mapTarget.style.width = `${options.resize.width}px`;\r\n mapTarget.style.position = 'absolute';\r\n map.updateSize();\r\n }\r\n\r\n map.once('postrender', () => {\r\n\r\n if (options.layers) {\r\n fitToMap(options.layers, map);\r\n }\r\n\r\n setTimeout(() => {\r\n map.once('postcompose', (event) => {\r\n try {\r\n let canvas: HTMLCanvasElement = event['context'].canvas;\r\n let imgData = canvas.toDataURL('image/png');\r\n callback(imgData);\r\n }\r\n catch (ex) {\r\n // reportParams['imgData'] = null;\r\n } finally {\r\n if (options.resize) {\r\n mapTarget.style.height = originalHeight;\r\n mapTarget.style.width = originalWidth;\r\n mapTarget.style.position = originalPosition;\r\n\r\n map.updateSize();\r\n map.getView().setCenter(originalCenter);\r\n map.getView().setZoom(originalZoom);\r\n }\r\n\r\n if (options.layers) {\r\n fitToMap(options.layers, map);\r\n }\r\n }\r\n });\r\n map.renderSync();\r\n }, options.delay);\r\n });\r\n\r\n map.updateSize();\r\n\r\n}\r\n\r\nexport default mapToBase64;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/mapToBase64.ts","/**\r\n * Created by gavorhes on 7/18/2016.\r\n */\r\nimport provide from '../util/provide';\r\nimport ol = require('custom-ol');\r\nimport {LayerBaseVector} from \"../layers/LayerBaseVector\";\r\n\r\n\r\nconst nm = provide('util');\r\n\r\n/**\r\n *\r\n * @param {Array<LayerBaseVector>|Array<ol.layer.Vector>|LayerBaseVector|ol.layer.Vector|*} layers - array of layers or single\r\n * @returns {ol.Extent|Array<number>|*} - collective extent\r\n */\r\nexport function calculateExtent(layers: ol.layer.Vector[]|LayerBaseVector[]): ol.Extent|Array<number>| ol.Extent| number[] {\r\n \"use strict\";\r\n\r\n let hasExtent = false;\r\n\r\n let minX = 10E100;\r\n let minY = 10E100;\r\n let maxX = -10E100;\r\n let maxY = -10E100;\r\n\r\n for (let lyr of layers) {\r\n\r\n let olLayer: ol.layer.Vector = (lyr as LayerBaseVector).olLayer || lyr as ol.layer.Vector;\r\n \r\n \r\n if (olLayer.getSource().getFeatures().length > 0) {\r\n hasExtent = true;\r\n let ext = olLayer.getSource().getExtent();\r\n minX = ext[0] < minX ? ext[0] : minX;\r\n minY = ext[1] < minY ? ext[1] : minY;\r\n maxX = ext[2] > maxX ? ext[2] : maxX;\r\n maxY = ext[3] > maxY ? ext[3] : maxY;\r\n }\r\n }\r\n\r\n if (hasExtent) {\r\n return [minX, minY, maxX, maxY];\r\n } else {\r\n return undefined;\r\n }\r\n}\r\n\r\nnm.calculateExtent = calculateExtent;\r\n \r\n\r\n/**\r\n * given one or an array of layers, fit to the map\r\n * @param layers - array of layers or single\r\n * @param mp - the map to fit\r\n * @param [zoomOut=undefined] - levels to zoom out after fit\r\n */\r\nexport function fitToMap(layers: ol.layer.Vector[]|LayerBaseVector[], mp: ol.Map, zoomOut?: number){\r\n \"use strict\";\r\n\r\n let ext = calculateExtent(layers);\r\n \r\n if (typeof ext == 'undefined'){\r\n return;\r\n }\r\n \r\n mp.getView().fit(ext as ol.Extent, mp.getSize());\r\n \r\n if (typeof zoomOut == 'number'){\r\n mp.getView().setZoom(mp.getView().getZoom() - zoomOut);\r\n }\r\n}\r\n\r\nnm.calculateExtent = calculateExtent;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/extentUtil.ts","/**\r\n * Created by gavorhes on 11/3/2015.\r\n */\r\n\r\nimport MapMoveCls from './mapMoveCls';\r\n\r\n/**\r\n * The single map move object catch is that it is common to multimap pages\r\n * @type {MapMoveCls}\r\n */\r\n\r\nexport const mapMove = new MapMoveCls();\r\nexport default mapMove;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/mapMove.ts","import ItsLayerCollection from '../../collections/ItsLayerCollection';\r\nimport LayerLegend from '../../collections/LayerLegend';\r\nimport quickMap from '../../olHelpers/quickMap';\r\nimport {mapToBase64} from '../../olHelpers/mapToBase64';\r\nlet map = quickMap({addGeocode: true});\r\n\r\nwindow['map'] = map;\r\n\r\nfunction callback(d: string){\r\n console.log(d);\r\n}\r\n\r\nsetTimeout(() => {\r\n mapToBase64(map, callback, {delay: 1500});\r\n}, 2000);\r\n\r\n\r\nconsole.log('it works');\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/_tests/demos/geocode.ts","/**\r\n * Created by gavorhes on 10/3/2016.\r\n */\r\nimport ol = require('custom-ol');\r\n\r\n\r\nexport const proj4326 = new ol.proj.Projection({code: 'EPSG:4326'});\r\nexport const proj3857 = new ol.proj.Projection({code: 'EPSG:3857'});\r\nexport const proj3070 = new ol.proj.Projection({code: 'EPSG:3070'});\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/projections.ts","import provide from './provide';\r\nlet nm = provide('util.checkDefined');\r\n\r\n/**\r\n * check if the input is undefined or null\r\n * @param input - input pointer\r\n * @returns true undefined or null\r\n */\r\nexport function undefinedOrNull (input: any): boolean{\r\n \"use strict\";\r\n\r\n return (typeof input === 'undefined' || input === null);\r\n}\r\n\r\nnm.undefinedOrNull = undefinedOrNull;\r\n\r\n\r\n/**\r\n * check if the input is defined and not null\r\n * @param input - input pointer\r\n * @returns true defined and not null\r\n */\r\nexport function definedAndNotNull (input: any): boolean{\r\n \"use strict\";\r\n\r\n return !(undefinedOrNull(input));\r\n}\r\n\r\nnm.definedAndNotNull = definedAndNotNull;\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/util/checkDefined.ts"],"sourceRoot":""} \ No newline at end of file diff --git a/test/serve/js/itsMap.js b/test/serve/js/itsMap.js index 8e6c6cad93b5c0bb8dd83ab89fdfecb3a2da8f47..337bd54548a54c76d5e1eadcd7cd36d133a0b640 100644 --- a/test/serve/js/itsMap.js +++ b/test/serve/js/itsMap.js @@ -63,7 +63,7 @@ /******/ __webpack_require__.p = ""; /******/ /******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = 71); +/******/ return __webpack_require__(__webpack_require__.s = 73); /******/ }) /************************************************************************/ /******/ ([ @@ -146,25 +146,6 @@ exports.default = makeGuid; /* 4 */ /***/ (function(module, exports, __webpack_require__) { -"use strict"; -/** - * Created by gavorhes on 11/3/2015. - */ - -Object.defineProperty(exports, "__esModule", { value: true }); -var mapPopupCls_1 = __webpack_require__(24); -/** - * The single popup object catch is that it is common to multimap pages - * @type {MapPopupCls} - */ -exports.mapPopup = new mapPopupCls_1.default(); -exports.default = exports.mapPopup; - - -/***/ }), -/* 5 */ -/***/ (function(module, exports, __webpack_require__) { - "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); @@ -245,7 +226,7 @@ exports.default = MapInteractionBase; /***/ }), -/* 6 */ +/* 5 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -254,17 +235,17 @@ exports.default = MapInteractionBase; */ Object.defineProperty(exports, "__esModule", { value: true }); -var mapMoveCls_1 = __webpack_require__(23); +var mapPopupCls_1 = __webpack_require__(15); /** - * The single map move object catch is that it is common to multimap pages - * @type {MapMoveCls} + * The single popup object catch is that it is common to multimap pages + * @type {MapPopupCls} */ -exports.mapMove = new mapMoveCls_1.default(); -exports.default = exports.mapMove; +exports.mapPopup = new mapPopupCls_1.default(); +exports.default = exports.mapPopup; /***/ }), -/* 7 */ +/* 6 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -273,10 +254,10 @@ exports.default = exports.mapMove; */ Object.defineProperty(exports, "__esModule", { value: true }); -var quickMapBase_1 = __webpack_require__(25); +var quickMapBase_1 = __webpack_require__(16); var provide_1 = __webpack_require__(0); -var mapMove_1 = __webpack_require__(6); -var mapPopup_1 = __webpack_require__(4); +var mapMove_1 = __webpack_require__(7); +var mapPopup_1 = __webpack_require__(5); var nm = provide_1.default('olHelpers'); /** * Sets up a map with some default parameters and initializes @@ -306,6 +287,25 @@ nm.quickMap = quickMap; exports.default = quickMap; +/***/ }), +/* 7 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/** + * Created by gavorhes on 11/3/2015. + */ + +Object.defineProperty(exports, "__esModule", { value: true }); +var mapMoveCls_1 = __webpack_require__(14); +/** + * The single map move object catch is that it is common to multimap pages + * @type {MapMoveCls} + */ +exports.mapMove = new mapMoveCls_1.default(); +exports.default = exports.mapMove; + + /***/ }), /* 8 */ /***/ (function(module, exports, __webpack_require__) { @@ -323,9 +323,42 @@ exports.proj3070 = new ol.proj.Projection({ code: 'EPSG:3070' }); /***/ }), -/* 9 */, +/* 9 */ +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +var provide_1 = __webpack_require__(0); +var nm = provide_1.default('util.checkDefined'); +/** + * check if the input is undefined or null + * @param input - input pointer + * @returns true undefined or null + */ +function undefinedOrNull(input) { + "use strict"; + return (typeof input === 'undefined' || input === null); +} +exports.undefinedOrNull = undefinedOrNull; +nm.undefinedOrNull = undefinedOrNull; +/** + * check if the input is defined and not null + * @param input - input pointer + * @returns true defined and not null + */ +function definedAndNotNull(input) { + "use strict"; + return !(undefinedOrNull(input)); +} +exports.definedAndNotNull = definedAndNotNull; +nm.definedAndNotNull = definedAndNotNull; + + +/***/ }), /* 10 */, -/* 11 */ +/* 11 */, +/* 12 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -734,49 +767,7 @@ exports.default = LayerBase; /***/ }), -/* 12 */, -/* 13 */, -/* 14 */, -/* 15 */, -/* 16 */, -/* 17 */, -/* 18 */, -/* 19 */ -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -Object.defineProperty(exports, "__esModule", { value: true }); -var provide_1 = __webpack_require__(0); -var nm = provide_1.default('util.checkDefined'); -/** - * check if the input is undefined or null - * @param input - input pointer - * @returns true undefined or null - */ -function undefinedOrNull(input) { - "use strict"; - return (typeof input === 'undefined' || input === null); -} -exports.undefinedOrNull = undefinedOrNull; -nm.undefinedOrNull = undefinedOrNull; -/** - * check if the input is defined and not null - * @param input - input pointer - * @returns true defined and not null - */ -function definedAndNotNull(input) { - "use strict"; - return !(undefinedOrNull(input)); -} -exports.definedAndNotNull = definedAndNotNull; -nm.definedAndNotNull = definedAndNotNull; - - -/***/ }), -/* 20 */, -/* 21 */, -/* 22 */ +/* 13 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -862,7 +853,7 @@ exports.Geocode = Geocode; /***/ }), -/* 23 */ +/* 14 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -878,8 +869,8 @@ var __extends = (this && this.__extends) || (function () { }; })(); Object.defineProperty(exports, "__esModule", { value: true }); -var mapInteractionBase_1 = __webpack_require__(5); -var checkDefined = __webpack_require__(19); +var mapInteractionBase_1 = __webpack_require__(4); +var checkDefined = __webpack_require__(9); var provide_1 = __webpack_require__(0); var makeGuid_1 = __webpack_require__(3); var $ = __webpack_require__(1); @@ -1107,7 +1098,7 @@ exports.default = MapMoveCls; /***/ }), -/* 24 */ +/* 15 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -1126,7 +1117,7 @@ var __extends = (this && this.__extends) || (function () { }; })(); Object.defineProperty(exports, "__esModule", { value: true }); -var mapInteractionBase_1 = __webpack_require__(5); +var mapInteractionBase_1 = __webpack_require__(4); var provide_1 = __webpack_require__(0); var ol = __webpack_require__(2); var $ = __webpack_require__(1); @@ -1542,7 +1533,7 @@ exports.default = MapPopupCls; /***/ }), -/* 25 */ +/* 16 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -1554,7 +1545,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); var provide_1 = __webpack_require__(0); var ol = __webpack_require__(2); var $ = __webpack_require__(1); -var geocode_1 = __webpack_require__(22); +var geocode_1 = __webpack_require__(13); var nm = provide_1.default('olHelpers'); /** * Sets up a map with some default parameters and initializes @@ -1645,6 +1636,15 @@ exports.default = quickMapBase; /***/ }), +/* 17 */, +/* 18 */, +/* 19 */, +/* 20 */, +/* 21 */, +/* 22 */, +/* 23 */, +/* 24 */, +/* 25 */, /* 26 */ /***/ (function(module, exports, __webpack_require__) { @@ -1757,7 +1757,7 @@ nm.resolutionToZoom = resolutionToZoom; Object.defineProperty(exports, "__esModule", { value: true }); var provide_1 = __webpack_require__(0); var makeGuid_1 = __webpack_require__(3); -var mapMove_1 = __webpack_require__(6); +var mapMove_1 = __webpack_require__(7); var nm = provide_1.default('collections'); var $ = __webpack_require__(1); var LayerGroup = (function () { @@ -2060,8 +2060,8 @@ var __extends = (this && this.__extends) || (function () { }; })(); Object.defineProperty(exports, "__esModule", { value: true }); -var LayerBase_1 = __webpack_require__(11); -var mapMove_1 = __webpack_require__(6); +var LayerBase_1 = __webpack_require__(12); +var mapMove_1 = __webpack_require__(7); var provide_1 = __webpack_require__(0); var ol = __webpack_require__(2); var $ = __webpack_require__(1); @@ -2359,9 +2359,9 @@ exports.default = LayerBaseVector; */ Object.defineProperty(exports, "__esModule", { value: true }); -var colors = __webpack_require__(66); +var colors = __webpack_require__(68); var provide_1 = __webpack_require__(0); -var LayerItsInventory_1 = __webpack_require__(63); +var LayerItsInventory_1 = __webpack_require__(64); var nm = provide_1.default('collections'); var itsConfig = [ { @@ -2517,7 +2517,8 @@ exports.default = ItsLayerCollection; /* 58 */, /* 59 */, /* 60 */, -/* 61 */ +/* 61 */, +/* 62 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -2633,8 +2634,8 @@ exports.default = LayerBaseVectorGeoJson; /***/ }), -/* 62 */, -/* 63 */ +/* 63 */, +/* 64 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -2653,8 +2654,8 @@ var __extends = (this && this.__extends) || (function () { }; })(); Object.defineProperty(exports, "__esModule", { value: true }); -var LayerBaseVectorGeoJson_1 = __webpack_require__(61); -var mapPopup_1 = __webpack_require__(4); +var LayerBaseVectorGeoJson_1 = __webpack_require__(62); +var mapPopup_1 = __webpack_require__(5); var provide_1 = __webpack_require__(0); var ol = __webpack_require__(2); var $ = __webpack_require__(1); @@ -2933,9 +2934,10 @@ exports.default = LayerItsInventory; /***/ }), -/* 64 */, /* 65 */, -/* 66 */ +/* 66 */, +/* 67 */, +/* 68 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -2945,7 +2947,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); * Created by gavorhes on 11/3/2015. */ var provide_1 = __webpack_require__(0); -var chk = __webpack_require__(19); +var chk = __webpack_require__(9); var nm = provide_1.default('util.colors'); /** * helper function to convert to hex @@ -3108,11 +3110,11 @@ nm.makeBlueGreenRedGradientZScore = makeBlueGreenRedGradientZScore; /***/ }), -/* 67 */, -/* 68 */, /* 69 */, /* 70 */, -/* 71 */ +/* 71 */, +/* 72 */, +/* 73 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -3123,7 +3125,7 @@ nm.makeBlueGreenRedGradientZScore = makeBlueGreenRedGradientZScore; Object.defineProperty(exports, "__esModule", { value: true }); var ItsLayerCollection_1 = __webpack_require__(55); var LayerLegend_1 = __webpack_require__(46); -var quickMap_1 = __webpack_require__(7); +var quickMap_1 = __webpack_require__(6); var map = quickMap_1.default({ addGeocode: true }); window['map'] = map; var itsLayerCollection = new ItsLayerCollection_1.default(map); diff --git a/test/serve/js/itsMap.js.map b/test/serve/js/itsMap.js.map index 658a9784019570a43d0cba5bcb53d3d81ee3993d..38c786ecbdd507922eea804af64a0ee2368cdedf 100644 --- a/test/serve/js/itsMap.js.map +++ b/test/serve/js/itsMap.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap b7d91eb15b0b6dcf7ee0?08c4****","webpack:///./src/util/provide.ts?5c82**","webpack:///external \"$\"?57aa**","webpack:///external \"ol\"?81ed","webpack:///./src/util/makeGuid.ts?e80e**","webpack:///./src/olHelpers/mapPopup.ts?5d6c","webpack:///./src/olHelpers/mapInteractionBase.ts?f419","webpack:///./src/olHelpers/mapMove.ts?6a2b","webpack:///./src/olHelpers/quickMap.ts?1069","webpack:///./src/olHelpers/projections.ts?804b","webpack:///./src/layers/LayerBase.ts?bf94","webpack:///./src/util/checkDefined.ts?bcd7","webpack:///./src/olHelpers/geocode.ts?5a2f","webpack:///./src/olHelpers/mapMoveCls.ts?cd45","webpack:///./src/olHelpers/mapPopupCls.ts?e3f7","webpack:///./src/olHelpers/quickMapBase.ts?fb65","webpack:///./src/olHelpers/zoomResolutionConvert.ts?dd4b","webpack:///./src/collections/LayerLegend.ts","webpack:///./src/layers/LayerBaseVector.ts?c105","webpack:///./src/collections/ItsLayerCollection.ts","webpack:///./src/layers/LayerBaseVectorGeoJson.ts","webpack:///./src/layers/LayerItsInventory.ts","webpack:///./src/util/colors.ts","webpack:///./src/_tests/demos/itsMap.ts"],"names":[],"mappings":"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","file":"itsMap.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 71);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap b7d91eb15b0b6dcf7ee0","/**\r\n * Created by gavorhes on 12/10/2015.\r\n */\r\n\r\ndeclare const window: Window;\r\n/**\r\n * create a namespace on the gv object\r\n * @param {string} namespace to create\r\n * @returns {object} object representing the namespace\r\n */\r\nfunction provide(namespace: string){\r\n \"use strict\";\r\n if (typeof (<any>window).gv == 'undefined'){\r\n (<any>window).gv = {};\r\n }\r\n\r\n let parts = namespace.split('.');\r\n let nameSpace = (<any>window).gv;\r\n\r\n for (let i=0; i< parts.length; i++){\r\n let newObject = nameSpace[parts[i]];\r\n\r\n if (typeof newObject == 'undefined'){\r\n nameSpace[parts[i]] = {};\r\n }\r\n\r\n nameSpace = nameSpace[parts[i]];\r\n }\r\n\r\n return nameSpace;\r\n}\r\n\r\nprovide('util');\r\n(<any>window).gv.util.provide = provide;\r\n\r\nexport default provide;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/util/provide.ts","module.exports = $;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"$\"\n// module id = 1\n// module chunks = 0 1 2 4 5 6 7 8 9","module.exports = ol;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"ol\"\n// module id = 2\n// module chunks = 2 4 5 6","/**\r\n * Created by gavorhes on 11/3/2015.\r\n */\r\n\r\nimport provide from './provide';\r\nlet nm = provide('util');\r\n\r\n\r\n/**\r\n * guids are used to uniquely identify groups and features\r\n * @returns {string} a new guid\r\n */\r\nexport function makeGuid() {\r\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'\r\n .replace(/[xy]/g, function (c) {\r\n let r = Math.random() * 16 | 0, v = c == 'x' ? r : r & 0x3 | 0x8;\r\n\r\n return v.toString(16);\r\n });\r\n\r\n}\r\nnm.makeGuid = makeGuid;\r\nexport default makeGuid;\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/util/makeGuid.ts","/**\r\n * Created by gavorhes on 11/3/2015.\r\n */\r\n\r\nimport MapPopupCls from './mapPopupCls';\r\n\r\n/**\r\n * The single popup object catch is that it is common to multimap pages\r\n * @type {MapPopupCls}\r\n */\r\nexport const mapPopup = new MapPopupCls() as MapPopupCls;\r\nexport default mapPopup;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/mapPopup.ts","/**\r\n * Created by gavorhes on 12/8/2015.\r\n */\r\nimport provide from '../util/provide';\r\nimport ol = require('custom-ol');\r\nconst nm = provide('olHelpers');\r\n\r\n\r\n\r\n/**\r\n * base interaction\r\n */\r\nexport class MapInteractionBase {\r\n _map: ol.Map;\r\n _initialized: boolean;\r\n _subtype: string;\r\n\r\n /**\r\n * map interaction base\r\n * @param subtype - the interaction subtype\r\n */\r\n constructor(subtype: string) {\r\n this._map = null;\r\n this._initialized = false;\r\n this._subtype = subtype;\r\n }\r\n\r\n /**\r\n * base initializer, returns true for already initialized\r\n * @param theMap - the ol Map\r\n * @returns true for already initialized\r\n */\r\n init(theMap: ol.Map){\r\n if (!this._initialized){\r\n this._map = theMap;\r\n this._initialized = true;\r\n }\r\n }\r\n\r\n /**\r\n * get reference to the ol map object\r\n * @returns {ol.Map} the map object\r\n */\r\n get map() {\r\n return this._map;\r\n }\r\n\r\n /**\r\n * get if is initialized\r\n * @returns {boolean} is initialized\r\n */\r\n get initialized() {\r\n return this._initialized;\r\n }\r\n\r\n /**\r\n * Check the initialization status and throw exception if not valid yet\r\n * @protected\r\n */\r\n _checkInit() {\r\n if (!this.initialized) {\r\n let msg = `${this._subtype} object not initialized`;\r\n alert(msg);\r\n console.log(msg);\r\n throw msg;\r\n }\r\n }\r\n\r\n /**\r\n * Check the initialization status and throw exception if not valid yet\r\n */\r\n checkInit(){\r\n this._checkInit();\r\n }\r\n}\r\n\r\nnm.MapInteractionBase = MapInteractionBase;\r\nexport default MapInteractionBase;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/mapInteractionBase.ts","/**\r\n * Created by gavorhes on 11/3/2015.\r\n */\r\n\r\nimport MapMoveCls from './mapMoveCls';\r\n\r\n/**\r\n * The single map move object catch is that it is common to multimap pages\r\n * @type {MapMoveCls}\r\n */\r\n\r\nexport const mapMove = new MapMoveCls();\r\nexport default mapMove;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/mapMove.ts","/**\r\n * Created by gavorhes on 12/15/2015.\r\n */\r\n\r\nimport {quickMapOptions, quickMapBase} from './quickMapBase';\r\nimport provide from '../util/provide';\r\nimport mapMove from './mapMove';\r\nimport mapPopup from './mapPopup';\r\nimport ol = require('custom-ol');\r\nlet nm = provide('olHelpers');\r\n\r\nexport {quickMapOptions} from './quickMapBase';\r\n\r\n/**\r\n * Sets up a map with some default parameters and initializes\r\n * mapMove and mapPopup\r\n *\r\n * @param {object} [options={}] config options\r\n * @param {string} [options.divId=map] map div id\r\n * @param {object} [options.center={}] center config object\r\n * @param {number} [options.center.x=-10018378] center x, web mercator x or lon\r\n * @param {number} [options.center.y=5574910] center y, web mercator y or lat\r\n * @param {number} [options.zoom=7] zoom level\r\n * @param {number} [options.minZoom=undefined] min zoom\r\n * @param {number} [options.maxZoom=undefined] max zoom\r\n * @param {boolean} [options.baseSwitcher=true] if add base map switcher\r\n * @param {boolean} [options.fullScreen=false] if add base map switcher\r\n * @returns {ol.Map} the ol map\r\n */\r\nexport function quickMap(options : quickMapOptions = {}): ol.Map {\r\n let m = quickMapBase(options);\r\n mapMove.init(m);\r\n mapPopup.init(m);\r\n return m;\r\n}\r\n\r\n\r\nnm.quickMap = quickMap;\r\nexport default quickMap;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/quickMap.ts","/**\r\n * Created by gavorhes on 10/3/2016.\r\n */\r\nimport ol = require('custom-ol');\r\n\r\n\r\nexport const proj4326 = new ol.proj.Projection({code: 'EPSG:4326'});\r\nexport const proj3857 = new ol.proj.Projection({code: 'EPSG:3857'});\r\nexport const proj3070 = new ol.proj.Projection({code: 'EPSG:3070'});\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/projections.ts","import * as zoomResolutionConvert from '../olHelpers/zoomResolutionConvert';\r\nimport provide from '../util/provide';\r\nimport ol = require('custom-ol');\r\nimport makeGuid from '../util/makeGuid';\r\nimport $ = require('jquery');\r\n\r\nconst nm = provide('layers');\r\n\r\n\r\nexport interface LayerBaseOptions{\r\n id?: string;\r\n name?: string;\r\n opacity?: number;\r\n visible?: boolean;\r\n minZoom?: number;\r\n maxZoom?: number;\r\n params?: any;\r\n zIndex?: number;\r\n loadCallback?: Function;\r\n legendCollapse?: boolean;\r\n legendCheckbox?: boolean;\r\n legendContent?: string;\r\n}\r\n\r\n\r\n/**\r\n * The base layer class\r\n * @abstract\r\n */\r\nexport abstract class LayerBase {\r\n\r\n protected _legendCheckbox: boolean;\r\n protected _url: string;\r\n protected _opacity: number;\r\n protected _minZoom: number;\r\n protected _maxZoom: number;\r\n protected _visible: boolean;\r\n protected _loaded: boolean;\r\n protected _zIndex: number;\r\n protected _legendContent: string;\r\n protected _params: any;\r\n protected _id: string;\r\n protected _name: string;\r\n protected _source: ol.source.Source;\r\n protected _animate: boolean;\r\n protected _legendCollapse: boolean;\r\n protected _maxResolution: number;\r\n protected _minResolution: number;\r\n protected _$legendDiv: JQuery;\r\n loadCallback: Function;\r\n protected _olLayer: ol.layer.Layer;\r\n protected _applyCollapseCalled: boolean;\r\n\r\n\r\n\r\n /**\r\n * The base layer for all others\r\n * @param {string} url - url for source\r\n * @param {object} options - config\r\n * @param {string} [options.id=makeGuid()] - layer id\r\n * @param {string} [options.name=Unnamed Layer] - layer name\r\n * @param {number} [options.opacity=1] - opacity\r\n * @param {boolean} [options.visible=true] - default visible\r\n * @param {number} [options.minZoom=undefined] - min zoom level, 0 - 28\r\n * @param {number} [options.maxZoom=undefined] - max zoom level, 0 - 28\r\n * @param {object} [options.params={}] - the get parameters to include to retrieve the layer\r\n * @param {number} [options.zIndex=0] - the z index for the layer\r\n * @param {function} [options.loadCallback] - function to call on load, context this is the layer object\r\n * @param {boolean} [options.legendCollapse=false] - if the legend item should be initially collapsed\r\n * @param {boolean} [options.legendCheckbox=true] - if the legend item should have a checkbox for visibility\r\n * @param {boolean} [options.legendContent=undefined] - additional content to add to the legend\r\n */\r\n constructor(url: string, options: LayerBaseOptions = {}) {\r\n options = options || {} as LayerBaseOptions;\r\n\r\n if (typeof url !== 'string') {\r\n throw 'Invalid URL';\r\n }\r\n this._url = url;\r\n\r\n\r\n this._params = typeof options.params == 'object' ? options.params : {};\r\n this._legendCollapse = typeof options.legendCollapse == 'boolean' ? options.legendCollapse : false;\r\n this._legendCheckbox = typeof options.legendCheckbox == 'boolean' ? options.legendCheckbox : true;\r\n\r\n this.id = options.id || makeGuid();\r\n this._name = options.name || 'Unnamed Layer';\r\n this.animate = false;\r\n this._opacity = typeof options.opacity == 'number' ? options.opacity : 1;\r\n\r\n if (this._opacity > 1) {\r\n this._opacity = 1;\r\n } else if (this._opacity < 0) {\r\n this._opacity = 0;\r\n }\r\n\r\n this._visible = typeof options.visible === 'boolean' ? options.visible : true;\r\n\r\n this._source = undefined;\r\n\r\n /**\r\n *\r\n * @protected\r\n */\r\n this._olLayer = undefined;\r\n this._loaded = false;\r\n\r\n this._maxResolution = zoomResolutionConvert.zoomToResolution(options.minZoom);\r\n if (typeof this._maxResolution !== 'undefined') {\r\n this._maxResolution += 0.00001;\r\n }\r\n this._minResolution = zoomResolutionConvert.zoomToResolution(options.maxZoom);\r\n\r\n this._minZoom = typeof options.minZoom == 'number' ? options.minZoom : undefined;\r\n this._maxZoom = typeof options.maxZoom == 'number' ? options.maxZoom : undefined;\r\n this._zIndex = typeof options.zIndex == 'number' ? options.zIndex : 0;\r\n\r\n this.loadCallback = typeof options.loadCallback == 'function' ? options.loadCallback : function () {\r\n };\r\n\r\n\r\n this._legendContent = '';\r\n\r\n if (this._legendCheckbox) {\r\n this._legendContent += `<input type=\"checkbox\" ${this.visible ? 'checked' : ''} ` +\r\n `class=\"legend-check\" id=\"${this.id}-legend-layer-check\"><span></span>`;\r\n this._legendContent += `<label for=\"${this.id}-legend-layer-check\" class=\"legend-layer-name\">${this.name}</label>`;\r\n } else {\r\n this._legendContent += `<label class=\"legend-layer-name\">${this.name}</label>`;\r\n }\r\n\r\n this._$legendDiv = null;\r\n this._applyCollapseCalled = false;\r\n this._addLegendContent(typeof options.legendContent === 'string' ? options.legendContent : undefined);\r\n }\r\n\r\n /**\r\n * base load function, sets _loaded = true if it is not already\r\n * @protected\r\n * @returns {boolean} if already loaded\r\n */\r\n _load() {\r\n if (this.loaded == true) {\r\n return true;\r\n } else {\r\n this._loaded = true;\r\n\r\n return false;\r\n }\r\n }\r\n\r\n /**\r\n * Get the legend html, be sure to only add to the DOM once\r\n * @returns {string} html for layer wrapped in a div\r\n */\r\n getLegendDiv() {\r\n return `<div class=\"legend-layer-div\" id=\"${this.id}-legend-layer-div\">${this._legendContent}</div>`;\r\n }\r\n\r\n /**\r\n *\r\n * @param additionalContent - additional content to add to legend\r\n * @private\r\n */\r\n _addLegendContent(additionalContent='') {\r\n\r\n let addCollapse = additionalContent.indexOf('<ul>') > -1;\r\n\r\n if (addCollapse) {\r\n additionalContent = '<span class=\"legend-items-expander\" title=\"Expand/Collapse\">▼</span>' + additionalContent;\r\n }\r\n\r\n this._legendContent += additionalContent;\r\n\r\n this._$legendDiv = $(`#${this.id}-legend-layer-div`);\r\n\r\n if (this._$legendDiv.length > 0) {\r\n this._$legendDiv.append(additionalContent);\r\n this.applyCollapse();\r\n }\r\n }\r\n\r\n /**\r\n * add additional content to the legend\r\n * @param {string} [additionalContent=] - additonal content to add\r\n */\r\n addLegendContent(additionalContent: string) {\r\n this._addLegendContent(additionalContent);\r\n }\r\n\r\n applyCollapse(): void {\r\n if (this._applyCollapseCalled) {\r\n console.log('collapse already applied');\r\n\r\n return undefined;\r\n }\r\n\r\n this._$legendDiv = $(`#${this.id}-legend-layer-div`);\r\n\r\n if (this._$legendDiv.length > 0) {\r\n\r\n let $expander = this._$legendDiv.find('.legend-items-expander');\r\n\r\n if ($expander.length > 0) {\r\n this._applyCollapseCalled = true;\r\n\r\n $expander.click(function () {\r\n let $this = $(this);\r\n\r\n $this.siblings('ul').slideToggle();\r\n\r\n if ($this.hasClass('legend-layer-group-collapsed')) {\r\n $this.removeClass('legend-layer-group-collapsed');\r\n $this.html('▼');\r\n } else {\r\n $this.addClass('legend-layer-group-collapsed');\r\n $this.html('▶');\r\n }\r\n });\r\n\r\n if (this._legendCollapse) {\r\n $expander.trigger('click');\r\n }\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * trick to refresh the layer\r\n */\r\n refresh() {\r\n if (this.source) {\r\n this.source.refresh();\r\n }\r\n }\r\n\r\n get id(): string{\r\n return this._id;\r\n }\r\n\r\n set id(newId: string){\r\n this._id = newId;\r\n }\r\n\r\n get animate(): boolean{\r\n return this._animate;\r\n }\r\n\r\n set animate(animate: boolean){\r\n this._animate = animate;\r\n }\r\n\r\n /**\r\n * get the legend content\r\n * @type {string}\r\n */\r\n get legendContent(): string {\r\n return this._legendContent;\r\n }\r\n\r\n /**\r\n * set the legend content directly\r\n * @param {string} newVal - new content\r\n * @protected\r\n */\r\n set legendContent(newVal: string) {\r\n this._legendContent = newVal;\r\n }\r\n\r\n /**\r\n * get the map get params\r\n * @type {object}\r\n */\r\n get params(): {[s: string]: any} {\r\n return this._params;\r\n }\r\n\r\n /**\r\n * set the map get params\r\n * @param {object} newParams - new get params\r\n * @protected\r\n */\r\n set params(newParams: {[s: string]: any}) {\r\n this._params = newParams;\r\n }\r\n\r\n /**\r\n * get the minimum resolution\r\n * @type {number|*}\r\n */\r\n get minResolution(): number {\r\n return this._minResolution;\r\n }\r\n\r\n /**\r\n * get the maximum resolution\r\n * @type {number|*}\r\n */\r\n get maxResolution(): number {\r\n return this._maxResolution;\r\n }\r\n\r\n /**\r\n * get min zoom\r\n * @type {number|*}\r\n */\r\n get minZoom(): number {\r\n return this._minZoom;\r\n }\r\n\r\n /**\r\n * get max zoom\r\n * @type {number|*}\r\n */\r\n get maxZoom(): number {\r\n return this._maxZoom;\r\n }\r\n\r\n /**\r\n * get the url\r\n * @type {string}\r\n */\r\n get url(): string {\r\n return this._url;\r\n }\r\n\r\n /**\r\n * Get the layer visibility\r\n * @type {boolean}\r\n */\r\n get visible(): boolean {\r\n return this._visible;\r\n }\r\n\r\n /**\r\n * set the visibility\r\n * @param visibility\r\n */\r\n set visible(visibility: boolean) {\r\n this.setVisible(visibility);\r\n }\r\n\r\n protected setVisible(visibility: boolean) {\r\n this._visible = visibility;\r\n if (this.olLayer) {\r\n this.olLayer.setVisible(this._visible);\r\n if (visibility && !this._loaded) {\r\n this._load();\r\n }\r\n }\r\n }\r\n\r\n\r\n /**\r\n * Get the layer opacity\r\n * @type {number}\r\n */\r\n get opacity(): number {\r\n return this._opacity;\r\n }\r\n\r\n /**\r\n * Set the layer opacity\r\n * @param {number} opacity - layer opacity\r\n */\r\n set opacity(opacity: number) {\r\n this._opacity = opacity;\r\n if (this.olLayer) {\r\n this.olLayer.setOpacity(this._opacity);\r\n }\r\n }\r\n\r\n /**\r\n * Get the layer name\r\n * @type {string}\r\n */\r\n get name(): string {\r\n return this._name;\r\n }\r\n\r\n /**\r\n * set the layer name\r\n * @param {string} newName - the new name\r\n */\r\n set name(newName: string) {\r\n this._name = newName;\r\n }\r\n\r\n /**\r\n * Check if the layer is loaded\r\n * @type {boolean}\r\n */\r\n get loaded():boolean {\r\n return this._loaded;\r\n }\r\n\r\n /**\r\n * get the layer source\r\n * @type {*}\r\n */\r\n get source(): ol.source.Source {\r\n return this.getSource();\r\n }\r\n\r\n\r\n protected getSource(): ol.source.Source{\r\n return this._source;\r\n }\r\n\r\n /**\r\n * get the z index\r\n */\r\n get zIndex(): number {\r\n return this._zIndex;\r\n }\r\n\r\n /**\r\n * set the z index\r\n */\r\n set zIndex(newZ: number) {\r\n this._zIndex = newZ;\r\n }\r\n\r\n protected setZIndex(newZ: number){\r\n\r\n }\r\n\r\n /**\r\n * the the ol layer\r\n */\r\n get olLayer(): ol.layer.Layer {\r\n return this.getOlLayer();\r\n }\r\n\r\n protected getOlLayer(): ol.layer.Layer{\r\n return this._olLayer;\r\n }\r\n}\r\n\r\nnm.LayerBase = LayerBase;\r\nexport default LayerBase;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/layers/LayerBase.ts","import provide from './provide';\r\nlet nm = provide('util.checkDefined');\r\n\r\n/**\r\n * check if the input is undefined or null\r\n * @param input - input pointer\r\n * @returns true undefined or null\r\n */\r\nexport function undefinedOrNull (input: any): boolean{\r\n \"use strict\";\r\n\r\n return (typeof input === 'undefined' || input === null);\r\n}\r\n\r\nnm.undefinedOrNull = undefinedOrNull;\r\n\r\n\r\n/**\r\n * check if the input is defined and not null\r\n * @param input - input pointer\r\n * @returns true defined and not null\r\n */\r\nexport function definedAndNotNull (input: any): boolean{\r\n \"use strict\";\r\n\r\n return !(undefinedOrNull(input));\r\n}\r\n\r\nnm.definedAndNotNull = definedAndNotNull;\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/util/checkDefined.ts","import $ = require('jquery')\r\nimport {makeGuid} from '../util/makeGuid';\r\nimport ol = require('custom-ol');\r\nimport {proj3857, proj4326} from './projections';\r\n\r\n\r\nlet invalidClass = 'geocoder-invalid';\r\nlet geocoderLoadingClass = 'geocoder-loading';\r\n\r\n// let testAddress = '65 7th Street, Prairie du Sac, WI';\r\n\r\n\r\nexport class Geocode {\r\n private theButton: HTMLButtonElement;\r\n private theInput: HTMLInputElement;\r\n private map: ol.Map;\r\n private indicationLayer;\r\n\r\n constructor(mapDiv: HTMLDivElement, map: ol.Map) {\r\n let inputGuid = makeGuid();\r\n let buttonGuid = makeGuid();\r\n\r\n this.map = map;\r\n this.indicationLayer = new ol.layer.Vector({\r\n source: new ol.source.Vector(),\r\n style: new ol.style.Style({\r\n image: new ol.style.Circle({\r\n radius: 12,\r\n fill: new ol.style.Fill({color: 'rgba(255,0,0,0.5)'}),\r\n stroke: new ol.style.Stroke({color: 'red', width: 1})\r\n })\r\n })\r\n });\r\n this.map.addLayer(this.indicationLayer);\r\n\r\n $(mapDiv).append('<div class=\"geocoder-el\">' +\r\n `<input type=\"text\" id=\"${inputGuid}\">` +\r\n `<button id=\"${buttonGuid}\">Search</button>` +\r\n '</div>');\r\n\r\n this.theButton = document.getElementById(buttonGuid) as HTMLButtonElement;\r\n this.theInput = document.getElementById(inputGuid) as HTMLInputElement;\r\n\r\n this.reset();\r\n\r\n let $theButton = $(this.theButton);\r\n let $theInput = $(this.theInput);\r\n\r\n $theButton.click((evt) => {\r\n\r\n evt.preventDefault();\r\n\r\n $theButton.addClass(geocoderLoadingClass);\r\n this.theButton.disabled = true;\r\n this.indicationLayer.getSource().clear();\r\n\r\n $.get(\r\n `https://geocode.xyz/${this.theInput.value}?geoit=json`,\r\n {},\r\n (d) => {\r\n let lat = parseFloat(d['latt']);\r\n let lon = parseFloat(d['longt']);\r\n\r\n if ((lat == 0 && lon == 0) || d['error']) {\r\n $theInput.addClass(invalidClass);\r\n this.theInput.title = 'Specified Location Invalid';\r\n this.theButton.title = 'Specified Location Invalid';\r\n\r\n } else {\r\n let v = this.map.getView();\r\n let p = new ol.geom.Point([lon, lat]);\r\n let feat = new ol.Feature(p);\r\n this.indicationLayer.getSource().addFeature(feat);\r\n p.transform(proj4326, proj3857);\r\n\r\n v.setCenter(p.getCoordinates());\r\n v.setZoom(13);\r\n }\r\n\r\n $theButton.removeClass(geocoderLoadingClass);\r\n this.theButton.disabled = false;\r\n },\r\n 'json');\r\n });\r\n\r\n $(this.theInput).keyup((evt) => {\r\n evt.preventDefault();\r\n this.theButton.disabled = this.theInput.value.length == 0;\r\n $theInput.removeClass(invalidClass);\r\n this.theInput.title = '';\r\n this.theButton.title = '';\r\n\r\n if (!this.theButton.disabled && evt.keyCode == 13) {\r\n $theButton.click();\r\n }\r\n })\r\n }\r\n\r\n private reset() {\r\n this.theButton.disabled = true;\r\n this.theInput.value = '';\r\n }\r\n\r\n\r\n// https://geocode.xyz/65%2075h%20street%20prairie%20du%20sac%20wi?geoit=json\r\n\r\n// error\r\n// geocoder-invalid\r\n\r\n}\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/geocode.ts","import LayerBaseVector from \"../layers/LayerBaseVector\";\r\nimport MapInteractionBase from './mapInteractionBase';\r\nimport * as checkDefined from '../util/checkDefined';\r\nimport provide from '../util/provide';\r\nimport makeGuid from '../util/makeGuid';\r\nimport ol = require('custom-ol');\r\nimport $ = require('jquery');\r\nconst nm = provide('olHelpers');\r\n\r\n\r\nexport interface extentObject{\r\n minX: number;\r\n minY: number;\r\n maxX: number;\r\n maxY: number;\r\n}\r\n\r\nexport interface mapMoveCallbackFunction{\r\n /**\r\n *\r\n * @param extent extent as predefined object minX, minX, maxX, maxY\r\n * @param zoomLevel current zoom level\r\n * @param evtType the event type 'change:center', 'change:resolution'\r\n */\r\n (extent: extentObject, zoomLevel: number, evtType?: string): any\r\n}\r\n\r\n\r\n/**\r\n * assists with map move interactions, trigger callback functions\r\n * @augments MapInteractionBase\r\n */\r\nexport class MapMoveCls extends MapInteractionBase {\r\n _mapExtent: extentObject;\r\n _zoomLevel: number;\r\n _lookupLayer: {[s: string]: LayerBaseVector};\r\n _arrLayer: Array<LayerBaseVector>;\r\n _arrLyrTimeout: Array<number>;\r\n _mapMoveCallbackTimeout: Array<number>;\r\n _mapMoveCallbackDelays: Array<number>;\r\n _mapMoveCallbacksLookup: {[s: string]: mapMoveCallbackFunction};\r\n _mapMoveCallbackContext: Array<Object>;\r\n _mapMoveCallbacks: Array<mapMoveCallbackFunction>;\r\n _arrLyrRequest: Array<any>;\r\n\r\n /**\r\n * constructor called implicitly\r\n */\r\n constructor() {\r\n super('map move');\r\n this._arrLyrRequest = [];\r\n this._arrLyrTimeout = [];\r\n this._arrLayer = [];\r\n this._lookupLayer = {};\r\n\r\n this._mapMoveCallbacks = [];\r\n this._mapMoveCallbacksLookup = {};\r\n this._mapMoveCallbackDelays = [];\r\n this._mapMoveCallbackContext = [];\r\n this._mapMoveCallbackTimeout = [];\r\n\r\n this._mapExtent = undefined;\r\n this._zoomLevel = undefined;\r\n\r\n }\r\n\r\n /**\r\n * initialize the map move object\r\n * @param theMap - the ol map\r\n */\r\n init(theMap: ol.Map){\r\n super.init(theMap);\r\n\r\n this.map.getView().on(['change:center', 'change:resolution'], (e: {type: string}) =>{\r\n\r\n this._updateMapExtent();\r\n\r\n // trigger the layer updates\r\n for (let i = 0; i < this._arrLayer.length; i++) {\r\n this.triggerLyrLoad(this._arrLayer[i], i, e.type);\r\n }\r\n\r\n // trigger the map callbacks\r\n for (let i = 0; i < this._mapMoveCallbacks.length; i++) {\r\n this.triggerMoveCallback(i, e.type);\r\n }\r\n });\r\n }\r\n\r\n _updateMapExtent() {\r\n let theView = this.map.getView();\r\n this._zoomLevel = theView.getZoom();\r\n\r\n let extentArray = theView.calculateExtent(this.map.getSize());\r\n\r\n this._mapExtent = {\r\n minX: extentArray[0],\r\n minY: extentArray[1],\r\n maxX: extentArray[2],\r\n maxY: extentArray[3]\r\n };\r\n }\r\n\r\n /**\r\n * return the map extent\r\n */\r\n get mapExtent() {\r\n if (!this._mapExtent) {\r\n this._updateMapExtent();\r\n }\r\n\r\n return this._mapExtent;\r\n }\r\n\r\n /**\r\n * Trigger the layer load\r\n * @param lyr the layer being acted on\r\n * @param index index of the layer\r\n * @param eventType the event triggering the load, as 'change:center' or 'change:resolution'\r\n */\r\n triggerLyrLoad(lyr: LayerBaseVector, index?: number, eventType?: string) {\r\n\r\n if (checkDefined.undefinedOrNull(lyr) && checkDefined.undefinedOrNull(index)) {\r\n throw 'need to define lyr or index';\r\n } else if (checkDefined.definedAndNotNull(lyr) && checkDefined.undefinedOrNull(index)) {\r\n index = this._arrLayer.indexOf(lyr);\r\n } else if (checkDefined.undefinedOrNull(lyr) && checkDefined.definedAndNotNull(index)) {\r\n lyr = this._arrLayer[index];\r\n }\r\n\r\n // clear the timeout\r\n if (this._arrLyrTimeout[index] != null) {\r\n clearTimeout(this._arrLyrTimeout[index]);\r\n this._arrLyrTimeout[index] = null;\r\n }\r\n\r\n // abort if necessary and clear the request\r\n if (this._arrLyrRequest[index] != null && this._arrLyrRequest[index] != 4) {\r\n this._arrLyrRequest[index].abort();\r\n this._arrLyrRequest[index] = null;\r\n }\r\n\r\n // dummy callback used if before load returns false\r\n let callbackFunc = function () {};\r\n\r\n if (lyr.mapMoveBefore(this._zoomLevel, eventType)) {\r\n lyr.mapMoveMakeGetParams(this._mapExtent, this._zoomLevel);\r\n\r\n let __this = this;\r\n\r\n callbackFunc = function () {\r\n function innerFunction(theLayer: LayerBaseVector, theIndex: number) {\r\n let _innerThis = this;\r\n this._arrLyrRequest[theIndex] = $.get(\r\n theLayer.url,\r\n theLayer.mapMoveParams,\r\n function (d) {\r\n /**\r\n * @type {LayerBaseVector}\r\n */\r\n theLayer.mapMoveCallback(d);\r\n theLayer.loadCallback();\r\n }, 'json').fail(\r\n function (jqXHR) {\r\n if (jqXHR.statusText != 'abort') {\r\n console.log('failed');\r\n console.log(theLayer.url);\r\n console.log(theLayer.mapMoveParams);\r\n }\r\n }).always(\r\n function () {\r\n _innerThis._arrLyrTimeout[theIndex] = null;\r\n _innerThis._arrLyrRequest[theIndex] = null;\r\n });\r\n }\r\n innerFunction.call(__this, lyr, index);\r\n };\r\n } else {\r\n lyr.clear();\r\n }\r\n this._arrLyrTimeout[index] = setTimeout(callbackFunc, lyr.onDemandDelay);\r\n }\r\n\r\n /**\r\n * trigger the map move call back at the given index\r\n * @param ind - the index of the layer\r\n * @param eventType=undefined the event triggering the load as 'change:center' or 'change:resolution'\r\n * @param functionId=undefined the function id used to reference the added callback function\r\n */\r\n triggerMoveCallback(ind: number, eventType?: string, functionId?: string) {\r\n\r\n if (typeof ind == 'undefined' && typeof functionId == 'undefined'){\r\n throw 'either the function index or the id must be defined';\r\n }\r\n\r\n if (typeof ind !== 'number'){\r\n ind = this._mapMoveCallbacks.indexOf(this._mapMoveCallbacksLookup[functionId]);\r\n }\r\n\r\n if (ind < 0){\r\n console.log('function not found');\r\n\r\n return;\r\n }\r\n\r\n // clear the timeout\r\n if (this._mapMoveCallbackTimeout[ind] != null) {\r\n clearTimeout(this._mapMoveCallbackTimeout[ind]);\r\n this._mapMoveCallbackTimeout[ind] = null;\r\n }\r\n\r\n let ctx = this._mapMoveCallbackContext[ind];\r\n let theFunc = this._mapMoveCallbacks[ind];\r\n\r\n let __this = this;\r\n\r\n let f = function () {\r\n if (ctx !== null) {\r\n theFunc.call(ctx, __this._mapExtent, __this._zoomLevel, eventType);\r\n } else {\r\n theFunc(__this._mapExtent, __this._zoomLevel, eventType);\r\n }\r\n };\r\n\r\n this._mapMoveCallbackTimeout[ind] = setTimeout(f, this._mapMoveCallbackDelays[ind]);\r\n }\r\n\r\n /**\r\n * Add a layer to the interaction\r\n * @param lyr - layer to add\r\n * @param triggerOnAdd - if the layer should be loaded on add\r\n */\r\n addVectorLayer(lyr: LayerBaseVector, triggerOnAdd: boolean = true) {\r\n if (this._arrLayer.indexOf(lyr) > -1) {\r\n console.log('already added ' + lyr.name + ' to map move');\r\n\r\n return;\r\n }\r\n this._checkInit();\r\n\r\n this._arrLyrRequest.push(null);\r\n this._arrLyrTimeout.push(null);\r\n this._arrLayer.push(lyr);\r\n this._lookupLayer[lyr.id] = lyr;\r\n\r\n triggerOnAdd = typeof triggerOnAdd == 'boolean' ? triggerOnAdd : true;\r\n\r\n if (triggerOnAdd) {\r\n if (this._mapExtent === undefined) {\r\n this._updateMapExtent();\r\n }\r\n this.triggerLyrLoad(lyr, this._arrLayer.length - 1);\r\n }\r\n }\r\n\r\n\r\n /**\r\n * add a callback to the map move event\r\n * @param func - callback function\r\n * @param context - the context to use for this function\r\n * @param delay=50 the delay before call load\r\n * @param triggerOnAdd if the layer should be loaded on add to mapMove\r\n * @param functionId optional id to reference the function later for outside triggering\r\n */\r\n addCallback(func: mapMoveCallbackFunction, context?: any, delay?: number, triggerOnAdd? : boolean, functionId?: string) {\r\n\r\n if (this._mapMoveCallbacks.indexOf(func) > -1) {\r\n console.log('this function already added to map move');\r\n return;\r\n }\r\n this._checkInit();\r\n if (!functionId){\r\n functionId = makeGuid();\r\n }\r\n\r\n this._mapMoveCallbacks.push(func);\r\n this._mapMoveCallbacksLookup[functionId] = func;\r\n this._mapMoveCallbackDelays.push(typeof delay == 'number' ? delay : 50);\r\n this._mapMoveCallbackContext.push(checkDefined.definedAndNotNull(context) ? context : null);\r\n this._mapMoveCallbackTimeout.push(null);\r\n\r\n triggerOnAdd = typeof triggerOnAdd == 'boolean' ? triggerOnAdd : true;\r\n\r\n if (triggerOnAdd) {\r\n if (this._mapExtent === undefined) {\r\n this._updateMapExtent();\r\n }\r\n this.triggerMoveCallback(this._mapMoveCallbacks.length - 1);\r\n }\r\n }\r\n}\r\n\r\nnm.MapMoveCls = MapMoveCls;\r\nexport default MapMoveCls;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/mapMoveCls.ts","/**\r\n * Created by gavorhes on 11/3/2015.\r\n */\r\n\r\nimport MapInteractionBase from './mapInteractionBase';\r\nimport propertiesZoomStyle from '../olHelpers/propertiesZoomStyle';\r\nimport provide from '../util/provide';\r\nimport ol = require('custom-ol');\r\nimport {LayerBaseVector} from \"../layers/LayerBaseVector\";\r\nimport {LayerBase} from \"../layers/LayerBase\";\r\nimport LayerEsriMapServer from \"../layers/LayerEsriMapServer\";\r\nimport $ = require('jquery');\r\n\r\nconst nm = provide('olHelpers');\r\n\r\nexport interface popupChangedFunction {\r\n ($popContent: JQuery): any;\r\n}\r\n\r\n/**\r\n *\r\n */\r\nexport interface popupCallback {\r\n /**\r\n * Callback function for the popup\r\n * @param featureProperties\r\n * @param jqRef\r\n */\r\n (featureProperties: Object, jqRef?: JQuery): string | boolean;\r\n}\r\n\r\ninterface mapEvent {\r\n coordinate: ol.Coordinate;\r\n pixel: ol.Pixel;\r\n dragging: boolean|any;\r\n originalEvent: Event;\r\n}\r\n\r\n\r\nexport class FeatureLayerProperties {\r\n\r\n feature: ol.Feature;\r\n layer: LayerBaseVector|LayerEsriMapServer;\r\n layerIndex: number;\r\n selectionLayer: ol.layer.Vector;\r\n popupContent: string;\r\n esriLayerName: string;\r\n\r\n /**\r\n *\r\n * @param feature the feature\r\n * @param layer - the layer in the popup\r\n * @param layerIndex - index of the layer\r\n * @param selectionLayer - the ol selection layer\r\n * @param [esriLayerName=undefined] - esri layer name\r\n */\r\n constructor(feature: ol.Feature, layer: LayerBaseVector|LayerEsriMapServer, layerIndex: number, selectionLayer: ol.layer.Vector, esriLayerName?: string) {\r\n this.feature = feature;\r\n this.layer = layer;\r\n this.layerIndex = layerIndex;\r\n this.selectionLayer = selectionLayer;\r\n this.popupContent = '';\r\n this.esriLayerName = typeof esriLayerName == 'string' ? esriLayerName : undefined;\r\n }\r\n\r\n get layerName() {\r\n if (typeof this.esriLayerName == 'string') {\r\n return this.esriLayerName;\r\n } else {\r\n return this.layer.name;\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * map popup class\r\n * @augments MapInteractionBase\r\n */\r\nexport class MapPopupCls extends MapInteractionBase {\r\n private _popupOpen: boolean;\r\n private _passThroughLayerFeatureArray: Array<FeatureLayerProperties>;\r\n private _currentPopupIndex: number;\r\n private _popupContentLength: number;\r\n private _esriMapServiceLayers: Array<LayerEsriMapServer>;\r\n private _$popupCloser: JQuery;\r\n private _$popupContent: JQuery;\r\n private _$popupContainer: JQuery;\r\n private _popupOverlay: ol.Overlay;\r\n private _arrPopupLayers: Array<LayerBaseVector>;\r\n private _popupCoordinate: ol.Coordinate;\r\n private _popupChangedFunctions: Array<popupChangedFunction>;\r\n private _mapClickFunctions: Array<Function>;\r\n private _selectionLayerLookup: {[s: string]: ol.layer.Vector};\r\n private _arrPopupLayerIds: Array<string>;\r\n private _arrPopupLayerNames: Array<string>;\r\n private _arrPopupOlLayers: Array<ol.layer.Vector>;\r\n private _arrPopupContentFunction: Array<popupCallback>;\r\n private _selectionLayers: Array<ol.layer.Vector>;\r\n\r\n /**\r\n * Definition for openlayers style function\r\n * @callback olStyleFunction\r\n * ¶m feature the openlayers vector feature\r\n * $param\r\n */\r\n\r\n\r\n /**\r\n * map popup constructor\r\n */\r\n constructor() {\r\n super('map popup');\r\n this._arrPopupLayerIds = [];\r\n this._arrPopupLayerNames = [];\r\n this._arrPopupLayers = [];\r\n this._arrPopupOlLayers = [];\r\n this._arrPopupContentFunction = [];\r\n this._$popupContainer = undefined;\r\n this._$popupContent = undefined;\r\n this._$popupCloser = undefined;\r\n this._popupOverlay = undefined;\r\n this._selectionLayers = [];\r\n this._selectionLayerLookup = {};\r\n this._mapClickFunctions = [];\r\n\r\n //let a = function($jqueryContent){console.log($jqueryContent)};\r\n //this._popupChangedLookup = {'a': a};\r\n this._popupChangedFunctions = [];\r\n this._esriMapServiceLayers = [];\r\n\r\n this._popupOpen = false;\r\n this._popupCoordinate = null;\r\n\r\n this._passThroughLayerFeatureArray = [];\r\n\r\n this._currentPopupIndex = -1;\r\n this._popupContentLength = 0;\r\n\r\n }\r\n\r\n /**\r\n * map popup initialization\r\n * @param {ol.Map} theMap - the ol map\r\n */\r\n init(theMap: ol.Map) {\r\n super.init(theMap);\r\n\r\n let $map;\r\n let target = this.map.getTarget();\r\n\r\n if (typeof target == 'string') {\r\n $map = $('#' + target);\r\n }\r\n else {\r\n $map = $(target);\r\n }\r\n\r\n $map.append(\r\n '<div class=\"ol-popup\">' +\r\n '<span class=\"ol-popup-closer\">X</span>' +\r\n '<div class=\"popup-content\"></div>' +\r\n '</div>'\r\n );\r\n\r\n this._$popupContainer = $map.find('.ol-popup');\r\n this._$popupContent = $map.find('.popup-content');\r\n this._$popupCloser = $map.find('.ol-popup-closer');\r\n\r\n let _ease = (n: number): number => {\r\n return ol.easing.inAndOut(n);\r\n };\r\n\r\n\r\n this._popupOverlay = new ol.Overlay({\r\n element: this._$popupContainer[0],\r\n autoPan: true,\r\n autoPanAnimation: {\r\n duration: 250,\r\n source: theMap.getView().getCenter(),\r\n easing: _ease\r\n }\r\n });\r\n\r\n this._map.addOverlay(this._popupOverlay);\r\n\r\n this._$popupCloser.click((evt) => {\r\n this.closePopup();\r\n });\r\n\r\n // display popup on click\r\n this._map.on('singleclick', (evt: {coordinate: [number, number], pixel: ol.Pixel}) => {\r\n\r\n this.closePopup();\r\n this._popupCoordinate = evt['coordinate'];\r\n\r\n // esri map service layers\r\n if (this._esriMapServiceLayers.length > 0) {\r\n\r\n let queryParams = {\r\n geometry: evt['coordinate'].join(','),\r\n geometryType: 'esriGeometryPoint',\r\n layers: 'all',\r\n sr: this._map.getView().getProjection().getCode().split(':')[1],\r\n mapExtent: (this._map.getView().calculateExtent(this._map.getSize()) as number[]).join(','),\r\n imageDisplay: (this._map.getSize() as number[]).join(',') + ',96',\r\n returnGeometry: true,\r\n tolerance: 15,\r\n f: 'pjson'\r\n };\r\n\r\n for (let l of this._esriMapServiceLayers) {\r\n l.getPopupInfo(queryParams);\r\n }\r\n }\r\n\r\n let layerFeatureObjectArray = this._featuresAtPixel(evt['pixel']);\r\n\r\n this._passThroughLayerFeatureArray = [];\r\n this._currentPopupIndex = -1;\r\n\r\n for (let i = 0; i < layerFeatureObjectArray.length; i++) {\r\n let featObj = layerFeatureObjectArray[i];\r\n\r\n let props = featObj.feature.getProperties();\r\n\r\n let popupContentResponse = this._arrPopupContentFunction[featObj.layerIndex](props, this._$popupContent);\r\n\r\n //skip if return was false\r\n if (popupContentResponse === false) {\r\n //continue;\r\n } else if (typeof popupContentResponse == 'string') {\r\n featObj.popupContent = popupContentResponse as string;\r\n this._passThroughLayerFeatureArray.push(featObj);\r\n } else {\r\n featObj.selectionLayer.getSource().addFeature(featObj.feature);\r\n }\r\n }\r\n\r\n this._popupContentLength = this._passThroughLayerFeatureArray.length;\r\n\r\n this._currentPopupIndex = -1;\r\n\r\n let popupHtml = '<div class=\"ol-popup-nav\">';\r\n popupHtml += '<span class=\"previous-popup ol-popup-nav-arrow\">◀</span>';\r\n popupHtml += '<span class=\"next-popup ol-popup-nav-arrow\">▶</span>';\r\n popupHtml += `<span class=\"current-popup-item-number\" style=\"font-weight: bold;\"></span>`;\r\n popupHtml += `<span> of </span>`;\r\n popupHtml += `<span class=\"popup-content-length\" style=\"font-weight: bold;\">${this._popupContentLength}</span>`;\r\n popupHtml += `<span> - </span>`;\r\n popupHtml += `<span class=\"current-popup-layer-name\"></span>`;\r\n popupHtml += '</div>';\r\n popupHtml += '<div class=\"ol-popup-inner\">';\r\n\r\n popupHtml += '</div>';\r\n\r\n this._$popupContent.html(popupHtml);\r\n\r\n this._$popupContent.find('.previous-popup').click(() => {\r\n if (this._popupContentLength == 1) {\r\n return;\r\n }\r\n\r\n if (this._currentPopupIndex == 0) {\r\n this._currentPopupIndex = this._popupContentLength - 1;\r\n } else {\r\n this._currentPopupIndex--;\r\n }\r\n this._triggerFeatSelect();\r\n });\r\n\r\n let nextPopup = this._$popupContent.find('.next-popup');\r\n\r\n nextPopup.click(() => {\r\n if (this._popupContentLength == 1 && this._currentPopupIndex > -1) {\r\n return;\r\n }\r\n\r\n if (this._currentPopupIndex == this._popupContentLength - 1) {\r\n this._currentPopupIndex = 0;\r\n } else {\r\n this._currentPopupIndex++;\r\n }\r\n this._triggerFeatSelect();\r\n });\r\n\r\n\r\n if (this._popupContentLength > 0) {\r\n nextPopup.trigger('click');\r\n this._popupOverlay.setPosition(this._popupCoordinate);\r\n this._$popupContent.scrollTop(0);\r\n this._popupOpen = true;\r\n }\r\n });\r\n\r\n //change mouse cursor when over marker\r\n this._map.on('pointermove', (evt: {dragging: boolean, originalEvent: Event}) => {\r\n if (evt['dragging']) {\r\n return;\r\n }\r\n let pixel = this.map.getEventPixel(evt['originalEvent']);\r\n let hit = this.map.hasFeatureAtPixel(pixel, (lyrCandidate) => {\r\n for (let olLayer of this._arrPopupOlLayers) {\r\n if (lyrCandidate == olLayer) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n });\r\n let mapElement = this.map.getTargetElement() as HTMLElement;\r\n mapElement.style.cursor = hit ? 'pointer' : '';\r\n });\r\n\r\n return true;\r\n }\r\n\r\n /**\r\n * helper to select features\r\n * @private\r\n */\r\n _triggerFeatSelect() {\r\n let $currentPopupItemNumber = this._$popupContent.find('.current-popup-item-number');\r\n let $innerPopup = this._$popupContent.find('.ol-popup-inner');\r\n let $layerNameSpan = this._$popupContent.find('.current-popup-layer-name');\r\n this.clearSelection();\r\n let lyrFeatObj = this._passThroughLayerFeatureArray[this._currentPopupIndex];\r\n $currentPopupItemNumber.html((this._currentPopupIndex + 1).toFixed());\r\n $layerNameSpan.html(lyrFeatObj.layerName);\r\n $innerPopup.html(lyrFeatObj.popupContent);\r\n lyrFeatObj.selectionLayer.getSource().addFeature(lyrFeatObj.feature);\r\n for (let f of this._popupChangedFunctions) {\r\n f(this._$popupContent);\r\n }\r\n }\r\n\r\n\r\n /**\r\n *\r\n * @param feature - the ol feature\r\n * @param {LayerEsriMapServer} lyr - the map server layer\r\n * @param {string} popupContent - popup content\r\n * @param {string} esriName - esri layer name\r\n */\r\n addMapServicePopupContent(feature: ol.Feature, lyr: LayerEsriMapServer, popupContent: string, esriName: string) {\r\n\r\n let featLayerObject = new FeatureLayerProperties(\r\n feature, lyr, this._popupContentLength, this._selectionLayerLookup[lyr.id], esriName\r\n );\r\n featLayerObject.popupContent = popupContent;\r\n\r\n this._passThroughLayerFeatureArray.push(featLayerObject);\r\n this._popupContentLength++;\r\n\r\n $('.popup-content-length').html(this._popupContentLength.toFixed());\r\n\r\n if (!this._popupOpen) {\r\n this._$popupContent.find('.next-popup').trigger('click');\r\n\r\n this._popupOverlay.setPosition(this._popupCoordinate);\r\n this._$popupContent.scrollTop(0);\r\n this._popupOpen = true;\r\n }\r\n }\r\n\r\n /**\r\n *\r\n * @param pixel - the ol pixel\r\n * @returns feature layer properties\r\n * @private\r\n */\r\n _featuresAtPixel(pixel: ol.Pixel): Array<FeatureLayerProperties> {\r\n let layerFeatureObjectArray: FeatureLayerProperties[] = [];\r\n\r\n this.map.forEachFeatureAtPixel(pixel, (feature: ol.Feature, layer: ol.layer.Vector) => {\r\n let lyrIndex = this._arrPopupOlLayers.indexOf(layer);\r\n\r\n if (lyrIndex > -1) {\r\n layerFeatureObjectArray.push(\r\n new FeatureLayerProperties(\r\n feature, this._arrPopupLayers[lyrIndex], lyrIndex, this._selectionLayers[lyrIndex]));\r\n }\r\n });\r\n\r\n return layerFeatureObjectArray;\r\n }\r\n\r\n closePopup() {\r\n this._checkInit();\r\n this._popupOpen = false;\r\n this._popupOverlay.setPosition(undefined);\r\n this._$popupCloser[0].blur();\r\n this.clearSelection();\r\n this._$popupContent.html('');\r\n\r\n return false;\r\n };\r\n\r\n\r\n /**\r\n *\r\n * @param chgFunction - popup change function\r\n */\r\n addPopupChangedFunction(chgFunction: popupChangedFunction) {\r\n this._popupChangedFunctions.push(chgFunction);\r\n }\r\n\r\n /**\r\n *\r\n * @param {LayerBase|*} lyr - the layer being acted on\r\n * @param {object} [selectionStyle={}] the selection style configuration\r\n * @param {string} [selectionStyle.color=rgba(255,170,0,0.5)] the selection color\r\n * @param {number} [selectionStyle.width=10] the selection width for linear features\r\n * @param {object|function} [selectionStyle.olStyle=undefined] an openlayers style object or function\r\n * @returns the new selection layer\r\n * @private\r\n */\r\n _addPopupLayer(lyr: LayerBaseVector|LayerEsriMapServer, selectionStyle: {color?: string, width?: number, olStyle?: ol.style.Style}): ol.layer.Vector {\r\n this._checkInit();\r\n\r\n selectionStyle = selectionStyle || {};\r\n selectionStyle.color = selectionStyle.color || 'rgba(255,170,0,0.5)';\r\n selectionStyle.width = selectionStyle.width || 10;\r\n\r\n let theStyle;\r\n\r\n if (selectionStyle.olStyle) {\r\n theStyle = selectionStyle.olStyle;\r\n } else {\r\n theStyle = new ol.style.Style({\r\n stroke: new ol.style.Stroke({\r\n color: selectionStyle.color,\r\n width: selectionStyle.width\r\n }),\r\n image: new ol.style.Circle({\r\n radius: 7,\r\n fill: new ol.style.Fill({color: selectionStyle.color}),\r\n stroke: new ol.style.Stroke({color: selectionStyle.color, width: 1})\r\n }),\r\n fill: new ol.style.Fill({\r\n color: selectionStyle.color\r\n })\r\n });\r\n }\r\n\r\n let selectionLayer = new ol.layer.Vector(\r\n {\r\n source: new ol.source.Vector(),\r\n style: theStyle\r\n }\r\n );\r\n\r\n selectionLayer.setZIndex(100);\r\n\r\n this._selectionLayers.push(selectionLayer);\r\n this._selectionLayerLookup[lyr.id] = selectionLayer;\r\n this.map.addLayer(selectionLayer);\r\n\r\n return selectionLayer;\r\n }\r\n\r\n\r\n /**\r\n * Add popup to the map\r\n * @param {LayerBase|*} lyr The layer that the popup with act on\r\n * @param {popupCallback} popupContentFunction - popup content function that makes popup info\r\n * @param {object} [selectionStyle={}] the selection style configuration\r\n * @param {string} [selectionStyle.color=rgba(255,170,0,0.5)] the selection color\r\n * @param {number} [selectionStyle.width=10] the selection width for linear features\r\n * @param {object|function} [selectionStyle.olStyle=undefined] an openlayers style object or function\r\n * @returns {object} a reference to the ol selection layer\r\n */\r\n addVectorPopup(lyr: LayerBaseVector, popupContentFunction: popupCallback,\r\n selectionStyle?: {color?: string, width?: number, olStyle?: ol.style.Style}) {\r\n let selectionLayer = this._addPopupLayer(lyr, selectionStyle);\r\n this._arrPopupLayerIds.push(lyr.id);\r\n this._arrPopupLayerNames.push(lyr.name);\r\n this._arrPopupLayers.push(lyr);\r\n this._arrPopupOlLayers.push(lyr.olLayer);\r\n this._arrPopupContentFunction.push(popupContentFunction);\r\n\r\n return selectionLayer;\r\n };\r\n\r\n\r\n /**\r\n *\r\n * @param {LayerBase} lyr - layer\r\n */\r\n removeVectorPopup(lyr: LayerBase) {\r\n let idx = this._arrPopupLayerIds.indexOf(lyr.id);\r\n\r\n if (idx > -1) {\r\n this._arrPopupLayerIds.splice(idx, 1);\r\n this._arrPopupLayerNames.splice(idx, 1);\r\n this._arrPopupLayers.splice(idx, 1);\r\n this._arrPopupOlLayers.splice(idx, 1);\r\n this._arrPopupContentFunction.splice(idx, 1);\r\n this._selectionLayers.splice(idx, 1);\r\n delete this._selectionLayerLookup[lyr.id];\r\n }\r\n }\r\n\r\n /**\r\n *\r\n * @param {LayerEsriMapServer} lyr - map server layer\r\n * @param {object} [selectionStyle={}] the selection style configuration\r\n * @param {string} [selectionStyle.color=rgba(255,170,0,0.5)] the selection color\r\n * @param {number} [selectionStyle.width=10] the selection width for linear features\r\n * @param {object|function} [selectionStyle.olStyle=undefined] an openlayers style object or function\r\n * @returns {object} a reference to the ol selection layer\r\n */\r\n addMapServicePopup(lyr: LayerEsriMapServer, selectionStyle?: ol.style.Style|Array<ol.style.Style>|ol.StyleFunction) {\r\n let selectionLayer = this._addPopupLayer(lyr, selectionStyle);\r\n this._esriMapServiceLayers.push(lyr);\r\n\r\n return selectionLayer;\r\n }\r\n\r\n clearSelection() {\r\n this._checkInit();\r\n for (let i = 0; i < this._selectionLayers.length; i++) {\r\n this._selectionLayers[i].getSource().clear();\r\n }\r\n for (let f of this._mapClickFunctions) {\r\n f();\r\n }\r\n };\r\n\r\n /**\r\n * Add a function to be called when the map is clicked but before any popups are implemented\r\n * @param {function} func - the map click function\r\n */\r\n addMapClickFunction(func: Function) {\r\n this._mapClickFunctions.push(func);\r\n }\r\n}\r\nnm.MapPopupCls = MapPopupCls;\r\nexport default MapPopupCls;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/mapPopupCls.ts","/**\r\n * Created by gavorhes on 12/15/2015.\r\n */\r\n\r\nimport provide from '../util/provide';\r\nimport ol = require('custom-ol');\r\nimport $ = require('jquery');\r\nimport {Geocode} from './geocode';\r\nconst nm = provide('olHelpers');\r\n\r\nexport interface quickMapOptions {\r\n divId?: string;\r\n center?: {x: number, y: number};\r\n zoom?: number;\r\n minZoom?: number;\r\n maxZoom?: number;\r\n baseSwitcher?: boolean;\r\n fullScreen?: boolean;\r\n addGeocode?: boolean;\r\n}\r\n\r\n/**\r\n * Sets up a map with some default parameters and initializes\r\n * mapMove and mapPopup\r\n *\r\n * @param [options={}] config options\r\n * @param [options.divId=map] map div id\r\n * @param [options.center={}] center config object\r\n * @param [options.center.x=-10018378] center x, web mercator x or lon\r\n * @param [options.center.y=5574910] center y, web mercator y or lat\r\n * @param [options.zoom=7] zoom level\r\n * @param [options.minZoom=undefined] min zoom\r\n * @param [options.maxZoom=undefined] max zoom\r\n * @param [options.baseSwitcher=true] if add base map switcher\r\n * @param [options.fullScreen=false] if add base map switcher\r\n * @returns the ol map\r\n */\r\nexport function quickMapBase(options: quickMapOptions = {}): ol.Map {\r\n options.divId = options.divId || 'map';\r\n options.center = options.center || {x: -10018378, y: 5574910};\r\n options.zoom = typeof options.zoom == 'number' ? options.zoom : 7;\r\n options.baseSwitcher = typeof options.baseSwitcher == 'boolean' ? options.baseSwitcher : true;\r\n options.fullScreen = typeof options.fullScreen == 'boolean' ? options.fullScreen : false;\r\n options.addGeocode = options.addGeocode || false;\r\n\r\n\r\n let $mapDiv = $('#' + options.divId);\r\n $mapDiv.css('position', 'relative');\r\n\r\n let osmLayer = new ol.layer.Tile({source: new ol.source.OSM()});\r\n // let satLayer = new ol.layer.Tile({visible: false, source: new ol.source.MapQuest({layer: 'sat'})});\r\n\r\n let osmCss = \"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAMAUExURQAAADQ1NDk5OURFREtLS1FHSFlZWGJRVGJiYWdmZWxsbHRmaXBpanN0c3V0dHp5eX5+fIVzd4F3eeV0jud5juZ8k4aHhomHhoyGh5eGj5OVlJiVlZiYl5qZmJydnKOTlaKZmqKdnaOioaqqqKuzsbOvrrSysLa3tbW4uLm6ub27ub+/vbGXwbCZwbCgxLKlxrOqyLStybO3yrSxyrWzzbW2y7a1zbK4y7W6zbW8y760yrTAzbTFzrPKzrLOzrTJzrTOzr7CwbXC0LXK0LTO0L3I0bPQz7TQz7PS0bXQ0LnR0brW1bzT0r7U077V1Lzc2dqNqteUsdyXscaquuOHneaGmueHnOeJnuiBleiKn+eNoOiOoOWUpOiRo+iSpeiUpeqYpumaqOmdrPSynemgruSqtOmisOmlsuuqtequuOW1vOuxu+uxvOq1ve+xvPK0pvW3o/W5pfO5qvS7qfCwvMOuwc2/wNenxNyyzNe/0Nq31Nq51dy72Oy3wOu4wOu+xey4wO+6xO2+xfTAr/TCsvfFtPHLvvTJuMPDwMfHxcXKyc3DxMvFyMvLyM3PzcDV08DV1MTX1cbY1s7X1sjZ1sra2Mnd3M7b2c7c2tfH1tnB1t7F2d7M29fX1tLY1tDd2tHe3NTf3NnS19rZ1tva2Nnf3t3d28rh3tXg3Nnh3tzj393k39ni4N7k4N7n5uXDyOfLz+zAxu3CyOzEyezKzeDJ3eLM3uvP0u3P0ePf2+7R0u7Q1u/U0+7U1ezc0+7a2e/d2+3f3vbFzvLOwfHN0PPQw/TUx/LWyvLYzPDQ1fPe0ubc4vve4uHh3+nh3+/h2u/h3vHj2vHl3uHm4eTn4uDp5ebo4+Xo5ODq6ebq6OTv6+nl4+/j4O7l4e7n5ujp4+np5Ozq5e7s5urt6O7t6Orw6u7x6u3x7vPj5PDl4fDo4vDq5fDt5vDu6PDv7PTv6fDx6vHx7fH17fXw6fXy7fb07/bz8fT18vn38vr39fr48/r59Pr6+P3++//+/gAAALNTSk0AAAEAdFJOU////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wBT9wclAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAAGHRFWHRTb2Z0d2FyZQBwYWludC5uZXQgNC4wLjlsM35OAAAFNElEQVRIS1VVCZxVUxi/9l0UIUT2bMnY43bVI2c0Y01kSWIaS0j2JEtkN41piomZrPPKQ2aQ7JKImOZlnm2493TJzDufuU1Zi+v/fee+mZ//793vnPOd7zvfes5zDBEZkBBjAcIjb+Iiotqgdhat8AMK0vl7/R9N7GiWtshqIr+EZ5gYKibyUsXY1l/mfFpssvUlWQ0FkU3gy4+RB/+kwYcO8pRSnldcOU/r2lAHARSwk2ORgEmOdC1EsuRiYSqMPwwroMIraZk5V2fYJQjCKfZrRmh3gSAZi2i4b7wSylWu8EqZwS59JkFUaW96JbNSc+CEUmt4rorwuZmWdDaoc+uZETuQlTCU5xYzR7muUnVUVo+BcRhre/VwUpasgJwhH7JkYIYA0sNxhmCwUK+lw6vCKBZehw01dEiyw4Q4aE0Z4ahDhKaFQsGnJ2BgqKoTBsNjFy0SlW6whRAZTdm8DBJmkBZhDi1j4xJQBk6ywrWUTymaCxac8lROcdauRGzQSNtA7EHUYhXyEwhhgjFUqRuO+rauhF1awFpzCsmwUbjIFBR0u1bKtyGpulW/H/cVVzkyGaIWTIR9pFAV6GK2gPMXMX8gPk9zzxXgI1kimcAltEYr+cjio1imlKpEa9rOipLm+p+CZ6Bw//qd1/f/O+GwMxbSLpyoZEcwkyh2jIks+3hmdd2jWUw4scxNysnHxU7nSspTRcJjCZGL3IsjsYJMMg5mwgx7gaIOLBFCogAgBBoNa9w+DE6I+Bs7FTgwwrJbHjWDgpYo2KwtBTcYEDuloC9geQw+k2RGnPGpTaOlq7AS+YICUz4DZVaX2TiNDhuYfTtY4geLi0IoCm3XccwM9hx4kU28StQEljDs3ZEpFGA+8dKzLmV9ymIwF5FOGn2GdJM8KLHDJbXyiYVMG9MRTLiXGGg2QKaxM3khPSRrwM9zEIardxU2w/EiA0gOeYKHzDR0V7/QGV3lKIA9ktrDArxO3gdA+k6SKoBiVwcm7NjZb9+Hnztg282TuHVZ9LOISFNt9MgyCetZVczSxnyDbl17Penq6mqpg1IhRaEO2aVLUO4/r17H8tTv6f13h71dduvZI3Y+uMdWksNSauLovJw5hsqiPIUvt0ku7/iBeUR3sksmomYWtRbAjbiLfv2lX9/V7LVG4uYnUZXhQ7f2OPCZEx9wrYWTcePEQqPEML8pl4mMdr/jlXlvHiRiJ2+MSTFY4TTSYStuvz2R/JXh+PPeGXm055J+3/YDWuNu3R3DArPutyg0ZgykMVDU9Ndm22+wYalr2rse48CnsTIFcMn73vfhNrktx1EUcZnPv6ah3Yy5cDTRdBEoGoBeah71dqFyjZDJLkWk3N3v4uuktssjWpzciMPxQeHj8nMKzcGuB0tAyzFhdCKOYWv4HwOQVwIxLG99a6uvH3sJCyO3h+k4EZ+G7+xj5f4XXksoaGrdMRzSc8ARA8+cdOuk2x6fffNNt5x+Ro1omPlrT/CQDlcNlpx4NBIWXhkx7Y3Zp3ofNR7Uv89Om/beW0TLIynHv3vs1VsOFpSWSXvfuPUf9BrRFyxgXdHoKJnQFegPOovvzz59ntrzye240ig8UQ3lDI2VqwagrKIQcLXNFL3wglN2OHdBQ6/vI3kENDVBwRb3k1XtczFbjWn4EzMYi7CF3129+JTYuRSdrGuS92g5dpqn6qXoJQs5xmL8p+Wt4hLbt0mx2OLNZR2bbPy8zJNQGFM/f/CfXZekRYFjGCWjIJpM+WiCzGBPWHhoyaAsjRT/B2Gy5yzYJkwUAAAAAElFTkSuQmCC')\";\r\n let aerialCss = \"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAMAUExURQALBgIMDQgOBwQOEQcTBwUSCwoVDAwdBw8ZDgUREwYUGAYZFQYZGgkTFQoVGQsZFAwZHBMeDhIbFBEbHAwWIA4bIREcIQ4hCQwjFw4lHBgkDB8sDxUiExIiGhAoGxohFRshGRorHQcrKQsiIQwmKgooJA0pKQ81Jw8yLRMiIxImKxUrJREuKhslJB0rIhooKRUuMBMyLhkwJhozKh48LxUzMRM9MBwzMiUvFCMtGiMwEiwzFCgzHDI+GSIsISkvJSQxIiM2LiY5Jic+Lyk0JSo0Ky49JSs9KSU1NSM7NCs2NS8+NDM1JzU9Ljg7IDJCHS1DLSNAMitCMSxIOjREITZLIDZJKDlFIjpFKztKJT1LKzJBMzpHMD1JMjpKPD1RKjlQNC1DQj5QQEA8MEJGJkBKJUJNK0lLLEJMMkVMPEpONENSLUdZL0pTLkpaLkRUMkRSPEVZMktUM0pVOklZMklZNEpcNU1ZMk1ZNUxfMk5dNkxcOVFUM1RUOFJbNVFZOVNYPVFdOVJdPFVaOVVaPVVdOlVdPVpaNlpdO0phN01hOlBiN1NhPFNoP1piPWFbPmRjPENOQEtPSURTQkJVS0xVQk1VSkxbQkxcS0heUVFXRFRcQlJfTFxeQlpeS05lQk1kSFRjQVRjSlZpQ1tkQlxlSlxpRF1rSVVnUVtlU1llXF9tU1xoXlxwSl9ramRfQmJlQ2FhSWFlSWFlTmVlSWRmTGFoQWFpRWFsRmVpRWVtRmNsSmtlRGpqRmpsS2BmWGRsUmFrW2ptUmZyR2RxTGpxTWVyU2RyW2d5V2tzUmt0WW15VG15WXFuTHNtVnFxTXF4T3h0TnJzUnJ1XHJ4VXN6Wnp0VHx1W315VXp8XGR0YGx0YHVzZXJ0aHR9ZXV+aHl9YHOCXXqBXXeCYHyCY3iEaHyIYn+JaXqKcYB5WIN6Y4SCXoCDZIGEaYCIZoOLa4iCaImJbIOOdYuMco6OeIuVcpOKbZKPc5aQb5eXe5ufg6KjhAAAAAAAAAAAAAAAAOGCeQgAAAEAdFJOU////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wBT9wclAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAAGHRFWHRTb2Z0d2FyZQBwYWludC5uZXQgNC4wLjlsM35OAAAH80lEQVRISy1WbXQUVxm+6wqnk3Zmpxl2FG2EGg92C8GDlWptVTwa+uF3xcKmDfFzCUzDsJNsunXipglJXJbrtJWmwZNSnHD3jojRgUIm2UumIZ0JZ7JByrALbMWW0IBW8aRa4+cf76TeX3Nm3uc+z/s+7/vugl4r/aMTrT4e1pPTqnnmJNn5AyUzRnrRle/qE33dsvrBtAQVoxtpZNK3zSzYjUjviWO2Ag+R77dl7W36n/1Ep9KBPG/S+Py0PkjU/gPKQGqwTHryiWYFAXSvMairsio7SjyNsnCzh0qKImV9/7mhfHQZx2yN1O+7rXUm33MUPaboOkAJHaoIdXfJj2xWeyD8jMFEXkvIu5qzpU988gWB5zl+GS+sFe55trEVPdWZB2miq8bBVkNFO2R0qnrfkiXhcJhtDNXE6tbW97/s9O9/7ZfVhx86/CwrROpfvvxboMqeLsuqPr1j44qEwDNMOBximUiYoU8sw7BC/a7T72uEnyJDlGxZ9KcglZRyuqqrv/tSZErgOI4NgRBTIw9EmHAoFGZZnp6aGaJ2GTxfxYs8kKVUQh7WB5hQeC3LsUxoxVKW14l3BX2WcoUYPiZyLLe8teZ+iuT4GGhvV5KpKWkpyzxEr2MZgQ1xdRjfRBoH+2k6lIHjKTHPPBo8CSJISqqq4wGGOcWylIGlgvgNX1Gd8vF5f+IUIwb30ng+Gg2QfBRIMvy0jG8SVkYo4N0zvUXVRztbJ/L6xL7lUZEXBEHkuZqlS6gEAUgKJurnhFtfpACOYd8b/hVbJPqwi44a6KA0sPVjIi/SIyxb3u8KlAJ0S8jRVgrlW+nVHPdrhiXCxu42d86ByksDc80P3MkJFBFQ8Ho1lQegpWJRWFGsDsRwwv7pIyvuQW0ZkrX6NDVFbqcvaQI8vbyqzt5AARrsbKx5yhQEGs+wPO56bOK+0rcwMrOKkpUbZWYxV04UeZZv/cBKFhRL6Qdv9y4LfEDA7/thg7tTmv1a5/GnO0wl0dQg80wglZaHUmxRvjwAHOfyN0mxrpqLUpcjsK3NHYMo4R1o6eho2ZyIb2FoeOC3ILK8kZ2HQMOuWywGXUkJBCeTbYFS0+ym1h2/6UgmvnrvKYZZtIEXGf75C2cIAp5LHNd71x7uPoTjakrWH9e3KFpaatjUvJUysFw0KrLMYMW2lTg4PeUQx6kJEALvxXEmCdVyPLHtCSjBhc01XCjIgafxou+PE6KC1dhxSCwoBCc+N4P3btM84pmdSSjJnjO/nvY4LQfVyz5/I+v6IwjUOMjy+MVCxIbKupTJaEktp7cTKU42Pvjh2m/8cSpC6aPsaX/MHSuUQLVVsIa4RUTs/r/BVAexNdjdnsNG7j/rV93xheLMzKnFrPeTEQchCyCcKb25aAIn7lrAertrZwyNXM8N6zfWrFo3d2SmOEcF83x/r+OOFgrAHYWF7cELjhV7UQo/6WAIUVl9JFl8a//HZ66VpbY3I9QKZqPru77lA+iOWAIr0hKxHCmmr0othSyeIl5y3qt4xT8gSNrKEZozs8Els67rgsLOZ+ygzwMfbtNhobfgzpEyGnz7htPtzUi6PuOoj7K0WF/MXiUFxwGajRD1hjYXHXI9p406qOyinp5/tiWcDHY0jIu4n64Qfq7kliB2gemag9QbOia0PbbDMbd43SHuvxFxrAocxins7MX5Kqbe1QixKBxoV4//PfAgGCu+Rlm4SvZizyDH+0reDHp92iO0BuX3bCfItl0PEwvYLqpwXG2MHlGsQ4S8pMJZv1JGmHiEoHQDdOjwmVlEP/nE9ADKjI8xLI0OOGITfy0SbeG/C2jKUDGSlDhM9I3IpK9iup6XnbRNC7yqueNsJCCIiXzdQhnaGN+46umnEdy5U5UbUJ48LFM9GkJo8BdDOiAZ7ZIQbKhYLMqvhU2wmNxjEAsS2AI7y4nWF64duePbk7YV3zvAVLEMD9AxJRNa3KDUibV7DjnkuprMEYjScFNcaR2ceP2u9R/5k1052Ryme5phAFRswlHjAudiP4dOy7CaxLgdJh9vUlU1702/+LPa1U9fvPi9qlA4XEUBJc3dFlpsR457IDl1iPqLp7o81NQgyV19iYU38uTiv975Pd3SiwQcsGjx+v4/6fl5T7EOOMTCtpbKxfemsQq/3olQZcminADAAI0cuGLHaHOFxbuGvRk/Z9u7CULqoVR6NE0yx1avj30oRhc/jWUoIALGxkz0dg1Dl9iaI7LqOOXKsXJFwjiuEAi70Jra2nW1PL08zLBhZsMABpW5csI7TPfew9ipFKcn5k1i+1KyCWKjC3W/8dF1d666+RaabBVTFTHacjoojBNDh0NDxk+IPTlwfqJkWpbnpFHXIbLbmpxEQ3ff/Z0g/mauXsoln9wDRjy/NHsQFw3P6vWuTJ43/+FZrk2cvAFRipCKdfD9y2+pjRj78s0KdCUDKJvdV91ChngV38T20TM+gghjpJaPlpFr2xbEz5g4A/NGt5rNwdwmYGeeeMXBSLHHUIc+6RsojRH9VTUm3/mLf/64b470XvoxoTKhlMBQ2jMEzo2PjxdGMppmn1RM24bWFJqaQv4BcuJa2Sam7Zokq1ldCsz06NCBHrhwqVQYpfFj42NZexz1EW9SR/kT58nEeQKJb2fPXjjp0u/YUkwHEgLeOnf2nOuf1TRTM02CLKLTPy60/x1CCztqn7Ev+BdsC3m+30decQvW/wBNTwU+CfUQAQAAAABJRU5ErkJggg==')\";\r\n\r\n if (options.baseSwitcher) {\r\n // let switcherContent = '<div class=\"base-map-switcher\" title=\"Toggle Base Layer\" style=\"';\r\n // switcherContent += 'position: absolute; top: 70px; left: 4px; border: solid black 1px; ';\r\n // switcherContent += `height: 50px; width: 50px; z-index: 10; border-radius: 4px; background: ${aerialCss};`;\r\n // switcherContent += '\"></div>';\r\n // $mapDiv.append(switcherContent);\r\n //\r\n // $mapDiv.find('.base-map-switcher').click(function() {\r\n // \"use strict\";\r\n // osmLayer.setVisible(!osmLayer.getVisible());\r\n // satLayer.setVisible(!satLayer.getVisible());\r\n //\r\n // if (osmLayer.getVisible()){\r\n // $(this).css('background', aerialCss);\r\n // } else {\r\n // $(this).css('background', osmCss);\r\n // }\r\n // });\r\n }\r\n\r\n if (options.zoom < 0 || options.zoom > 28) {\r\n throw 'zoom out of range';\r\n }\r\n\r\n if (options.center.x >= -180 && options.center.x <= 180 && options.center.y >= -90 && options.center.y <= 90) {\r\n let p = new ol.geom.Point([options.center.x, options.center.y]);\r\n new ol.proj.Projection({code: \"EPSG:4326\"});\r\n\r\n p.transform(new ol.proj.Projection({code: \"EPSG:4326\"}), new ol.proj.Projection({code: \"EPSG:3857\"}));\r\n let coordinates = p.getCoordinates();\r\n options.center.x = coordinates[0];\r\n options.center.y = coordinates[1];\r\n }\r\n\r\n const controls = ol.control.defaults({\r\n attributionOptions: {collapsible: false}\r\n }\r\n );\r\n\r\n const view = new ol.View({\r\n center: [options.center.x, options.center.y],\r\n zoom: options.zoom,\r\n minZoom: options.minZoom,\r\n maxZoom: options.maxZoom\r\n });\r\n\r\n let map = new ol.Map({\r\n layers: [osmLayer],\r\n target: options.divId,\r\n controls: controls,\r\n view: view\r\n });\r\n\r\n if (options.fullScreen) {\r\n map.addControl(new ol.control.FullScreen({}));\r\n }\r\n\r\n if (options.addGeocode){\r\n new Geocode(document.getElementById(options.divId) as HTMLDivElement, map);\r\n }\r\n\r\n return map;\r\n}\r\n\r\nnm.quickMapBase = quickMapBase;\r\nexport default quickMapBase;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/quickMapBase.ts","/**\r\n * Created by gavorhes on 12/14/2015.\r\n */\r\n\r\nimport provide from '../util/provide';\r\nconst nm = provide('olHelpers.zoomResolutionConvert');\r\n\r\nlet _zoomResLookup = [\r\n 156543.03392804097, //0\r\n 78271.51696402048, //1\r\n 39135.75848201024, //2\r\n 19567.87924100512, //3\r\n 9783.93962050256, //4\r\n 4891.96981025128, //5\r\n 2445.98490512564, //6\r\n 1222.99245256282, //7\r\n 611.49622628141, //8\r\n 305.748113140705, //9\r\n 152.8740565703525, //10\r\n 76.43702828517625, //11\r\n 38.21851414258813, //12\r\n 19.109257071294063, //13\r\n 9.554628535647032, //14\r\n 4.777314267823516, //15\r\n 2.388657133911758, //16\r\n 1.194328566955879, //17\r\n 0.5971642834779395, //18\r\n 0.29858214173896974, //19\r\n 0.14929107086948487, //20\r\n 0.07464553543474244, //21\r\n 0.03732276771737122, //22\r\n 0.01866138385868561, //23\r\n 0.009330691929342804, //24\r\n 0.004665345964671402, //25\r\n 0.002332672982335701, //26\r\n 0.0011663364911678506, //27\r\n 0.0005831682455839253 //28\r\n];\r\n\r\n/**\r\n * Get the resolution given the zoom level\r\n * @param {number} zoomLevel - the zoom level\r\n * @returns {number|*} the map resolution\r\n */\r\nexport function zoomToResolution(zoomLevel: number): number {\r\n \"use strict\";\r\n\r\n if (typeof zoomLevel == 'number') {\r\n if (zoomLevel % 1 === 0 && zoomLevel >= 0 && zoomLevel <= 28) {\r\n return _zoomResLookup[zoomLevel];\r\n } else {\r\n console.log(`invalid zoom level provided: ${zoomLevel}`);\r\n\r\n return undefined;\r\n }\r\n } else {\r\n return undefined;\r\n }\r\n}\r\nnm.zoomToResolution = zoomToResolution;\r\n\r\n\r\n/**\r\n * Get resolution from the zoom level\r\n * @param {number} resolution - the resolution\r\n * @returns {number|*} the zoom level\r\n */\r\nexport function resolutionToZoom(resolution: number): number{\r\n for (let i = 0; i < _zoomResLookup.length; i++){\r\n if (resolution >= _zoomResLookup[i] ){\r\n return i;\r\n }\r\n }\r\n\r\n return 0;\r\n}\r\n\r\nnm.resolutionToZoom = resolutionToZoom;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/zoomResolutionConvert.ts","/**\r\n * Created by gavorhes on 12/16/2015.\r\n */\r\n\r\nimport provide from '../util/provide';\r\nimport makeGuid from '../util/makeGuid';\r\nimport mapMove from '../olHelpers/mapMove';\r\n\r\nlet nm = provide('collections');\r\nimport $ = require('jquery');\r\nimport {LayerBase} from \"../layers\";\r\n\r\nexport interface iLegendItem{\r\n groupName: string;\r\n collapse?: boolean;\r\n addCheck?: boolean;\r\n items: Array<iLegendItem|LayerBase>\r\n}\r\n\r\nexport interface iLegendOptions{\r\n layerDivClasses?: string[]\r\n legendTitle?: string\r\n scaleDependent?: boolean\r\n}\r\n\r\nclass LayerGroup {\r\n groupLayers: any;\r\n groupLayersLookup: any;\r\n groupGroupsLookup: any;\r\n groupGroups: any;\r\n itemIdArray: any;\r\n groupId: any;\r\n groupName: any;\r\n allLayerArray: any;\r\n parent: any;\r\n allGroupArray: any;\r\n allGroupLookup: any;\r\n allLayerLookup: any;\r\n collapse: boolean;\r\n addCheck: boolean;\r\n layerParentLookup: any;\r\n\r\n /**\r\n *\r\n * @param {object} [groupConfig={}] - group configuration object\r\n * @param {string} groupConfig.groupName - the group name\r\n * @param {boolean} [groupConfig.collapse=false] - if the group should be collapsed initially\r\n * @param {boolean} [groupConfig.addCheck=true] - if the group should have a checkbox controlling visibility of all layers\r\n * @param {LayerGroup} [parent=undefined] - the parent group\r\n */\r\n constructor(groupConfig?: iLegendItem, parent?: LayerGroup) {\r\n this.groupLayers = [];\r\n this.groupLayersLookup = {};\r\n this.groupGroups = [];\r\n this.groupGroupsLookup = {};\r\n this.itemIdArray = [];\r\n\r\n if (typeof groupConfig == 'undefined') {\r\n this.parent = null;\r\n this.groupId = 'root';\r\n this.groupName = 'root';\r\n this.allGroupLookup = {root: this};\r\n this.allGroupArray = [this];\r\n this.allLayerArray = [];\r\n this.allLayerLookup = {};\r\n this.layerParentLookup = {};\r\n this.collapse = false;\r\n this.addCheck = false;\r\n } else {\r\n this.groupId = makeGuid();\r\n this.parent = parent;\r\n this.groupName = groupConfig.groupName;\r\n this.collapse = typeof groupConfig.collapse == 'boolean' ? groupConfig.collapse : false;\r\n this.addCheck = typeof groupConfig.addCheck == 'boolean' ? groupConfig.addCheck : true;\r\n }\r\n }\r\n\r\n /**\r\n *\r\n * @param {object} groupConfig - configuration object\r\n * @param {string} groupConfig.groupName - the group name\r\n * @param {boolean} groupConfig.collapse if the group should be collapsed initially\r\n * @param {boolean} groupConfig.addCheck if the group should have a checkbox controlling visibility of all layers\r\n * @param {Array<LayerGroup>} parents parent groups\r\n * @returns {LayerGroup} the layer group just added\r\n */\r\n addGroup(groupConfig: iLegendItem, parents: string[]) {\r\n let parent;\r\n if (parents.length > 0) {\r\n parent = parents[parents.length - 1];\r\n } else {\r\n parent = 'root';\r\n }\r\n\r\n\r\n /**\r\n * @type {LayerGroup}\r\n */\r\n let parentGroup = this.allGroupLookup[parent];\r\n let newGroup = new LayerGroup(groupConfig, parentGroup);\r\n this.allGroupLookup[newGroup.groupId] = newGroup;\r\n this.allGroupArray.push(newGroup);\r\n\r\n parentGroup.groupGroups.push(newGroup);\r\n parentGroup.groupGroupsLookup[newGroup.groupId] = newGroup;\r\n\r\n if (parentGroup.itemIdArray.indexOf(newGroup.groupId) > 0) {\r\n console.log(newGroup.groupId);\r\n throw 'layer and group ids must be unique';\r\n }\r\n parentGroup.itemIdArray.push(newGroup.groupId);\r\n\r\n return newGroup;\r\n }\r\n\r\n /**\r\n *\r\n * @param {LayerBase} newLayer the layer to be added\r\n * @param {Array} parents array\r\n */\r\n addLegendLayer(newLayer: LayerBase, parents: string[]) {\r\n let parent;\r\n if (parents.length > 0) {\r\n parent = parents[parents.length - 1];\r\n } else {\r\n parent = 'root';\r\n }\r\n\r\n this.allLayerLookup[newLayer.id] = newLayer;\r\n this.allLayerArray.push(newLayer);\r\n\r\n /**\r\n * @type {LayerGroup}\r\n */\r\n let parentGroup = this.allGroupLookup[parent];\r\n\r\n parentGroup.groupLayers.push(newLayer);\r\n parentGroup.groupLayersLookup[newLayer.id] = newLayer;\r\n if (parentGroup.itemIdArray.indexOf(newLayer.id) > 0) {\r\n console.log(newLayer.id);\r\n throw 'layer and group ids must be unique';\r\n }\r\n parentGroup.itemIdArray.push(newLayer.id);\r\n\r\n this.layerParentLookup[newLayer.id] = parentGroup;\r\n\r\n }\r\n\r\n\r\n\r\n getLegendHtml(legendId: string, options: iLegendOptions) {\r\n\r\n\r\n let legendHtml = `<ul id=\"${legendId}\" class=\"legend-container\">`;\r\n\r\n legendHtml += `<li>${options.legendTitle}<input type=\"checkbox\" checked id=\"suppress-by-extent-${legendId}\" class=\"suppress-by-extent\">` +\r\n `<label title=\"Suppress layers not visible at this zoom level\" for=\"suppress-by-extent-${legendId}\">` +\r\n `<span></span>` +\r\n `</label></li>`;\r\n\r\n legendHtml += this._buildLegend(this.itemIdArray, this, options.layerDivClasses) + '</ul>';\r\n\r\n return legendHtml;\r\n }\r\n\r\n /**\r\n * @param {Array} itemIds the items to process\r\n * @param {LayerGroup} theGroup new group\r\n * @param {Array} [layerDivClasses=[]] optional classes to apply to the layer divs\r\n * @static\r\n * @returns {string} html string\r\n */\r\n _buildLegend(itemIds: string[], theGroup: LayerGroup, layerDivClasses: string[]): string {\r\n\r\n if (itemIds.length == 0) {\r\n return '';\r\n }\r\n\r\n let theHml = '';\r\n\r\n let itemId = itemIds[0];\r\n\r\n if (theGroup.groupLayersLookup[itemId]) {\r\n\r\n /**\r\n * @type {LayerBase}\r\n */\r\n let lyr = theGroup.groupLayersLookup[itemId];\r\n theHml += `<li id=\"${lyr.id}-layer-li\" class=\"legend-layer-li ${layerDivClasses.join(' ')}\">` + lyr.getLegendDiv() + '</li>';\r\n\r\n\r\n } else if (theGroup.groupGroupsLookup[itemId]) {\r\n /**\r\n * type {LayerGroup}\r\n */\r\n let otherGroup = theGroup.groupGroupsLookup[itemId];\r\n\r\n theHml += `<li>`;\r\n theHml += `<div id=\"${otherGroup.groupId}-legend-layer-div\" ` +\r\n `class=\"legend-layer-group ${layerDivClasses.join(' ')}\">`;\r\n\r\n if (otherGroup.addCheck) {\r\n theHml += `<input type=\"checkbox\" checked id=\"${otherGroup.groupId}-group-chck\">` +\r\n `<label for=\"${otherGroup.groupId}-group-chck\" title=\"Click arrow to expand or collapse\">${otherGroup.groupName}</label>`;\r\n } else {\r\n theHml += `<label title=\"Click arrow to expand or collapse\">${otherGroup.groupName}</label>`;\r\n }\r\n\r\n theHml += `<span title=\"Expand/Collapse\" class=\"layer-group-expander`;\r\n theHml += `${otherGroup.collapse ? ' legend-layer-group-initial-collapse' : ''}\">`;\r\n theHml += otherGroup.collapse ? '▶' : '▼';\r\n theHml += '</span>';\r\n\r\n //parents.push(groupId);\r\n theHml += '<ul>' + this._buildLegend(otherGroup.itemIdArray, otherGroup, layerDivClasses) + '</ul>';\r\n theHml += '</div>';\r\n theHml += '</li>';\r\n }\r\n\r\n return theHml + this._buildLegend(itemIds.slice(1), theGroup, layerDivClasses);\r\n }\r\n}\r\n\r\n\r\n/**\r\n * a wrapper to make a legend\r\n */\r\nexport class LayerLegend {\r\n\r\n $divElement: JQuery;\r\n _legendItems: Array<iLegendItem|LayerBase>;\r\n layerGroup: any;\r\n legendId: string;\r\n\r\n /**``\r\n *\r\n * @param {Array} legendItems array of layers or objects with {groupName: {string}, collapse: {boolean}, addCheck: {boolean}, items: {Array}}\r\n * @param {string} divId the div where the legend should be added\r\n * @param {object} options for legend\r\n * @param {Array} [options.layerDivClasses=[]] optional array of classes to be applied to the layer legend divs for custom styling\r\n * @param {string} [options.legendTitle=Legend] the legend title\r\n * @param {boolean} [options.scaleDependent=true] if legend display is scale dependent\r\n */\r\n constructor(legendItems: Array<iLegendItem|LayerBase>, divId: string, options: iLegendOptions = {}) {\r\n for (let i of legendItems) {\r\n if (typeof i == 'undefined') {\r\n throw 'undefined item passed in array to legend constructor';\r\n }\r\n }\r\n\r\n options.legendTitle = typeof options.legendTitle == 'string' ? options.legendTitle : 'Legend';\r\n options.scaleDependent = typeof options.scaleDependent == 'boolean' ? options.scaleDependent : true;\r\n options.layerDivClasses = options.layerDivClasses || [];\r\n\r\n // if legend display is scale dependent, make sure the mapMove object is initialized first\r\n if (options.scaleDependent) {\r\n mapMove.checkInit();\r\n }\r\n\r\n this.$divElement = $('#' + divId);\r\n\r\n this._legendItems = legendItems;\r\n\r\n this.layerGroup = new LayerGroup();\r\n\r\n this._buildTree(legendItems);\r\n\r\n this.legendId = makeGuid();\r\n\r\n this.$divElement.append(this.layerGroup.getLegendHtml(this.legendId, options));\r\n\r\n for (let l of this.layerGroup.allLayerArray){\r\n l.applyCollapse();\r\n }\r\n\r\n let _this = this;\r\n //// if legend display is scale dependent, make sure the mapMove object is initialized first\r\n if (options.scaleDependent) {\r\n mapMove.checkInit();\r\n\r\n mapMove.addCallback(function (ext, zoom, evt) {\r\n\r\n if (typeof evt == 'undefined' || evt == 'change:resolution') {\r\n for (let lyr of this.layerGroup.allLayerArray) {\r\n let $lyrLi = $('#' + lyr.id + '-layer-li');\r\n if (zoom > lyr.maxZoom || zoom < lyr.minZoom) {\r\n $lyrLi.addClass('layer-not-visible');\r\n } else {\r\n $lyrLi.removeClass('layer-not-visible');\r\n }\r\n }\r\n }\r\n }, this, 100, true, 'legend1');\r\n }\r\n\r\n // <editor-fold desc=\"add event listeners\">\r\n\r\n this.$divElement.find(\".suppress-by-extent\").change(function () {\r\n let legendLayerLis = $('.legend-layer-li');\r\n if (this.checked) {\r\n legendLayerLis.removeClass('layer-force-show');\r\n } else {\r\n legendLayerLis.addClass('layer-force-show');\r\n }\r\n });\r\n\r\n this.$divElement.find('.legend-check').change(function () {\r\n let lyrId = this.id.replace('-legend-layer-check', '');\r\n _this.layerGroup.allLayerLookup[lyrId].visible = this.checked;\r\n });\r\n\r\n this.$divElement.find('.legend-layer-group > input[type=checkbox]').change(function () {\r\n $(this).siblings('ul').find('input[type=checkbox]').prop('checked', this.checked).trigger('change');\r\n });\r\n\r\n this.$divElement.find('.layer-group-expander').click(function () {\r\n let $this = $(this);\r\n $this.removeClass('legend-layer-group-initial-collapse');\r\n\r\n $this.siblings('ul').slideToggle();\r\n\r\n if ($this.hasClass('legend-layer-group-collapsed')){\r\n $this.removeClass('legend-layer-group-collapsed');\r\n $this.html('▼');\r\n } else {\r\n $this.addClass('legend-layer-group-collapsed');\r\n $this.html('▶');\r\n }\r\n });\r\n\r\n this.$divElement.find('.legend-layer-group-initial-collapse').trigger('click');\r\n // </editor-fold>\r\n }\r\n\r\n\r\n /**\r\n * @param {Array} [legendItems=this._layerConfig] the legend items\r\n * @param {Array} [parents=[]] the ordered list of groups in which this item is a member\r\n * @private\r\n */\r\n _buildTree(legendItems: Array<iLegendItem|LayerBase>, parents?: string[]) {\r\n\r\n if (legendItems.length == 0) {\r\n return;\r\n }\r\n\r\n let oneItem = legendItems[0];\r\n\r\n //reset the parent if the item is in the base array\r\n if ((this._legendItems as Array<any>).indexOf(oneItem) > -1 || typeof parents == 'undefined') {\r\n parents = [];\r\n }\r\n\r\n if (typeof (oneItem as iLegendItem).groupName !== 'undefined') {\r\n let groupItem = legendItems[0];\r\n let newGroup = this.layerGroup.addGroup(groupItem, parents);\r\n parents.push(newGroup.groupId);\r\n this._buildTree((oneItem as iLegendItem).items, parents);\r\n } else {\r\n /**\r\n * @type {LayerBase}\r\n */\r\n let layerItem: LayerBase = legendItems[0] as LayerBase;\r\n\r\n this.layerGroup.addLegendLayer(layerItem, parents);\r\n }\r\n\r\n this._buildTree(legendItems.slice(1), parents);\r\n }\r\n}\r\n\r\nnm.LayerLegend = LayerLegend;\r\nexport default LayerLegend;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/collections/LayerLegend.ts","import {LayerBase, LayerBaseOptions} from './LayerBase';\r\nimport mapMove from '../olHelpers/mapMove';\r\nimport MapMoveCls from '../olHelpers/mapMoveCls'\r\nimport provide from '../util/provide';\r\nimport ol = require('custom-ol');\r\nimport $ = require('jquery');\r\n\r\nconst nm = provide('layers');\r\n\r\nexport interface makeMapMoveParams {\r\n /**\r\n *\r\n * @param lyr\r\n * @param extent\r\n * @param zoomLevel\r\n */\r\n (lyr: LayerBaseVector, extent: {minX: number, minY: number, maxX: number, maxY: number}, zoomLevel?: number): any\r\n}\r\n\r\n\r\n\r\nexport interface LayerBaseVectorOptions extends LayerBaseOptions{\r\n autoLoad?: boolean;\r\n style?: ol.style.Style|Array<ol.style.Style>|ol.StyleFunction;\r\n onDemand?: boolean;\r\n onDemandDelay?: number;\r\n mapMoveMakeGetParams?: makeMapMoveParams;\r\n mapMoveObj?: MapMoveCls;\r\n renderOrder?: (a: ol.Feature, b: ol.Feature) => number;\r\n\r\n}\r\n\r\n\r\n\r\n/**\r\n * The Vector layer base\r\n * @augments LayerBase\r\n * @abstract\r\n */\r\nexport class LayerBaseVector extends LayerBase {\r\n _olLayer: ol.layer.Vector;\r\n _source: ol.source.Vector;\r\n _style: ol.style.Style|Array<ol.style.Style>|ol.StyleFunction;\r\n _autoLoad: boolean;\r\n _onDemand: boolean;\r\n _onDemandDelay: number;\r\n _mapMoveMakeGetParams: makeMapMoveParams;\r\n _mapMoveParams: any;\r\n _mapMove: MapMoveCls;\r\n _projectionMap: ol.proj.Projection;\r\n _projection4326: ol.proj.Projection;\r\n\r\n\r\n\r\n /**\r\n * The base vector layer\r\n * @param {string} url - pass an empty string to prevent default load and add from a json source\r\n * @param {object} options - config\r\n * @param {string} [options.id] - layer id\r\n * @param {string} [options.name=Unnamed Layer] - layer name\r\n * @param {number} [options.opacity=1] - opacity\r\n * @param {boolean} [options.visible=true] - default visible\r\n * @param {number} [options.minZoom=undefined] - min zoom level, 0 - 28\r\n * @param {number} [options.maxZoom=undefined] - max zoom level, 0 - 28\r\n * @param {object} [options.params={}] the get parameters to include to retrieve the layer\r\n * @param {number} [options.zIndex=0] the z index for the layer\r\n * @param {function} [options.loadCallback] function to call on load, context this is the layer object\r\n * @param {boolean} [options.legendCollapse=false] if the legend item should be initially collapsed\r\n * @param {boolean} [options.legendCheckbox=true] if the legend item should have a checkbox for visibility\r\n * @param {boolean} [options.legendContent] additional content to add to the legend\r\n *\r\n * @param {boolean} [options.autoLoad=false] if the layer should auto load if not visible\r\n * @param {object} [options.style=undefined] the layer style, use openlayers default style if not defined\r\n * @param {boolean} [options.onDemand=false] if the layer should be loaded by extent on map move\r\n * @param {number} [options.onDemandDelay=300] delay before the map move callback should be called\r\n * @param {mapMoveMakeGetParams} [options.mapMoveMakeGetParams=function(lyr, extent, zoomLevel){}] function to create additional map move params\r\n * @param {MapMoveCls} [options.mapMoveObj=mapMove] alternate map move object for use with multi map pages\r\n *\r\n */\r\n constructor(url: string, options: LayerBaseVectorOptions = {}) {\r\n super(url, options);\r\n\r\n options = options as LayerBaseVectorOptions;\r\n\r\n //prevent regular load if no url has been provided\r\n if (this.url.trim() == '') {\r\n this._loaded = true;\r\n }\r\n\r\n this._style = typeof options.style == 'undefined' ? undefined : options.style;\r\n\r\n if (this.visible) {\r\n this._autoLoad = true;\r\n } else {\r\n this._autoLoad = (typeof options['autoLoad'] == 'boolean' ? options['autoLoad'] : false);\r\n }\r\n\r\n this._onDemand = typeof options.onDemand == 'boolean' ? options.onDemand : false;\r\n this._onDemandDelay = typeof options.onDemandDelay == 'number' ? options.onDemandDelay : 300;\r\n\r\n if (options.mapMoveObj) {\r\n this._mapMove = options.mapMoveObj;\r\n } else {\r\n this._mapMove = this._onDemand ? mapMove : undefined;\r\n }\r\n\r\n\r\n this._mapMoveMakeGetParams = typeof options.mapMoveMakeGetParams == 'function' ? options.mapMoveMakeGetParams :\r\n function () {return {};};\r\n\r\n if (this._onDemand) {\r\n this._loaded = true;\r\n this._mapMoveParams = {};\r\n this._mapMove.checkInit();\r\n this._mapMove.addVectorLayer(this);\r\n }\r\n\r\n this._source = new ol.source.Vector();\r\n\r\n\r\n this._olLayer = new ol.layer.Vector(\r\n {\r\n source: this._source,\r\n visible: this.visible,\r\n style: this.style,\r\n minResolution: this._minResolution,\r\n maxResolution: this._maxResolution,\r\n renderOrder: options.renderOrder\r\n }\r\n );\r\n\r\n this.olLayer.setZIndex(this._zIndex);\r\n\r\n this._projectionMap = null;\r\n this._projection4326 = new ol.proj.Projection({code: \"EPSG:4326\"});\r\n this._olLayer.setOpacity(this.opacity)\r\n }\r\n\r\n /**\r\n * dummy to be overridden\r\n * @param {object} featureCollection - geojson or esrijson object\r\n */\r\n addFeatures(featureCollection: Object) {\r\n console.log('Layer vector base addFeatures is a placeholder and does nothing');\r\n }\r\n\r\n /**\r\n * Before call to map move callback, can prevent call by returning false\r\n * @param {number} zoom - zoom level\r\n * @param {string} [evtType=undefined] undefined for initial load, otherwise one of 'change:center', 'change:resolution'\r\n * @returns {boolean} if the call should proceed\r\n */\r\n mapMoveBefore(zoom: number, evtType: string) {\r\n if (this.minZoom !== undefined) {\r\n if (zoom < this.minZoom) {\r\n return false;\r\n }\r\n }\r\n\r\n if (this.maxZoom !== undefined) {\r\n if (zoom > this.maxZoom) {\r\n return false;\r\n }\r\n }\r\n\r\n return this.visible;\r\n }\r\n\r\n /**\r\n * callback to generate the parameters passed in the get request\r\n * @param {object} extent - extent object\r\n * @param {number} extent.minX - minX\r\n * @param {number} extent.minY - minY\r\n * @param {number} extent.maxX - maxX\r\n * @param {number} extent.maxY - maxY\r\n * @param {number} zoomLevel - zoom level\r\n */\r\n mapMoveMakeGetParams(extent: {minX: number, minY: number, maxX: number, maxY: number}, zoomLevel: number) {\r\n this._mapMoveParams = {};\r\n $.extend(this._mapMoveParams, this.params);\r\n $.extend(this._mapMoveParams, this._mapMoveMakeGetParams(this, extent, zoomLevel));\r\n }\r\n\r\n /**\r\n * callback function on map move\r\n * @param {object} d - the json response\r\n */\r\n mapMoveCallback(d: Object) {\r\n if (this.source) {\r\n this._source.clear();\r\n }\r\n }\r\n\r\n /**\r\n * clear features in the layer\r\n */\r\n clear() {\r\n if (this._source) {\r\n this._source.clear();\r\n }\r\n }\r\n\r\n /**\r\n * get on demand delay in miliseconds\r\n */\r\n get onDemandDelay(): number {\r\n return this._onDemandDelay;\r\n }\r\n\r\n /**\r\n * get if the layer is autoloaded\r\n */\r\n get autoLoad(): boolean {\r\n return this._autoLoad;\r\n }\r\n\r\n /**\r\n * get the style definition\r\n */\r\n get style(): ol.StyleFunction|Array<ol.style.Style>|ol.style.Style {\r\n return this._style;\r\n }\r\n\r\n /**\r\n * set the style\r\n * @param style - the style or function\r\n */\r\n set style(style: ol.StyleFunction|Array<ol.style.Style>|ol.style.Style) {\r\n this._style = style;\r\n this.olLayer.setStyle(this._style as ol.style.Style);\r\n }\r\n\r\n /**\r\n * get the map CRS if it is defined by the map move object\r\n */\r\n get mapCrs(): string {\r\n return this.mapProj == null ? null : this.mapProj.getCode();\r\n }\r\n\r\n get mapProj(): ol.proj.Projection{\r\n if (this._projectionMap != null){\r\n return this._projectionMap;\r\n }\r\n\r\n if (this._mapMove) {\r\n this._projectionMap = this._mapMove.map.getView().getProjection();\r\n return this._projectionMap;\r\n } else {\r\n return null;\r\n }\r\n\r\n }\r\n\r\n /**\r\n * get the map move object\r\n * @type {MapMoveCls|*}\r\n */\r\n get mapMove(): MapMoveCls {\r\n return this._mapMove;\r\n }\r\n\r\n /**\r\n * map move params\r\n * @type {object}\r\n */\r\n get mapMoveParams() {\r\n return this._mapMoveParams;\r\n }\r\n\r\n get visible(): boolean{\r\n return this._visible;\r\n }\r\n\r\n /**\r\n * Set the layer visibility\r\n * @type {boolean}\r\n * @override\r\n */\r\n set visible(visibility) {\r\n super.setVisible(visibility);\r\n\r\n if (this._onDemand) {\r\n this.mapMove.triggerLyrLoad(this);\r\n }\r\n }\r\n\r\n /**\r\n * get the layer vector source\r\n * @override\r\n */\r\n get source(): ol.source.Vector {\r\n return this.getSource() as ol.source.Vector;\r\n }\r\n\r\n /**\r\n * array of ol features\r\n */\r\n get features(): Array<ol.Feature> {\r\n return this.source.getFeatures();\r\n }\r\n\r\n /**\r\n *\r\n */\r\n get olLayer(): ol.layer.Vector {\r\n return super.getOlLayer() as ol.layer.Vector;\r\n }\r\n\r\n protected setZIndex(newZ: number) {\r\n this.olLayer.setZIndex(newZ);\r\n }\r\n}\r\n\r\nnm.LayerBaseVector = LayerBaseVector;\r\nexport default LayerBaseVector;\r\n\r\n\r\n\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/layers/LayerBaseVector.ts","/**\r\n * Created by gavorhes on 12/14/2015.\r\n */\r\n\r\nimport * as colors from '../util/colors';\r\nimport provide from '../util/provide';\r\nimport ol = require('custom-ol');\r\nimport LayerItsInventory from \"../layers/LayerItsInventory\";\r\nlet nm = provide('collections');\r\n\r\n\r\nlet itsConfig = [\r\n {\r\n name: 'Camera',\r\n itsType: 'cctv',\r\n minZoom: 11,\r\n itsIconConfig: {\r\n prop: 'owner',\r\n defaultName: 'WisDOT',\r\n defaultIcon: 'cctv.png',\r\n iconArray: [\r\n ['City of Madison', 'Madison', 'cctv-mad.png']\r\n ]\r\n }\r\n },\r\n {\r\n name: 'Message Signs',\r\n itsType: 'DMS',\r\n minZoom: 11,\r\n itsIconConfig: {\r\n prop: 'dmsType',\r\n defaultName: 'DMS',\r\n defaultIcon: 'dms.png',\r\n iconArray: [\r\n ['pcms', 'PCMS', 'pcms.png']\r\n ]\r\n }\r\n },\r\n {name: 'ATR', itsType: 'atr', minZoom: 8, itsIcon: 'atr.png', visible: false},\r\n {name: 'Lighting', itsType: 'light', minZoom: 16, itsIcon: 'streetlight.png', visible: false, onDemand: true},\r\n {name: 'Bluetooth', itsType: 'blue', minZoom: 10, itsIcon: 'bluetooth.png', visible: false},\r\n {name: 'Cabinets', itsType: 'cabinet', minZoom: 10, itsIcon: 'cabinet.png', visible: false},\r\n {name: 'Hut', itsType: 'hut', minZoom: 10, itsIcon: 'hut.png', visible: false},\r\n {name: 'Vault', itsType: 'vault', minZoom: 13, itsIcon: 'vault.png', visible: false},\r\n {name: 'Advisory Radio', itsType: 'har', minZoom: 10, itsIcon: 'har.png', visible: false},\r\n {\r\n name: 'Loop Detectors',\r\n itsType: 'loop',\r\n legendCollapse: true,\r\n minZoom: 14,\r\n visible: false,\r\n itsIconConfig: {\r\n prop: 'dtctrType',\r\n defaultName: 'Other',\r\n defaultIcon: 'loopdetectorother.png',\r\n iconArray: [\r\n ['detector', 'Detector', 'loopdetector.png'],\r\n ['long', 'Long', 'loopdetectorlong.png'],\r\n ['zone', 'Zone', 'loopdetectorzone.png']\r\n ]\r\n },\r\n onDemand: true\r\n },\r\n {name: 'Microwave', itsType: 'microwave', minZoom: 14, itsIcon: 'microwave.png', visible: false},\r\n {name: 'Pull Box', itsType: 'pull', minZoom: 14, itsIcon: 'pullbox.png', visible: false, onDemand: true},\r\n {name: 'RWIS', itsType: 'rwis', minZoom: 7, itsIcon: 'rwis.png', visible: false},\r\n {name: 'Ramp Gates', itsType: 'gate', minZoom: 10, itsIcon: 'rampgate.png', visible: false},\r\n {name: 'Ramp Meter', itsType: 'meter', minZoom: 10, itsIcon: 'rampmeter.png', visible: false},\r\n {name: 'Signal', itsType: 'signal', minZoom: 13, itsIcon: 'signal.png', visible: false, onDemand: true},\r\n {name: 'Tower', itsType: 'tower', minZoom: 10, itsIcon: 'tower.png', visible: false},\r\n {\r\n name: 'Trench',\r\n itsType: 'trench',\r\n onDemand: true,\r\n visible: false,\r\n onDemandDelay: 500,\r\n minZoom: 15,\r\n legendCollapse: true,\r\n itsLineConfig: {\r\n prop: 'owner',\r\n defaultName: 'Other',\r\n //defaultWidth: 7,\r\n defaultColor: colors.hexAlphaToRgbOrRgba('#747474', 0.8),\r\n lineArray: [\r\n ['WisDOT', 'WisDOT', colors.hexAlphaToRgbOrRgba('#FF032F', 0.7)],\r\n ['WIN', 'WIN', colors.hexAlphaToRgbOrRgba('#FFC632', 0.7)],\r\n ['USXchange', 'USXchange', colors.hexAlphaToRgbOrRgba('#2DFF46', 0.7)],\r\n ['AT&T', 'AT&T', colors.hexAlphaToRgbOrRgba('#ff2be5', 0.7)],\r\n ['Touch America', 'Touch America', colors.hexAlphaToRgbOrRgba('#52f3ff', 0.7)],\r\n ['Qwest', 'Qwest', colors.hexAlphaToRgbOrRgba('#9278ff', 0.7)],\r\n ['McLeodUSA', 'McLeodUSA', colors.hexAlphaToRgbOrRgba('#2926FF', 0.7)],\r\n ['CINC', 'CINC', colors.hexAlphaToRgbOrRgba('#CB00FF', 0.7)],\r\n ['City of Madison', 'Madison', colors.hexAlphaToRgbOrRgba('#000380', 0.7)]\r\n ]\r\n }\r\n }\r\n];\r\n\r\n\r\nexport class ItsLayerCollection {\r\n _map: ol.Map;\r\n _layers: Array<LayerItsInventory>;\r\n\r\n\r\n /**\r\n * Create a collection of all ITS layers\r\n * @param {ol.Map} theMap the openlayers map\r\n * @param {Array} [exclude=[]] array of Its layer identifiers to exclude\r\n *\r\n * BLUE Bluetooth Detector - Bluetooth Detector\r\n * CABINET Cabinets - The cabinets\r\n * CCTV Camera - Traffic Cameras\r\n * HUT Communication Hut - Communication Hut\r\n * VAULT Communication Vault - The communication vaults\r\n * HAR Highway Advisory Radio - Advisory Radios\r\n * LIGHT Lighting - Lighting\r\n * LOOP Loop Detectors - Loop Detectors\r\n * DMS Message Board - Message Boards and Signs\r\n * MICROWAVE Microwave Detector - Microwave Detectors\r\n * PULL Pull Box - A pull box\r\n * RWIS RWIS - Road weather information system\r\n * GATE Ramp Gate - The ramp Gates\r\n * METER Ramp Meter - The ramp meters\r\n * SIGNAL Signal - Traffic Signal\r\n * TOWER Tower - The towers\r\n * TRENCH\r\n */\r\n constructor(theMap: ol.Map, exclude?: Array<string>) {\r\n\r\n this._map = theMap;\r\n this._layers = [];\r\n\r\n exclude = typeof exclude == 'object' ? exclude : [];\r\n\r\n for (let i = 0; i < itsConfig.length; i++) {\r\n let lyrConfig = itsConfig[i];\r\n let addLayer = true;\r\n\r\n for (let j = 0; j < exclude.length; j++) {\r\n if (exclude[j] == lyrConfig.itsType) {\r\n addLayer = false;\r\n break;\r\n }\r\n }\r\n\r\n if (addLayer) {\r\n let inventLyr = new LayerItsInventory(lyrConfig);\r\n this._map.addLayer(inventLyr.olLayer);\r\n this._layers.push(inventLyr);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Return the array of layers in this collection\r\n * @returns {Array<LayerItsInventory>} an array of layers\r\n */\r\n get layers(): LayerItsInventory[] {\r\n return this._layers;\r\n }\r\n\r\n}\r\n\r\nnm.ItsLayerCollection = ItsLayerCollection;\r\nexport default ItsLayerCollection;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/collections/ItsLayerCollection.ts","/**\r\n * Created by gavorhes on 11/2/2015.\r\n */\r\n\r\nimport {LayerBaseVector, LayerBaseVectorOptions} from './LayerBaseVector';\r\nimport provide from '../util/provide';\r\nimport ol = require('custom-ol');\r\nimport $ = require('jquery');\r\nimport {MapMoveCls} from \"../olHelpers/mapMoveCls\";\r\nimport * as proj from '../olHelpers/projections';\r\nimport {proj3857} from \"../olHelpers/projections\";\r\n\r\nlet nm = provide('layers');\r\n\r\nexport interface crsTransform {\r\n dataProjection?: ol.proj.Projection;\r\n featureProjection?: ol.proj.Projection;\r\n}\r\n\r\n\r\nexport interface LayerBaseVectorGeoJsonOptions extends LayerBaseVectorOptions {\r\n transform?: crsTransform;\r\n mapMoveObj?: MapMoveCls;\r\n}\r\n\r\n/**\r\n * The Vector GeoJson Layer\r\n * @augments LayerBaseVector\r\n */\r\nexport class LayerBaseVectorGeoJson extends LayerBaseVector {\r\n _geoJsonFormat: ol.format.GeoJSON;\r\n _transform: crsTransform;\r\n\r\n /**\r\n * @param {string|null} url - resource url, set to '' to make blank layer\r\n * @param {object} options - config\r\n * @param {string} [options.id] - layer id\r\n * @param {string} [options.name=Unnamed Layer] - layer name\r\n * @param {number} [options.opacity=1] - opacity\r\n * @param {boolean} [options.visible=true] - default visible\r\n * @param {number} [options.minZoom=undefined] - min zoom level, 0 - 28\r\n * @param {number} [options.maxZoom=undefined] - max zoom level, 0 - 28\r\n * @param {object} [options.params={}] the get parameters to include to retrieve the layer\r\n * @param {number} [options.zIndex=0] the z index for the layer\r\n * @param {function} [options.loadCallback] function to call on load, context this is the layer object\r\n * @param {boolean} [options.legendCollapse=false] if the legend item should be initially collapsed\r\n * @param {boolean} [options.legendCheckbox=true] if the legend item should have a checkbox for visibility\r\n * @param {boolean} [options.legendContent] additional content to add to the legend\r\n *\r\n * @param {boolean} [options.autoLoad=false] if the layer should auto load if not visible\r\n * @param {object} [options.style=undefined] the layer style, use openlayers default style if not defined\r\n * @param {boolean} [options.onDemand=false] if the layer should be loaded by extent on map move\r\n * @param {number} [options.onDemandDelay=300] delay before the map move callback should be called\r\n *\r\n * @param {object} [options.transform={}] SR transform, set as false for no transform\r\n * @param {string} options.transform.dataProjection=EPSG:4326 the data CRS\r\n * @param {string} options.transform.featureProjection=EPSG:3857 the feature/map CRS\r\n * @param {mapMoveMakeGetParams} [options.mapMoveMakeGetParams=function(lyr, extent, zoomLevel){}] function to create additional map move params\r\n * @param {MapMoveCls} [options.mapMoveObj=mapMove] alternate map move object for use with multi map pages\r\n */\r\n constructor(url?: string, options: LayerBaseVectorGeoJsonOptions = {}) {\r\n url = typeof url == 'string' ? url : '';\r\n super(url, options);\r\n\r\n this._geoJsonFormat = new ol.format.GeoJSON();\r\n\r\n this._transform = options.transform || {};\r\n this._transform.dataProjection = this._transform.dataProjection || proj.proj4326;\r\n this._transform.featureProjection = this._transform.featureProjection || proj3857;\r\n\r\n if (this.autoLoad || this.visible) {\r\n this._load();\r\n }\r\n }\r\n\r\n /**\r\n * add feature collection\r\n * @param {object} featureCollection - as geojson object\r\n */\r\n addFeatures(featureCollection: any) {\r\n this.source.addFeatures(\r\n this._geoJsonFormat.readFeatures(featureCollection,\r\n {dataProjection: this._transform.dataProjection,\r\n featureProjection: this._transform.featureProjection}\r\n )\r\n );\r\n }\r\n\r\n\r\n /**\r\n * trigger load features\r\n * @protected\r\n * @returns {boolean} if already loaded\r\n */\r\n _load() {\r\n\r\n if (super._load()) {\r\n return true;\r\n }\r\n\r\n $.get(this._url,\r\n this._params,\r\n (d) => {\r\n this.addFeatures(d);\r\n this.loadCallback(this);\r\n }, 'json').fail(\r\n function () {\r\n this._loaded = false;\r\n }\r\n );\r\n\r\n return false;\r\n }\r\n\r\n /**\r\n * callback function on map move\r\n * @param {object} d the json response\r\n * @override\r\n */\r\n mapMoveCallback(d: Object) {\r\n super.mapMoveCallback(d);\r\n this._source.addFeatures(this._geoJsonFormat.readFeatures(d,\r\n {featureProjection: this._transform.featureProjection, dataProjection: this._transform.dataProjection}));\r\n }\r\n}\r\n\r\nnm.LayerBaseVectorGeoJson = LayerBaseVectorGeoJson;\r\nexport default LayerBaseVectorGeoJson;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/layers/LayerBaseVectorGeoJson.ts","/**\r\n * Created by gavorhes on 12/8/2015.\r\n */\r\n\r\nimport {LayerBaseVectorGeoJson, LayerBaseVectorGeoJsonOptions} from './LayerBaseVectorGeoJson';\r\nimport mapPopup from '../olHelpers/mapPopup';\r\nimport provide from '../util/provide';\r\nimport ol = require('custom-ol');\r\nimport $ = require('jquery');\r\nimport {proj4326, proj3857} from '../olHelpers/projections'\r\n\r\nlet nm = provide('layers');\r\n\r\n\r\nexport interface iLineStyle {\r\n color: string;\r\n width?: number\r\n}\r\n\r\nexport interface iMultiConfig {\r\n prop: string;\r\n defaultName: string;\r\n}\r\n\r\nexport interface iIconConfig extends iMultiConfig {\r\n defaultIcon: string;\r\n iconArray: string[][]\r\n}\r\n\r\nexport interface iLineConfig extends iMultiConfig {\r\n defaultColor: string;\r\n defaultWidth?: number;\r\n lineArray: any[][]\r\n}\r\n\r\nexport interface iLayerItsInventory extends LayerBaseVectorGeoJsonOptions {\r\n itsType: string;\r\n addPopup?: boolean;\r\n itsIcon?: string;\r\n itsLineStyle?: iLineStyle;\r\n itsIconConfig?: iIconConfig;\r\n itsLineConfig?: iLineConfig\r\n}\r\n\r\n\r\n\r\n\r\nfunction checkStyleNumber(itsIcon: string, itsLineStyle: iLineStyle, itsIconConfig: iIconConfig, itsLineConfig: iLineConfig) {\r\n \"use strict\";\r\n\r\n //make sure one and only one configuration is defined;\r\n let configCount = 0;\r\n if (typeof itsIcon == 'string') {\r\n configCount++;\r\n }\r\n\r\n if (typeof itsLineStyle == 'object') {\r\n itsLineStyle.width = typeof itsLineStyle.width == 'number' ? itsLineStyle.width : 5;\r\n itsLineStyle.color = typeof itsLineStyle.color == 'string' ? itsLineStyle.color : 'red';\r\n configCount++;\r\n }\r\n\r\n if (typeof itsIconConfig == 'object') {\r\n itsIconConfig.defaultName = itsIconConfig.defaultName || 'Other';\r\n\r\n if (typeof itsIconConfig.iconArray == 'undefined') {\r\n itsIconConfig.iconArray = [];\r\n }\r\n\r\n configCount++;\r\n }\r\n\r\n if (typeof itsLineConfig == 'object') {\r\n itsLineConfig.defaultName = itsLineConfig.defaultName || 'Other';\r\n itsLineConfig.defaultWidth = itsLineConfig.defaultWidth || 5;\r\n itsLineConfig.defaultColor = itsLineConfig.defaultColor || 'red';\r\n\r\n\r\n if (typeof itsLineConfig.lineArray == 'undefined') {\r\n itsLineConfig.lineArray = [];\r\n }\r\n\r\n // set the width if not defined\r\n for (let i = 0; i < itsLineConfig.lineArray.length; i++) {\r\n if (itsLineConfig.lineArray[i].length == 3) {\r\n itsLineConfig.lineArray[i].push(5);\r\n }\r\n }\r\n\r\n configCount++;\r\n }\r\n\r\n if (configCount > 1) {\r\n throw 'Only one style config can be defined';\r\n }\r\n}\r\n\r\n/**\r\n *\r\n * @param {string} [itsIcon=undefined] the ITS device type icon image see https://transportal.cee.wisc.edu/its/inventory/icons/\r\n *\r\n * @param {object} [itsLineStyle=undefined] A single line style\r\n * @param {string} itsLineStyle.color the line color as rgb or hex\r\n * @param {number} [itsLineStyle.width=5] the line width\r\n *\r\n * @param {object} [itsIconConfig=undefined] The icon subtype configuration\r\n * @param {string} itsIconConfig.prop The property used to define icon attribute symbolization\r\n * @param {string} itsIconConfig.defaultName The default name to be used if no other match is found\r\n * @param {string} itsIconConfig.defaultIcon The default icon to be used for no other matches\r\n * @param {object} [itsIconConfig.iconArray=[]] an array, items with format [property, name, img]\r\n *\r\n * @param {object} [itsLineConfig=undefined] The property used to define icon attribute symbolization\r\n * @param {string} itsLineConfig.prop The property used to define icon attribute symbolization\r\n * @param {string} [itsLineConfig.defaultName=Other] The default name to be used if no other match is found\r\n * @param {string} [itsLineConfig.defaultColor=red] The default line color to be used for no other matches\r\n * @param {number} [itsLineConfig.defaultWidth=5] The default line width to be used for no other matches\r\n * @param {object} [itsLineConfig.lineArray=[]] an array, items with format [property, name, color, optional width]\r\n * @returns {*} undefined, style, or style function\r\n */\r\nfunction defineStyle(itsIcon: string, itsLineStyle: iLineStyle, itsIconConfig: iIconConfig, itsLineConfig: iLineConfig): ol.style.Style | Array<ol.style.Style> | ol.StyleFunction {\r\n \"use strict\";\r\n checkStyleNumber(itsIcon, itsLineStyle, itsIconConfig, itsLineConfig);\r\n\r\n let _iconUrlRoot = 'https://transportal.cee.wisc.edu/its/inventory/icons/';\r\n\r\n if (itsIcon) {\r\n return new ol.style.Style({\r\n image: new ol.style.Icon(\r\n {\r\n src: _iconUrlRoot + itsIcon,\r\n crossOrigin: 'anonymous'\r\n }\r\n )\r\n });\r\n } else if (itsLineStyle) {\r\n return new ol.style.Style({\r\n stroke: new ol.style.Stroke({\r\n color: itsLineStyle.color,\r\n width: itsLineStyle.width\r\n })\r\n });\r\n } else if (itsIconConfig) {\r\n return function (feature: ol.Feature) {\r\n let symbolProp = feature.getProperties()[itsIconConfig.prop];\r\n let iconUrl = _iconUrlRoot + itsIconConfig.defaultIcon;\r\n\r\n for (let i = 0; i < itsIconConfig.iconArray.length; i++) {\r\n let thisProp = itsIconConfig.iconArray[i];\r\n\r\n if (symbolProp.trim().toLocaleLowerCase() == thisProp[0].trim().toLocaleLowerCase()) {\r\n iconUrl = _iconUrlRoot + thisProp[2];\r\n break;\r\n }\r\n }\r\n\r\n return [new ol.style.Style({\r\n image: new ol.style.Icon(\r\n {\r\n src: iconUrl,\r\n crossOrigin: 'anonymous'\r\n }\r\n )\r\n })];\r\n };\r\n } else if (itsLineConfig) {\r\n return function (feature: ol.Feature) {\r\n let symbolProp = feature.getProperties()[itsLineConfig.prop];\r\n let colr = itsLineConfig.defaultColor || 'red';\r\n let width = itsLineConfig.defaultWidth || 5;\r\n\r\n for (let i = 0; i < itsLineConfig.lineArray.length; i++) {\r\n let thisProp = itsLineConfig.lineArray[i];\r\n\r\n if (symbolProp.trim().toLocaleLowerCase() == thisProp[0].trim().toLocaleLowerCase()) {\r\n colr = thisProp[2];\r\n width = thisProp[3];\r\n break;\r\n }\r\n }\r\n\r\n return [new ol.style.Style({\r\n stroke: new ol.style.Stroke({\r\n color: colr,\r\n width: width\r\n })\r\n })];\r\n };\r\n } else {\r\n return undefined;\r\n }\r\n}\r\n\r\nfunction defineLegend(itsIcon: string, itsLineStyle: iLineStyle, itsIconConfig: iIconConfig, itsLineConfig: iLineConfig) {\r\n \"use strict\";\r\n\r\n let iconHeight = 17;\r\n\r\n checkStyleNumber(itsIcon, itsLineStyle, itsIconConfig, itsLineConfig);\r\n\r\n let _iconUrlRoot = 'https://transportal.cee.wisc.edu/its/inventory/icons/';\r\n\r\n if (itsIcon) {\r\n return `<img src=\"${_iconUrlRoot + itsIcon}\" class=\"legend-layer-icon\" height=\"${iconHeight}\">`;\r\n } else if (itsLineStyle) {\r\n return `<hr style=\"height: ${itsLineStyle.width}px; background-color: ${itsLineStyle.color}\">`;\r\n } else if (itsIconConfig) {\r\n let outHtml = '';\r\n outHtml += '<ul>';\r\n\r\n for (let a of itsIconConfig.iconArray) {\r\n outHtml += `<li><span class=\"legend-layer-subitem\">${a[1]}</span><img src=\"${_iconUrlRoot + a[2]}\" class=\"legend-layer-icon\" height=\"${iconHeight}\">`;\r\n }\r\n\r\n outHtml += `<li><span class=\"legend-layer-subitem\">${itsIconConfig.defaultName}</span>` +\r\n `<img src=\"${_iconUrlRoot + itsIconConfig.defaultIcon}\" class=\"legend-layer-icon\" height=\"${iconHeight}\"></li>`;\r\n\r\n outHtml += '</ul>';\r\n\r\n return outHtml;\r\n } else if (itsLineConfig) {\r\n let outHtml = '';\r\n outHtml += '<ul>';\r\n for (let ls of itsLineConfig.lineArray) {\r\n outHtml += `<li><span class=\"legend-layer-subitem\">${ls[1]}</span>` +\r\n `<hr style=\"height: ${ls[3]}px; background-color: ${ls[2]}\">`;\r\n }\r\n outHtml += `<li><span class=\"legend-layer-subitem\">${itsLineConfig.defaultName}</span>` +\r\n `<hr style=\"height: ${itsLineConfig.defaultWidth}px; background-color: ${itsLineConfig.defaultColor}\"></li>`;\r\n outHtml += '</ul>';\r\n\r\n return outHtml;\r\n } else {\r\n return '';\r\n }\r\n}\r\n\r\n\r\n/**\r\n * Its Layer class\r\n * @augments LayerBaseVectorGeoJson\r\n */\r\nexport class LayerItsInventory extends LayerBaseVectorGeoJson {\r\n\r\n /**\r\n * ITS device layer, types available at https://transportal.cee.wisc.edu/its/inventory/\r\n * @param {object} options - config\r\n * @param {string} [options.id] - layer id\r\n * @param {string} [options.name=Unnamed Layer] - layer name\r\n * @param {number} [options.opacity=1] - opacity\r\n * @param {boolean} [options.visible=true] - default visible\r\n * @param {number} [options.minZoom=undefined] - min zoom level, 0 - 28\r\n * @param {number} [options.maxZoom=undefined] - max zoom level, 0 - 28\r\n * @param {object} [options.params={}] the get parameters to include to retrieve the layer\r\n * @param {number} [options.zIndex=0] the z index for the layer\r\n * @param {function} [options.loadCallback] function to call on load, context this is the layer object\r\n * @param {boolean} [options.legendCollapse=false] if the legend item should be initially collapsed\r\n * @param {boolean} [options.legendCheckbox=true] if the legend item should have a checkbox for visibility\r\n * @param {boolean} [options.legendContent] additional content to add to the legend\r\n *\r\n * @param {boolean} [options.autoLoad=false] if the layer should auto load if not visible\r\n * @param {object|*} [options.style=undefined] the layer style, use openlayers default style if not defined\r\n * @param {boolean} [options.onDemand=false] if the layer should be loaded by extent on map move\r\n * @param {number} [options.onDemandDelay=300] delay before the map move callback should be called\r\n * @param {MapMoveCls} [options.mapMoveObj=mapMove] alternate map move object for use with multi map pages\r\n *\r\n * @param {string} options.itsType the ITS device type, use the url flag at https://transportal.cee.wisc.edu/its/inventory/\r\n * @param {boolean} [options.addPopup=true] if the popup should be added automatically\r\n *\r\n * @param {string} [options.itsIcon=undefined] the ITS device type icon image see https://transportal.cee.wisc.edu/its/inventory/icons/\r\n *\r\n * @param {object} [options.itsLineStyle=undefined] A single line style\r\n * @param {string} options.itsLineStyle.color the line color as rgb or hex\r\n * @param {number} [options.itsLineStyle.width=5] the line width\r\n *\r\n * @param {object} [options.itsIconConfig=undefined] The icon subtype configuration\r\n * @param {string} options.itsIconConfig.prop The property used to define icon attribute symbolization\r\n * @param {string} options.itsIconConfig.defaultName The default name to be used if no other match is found\r\n * @param {string} options.itsIconConfig.defaultIcon The default icon to be used for no other matches\r\n * @param {object} [options.itsIconConfig.iconArray=[]] an array, items with format [property, name, img]\r\n *\r\n * @param {object} [options.itsLineConfig=undefined] The property used to define icon attribute symbolization\r\n * @param {string} options.itsLineConfig.prop The property used to define icon attribute symbolization\r\n * @param {string} [options.itsLineConfig.defaultName=Other] The default name to be used if no other match is found\r\n * @param {string} [options.itsLineConfig.defaultColor=red] The default line color to be used for no other matches\r\n * @param {number} [options.itsLineConfig.defaultWidth] The default line width to be used for no other matches\r\n * @param {object} [options.itsLineConfig.lineArray=[]] an array, items with format [property, name, color, optional width = 5]\r\n */\r\n constructor(options: iLayerItsInventory) {\r\n if (typeof options.itsType !== 'string') {\r\n throw 'its type must be defined';\r\n }\r\n\r\n options.transform = {dataProjection: proj4326, featureProjection: proj3857};\r\n\r\n let addToLegend = '';\r\n\r\n // define a style with the helper function if it is not explicitly defined\r\n if (typeof options.style == 'undefined') {\r\n options.style = defineStyle(\r\n options.itsIcon, options.itsLineStyle, options.itsIconConfig, options.itsLineConfig\r\n );\r\n addToLegend = defineLegend(\r\n options.itsIcon, options.itsLineStyle, options.itsIconConfig, options.itsLineConfig\r\n );\r\n }\r\n\r\n options.params = typeof options.params == 'object' ? options.params : {};\r\n $.extend(options.params, {format: 'JSON', resource: options.itsType});\r\n\r\n super('https://transportal.cee.wisc.edu/its/inventory/', options);\r\n\r\n //add any additional content to the legend\r\n this.addLegendContent(addToLegend);\r\n\r\n options.addPopup = typeof options.addPopup == 'boolean' ? options.addPopup : true;\r\n\r\n if (options.addPopup) {\r\n mapPopup.addVectorPopup(this, function (props: { featureGuid: string }) {\r\n return `<iframe src=\"https://transportal.cee.wisc.edu/its/inventory/?feature=${props.featureGuid}\" ` +\r\n `height=\"250\" width=\"350\"></iframe>`;\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * callback to generate the parameters passed in the get request\r\n * @callback makeGetParams\r\n * @param {object} extent - extent object\r\n * @param {number} extent.minX - minX\r\n * @param {number} extent.minY - minY\r\n * @param {number} extent.maxX - maxX\r\n * @param {number} extent.maxY - maxY\r\n * @param {number} zoomLevel - zoom level\r\n */\r\n mapMoveMakeGetParams(extent: { minX: number, minY: number, maxX: number, maxY: number }, zoomLevel: number) {\r\n super.mapMoveMakeGetParams(extent, zoomLevel);\r\n let lowerLeft = new ol.geom.Point([extent.minX, extent.minY]);\r\n lowerLeft.transform(this.mapProj, this._projection4326);\r\n let lowerLeftCoordinates = lowerLeft.getCoordinates();\r\n let upperRight = new ol.geom.Point([extent.maxX, extent.maxY]);\r\n upperRight.transform(this.mapProj, this._projection4326);\r\n let upperRightCoordinates = upperRight.getCoordinates();\r\n\r\n $.extend(this.mapMoveParams,\r\n {\r\n L: lowerLeftCoordinates[0],\r\n R: upperRightCoordinates[0],\r\n B: lowerLeftCoordinates[1],\r\n T: upperRightCoordinates[1]\r\n });\r\n }\r\n}\r\n\r\nnm.LayerItsInventory = LayerItsInventory;\r\nexport default LayerItsInventory;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/layers/LayerItsInventory.ts","/**\r\n * Created by gavorhes on 11/3/2015.\r\n */\r\nimport provide from './provide';\r\nimport * as chk from './checkDefined';\r\n\r\nlet nm = provide('util.colors');\r\n\r\n\r\n/**\r\n * helper function to convert to hex\r\n * @param {number|string} x - the number to convert to hex\r\n * @returns {string} number as hex\r\n * @private\r\n */\r\nfunction _hex(x: number|string): string {\r\n let hexDigits = [\"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"a\", \"b\", \"c\", \"d\", \"e\", \"f\"];\r\n\r\n if (isNaN(x as number)){\r\n return \"00\";\r\n } else {\r\n let m = x as number;\r\n return hexDigits[(m - m % 16) / 16] + hexDigits[m % 16];\r\n }\r\n // return isNaN(x as number) ? \"00\" : hexDigits[(x - x % 16) / 16] + hexDigits[x % 16];\r\n}\r\n\r\n/**\r\n * converts an RGB string to hex\r\n * @param {string} rgb - rgb color\r\n * @returns {string} rbg as hex\r\n */\r\nexport function rgb2hex(rgb: string): string {\r\n let rgb1 = rgb.match(/^rgb\\((\\d+),\\s*(\\d+),\\s*(\\d+)\\)$/);\r\n\r\n return (\"#\" + _hex(rgb1[1]) + _hex(rgb1[2]) + _hex(rgb1[3])).toUpperCase();\r\n}\r\n\r\nnm.rgb2hex = rgb2hex;\r\n\r\n\r\n/**\r\n * Convert hex string to RGB or RGBA string\r\n * @param {string} hexString - hex color string\r\n * @param {number} [alphaVal=undefined] Alpha value\r\n * @returns {string} - rgb or rgba color\r\n */\r\nexport function hexAlphaToRgbOrRgba(hexString: string, alphaVal: number): string {\r\n hexString = ((hexString.charAt(0) == \"#\") ? hexString.substring(1, 7) : hexString);\r\n let r = parseInt(hexString.substring(0, 2), 16).toString() || '0';\r\n let g = parseInt(hexString.substring(2, 4), 16).toString() || '0';\r\n let b = parseInt(hexString.substring(4, 6), 16).toString() || '0';\r\n if (alphaVal) {\r\n return `rgba(${r},${g},${b},${alphaVal})`;\r\n } else {\r\n return `rgba(${r},${g},${b})`;\r\n }\r\n}\r\n\r\nnm.hexAlphaToRgbOrRgba = hexAlphaToRgbOrRgba;\r\n\r\n\r\n/**\r\n * adds alpha value to rgb string 'rgb(r, b, g)', returns 'rgba(r, g, b, a)'\r\n * @param {string} rgb - rgb color\r\n * @param {number} alpha - alpha value 0 to 1\r\n * @returns {string} rgba color\r\n */\r\nexport function rgbToRgba(rgb: string, alpha: number): string {\r\n let pieces = rgb.split(',');\r\n pieces[0] = pieces[0].replace('rgb', 'rgba');\r\n pieces[2] = pieces[2].replace(')', '');\r\n pieces.push(' ' + alpha.toFixed(1) + ')');\r\n\r\n return pieces.join(',');\r\n}\r\n\r\nnm.rgbToRgba = rgbToRgba;\r\n\r\n\r\n/**\r\n * @typedef {function} colorLookupByNumber\r\n * @param {number} num - the number to use to retrieve the color\r\n * @returns {string} rgb color\r\n */\r\n\r\n\r\n/**\r\n * Make a blue green red gradient\r\n * @param {number} minVal - minimum value\r\n * @param {number} maxVal - maximum value\r\n * @param {boolean} flipColors - if the colors should be flipped\r\n * @returns {colorLookupByNumber} color lookup function\r\n */\r\nexport function makeBlueGreenRedGradient(minVal: number, maxVal: number, flipColors:boolean=false): (v: number) => string {\r\n\r\n if (typeof flipColors != \"boolean\") {\r\n flipColors = false;\r\n }\r\n\r\n return function (theVal: number): string {\r\n let r, g, b;\r\n let ratio;\r\n\r\n if (chk.undefinedOrNull(theVal)) {\r\n return 'rgb(100,100,100)';\r\n }\r\n\r\n let percent = (theVal - minVal) / (maxVal - minVal);\r\n\r\n if (flipColors == true) {\r\n percent = 1 - percent;\r\n }\r\n\r\n if (percent >= 1) {\r\n r = 255;\r\n g = 0;\r\n b = 0;\r\n } else if (percent <= 0) {\r\n r = 0;\r\n g = 0;\r\n b = 255;\r\n } else if (percent < .25) {\r\n // green up, blue constant\r\n r = 0;\r\n g = Math.floor(255 * percent / 0.25);\r\n b = 255;\r\n } else if (percent < 0.50) {\r\n //blue down, green constant\r\n ratio = (percent - 0.25) / 0.25;\r\n r = 0;\r\n g = 255;\r\n b = 255 - Math.floor(255 * ratio);\r\n } else if (percent < 0.75) {\r\n // red up, green constant\r\n ratio = (percent - 0.5) / 0.25;\r\n r = Math.floor(255 * ratio);\r\n g = 255;\r\n b = 0;\r\n } else {\r\n // green down, red constant\r\n ratio = (percent - 0.75) / 0.25;\r\n r = 255;\r\n g = 255 - Math.floor(255 * ratio);\r\n b = 0;\r\n }\r\n\r\n r = r.toFixed();\r\n g = g.toFixed();\r\n b = b.toFixed();\r\n\r\n return 'rgb(' + r + ',' + g + ',' + b + ')';\r\n };\r\n}\r\n\r\nnm.makeBlueGreenRedGradient = makeBlueGreenRedGradient;\r\n\r\n\r\n/**\r\n * Create a function that will return colors based on a gradient\r\n * @param {number} median - median value\r\n * @param {number} stdDev - standard deviation\r\n * @param {boolean} flipColors - if the colors should be flipped\r\n * @returns {colorLookupByNumber} color lookup function\r\n */\r\nexport function makeBlueGreenRedGradientZScore(median: number, stdDev: number, flipColors: boolean = false):(v: number) => string {\r\n\r\n let grd = makeBlueGreenRedGradient(-2.5, 2.5, flipColors);\r\n\r\n return function (theVal: number): string {\r\n\r\n let zScore;\r\n if (theVal == null) {\r\n zScore = null;\r\n } else {\r\n zScore = (theVal - median) / stdDev;\r\n }\r\n\r\n return grd(zScore);\r\n };\r\n}\r\n\r\nnm.makeBlueGreenRedGradientZScore = makeBlueGreenRedGradientZScore;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/util/colors.ts","/**\r\n * Created by gavorhes on 12/18/2015.\r\n */\r\n\r\n\r\nimport ItsLayerCollection from '../../collections/ItsLayerCollection';\r\nimport LayerLegend from '../../collections/LayerLegend';\r\nimport quickMap from '../../olHelpers/quickMap';\r\n\r\nlet map = quickMap({addGeocode: true});\r\n\r\n\r\nwindow['map'] = map;\r\n\r\nlet itsLayerCollection = new ItsLayerCollection(map);\r\n\r\nlet layerArray = [\r\n {\r\n groupName: 'ITS Inventory Layers',\r\n collapse: false,\r\n addCheck: true,\r\n items: itsLayerCollection.layers\r\n }\r\n];\r\n\r\nlet legend = new LayerLegend(layerArray, 'legend-container', {});\r\n\r\nconsole.log('it works');\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/_tests/demos/itsMap.ts"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/bootstrap 85176672b243dd643c6c?aa7c****","webpack:///./src/util/provide.ts?5c82**","webpack:///external \"$\"?57aa**","webpack:///external \"ol\"?81ed","webpack:///./src/util/makeGuid.ts?e80e**","webpack:///./src/olHelpers/mapInteractionBase.ts?f419","webpack:///./src/olHelpers/mapPopup.ts?5d6c","webpack:///./src/olHelpers/quickMap.ts?1069","webpack:///./src/olHelpers/mapMove.ts?6a2b","webpack:///./src/olHelpers/projections.ts?804b","webpack:///./src/util/checkDefined.ts?bcd7","webpack:///./src/layers/LayerBase.ts?bf94","webpack:///./src/olHelpers/geocode.ts?5a2f","webpack:///./src/olHelpers/mapMoveCls.ts?cd45","webpack:///./src/olHelpers/mapPopupCls.ts?e3f7","webpack:///./src/olHelpers/quickMapBase.ts?fb65","webpack:///./src/olHelpers/zoomResolutionConvert.ts?dd4b","webpack:///./src/collections/LayerLegend.ts","webpack:///./src/layers/LayerBaseVector.ts?c105","webpack:///./src/collections/ItsLayerCollection.ts","webpack:///./src/layers/LayerBaseVectorGeoJson.ts","webpack:///./src/layers/LayerItsInventory.ts","webpack:///./src/util/colors.ts","webpack:///./src/_tests/demos/itsMap.ts"],"names":[],"mappings":"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","file":"itsMap.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 73);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 85176672b243dd643c6c","/**\r\n * Created by gavorhes on 12/10/2015.\r\n */\r\n\r\ndeclare const window: Window;\r\n/**\r\n * create a namespace on the gv object\r\n * @param {string} namespace to create\r\n * @returns {object} object representing the namespace\r\n */\r\nfunction provide(namespace: string){\r\n \"use strict\";\r\n if (typeof (<any>window).gv == 'undefined'){\r\n (<any>window).gv = {};\r\n }\r\n\r\n let parts = namespace.split('.');\r\n let nameSpace = (<any>window).gv;\r\n\r\n for (let i=0; i< parts.length; i++){\r\n let newObject = nameSpace[parts[i]];\r\n\r\n if (typeof newObject == 'undefined'){\r\n nameSpace[parts[i]] = {};\r\n }\r\n\r\n nameSpace = nameSpace[parts[i]];\r\n }\r\n\r\n return nameSpace;\r\n}\r\n\r\nprovide('util');\r\n(<any>window).gv.util.provide = provide;\r\n\r\nexport default provide;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/util/provide.ts","module.exports = $;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"$\"\n// module id = 1\n// module chunks = 0 1 2 4 5 6 7 8 9 10","module.exports = ol;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"ol\"\n// module id = 2\n// module chunks = 2 4 5 6 7","/**\r\n * Created by gavorhes on 11/3/2015.\r\n */\r\n\r\nimport provide from './provide';\r\nlet nm = provide('util');\r\n\r\n\r\n/**\r\n * guids are used to uniquely identify groups and features\r\n * @returns {string} a new guid\r\n */\r\nexport function makeGuid() {\r\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'\r\n .replace(/[xy]/g, function (c) {\r\n let r = Math.random() * 16 | 0, v = c == 'x' ? r : r & 0x3 | 0x8;\r\n\r\n return v.toString(16);\r\n });\r\n\r\n}\r\nnm.makeGuid = makeGuid;\r\nexport default makeGuid;\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/util/makeGuid.ts","/**\r\n * Created by gavorhes on 12/8/2015.\r\n */\r\nimport provide from '../util/provide';\r\nimport ol = require('custom-ol');\r\nconst nm = provide('olHelpers');\r\n\r\n\r\n\r\n/**\r\n * base interaction\r\n */\r\nexport class MapInteractionBase {\r\n _map: ol.Map;\r\n _initialized: boolean;\r\n _subtype: string;\r\n\r\n /**\r\n * map interaction base\r\n * @param subtype - the interaction subtype\r\n */\r\n constructor(subtype: string) {\r\n this._map = null;\r\n this._initialized = false;\r\n this._subtype = subtype;\r\n }\r\n\r\n /**\r\n * base initializer, returns true for already initialized\r\n * @param theMap - the ol Map\r\n * @returns true for already initialized\r\n */\r\n init(theMap: ol.Map){\r\n if (!this._initialized){\r\n this._map = theMap;\r\n this._initialized = true;\r\n }\r\n }\r\n\r\n /**\r\n * get reference to the ol map object\r\n * @returns {ol.Map} the map object\r\n */\r\n get map() {\r\n return this._map;\r\n }\r\n\r\n /**\r\n * get if is initialized\r\n * @returns {boolean} is initialized\r\n */\r\n get initialized() {\r\n return this._initialized;\r\n }\r\n\r\n /**\r\n * Check the initialization status and throw exception if not valid yet\r\n * @protected\r\n */\r\n _checkInit() {\r\n if (!this.initialized) {\r\n let msg = `${this._subtype} object not initialized`;\r\n alert(msg);\r\n console.log(msg);\r\n throw msg;\r\n }\r\n }\r\n\r\n /**\r\n * Check the initialization status and throw exception if not valid yet\r\n */\r\n checkInit(){\r\n this._checkInit();\r\n }\r\n}\r\n\r\nnm.MapInteractionBase = MapInteractionBase;\r\nexport default MapInteractionBase;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/mapInteractionBase.ts","/**\r\n * Created by gavorhes on 11/3/2015.\r\n */\r\n\r\nimport MapPopupCls from './mapPopupCls';\r\n\r\n/**\r\n * The single popup object catch is that it is common to multimap pages\r\n * @type {MapPopupCls}\r\n */\r\nexport const mapPopup = new MapPopupCls() as MapPopupCls;\r\nexport default mapPopup;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/mapPopup.ts","/**\r\n * Created by gavorhes on 12/15/2015.\r\n */\r\n\r\nimport {quickMapOptions, quickMapBase} from './quickMapBase';\r\nimport provide from '../util/provide';\r\nimport mapMove from './mapMove';\r\nimport mapPopup from './mapPopup';\r\nimport ol = require('custom-ol');\r\nlet nm = provide('olHelpers');\r\n\r\nexport {quickMapOptions} from './quickMapBase';\r\n\r\n/**\r\n * Sets up a map with some default parameters and initializes\r\n * mapMove and mapPopup\r\n *\r\n * @param {object} [options={}] config options\r\n * @param {string} [options.divId=map] map div id\r\n * @param {object} [options.center={}] center config object\r\n * @param {number} [options.center.x=-10018378] center x, web mercator x or lon\r\n * @param {number} [options.center.y=5574910] center y, web mercator y or lat\r\n * @param {number} [options.zoom=7] zoom level\r\n * @param {number} [options.minZoom=undefined] min zoom\r\n * @param {number} [options.maxZoom=undefined] max zoom\r\n * @param {boolean} [options.baseSwitcher=true] if add base map switcher\r\n * @param {boolean} [options.fullScreen=false] if add base map switcher\r\n * @returns {ol.Map} the ol map\r\n */\r\nexport function quickMap(options : quickMapOptions = {}): ol.Map {\r\n let m = quickMapBase(options);\r\n mapMove.init(m);\r\n mapPopup.init(m);\r\n return m;\r\n}\r\n\r\n\r\nnm.quickMap = quickMap;\r\nexport default quickMap;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/quickMap.ts","/**\r\n * Created by gavorhes on 11/3/2015.\r\n */\r\n\r\nimport MapMoveCls from './mapMoveCls';\r\n\r\n/**\r\n * The single map move object catch is that it is common to multimap pages\r\n * @type {MapMoveCls}\r\n */\r\n\r\nexport const mapMove = new MapMoveCls();\r\nexport default mapMove;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/mapMove.ts","/**\r\n * Created by gavorhes on 10/3/2016.\r\n */\r\nimport ol = require('custom-ol');\r\n\r\n\r\nexport const proj4326 = new ol.proj.Projection({code: 'EPSG:4326'});\r\nexport const proj3857 = new ol.proj.Projection({code: 'EPSG:3857'});\r\nexport const proj3070 = new ol.proj.Projection({code: 'EPSG:3070'});\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/projections.ts","import provide from './provide';\r\nlet nm = provide('util.checkDefined');\r\n\r\n/**\r\n * check if the input is undefined or null\r\n * @param input - input pointer\r\n * @returns true undefined or null\r\n */\r\nexport function undefinedOrNull (input: any): boolean{\r\n \"use strict\";\r\n\r\n return (typeof input === 'undefined' || input === null);\r\n}\r\n\r\nnm.undefinedOrNull = undefinedOrNull;\r\n\r\n\r\n/**\r\n * check if the input is defined and not null\r\n * @param input - input pointer\r\n * @returns true defined and not null\r\n */\r\nexport function definedAndNotNull (input: any): boolean{\r\n \"use strict\";\r\n\r\n return !(undefinedOrNull(input));\r\n}\r\n\r\nnm.definedAndNotNull = definedAndNotNull;\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/util/checkDefined.ts","import * as zoomResolutionConvert from '../olHelpers/zoomResolutionConvert';\r\nimport provide from '../util/provide';\r\nimport ol = require('custom-ol');\r\nimport makeGuid from '../util/makeGuid';\r\nimport $ = require('jquery');\r\n\r\nconst nm = provide('layers');\r\n\r\n\r\nexport interface LayerBaseOptions{\r\n id?: string;\r\n name?: string;\r\n opacity?: number;\r\n visible?: boolean;\r\n minZoom?: number;\r\n maxZoom?: number;\r\n params?: any;\r\n zIndex?: number;\r\n loadCallback?: Function;\r\n legendCollapse?: boolean;\r\n legendCheckbox?: boolean;\r\n legendContent?: string;\r\n}\r\n\r\n\r\n/**\r\n * The base layer class\r\n * @abstract\r\n */\r\nexport abstract class LayerBase {\r\n\r\n protected _legendCheckbox: boolean;\r\n protected _url: string;\r\n protected _opacity: number;\r\n protected _minZoom: number;\r\n protected _maxZoom: number;\r\n protected _visible: boolean;\r\n protected _loaded: boolean;\r\n protected _zIndex: number;\r\n protected _legendContent: string;\r\n protected _params: any;\r\n protected _id: string;\r\n protected _name: string;\r\n protected _source: ol.source.Source;\r\n protected _animate: boolean;\r\n protected _legendCollapse: boolean;\r\n protected _maxResolution: number;\r\n protected _minResolution: number;\r\n protected _$legendDiv: JQuery;\r\n loadCallback: Function;\r\n protected _olLayer: ol.layer.Layer;\r\n protected _applyCollapseCalled: boolean;\r\n\r\n\r\n\r\n /**\r\n * The base layer for all others\r\n * @param {string} url - url for source\r\n * @param {object} options - config\r\n * @param {string} [options.id=makeGuid()] - layer id\r\n * @param {string} [options.name=Unnamed Layer] - layer name\r\n * @param {number} [options.opacity=1] - opacity\r\n * @param {boolean} [options.visible=true] - default visible\r\n * @param {number} [options.minZoom=undefined] - min zoom level, 0 - 28\r\n * @param {number} [options.maxZoom=undefined] - max zoom level, 0 - 28\r\n * @param {object} [options.params={}] - the get parameters to include to retrieve the layer\r\n * @param {number} [options.zIndex=0] - the z index for the layer\r\n * @param {function} [options.loadCallback] - function to call on load, context this is the layer object\r\n * @param {boolean} [options.legendCollapse=false] - if the legend item should be initially collapsed\r\n * @param {boolean} [options.legendCheckbox=true] - if the legend item should have a checkbox for visibility\r\n * @param {boolean} [options.legendContent=undefined] - additional content to add to the legend\r\n */\r\n constructor(url: string, options: LayerBaseOptions = {}) {\r\n options = options || {} as LayerBaseOptions;\r\n\r\n if (typeof url !== 'string') {\r\n throw 'Invalid URL';\r\n }\r\n this._url = url;\r\n\r\n\r\n this._params = typeof options.params == 'object' ? options.params : {};\r\n this._legendCollapse = typeof options.legendCollapse == 'boolean' ? options.legendCollapse : false;\r\n this._legendCheckbox = typeof options.legendCheckbox == 'boolean' ? options.legendCheckbox : true;\r\n\r\n this.id = options.id || makeGuid();\r\n this._name = options.name || 'Unnamed Layer';\r\n this.animate = false;\r\n this._opacity = typeof options.opacity == 'number' ? options.opacity : 1;\r\n\r\n if (this._opacity > 1) {\r\n this._opacity = 1;\r\n } else if (this._opacity < 0) {\r\n this._opacity = 0;\r\n }\r\n\r\n this._visible = typeof options.visible === 'boolean' ? options.visible : true;\r\n\r\n this._source = undefined;\r\n\r\n /**\r\n *\r\n * @protected\r\n */\r\n this._olLayer = undefined;\r\n this._loaded = false;\r\n\r\n this._maxResolution = zoomResolutionConvert.zoomToResolution(options.minZoom);\r\n if (typeof this._maxResolution !== 'undefined') {\r\n this._maxResolution += 0.00001;\r\n }\r\n this._minResolution = zoomResolutionConvert.zoomToResolution(options.maxZoom);\r\n\r\n this._minZoom = typeof options.minZoom == 'number' ? options.minZoom : undefined;\r\n this._maxZoom = typeof options.maxZoom == 'number' ? options.maxZoom : undefined;\r\n this._zIndex = typeof options.zIndex == 'number' ? options.zIndex : 0;\r\n\r\n this.loadCallback = typeof options.loadCallback == 'function' ? options.loadCallback : function () {\r\n };\r\n\r\n\r\n this._legendContent = '';\r\n\r\n if (this._legendCheckbox) {\r\n this._legendContent += `<input type=\"checkbox\" ${this.visible ? 'checked' : ''} ` +\r\n `class=\"legend-check\" id=\"${this.id}-legend-layer-check\"><span></span>`;\r\n this._legendContent += `<label for=\"${this.id}-legend-layer-check\" class=\"legend-layer-name\">${this.name}</label>`;\r\n } else {\r\n this._legendContent += `<label class=\"legend-layer-name\">${this.name}</label>`;\r\n }\r\n\r\n this._$legendDiv = null;\r\n this._applyCollapseCalled = false;\r\n this._addLegendContent(typeof options.legendContent === 'string' ? options.legendContent : undefined);\r\n }\r\n\r\n /**\r\n * base load function, sets _loaded = true if it is not already\r\n * @protected\r\n * @returns {boolean} if already loaded\r\n */\r\n _load() {\r\n if (this.loaded == true) {\r\n return true;\r\n } else {\r\n this._loaded = true;\r\n\r\n return false;\r\n }\r\n }\r\n\r\n /**\r\n * Get the legend html, be sure to only add to the DOM once\r\n * @returns {string} html for layer wrapped in a div\r\n */\r\n getLegendDiv() {\r\n return `<div class=\"legend-layer-div\" id=\"${this.id}-legend-layer-div\">${this._legendContent}</div>`;\r\n }\r\n\r\n /**\r\n *\r\n * @param additionalContent - additional content to add to legend\r\n * @private\r\n */\r\n _addLegendContent(additionalContent='') {\r\n\r\n let addCollapse = additionalContent.indexOf('<ul>') > -1;\r\n\r\n if (addCollapse) {\r\n additionalContent = '<span class=\"legend-items-expander\" title=\"Expand/Collapse\">▼</span>' + additionalContent;\r\n }\r\n\r\n this._legendContent += additionalContent;\r\n\r\n this._$legendDiv = $(`#${this.id}-legend-layer-div`);\r\n\r\n if (this._$legendDiv.length > 0) {\r\n this._$legendDiv.append(additionalContent);\r\n this.applyCollapse();\r\n }\r\n }\r\n\r\n /**\r\n * add additional content to the legend\r\n * @param {string} [additionalContent=] - additonal content to add\r\n */\r\n addLegendContent(additionalContent: string) {\r\n this._addLegendContent(additionalContent);\r\n }\r\n\r\n applyCollapse(): void {\r\n if (this._applyCollapseCalled) {\r\n console.log('collapse already applied');\r\n\r\n return undefined;\r\n }\r\n\r\n this._$legendDiv = $(`#${this.id}-legend-layer-div`);\r\n\r\n if (this._$legendDiv.length > 0) {\r\n\r\n let $expander = this._$legendDiv.find('.legend-items-expander');\r\n\r\n if ($expander.length > 0) {\r\n this._applyCollapseCalled = true;\r\n\r\n $expander.click(function () {\r\n let $this = $(this);\r\n\r\n $this.siblings('ul').slideToggle();\r\n\r\n if ($this.hasClass('legend-layer-group-collapsed')) {\r\n $this.removeClass('legend-layer-group-collapsed');\r\n $this.html('▼');\r\n } else {\r\n $this.addClass('legend-layer-group-collapsed');\r\n $this.html('▶');\r\n }\r\n });\r\n\r\n if (this._legendCollapse) {\r\n $expander.trigger('click');\r\n }\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * trick to refresh the layer\r\n */\r\n refresh() {\r\n if (this.source) {\r\n this.source.refresh();\r\n }\r\n }\r\n\r\n get id(): string{\r\n return this._id;\r\n }\r\n\r\n set id(newId: string){\r\n this._id = newId;\r\n }\r\n\r\n get animate(): boolean{\r\n return this._animate;\r\n }\r\n\r\n set animate(animate: boolean){\r\n this._animate = animate;\r\n }\r\n\r\n /**\r\n * get the legend content\r\n * @type {string}\r\n */\r\n get legendContent(): string {\r\n return this._legendContent;\r\n }\r\n\r\n /**\r\n * set the legend content directly\r\n * @param {string} newVal - new content\r\n * @protected\r\n */\r\n set legendContent(newVal: string) {\r\n this._legendContent = newVal;\r\n }\r\n\r\n /**\r\n * get the map get params\r\n * @type {object}\r\n */\r\n get params(): {[s: string]: any} {\r\n return this._params;\r\n }\r\n\r\n /**\r\n * set the map get params\r\n * @param {object} newParams - new get params\r\n * @protected\r\n */\r\n set params(newParams: {[s: string]: any}) {\r\n this._params = newParams;\r\n }\r\n\r\n /**\r\n * get the minimum resolution\r\n * @type {number|*}\r\n */\r\n get minResolution(): number {\r\n return this._minResolution;\r\n }\r\n\r\n /**\r\n * get the maximum resolution\r\n * @type {number|*}\r\n */\r\n get maxResolution(): number {\r\n return this._maxResolution;\r\n }\r\n\r\n /**\r\n * get min zoom\r\n * @type {number|*}\r\n */\r\n get minZoom(): number {\r\n return this._minZoom;\r\n }\r\n\r\n /**\r\n * get max zoom\r\n * @type {number|*}\r\n */\r\n get maxZoom(): number {\r\n return this._maxZoom;\r\n }\r\n\r\n /**\r\n * get the url\r\n * @type {string}\r\n */\r\n get url(): string {\r\n return this._url;\r\n }\r\n\r\n /**\r\n * Get the layer visibility\r\n * @type {boolean}\r\n */\r\n get visible(): boolean {\r\n return this._visible;\r\n }\r\n\r\n /**\r\n * set the visibility\r\n * @param visibility\r\n */\r\n set visible(visibility: boolean) {\r\n this.setVisible(visibility);\r\n }\r\n\r\n protected setVisible(visibility: boolean) {\r\n this._visible = visibility;\r\n if (this.olLayer) {\r\n this.olLayer.setVisible(this._visible);\r\n if (visibility && !this._loaded) {\r\n this._load();\r\n }\r\n }\r\n }\r\n\r\n\r\n /**\r\n * Get the layer opacity\r\n * @type {number}\r\n */\r\n get opacity(): number {\r\n return this._opacity;\r\n }\r\n\r\n /**\r\n * Set the layer opacity\r\n * @param {number} opacity - layer opacity\r\n */\r\n set opacity(opacity: number) {\r\n this._opacity = opacity;\r\n if (this.olLayer) {\r\n this.olLayer.setOpacity(this._opacity);\r\n }\r\n }\r\n\r\n /**\r\n * Get the layer name\r\n * @type {string}\r\n */\r\n get name(): string {\r\n return this._name;\r\n }\r\n\r\n /**\r\n * set the layer name\r\n * @param {string} newName - the new name\r\n */\r\n set name(newName: string) {\r\n this._name = newName;\r\n }\r\n\r\n /**\r\n * Check if the layer is loaded\r\n * @type {boolean}\r\n */\r\n get loaded():boolean {\r\n return this._loaded;\r\n }\r\n\r\n /**\r\n * get the layer source\r\n * @type {*}\r\n */\r\n get source(): ol.source.Source {\r\n return this.getSource();\r\n }\r\n\r\n\r\n protected getSource(): ol.source.Source{\r\n return this._source;\r\n }\r\n\r\n /**\r\n * get the z index\r\n */\r\n get zIndex(): number {\r\n return this._zIndex;\r\n }\r\n\r\n /**\r\n * set the z index\r\n */\r\n set zIndex(newZ: number) {\r\n this._zIndex = newZ;\r\n }\r\n\r\n protected setZIndex(newZ: number){\r\n\r\n }\r\n\r\n /**\r\n * the the ol layer\r\n */\r\n get olLayer(): ol.layer.Layer {\r\n return this.getOlLayer();\r\n }\r\n\r\n protected getOlLayer(): ol.layer.Layer{\r\n return this._olLayer;\r\n }\r\n}\r\n\r\nnm.LayerBase = LayerBase;\r\nexport default LayerBase;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/layers/LayerBase.ts","import $ = require('jquery')\r\nimport {makeGuid} from '../util/makeGuid';\r\nimport ol = require('custom-ol');\r\nimport {proj3857, proj4326} from './projections';\r\n\r\n\r\nlet invalidClass = 'geocoder-invalid';\r\nlet geocoderLoadingClass = 'geocoder-loading';\r\n\r\n// let testAddress = '65 7th Street, Prairie du Sac, WI';\r\n\r\n\r\nexport class Geocode {\r\n private theButton: HTMLButtonElement;\r\n private theInput: HTMLInputElement;\r\n private map: ol.Map;\r\n private indicationLayer;\r\n\r\n constructor(mapDiv: HTMLDivElement, map: ol.Map) {\r\n let inputGuid = makeGuid();\r\n let buttonGuid = makeGuid();\r\n\r\n this.map = map;\r\n this.indicationLayer = new ol.layer.Vector({\r\n source: new ol.source.Vector(),\r\n style: new ol.style.Style({\r\n image: new ol.style.Circle({\r\n radius: 12,\r\n fill: new ol.style.Fill({color: 'rgba(255,0,0,0.5)'}),\r\n stroke: new ol.style.Stroke({color: 'red', width: 1})\r\n })\r\n })\r\n });\r\n this.map.addLayer(this.indicationLayer);\r\n\r\n $(mapDiv).append('<div class=\"geocoder-el\">' +\r\n `<input type=\"text\" id=\"${inputGuid}\">` +\r\n `<button id=\"${buttonGuid}\">Search</button>` +\r\n '</div>');\r\n\r\n this.theButton = document.getElementById(buttonGuid) as HTMLButtonElement;\r\n this.theInput = document.getElementById(inputGuid) as HTMLInputElement;\r\n\r\n this.reset();\r\n\r\n let $theButton = $(this.theButton);\r\n let $theInput = $(this.theInput);\r\n\r\n $theButton.click((evt) => {\r\n\r\n evt.preventDefault();\r\n\r\n $theButton.addClass(geocoderLoadingClass);\r\n this.theButton.disabled = true;\r\n this.indicationLayer.getSource().clear();\r\n\r\n $.get(\r\n `https://geocode.xyz/${this.theInput.value}?geoit=json`,\r\n {},\r\n (d) => {\r\n let lat = parseFloat(d['latt']);\r\n let lon = parseFloat(d['longt']);\r\n\r\n if ((lat == 0 && lon == 0) || d['error']) {\r\n $theInput.addClass(invalidClass);\r\n this.theInput.title = 'Specified Location Invalid';\r\n this.theButton.title = 'Specified Location Invalid';\r\n\r\n } else {\r\n let v = this.map.getView();\r\n let p = new ol.geom.Point([lon, lat]);\r\n let feat = new ol.Feature(p);\r\n this.indicationLayer.getSource().addFeature(feat);\r\n p.transform(proj4326, proj3857);\r\n\r\n v.setCenter(p.getCoordinates());\r\n v.setZoom(13);\r\n }\r\n\r\n $theButton.removeClass(geocoderLoadingClass);\r\n this.theButton.disabled = false;\r\n },\r\n 'json');\r\n });\r\n\r\n $(this.theInput).keyup((evt) => {\r\n evt.preventDefault();\r\n this.theButton.disabled = this.theInput.value.length == 0;\r\n $theInput.removeClass(invalidClass);\r\n this.theInput.title = '';\r\n this.theButton.title = '';\r\n\r\n if (!this.theButton.disabled && evt.keyCode == 13) {\r\n $theButton.click();\r\n }\r\n })\r\n }\r\n\r\n private reset() {\r\n this.theButton.disabled = true;\r\n this.theInput.value = '';\r\n }\r\n\r\n\r\n// https://geocode.xyz/65%2075h%20street%20prairie%20du%20sac%20wi?geoit=json\r\n\r\n// error\r\n// geocoder-invalid\r\n\r\n}\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/geocode.ts","import LayerBaseVector from \"../layers/LayerBaseVector\";\r\nimport MapInteractionBase from './mapInteractionBase';\r\nimport * as checkDefined from '../util/checkDefined';\r\nimport provide from '../util/provide';\r\nimport makeGuid from '../util/makeGuid';\r\nimport ol = require('custom-ol');\r\nimport $ = require('jquery');\r\nconst nm = provide('olHelpers');\r\n\r\n\r\nexport interface extentObject{\r\n minX: number;\r\n minY: number;\r\n maxX: number;\r\n maxY: number;\r\n}\r\n\r\nexport interface mapMoveCallbackFunction{\r\n /**\r\n *\r\n * @param extent extent as predefined object minX, minX, maxX, maxY\r\n * @param zoomLevel current zoom level\r\n * @param evtType the event type 'change:center', 'change:resolution'\r\n */\r\n (extent: extentObject, zoomLevel: number, evtType?: string): any\r\n}\r\n\r\n\r\n/**\r\n * assists with map move interactions, trigger callback functions\r\n * @augments MapInteractionBase\r\n */\r\nexport class MapMoveCls extends MapInteractionBase {\r\n _mapExtent: extentObject;\r\n _zoomLevel: number;\r\n _lookupLayer: {[s: string]: LayerBaseVector};\r\n _arrLayer: Array<LayerBaseVector>;\r\n _arrLyrTimeout: Array<number>;\r\n _mapMoveCallbackTimeout: Array<number>;\r\n _mapMoveCallbackDelays: Array<number>;\r\n _mapMoveCallbacksLookup: {[s: string]: mapMoveCallbackFunction};\r\n _mapMoveCallbackContext: Array<Object>;\r\n _mapMoveCallbacks: Array<mapMoveCallbackFunction>;\r\n _arrLyrRequest: Array<any>;\r\n\r\n /**\r\n * constructor called implicitly\r\n */\r\n constructor() {\r\n super('map move');\r\n this._arrLyrRequest = [];\r\n this._arrLyrTimeout = [];\r\n this._arrLayer = [];\r\n this._lookupLayer = {};\r\n\r\n this._mapMoveCallbacks = [];\r\n this._mapMoveCallbacksLookup = {};\r\n this._mapMoveCallbackDelays = [];\r\n this._mapMoveCallbackContext = [];\r\n this._mapMoveCallbackTimeout = [];\r\n\r\n this._mapExtent = undefined;\r\n this._zoomLevel = undefined;\r\n\r\n }\r\n\r\n /**\r\n * initialize the map move object\r\n * @param theMap - the ol map\r\n */\r\n init(theMap: ol.Map){\r\n super.init(theMap);\r\n\r\n this.map.getView().on(['change:center', 'change:resolution'], (e: {type: string}) =>{\r\n\r\n this._updateMapExtent();\r\n\r\n // trigger the layer updates\r\n for (let i = 0; i < this._arrLayer.length; i++) {\r\n this.triggerLyrLoad(this._arrLayer[i], i, e.type);\r\n }\r\n\r\n // trigger the map callbacks\r\n for (let i = 0; i < this._mapMoveCallbacks.length; i++) {\r\n this.triggerMoveCallback(i, e.type);\r\n }\r\n });\r\n }\r\n\r\n _updateMapExtent() {\r\n let theView = this.map.getView();\r\n this._zoomLevel = theView.getZoom();\r\n\r\n let extentArray = theView.calculateExtent(this.map.getSize());\r\n\r\n this._mapExtent = {\r\n minX: extentArray[0],\r\n minY: extentArray[1],\r\n maxX: extentArray[2],\r\n maxY: extentArray[3]\r\n };\r\n }\r\n\r\n /**\r\n * return the map extent\r\n */\r\n get mapExtent() {\r\n if (!this._mapExtent) {\r\n this._updateMapExtent();\r\n }\r\n\r\n return this._mapExtent;\r\n }\r\n\r\n /**\r\n * Trigger the layer load\r\n * @param lyr the layer being acted on\r\n * @param index index of the layer\r\n * @param eventType the event triggering the load, as 'change:center' or 'change:resolution'\r\n */\r\n triggerLyrLoad(lyr: LayerBaseVector, index?: number, eventType?: string) {\r\n\r\n if (checkDefined.undefinedOrNull(lyr) && checkDefined.undefinedOrNull(index)) {\r\n throw 'need to define lyr or index';\r\n } else if (checkDefined.definedAndNotNull(lyr) && checkDefined.undefinedOrNull(index)) {\r\n index = this._arrLayer.indexOf(lyr);\r\n } else if (checkDefined.undefinedOrNull(lyr) && checkDefined.definedAndNotNull(index)) {\r\n lyr = this._arrLayer[index];\r\n }\r\n\r\n // clear the timeout\r\n if (this._arrLyrTimeout[index] != null) {\r\n clearTimeout(this._arrLyrTimeout[index]);\r\n this._arrLyrTimeout[index] = null;\r\n }\r\n\r\n // abort if necessary and clear the request\r\n if (this._arrLyrRequest[index] != null && this._arrLyrRequest[index] != 4) {\r\n this._arrLyrRequest[index].abort();\r\n this._arrLyrRequest[index] = null;\r\n }\r\n\r\n // dummy callback used if before load returns false\r\n let callbackFunc = function () {};\r\n\r\n if (lyr.mapMoveBefore(this._zoomLevel, eventType)) {\r\n lyr.mapMoveMakeGetParams(this._mapExtent, this._zoomLevel);\r\n\r\n let __this = this;\r\n\r\n callbackFunc = function () {\r\n function innerFunction(theLayer: LayerBaseVector, theIndex: number) {\r\n let _innerThis = this;\r\n this._arrLyrRequest[theIndex] = $.get(\r\n theLayer.url,\r\n theLayer.mapMoveParams,\r\n function (d) {\r\n /**\r\n * @type {LayerBaseVector}\r\n */\r\n theLayer.mapMoveCallback(d);\r\n theLayer.loadCallback();\r\n }, 'json').fail(\r\n function (jqXHR) {\r\n if (jqXHR.statusText != 'abort') {\r\n console.log('failed');\r\n console.log(theLayer.url);\r\n console.log(theLayer.mapMoveParams);\r\n }\r\n }).always(\r\n function () {\r\n _innerThis._arrLyrTimeout[theIndex] = null;\r\n _innerThis._arrLyrRequest[theIndex] = null;\r\n });\r\n }\r\n innerFunction.call(__this, lyr, index);\r\n };\r\n } else {\r\n lyr.clear();\r\n }\r\n this._arrLyrTimeout[index] = setTimeout(callbackFunc, lyr.onDemandDelay);\r\n }\r\n\r\n /**\r\n * trigger the map move call back at the given index\r\n * @param ind - the index of the layer\r\n * @param eventType=undefined the event triggering the load as 'change:center' or 'change:resolution'\r\n * @param functionId=undefined the function id used to reference the added callback function\r\n */\r\n triggerMoveCallback(ind: number, eventType?: string, functionId?: string) {\r\n\r\n if (typeof ind == 'undefined' && typeof functionId == 'undefined'){\r\n throw 'either the function index or the id must be defined';\r\n }\r\n\r\n if (typeof ind !== 'number'){\r\n ind = this._mapMoveCallbacks.indexOf(this._mapMoveCallbacksLookup[functionId]);\r\n }\r\n\r\n if (ind < 0){\r\n console.log('function not found');\r\n\r\n return;\r\n }\r\n\r\n // clear the timeout\r\n if (this._mapMoveCallbackTimeout[ind] != null) {\r\n clearTimeout(this._mapMoveCallbackTimeout[ind]);\r\n this._mapMoveCallbackTimeout[ind] = null;\r\n }\r\n\r\n let ctx = this._mapMoveCallbackContext[ind];\r\n let theFunc = this._mapMoveCallbacks[ind];\r\n\r\n let __this = this;\r\n\r\n let f = function () {\r\n if (ctx !== null) {\r\n theFunc.call(ctx, __this._mapExtent, __this._zoomLevel, eventType);\r\n } else {\r\n theFunc(__this._mapExtent, __this._zoomLevel, eventType);\r\n }\r\n };\r\n\r\n this._mapMoveCallbackTimeout[ind] = setTimeout(f, this._mapMoveCallbackDelays[ind]);\r\n }\r\n\r\n /**\r\n * Add a layer to the interaction\r\n * @param lyr - layer to add\r\n * @param triggerOnAdd - if the layer should be loaded on add\r\n */\r\n addVectorLayer(lyr: LayerBaseVector, triggerOnAdd: boolean = true) {\r\n if (this._arrLayer.indexOf(lyr) > -1) {\r\n console.log('already added ' + lyr.name + ' to map move');\r\n\r\n return;\r\n }\r\n this._checkInit();\r\n\r\n this._arrLyrRequest.push(null);\r\n this._arrLyrTimeout.push(null);\r\n this._arrLayer.push(lyr);\r\n this._lookupLayer[lyr.id] = lyr;\r\n\r\n triggerOnAdd = typeof triggerOnAdd == 'boolean' ? triggerOnAdd : true;\r\n\r\n if (triggerOnAdd) {\r\n if (this._mapExtent === undefined) {\r\n this._updateMapExtent();\r\n }\r\n this.triggerLyrLoad(lyr, this._arrLayer.length - 1);\r\n }\r\n }\r\n\r\n\r\n /**\r\n * add a callback to the map move event\r\n * @param func - callback function\r\n * @param context - the context to use for this function\r\n * @param delay=50 the delay before call load\r\n * @param triggerOnAdd if the layer should be loaded on add to mapMove\r\n * @param functionId optional id to reference the function later for outside triggering\r\n */\r\n addCallback(func: mapMoveCallbackFunction, context?: any, delay?: number, triggerOnAdd? : boolean, functionId?: string) {\r\n\r\n if (this._mapMoveCallbacks.indexOf(func) > -1) {\r\n console.log('this function already added to map move');\r\n return;\r\n }\r\n this._checkInit();\r\n if (!functionId){\r\n functionId = makeGuid();\r\n }\r\n\r\n this._mapMoveCallbacks.push(func);\r\n this._mapMoveCallbacksLookup[functionId] = func;\r\n this._mapMoveCallbackDelays.push(typeof delay == 'number' ? delay : 50);\r\n this._mapMoveCallbackContext.push(checkDefined.definedAndNotNull(context) ? context : null);\r\n this._mapMoveCallbackTimeout.push(null);\r\n\r\n triggerOnAdd = typeof triggerOnAdd == 'boolean' ? triggerOnAdd : true;\r\n\r\n if (triggerOnAdd) {\r\n if (this._mapExtent === undefined) {\r\n this._updateMapExtent();\r\n }\r\n this.triggerMoveCallback(this._mapMoveCallbacks.length - 1);\r\n }\r\n }\r\n}\r\n\r\nnm.MapMoveCls = MapMoveCls;\r\nexport default MapMoveCls;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/mapMoveCls.ts","/**\r\n * Created by gavorhes on 11/3/2015.\r\n */\r\n\r\nimport MapInteractionBase from './mapInteractionBase';\r\nimport propertiesZoomStyle from '../olHelpers/propertiesZoomStyle';\r\nimport provide from '../util/provide';\r\nimport ol = require('custom-ol');\r\nimport {LayerBaseVector} from \"../layers/LayerBaseVector\";\r\nimport {LayerBase} from \"../layers/LayerBase\";\r\nimport LayerEsriMapServer from \"../layers/LayerEsriMapServer\";\r\nimport $ = require('jquery');\r\n\r\nconst nm = provide('olHelpers');\r\n\r\nexport interface popupChangedFunction {\r\n ($popContent: JQuery): any;\r\n}\r\n\r\n/**\r\n *\r\n */\r\nexport interface popupCallback {\r\n /**\r\n * Callback function for the popup\r\n * @param featureProperties\r\n * @param jqRef\r\n */\r\n (featureProperties: Object, jqRef?: JQuery): string | boolean;\r\n}\r\n\r\ninterface mapEvent {\r\n coordinate: ol.Coordinate;\r\n pixel: ol.Pixel;\r\n dragging: boolean|any;\r\n originalEvent: Event;\r\n}\r\n\r\n\r\nexport class FeatureLayerProperties {\r\n\r\n feature: ol.Feature;\r\n layer: LayerBaseVector|LayerEsriMapServer;\r\n layerIndex: number;\r\n selectionLayer: ol.layer.Vector;\r\n popupContent: string;\r\n esriLayerName: string;\r\n\r\n /**\r\n *\r\n * @param feature the feature\r\n * @param layer - the layer in the popup\r\n * @param layerIndex - index of the layer\r\n * @param selectionLayer - the ol selection layer\r\n * @param [esriLayerName=undefined] - esri layer name\r\n */\r\n constructor(feature: ol.Feature, layer: LayerBaseVector|LayerEsriMapServer, layerIndex: number, selectionLayer: ol.layer.Vector, esriLayerName?: string) {\r\n this.feature = feature;\r\n this.layer = layer;\r\n this.layerIndex = layerIndex;\r\n this.selectionLayer = selectionLayer;\r\n this.popupContent = '';\r\n this.esriLayerName = typeof esriLayerName == 'string' ? esriLayerName : undefined;\r\n }\r\n\r\n get layerName() {\r\n if (typeof this.esriLayerName == 'string') {\r\n return this.esriLayerName;\r\n } else {\r\n return this.layer.name;\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * map popup class\r\n * @augments MapInteractionBase\r\n */\r\nexport class MapPopupCls extends MapInteractionBase {\r\n private _popupOpen: boolean;\r\n private _passThroughLayerFeatureArray: Array<FeatureLayerProperties>;\r\n private _currentPopupIndex: number;\r\n private _popupContentLength: number;\r\n private _esriMapServiceLayers: Array<LayerEsriMapServer>;\r\n private _$popupCloser: JQuery;\r\n private _$popupContent: JQuery;\r\n private _$popupContainer: JQuery;\r\n private _popupOverlay: ol.Overlay;\r\n private _arrPopupLayers: Array<LayerBaseVector>;\r\n private _popupCoordinate: ol.Coordinate;\r\n private _popupChangedFunctions: Array<popupChangedFunction>;\r\n private _mapClickFunctions: Array<Function>;\r\n private _selectionLayerLookup: {[s: string]: ol.layer.Vector};\r\n private _arrPopupLayerIds: Array<string>;\r\n private _arrPopupLayerNames: Array<string>;\r\n private _arrPopupOlLayers: Array<ol.layer.Vector>;\r\n private _arrPopupContentFunction: Array<popupCallback>;\r\n private _selectionLayers: Array<ol.layer.Vector>;\r\n\r\n /**\r\n * Definition for openlayers style function\r\n * @callback olStyleFunction\r\n * ¶m feature the openlayers vector feature\r\n * $param\r\n */\r\n\r\n\r\n /**\r\n * map popup constructor\r\n */\r\n constructor() {\r\n super('map popup');\r\n this._arrPopupLayerIds = [];\r\n this._arrPopupLayerNames = [];\r\n this._arrPopupLayers = [];\r\n this._arrPopupOlLayers = [];\r\n this._arrPopupContentFunction = [];\r\n this._$popupContainer = undefined;\r\n this._$popupContent = undefined;\r\n this._$popupCloser = undefined;\r\n this._popupOverlay = undefined;\r\n this._selectionLayers = [];\r\n this._selectionLayerLookup = {};\r\n this._mapClickFunctions = [];\r\n\r\n //let a = function($jqueryContent){console.log($jqueryContent)};\r\n //this._popupChangedLookup = {'a': a};\r\n this._popupChangedFunctions = [];\r\n this._esriMapServiceLayers = [];\r\n\r\n this._popupOpen = false;\r\n this._popupCoordinate = null;\r\n\r\n this._passThroughLayerFeatureArray = [];\r\n\r\n this._currentPopupIndex = -1;\r\n this._popupContentLength = 0;\r\n\r\n }\r\n\r\n /**\r\n * map popup initialization\r\n * @param {ol.Map} theMap - the ol map\r\n */\r\n init(theMap: ol.Map) {\r\n super.init(theMap);\r\n\r\n let $map;\r\n let target = this.map.getTarget();\r\n\r\n if (typeof target == 'string') {\r\n $map = $('#' + target);\r\n }\r\n else {\r\n $map = $(target);\r\n }\r\n\r\n $map.append(\r\n '<div class=\"ol-popup\">' +\r\n '<span class=\"ol-popup-closer\">X</span>' +\r\n '<div class=\"popup-content\"></div>' +\r\n '</div>'\r\n );\r\n\r\n this._$popupContainer = $map.find('.ol-popup');\r\n this._$popupContent = $map.find('.popup-content');\r\n this._$popupCloser = $map.find('.ol-popup-closer');\r\n\r\n let _ease = (n: number): number => {\r\n return ol.easing.inAndOut(n);\r\n };\r\n\r\n\r\n this._popupOverlay = new ol.Overlay({\r\n element: this._$popupContainer[0],\r\n autoPan: true,\r\n autoPanAnimation: {\r\n duration: 250,\r\n source: theMap.getView().getCenter(),\r\n easing: _ease\r\n }\r\n });\r\n\r\n this._map.addOverlay(this._popupOverlay);\r\n\r\n this._$popupCloser.click((evt) => {\r\n this.closePopup();\r\n });\r\n\r\n // display popup on click\r\n this._map.on('singleclick', (evt: {coordinate: [number, number], pixel: ol.Pixel}) => {\r\n\r\n this.closePopup();\r\n this._popupCoordinate = evt['coordinate'];\r\n\r\n // esri map service layers\r\n if (this._esriMapServiceLayers.length > 0) {\r\n\r\n let queryParams = {\r\n geometry: evt['coordinate'].join(','),\r\n geometryType: 'esriGeometryPoint',\r\n layers: 'all',\r\n sr: this._map.getView().getProjection().getCode().split(':')[1],\r\n mapExtent: (this._map.getView().calculateExtent(this._map.getSize()) as number[]).join(','),\r\n imageDisplay: (this._map.getSize() as number[]).join(',') + ',96',\r\n returnGeometry: true,\r\n tolerance: 15,\r\n f: 'pjson'\r\n };\r\n\r\n for (let l of this._esriMapServiceLayers) {\r\n l.getPopupInfo(queryParams);\r\n }\r\n }\r\n\r\n let layerFeatureObjectArray = this._featuresAtPixel(evt['pixel']);\r\n\r\n this._passThroughLayerFeatureArray = [];\r\n this._currentPopupIndex = -1;\r\n\r\n for (let i = 0; i < layerFeatureObjectArray.length; i++) {\r\n let featObj = layerFeatureObjectArray[i];\r\n\r\n let props = featObj.feature.getProperties();\r\n\r\n let popupContentResponse = this._arrPopupContentFunction[featObj.layerIndex](props, this._$popupContent);\r\n\r\n //skip if return was false\r\n if (popupContentResponse === false) {\r\n //continue;\r\n } else if (typeof popupContentResponse == 'string') {\r\n featObj.popupContent = popupContentResponse as string;\r\n this._passThroughLayerFeatureArray.push(featObj);\r\n } else {\r\n featObj.selectionLayer.getSource().addFeature(featObj.feature);\r\n }\r\n }\r\n\r\n this._popupContentLength = this._passThroughLayerFeatureArray.length;\r\n\r\n this._currentPopupIndex = -1;\r\n\r\n let popupHtml = '<div class=\"ol-popup-nav\">';\r\n popupHtml += '<span class=\"previous-popup ol-popup-nav-arrow\">◀</span>';\r\n popupHtml += '<span class=\"next-popup ol-popup-nav-arrow\">▶</span>';\r\n popupHtml += `<span class=\"current-popup-item-number\" style=\"font-weight: bold;\"></span>`;\r\n popupHtml += `<span> of </span>`;\r\n popupHtml += `<span class=\"popup-content-length\" style=\"font-weight: bold;\">${this._popupContentLength}</span>`;\r\n popupHtml += `<span> - </span>`;\r\n popupHtml += `<span class=\"current-popup-layer-name\"></span>`;\r\n popupHtml += '</div>';\r\n popupHtml += '<div class=\"ol-popup-inner\">';\r\n\r\n popupHtml += '</div>';\r\n\r\n this._$popupContent.html(popupHtml);\r\n\r\n this._$popupContent.find('.previous-popup').click(() => {\r\n if (this._popupContentLength == 1) {\r\n return;\r\n }\r\n\r\n if (this._currentPopupIndex == 0) {\r\n this._currentPopupIndex = this._popupContentLength - 1;\r\n } else {\r\n this._currentPopupIndex--;\r\n }\r\n this._triggerFeatSelect();\r\n });\r\n\r\n let nextPopup = this._$popupContent.find('.next-popup');\r\n\r\n nextPopup.click(() => {\r\n if (this._popupContentLength == 1 && this._currentPopupIndex > -1) {\r\n return;\r\n }\r\n\r\n if (this._currentPopupIndex == this._popupContentLength - 1) {\r\n this._currentPopupIndex = 0;\r\n } else {\r\n this._currentPopupIndex++;\r\n }\r\n this._triggerFeatSelect();\r\n });\r\n\r\n\r\n if (this._popupContentLength > 0) {\r\n nextPopup.trigger('click');\r\n this._popupOverlay.setPosition(this._popupCoordinate);\r\n this._$popupContent.scrollTop(0);\r\n this._popupOpen = true;\r\n }\r\n });\r\n\r\n //change mouse cursor when over marker\r\n this._map.on('pointermove', (evt: {dragging: boolean, originalEvent: Event}) => {\r\n if (evt['dragging']) {\r\n return;\r\n }\r\n let pixel = this.map.getEventPixel(evt['originalEvent']);\r\n let hit = this.map.hasFeatureAtPixel(pixel, (lyrCandidate) => {\r\n for (let olLayer of this._arrPopupOlLayers) {\r\n if (lyrCandidate == olLayer) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n });\r\n let mapElement = this.map.getTargetElement() as HTMLElement;\r\n mapElement.style.cursor = hit ? 'pointer' : '';\r\n });\r\n\r\n return true;\r\n }\r\n\r\n /**\r\n * helper to select features\r\n * @private\r\n */\r\n _triggerFeatSelect() {\r\n let $currentPopupItemNumber = this._$popupContent.find('.current-popup-item-number');\r\n let $innerPopup = this._$popupContent.find('.ol-popup-inner');\r\n let $layerNameSpan = this._$popupContent.find('.current-popup-layer-name');\r\n this.clearSelection();\r\n let lyrFeatObj = this._passThroughLayerFeatureArray[this._currentPopupIndex];\r\n $currentPopupItemNumber.html((this._currentPopupIndex + 1).toFixed());\r\n $layerNameSpan.html(lyrFeatObj.layerName);\r\n $innerPopup.html(lyrFeatObj.popupContent);\r\n lyrFeatObj.selectionLayer.getSource().addFeature(lyrFeatObj.feature);\r\n for (let f of this._popupChangedFunctions) {\r\n f(this._$popupContent);\r\n }\r\n }\r\n\r\n\r\n /**\r\n *\r\n * @param feature - the ol feature\r\n * @param {LayerEsriMapServer} lyr - the map server layer\r\n * @param {string} popupContent - popup content\r\n * @param {string} esriName - esri layer name\r\n */\r\n addMapServicePopupContent(feature: ol.Feature, lyr: LayerEsriMapServer, popupContent: string, esriName: string) {\r\n\r\n let featLayerObject = new FeatureLayerProperties(\r\n feature, lyr, this._popupContentLength, this._selectionLayerLookup[lyr.id], esriName\r\n );\r\n featLayerObject.popupContent = popupContent;\r\n\r\n this._passThroughLayerFeatureArray.push(featLayerObject);\r\n this._popupContentLength++;\r\n\r\n $('.popup-content-length').html(this._popupContentLength.toFixed());\r\n\r\n if (!this._popupOpen) {\r\n this._$popupContent.find('.next-popup').trigger('click');\r\n\r\n this._popupOverlay.setPosition(this._popupCoordinate);\r\n this._$popupContent.scrollTop(0);\r\n this._popupOpen = true;\r\n }\r\n }\r\n\r\n /**\r\n *\r\n * @param pixel - the ol pixel\r\n * @returns feature layer properties\r\n * @private\r\n */\r\n _featuresAtPixel(pixel: ol.Pixel): Array<FeatureLayerProperties> {\r\n let layerFeatureObjectArray: FeatureLayerProperties[] = [];\r\n\r\n this.map.forEachFeatureAtPixel(pixel, (feature: ol.Feature, layer: ol.layer.Vector) => {\r\n let lyrIndex = this._arrPopupOlLayers.indexOf(layer);\r\n\r\n if (lyrIndex > -1) {\r\n layerFeatureObjectArray.push(\r\n new FeatureLayerProperties(\r\n feature, this._arrPopupLayers[lyrIndex], lyrIndex, this._selectionLayers[lyrIndex]));\r\n }\r\n });\r\n\r\n return layerFeatureObjectArray;\r\n }\r\n\r\n closePopup() {\r\n this._checkInit();\r\n this._popupOpen = false;\r\n this._popupOverlay.setPosition(undefined);\r\n this._$popupCloser[0].blur();\r\n this.clearSelection();\r\n this._$popupContent.html('');\r\n\r\n return false;\r\n };\r\n\r\n\r\n /**\r\n *\r\n * @param chgFunction - popup change function\r\n */\r\n addPopupChangedFunction(chgFunction: popupChangedFunction) {\r\n this._popupChangedFunctions.push(chgFunction);\r\n }\r\n\r\n /**\r\n *\r\n * @param {LayerBase|*} lyr - the layer being acted on\r\n * @param {object} [selectionStyle={}] the selection style configuration\r\n * @param {string} [selectionStyle.color=rgba(255,170,0,0.5)] the selection color\r\n * @param {number} [selectionStyle.width=10] the selection width for linear features\r\n * @param {object|function} [selectionStyle.olStyle=undefined] an openlayers style object or function\r\n * @returns the new selection layer\r\n * @private\r\n */\r\n _addPopupLayer(lyr: LayerBaseVector|LayerEsriMapServer, selectionStyle: {color?: string, width?: number, olStyle?: ol.style.Style}): ol.layer.Vector {\r\n this._checkInit();\r\n\r\n selectionStyle = selectionStyle || {};\r\n selectionStyle.color = selectionStyle.color || 'rgba(255,170,0,0.5)';\r\n selectionStyle.width = selectionStyle.width || 10;\r\n\r\n let theStyle;\r\n\r\n if (selectionStyle.olStyle) {\r\n theStyle = selectionStyle.olStyle;\r\n } else {\r\n theStyle = new ol.style.Style({\r\n stroke: new ol.style.Stroke({\r\n color: selectionStyle.color,\r\n width: selectionStyle.width\r\n }),\r\n image: new ol.style.Circle({\r\n radius: 7,\r\n fill: new ol.style.Fill({color: selectionStyle.color}),\r\n stroke: new ol.style.Stroke({color: selectionStyle.color, width: 1})\r\n }),\r\n fill: new ol.style.Fill({\r\n color: selectionStyle.color\r\n })\r\n });\r\n }\r\n\r\n let selectionLayer = new ol.layer.Vector(\r\n {\r\n source: new ol.source.Vector(),\r\n style: theStyle\r\n }\r\n );\r\n\r\n selectionLayer.setZIndex(100);\r\n\r\n this._selectionLayers.push(selectionLayer);\r\n this._selectionLayerLookup[lyr.id] = selectionLayer;\r\n this.map.addLayer(selectionLayer);\r\n\r\n return selectionLayer;\r\n }\r\n\r\n\r\n /**\r\n * Add popup to the map\r\n * @param {LayerBase|*} lyr The layer that the popup with act on\r\n * @param {popupCallback} popupContentFunction - popup content function that makes popup info\r\n * @param {object} [selectionStyle={}] the selection style configuration\r\n * @param {string} [selectionStyle.color=rgba(255,170,0,0.5)] the selection color\r\n * @param {number} [selectionStyle.width=10] the selection width for linear features\r\n * @param {object|function} [selectionStyle.olStyle=undefined] an openlayers style object or function\r\n * @returns {object} a reference to the ol selection layer\r\n */\r\n addVectorPopup(lyr: LayerBaseVector, popupContentFunction: popupCallback,\r\n selectionStyle?: {color?: string, width?: number, olStyle?: ol.style.Style}) {\r\n let selectionLayer = this._addPopupLayer(lyr, selectionStyle);\r\n this._arrPopupLayerIds.push(lyr.id);\r\n this._arrPopupLayerNames.push(lyr.name);\r\n this._arrPopupLayers.push(lyr);\r\n this._arrPopupOlLayers.push(lyr.olLayer);\r\n this._arrPopupContentFunction.push(popupContentFunction);\r\n\r\n return selectionLayer;\r\n };\r\n\r\n\r\n /**\r\n *\r\n * @param {LayerBase} lyr - layer\r\n */\r\n removeVectorPopup(lyr: LayerBase) {\r\n let idx = this._arrPopupLayerIds.indexOf(lyr.id);\r\n\r\n if (idx > -1) {\r\n this._arrPopupLayerIds.splice(idx, 1);\r\n this._arrPopupLayerNames.splice(idx, 1);\r\n this._arrPopupLayers.splice(idx, 1);\r\n this._arrPopupOlLayers.splice(idx, 1);\r\n this._arrPopupContentFunction.splice(idx, 1);\r\n this._selectionLayers.splice(idx, 1);\r\n delete this._selectionLayerLookup[lyr.id];\r\n }\r\n }\r\n\r\n /**\r\n *\r\n * @param {LayerEsriMapServer} lyr - map server layer\r\n * @param {object} [selectionStyle={}] the selection style configuration\r\n * @param {string} [selectionStyle.color=rgba(255,170,0,0.5)] the selection color\r\n * @param {number} [selectionStyle.width=10] the selection width for linear features\r\n * @param {object|function} [selectionStyle.olStyle=undefined] an openlayers style object or function\r\n * @returns {object} a reference to the ol selection layer\r\n */\r\n addMapServicePopup(lyr: LayerEsriMapServer, selectionStyle?: ol.style.Style|Array<ol.style.Style>|ol.StyleFunction) {\r\n let selectionLayer = this._addPopupLayer(lyr, selectionStyle);\r\n this._esriMapServiceLayers.push(lyr);\r\n\r\n return selectionLayer;\r\n }\r\n\r\n clearSelection() {\r\n this._checkInit();\r\n for (let i = 0; i < this._selectionLayers.length; i++) {\r\n this._selectionLayers[i].getSource().clear();\r\n }\r\n for (let f of this._mapClickFunctions) {\r\n f();\r\n }\r\n };\r\n\r\n /**\r\n * Add a function to be called when the map is clicked but before any popups are implemented\r\n * @param {function} func - the map click function\r\n */\r\n addMapClickFunction(func: Function) {\r\n this._mapClickFunctions.push(func);\r\n }\r\n}\r\nnm.MapPopupCls = MapPopupCls;\r\nexport default MapPopupCls;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/mapPopupCls.ts","/**\r\n * Created by gavorhes on 12/15/2015.\r\n */\r\n\r\nimport provide from '../util/provide';\r\nimport ol = require('custom-ol');\r\nimport $ = require('jquery');\r\nimport {Geocode} from './geocode';\r\nconst nm = provide('olHelpers');\r\n\r\nexport interface quickMapOptions {\r\n divId?: string;\r\n center?: {x: number, y: number};\r\n zoom?: number;\r\n minZoom?: number;\r\n maxZoom?: number;\r\n baseSwitcher?: boolean;\r\n fullScreen?: boolean;\r\n addGeocode?: boolean;\r\n}\r\n\r\n/**\r\n * Sets up a map with some default parameters and initializes\r\n * mapMove and mapPopup\r\n *\r\n * @param [options={}] config options\r\n * @param [options.divId=map] map div id\r\n * @param [options.center={}] center config object\r\n * @param [options.center.x=-10018378] center x, web mercator x or lon\r\n * @param [options.center.y=5574910] center y, web mercator y or lat\r\n * @param [options.zoom=7] zoom level\r\n * @param [options.minZoom=undefined] min zoom\r\n * @param [options.maxZoom=undefined] max zoom\r\n * @param [options.baseSwitcher=true] if add base map switcher\r\n * @param [options.fullScreen=false] if add base map switcher\r\n * @returns the ol map\r\n */\r\nexport function quickMapBase(options: quickMapOptions = {}): ol.Map {\r\n options.divId = options.divId || 'map';\r\n options.center = options.center || {x: -10018378, y: 5574910};\r\n options.zoom = typeof options.zoom == 'number' ? options.zoom : 7;\r\n options.baseSwitcher = typeof options.baseSwitcher == 'boolean' ? options.baseSwitcher : true;\r\n options.fullScreen = typeof options.fullScreen == 'boolean' ? options.fullScreen : false;\r\n options.addGeocode = options.addGeocode || false;\r\n\r\n\r\n let $mapDiv = $('#' + options.divId);\r\n $mapDiv.css('position', 'relative');\r\n\r\n let osmLayer = new ol.layer.Tile({source: new ol.source.OSM()});\r\n // let satLayer = new ol.layer.Tile({visible: false, source: new ol.source.MapQuest({layer: 'sat'})});\r\n\r\n let osmCss = \"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAMAUExURQAAADQ1NDk5OURFREtLS1FHSFlZWGJRVGJiYWdmZWxsbHRmaXBpanN0c3V0dHp5eX5+fIVzd4F3eeV0jud5juZ8k4aHhomHhoyGh5eGj5OVlJiVlZiYl5qZmJydnKOTlaKZmqKdnaOioaqqqKuzsbOvrrSysLa3tbW4uLm6ub27ub+/vbGXwbCZwbCgxLKlxrOqyLStybO3yrSxyrWzzbW2y7a1zbK4y7W6zbW8y760yrTAzbTFzrPKzrLOzrTJzrTOzr7CwbXC0LXK0LTO0L3I0bPQz7TQz7PS0bXQ0LnR0brW1bzT0r7U077V1Lzc2dqNqteUsdyXscaquuOHneaGmueHnOeJnuiBleiKn+eNoOiOoOWUpOiRo+iSpeiUpeqYpumaqOmdrPSynemgruSqtOmisOmlsuuqtequuOW1vOuxu+uxvOq1ve+xvPK0pvW3o/W5pfO5qvS7qfCwvMOuwc2/wNenxNyyzNe/0Nq31Nq51dy72Oy3wOu4wOu+xey4wO+6xO2+xfTAr/TCsvfFtPHLvvTJuMPDwMfHxcXKyc3DxMvFyMvLyM3PzcDV08DV1MTX1cbY1s7X1sjZ1sra2Mnd3M7b2c7c2tfH1tnB1t7F2d7M29fX1tLY1tDd2tHe3NTf3NnS19rZ1tva2Nnf3t3d28rh3tXg3Nnh3tzj393k39ni4N7k4N7n5uXDyOfLz+zAxu3CyOzEyezKzeDJ3eLM3uvP0u3P0ePf2+7R0u7Q1u/U0+7U1ezc0+7a2e/d2+3f3vbFzvLOwfHN0PPQw/TUx/LWyvLYzPDQ1fPe0ubc4vve4uHh3+nh3+/h2u/h3vHj2vHl3uHm4eTn4uDp5ebo4+Xo5ODq6ebq6OTv6+nl4+/j4O7l4e7n5ujp4+np5Ozq5e7s5urt6O7t6Orw6u7x6u3x7vPj5PDl4fDo4vDq5fDt5vDu6PDv7PTv6fDx6vHx7fH17fXw6fXy7fb07/bz8fT18vn38vr39fr48/r59Pr6+P3++//+/gAAALNTSk0AAAEAdFJOU////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wBT9wclAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAAGHRFWHRTb2Z0d2FyZQBwYWludC5uZXQgNC4wLjlsM35OAAAFNElEQVRIS1VVCZxVUxi/9l0UIUT2bMnY43bVI2c0Y01kSWIaS0j2JEtkN41piomZrPPKQ2aQ7JKImOZlnm2493TJzDufuU1Zi+v/fee+mZ//793vnPOd7zvfes5zDBEZkBBjAcIjb+Iiotqgdhat8AMK0vl7/R9N7GiWtshqIr+EZ5gYKibyUsXY1l/mfFpssvUlWQ0FkU3gy4+RB/+kwYcO8pRSnldcOU/r2lAHARSwk2ORgEmOdC1EsuRiYSqMPwwroMIraZk5V2fYJQjCKfZrRmh3gSAZi2i4b7wSylWu8EqZwS59JkFUaW96JbNSc+CEUmt4rorwuZmWdDaoc+uZETuQlTCU5xYzR7muUnVUVo+BcRhre/VwUpasgJwhH7JkYIYA0sNxhmCwUK+lw6vCKBZehw01dEiyw4Q4aE0Z4ahDhKaFQsGnJ2BgqKoTBsNjFy0SlW6whRAZTdm8DBJmkBZhDi1j4xJQBk6ywrWUTymaCxac8lROcdauRGzQSNtA7EHUYhXyEwhhgjFUqRuO+rauhF1awFpzCsmwUbjIFBR0u1bKtyGpulW/H/cVVzkyGaIWTIR9pFAV6GK2gPMXMX8gPk9zzxXgI1kimcAltEYr+cjio1imlKpEa9rOipLm+p+CZ6Bw//qd1/f/O+GwMxbSLpyoZEcwkyh2jIks+3hmdd2jWUw4scxNysnHxU7nSspTRcJjCZGL3IsjsYJMMg5mwgx7gaIOLBFCogAgBBoNa9w+DE6I+Bs7FTgwwrJbHjWDgpYo2KwtBTcYEDuloC9geQw+k2RGnPGpTaOlq7AS+YICUz4DZVaX2TiNDhuYfTtY4geLi0IoCm3XccwM9hx4kU28StQEljDs3ZEpFGA+8dKzLmV9ymIwF5FOGn2GdJM8KLHDJbXyiYVMG9MRTLiXGGg2QKaxM3khPSRrwM9zEIardxU2w/EiA0gOeYKHzDR0V7/QGV3lKIA9ktrDArxO3gdA+k6SKoBiVwcm7NjZb9+Hnztg282TuHVZ9LOISFNt9MgyCetZVczSxnyDbl17Penq6mqpg1IhRaEO2aVLUO4/r17H8tTv6f13h71dduvZI3Y+uMdWksNSauLovJw5hsqiPIUvt0ku7/iBeUR3sksmomYWtRbAjbiLfv2lX9/V7LVG4uYnUZXhQ7f2OPCZEx9wrYWTcePEQqPEML8pl4mMdr/jlXlvHiRiJ2+MSTFY4TTSYStuvz2R/JXh+PPeGXm055J+3/YDWuNu3R3DArPutyg0ZgykMVDU9Ndm22+wYalr2rse48CnsTIFcMn73vfhNrktx1EUcZnPv6ah3Yy5cDTRdBEoGoBeah71dqFyjZDJLkWk3N3v4uuktssjWpzciMPxQeHj8nMKzcGuB0tAyzFhdCKOYWv4HwOQVwIxLG99a6uvH3sJCyO3h+k4EZ+G7+xj5f4XXksoaGrdMRzSc8ARA8+cdOuk2x6fffNNt5x+Ro1omPlrT/CQDlcNlpx4NBIWXhkx7Y3Zp3ofNR7Uv89Om/beW0TLIynHv3vs1VsOFpSWSXvfuPUf9BrRFyxgXdHoKJnQFegPOovvzz59ntrzye240ig8UQ3lDI2VqwagrKIQcLXNFL3wglN2OHdBQ6/vI3kENDVBwRb3k1XtczFbjWn4EzMYi7CF3129+JTYuRSdrGuS92g5dpqn6qXoJQs5xmL8p+Wt4hLbt0mx2OLNZR2bbPy8zJNQGFM/f/CfXZekRYFjGCWjIJpM+WiCzGBPWHhoyaAsjRT/B2Gy5yzYJkwUAAAAAElFTkSuQmCC')\";\r\n let aerialCss = \"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAMAUExURQALBgIMDQgOBwQOEQcTBwUSCwoVDAwdBw8ZDgUREwYUGAYZFQYZGgkTFQoVGQsZFAwZHBMeDhIbFBEbHAwWIA4bIREcIQ4hCQwjFw4lHBgkDB8sDxUiExIiGhAoGxohFRshGRorHQcrKQsiIQwmKgooJA0pKQ81Jw8yLRMiIxImKxUrJREuKhslJB0rIhooKRUuMBMyLhkwJhozKh48LxUzMRM9MBwzMiUvFCMtGiMwEiwzFCgzHDI+GSIsISkvJSQxIiM2LiY5Jic+Lyk0JSo0Ky49JSs9KSU1NSM7NCs2NS8+NDM1JzU9Ljg7IDJCHS1DLSNAMitCMSxIOjREITZLIDZJKDlFIjpFKztKJT1LKzJBMzpHMD1JMjpKPD1RKjlQNC1DQj5QQEA8MEJGJkBKJUJNK0lLLEJMMkVMPEpONENSLUdZL0pTLkpaLkRUMkRSPEVZMktUM0pVOklZMklZNEpcNU1ZMk1ZNUxfMk5dNkxcOVFUM1RUOFJbNVFZOVNYPVFdOVJdPFVaOVVaPVVdOlVdPVpaNlpdO0phN01hOlBiN1NhPFNoP1piPWFbPmRjPENOQEtPSURTQkJVS0xVQk1VSkxbQkxcS0heUVFXRFRcQlJfTFxeQlpeS05lQk1kSFRjQVRjSlZpQ1tkQlxlSlxpRF1rSVVnUVtlU1llXF9tU1xoXlxwSl9ramRfQmJlQ2FhSWFlSWFlTmVlSWRmTGFoQWFpRWFsRmVpRWVtRmNsSmtlRGpqRmpsS2BmWGRsUmFrW2ptUmZyR2RxTGpxTWVyU2RyW2d5V2tzUmt0WW15VG15WXFuTHNtVnFxTXF4T3h0TnJzUnJ1XHJ4VXN6Wnp0VHx1W315VXp8XGR0YGx0YHVzZXJ0aHR9ZXV+aHl9YHOCXXqBXXeCYHyCY3iEaHyIYn+JaXqKcYB5WIN6Y4SCXoCDZIGEaYCIZoOLa4iCaImJbIOOdYuMco6OeIuVcpOKbZKPc5aQb5eXe5ufg6KjhAAAAAAAAAAAAAAAAOGCeQgAAAEAdFJOU////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wBT9wclAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAAGHRFWHRTb2Z0d2FyZQBwYWludC5uZXQgNC4wLjlsM35OAAAH80lEQVRISy1WbXQUVxm+6wqnk3Zmpxl2FG2EGg92C8GDlWptVTwa+uF3xcKmDfFzCUzDsJNsunXipglJXJbrtJWmwZNSnHD3jojRgUIm2UumIZ0JZ7JByrALbMWW0IBW8aRa4+cf76TeX3Nm3uc+z/s+7/vugl4r/aMTrT4e1pPTqnnmJNn5AyUzRnrRle/qE33dsvrBtAQVoxtpZNK3zSzYjUjviWO2Ag+R77dl7W36n/1Ep9KBPG/S+Py0PkjU/gPKQGqwTHryiWYFAXSvMairsio7SjyNsnCzh0qKImV9/7mhfHQZx2yN1O+7rXUm33MUPaboOkAJHaoIdXfJj2xWeyD8jMFEXkvIu5qzpU988gWB5zl+GS+sFe55trEVPdWZB2miq8bBVkNFO2R0qnrfkiXhcJhtDNXE6tbW97/s9O9/7ZfVhx86/CwrROpfvvxboMqeLsuqPr1j44qEwDNMOBximUiYoU8sw7BC/a7T72uEnyJDlGxZ9KcglZRyuqqrv/tSZErgOI4NgRBTIw9EmHAoFGZZnp6aGaJ2GTxfxYs8kKVUQh7WB5hQeC3LsUxoxVKW14l3BX2WcoUYPiZyLLe8teZ+iuT4GGhvV5KpKWkpyzxEr2MZgQ1xdRjfRBoH+2k6lIHjKTHPPBo8CSJISqqq4wGGOcWylIGlgvgNX1Gd8vF5f+IUIwb30ng+Gg2QfBRIMvy0jG8SVkYo4N0zvUXVRztbJ/L6xL7lUZEXBEHkuZqlS6gEAUgKJurnhFtfpACOYd8b/hVbJPqwi44a6KA0sPVjIi/SIyxb3u8KlAJ0S8jRVgrlW+nVHPdrhiXCxu42d86ByksDc80P3MkJFBFQ8Ho1lQegpWJRWFGsDsRwwv7pIyvuQW0ZkrX6NDVFbqcvaQI8vbyqzt5AARrsbKx5yhQEGs+wPO56bOK+0rcwMrOKkpUbZWYxV04UeZZv/cBKFhRL6Qdv9y4LfEDA7/thg7tTmv1a5/GnO0wl0dQg80wglZaHUmxRvjwAHOfyN0mxrpqLUpcjsK3NHYMo4R1o6eho2ZyIb2FoeOC3ILK8kZ2HQMOuWywGXUkJBCeTbYFS0+ym1h2/6UgmvnrvKYZZtIEXGf75C2cIAp5LHNd71x7uPoTjakrWH9e3KFpaatjUvJUysFw0KrLMYMW2lTg4PeUQx6kJEALvxXEmCdVyPLHtCSjBhc01XCjIgafxou+PE6KC1dhxSCwoBCc+N4P3btM84pmdSSjJnjO/nvY4LQfVyz5/I+v6IwjUOMjy+MVCxIbKupTJaEktp7cTKU42Pvjh2m/8cSpC6aPsaX/MHSuUQLVVsIa4RUTs/r/BVAexNdjdnsNG7j/rV93xheLMzKnFrPeTEQchCyCcKb25aAIn7lrAertrZwyNXM8N6zfWrFo3d2SmOEcF83x/r+OOFgrAHYWF7cELjhV7UQo/6WAIUVl9JFl8a//HZ66VpbY3I9QKZqPru77lA+iOWAIr0hKxHCmmr0othSyeIl5y3qt4xT8gSNrKEZozs8Els67rgsLOZ+ygzwMfbtNhobfgzpEyGnz7htPtzUi6PuOoj7K0WF/MXiUFxwGajRD1hjYXHXI9p406qOyinp5/tiWcDHY0jIu4n64Qfq7kliB2gemag9QbOia0PbbDMbd43SHuvxFxrAocxins7MX5Kqbe1QixKBxoV4//PfAgGCu+Rlm4SvZizyDH+0reDHp92iO0BuX3bCfItl0PEwvYLqpwXG2MHlGsQ4S8pMJZv1JGmHiEoHQDdOjwmVlEP/nE9ADKjI8xLI0OOGITfy0SbeG/C2jKUDGSlDhM9I3IpK9iup6XnbRNC7yqueNsJCCIiXzdQhnaGN+46umnEdy5U5UbUJ48LFM9GkJo8BdDOiAZ7ZIQbKhYLMqvhU2wmNxjEAsS2AI7y4nWF64duePbk7YV3zvAVLEMD9AxJRNa3KDUibV7DjnkuprMEYjScFNcaR2ceP2u9R/5k1052Ryme5phAFRswlHjAudiP4dOy7CaxLgdJh9vUlU1702/+LPa1U9fvPi9qlA4XEUBJc3dFlpsR457IDl1iPqLp7o81NQgyV19iYU38uTiv975Pd3SiwQcsGjx+v4/6fl5T7EOOMTCtpbKxfemsQq/3olQZcminADAAI0cuGLHaHOFxbuGvRk/Z9u7CULqoVR6NE0yx1avj30oRhc/jWUoIALGxkz0dg1Dl9iaI7LqOOXKsXJFwjiuEAi70Jra2nW1PL08zLBhZsMABpW5csI7TPfew9ipFKcn5k1i+1KyCWKjC3W/8dF1d666+RaabBVTFTHacjoojBNDh0NDxk+IPTlwfqJkWpbnpFHXIbLbmpxEQ3ff/Z0g/mauXsoln9wDRjy/NHsQFw3P6vWuTJ43/+FZrk2cvAFRipCKdfD9y2+pjRj78s0KdCUDKJvdV91ChngV38T20TM+gghjpJaPlpFr2xbEz5g4A/NGt5rNwdwmYGeeeMXBSLHHUIc+6RsojRH9VTUm3/mLf/64b470XvoxoTKhlMBQ2jMEzo2PjxdGMppmn1RM24bWFJqaQv4BcuJa2Sam7Zokq1ldCsz06NCBHrhwqVQYpfFj42NZexz1EW9SR/kT58nEeQKJb2fPXjjp0u/YUkwHEgLeOnf2nOuf1TRTM02CLKLTPy60/x1CCztqn7Ev+BdsC3m+30decQvW/wBNTwU+CfUQAQAAAABJRU5ErkJggg==')\";\r\n\r\n if (options.baseSwitcher) {\r\n // let switcherContent = '<div class=\"base-map-switcher\" title=\"Toggle Base Layer\" style=\"';\r\n // switcherContent += 'position: absolute; top: 70px; left: 4px; border: solid black 1px; ';\r\n // switcherContent += `height: 50px; width: 50px; z-index: 10; border-radius: 4px; background: ${aerialCss};`;\r\n // switcherContent += '\"></div>';\r\n // $mapDiv.append(switcherContent);\r\n //\r\n // $mapDiv.find('.base-map-switcher').click(function() {\r\n // \"use strict\";\r\n // osmLayer.setVisible(!osmLayer.getVisible());\r\n // satLayer.setVisible(!satLayer.getVisible());\r\n //\r\n // if (osmLayer.getVisible()){\r\n // $(this).css('background', aerialCss);\r\n // } else {\r\n // $(this).css('background', osmCss);\r\n // }\r\n // });\r\n }\r\n\r\n if (options.zoom < 0 || options.zoom > 28) {\r\n throw 'zoom out of range';\r\n }\r\n\r\n if (options.center.x >= -180 && options.center.x <= 180 && options.center.y >= -90 && options.center.y <= 90) {\r\n let p = new ol.geom.Point([options.center.x, options.center.y]);\r\n new ol.proj.Projection({code: \"EPSG:4326\"});\r\n\r\n p.transform(new ol.proj.Projection({code: \"EPSG:4326\"}), new ol.proj.Projection({code: \"EPSG:3857\"}));\r\n let coordinates = p.getCoordinates();\r\n options.center.x = coordinates[0];\r\n options.center.y = coordinates[1];\r\n }\r\n\r\n const controls = ol.control.defaults({\r\n attributionOptions: {collapsible: false}\r\n }\r\n );\r\n\r\n const view = new ol.View({\r\n center: [options.center.x, options.center.y],\r\n zoom: options.zoom,\r\n minZoom: options.minZoom,\r\n maxZoom: options.maxZoom\r\n });\r\n\r\n let map = new ol.Map({\r\n layers: [osmLayer],\r\n target: options.divId,\r\n controls: controls,\r\n view: view\r\n });\r\n\r\n if (options.fullScreen) {\r\n map.addControl(new ol.control.FullScreen({}));\r\n }\r\n\r\n if (options.addGeocode){\r\n new Geocode(document.getElementById(options.divId) as HTMLDivElement, map);\r\n }\r\n\r\n return map;\r\n}\r\n\r\nnm.quickMapBase = quickMapBase;\r\nexport default quickMapBase;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/quickMapBase.ts","/**\r\n * Created by gavorhes on 12/14/2015.\r\n */\r\n\r\nimport provide from '../util/provide';\r\nconst nm = provide('olHelpers.zoomResolutionConvert');\r\n\r\nlet _zoomResLookup = [\r\n 156543.03392804097, //0\r\n 78271.51696402048, //1\r\n 39135.75848201024, //2\r\n 19567.87924100512, //3\r\n 9783.93962050256, //4\r\n 4891.96981025128, //5\r\n 2445.98490512564, //6\r\n 1222.99245256282, //7\r\n 611.49622628141, //8\r\n 305.748113140705, //9\r\n 152.8740565703525, //10\r\n 76.43702828517625, //11\r\n 38.21851414258813, //12\r\n 19.109257071294063, //13\r\n 9.554628535647032, //14\r\n 4.777314267823516, //15\r\n 2.388657133911758, //16\r\n 1.194328566955879, //17\r\n 0.5971642834779395, //18\r\n 0.29858214173896974, //19\r\n 0.14929107086948487, //20\r\n 0.07464553543474244, //21\r\n 0.03732276771737122, //22\r\n 0.01866138385868561, //23\r\n 0.009330691929342804, //24\r\n 0.004665345964671402, //25\r\n 0.002332672982335701, //26\r\n 0.0011663364911678506, //27\r\n 0.0005831682455839253 //28\r\n];\r\n\r\n/**\r\n * Get the resolution given the zoom level\r\n * @param {number} zoomLevel - the zoom level\r\n * @returns {number|*} the map resolution\r\n */\r\nexport function zoomToResolution(zoomLevel: number): number {\r\n \"use strict\";\r\n\r\n if (typeof zoomLevel == 'number') {\r\n if (zoomLevel % 1 === 0 && zoomLevel >= 0 && zoomLevel <= 28) {\r\n return _zoomResLookup[zoomLevel];\r\n } else {\r\n console.log(`invalid zoom level provided: ${zoomLevel}`);\r\n\r\n return undefined;\r\n }\r\n } else {\r\n return undefined;\r\n }\r\n}\r\nnm.zoomToResolution = zoomToResolution;\r\n\r\n\r\n/**\r\n * Get resolution from the zoom level\r\n * @param {number} resolution - the resolution\r\n * @returns {number|*} the zoom level\r\n */\r\nexport function resolutionToZoom(resolution: number): number{\r\n for (let i = 0; i < _zoomResLookup.length; i++){\r\n if (resolution >= _zoomResLookup[i] ){\r\n return i;\r\n }\r\n }\r\n\r\n return 0;\r\n}\r\n\r\nnm.resolutionToZoom = resolutionToZoom;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/zoomResolutionConvert.ts","/**\r\n * Created by gavorhes on 12/16/2015.\r\n */\r\n\r\nimport provide from '../util/provide';\r\nimport makeGuid from '../util/makeGuid';\r\nimport mapMove from '../olHelpers/mapMove';\r\n\r\nlet nm = provide('collections');\r\nimport $ = require('jquery');\r\nimport {LayerBase} from \"../layers\";\r\n\r\nexport interface iLegendItem{\r\n groupName: string;\r\n collapse?: boolean;\r\n addCheck?: boolean;\r\n items: Array<iLegendItem|LayerBase>\r\n}\r\n\r\nexport interface iLegendOptions{\r\n layerDivClasses?: string[]\r\n legendTitle?: string\r\n scaleDependent?: boolean\r\n}\r\n\r\nclass LayerGroup {\r\n groupLayers: any;\r\n groupLayersLookup: any;\r\n groupGroupsLookup: any;\r\n groupGroups: any;\r\n itemIdArray: any;\r\n groupId: any;\r\n groupName: any;\r\n allLayerArray: any;\r\n parent: any;\r\n allGroupArray: any;\r\n allGroupLookup: any;\r\n allLayerLookup: any;\r\n collapse: boolean;\r\n addCheck: boolean;\r\n layerParentLookup: any;\r\n\r\n /**\r\n *\r\n * @param {object} [groupConfig={}] - group configuration object\r\n * @param {string} groupConfig.groupName - the group name\r\n * @param {boolean} [groupConfig.collapse=false] - if the group should be collapsed initially\r\n * @param {boolean} [groupConfig.addCheck=true] - if the group should have a checkbox controlling visibility of all layers\r\n * @param {LayerGroup} [parent=undefined] - the parent group\r\n */\r\n constructor(groupConfig?: iLegendItem, parent?: LayerGroup) {\r\n this.groupLayers = [];\r\n this.groupLayersLookup = {};\r\n this.groupGroups = [];\r\n this.groupGroupsLookup = {};\r\n this.itemIdArray = [];\r\n\r\n if (typeof groupConfig == 'undefined') {\r\n this.parent = null;\r\n this.groupId = 'root';\r\n this.groupName = 'root';\r\n this.allGroupLookup = {root: this};\r\n this.allGroupArray = [this];\r\n this.allLayerArray = [];\r\n this.allLayerLookup = {};\r\n this.layerParentLookup = {};\r\n this.collapse = false;\r\n this.addCheck = false;\r\n } else {\r\n this.groupId = makeGuid();\r\n this.parent = parent;\r\n this.groupName = groupConfig.groupName;\r\n this.collapse = typeof groupConfig.collapse == 'boolean' ? groupConfig.collapse : false;\r\n this.addCheck = typeof groupConfig.addCheck == 'boolean' ? groupConfig.addCheck : true;\r\n }\r\n }\r\n\r\n /**\r\n *\r\n * @param {object} groupConfig - configuration object\r\n * @param {string} groupConfig.groupName - the group name\r\n * @param {boolean} groupConfig.collapse if the group should be collapsed initially\r\n * @param {boolean} groupConfig.addCheck if the group should have a checkbox controlling visibility of all layers\r\n * @param {Array<LayerGroup>} parents parent groups\r\n * @returns {LayerGroup} the layer group just added\r\n */\r\n addGroup(groupConfig: iLegendItem, parents: string[]) {\r\n let parent;\r\n if (parents.length > 0) {\r\n parent = parents[parents.length - 1];\r\n } else {\r\n parent = 'root';\r\n }\r\n\r\n\r\n /**\r\n * @type {LayerGroup}\r\n */\r\n let parentGroup = this.allGroupLookup[parent];\r\n let newGroup = new LayerGroup(groupConfig, parentGroup);\r\n this.allGroupLookup[newGroup.groupId] = newGroup;\r\n this.allGroupArray.push(newGroup);\r\n\r\n parentGroup.groupGroups.push(newGroup);\r\n parentGroup.groupGroupsLookup[newGroup.groupId] = newGroup;\r\n\r\n if (parentGroup.itemIdArray.indexOf(newGroup.groupId) > 0) {\r\n console.log(newGroup.groupId);\r\n throw 'layer and group ids must be unique';\r\n }\r\n parentGroup.itemIdArray.push(newGroup.groupId);\r\n\r\n return newGroup;\r\n }\r\n\r\n /**\r\n *\r\n * @param {LayerBase} newLayer the layer to be added\r\n * @param {Array} parents array\r\n */\r\n addLegendLayer(newLayer: LayerBase, parents: string[]) {\r\n let parent;\r\n if (parents.length > 0) {\r\n parent = parents[parents.length - 1];\r\n } else {\r\n parent = 'root';\r\n }\r\n\r\n this.allLayerLookup[newLayer.id] = newLayer;\r\n this.allLayerArray.push(newLayer);\r\n\r\n /**\r\n * @type {LayerGroup}\r\n */\r\n let parentGroup = this.allGroupLookup[parent];\r\n\r\n parentGroup.groupLayers.push(newLayer);\r\n parentGroup.groupLayersLookup[newLayer.id] = newLayer;\r\n if (parentGroup.itemIdArray.indexOf(newLayer.id) > 0) {\r\n console.log(newLayer.id);\r\n throw 'layer and group ids must be unique';\r\n }\r\n parentGroup.itemIdArray.push(newLayer.id);\r\n\r\n this.layerParentLookup[newLayer.id] = parentGroup;\r\n\r\n }\r\n\r\n\r\n\r\n getLegendHtml(legendId: string, options: iLegendOptions) {\r\n\r\n\r\n let legendHtml = `<ul id=\"${legendId}\" class=\"legend-container\">`;\r\n\r\n legendHtml += `<li>${options.legendTitle}<input type=\"checkbox\" checked id=\"suppress-by-extent-${legendId}\" class=\"suppress-by-extent\">` +\r\n `<label title=\"Suppress layers not visible at this zoom level\" for=\"suppress-by-extent-${legendId}\">` +\r\n `<span></span>` +\r\n `</label></li>`;\r\n\r\n legendHtml += this._buildLegend(this.itemIdArray, this, options.layerDivClasses) + '</ul>';\r\n\r\n return legendHtml;\r\n }\r\n\r\n /**\r\n * @param {Array} itemIds the items to process\r\n * @param {LayerGroup} theGroup new group\r\n * @param {Array} [layerDivClasses=[]] optional classes to apply to the layer divs\r\n * @static\r\n * @returns {string} html string\r\n */\r\n _buildLegend(itemIds: string[], theGroup: LayerGroup, layerDivClasses: string[]): string {\r\n\r\n if (itemIds.length == 0) {\r\n return '';\r\n }\r\n\r\n let theHml = '';\r\n\r\n let itemId = itemIds[0];\r\n\r\n if (theGroup.groupLayersLookup[itemId]) {\r\n\r\n /**\r\n * @type {LayerBase}\r\n */\r\n let lyr = theGroup.groupLayersLookup[itemId];\r\n theHml += `<li id=\"${lyr.id}-layer-li\" class=\"legend-layer-li ${layerDivClasses.join(' ')}\">` + lyr.getLegendDiv() + '</li>';\r\n\r\n\r\n } else if (theGroup.groupGroupsLookup[itemId]) {\r\n /**\r\n * type {LayerGroup}\r\n */\r\n let otherGroup = theGroup.groupGroupsLookup[itemId];\r\n\r\n theHml += `<li>`;\r\n theHml += `<div id=\"${otherGroup.groupId}-legend-layer-div\" ` +\r\n `class=\"legend-layer-group ${layerDivClasses.join(' ')}\">`;\r\n\r\n if (otherGroup.addCheck) {\r\n theHml += `<input type=\"checkbox\" checked id=\"${otherGroup.groupId}-group-chck\">` +\r\n `<label for=\"${otherGroup.groupId}-group-chck\" title=\"Click arrow to expand or collapse\">${otherGroup.groupName}</label>`;\r\n } else {\r\n theHml += `<label title=\"Click arrow to expand or collapse\">${otherGroup.groupName}</label>`;\r\n }\r\n\r\n theHml += `<span title=\"Expand/Collapse\" class=\"layer-group-expander`;\r\n theHml += `${otherGroup.collapse ? ' legend-layer-group-initial-collapse' : ''}\">`;\r\n theHml += otherGroup.collapse ? '▶' : '▼';\r\n theHml += '</span>';\r\n\r\n //parents.push(groupId);\r\n theHml += '<ul>' + this._buildLegend(otherGroup.itemIdArray, otherGroup, layerDivClasses) + '</ul>';\r\n theHml += '</div>';\r\n theHml += '</li>';\r\n }\r\n\r\n return theHml + this._buildLegend(itemIds.slice(1), theGroup, layerDivClasses);\r\n }\r\n}\r\n\r\n\r\n/**\r\n * a wrapper to make a legend\r\n */\r\nexport class LayerLegend {\r\n\r\n $divElement: JQuery;\r\n _legendItems: Array<iLegendItem|LayerBase>;\r\n layerGroup: any;\r\n legendId: string;\r\n\r\n /**``\r\n *\r\n * @param {Array} legendItems array of layers or objects with {groupName: {string}, collapse: {boolean}, addCheck: {boolean}, items: {Array}}\r\n * @param {string} divId the div where the legend should be added\r\n * @param {object} options for legend\r\n * @param {Array} [options.layerDivClasses=[]] optional array of classes to be applied to the layer legend divs for custom styling\r\n * @param {string} [options.legendTitle=Legend] the legend title\r\n * @param {boolean} [options.scaleDependent=true] if legend display is scale dependent\r\n */\r\n constructor(legendItems: Array<iLegendItem|LayerBase>, divId: string, options: iLegendOptions = {}) {\r\n for (let i of legendItems) {\r\n if (typeof i == 'undefined') {\r\n throw 'undefined item passed in array to legend constructor';\r\n }\r\n }\r\n\r\n options.legendTitle = typeof options.legendTitle == 'string' ? options.legendTitle : 'Legend';\r\n options.scaleDependent = typeof options.scaleDependent == 'boolean' ? options.scaleDependent : true;\r\n options.layerDivClasses = options.layerDivClasses || [];\r\n\r\n // if legend display is scale dependent, make sure the mapMove object is initialized first\r\n if (options.scaleDependent) {\r\n mapMove.checkInit();\r\n }\r\n\r\n this.$divElement = $('#' + divId);\r\n\r\n this._legendItems = legendItems;\r\n\r\n this.layerGroup = new LayerGroup();\r\n\r\n this._buildTree(legendItems);\r\n\r\n this.legendId = makeGuid();\r\n\r\n this.$divElement.append(this.layerGroup.getLegendHtml(this.legendId, options));\r\n\r\n for (let l of this.layerGroup.allLayerArray){\r\n l.applyCollapse();\r\n }\r\n\r\n let _this = this;\r\n //// if legend display is scale dependent, make sure the mapMove object is initialized first\r\n if (options.scaleDependent) {\r\n mapMove.checkInit();\r\n\r\n mapMove.addCallback(function (ext, zoom, evt) {\r\n\r\n if (typeof evt == 'undefined' || evt == 'change:resolution') {\r\n for (let lyr of this.layerGroup.allLayerArray) {\r\n let $lyrLi = $('#' + lyr.id + '-layer-li');\r\n if (zoom > lyr.maxZoom || zoom < lyr.minZoom) {\r\n $lyrLi.addClass('layer-not-visible');\r\n } else {\r\n $lyrLi.removeClass('layer-not-visible');\r\n }\r\n }\r\n }\r\n }, this, 100, true, 'legend1');\r\n }\r\n\r\n // <editor-fold desc=\"add event listeners\">\r\n\r\n this.$divElement.find(\".suppress-by-extent\").change(function () {\r\n let legendLayerLis = $('.legend-layer-li');\r\n if (this.checked) {\r\n legendLayerLis.removeClass('layer-force-show');\r\n } else {\r\n legendLayerLis.addClass('layer-force-show');\r\n }\r\n });\r\n\r\n this.$divElement.find('.legend-check').change(function () {\r\n let lyrId = this.id.replace('-legend-layer-check', '');\r\n _this.layerGroup.allLayerLookup[lyrId].visible = this.checked;\r\n });\r\n\r\n this.$divElement.find('.legend-layer-group > input[type=checkbox]').change(function () {\r\n $(this).siblings('ul').find('input[type=checkbox]').prop('checked', this.checked).trigger('change');\r\n });\r\n\r\n this.$divElement.find('.layer-group-expander').click(function () {\r\n let $this = $(this);\r\n $this.removeClass('legend-layer-group-initial-collapse');\r\n\r\n $this.siblings('ul').slideToggle();\r\n\r\n if ($this.hasClass('legend-layer-group-collapsed')){\r\n $this.removeClass('legend-layer-group-collapsed');\r\n $this.html('▼');\r\n } else {\r\n $this.addClass('legend-layer-group-collapsed');\r\n $this.html('▶');\r\n }\r\n });\r\n\r\n this.$divElement.find('.legend-layer-group-initial-collapse').trigger('click');\r\n // </editor-fold>\r\n }\r\n\r\n\r\n /**\r\n * @param {Array} [legendItems=this._layerConfig] the legend items\r\n * @param {Array} [parents=[]] the ordered list of groups in which this item is a member\r\n * @private\r\n */\r\n _buildTree(legendItems: Array<iLegendItem|LayerBase>, parents?: string[]) {\r\n\r\n if (legendItems.length == 0) {\r\n return;\r\n }\r\n\r\n let oneItem = legendItems[0];\r\n\r\n //reset the parent if the item is in the base array\r\n if ((this._legendItems as Array<any>).indexOf(oneItem) > -1 || typeof parents == 'undefined') {\r\n parents = [];\r\n }\r\n\r\n if (typeof (oneItem as iLegendItem).groupName !== 'undefined') {\r\n let groupItem = legendItems[0];\r\n let newGroup = this.layerGroup.addGroup(groupItem, parents);\r\n parents.push(newGroup.groupId);\r\n this._buildTree((oneItem as iLegendItem).items, parents);\r\n } else {\r\n /**\r\n * @type {LayerBase}\r\n */\r\n let layerItem: LayerBase = legendItems[0] as LayerBase;\r\n\r\n this.layerGroup.addLegendLayer(layerItem, parents);\r\n }\r\n\r\n this._buildTree(legendItems.slice(1), parents);\r\n }\r\n}\r\n\r\nnm.LayerLegend = LayerLegend;\r\nexport default LayerLegend;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/collections/LayerLegend.ts","import {LayerBase, LayerBaseOptions} from './LayerBase';\r\nimport mapMove from '../olHelpers/mapMove';\r\nimport MapMoveCls from '../olHelpers/mapMoveCls'\r\nimport provide from '../util/provide';\r\nimport ol = require('custom-ol');\r\nimport $ = require('jquery');\r\n\r\nconst nm = provide('layers');\r\n\r\nexport interface makeMapMoveParams {\r\n /**\r\n *\r\n * @param lyr\r\n * @param extent\r\n * @param zoomLevel\r\n */\r\n (lyr: LayerBaseVector, extent: {minX: number, minY: number, maxX: number, maxY: number}, zoomLevel?: number): any\r\n}\r\n\r\n\r\n\r\nexport interface LayerBaseVectorOptions extends LayerBaseOptions{\r\n autoLoad?: boolean;\r\n style?: ol.style.Style|Array<ol.style.Style>|ol.StyleFunction;\r\n onDemand?: boolean;\r\n onDemandDelay?: number;\r\n mapMoveMakeGetParams?: makeMapMoveParams;\r\n mapMoveObj?: MapMoveCls;\r\n renderOrder?: (a: ol.Feature, b: ol.Feature) => number;\r\n\r\n}\r\n\r\n\r\n\r\n/**\r\n * The Vector layer base\r\n * @augments LayerBase\r\n * @abstract\r\n */\r\nexport class LayerBaseVector extends LayerBase {\r\n _olLayer: ol.layer.Vector;\r\n _source: ol.source.Vector;\r\n _style: ol.style.Style|Array<ol.style.Style>|ol.StyleFunction;\r\n _autoLoad: boolean;\r\n _onDemand: boolean;\r\n _onDemandDelay: number;\r\n _mapMoveMakeGetParams: makeMapMoveParams;\r\n _mapMoveParams: any;\r\n _mapMove: MapMoveCls;\r\n _projectionMap: ol.proj.Projection;\r\n _projection4326: ol.proj.Projection;\r\n\r\n\r\n\r\n /**\r\n * The base vector layer\r\n * @param {string} url - pass an empty string to prevent default load and add from a json source\r\n * @param {object} options - config\r\n * @param {string} [options.id] - layer id\r\n * @param {string} [options.name=Unnamed Layer] - layer name\r\n * @param {number} [options.opacity=1] - opacity\r\n * @param {boolean} [options.visible=true] - default visible\r\n * @param {number} [options.minZoom=undefined] - min zoom level, 0 - 28\r\n * @param {number} [options.maxZoom=undefined] - max zoom level, 0 - 28\r\n * @param {object} [options.params={}] the get parameters to include to retrieve the layer\r\n * @param {number} [options.zIndex=0] the z index for the layer\r\n * @param {function} [options.loadCallback] function to call on load, context this is the layer object\r\n * @param {boolean} [options.legendCollapse=false] if the legend item should be initially collapsed\r\n * @param {boolean} [options.legendCheckbox=true] if the legend item should have a checkbox for visibility\r\n * @param {boolean} [options.legendContent] additional content to add to the legend\r\n *\r\n * @param {boolean} [options.autoLoad=false] if the layer should auto load if not visible\r\n * @param {object} [options.style=undefined] the layer style, use openlayers default style if not defined\r\n * @param {boolean} [options.onDemand=false] if the layer should be loaded by extent on map move\r\n * @param {number} [options.onDemandDelay=300] delay before the map move callback should be called\r\n * @param {mapMoveMakeGetParams} [options.mapMoveMakeGetParams=function(lyr, extent, zoomLevel){}] function to create additional map move params\r\n * @param {MapMoveCls} [options.mapMoveObj=mapMove] alternate map move object for use with multi map pages\r\n *\r\n */\r\n constructor(url: string, options: LayerBaseVectorOptions = {}) {\r\n super(url, options);\r\n\r\n options = options as LayerBaseVectorOptions;\r\n\r\n //prevent regular load if no url has been provided\r\n if (this.url.trim() == '') {\r\n this._loaded = true;\r\n }\r\n\r\n this._style = typeof options.style == 'undefined' ? undefined : options.style;\r\n\r\n if (this.visible) {\r\n this._autoLoad = true;\r\n } else {\r\n this._autoLoad = (typeof options['autoLoad'] == 'boolean' ? options['autoLoad'] : false);\r\n }\r\n\r\n this._onDemand = typeof options.onDemand == 'boolean' ? options.onDemand : false;\r\n this._onDemandDelay = typeof options.onDemandDelay == 'number' ? options.onDemandDelay : 300;\r\n\r\n if (options.mapMoveObj) {\r\n this._mapMove = options.mapMoveObj;\r\n } else {\r\n this._mapMove = this._onDemand ? mapMove : undefined;\r\n }\r\n\r\n\r\n this._mapMoveMakeGetParams = typeof options.mapMoveMakeGetParams == 'function' ? options.mapMoveMakeGetParams :\r\n function () {return {};};\r\n\r\n if (this._onDemand) {\r\n this._loaded = true;\r\n this._mapMoveParams = {};\r\n this._mapMove.checkInit();\r\n this._mapMove.addVectorLayer(this);\r\n }\r\n\r\n this._source = new ol.source.Vector();\r\n\r\n\r\n this._olLayer = new ol.layer.Vector(\r\n {\r\n source: this._source,\r\n visible: this.visible,\r\n style: this.style,\r\n minResolution: this._minResolution,\r\n maxResolution: this._maxResolution,\r\n renderOrder: options.renderOrder\r\n }\r\n );\r\n\r\n this.olLayer.setZIndex(this._zIndex);\r\n\r\n this._projectionMap = null;\r\n this._projection4326 = new ol.proj.Projection({code: \"EPSG:4326\"});\r\n this._olLayer.setOpacity(this.opacity)\r\n }\r\n\r\n /**\r\n * dummy to be overridden\r\n * @param {object} featureCollection - geojson or esrijson object\r\n */\r\n addFeatures(featureCollection: Object) {\r\n console.log('Layer vector base addFeatures is a placeholder and does nothing');\r\n }\r\n\r\n /**\r\n * Before call to map move callback, can prevent call by returning false\r\n * @param {number} zoom - zoom level\r\n * @param {string} [evtType=undefined] undefined for initial load, otherwise one of 'change:center', 'change:resolution'\r\n * @returns {boolean} if the call should proceed\r\n */\r\n mapMoveBefore(zoom: number, evtType: string) {\r\n if (this.minZoom !== undefined) {\r\n if (zoom < this.minZoom) {\r\n return false;\r\n }\r\n }\r\n\r\n if (this.maxZoom !== undefined) {\r\n if (zoom > this.maxZoom) {\r\n return false;\r\n }\r\n }\r\n\r\n return this.visible;\r\n }\r\n\r\n /**\r\n * callback to generate the parameters passed in the get request\r\n * @param {object} extent - extent object\r\n * @param {number} extent.minX - minX\r\n * @param {number} extent.minY - minY\r\n * @param {number} extent.maxX - maxX\r\n * @param {number} extent.maxY - maxY\r\n * @param {number} zoomLevel - zoom level\r\n */\r\n mapMoveMakeGetParams(extent: {minX: number, minY: number, maxX: number, maxY: number}, zoomLevel: number) {\r\n this._mapMoveParams = {};\r\n $.extend(this._mapMoveParams, this.params);\r\n $.extend(this._mapMoveParams, this._mapMoveMakeGetParams(this, extent, zoomLevel));\r\n }\r\n\r\n /**\r\n * callback function on map move\r\n * @param {object} d - the json response\r\n */\r\n mapMoveCallback(d: Object) {\r\n if (this.source) {\r\n this._source.clear();\r\n }\r\n }\r\n\r\n /**\r\n * clear features in the layer\r\n */\r\n clear() {\r\n if (this._source) {\r\n this._source.clear();\r\n }\r\n }\r\n\r\n /**\r\n * get on demand delay in miliseconds\r\n */\r\n get onDemandDelay(): number {\r\n return this._onDemandDelay;\r\n }\r\n\r\n /**\r\n * get if the layer is autoloaded\r\n */\r\n get autoLoad(): boolean {\r\n return this._autoLoad;\r\n }\r\n\r\n /**\r\n * get the style definition\r\n */\r\n get style(): ol.StyleFunction|Array<ol.style.Style>|ol.style.Style {\r\n return this._style;\r\n }\r\n\r\n /**\r\n * set the style\r\n * @param style - the style or function\r\n */\r\n set style(style: ol.StyleFunction|Array<ol.style.Style>|ol.style.Style) {\r\n this._style = style;\r\n this.olLayer.setStyle(this._style as ol.style.Style);\r\n }\r\n\r\n /**\r\n * get the map CRS if it is defined by the map move object\r\n */\r\n get mapCrs(): string {\r\n return this.mapProj == null ? null : this.mapProj.getCode();\r\n }\r\n\r\n get mapProj(): ol.proj.Projection{\r\n if (this._projectionMap != null){\r\n return this._projectionMap;\r\n }\r\n\r\n if (this._mapMove) {\r\n this._projectionMap = this._mapMove.map.getView().getProjection();\r\n return this._projectionMap;\r\n } else {\r\n return null;\r\n }\r\n\r\n }\r\n\r\n /**\r\n * get the map move object\r\n * @type {MapMoveCls|*}\r\n */\r\n get mapMove(): MapMoveCls {\r\n return this._mapMove;\r\n }\r\n\r\n /**\r\n * map move params\r\n * @type {object}\r\n */\r\n get mapMoveParams() {\r\n return this._mapMoveParams;\r\n }\r\n\r\n get visible(): boolean{\r\n return this._visible;\r\n }\r\n\r\n /**\r\n * Set the layer visibility\r\n * @type {boolean}\r\n * @override\r\n */\r\n set visible(visibility) {\r\n super.setVisible(visibility);\r\n\r\n if (this._onDemand) {\r\n this.mapMove.triggerLyrLoad(this);\r\n }\r\n }\r\n\r\n /**\r\n * get the layer vector source\r\n * @override\r\n */\r\n get source(): ol.source.Vector {\r\n return this.getSource() as ol.source.Vector;\r\n }\r\n\r\n /**\r\n * array of ol features\r\n */\r\n get features(): Array<ol.Feature> {\r\n return this.source.getFeatures();\r\n }\r\n\r\n /**\r\n *\r\n */\r\n get olLayer(): ol.layer.Vector {\r\n return super.getOlLayer() as ol.layer.Vector;\r\n }\r\n\r\n protected setZIndex(newZ: number) {\r\n this.olLayer.setZIndex(newZ);\r\n }\r\n}\r\n\r\nnm.LayerBaseVector = LayerBaseVector;\r\nexport default LayerBaseVector;\r\n\r\n\r\n\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/layers/LayerBaseVector.ts","/**\r\n * Created by gavorhes on 12/14/2015.\r\n */\r\n\r\nimport * as colors from '../util/colors';\r\nimport provide from '../util/provide';\r\nimport ol = require('custom-ol');\r\nimport LayerItsInventory from \"../layers/LayerItsInventory\";\r\nlet nm = provide('collections');\r\n\r\n\r\nlet itsConfig = [\r\n {\r\n name: 'Camera',\r\n itsType: 'cctv',\r\n minZoom: 11,\r\n itsIconConfig: {\r\n prop: 'owner',\r\n defaultName: 'WisDOT',\r\n defaultIcon: 'cctv.png',\r\n iconArray: [\r\n ['City of Madison', 'Madison', 'cctv-mad.png']\r\n ]\r\n }\r\n },\r\n {\r\n name: 'Message Signs',\r\n itsType: 'DMS',\r\n minZoom: 11,\r\n itsIconConfig: {\r\n prop: 'dmsType',\r\n defaultName: 'DMS',\r\n defaultIcon: 'dms.png',\r\n iconArray: [\r\n ['pcms', 'PCMS', 'pcms.png']\r\n ]\r\n }\r\n },\r\n {name: 'ATR', itsType: 'atr', minZoom: 8, itsIcon: 'atr.png', visible: false},\r\n {name: 'Lighting', itsType: 'light', minZoom: 16, itsIcon: 'streetlight.png', visible: false, onDemand: true},\r\n {name: 'Bluetooth', itsType: 'blue', minZoom: 10, itsIcon: 'bluetooth.png', visible: false},\r\n {name: 'Cabinets', itsType: 'cabinet', minZoom: 10, itsIcon: 'cabinet.png', visible: false},\r\n {name: 'Hut', itsType: 'hut', minZoom: 10, itsIcon: 'hut.png', visible: false},\r\n {name: 'Vault', itsType: 'vault', minZoom: 13, itsIcon: 'vault.png', visible: false},\r\n {name: 'Advisory Radio', itsType: 'har', minZoom: 10, itsIcon: 'har.png', visible: false},\r\n {\r\n name: 'Loop Detectors',\r\n itsType: 'loop',\r\n legendCollapse: true,\r\n minZoom: 14,\r\n visible: false,\r\n itsIconConfig: {\r\n prop: 'dtctrType',\r\n defaultName: 'Other',\r\n defaultIcon: 'loopdetectorother.png',\r\n iconArray: [\r\n ['detector', 'Detector', 'loopdetector.png'],\r\n ['long', 'Long', 'loopdetectorlong.png'],\r\n ['zone', 'Zone', 'loopdetectorzone.png']\r\n ]\r\n },\r\n onDemand: true\r\n },\r\n {name: 'Microwave', itsType: 'microwave', minZoom: 14, itsIcon: 'microwave.png', visible: false},\r\n {name: 'Pull Box', itsType: 'pull', minZoom: 14, itsIcon: 'pullbox.png', visible: false, onDemand: true},\r\n {name: 'RWIS', itsType: 'rwis', minZoom: 7, itsIcon: 'rwis.png', visible: false},\r\n {name: 'Ramp Gates', itsType: 'gate', minZoom: 10, itsIcon: 'rampgate.png', visible: false},\r\n {name: 'Ramp Meter', itsType: 'meter', minZoom: 10, itsIcon: 'rampmeter.png', visible: false},\r\n {name: 'Signal', itsType: 'signal', minZoom: 13, itsIcon: 'signal.png', visible: false, onDemand: true},\r\n {name: 'Tower', itsType: 'tower', minZoom: 10, itsIcon: 'tower.png', visible: false},\r\n {\r\n name: 'Trench',\r\n itsType: 'trench',\r\n onDemand: true,\r\n visible: false,\r\n onDemandDelay: 500,\r\n minZoom: 15,\r\n legendCollapse: true,\r\n itsLineConfig: {\r\n prop: 'owner',\r\n defaultName: 'Other',\r\n //defaultWidth: 7,\r\n defaultColor: colors.hexAlphaToRgbOrRgba('#747474', 0.8),\r\n lineArray: [\r\n ['WisDOT', 'WisDOT', colors.hexAlphaToRgbOrRgba('#FF032F', 0.7)],\r\n ['WIN', 'WIN', colors.hexAlphaToRgbOrRgba('#FFC632', 0.7)],\r\n ['USXchange', 'USXchange', colors.hexAlphaToRgbOrRgba('#2DFF46', 0.7)],\r\n ['AT&T', 'AT&T', colors.hexAlphaToRgbOrRgba('#ff2be5', 0.7)],\r\n ['Touch America', 'Touch America', colors.hexAlphaToRgbOrRgba('#52f3ff', 0.7)],\r\n ['Qwest', 'Qwest', colors.hexAlphaToRgbOrRgba('#9278ff', 0.7)],\r\n ['McLeodUSA', 'McLeodUSA', colors.hexAlphaToRgbOrRgba('#2926FF', 0.7)],\r\n ['CINC', 'CINC', colors.hexAlphaToRgbOrRgba('#CB00FF', 0.7)],\r\n ['City of Madison', 'Madison', colors.hexAlphaToRgbOrRgba('#000380', 0.7)]\r\n ]\r\n }\r\n }\r\n];\r\n\r\n\r\nexport class ItsLayerCollection {\r\n _map: ol.Map;\r\n _layers: Array<LayerItsInventory>;\r\n\r\n\r\n /**\r\n * Create a collection of all ITS layers\r\n * @param {ol.Map} theMap the openlayers map\r\n * @param {Array} [exclude=[]] array of Its layer identifiers to exclude\r\n *\r\n * BLUE Bluetooth Detector - Bluetooth Detector\r\n * CABINET Cabinets - The cabinets\r\n * CCTV Camera - Traffic Cameras\r\n * HUT Communication Hut - Communication Hut\r\n * VAULT Communication Vault - The communication vaults\r\n * HAR Highway Advisory Radio - Advisory Radios\r\n * LIGHT Lighting - Lighting\r\n * LOOP Loop Detectors - Loop Detectors\r\n * DMS Message Board - Message Boards and Signs\r\n * MICROWAVE Microwave Detector - Microwave Detectors\r\n * PULL Pull Box - A pull box\r\n * RWIS RWIS - Road weather information system\r\n * GATE Ramp Gate - The ramp Gates\r\n * METER Ramp Meter - The ramp meters\r\n * SIGNAL Signal - Traffic Signal\r\n * TOWER Tower - The towers\r\n * TRENCH\r\n */\r\n constructor(theMap: ol.Map, exclude?: Array<string>) {\r\n\r\n this._map = theMap;\r\n this._layers = [];\r\n\r\n exclude = typeof exclude == 'object' ? exclude : [];\r\n\r\n for (let i = 0; i < itsConfig.length; i++) {\r\n let lyrConfig = itsConfig[i];\r\n let addLayer = true;\r\n\r\n for (let j = 0; j < exclude.length; j++) {\r\n if (exclude[j] == lyrConfig.itsType) {\r\n addLayer = false;\r\n break;\r\n }\r\n }\r\n\r\n if (addLayer) {\r\n let inventLyr = new LayerItsInventory(lyrConfig);\r\n this._map.addLayer(inventLyr.olLayer);\r\n this._layers.push(inventLyr);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Return the array of layers in this collection\r\n * @returns {Array<LayerItsInventory>} an array of layers\r\n */\r\n get layers(): LayerItsInventory[] {\r\n return this._layers;\r\n }\r\n\r\n}\r\n\r\nnm.ItsLayerCollection = ItsLayerCollection;\r\nexport default ItsLayerCollection;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/collections/ItsLayerCollection.ts","/**\r\n * Created by gavorhes on 11/2/2015.\r\n */\r\n\r\nimport {LayerBaseVector, LayerBaseVectorOptions} from './LayerBaseVector';\r\nimport provide from '../util/provide';\r\nimport ol = require('custom-ol');\r\nimport $ = require('jquery');\r\nimport {MapMoveCls} from \"../olHelpers/mapMoveCls\";\r\nimport * as proj from '../olHelpers/projections';\r\nimport {proj3857} from \"../olHelpers/projections\";\r\n\r\nlet nm = provide('layers');\r\n\r\nexport interface crsTransform {\r\n dataProjection?: ol.proj.Projection;\r\n featureProjection?: ol.proj.Projection;\r\n}\r\n\r\n\r\nexport interface LayerBaseVectorGeoJsonOptions extends LayerBaseVectorOptions {\r\n transform?: crsTransform;\r\n mapMoveObj?: MapMoveCls;\r\n}\r\n\r\n/**\r\n * The Vector GeoJson Layer\r\n * @augments LayerBaseVector\r\n */\r\nexport class LayerBaseVectorGeoJson extends LayerBaseVector {\r\n _geoJsonFormat: ol.format.GeoJSON;\r\n _transform: crsTransform;\r\n\r\n /**\r\n * @param {string|null} url - resource url, set to '' to make blank layer\r\n * @param {object} options - config\r\n * @param {string} [options.id] - layer id\r\n * @param {string} [options.name=Unnamed Layer] - layer name\r\n * @param {number} [options.opacity=1] - opacity\r\n * @param {boolean} [options.visible=true] - default visible\r\n * @param {number} [options.minZoom=undefined] - min zoom level, 0 - 28\r\n * @param {number} [options.maxZoom=undefined] - max zoom level, 0 - 28\r\n * @param {object} [options.params={}] the get parameters to include to retrieve the layer\r\n * @param {number} [options.zIndex=0] the z index for the layer\r\n * @param {function} [options.loadCallback] function to call on load, context this is the layer object\r\n * @param {boolean} [options.legendCollapse=false] if the legend item should be initially collapsed\r\n * @param {boolean} [options.legendCheckbox=true] if the legend item should have a checkbox for visibility\r\n * @param {boolean} [options.legendContent] additional content to add to the legend\r\n *\r\n * @param {boolean} [options.autoLoad=false] if the layer should auto load if not visible\r\n * @param {object} [options.style=undefined] the layer style, use openlayers default style if not defined\r\n * @param {boolean} [options.onDemand=false] if the layer should be loaded by extent on map move\r\n * @param {number} [options.onDemandDelay=300] delay before the map move callback should be called\r\n *\r\n * @param {object} [options.transform={}] SR transform, set as false for no transform\r\n * @param {string} options.transform.dataProjection=EPSG:4326 the data CRS\r\n * @param {string} options.transform.featureProjection=EPSG:3857 the feature/map CRS\r\n * @param {mapMoveMakeGetParams} [options.mapMoveMakeGetParams=function(lyr, extent, zoomLevel){}] function to create additional map move params\r\n * @param {MapMoveCls} [options.mapMoveObj=mapMove] alternate map move object for use with multi map pages\r\n */\r\n constructor(url?: string, options: LayerBaseVectorGeoJsonOptions = {}) {\r\n url = typeof url == 'string' ? url : '';\r\n super(url, options);\r\n\r\n this._geoJsonFormat = new ol.format.GeoJSON();\r\n\r\n this._transform = options.transform || {};\r\n this._transform.dataProjection = this._transform.dataProjection || proj.proj4326;\r\n this._transform.featureProjection = this._transform.featureProjection || proj3857;\r\n\r\n if (this.autoLoad || this.visible) {\r\n this._load();\r\n }\r\n }\r\n\r\n /**\r\n * add feature collection\r\n * @param {object} featureCollection - as geojson object\r\n */\r\n addFeatures(featureCollection: any) {\r\n this.source.addFeatures(\r\n this._geoJsonFormat.readFeatures(featureCollection,\r\n {dataProjection: this._transform.dataProjection,\r\n featureProjection: this._transform.featureProjection}\r\n )\r\n );\r\n }\r\n\r\n\r\n /**\r\n * trigger load features\r\n * @protected\r\n * @returns {boolean} if already loaded\r\n */\r\n _load() {\r\n\r\n if (super._load()) {\r\n return true;\r\n }\r\n\r\n $.get(this._url,\r\n this._params,\r\n (d) => {\r\n this.addFeatures(d);\r\n this.loadCallback(this);\r\n }, 'json').fail(\r\n function () {\r\n this._loaded = false;\r\n }\r\n );\r\n\r\n return false;\r\n }\r\n\r\n /**\r\n * callback function on map move\r\n * @param {object} d the json response\r\n * @override\r\n */\r\n mapMoveCallback(d: Object) {\r\n super.mapMoveCallback(d);\r\n this._source.addFeatures(this._geoJsonFormat.readFeatures(d,\r\n {featureProjection: this._transform.featureProjection, dataProjection: this._transform.dataProjection}));\r\n }\r\n}\r\n\r\nnm.LayerBaseVectorGeoJson = LayerBaseVectorGeoJson;\r\nexport default LayerBaseVectorGeoJson;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/layers/LayerBaseVectorGeoJson.ts","/**\r\n * Created by gavorhes on 12/8/2015.\r\n */\r\n\r\nimport {LayerBaseVectorGeoJson, LayerBaseVectorGeoJsonOptions} from './LayerBaseVectorGeoJson';\r\nimport mapPopup from '../olHelpers/mapPopup';\r\nimport provide from '../util/provide';\r\nimport ol = require('custom-ol');\r\nimport $ = require('jquery');\r\nimport {proj4326, proj3857} from '../olHelpers/projections'\r\n\r\nlet nm = provide('layers');\r\n\r\n\r\nexport interface iLineStyle {\r\n color: string;\r\n width?: number\r\n}\r\n\r\nexport interface iMultiConfig {\r\n prop: string;\r\n defaultName: string;\r\n}\r\n\r\nexport interface iIconConfig extends iMultiConfig {\r\n defaultIcon: string;\r\n iconArray: string[][]\r\n}\r\n\r\nexport interface iLineConfig extends iMultiConfig {\r\n defaultColor: string;\r\n defaultWidth?: number;\r\n lineArray: any[][]\r\n}\r\n\r\nexport interface iLayerItsInventory extends LayerBaseVectorGeoJsonOptions {\r\n itsType: string;\r\n addPopup?: boolean;\r\n itsIcon?: string;\r\n itsLineStyle?: iLineStyle;\r\n itsIconConfig?: iIconConfig;\r\n itsLineConfig?: iLineConfig\r\n}\r\n\r\n\r\n\r\n\r\nfunction checkStyleNumber(itsIcon: string, itsLineStyle: iLineStyle, itsIconConfig: iIconConfig, itsLineConfig: iLineConfig) {\r\n \"use strict\";\r\n\r\n //make sure one and only one configuration is defined;\r\n let configCount = 0;\r\n if (typeof itsIcon == 'string') {\r\n configCount++;\r\n }\r\n\r\n if (typeof itsLineStyle == 'object') {\r\n itsLineStyle.width = typeof itsLineStyle.width == 'number' ? itsLineStyle.width : 5;\r\n itsLineStyle.color = typeof itsLineStyle.color == 'string' ? itsLineStyle.color : 'red';\r\n configCount++;\r\n }\r\n\r\n if (typeof itsIconConfig == 'object') {\r\n itsIconConfig.defaultName = itsIconConfig.defaultName || 'Other';\r\n\r\n if (typeof itsIconConfig.iconArray == 'undefined') {\r\n itsIconConfig.iconArray = [];\r\n }\r\n\r\n configCount++;\r\n }\r\n\r\n if (typeof itsLineConfig == 'object') {\r\n itsLineConfig.defaultName = itsLineConfig.defaultName || 'Other';\r\n itsLineConfig.defaultWidth = itsLineConfig.defaultWidth || 5;\r\n itsLineConfig.defaultColor = itsLineConfig.defaultColor || 'red';\r\n\r\n\r\n if (typeof itsLineConfig.lineArray == 'undefined') {\r\n itsLineConfig.lineArray = [];\r\n }\r\n\r\n // set the width if not defined\r\n for (let i = 0; i < itsLineConfig.lineArray.length; i++) {\r\n if (itsLineConfig.lineArray[i].length == 3) {\r\n itsLineConfig.lineArray[i].push(5);\r\n }\r\n }\r\n\r\n configCount++;\r\n }\r\n\r\n if (configCount > 1) {\r\n throw 'Only one style config can be defined';\r\n }\r\n}\r\n\r\n/**\r\n *\r\n * @param {string} [itsIcon=undefined] the ITS device type icon image see https://transportal.cee.wisc.edu/its/inventory/icons/\r\n *\r\n * @param {object} [itsLineStyle=undefined] A single line style\r\n * @param {string} itsLineStyle.color the line color as rgb or hex\r\n * @param {number} [itsLineStyle.width=5] the line width\r\n *\r\n * @param {object} [itsIconConfig=undefined] The icon subtype configuration\r\n * @param {string} itsIconConfig.prop The property used to define icon attribute symbolization\r\n * @param {string} itsIconConfig.defaultName The default name to be used if no other match is found\r\n * @param {string} itsIconConfig.defaultIcon The default icon to be used for no other matches\r\n * @param {object} [itsIconConfig.iconArray=[]] an array, items with format [property, name, img]\r\n *\r\n * @param {object} [itsLineConfig=undefined] The property used to define icon attribute symbolization\r\n * @param {string} itsLineConfig.prop The property used to define icon attribute symbolization\r\n * @param {string} [itsLineConfig.defaultName=Other] The default name to be used if no other match is found\r\n * @param {string} [itsLineConfig.defaultColor=red] The default line color to be used for no other matches\r\n * @param {number} [itsLineConfig.defaultWidth=5] The default line width to be used for no other matches\r\n * @param {object} [itsLineConfig.lineArray=[]] an array, items with format [property, name, color, optional width]\r\n * @returns {*} undefined, style, or style function\r\n */\r\nfunction defineStyle(itsIcon: string, itsLineStyle: iLineStyle, itsIconConfig: iIconConfig, itsLineConfig: iLineConfig): ol.style.Style | Array<ol.style.Style> | ol.StyleFunction {\r\n \"use strict\";\r\n checkStyleNumber(itsIcon, itsLineStyle, itsIconConfig, itsLineConfig);\r\n\r\n let _iconUrlRoot = 'https://transportal.cee.wisc.edu/its/inventory/icons/';\r\n\r\n if (itsIcon) {\r\n return new ol.style.Style({\r\n image: new ol.style.Icon(\r\n {\r\n src: _iconUrlRoot + itsIcon,\r\n crossOrigin: 'anonymous'\r\n }\r\n )\r\n });\r\n } else if (itsLineStyle) {\r\n return new ol.style.Style({\r\n stroke: new ol.style.Stroke({\r\n color: itsLineStyle.color,\r\n width: itsLineStyle.width\r\n })\r\n });\r\n } else if (itsIconConfig) {\r\n return function (feature: ol.Feature) {\r\n let symbolProp = feature.getProperties()[itsIconConfig.prop];\r\n let iconUrl = _iconUrlRoot + itsIconConfig.defaultIcon;\r\n\r\n for (let i = 0; i < itsIconConfig.iconArray.length; i++) {\r\n let thisProp = itsIconConfig.iconArray[i];\r\n\r\n if (symbolProp.trim().toLocaleLowerCase() == thisProp[0].trim().toLocaleLowerCase()) {\r\n iconUrl = _iconUrlRoot + thisProp[2];\r\n break;\r\n }\r\n }\r\n\r\n return [new ol.style.Style({\r\n image: new ol.style.Icon(\r\n {\r\n src: iconUrl,\r\n crossOrigin: 'anonymous'\r\n }\r\n )\r\n })];\r\n };\r\n } else if (itsLineConfig) {\r\n return function (feature: ol.Feature) {\r\n let symbolProp = feature.getProperties()[itsLineConfig.prop];\r\n let colr = itsLineConfig.defaultColor || 'red';\r\n let width = itsLineConfig.defaultWidth || 5;\r\n\r\n for (let i = 0; i < itsLineConfig.lineArray.length; i++) {\r\n let thisProp = itsLineConfig.lineArray[i];\r\n\r\n if (symbolProp.trim().toLocaleLowerCase() == thisProp[0].trim().toLocaleLowerCase()) {\r\n colr = thisProp[2];\r\n width = thisProp[3];\r\n break;\r\n }\r\n }\r\n\r\n return [new ol.style.Style({\r\n stroke: new ol.style.Stroke({\r\n color: colr,\r\n width: width\r\n })\r\n })];\r\n };\r\n } else {\r\n return undefined;\r\n }\r\n}\r\n\r\nfunction defineLegend(itsIcon: string, itsLineStyle: iLineStyle, itsIconConfig: iIconConfig, itsLineConfig: iLineConfig) {\r\n \"use strict\";\r\n\r\n let iconHeight = 17;\r\n\r\n checkStyleNumber(itsIcon, itsLineStyle, itsIconConfig, itsLineConfig);\r\n\r\n let _iconUrlRoot = 'https://transportal.cee.wisc.edu/its/inventory/icons/';\r\n\r\n if (itsIcon) {\r\n return `<img src=\"${_iconUrlRoot + itsIcon}\" class=\"legend-layer-icon\" height=\"${iconHeight}\">`;\r\n } else if (itsLineStyle) {\r\n return `<hr style=\"height: ${itsLineStyle.width}px; background-color: ${itsLineStyle.color}\">`;\r\n } else if (itsIconConfig) {\r\n let outHtml = '';\r\n outHtml += '<ul>';\r\n\r\n for (let a of itsIconConfig.iconArray) {\r\n outHtml += `<li><span class=\"legend-layer-subitem\">${a[1]}</span><img src=\"${_iconUrlRoot + a[2]}\" class=\"legend-layer-icon\" height=\"${iconHeight}\">`;\r\n }\r\n\r\n outHtml += `<li><span class=\"legend-layer-subitem\">${itsIconConfig.defaultName}</span>` +\r\n `<img src=\"${_iconUrlRoot + itsIconConfig.defaultIcon}\" class=\"legend-layer-icon\" height=\"${iconHeight}\"></li>`;\r\n\r\n outHtml += '</ul>';\r\n\r\n return outHtml;\r\n } else if (itsLineConfig) {\r\n let outHtml = '';\r\n outHtml += '<ul>';\r\n for (let ls of itsLineConfig.lineArray) {\r\n outHtml += `<li><span class=\"legend-layer-subitem\">${ls[1]}</span>` +\r\n `<hr style=\"height: ${ls[3]}px; background-color: ${ls[2]}\">`;\r\n }\r\n outHtml += `<li><span class=\"legend-layer-subitem\">${itsLineConfig.defaultName}</span>` +\r\n `<hr style=\"height: ${itsLineConfig.defaultWidth}px; background-color: ${itsLineConfig.defaultColor}\"></li>`;\r\n outHtml += '</ul>';\r\n\r\n return outHtml;\r\n } else {\r\n return '';\r\n }\r\n}\r\n\r\n\r\n/**\r\n * Its Layer class\r\n * @augments LayerBaseVectorGeoJson\r\n */\r\nexport class LayerItsInventory extends LayerBaseVectorGeoJson {\r\n\r\n /**\r\n * ITS device layer, types available at https://transportal.cee.wisc.edu/its/inventory/\r\n * @param {object} options - config\r\n * @param {string} [options.id] - layer id\r\n * @param {string} [options.name=Unnamed Layer] - layer name\r\n * @param {number} [options.opacity=1] - opacity\r\n * @param {boolean} [options.visible=true] - default visible\r\n * @param {number} [options.minZoom=undefined] - min zoom level, 0 - 28\r\n * @param {number} [options.maxZoom=undefined] - max zoom level, 0 - 28\r\n * @param {object} [options.params={}] the get parameters to include to retrieve the layer\r\n * @param {number} [options.zIndex=0] the z index for the layer\r\n * @param {function} [options.loadCallback] function to call on load, context this is the layer object\r\n * @param {boolean} [options.legendCollapse=false] if the legend item should be initially collapsed\r\n * @param {boolean} [options.legendCheckbox=true] if the legend item should have a checkbox for visibility\r\n * @param {boolean} [options.legendContent] additional content to add to the legend\r\n *\r\n * @param {boolean} [options.autoLoad=false] if the layer should auto load if not visible\r\n * @param {object|*} [options.style=undefined] the layer style, use openlayers default style if not defined\r\n * @param {boolean} [options.onDemand=false] if the layer should be loaded by extent on map move\r\n * @param {number} [options.onDemandDelay=300] delay before the map move callback should be called\r\n * @param {MapMoveCls} [options.mapMoveObj=mapMove] alternate map move object for use with multi map pages\r\n *\r\n * @param {string} options.itsType the ITS device type, use the url flag at https://transportal.cee.wisc.edu/its/inventory/\r\n * @param {boolean} [options.addPopup=true] if the popup should be added automatically\r\n *\r\n * @param {string} [options.itsIcon=undefined] the ITS device type icon image see https://transportal.cee.wisc.edu/its/inventory/icons/\r\n *\r\n * @param {object} [options.itsLineStyle=undefined] A single line style\r\n * @param {string} options.itsLineStyle.color the line color as rgb or hex\r\n * @param {number} [options.itsLineStyle.width=5] the line width\r\n *\r\n * @param {object} [options.itsIconConfig=undefined] The icon subtype configuration\r\n * @param {string} options.itsIconConfig.prop The property used to define icon attribute symbolization\r\n * @param {string} options.itsIconConfig.defaultName The default name to be used if no other match is found\r\n * @param {string} options.itsIconConfig.defaultIcon The default icon to be used for no other matches\r\n * @param {object} [options.itsIconConfig.iconArray=[]] an array, items with format [property, name, img]\r\n *\r\n * @param {object} [options.itsLineConfig=undefined] The property used to define icon attribute symbolization\r\n * @param {string} options.itsLineConfig.prop The property used to define icon attribute symbolization\r\n * @param {string} [options.itsLineConfig.defaultName=Other] The default name to be used if no other match is found\r\n * @param {string} [options.itsLineConfig.defaultColor=red] The default line color to be used for no other matches\r\n * @param {number} [options.itsLineConfig.defaultWidth] The default line width to be used for no other matches\r\n * @param {object} [options.itsLineConfig.lineArray=[]] an array, items with format [property, name, color, optional width = 5]\r\n */\r\n constructor(options: iLayerItsInventory) {\r\n if (typeof options.itsType !== 'string') {\r\n throw 'its type must be defined';\r\n }\r\n\r\n options.transform = {dataProjection: proj4326, featureProjection: proj3857};\r\n\r\n let addToLegend = '';\r\n\r\n // define a style with the helper function if it is not explicitly defined\r\n if (typeof options.style == 'undefined') {\r\n options.style = defineStyle(\r\n options.itsIcon, options.itsLineStyle, options.itsIconConfig, options.itsLineConfig\r\n );\r\n addToLegend = defineLegend(\r\n options.itsIcon, options.itsLineStyle, options.itsIconConfig, options.itsLineConfig\r\n );\r\n }\r\n\r\n options.params = typeof options.params == 'object' ? options.params : {};\r\n $.extend(options.params, {format: 'JSON', resource: options.itsType});\r\n\r\n super('https://transportal.cee.wisc.edu/its/inventory/', options);\r\n\r\n //add any additional content to the legend\r\n this.addLegendContent(addToLegend);\r\n\r\n options.addPopup = typeof options.addPopup == 'boolean' ? options.addPopup : true;\r\n\r\n if (options.addPopup) {\r\n mapPopup.addVectorPopup(this, function (props: { featureGuid: string }) {\r\n return `<iframe src=\"https://transportal.cee.wisc.edu/its/inventory/?feature=${props.featureGuid}\" ` +\r\n `height=\"250\" width=\"350\"></iframe>`;\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * callback to generate the parameters passed in the get request\r\n * @callback makeGetParams\r\n * @param {object} extent - extent object\r\n * @param {number} extent.minX - minX\r\n * @param {number} extent.minY - minY\r\n * @param {number} extent.maxX - maxX\r\n * @param {number} extent.maxY - maxY\r\n * @param {number} zoomLevel - zoom level\r\n */\r\n mapMoveMakeGetParams(extent: { minX: number, minY: number, maxX: number, maxY: number }, zoomLevel: number) {\r\n super.mapMoveMakeGetParams(extent, zoomLevel);\r\n let lowerLeft = new ol.geom.Point([extent.minX, extent.minY]);\r\n lowerLeft.transform(this.mapProj, this._projection4326);\r\n let lowerLeftCoordinates = lowerLeft.getCoordinates();\r\n let upperRight = new ol.geom.Point([extent.maxX, extent.maxY]);\r\n upperRight.transform(this.mapProj, this._projection4326);\r\n let upperRightCoordinates = upperRight.getCoordinates();\r\n\r\n $.extend(this.mapMoveParams,\r\n {\r\n L: lowerLeftCoordinates[0],\r\n R: upperRightCoordinates[0],\r\n B: lowerLeftCoordinates[1],\r\n T: upperRightCoordinates[1]\r\n });\r\n }\r\n}\r\n\r\nnm.LayerItsInventory = LayerItsInventory;\r\nexport default LayerItsInventory;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/layers/LayerItsInventory.ts","/**\r\n * Created by gavorhes on 11/3/2015.\r\n */\r\nimport provide from './provide';\r\nimport * as chk from './checkDefined';\r\n\r\nlet nm = provide('util.colors');\r\n\r\n\r\n/**\r\n * helper function to convert to hex\r\n * @param {number|string} x - the number to convert to hex\r\n * @returns {string} number as hex\r\n * @private\r\n */\r\nfunction _hex(x: number|string): string {\r\n let hexDigits = [\"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\", \"a\", \"b\", \"c\", \"d\", \"e\", \"f\"];\r\n\r\n if (isNaN(x as number)){\r\n return \"00\";\r\n } else {\r\n let m = x as number;\r\n return hexDigits[(m - m % 16) / 16] + hexDigits[m % 16];\r\n }\r\n // return isNaN(x as number) ? \"00\" : hexDigits[(x - x % 16) / 16] + hexDigits[x % 16];\r\n}\r\n\r\n/**\r\n * converts an RGB string to hex\r\n * @param {string} rgb - rgb color\r\n * @returns {string} rbg as hex\r\n */\r\nexport function rgb2hex(rgb: string): string {\r\n let rgb1 = rgb.match(/^rgb\\((\\d+),\\s*(\\d+),\\s*(\\d+)\\)$/);\r\n\r\n return (\"#\" + _hex(rgb1[1]) + _hex(rgb1[2]) + _hex(rgb1[3])).toUpperCase();\r\n}\r\n\r\nnm.rgb2hex = rgb2hex;\r\n\r\n\r\n/**\r\n * Convert hex string to RGB or RGBA string\r\n * @param {string} hexString - hex color string\r\n * @param {number} [alphaVal=undefined] Alpha value\r\n * @returns {string} - rgb or rgba color\r\n */\r\nexport function hexAlphaToRgbOrRgba(hexString: string, alphaVal: number): string {\r\n hexString = ((hexString.charAt(0) == \"#\") ? hexString.substring(1, 7) : hexString);\r\n let r = parseInt(hexString.substring(0, 2), 16).toString() || '0';\r\n let g = parseInt(hexString.substring(2, 4), 16).toString() || '0';\r\n let b = parseInt(hexString.substring(4, 6), 16).toString() || '0';\r\n if (alphaVal) {\r\n return `rgba(${r},${g},${b},${alphaVal})`;\r\n } else {\r\n return `rgba(${r},${g},${b})`;\r\n }\r\n}\r\n\r\nnm.hexAlphaToRgbOrRgba = hexAlphaToRgbOrRgba;\r\n\r\n\r\n/**\r\n * adds alpha value to rgb string 'rgb(r, b, g)', returns 'rgba(r, g, b, a)'\r\n * @param {string} rgb - rgb color\r\n * @param {number} alpha - alpha value 0 to 1\r\n * @returns {string} rgba color\r\n */\r\nexport function rgbToRgba(rgb: string, alpha: number): string {\r\n let pieces = rgb.split(',');\r\n pieces[0] = pieces[0].replace('rgb', 'rgba');\r\n pieces[2] = pieces[2].replace(')', '');\r\n pieces.push(' ' + alpha.toFixed(1) + ')');\r\n\r\n return pieces.join(',');\r\n}\r\n\r\nnm.rgbToRgba = rgbToRgba;\r\n\r\n\r\n/**\r\n * @typedef {function} colorLookupByNumber\r\n * @param {number} num - the number to use to retrieve the color\r\n * @returns {string} rgb color\r\n */\r\n\r\n\r\n/**\r\n * Make a blue green red gradient\r\n * @param {number} minVal - minimum value\r\n * @param {number} maxVal - maximum value\r\n * @param {boolean} flipColors - if the colors should be flipped\r\n * @returns {colorLookupByNumber} color lookup function\r\n */\r\nexport function makeBlueGreenRedGradient(minVal: number, maxVal: number, flipColors:boolean=false): (v: number) => string {\r\n\r\n if (typeof flipColors != \"boolean\") {\r\n flipColors = false;\r\n }\r\n\r\n return function (theVal: number): string {\r\n let r, g, b;\r\n let ratio;\r\n\r\n if (chk.undefinedOrNull(theVal)) {\r\n return 'rgb(100,100,100)';\r\n }\r\n\r\n let percent = (theVal - minVal) / (maxVal - minVal);\r\n\r\n if (flipColors == true) {\r\n percent = 1 - percent;\r\n }\r\n\r\n if (percent >= 1) {\r\n r = 255;\r\n g = 0;\r\n b = 0;\r\n } else if (percent <= 0) {\r\n r = 0;\r\n g = 0;\r\n b = 255;\r\n } else if (percent < .25) {\r\n // green up, blue constant\r\n r = 0;\r\n g = Math.floor(255 * percent / 0.25);\r\n b = 255;\r\n } else if (percent < 0.50) {\r\n //blue down, green constant\r\n ratio = (percent - 0.25) / 0.25;\r\n r = 0;\r\n g = 255;\r\n b = 255 - Math.floor(255 * ratio);\r\n } else if (percent < 0.75) {\r\n // red up, green constant\r\n ratio = (percent - 0.5) / 0.25;\r\n r = Math.floor(255 * ratio);\r\n g = 255;\r\n b = 0;\r\n } else {\r\n // green down, red constant\r\n ratio = (percent - 0.75) / 0.25;\r\n r = 255;\r\n g = 255 - Math.floor(255 * ratio);\r\n b = 0;\r\n }\r\n\r\n r = r.toFixed();\r\n g = g.toFixed();\r\n b = b.toFixed();\r\n\r\n return 'rgb(' + r + ',' + g + ',' + b + ')';\r\n };\r\n}\r\n\r\nnm.makeBlueGreenRedGradient = makeBlueGreenRedGradient;\r\n\r\n\r\n/**\r\n * Create a function that will return colors based on a gradient\r\n * @param {number} median - median value\r\n * @param {number} stdDev - standard deviation\r\n * @param {boolean} flipColors - if the colors should be flipped\r\n * @returns {colorLookupByNumber} color lookup function\r\n */\r\nexport function makeBlueGreenRedGradientZScore(median: number, stdDev: number, flipColors: boolean = false):(v: number) => string {\r\n\r\n let grd = makeBlueGreenRedGradient(-2.5, 2.5, flipColors);\r\n\r\n return function (theVal: number): string {\r\n\r\n let zScore;\r\n if (theVal == null) {\r\n zScore = null;\r\n } else {\r\n zScore = (theVal - median) / stdDev;\r\n }\r\n\r\n return grd(zScore);\r\n };\r\n}\r\n\r\nnm.makeBlueGreenRedGradientZScore = makeBlueGreenRedGradientZScore;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/util/colors.ts","/**\r\n * Created by gavorhes on 12/18/2015.\r\n */\r\n\r\n\r\nimport ItsLayerCollection from '../../collections/ItsLayerCollection';\r\nimport LayerLegend from '../../collections/LayerLegend';\r\nimport quickMap from '../../olHelpers/quickMap';\r\n\r\nlet map = quickMap({addGeocode: true});\r\n\r\n\r\nwindow['map'] = map;\r\n\r\nlet itsLayerCollection = new ItsLayerCollection(map);\r\n\r\nlet layerArray = [\r\n {\r\n groupName: 'ITS Inventory Layers',\r\n collapse: false,\r\n addCheck: true,\r\n items: itsLayerCollection.layers\r\n }\r\n];\r\n\r\nlet legend = new LayerLegend(layerArray, 'legend-container', {});\r\n\r\nconsole.log('it works');\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/_tests/demos/itsMap.ts"],"sourceRoot":""} \ No newline at end of file diff --git a/test/serve/js/my_little_test.js b/test/serve/js/my_little_test.js index 2562ec62d788a8236f347f9decfd9e62b2a80f42..f400836fe66086b67bb1f06b46a05a0d3c778702 100644 --- a/test/serve/js/my_little_test.js +++ b/test/serve/js/my_little_test.js @@ -63,7 +63,7 @@ /******/ __webpack_require__.p = ""; /******/ /******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = 72); +/******/ return __webpack_require__(__webpack_require__.s = 74); /******/ }) /************************************************************************/ /******/ ({ @@ -438,7 +438,7 @@ nm.rangeChange = rangeChange; /***/ }), -/***/ 72: +/***/ 74: /***/ (function(module, exports, __webpack_require__) { "use strict"; diff --git a/test/serve/js/my_little_test.js.map b/test/serve/js/my_little_test.js.map index f6b74af1bfea85934643cfb0abb8d6477c69fbf2..ff1a29fd95421dd8e09c10f008a25d912dc4c93a 100644 --- a/test/serve/js/my_little_test.js.map +++ b/test/serve/js/my_little_test.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap b7d91eb15b0b6dcf7ee0?08c4******","webpack:///./src/util/provide.ts?5c82*****","webpack:///external \"$\"?57aa*****","webpack:///./src/domUtil/media-control.ts?660c","webpack:///./src/domUtil/range-change.ts?b7cd","webpack:///./src/_tests/demos/my_little_test.ts"],"names":[],"mappings":"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","file":"my_little_test.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 72);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap b7d91eb15b0b6dcf7ee0","/**\r\n * Created by gavorhes on 12/10/2015.\r\n */\r\n\r\ndeclare const window: Window;\r\n/**\r\n * create a namespace on the gv object\r\n * @param {string} namespace to create\r\n * @returns {object} object representing the namespace\r\n */\r\nfunction provide(namespace: string){\r\n \"use strict\";\r\n if (typeof (<any>window).gv == 'undefined'){\r\n (<any>window).gv = {};\r\n }\r\n\r\n let parts = namespace.split('.');\r\n let nameSpace = (<any>window).gv;\r\n\r\n for (let i=0; i< parts.length; i++){\r\n let newObject = nameSpace[parts[i]];\r\n\r\n if (typeof newObject == 'undefined'){\r\n nameSpace[parts[i]] = {};\r\n }\r\n\r\n nameSpace = nameSpace[parts[i]];\r\n }\r\n\r\n return nameSpace;\r\n}\r\n\r\nprovide('util');\r\n(<any>window).gv.util.provide = provide;\r\n\r\nexport default provide;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/util/provide.ts","module.exports = $;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"$\"\n// module id = 1\n// module chunks = 0 1 2 4 5 6 7 8 9","/**\r\n * Created by gavorhes on 11/2/2015.\r\n */\r\n\r\nimport provide from '../util/provide';\r\nimport {rangeChange} from './range-change';\r\nimport $ = require('jquery');\r\n\r\nlet nm = provide('domUtil');\r\n\r\n/**\r\n * @callback mediaCallback\r\n * @param {number} tm\r\n */\r\n\r\nfunction timeToLocalDateString(tm: number) {\r\n \"use strict\";\r\n let d = new Date(tm);\r\n let p1 = d.toLocaleTimeString().split(' ');\r\n let p2 = p1[0].split(':');\r\n p2 = p2.slice(0, 2);\r\n\r\n return d.toLocaleDateString() + '<br>' + p2.join(':') + ' ' + p1[1];\r\n}\r\n\r\nexport interface changeFunction {\r\n (newVal?: number): void;\r\n}\r\n\r\nexport interface mediaRangeConfig {\r\n min?: number;\r\n max?: number;\r\n val?: number;\r\n step?: number;\r\n playInterval?: number;\r\n showAsDate?: boolean;\r\n}\r\n\r\n\r\nexport class MediaControl {\r\n _container: JQuery;\r\n _min: number;\r\n _max: number;\r\n _playInterval: number;\r\n _step: number;\r\n _currentValue: number;\r\n\r\n _playing: boolean;\r\n\r\n _$btnStop: JQuery;\r\n _$slider: JQuery;\r\n _$valLabelVal: JQuery;\r\n _$valLabelMin: JQuery;\r\n _$valLabelMax: JQuery;\r\n _interval: number;\r\n _showAsDate: boolean;\r\n\r\n _changeFunc: changeFunction;\r\n\r\n /**\r\n *\r\n * @param element\r\n * @param changeFunc\r\n * @param mediaConfig\r\n */\r\n constructor(element: JQuery | HTMLElement | string,\r\n changeFunc: changeFunction = (): void => {\r\n return;\r\n },\r\n mediaConfig: mediaRangeConfig = {}) {\r\n\r\n mediaConfig.min = typeof mediaConfig.min == 'number' ? mediaConfig.min : 0;\r\n mediaConfig.max = typeof mediaConfig.max == 'number' ? mediaConfig.max : 100;\r\n mediaConfig.val = typeof mediaConfig.val == 'number' ? mediaConfig.val : 0;\r\n mediaConfig.step = typeof mediaConfig.step == 'number' ? mediaConfig.step : 5;\r\n mediaConfig.playInterval = typeof mediaConfig.playInterval == 'number' ? mediaConfig.playInterval : 500;\r\n mediaConfig.showAsDate = typeof mediaConfig.showAsDate == 'boolean' ? mediaConfig.showAsDate : false;\r\n\r\n if (typeof element == 'string') {\r\n this._container = $('#' + element);\r\n }\r\n else if (typeof (element as HTMLElement).style !== 'undefined') {\r\n this._container = $(element);\r\n } else {\r\n this._container = element as JQuery;\r\n }\r\n\r\n this._container.addClass('media-control-container');\r\n this._playInterval = mediaConfig.playInterval;\r\n this._changeFunc = changeFunc;\r\n\r\n this._showAsDate = mediaConfig.showAsDate;\r\n\r\n this._currentValue = undefined;\r\n this._min = undefined;\r\n this._max = undefined;\r\n this._step = undefined;\r\n this._playing = false;\r\n\r\n let htmlStr =\r\n '<span class=\"media-player-button media-back\"></span>' +\r\n '<span class=\"media-player-button media-play\"></span>' +\r\n '<span class=\"media-player-button media-pause media-disabled\"></span>' +\r\n '<span class=\"media-player-button media-stop media-disabled\" ></span>' +\r\n '<span class=\"media-player-button media-ahead\"></span>' +\r\n `<input type=\"range\">` +\r\n `<div class=\"media-control-value-label-container\">` +\r\n `<span class=\"media-control-value-label-min\"></span>` +\r\n `<span class=\"media-control-value-label-val\"></span>` +\r\n `<span class=\"media-control-value-label-max\"></span>` +\r\n `</div>`;\r\n\r\n this._container.append(htmlStr);\r\n\r\n // let btnPause = this._container.find('.media-pause');\r\n let btnPlay = this._container.find('.media-play');\r\n this._$btnStop = this._container.find('.media-stop');\r\n let btnAhead = this._container.find('.media-ahead');\r\n let btnBack = this._container.find('.media-back');\r\n this._$slider = this._container.find('input[type=range]');\r\n\r\n this._$valLabelMin = this._container.find('.media-control-value-label-min');\r\n this._$valLabelVal = this._container.find('.media-control-value-label-val');\r\n this._$valLabelMax = this._container.find('.media-control-value-label-max');\r\n\r\n this.setMinMaxValueStep(mediaConfig.min, mediaConfig.max, mediaConfig.val, mediaConfig.step);\r\n\r\n rangeChange(this._$slider, (newVal) => {\r\n this.currentValue = newVal;\r\n }, 100);\r\n\r\n let ___this = this;\r\n\r\n btnPlay.click(function () {\r\n let $this = $(this);\r\n $this.addClass('media-disabled');\r\n ___this._$btnStop.removeClass('media-disabled');\r\n btnAhead.addClass('media-locked');\r\n btnBack.addClass('media-locked');\r\n ___this._$slider.prop('disabled', true);\r\n ___this._playing = true;\r\n\r\n ___this._interval = setInterval(function () {\r\n ___this.currentValue += ___this._step;\r\n }, ___this._playInterval);\r\n });\r\n\r\n this._$btnStop.click(function () {\r\n clearInterval(___this._interval);\r\n let $this = $(this);\r\n $this.addClass('media-disabled');\r\n btnPlay.removeClass('media-disabled');\r\n btnAhead.removeClass('media-locked');\r\n btnBack.removeClass('media-locked');\r\n ___this._$slider.prop('disabled', false);\r\n ___this._playing = false;\r\n });\r\n\r\n btnAhead.click(function () {\r\n ___this.currentValue = ___this.currentValue + ___this._step;\r\n });\r\n\r\n btnBack.click(function () {\r\n ___this.currentValue = ___this.currentValue - ___this._step;\r\n });\r\n }\r\n\r\n stopPlaying() {\r\n if (this._playing) {\r\n this._$btnStop.trigger('click');\r\n }\r\n }\r\n\r\n get playing() {\r\n return this._playing;\r\n }\r\n\r\n get min() {\r\n return this._min;\r\n }\r\n\r\n get max() {\r\n return this._max;\r\n }\r\n\r\n get step() {\r\n return this._step;\r\n }\r\n\r\n get currentValue() {\r\n return this._currentValue;\r\n }\r\n\r\n set currentValue(newValue) {\r\n if (newValue > this._max) {\r\n newValue = this._min;\r\n } else if (newValue < this._min) {\r\n newValue = this._max;\r\n }\r\n this._currentValue = newValue;\r\n this._$slider.val(this._currentValue.toFixed(2));\r\n\r\n if (this._showAsDate) {\r\n this._$valLabelVal.html(timeToLocalDateString(this.currentValue));\r\n } else {\r\n this._$valLabelVal.html(this.currentValue.toString());\r\n }\r\n\r\n this._changeFunc(newValue);\r\n }\r\n\r\n /**\r\n * set min and max value with step\r\n * @param {number} newMin the new min\r\n * @param {number} newMax the new mas\r\n * @param {number} [newValue=newMin] the value to set\r\n * @param {number} [newStep=(newMax-newMin)/20] step value\r\n */\r\n setMinMaxValueStep(newMin: number, newMax: number, newValue: number, newStep: number) {\r\n this._min = newMin;\r\n this._max = newMax;\r\n\r\n newValue = typeof newValue == 'number' ? newValue : newMin;\r\n newStep = typeof newStep == 'number' ? newStep : (newMax - newMin) / 20;\r\n\r\n this._currentValue = newValue;\r\n this._step = newStep;\r\n\r\n this._$slider.prop('min', this.min.toString());\r\n this._$slider.prop('max', this.max.toString());\r\n this._$slider.prop('step', this.step.toString());\r\n this._$slider.val(this.currentValue.toString());\r\n\r\n if (this._showAsDate) {\r\n this._$valLabelMin.html(timeToLocalDateString(this._min));\r\n this._$valLabelVal.html(timeToLocalDateString(this.currentValue));\r\n this._$valLabelMax.html(timeToLocalDateString(this._max));\r\n } else {\r\n this._$valLabelMin.html(this._min.toString());\r\n this._$valLabelVal.html(this.currentValue.toString());\r\n this._$valLabelMax.html(this._max.toString());\r\n }\r\n }\r\n\r\n /**\r\n *\r\n * @param {mediaCallback} newFunc the callback on change\r\n */\r\n set changeFunction(newFunc: changeFunction) {\r\n this._changeFunc = newFunc;\r\n }\r\n}\r\n\r\nnm.MediaControl = MediaControl;\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/domUtil/media-control.ts","import provide from '../util/provide';\r\nimport $ = require('jquery');\r\nimport {ChangeEvent} from \"react\";\r\n\r\nconst nm = provide('domUtil');\r\n\r\nlet mouseIn = false;\r\nlet mouseDown = false;\r\nlet timeout: number = null;\r\nlet dragged = false;\r\nlet lastVal: number;\r\n\r\n\r\n/**\r\n * callback on range change interaction, context of this is the firing dom element\r\n * @callback rangeChangeCallback\r\n * @param {number} newValue\r\n * @param {number} ratio value from 0 to 1 relative of the value to the min and max\r\n * @param {object} evt\r\n */\r\n\r\n/***\r\n * callback funcion after the slider has been moved\r\n */\r\nexport interface rangeChangedCallback{\r\n /**\r\n *\r\n * @param newValue new value of the slider\r\n * @param ratio ratio from low to high, 0 to 1\r\n * @param evt the original event\r\n */\r\n (newValue: number, ratio: number, evt: ChangeEvent<HTMLInputElement>): any\r\n}\r\n\r\n\r\n/**\r\n * Created by gavorhes on 11/2/2015.\r\n */\r\n\r\nfunction triggerCallback(callback: rangeChangedCallback, evt: ChangeEvent<HTMLInputElement>) {\r\n \"use strict\";\r\n\r\n let val = parseFloat(this.value);\r\n let min = parseFloat(this.min);\r\n let max = parseFloat(this.max);\r\n let step = parseFloat(this.step);\r\n\r\n if (max - val < step){\r\n val = max;\r\n }\r\n\r\n let percent = (val - min) / (max - min);\r\n\r\n if (typeof lastVal == 'number' && val == lastVal){\r\n return;\r\n }\r\n lastVal = val;\r\n callback(val, percent, evt);\r\n}\r\n\r\n\r\n\r\n/**\r\n * Add a variety of listeners for range inputs applied to a common callback\r\n * @param $slider - jquery reference to the slider\r\n * @param {rangeChangeCallback} callback - the callback\r\n * @param {number} [changeTimeout=75] before the callback is called\r\n * @this {jQuery}\r\n * @returns {jQuery} the jQuery object\r\n */\r\nexport function rangeChange ($slider: JQuery, callback: rangeChangedCallback, changeTimeout: number) {\r\n\r\n changeTimeout = typeof changeTimeout == 'number' ? changeTimeout : 75;\r\n\r\n $slider.mouseenter(function () {\r\n mouseIn = true;\r\n });\r\n\r\n $slider.mouseleave(function () {\r\n mouseIn = false;\r\n mouseDown = false;\r\n });\r\n\r\n $slider.mousedown(function () {\r\n mouseDown = true;\r\n });\r\n\r\n $slider.mouseup(function () {\r\n mouseDown = false;\r\n });\r\n\r\n $slider.mousemove(\r\n /**\r\n *\r\n * @param {object} evt - event properties\r\n * @this {HTMLElement}\r\n */\r\n function (evt) {\r\n if (!(mouseIn && mouseDown)) {\r\n return;\r\n }\r\n\r\n dragged = true;\r\n\r\n if (lastVal == this['value']) {\r\n return;\r\n }\r\n lastVal = this['value'];\r\n\r\n if (timeout != null) {\r\n clearTimeout(timeout);\r\n }\r\n\r\n let _this = this;\r\n\r\n timeout = setTimeout(function () {\r\n triggerCallback.call(_this, callback, evt);\r\n timeout = null;\r\n\r\n }, changeTimeout);\r\n });\r\n\r\n $slider.keyup(\r\n /**\r\n *\r\n * @param {object} evt - event properties\r\n */\r\n function (evt) {\r\n if (evt.keyCode == 37 || evt.keyCode == 39) {\r\n triggerCallback.call(this, callback, evt);\r\n }\r\n });\r\n\r\n $slider.change(function (evt) {\r\n if (dragged) {\r\n dragged = false;\r\n\r\n return;\r\n }\r\n triggerCallback.call(this, callback, evt);\r\n });\r\n\r\n return this;\r\n}\r\n\r\nnm.rangeChange = rangeChange;\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/domUtil/range-change.ts","import ol = require('custom-ol');\r\n// let g = new\r\n\r\n\r\n\r\n\r\nimport {MediaControl} from '../../domUtil/media-control'\r\n//\r\n//\r\n\r\n\r\nconsole.log('eat this fish');\r\nconsole.log('eat this fish');\r\nconsole.log('eat this bird');\r\n\r\n//\r\n// let g = new ol3.source.Vector();\r\n//\r\n// console.log(olx);\r\n\r\n\r\nconsole.log('i am here5');\r\n\r\n\r\n\r\nfunction me (eat: number = 1){\r\n console.log(eat, 'one');\r\n}\r\n\r\nme(1);\r\n\r\nvar control = new MediaControl('map');\r\n\r\n//\r\n//\r\n// console.log(ol3);\r\n//\r\n//\r\n// console.log(definedAndNotNull(\"fish\"));\r\n// console.log(definedAndNotNull(\"fish\"));\r\n// console.log(definedAndNotNull(\"fish\"));\r\n// console.log(definedAndNotNull(\"fish\"));\r\n// console.log(definedAndNotNull(\"fish\"));\r\n// console.log('here');\r\n//\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/_tests/demos/my_little_test.ts"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/bootstrap 85176672b243dd643c6c?aa7c*******","webpack:///./src/util/provide.ts?5c82******","webpack:///external \"$\"?57aa******","webpack:///./src/domUtil/media-control.ts?660c","webpack:///./src/domUtil/range-change.ts?b7cd","webpack:///./src/_tests/demos/my_little_test.ts"],"names":[],"mappings":"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","file":"my_little_test.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 74);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 85176672b243dd643c6c","/**\r\n * Created by gavorhes on 12/10/2015.\r\n */\r\n\r\ndeclare const window: Window;\r\n/**\r\n * create a namespace on the gv object\r\n * @param {string} namespace to create\r\n * @returns {object} object representing the namespace\r\n */\r\nfunction provide(namespace: string){\r\n \"use strict\";\r\n if (typeof (<any>window).gv == 'undefined'){\r\n (<any>window).gv = {};\r\n }\r\n\r\n let parts = namespace.split('.');\r\n let nameSpace = (<any>window).gv;\r\n\r\n for (let i=0; i< parts.length; i++){\r\n let newObject = nameSpace[parts[i]];\r\n\r\n if (typeof newObject == 'undefined'){\r\n nameSpace[parts[i]] = {};\r\n }\r\n\r\n nameSpace = nameSpace[parts[i]];\r\n }\r\n\r\n return nameSpace;\r\n}\r\n\r\nprovide('util');\r\n(<any>window).gv.util.provide = provide;\r\n\r\nexport default provide;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/util/provide.ts","module.exports = $;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"$\"\n// module id = 1\n// module chunks = 0 1 2 4 5 6 7 8 9 10","/**\r\n * Created by gavorhes on 11/2/2015.\r\n */\r\n\r\nimport provide from '../util/provide';\r\nimport {rangeChange} from './range-change';\r\nimport $ = require('jquery');\r\n\r\nlet nm = provide('domUtil');\r\n\r\n/**\r\n * @callback mediaCallback\r\n * @param {number} tm\r\n */\r\n\r\nfunction timeToLocalDateString(tm: number) {\r\n \"use strict\";\r\n let d = new Date(tm);\r\n let p1 = d.toLocaleTimeString().split(' ');\r\n let p2 = p1[0].split(':');\r\n p2 = p2.slice(0, 2);\r\n\r\n return d.toLocaleDateString() + '<br>' + p2.join(':') + ' ' + p1[1];\r\n}\r\n\r\nexport interface changeFunction {\r\n (newVal?: number): void;\r\n}\r\n\r\nexport interface mediaRangeConfig {\r\n min?: number;\r\n max?: number;\r\n val?: number;\r\n step?: number;\r\n playInterval?: number;\r\n showAsDate?: boolean;\r\n}\r\n\r\n\r\nexport class MediaControl {\r\n _container: JQuery;\r\n _min: number;\r\n _max: number;\r\n _playInterval: number;\r\n _step: number;\r\n _currentValue: number;\r\n\r\n _playing: boolean;\r\n\r\n _$btnStop: JQuery;\r\n _$slider: JQuery;\r\n _$valLabelVal: JQuery;\r\n _$valLabelMin: JQuery;\r\n _$valLabelMax: JQuery;\r\n _interval: number;\r\n _showAsDate: boolean;\r\n\r\n _changeFunc: changeFunction;\r\n\r\n /**\r\n *\r\n * @param element\r\n * @param changeFunc\r\n * @param mediaConfig\r\n */\r\n constructor(element: JQuery | HTMLElement | string,\r\n changeFunc: changeFunction = (): void => {\r\n return;\r\n },\r\n mediaConfig: mediaRangeConfig = {}) {\r\n\r\n mediaConfig.min = typeof mediaConfig.min == 'number' ? mediaConfig.min : 0;\r\n mediaConfig.max = typeof mediaConfig.max == 'number' ? mediaConfig.max : 100;\r\n mediaConfig.val = typeof mediaConfig.val == 'number' ? mediaConfig.val : 0;\r\n mediaConfig.step = typeof mediaConfig.step == 'number' ? mediaConfig.step : 5;\r\n mediaConfig.playInterval = typeof mediaConfig.playInterval == 'number' ? mediaConfig.playInterval : 500;\r\n mediaConfig.showAsDate = typeof mediaConfig.showAsDate == 'boolean' ? mediaConfig.showAsDate : false;\r\n\r\n if (typeof element == 'string') {\r\n this._container = $('#' + element);\r\n }\r\n else if (typeof (element as HTMLElement).style !== 'undefined') {\r\n this._container = $(element);\r\n } else {\r\n this._container = element as JQuery;\r\n }\r\n\r\n this._container.addClass('media-control-container');\r\n this._playInterval = mediaConfig.playInterval;\r\n this._changeFunc = changeFunc;\r\n\r\n this._showAsDate = mediaConfig.showAsDate;\r\n\r\n this._currentValue = undefined;\r\n this._min = undefined;\r\n this._max = undefined;\r\n this._step = undefined;\r\n this._playing = false;\r\n\r\n let htmlStr =\r\n '<span class=\"media-player-button media-back\"></span>' +\r\n '<span class=\"media-player-button media-play\"></span>' +\r\n '<span class=\"media-player-button media-pause media-disabled\"></span>' +\r\n '<span class=\"media-player-button media-stop media-disabled\" ></span>' +\r\n '<span class=\"media-player-button media-ahead\"></span>' +\r\n `<input type=\"range\">` +\r\n `<div class=\"media-control-value-label-container\">` +\r\n `<span class=\"media-control-value-label-min\"></span>` +\r\n `<span class=\"media-control-value-label-val\"></span>` +\r\n `<span class=\"media-control-value-label-max\"></span>` +\r\n `</div>`;\r\n\r\n this._container.append(htmlStr);\r\n\r\n // let btnPause = this._container.find('.media-pause');\r\n let btnPlay = this._container.find('.media-play');\r\n this._$btnStop = this._container.find('.media-stop');\r\n let btnAhead = this._container.find('.media-ahead');\r\n let btnBack = this._container.find('.media-back');\r\n this._$slider = this._container.find('input[type=range]');\r\n\r\n this._$valLabelMin = this._container.find('.media-control-value-label-min');\r\n this._$valLabelVal = this._container.find('.media-control-value-label-val');\r\n this._$valLabelMax = this._container.find('.media-control-value-label-max');\r\n\r\n this.setMinMaxValueStep(mediaConfig.min, mediaConfig.max, mediaConfig.val, mediaConfig.step);\r\n\r\n rangeChange(this._$slider, (newVal) => {\r\n this.currentValue = newVal;\r\n }, 100);\r\n\r\n let ___this = this;\r\n\r\n btnPlay.click(function () {\r\n let $this = $(this);\r\n $this.addClass('media-disabled');\r\n ___this._$btnStop.removeClass('media-disabled');\r\n btnAhead.addClass('media-locked');\r\n btnBack.addClass('media-locked');\r\n ___this._$slider.prop('disabled', true);\r\n ___this._playing = true;\r\n\r\n ___this._interval = setInterval(function () {\r\n ___this.currentValue += ___this._step;\r\n }, ___this._playInterval);\r\n });\r\n\r\n this._$btnStop.click(function () {\r\n clearInterval(___this._interval);\r\n let $this = $(this);\r\n $this.addClass('media-disabled');\r\n btnPlay.removeClass('media-disabled');\r\n btnAhead.removeClass('media-locked');\r\n btnBack.removeClass('media-locked');\r\n ___this._$slider.prop('disabled', false);\r\n ___this._playing = false;\r\n });\r\n\r\n btnAhead.click(function () {\r\n ___this.currentValue = ___this.currentValue + ___this._step;\r\n });\r\n\r\n btnBack.click(function () {\r\n ___this.currentValue = ___this.currentValue - ___this._step;\r\n });\r\n }\r\n\r\n stopPlaying() {\r\n if (this._playing) {\r\n this._$btnStop.trigger('click');\r\n }\r\n }\r\n\r\n get playing() {\r\n return this._playing;\r\n }\r\n\r\n get min() {\r\n return this._min;\r\n }\r\n\r\n get max() {\r\n return this._max;\r\n }\r\n\r\n get step() {\r\n return this._step;\r\n }\r\n\r\n get currentValue() {\r\n return this._currentValue;\r\n }\r\n\r\n set currentValue(newValue) {\r\n if (newValue > this._max) {\r\n newValue = this._min;\r\n } else if (newValue < this._min) {\r\n newValue = this._max;\r\n }\r\n this._currentValue = newValue;\r\n this._$slider.val(this._currentValue.toFixed(2));\r\n\r\n if (this._showAsDate) {\r\n this._$valLabelVal.html(timeToLocalDateString(this.currentValue));\r\n } else {\r\n this._$valLabelVal.html(this.currentValue.toString());\r\n }\r\n\r\n this._changeFunc(newValue);\r\n }\r\n\r\n /**\r\n * set min and max value with step\r\n * @param {number} newMin the new min\r\n * @param {number} newMax the new mas\r\n * @param {number} [newValue=newMin] the value to set\r\n * @param {number} [newStep=(newMax-newMin)/20] step value\r\n */\r\n setMinMaxValueStep(newMin: number, newMax: number, newValue: number, newStep: number) {\r\n this._min = newMin;\r\n this._max = newMax;\r\n\r\n newValue = typeof newValue == 'number' ? newValue : newMin;\r\n newStep = typeof newStep == 'number' ? newStep : (newMax - newMin) / 20;\r\n\r\n this._currentValue = newValue;\r\n this._step = newStep;\r\n\r\n this._$slider.prop('min', this.min.toString());\r\n this._$slider.prop('max', this.max.toString());\r\n this._$slider.prop('step', this.step.toString());\r\n this._$slider.val(this.currentValue.toString());\r\n\r\n if (this._showAsDate) {\r\n this._$valLabelMin.html(timeToLocalDateString(this._min));\r\n this._$valLabelVal.html(timeToLocalDateString(this.currentValue));\r\n this._$valLabelMax.html(timeToLocalDateString(this._max));\r\n } else {\r\n this._$valLabelMin.html(this._min.toString());\r\n this._$valLabelVal.html(this.currentValue.toString());\r\n this._$valLabelMax.html(this._max.toString());\r\n }\r\n }\r\n\r\n /**\r\n *\r\n * @param {mediaCallback} newFunc the callback on change\r\n */\r\n set changeFunction(newFunc: changeFunction) {\r\n this._changeFunc = newFunc;\r\n }\r\n}\r\n\r\nnm.MediaControl = MediaControl;\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/domUtil/media-control.ts","import provide from '../util/provide';\r\nimport $ = require('jquery');\r\nimport {ChangeEvent} from \"react\";\r\n\r\nconst nm = provide('domUtil');\r\n\r\nlet mouseIn = false;\r\nlet mouseDown = false;\r\nlet timeout: number = null;\r\nlet dragged = false;\r\nlet lastVal: number;\r\n\r\n\r\n/**\r\n * callback on range change interaction, context of this is the firing dom element\r\n * @callback rangeChangeCallback\r\n * @param {number} newValue\r\n * @param {number} ratio value from 0 to 1 relative of the value to the min and max\r\n * @param {object} evt\r\n */\r\n\r\n/***\r\n * callback funcion after the slider has been moved\r\n */\r\nexport interface rangeChangedCallback{\r\n /**\r\n *\r\n * @param newValue new value of the slider\r\n * @param ratio ratio from low to high, 0 to 1\r\n * @param evt the original event\r\n */\r\n (newValue: number, ratio: number, evt: ChangeEvent<HTMLInputElement>): any\r\n}\r\n\r\n\r\n/**\r\n * Created by gavorhes on 11/2/2015.\r\n */\r\n\r\nfunction triggerCallback(callback: rangeChangedCallback, evt: ChangeEvent<HTMLInputElement>) {\r\n \"use strict\";\r\n\r\n let val = parseFloat(this.value);\r\n let min = parseFloat(this.min);\r\n let max = parseFloat(this.max);\r\n let step = parseFloat(this.step);\r\n\r\n if (max - val < step){\r\n val = max;\r\n }\r\n\r\n let percent = (val - min) / (max - min);\r\n\r\n if (typeof lastVal == 'number' && val == lastVal){\r\n return;\r\n }\r\n lastVal = val;\r\n callback(val, percent, evt);\r\n}\r\n\r\n\r\n\r\n/**\r\n * Add a variety of listeners for range inputs applied to a common callback\r\n * @param $slider - jquery reference to the slider\r\n * @param {rangeChangeCallback} callback - the callback\r\n * @param {number} [changeTimeout=75] before the callback is called\r\n * @this {jQuery}\r\n * @returns {jQuery} the jQuery object\r\n */\r\nexport function rangeChange ($slider: JQuery, callback: rangeChangedCallback, changeTimeout: number) {\r\n\r\n changeTimeout = typeof changeTimeout == 'number' ? changeTimeout : 75;\r\n\r\n $slider.mouseenter(function () {\r\n mouseIn = true;\r\n });\r\n\r\n $slider.mouseleave(function () {\r\n mouseIn = false;\r\n mouseDown = false;\r\n });\r\n\r\n $slider.mousedown(function () {\r\n mouseDown = true;\r\n });\r\n\r\n $slider.mouseup(function () {\r\n mouseDown = false;\r\n });\r\n\r\n $slider.mousemove(\r\n /**\r\n *\r\n * @param {object} evt - event properties\r\n * @this {HTMLElement}\r\n */\r\n function (evt) {\r\n if (!(mouseIn && mouseDown)) {\r\n return;\r\n }\r\n\r\n dragged = true;\r\n\r\n if (lastVal == this['value']) {\r\n return;\r\n }\r\n lastVal = this['value'];\r\n\r\n if (timeout != null) {\r\n clearTimeout(timeout);\r\n }\r\n\r\n let _this = this;\r\n\r\n timeout = setTimeout(function () {\r\n triggerCallback.call(_this, callback, evt);\r\n timeout = null;\r\n\r\n }, changeTimeout);\r\n });\r\n\r\n $slider.keyup(\r\n /**\r\n *\r\n * @param {object} evt - event properties\r\n */\r\n function (evt) {\r\n if (evt.keyCode == 37 || evt.keyCode == 39) {\r\n triggerCallback.call(this, callback, evt);\r\n }\r\n });\r\n\r\n $slider.change(function (evt) {\r\n if (dragged) {\r\n dragged = false;\r\n\r\n return;\r\n }\r\n triggerCallback.call(this, callback, evt);\r\n });\r\n\r\n return this;\r\n}\r\n\r\nnm.rangeChange = rangeChange;\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/domUtil/range-change.ts","import ol = require('custom-ol');\r\n// let g = new\r\n\r\n\r\n\r\n\r\nimport {MediaControl} from '../../domUtil/media-control'\r\n//\r\n//\r\n\r\n\r\nconsole.log('eat this fish');\r\nconsole.log('eat this fish');\r\nconsole.log('eat this bird');\r\n\r\n//\r\n// let g = new ol3.source.Vector();\r\n//\r\n// console.log(olx);\r\n\r\n\r\nconsole.log('i am here5');\r\n\r\n\r\n\r\nfunction me (eat: number = 1){\r\n console.log(eat, 'one');\r\n}\r\n\r\nme(1);\r\n\r\nvar control = new MediaControl('map');\r\n\r\n//\r\n//\r\n// console.log(ol3);\r\n//\r\n//\r\n// console.log(definedAndNotNull(\"fish\"));\r\n// console.log(definedAndNotNull(\"fish\"));\r\n// console.log(definedAndNotNull(\"fish\"));\r\n// console.log(definedAndNotNull(\"fish\"));\r\n// console.log(definedAndNotNull(\"fish\"));\r\n// console.log('here');\r\n//\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/_tests/demos/my_little_test.ts"],"sourceRoot":""} \ No newline at end of file diff --git a/test/serve/js/range_media.js b/test/serve/js/range_media.js index 1d22be3f1abf55dd76f3c39dcca095cb05416ebb..d149a05bbf7d12eafce45a63d01fe3cc061b8569 100644 --- a/test/serve/js/range_media.js +++ b/test/serve/js/range_media.js @@ -63,7 +63,7 @@ /******/ __webpack_require__.p = ""; /******/ /******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = 73); +/******/ return __webpack_require__(__webpack_require__.s = 75); /******/ }) /************************************************************************/ /******/ ({ @@ -213,7 +213,7 @@ exports.default = DayRange; /***/ }), -/***/ 73: +/***/ 75: /***/ (function(module, exports, __webpack_require__) { "use strict"; diff --git a/test/serve/js/range_media.js.map b/test/serve/js/range_media.js.map index cbf436add05eb6383d4c86dabb4572992601c634..dc3729d6b31ac64580755fbfaec803c4035d66e6 100644 --- a/test/serve/js/range_media.js.map +++ b/test/serve/js/range_media.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap b7d91eb15b0b6dcf7ee0?08c4********","webpack:///./src/util/provide.ts?5c82*******","webpack:///external \"$\"?57aa*******","webpack:///./src/domUtil/day-range.ts","webpack:///./src/_tests/demos/range_media.ts"],"names":[],"mappings":"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","file":"range_media.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 73);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap b7d91eb15b0b6dcf7ee0","/**\r\n * Created by gavorhes on 12/10/2015.\r\n */\r\n\r\ndeclare const window: Window;\r\n/**\r\n * create a namespace on the gv object\r\n * @param {string} namespace to create\r\n * @returns {object} object representing the namespace\r\n */\r\nfunction provide(namespace: string){\r\n \"use strict\";\r\n if (typeof (<any>window).gv == 'undefined'){\r\n (<any>window).gv = {};\r\n }\r\n\r\n let parts = namespace.split('.');\r\n let nameSpace = (<any>window).gv;\r\n\r\n for (let i=0; i< parts.length; i++){\r\n let newObject = nameSpace[parts[i]];\r\n\r\n if (typeof newObject == 'undefined'){\r\n nameSpace[parts[i]] = {};\r\n }\r\n\r\n nameSpace = nameSpace[parts[i]];\r\n }\r\n\r\n return nameSpace;\r\n}\r\n\r\nprovide('util');\r\n(<any>window).gv.util.provide = provide;\r\n\r\nexport default provide;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/util/provide.ts","module.exports = $;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"$\"\n// module id = 1\n// module chunks = 0 1 2 4 5 6 7 8 9","import provide from '../util/provide';\r\nimport $ = require('jquery');\r\nimport 'jquery-ui';\r\n\r\nlet nm = provide('domUtil');\r\n\r\nexport class DayRange {\r\n _workingDayRange: number;\r\n _$startDate: JQuery;\r\n _$endDate: JQuery;\r\n _maxDateRange: number;\r\n _startDate: Date;\r\n _endDate: Date;\r\n\r\n /**\r\n * constructor for the date range\r\n * @param {number} dayRange number of days\r\n * @param {jQuery|HTMLElement|*} jQueryRef reference to the jquery element\r\n */\r\n constructor(jQueryRef: JQuery, dayRange: number) {\r\n this._workingDayRange = dayRange - 1;\r\n\r\n let pickerHtml = '<label for=\"start-date\" style=\"width: 78px; display: inline-block; margin:5px;\">Start Date</label>' +\r\n '<input type=\"text\" readonly id=\"start-date\" class=\"date-pick\" style=\"width: 90px;\">' +\r\n '<br><label for=\"end-date\" style=\"width: 78px; display: inline-block; margin:5px;\">End Date</label>' +\r\n '<input type=\"text\" readonly id=\"end-date\" class=\"date-pick\" style=\"width: 90px;\">';\r\n\r\n jQueryRef.append(pickerHtml);\r\n\r\n this._$startDate = $('#start-date');\r\n this._$endDate = $('#end-date');\r\n\r\n this._$startDate.datepicker();\r\n this._$endDate.datepicker();\r\n\r\n this._startDate = null;\r\n this._endDate = null;\r\n\r\n let dte1 = new Date();\r\n dte1.setHours(0, 0, 0, 0);\r\n let dte2 = new Date(dte1.getTime());\r\n dte2.setDate(dte2.getDate() + dayRange);\r\n dte2.setHours(23, 59, 59, 0);\r\n this._maxDateRange = dte2.getTime() - dte1.getTime();\r\n\r\n let _this = this;\r\n\r\n //add event listeners\r\n this._$startDate.change(function () {\r\n _this.startDate = this.value;\r\n });\r\n\r\n this._$endDate.change(function () {\r\n _this.endDate = this.value;\r\n });\r\n\r\n // initialize\r\n this.endDate = new Date();\r\n }\r\n\r\n get startDate(): Date {\r\n return this._startDate;\r\n }\r\n\r\n /**\r\n *\r\n * @param val\r\n */\r\n set startDate(val: Date) {\r\n if (typeof val == 'string') {\r\n val = new Date(val as string);\r\n }\r\n\r\n this._startDate = val;\r\n this._startDate.setHours(0, 0, 0, 0);\r\n this._$startDate.val(this._startDate.toLocaleDateString());\r\n\r\n if (\r\n this.endDate == null ||\r\n this._endDate.getTime() - this._startDate.getTime() > this._maxDateRange ||\r\n this._endDate.getTime() - this._startDate.getTime() < 24 * 60 * 60 * 1000) {\r\n let tmpDate = new Date(this._startDate.getTime());\r\n tmpDate.setDate(tmpDate.getDate() + this._workingDayRange);\r\n this.endDate = new Date(tmpDate.getTime());\r\n }\r\n }\r\n\r\n get endDate(): Date {\r\n return this._endDate;\r\n }\r\n\r\n\r\n set endDate(val: Date) {\r\n if (typeof val == 'string') {\r\n val = new Date(val as string);\r\n }\r\n\r\n this._endDate = val;\r\n this._endDate.setHours(23, 59, 59, 0);\r\n this._$endDate.val(this._endDate.toLocaleDateString());\r\n if (this._startDate == null || this._endDate.getTime() - this.startDate.getTime() > this._maxDateRange || this._endDate.getTime() - this._startDate.getTime() < 24 * 60 * 60 * 1000) {\r\n let tmpDate = new Date(this._endDate.getTime());\r\n tmpDate.setDate(tmpDate.getDate() - this._workingDayRange);\r\n this.startDate = new Date(tmpDate.getTime());\r\n }\r\n }\r\n}\r\n\r\nnm.DayRange = DayRange;\r\n\r\nexport default DayRange;\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/domUtil/day-range.ts","/**\r\n * Created by gavorhes on 10/10/2016.\r\n */\r\n\r\nimport {DayRange} from '../../domUtil/day-range';\r\nimport $ = require('jquery');\r\n\r\nlet dayRange = new DayRange($('#day-range'), 10);\r\n\r\n\r\n\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/_tests/demos/range_media.ts"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/bootstrap 85176672b243dd643c6c?aa7c*********","webpack:///./src/util/provide.ts?5c82********","webpack:///external \"$\"?57aa********","webpack:///./src/domUtil/day-range.ts","webpack:///./src/_tests/demos/range_media.ts"],"names":[],"mappings":"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","file":"range_media.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 75);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 85176672b243dd643c6c","/**\r\n * Created by gavorhes on 12/10/2015.\r\n */\r\n\r\ndeclare const window: Window;\r\n/**\r\n * create a namespace on the gv object\r\n * @param {string} namespace to create\r\n * @returns {object} object representing the namespace\r\n */\r\nfunction provide(namespace: string){\r\n \"use strict\";\r\n if (typeof (<any>window).gv == 'undefined'){\r\n (<any>window).gv = {};\r\n }\r\n\r\n let parts = namespace.split('.');\r\n let nameSpace = (<any>window).gv;\r\n\r\n for (let i=0; i< parts.length; i++){\r\n let newObject = nameSpace[parts[i]];\r\n\r\n if (typeof newObject == 'undefined'){\r\n nameSpace[parts[i]] = {};\r\n }\r\n\r\n nameSpace = nameSpace[parts[i]];\r\n }\r\n\r\n return nameSpace;\r\n}\r\n\r\nprovide('util');\r\n(<any>window).gv.util.provide = provide;\r\n\r\nexport default provide;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/util/provide.ts","module.exports = $;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"$\"\n// module id = 1\n// module chunks = 0 1 2 4 5 6 7 8 9 10","import provide from '../util/provide';\r\nimport $ = require('jquery');\r\nimport 'jquery-ui';\r\n\r\nlet nm = provide('domUtil');\r\n\r\nexport class DayRange {\r\n _workingDayRange: number;\r\n _$startDate: JQuery;\r\n _$endDate: JQuery;\r\n _maxDateRange: number;\r\n _startDate: Date;\r\n _endDate: Date;\r\n\r\n /**\r\n * constructor for the date range\r\n * @param {number} dayRange number of days\r\n * @param {jQuery|HTMLElement|*} jQueryRef reference to the jquery element\r\n */\r\n constructor(jQueryRef: JQuery, dayRange: number) {\r\n this._workingDayRange = dayRange - 1;\r\n\r\n let pickerHtml = '<label for=\"start-date\" style=\"width: 78px; display: inline-block; margin:5px;\">Start Date</label>' +\r\n '<input type=\"text\" readonly id=\"start-date\" class=\"date-pick\" style=\"width: 90px;\">' +\r\n '<br><label for=\"end-date\" style=\"width: 78px; display: inline-block; margin:5px;\">End Date</label>' +\r\n '<input type=\"text\" readonly id=\"end-date\" class=\"date-pick\" style=\"width: 90px;\">';\r\n\r\n jQueryRef.append(pickerHtml);\r\n\r\n this._$startDate = $('#start-date');\r\n this._$endDate = $('#end-date');\r\n\r\n this._$startDate.datepicker();\r\n this._$endDate.datepicker();\r\n\r\n this._startDate = null;\r\n this._endDate = null;\r\n\r\n let dte1 = new Date();\r\n dte1.setHours(0, 0, 0, 0);\r\n let dte2 = new Date(dte1.getTime());\r\n dte2.setDate(dte2.getDate() + dayRange);\r\n dte2.setHours(23, 59, 59, 0);\r\n this._maxDateRange = dte2.getTime() - dte1.getTime();\r\n\r\n let _this = this;\r\n\r\n //add event listeners\r\n this._$startDate.change(function () {\r\n _this.startDate = this.value;\r\n });\r\n\r\n this._$endDate.change(function () {\r\n _this.endDate = this.value;\r\n });\r\n\r\n // initialize\r\n this.endDate = new Date();\r\n }\r\n\r\n get startDate(): Date {\r\n return this._startDate;\r\n }\r\n\r\n /**\r\n *\r\n * @param val\r\n */\r\n set startDate(val: Date) {\r\n if (typeof val == 'string') {\r\n val = new Date(val as string);\r\n }\r\n\r\n this._startDate = val;\r\n this._startDate.setHours(0, 0, 0, 0);\r\n this._$startDate.val(this._startDate.toLocaleDateString());\r\n\r\n if (\r\n this.endDate == null ||\r\n this._endDate.getTime() - this._startDate.getTime() > this._maxDateRange ||\r\n this._endDate.getTime() - this._startDate.getTime() < 24 * 60 * 60 * 1000) {\r\n let tmpDate = new Date(this._startDate.getTime());\r\n tmpDate.setDate(tmpDate.getDate() + this._workingDayRange);\r\n this.endDate = new Date(tmpDate.getTime());\r\n }\r\n }\r\n\r\n get endDate(): Date {\r\n return this._endDate;\r\n }\r\n\r\n\r\n set endDate(val: Date) {\r\n if (typeof val == 'string') {\r\n val = new Date(val as string);\r\n }\r\n\r\n this._endDate = val;\r\n this._endDate.setHours(23, 59, 59, 0);\r\n this._$endDate.val(this._endDate.toLocaleDateString());\r\n if (this._startDate == null || this._endDate.getTime() - this.startDate.getTime() > this._maxDateRange || this._endDate.getTime() - this._startDate.getTime() < 24 * 60 * 60 * 1000) {\r\n let tmpDate = new Date(this._endDate.getTime());\r\n tmpDate.setDate(tmpDate.getDate() - this._workingDayRange);\r\n this.startDate = new Date(tmpDate.getTime());\r\n }\r\n }\r\n}\r\n\r\nnm.DayRange = DayRange;\r\n\r\nexport default DayRange;\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/domUtil/day-range.ts","/**\r\n * Created by gavorhes on 10/10/2016.\r\n */\r\n\r\nimport {DayRange} from '../../domUtil/day-range';\r\nimport $ = require('jquery');\r\n\r\nlet dayRange = new DayRange($('#day-range'), 10);\r\n\r\n\r\n\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/_tests/demos/range_media.ts"],"sourceRoot":""} \ No newline at end of file diff --git a/test/serve/js/reacttst.js b/test/serve/js/reacttst.js index ef54ae8f6383f5afe8df887a6130b27ff1477fc4..87818548e0321d37944dbd4827605bc8ed997fe1 100644 --- a/test/serve/js/reacttst.js +++ b/test/serve/js/reacttst.js @@ -63,7 +63,7 @@ /******/ __webpack_require__.p = ""; /******/ /******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = 74); +/******/ return __webpack_require__(__webpack_require__.s = 76); /******/ }) /************************************************************************/ /******/ ([ @@ -143,7 +143,8 @@ exports.default = makeGuid; /* 6 */, /* 7 */, /* 8 */, -/* 9 */ +/* 9 */, +/* 10 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -163,7 +164,7 @@ exports.createStore = exports.Redux.createStore; /***/ }), -/* 10 */ +/* 11 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -174,8 +175,12 @@ exports.SET_TWO_DATES = 'set two dates'; /***/ }), -/* 11 */, -/* 12 */ +/* 12 */, +/* 13 */, +/* 14 */, +/* 15 */, +/* 16 */, +/* 17 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -189,7 +194,7 @@ var Symbol = __WEBPACK_IMPORTED_MODULE_0__root_js__["a" /* default */].Symbol; /***/ }), -/* 13 */ +/* 18 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -261,7 +266,7 @@ function isPlainObject(value) { /***/ }), -/* 14 */ +/* 19 */ /***/ (function(module, exports) { // shim for using process in browser @@ -447,7 +452,7 @@ process.umask = function() { return 0; }; /***/ }), -/* 15 */ +/* 20 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -486,11 +491,11 @@ function compose() { } /***/ }), -/* 16 */ +/* 21 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash_es_isPlainObject__ = __webpack_require__(13); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash_es_isPlainObject__ = __webpack_require__(18); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_symbol_observable__ = __webpack_require__(41); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_symbol_observable___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_symbol_observable__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return ActionTypes; }); @@ -745,7 +750,7 @@ var ActionTypes = { } /***/ }), -/* 17 */ +/* 22 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -773,7 +778,7 @@ function warning(message) { } /***/ }), -/* 18 */ +/* 23 */ /***/ (function(module, exports) { var g; @@ -800,8 +805,7 @@ module.exports = g; /***/ }), -/* 19 */, -/* 20 */ +/* 24 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -828,7 +832,7 @@ var __assign = (this && this.__assign) || Object.assign || function(t) { return t; }; Object.defineProperty(exports, "__esModule", { value: true }); -var reactAndRedux_1 = __webpack_require__(9); +var reactAndRedux_1 = __webpack_require__(10); var $ = __webpack_require__(1); __webpack_require__(1); var makeGuid_1 = __webpack_require__(3); @@ -876,10 +880,6 @@ exports.default = DatePick; /***/ }), -/* 21 */, -/* 22 */, -/* 23 */, -/* 24 */, /* 25 */, /* 26 */, /* 27 */ @@ -887,12 +887,12 @@ exports.default = DatePick; "use strict"; /* WEBPACK VAR INJECTION */(function(process) {Object.defineProperty(__webpack_exports__, "__esModule", { value: true }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__createStore__ = __webpack_require__(16); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__createStore__ = __webpack_require__(21); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__combineReducers__ = __webpack_require__(40); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__bindActionCreators__ = __webpack_require__(39); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__applyMiddleware__ = __webpack_require__(38); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__compose__ = __webpack_require__(15); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__utils_warning__ = __webpack_require__(17); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__compose__ = __webpack_require__(20); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__utils_warning__ = __webpack_require__(22); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "createStore", function() { return __WEBPACK_IMPORTED_MODULE_0__createStore__["a"]; }); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "combineReducers", function() { return __WEBPACK_IMPORTED_MODULE_1__combineReducers__["a"]; }); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "bindActionCreators", function() { return __WEBPACK_IMPORTED_MODULE_2__bindActionCreators__["a"]; }); @@ -916,7 +916,7 @@ if (process.env.NODE_ENV !== 'production' && typeof isCrushed.name === 'string' } -/* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(14))) +/* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(19))) /***/ }), /* 28 */, @@ -939,11 +939,11 @@ var __extends = (this && this.__extends) || (function () { }; })(); Object.defineProperty(exports, "__esModule", { value: true }); -var reactAndRedux_1 = __webpack_require__(9); +var reactAndRedux_1 = __webpack_require__(10); __webpack_require__(1); var makeGuid_1 = __webpack_require__(3); var fixDate = __webpack_require__(45); -var DatePick_1 = __webpack_require__(20); +var DatePick_1 = __webpack_require__(24); function stringToDate(dte) { if (dte.getTime) { return dte; @@ -958,6 +958,7 @@ var DateRange = (function (_super) { var _this = _super.call(this, props, context) || this; _this.startId = makeGuid_1.default(); _this.endId = makeGuid_1.default(); + _this.versionTwoStart = new Date(2017, 1, 1); _this.maxRange = Math.round(_this.props.maxRange) - 1; _this.minRange = typeof _this.props['minRange'] == 'number' ? Math.round(_this.props['minRange']) : 1; if (_this.minRange > _this.maxRange) { @@ -981,7 +982,7 @@ var DateRange = (function (_super) { DateRange.prototype.componentDidMount = function () { this.startInput = document.getElementById(this.startId); this.endInput = document.getElementById(this.endId); - this.props.callback(this.start, this.end); + this.props.callback(this.start, this.end, this.version); }; Object.defineProperty(DateRange.prototype, "needReset", { get: function () { @@ -990,7 +991,49 @@ var DateRange = (function (_super) { enumerable: true, configurable: true }); + Object.defineProperty(DateRange.prototype, "versionSpan", { + get: function () { + if (this.start < this.versionTwoStart && this.end >= this.versionTwoStart) { + return true; + } + else if (fixDate.dateToString(this.versionTwoStart) === fixDate.dateToString(this.end) && this.start < this.versionTwoStart) { + return true; + } + return false; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(DateRange.prototype, "version", { + get: function () { + if (fixDate.dateToString(this.start) == fixDate.dateToString(this.versionTwoStart)) { + return 2; + } + else if (this.start >= this.versionTwoStart) { + return 2; + } + return 1; + }, + enumerable: true, + configurable: true + }); + DateRange.prototype.finalizeChange = function () { + if (this.props.npmrds) { + if (this.versionSpan) { + this.start = this.previousStart; + this.end = this.previousEnd; + this.startInput.value = fixDate.dateToString(this.start); + this.endInput.value = fixDate.dateToString(this.end); + this.setNumDays(); + alert("Start and End dates must not span version break: " + fixDate.dateToString(this.versionTwoStart)); + return; + } + } + this.props.callback(this.start, this.end, this.version); + }; DateRange.prototype.setStart = function (s) { + this.previousStart = new Date(this.start); + this.previousEnd = new Date(this.end); this.start = s; this.setNumDays(); if (this.needReset) { @@ -1004,9 +1047,11 @@ var DateRange = (function (_super) { this.endInput.value = fixDate.dateToString(this.end); this.setNumDays(); } - this.props.callback(this.start, this.end); + this.finalizeChange(); }; DateRange.prototype.setEnd = function (s) { + this.previousStart = new Date(this.start); + this.previousEnd = new Date(this.end); this.end = s; this.setNumDays(); if (this.needReset) { @@ -1020,7 +1065,7 @@ var DateRange = (function (_super) { this.startInput.value = fixDate.dateToString(this.start); this.setNumDays(); } - this.props.callback(this.start, this.end); + this.finalizeChange(); }; DateRange.prototype.render = function () { var _this = this; @@ -1038,7 +1083,7 @@ exports.DateRange = DateRange; /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Symbol_js__ = __webpack_require__(12); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Symbol_js__ = __webpack_require__(17); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__getRawTag_js__ = __webpack_require__(33); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__objectToString_js__ = __webpack_require__(34); @@ -1081,7 +1126,7 @@ var freeGlobal = typeof global == 'object' && global && global.Object === Object /* harmony default export */ __webpack_exports__["a"] = freeGlobal; -/* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(18))) +/* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(23))) /***/ }), /* 32 */ @@ -1102,7 +1147,7 @@ var getPrototype = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__overArg_js /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Symbol_js__ = __webpack_require__(12); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Symbol_js__ = __webpack_require__(17); /** Used for built-in method references. */ @@ -1260,7 +1305,7 @@ function isObjectLike(value) { /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__compose__ = __webpack_require__(15); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__compose__ = __webpack_require__(20); /* harmony export (immutable) */ __webpack_exports__["a"] = applyMiddleware; var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; @@ -1370,9 +1415,9 @@ function bindActionCreators(actionCreators, dispatch) { /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -/* WEBPACK VAR INJECTION */(function(process) {/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__createStore__ = __webpack_require__(16); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_lodash_es_isPlainObject__ = __webpack_require__(13); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__utils_warning__ = __webpack_require__(17); +/* WEBPACK VAR INJECTION */(function(process) {/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__createStore__ = __webpack_require__(21); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_lodash_es_isPlainObject__ = __webpack_require__(18); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__utils_warning__ = __webpack_require__(22); /* harmony export (immutable) */ __webpack_exports__["a"] = combineReducers; @@ -1504,7 +1549,7 @@ function combineReducers(reducers) { return hasChanged ? nextState : state; }; } -/* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(14))) +/* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(19))) /***/ }), /* 41 */ @@ -1547,7 +1592,7 @@ if (typeof self !== 'undefined') { var result = (0, _ponyfill2['default'])(root); exports['default'] = result; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(18), __webpack_require__(44)(module))) +/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(23), __webpack_require__(44)(module))) /***/ }), /* 43 */ @@ -1648,10 +1693,10 @@ exports.dateToString = dateToString; "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -var reactAndRedux_1 = __webpack_require__(9); -var DatePick_1 = __webpack_require__(20); +var reactAndRedux_1 = __webpack_require__(10); +var DatePick_1 = __webpack_require__(24); var DateRange_1 = __webpack_require__(29); -var actions = __webpack_require__(10); +var actions = __webpack_require__(11); exports.DatePickConnected = reactAndRedux_1.connect(function (state) { return { label: 'Date Picker Connected', @@ -1672,11 +1717,13 @@ exports.DateRangeConnected = reactAndRedux_1.connect(function (state) { maxRange: 10, start: state.twoDates.start, end: state.twoDates.end, + initialEnd: state.twoDates.end, + npmrds: true }; }, function (dispatch) { return { - callback: function (s, e) { - dispatch({ type: actions.SET_TWO_DATES, start: s, end: e }); + callback: function (s, e, version) { + dispatch({ type: actions.SET_TWO_DATES, start: s, end: e, version: version }); } }; })(DateRange_1.DateRange); @@ -1689,7 +1736,7 @@ exports.DateRangeConnected = reactAndRedux_1.connect(function (state) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -var actions = __webpack_require__(10); +var actions = __webpack_require__(11); var Redux = __webpack_require__(27); function oneDate(state, action) { if (state === void 0) { state = new Date(); } @@ -1700,15 +1747,16 @@ function oneDate(state, action) { return state; } } -var now = new Date(); -var before = new Date(); -before.setDate(before.getDate() - 10); +var start = new Date('12/31/2017'); +var end = new Date('12/31/2017'); +start.setDate(start.getDate() - 10); function twoDates(state, action) { - if (state === void 0) { state = { start: now, end: before }; } + if (state === void 0) { state = { start: start, end: end, version: 2 }; } if (action.type == actions.SET_TWO_DATES) { return { start: action.start, - end: action.end + end: action.end, + version: action.version }; } else { @@ -1763,7 +1811,9 @@ module.exports = ReactRedux; /* 71 */, /* 72 */, /* 73 */, -/* 74 */ +/* 74 */, +/* 75 */, +/* 76 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -1782,8 +1832,8 @@ var __extends = (this && this.__extends) || (function () { }; })(); Object.defineProperty(exports, "__esModule", { value: true }); -var reactAndRedux_1 = __webpack_require__(9); -var DatePick_1 = __webpack_require__(20); +var reactAndRedux_1 = __webpack_require__(10); +var DatePick_1 = __webpack_require__(24); var DateRange_1 = __webpack_require__(29); var reacttst_connect_1 = __webpack_require__(48); var s = __webpack_require__(49); diff --git a/test/serve/js/reacttst.js.map b/test/serve/js/reacttst.js.map index 96fac0e053ff45283b9eab5271c60e38e4beb3d6..d5c20f59ec096f90517f13aeda8fe1ea6700dea4 100644 --- a/test/serve/js/reacttst.js.map +++ b/test/serve/js/reacttst.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap b7d91eb15b0b6dcf7ee0?08c4","webpack:///./src/util/provide.ts","webpack:///external \"$\"","webpack:///./src/util/makeGuid.ts","webpack:///./src/reactComponents/reactAndRedux.ts","webpack:///./src/_tests/demos/reacttst_actions.ts","webpack:///./~/lodash-es/_Symbol.js","webpack:///./~/lodash-es/isPlainObject.js","webpack:///./~/process/browser.js","webpack:///./~/redux/es/compose.js","webpack:///./~/redux/es/createStore.js","webpack:///./~/redux/es/utils/warning.js","webpack:///(webpack)/buildin/global.js","webpack:///./src/reactComponents/DatePick.tsx","webpack:///./~/redux/es/index.js","webpack:///./src/reactComponents/DateRange.tsx","webpack:///./~/lodash-es/_baseGetTag.js","webpack:///./~/lodash-es/_freeGlobal.js","webpack:///./~/lodash-es/_getPrototype.js","webpack:///./~/lodash-es/_getRawTag.js","webpack:///./~/lodash-es/_objectToString.js","webpack:///./~/lodash-es/_overArg.js","webpack:///./~/lodash-es/_root.js","webpack:///./~/lodash-es/isObjectLike.js","webpack:///./~/redux/es/applyMiddleware.js","webpack:///./~/redux/es/bindActionCreators.js","webpack:///./~/redux/es/combineReducers.js","webpack:///./~/symbol-observable/index.js","webpack:///./~/symbol-observable/lib/index.js","webpack:///./~/symbol-observable/lib/ponyfill.js","webpack:///(webpack)/buildin/module.js","webpack:///./src/reactComponents/helpers/dateFormat.ts","webpack:///./src/_tests/demos/reacttst_connect.ts","webpack:///./src/_tests/demos/reacttst_store.ts","webpack:///external \"React\"","webpack:///external \"ReactDOM\"","webpack:///external \"ReactRedux\"","webpack:///./src/_tests/demos/reacttst.tsx"],"names":[],"mappings":"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ACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,2BAA2B;AAC3B;AACA;AACA;AACA,4BAA4B,UAAU;;;;;;;;ACnLtC;AAAA;AACA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB,aAAa,SAAS;AACtB;AACA;AACA;;AAEA;AACA,kEAAkE,aAAa;AAC/E;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH,C;;;;;;;;;;;;AC/BA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,SAAS;AACtB;AACA;AACA,aAAa,IAAI;AACjB;AACA;AACA;AACA;AACA;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB;AACA;AACA,EAAE;AACF;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,IAAI;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,SAAS;AACtB,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,SAAS;AACtB,eAAe;AACf;AACA;AACA;AACA;AACA;;AAEA;AACA,cAAc,yBAAyB;AACvC;;AAEA;AACA;AACA,eAAe,WAAW;AAC1B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA,mBAAmB,aAAa;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,gBAAgB;AAChB;AACA,KAAK;AACL;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,YAAY,yBAAyB;;AAErC;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,C;;;;;;;ACvPA;AAAA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA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;;;;;;;;ACdA;;AAEA;AACA;;AAEA;AACA;;AAEA;;;;;;;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;AC5BA;AAAA,mDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB,aAAa,SAAS;AACtB;AACA;AACA,wEAAwE,aAAa;AACrF;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA,wBAAwB;AACxB;AACA,OAAO;AACP;AACA;AACA,C;;;;;;;AC/CA;AAAA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA,aAAa,gBAAgB;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB,iBAAiB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,C;;;;;;;;;;;AC9CsB;AACtB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,mEAAmE;AACnE;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,2CAA2C,+EAAyB;;AAEpE;AACA;AACA;;AAEA;AACA,mCAAmC,aAAa;AAChD;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA,iBAAiB,wBAAwB;AACzC;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,oBAAoB,8BAA8B;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,C;;;;;;;ACjIA;;;;;;;;sDCAA;;AAEA;AACA;AACA,CAAC;;AAED;;AAEA;;AAEA,sCAAsC,uCAAuC,kBAAkB;;AAE/F,SAAS;;;AAGT;AACA;AACA,CAAC;AACD;AACA,CAAC;AACD;AACA,CAAC;AACD;AACA,CAAC;AACD;AACA;;AAEA;AACA,4B;;;;;;;;AC5BA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,EAAE;AACF;AACA;;AAEA;AACA,E;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;;;;;;;ACrBA;;GAEG;;;AAEH,sBAA6B,OAAe;IACxC,IAAI,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAE/B,IAAI,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAChC,IAAI,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3B,IAAI,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAE3B,IAAI,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IAC7B,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAEtB,MAAM,CAAC,GAAG,CAAC;AACf,CAAC;AAXD,oCAWC;AAED,sBAA6B,GAAS,EAAE,OAAsB;IAAtB,wCAAsB;IAC1D,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IACzC,IAAI,CAAC,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC;IAEjC,EAAE,CAAC,CAAC,OAAO,CAAC,EAAC;QACT,EAAE,GAAG,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,CAAC;QACpC,CAAC,GAAI,CAAC,CAAC,MAAM,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,GAAI,CAAC,CAAE;IACvC,CAAC;IAED,MAAM,CAAI,EAAE,SAAI,CAAC,SAAI,GAAG,CAAC,WAAW,EAAI,CAAC;AAC7C,CAAC;AAVD,oCAUC;;;;;;;;;;;;AC3BD,6CAA4D;AAE5D,yCAAwD;AACxD,0CAA0D;AAC1D,sCAA8C;AAGjC,yBAAiB,GAAG,uBAAO,CACpC,UAAC,KAAa;IACV,MAAM,CAAC;QACH,KAAK,EAAE,uBAAuB;QAC9B,MAAM,EAAE,UAAC,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACnB,CAAC;QACD,GAAG,EAAE,KAAK,CAAC,OAAO;KACrB;AACL,CAAC,EACD,UAAC,QAAQ;IACL,MAAM,CAAC;QACH,MAAM,EAAE,UAAC,CAAC;YACN,QAAQ,CAAC,EAAC,IAAI,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,EAAE,CAAC,EAAC,CAAC,CAAC;QACjD,CAAC;KACJ;AACL,CAAC,CACJ,CAAC,mBAAQ,CAAC,CAAC;AAGC,0BAAkB,GAAG,uBAAO,CACrC,UAAC,KAAa;IACV,MAAM,CAAC;QACH,QAAQ,EAAE,EAAE;QACZ,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK;QAC3B,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG;KAC1B;AACL,CAAC,EACD,UAAC,QAAQ;IACL,MAAM,CAAC;QACH,QAAQ,EAAE,UAAC,CAAO,EAAE,CAAO;YACvB,QAAQ,CAAC,EAAC,IAAI,EAAE,OAAO,CAAC,aAAa,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAC,CAAC,CAAC;QAC9D,CAAC;KACJ;AACL,CAAC,CACJ,CAAC,qBAAS,CAAC,CAAC;;;;;;;;;;AC1Cb,sCAA8C;AAC9C,oCAAgC;AAGhC,iBAAiB,KAAkB,EAAE,MAA+B;IAAnD,oCAAY,IAAI,EAAE;IAC/B,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;QACtC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IACpB,CAAC;IAAC,IAAI,CAAC,CAAC;QACJ,MAAM,CAAC,KAAK,CAAC;IACjB,CAAC;AACL,CAAC;AAED,IAAI,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;AACrB,IAAI,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;AACxB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;AAEtC,kBAAkB,KAAiC,EAAE,MAA8C;IAAjF,kCAAS,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAC;IAC/C,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,OAAO,CAAC,aAAa,CAAC,EAAC;QACtC,MAAM,CAAC;YACH,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,GAAG,EAAE,MAAM,CAAC,GAAG;SAClB;IACL,CAAC;IAAC,IAAI,CAAC,CAAC;QACJ,MAAM,CAAC,KAAK,CAAC;IACjB,CAAC;AACL,CAAC;AAIY,gBAAQ,GAAG,KAAK,CAAC,WAAW,CACrC,KAAK,CAAC,eAAe,CAAC,EAAC,OAAO,WAAE,QAAQ,YAAC,CAAC,CAC7C,CAAC;AAUF;IACI,MAAM,CAAC,gBAAQ,CAAC,QAAQ,EAAY,CAAC;AACzC,CAAC;AAFD,4BAEC;AAED,kBAAe,gBAAQ,CAAC;;;;;;;;;AC7CxB,uB;;;;;;ACAA,0B;;;;;;ACAA,4B;;;;;;;;;;;;;;;;;;;;;;;;;;ACAA;;GAEG;;;;;;;;;;;;;AAEH,6CAA0F;AAC1F,yCAAwD;AACxD,0CAA0D;AAC1D,iDAAyE;AACzE,gCAAqC;AAIrC;IAAmB,wBAA2B;IAA9C;;IAoBA,CAAC;IAjBG,qBAAM,GAAN;QACI,MAAM,CAAC;YACH,4DAAkB;YAClB,oCAAC,mBAAQ,IAAC,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,UAAC,CAAC;oBACtC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;gBAClB,CAAC,GAAG;YACJ,sEAA4B;YAC5B,oCAAC,oCAAiB,OAAE;YACpB,6DAAmB;YACnB,oCAAC,qBAAS,IAAC,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,IAAI,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,EAAE,QAAQ,EAAE,UAAC,KAAK,EAAE,GAAG;oBAC/E,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC;gBAC5B,CAAC,GAAG;YACJ,uEAA6B;YAC7B,oCAAC,qCAAkB,OAAE,CACnB;IACV,CAAC;IAEL,WAAC;AAAD,CAAC,CApBkB,qBAAK,CAAC,SAAS,GAoBjC;AAED,wBAAQ,CAAC,MAAM,CACX,oCAAC,wBAAQ,IAAC,KAAK,EAAE,CAAC,CAAC,QAAQ;IACvB,oCAAC,IAAI,OAAE,CACA,EACX,QAAQ,CAAC,cAAc,CAAC,SAAS,CAAC,CACrC,CAAC;AAEF,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC;IACjB,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,CAAC;AAC9B,CAAC,CAAC,CAAC;AAEH,WAAW,CACP;IACI,IAAI,KAAK,GAAG,CAAC,CAAC,QAAQ,EAAE,CAAC;IACzB,8BAA8B;IAE9B,0GAA0G;AAC9G,CAAC,EACD,IAAI,CAAC,CAAC","file":"reacttst.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 74);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap b7d91eb15b0b6dcf7ee0","/**\r\n * Created by gavorhes on 12/10/2015.\r\n */\r\n\r\ndeclare const window: Window;\r\n/**\r\n * create a namespace on the gv object\r\n * @param {string} namespace to create\r\n * @returns {object} object representing the namespace\r\n */\r\nfunction provide(namespace: string){\r\n \"use strict\";\r\n if (typeof (<any>window).gv == 'undefined'){\r\n (<any>window).gv = {};\r\n }\r\n\r\n let parts = namespace.split('.');\r\n let nameSpace = (<any>window).gv;\r\n\r\n for (let i=0; i< parts.length; i++){\r\n let newObject = nameSpace[parts[i]];\r\n\r\n if (typeof newObject == 'undefined'){\r\n nameSpace[parts[i]] = {};\r\n }\r\n\r\n nameSpace = nameSpace[parts[i]];\r\n }\r\n\r\n return nameSpace;\r\n}\r\n\r\nprovide('util');\r\n(<any>window).gv.util.provide = provide;\r\n\r\nexport default provide;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/util/provide.ts","module.exports = $;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"$\"\n// module id = 1\n// module chunks = 0 1 2 4 5 6 7 8 9","/**\r\n * Created by gavorhes on 11/3/2015.\r\n */\r\n\r\nimport provide from './provide';\r\nlet nm = provide('util');\r\n\r\n\r\n/**\r\n * guids are used to uniquely identify groups and features\r\n * @returns {string} a new guid\r\n */\r\nexport function makeGuid() {\r\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'\r\n .replace(/[xy]/g, function (c) {\r\n let r = Math.random() * 16 | 0, v = c == 'x' ? r : r & 0x3 | 0x8;\r\n\r\n return v.toString(16);\r\n });\r\n\r\n}\r\nnm.makeGuid = makeGuid;\r\nexport default makeGuid;\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/util/makeGuid.ts","/**\r\n * Created by glenn on 6/12/2017.\r\n */\r\nexport import React = require('react');\r\nexport import ReactDom = require('react-dom');\r\nexport import ReactRedux = require('react-redux');\r\nexport import Redux = require('redux');\r\n\r\nexport const connect = ReactRedux.connect;\r\nexport const Provider = ReactRedux.Provider;\r\nexport const combineReducers = Redux.combineReducers;\r\nexport const createStore = Redux.createStore;\r\n\r\nexport interface iAction extends Redux.Action{\r\n}\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/reactComponents/reactAndRedux.ts","\r\n\r\nexport const SET_ONE_DATE = 'set one date';\r\nexport const SET_TWO_DATES = 'set two dates';\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/_tests/demos/reacttst_actions.ts","import root from './_root.js';\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nexport default Symbol;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash-es/_Symbol.js\n// module id = 12\n// module chunks = 0 1 3","import baseGetTag from './_baseGetTag.js';\nimport getPrototype from './_getPrototype.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n}\n\nexport default isPlainObject;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash-es/isPlainObject.js\n// module id = 13\n// module chunks = 0 1 3","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/process/browser.js\n// module id = 14\n// module chunks = 0 1 3","/**\n * Composes single-argument functions from right to left. The rightmost\n * function can take multiple arguments as it provides the signature for\n * the resulting composite function.\n *\n * @param {...Function} funcs The functions to compose.\n * @returns {Function} A function obtained by composing the argument functions\n * from right to left. For example, compose(f, g, h) is identical to doing\n * (...args) => f(g(h(...args))).\n */\n\nexport default function compose() {\n for (var _len = arguments.length, funcs = Array(_len), _key = 0; _key < _len; _key++) {\n funcs[_key] = arguments[_key];\n }\n\n if (funcs.length === 0) {\n return function (arg) {\n return arg;\n };\n }\n\n if (funcs.length === 1) {\n return funcs[0];\n }\n\n return funcs.reduce(function (a, b) {\n return function () {\n return a(b.apply(undefined, arguments));\n };\n });\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/redux/es/compose.js\n// module id = 15\n// module chunks = 0 1 3","import isPlainObject from 'lodash-es/isPlainObject';\nimport $$observable from 'symbol-observable';\n\n/**\n * These are private action types reserved by Redux.\n * For any unknown actions, you must return the current state.\n * If the current state is undefined, you must return the initial state.\n * Do not reference these action types directly in your code.\n */\nexport var ActionTypes = {\n INIT: '@@redux/INIT'\n\n /**\n * Creates a Redux store that holds the state tree.\n * The only way to change the data in the store is to call `dispatch()` on it.\n *\n * There should only be a single store in your app. To specify how different\n * parts of the state tree respond to actions, you may combine several reducers\n * into a single reducer function by using `combineReducers`.\n *\n * @param {Function} reducer A function that returns the next state tree, given\n * the current state tree and the action to handle.\n *\n * @param {any} [preloadedState] The initial state. You may optionally specify it\n * to hydrate the state from the server in universal apps, or to restore a\n * previously serialized user session.\n * If you use `combineReducers` to produce the root reducer function, this must be\n * an object with the same shape as `combineReducers` keys.\n *\n * @param {Function} [enhancer] The store enhancer. You may optionally specify it\n * to enhance the store with third-party capabilities such as middleware,\n * time travel, persistence, etc. The only store enhancer that ships with Redux\n * is `applyMiddleware()`.\n *\n * @returns {Store} A Redux store that lets you read the state, dispatch actions\n * and subscribe to changes.\n */\n};export default function createStore(reducer, preloadedState, enhancer) {\n var _ref2;\n\n if (typeof preloadedState === 'function' && typeof enhancer === 'undefined') {\n enhancer = preloadedState;\n preloadedState = undefined;\n }\n\n if (typeof enhancer !== 'undefined') {\n if (typeof enhancer !== 'function') {\n throw new Error('Expected the enhancer to be a function.');\n }\n\n return enhancer(createStore)(reducer, preloadedState);\n }\n\n if (typeof reducer !== 'function') {\n throw new Error('Expected the reducer to be a function.');\n }\n\n var currentReducer = reducer;\n var currentState = preloadedState;\n var currentListeners = [];\n var nextListeners = currentListeners;\n var isDispatching = false;\n\n function ensureCanMutateNextListeners() {\n if (nextListeners === currentListeners) {\n nextListeners = currentListeners.slice();\n }\n }\n\n /**\n * Reads the state tree managed by the store.\n *\n * @returns {any} The current state tree of your application.\n */\n function getState() {\n return currentState;\n }\n\n /**\n * Adds a change listener. It will be called any time an action is dispatched,\n * and some part of the state tree may potentially have changed. You may then\n * call `getState()` to read the current state tree inside the callback.\n *\n * You may call `dispatch()` from a change listener, with the following\n * caveats:\n *\n * 1. The subscriptions are snapshotted just before every `dispatch()` call.\n * If you subscribe or unsubscribe while the listeners are being invoked, this\n * will not have any effect on the `dispatch()` that is currently in progress.\n * However, the next `dispatch()` call, whether nested or not, will use a more\n * recent snapshot of the subscription list.\n *\n * 2. The listener should not expect to see all state changes, as the state\n * might have been updated multiple times during a nested `dispatch()` before\n * the listener is called. It is, however, guaranteed that all subscribers\n * registered before the `dispatch()` started will be called with the latest\n * state by the time it exits.\n *\n * @param {Function} listener A callback to be invoked on every dispatch.\n * @returns {Function} A function to remove this change listener.\n */\n function subscribe(listener) {\n if (typeof listener !== 'function') {\n throw new Error('Expected listener to be a function.');\n }\n\n var isSubscribed = true;\n\n ensureCanMutateNextListeners();\n nextListeners.push(listener);\n\n return function unsubscribe() {\n if (!isSubscribed) {\n return;\n }\n\n isSubscribed = false;\n\n ensureCanMutateNextListeners();\n var index = nextListeners.indexOf(listener);\n nextListeners.splice(index, 1);\n };\n }\n\n /**\n * Dispatches an action. It is the only way to trigger a state change.\n *\n * The `reducer` function, used to create the store, will be called with the\n * current state tree and the given `action`. Its return value will\n * be considered the **next** state of the tree, and the change listeners\n * will be notified.\n *\n * The base implementation only supports plain object actions. If you want to\n * dispatch a Promise, an Observable, a thunk, or something else, you need to\n * wrap your store creating function into the corresponding middleware. For\n * example, see the documentation for the `redux-thunk` package. Even the\n * middleware will eventually dispatch plain object actions using this method.\n *\n * @param {Object} action A plain object representing “what changed”. It is\n * a good idea to keep actions serializable so you can record and replay user\n * sessions, or use the time travelling `redux-devtools`. An action must have\n * a `type` property which may not be `undefined`. It is a good idea to use\n * string constants for action types.\n *\n * @returns {Object} For convenience, the same action object you dispatched.\n *\n * Note that, if you use a custom middleware, it may wrap `dispatch()` to\n * return something else (for example, a Promise you can await).\n */\n function dispatch(action) {\n if (!isPlainObject(action)) {\n throw new Error('Actions must be plain objects. ' + 'Use custom middleware for async actions.');\n }\n\n if (typeof action.type === 'undefined') {\n throw new Error('Actions may not have an undefined \"type\" property. ' + 'Have you misspelled a constant?');\n }\n\n if (isDispatching) {\n throw new Error('Reducers may not dispatch actions.');\n }\n\n try {\n isDispatching = true;\n currentState = currentReducer(currentState, action);\n } finally {\n isDispatching = false;\n }\n\n var listeners = currentListeners = nextListeners;\n for (var i = 0; i < listeners.length; i++) {\n var listener = listeners[i];\n listener();\n }\n\n return action;\n }\n\n /**\n * Replaces the reducer currently used by the store to calculate the state.\n *\n * You might need this if your app implements code splitting and you want to\n * load some of the reducers dynamically. You might also need this if you\n * implement a hot reloading mechanism for Redux.\n *\n * @param {Function} nextReducer The reducer for the store to use instead.\n * @returns {void}\n */\n function replaceReducer(nextReducer) {\n if (typeof nextReducer !== 'function') {\n throw new Error('Expected the nextReducer to be a function.');\n }\n\n currentReducer = nextReducer;\n dispatch({ type: ActionTypes.INIT });\n }\n\n /**\n * Interoperability point for observable/reactive libraries.\n * @returns {observable} A minimal observable of state changes.\n * For more information, see the observable proposal:\n * https://github.com/tc39/proposal-observable\n */\n function observable() {\n var _ref;\n\n var outerSubscribe = subscribe;\n return _ref = {\n /**\n * The minimal observable subscription method.\n * @param {Object} observer Any object that can be used as an observer.\n * The observer object should have a `next` method.\n * @returns {subscription} An object with an `unsubscribe` method that can\n * be used to unsubscribe the observable from the store, and prevent further\n * emission of values from the observable.\n */\n subscribe: function subscribe(observer) {\n if (typeof observer !== 'object') {\n throw new TypeError('Expected the observer to be an object.');\n }\n\n function observeState() {\n if (observer.next) {\n observer.next(getState());\n }\n }\n\n observeState();\n var unsubscribe = outerSubscribe(observeState);\n return { unsubscribe: unsubscribe };\n }\n }, _ref[$$observable] = function () {\n return this;\n }, _ref;\n }\n\n // When a store is created, an \"INIT\" action is dispatched so that every\n // reducer returns their initial state. This effectively populates\n // the initial state tree.\n dispatch({ type: ActionTypes.INIT });\n\n return _ref2 = {\n dispatch: dispatch,\n subscribe: subscribe,\n getState: getState,\n replaceReducer: replaceReducer\n }, _ref2[$$observable] = observable, _ref2;\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/redux/es/createStore.js\n// module id = 16\n// module chunks = 0 1 3","/**\n * Prints a warning in the console if it exists.\n *\n * @param {String} message The warning message.\n * @returns {void}\n */\nexport default function warning(message) {\n /* eslint-disable no-console */\n if (typeof console !== 'undefined' && typeof console.error === 'function') {\n console.error(message);\n }\n /* eslint-enable no-console */\n try {\n // This error was thrown as a convenience so that if you enable\n // \"break on all exceptions\" in your console,\n // it would pause the execution at this line.\n throw new Error(message);\n /* eslint-disable no-empty */\n } catch (e) {}\n /* eslint-enable no-empty */\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/redux/es/utils/warning.js\n// module id = 17\n// module chunks = 0 1 3","var g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1,eval)(\"this\");\r\n} catch(e) {\r\n\t// This works if the window reference is available\r\n\tif(typeof window === \"object\")\r\n\t\tg = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// (webpack)/buildin/global.js\n// module id = 18\n// module chunks = 0 1 3","/**\r\n * Created by glenn on 6/14/2017.\r\n */\r\n\r\n\r\nimport {React} from './reactAndRedux';\r\nimport $ = require('jquery');\r\nimport 'jquery-ui';\r\nimport makeGuid from '../util/makeGuid';\r\n\r\nimport {dateToString, stringToDate} from './helpers/dateFormat';\r\n\r\nexport interface iDatePick{\r\n label: string;\r\n id?: string;\r\n initialDate?: Date;\r\n change: (val: Date) => any;\r\n val?: Date\r\n}\r\n\r\n/**\r\n * params label, id, initialDate, change callback with value as string\r\n */\r\nexport class DatePick extends React.Component<iDatePick, null> {\r\n private elId: string;\r\n\r\n constructor(props: iDatePick, context: Object){\r\n super(props, context);\r\n this.elId = this.props.id || makeGuid();\r\n }\r\n\r\n componentDidMount() {\r\n let $el = $('#' + this.elId);\r\n\r\n $el.datepicker(\r\n {\r\n onSelect: () => {\r\n this.props.change(stringToDate($el.val()));\r\n }\r\n }\r\n );\r\n }\r\n\r\n render() {\r\n let params = {\r\n id: this.elId,\r\n type: 'text',\r\n style: {margin: \"0 10px 0 5px\", width: '73px', textAlign: 'center'},\r\n readOnly: true\r\n };\r\n\r\n if (this.props.val){\r\n params['value'] = dateToString(this.props.val);\r\n } else {\r\n params['defaultValue'] = dateToString(this.props.initialDate || new Date());\r\n }\r\n\r\n\r\n return <span className=\"date-pick\">\r\n <label htmlFor={this.elId}>{this.props.label}</label>\r\n {/*<input id={this.elId} type=\"text\"*/}\r\n {/*style={{margin: \"0 10px 0 5px\", width: '73px', textAlign: 'center'}}*/}\r\n {/*defaultValue={dateToString(this.props.initialDate || new Date())}*/}\r\n {/*readOnly={true}*/}\r\n {/*/>*/}\r\n <input {...params}/>\r\n </span>\r\n }\r\n}\r\n\r\nexport default DatePick;\n\n\n// WEBPACK FOOTER //\n// ./src/reactComponents/DatePick.tsx","import createStore from './createStore';\nimport combineReducers from './combineReducers';\nimport bindActionCreators from './bindActionCreators';\nimport applyMiddleware from './applyMiddleware';\nimport compose from './compose';\nimport warning from './utils/warning';\n\n/*\n* This is a dummy function to check if the function name has been altered by minification.\n* If the function has been minified and NODE_ENV !== 'production', warn the user.\n*/\nfunction isCrushed() {}\n\nif (process.env.NODE_ENV !== 'production' && typeof isCrushed.name === 'string' && isCrushed.name !== 'isCrushed') {\n warning('You are currently using minified code outside of NODE_ENV === \\'production\\'. ' + 'This means that you are running a slower development build of Redux. ' + 'You can use loose-envify (https://github.com/zertosh/loose-envify) for browserify ' + 'or DefinePlugin for webpack (http://stackoverflow.com/questions/30030031) ' + 'to ensure you have the correct code for your production build.');\n}\n\nexport { createStore, combineReducers, bindActionCreators, applyMiddleware, compose };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/redux/es/index.js\n// module id = 27\n// module chunks = 0 1 3","/**\r\n * Created by glenn on 6/12/2017.\r\n */\r\n\r\nimport {React} from './reactAndRedux';\r\nimport $ = require('jquery');\r\nimport 'jquery-ui';\r\nimport makeGuid from '../util/makeGuid';\r\nimport * as fixDate from './helpers/dateFormat';\r\nimport DatePick from './DatePick';\r\n\r\nfunction stringToDate(dte: string|Date){\r\n if ((dte as Date).getTime){\r\n return dte as Date;\r\n } else {\r\n return new Date(dte);\r\n }\r\n}\r\n\r\nexport interface iDateRange{\r\n maxRange: number;\r\n callback: (start: Date, end: Date) => any;\r\n minRange?: number;\r\n maxDate?: Date;\r\n minDate?: Date;\r\n initialEnd?: Date;\r\n start?: Date;\r\n end?: Date;\r\n}\r\n\r\n\r\nexport class DateRange extends React.Component<iDateRange, null> {\r\n startId = makeGuid();\r\n endId = makeGuid();\r\n startInput: HTMLInputElement;\r\n endInput: HTMLInputElement;\r\n start: Date;\r\n end: Date;\r\n maxRange: number;\r\n minRange: number;\r\n numDays: number;\r\n\r\n\r\n constructor(props: iDateRange, context: Object) {\r\n super(props, context);\r\n\r\n this.maxRange = Math.round(this.props.maxRange) - 1;\r\n this.minRange = typeof this.props['minRange'] == 'number' ? Math.round(this.props['minRange']) : 1;\r\n\r\n if (this.minRange > this.maxRange) {\r\n throw \"DateRange component: Max range must be greater than min range\";\r\n }\r\n\r\n if (this.props.initialEnd){\r\n this.end = stringToDate(this.props.initialEnd)\r\n } else {\r\n this.end = new Date();\r\n }\r\n\r\n this.end.setHours(0, 0, 0);\r\n this.start = new Date(this.end);\r\n this.start.setDate(this.start.getDate() - this.maxRange);\r\n this.setNumDays();\r\n }\r\n\r\n setNumDays() {\r\n this.numDays = Math.round((this.end.getTime() - this.start.getTime()) / (1000 * 60 * 60 * 24)) + 1;\r\n }\r\n\r\n\r\n componentDidMount() {\r\n this.startInput = document.getElementById(this.startId) as HTMLInputElement;\r\n this.endInput = document.getElementById(this.endId) as HTMLInputElement;\r\n this.props.callback(this.start, this.end);\r\n }\r\n\r\n private get needReset(): boolean {\r\n return this.numDays > this.maxRange || this.numDays < this.minRange;\r\n }\r\n\r\n private setStart(s: Date) {\r\n this.start = s;\r\n this.setNumDays();\r\n\r\n if (this.needReset) {\r\n this.end = new Date(this.start);\r\n\r\n if (this.numDays > this.maxRange) {\r\n this.end.setDate(this.end.getDate() + this.maxRange);\r\n } else {\r\n this.end.setDate(this.end.getDate() + this.minRange - 1);\r\n }\r\n\r\n this.endInput.value = fixDate.dateToString(this.end);\r\n this.setNumDays();\r\n }\r\n this.props.callback(this.start, this.end);\r\n }\r\n\r\n private setEnd(s: Date) {\r\n this.end = s;\r\n this.setNumDays();\r\n\r\n if (this.needReset) {\r\n this.start = new Date(this.end);\r\n\r\n if (this.numDays > this.maxRange) {\r\n this.start.setDate(this.start.getDate() - this.maxRange);\r\n } else {\r\n this.start.setDate(this.start.getDate() - this.minRange + 1);\r\n }\r\n\r\n this.startInput.value = fixDate.dateToString(this.start);\r\n this.setNumDays();\r\n }\r\n this.props.callback(this.start, this.end);\r\n }\r\n\r\n render() {\r\n return <div className=\"date-range\">\r\n <DatePick id={this.startId} label=\"Start\" initialDate={this.start} change={(s) => {this.setStart(s)}}/>\r\n <DatePick id={this.endId} label=\"End\" initialDate={this.end} change={(s) => {this.setEnd(s)}}/>\r\n </div>;\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/reactComponents/DateRange.tsx","import Symbol from './_Symbol.js';\nimport getRawTag from './_getRawTag.js';\nimport objectToString from './_objectToString.js';\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nexport default baseGetTag;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash-es/_baseGetTag.js\n// module id = 30\n// module chunks = 0 1 3","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nexport default freeGlobal;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash-es/_freeGlobal.js\n// module id = 31\n// module chunks = 0 1 3","import overArg from './_overArg.js';\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nexport default getPrototype;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash-es/_getPrototype.js\n// module id = 32\n// module chunks = 0 1 3","import Symbol from './_Symbol.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nexport default getRawTag;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash-es/_getRawTag.js\n// module id = 33\n// module chunks = 0 1 3","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nexport default objectToString;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash-es/_objectToString.js\n// module id = 34\n// module chunks = 0 1 3","/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nexport default overArg;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash-es/_overArg.js\n// module id = 35\n// module chunks = 0 1 3","import freeGlobal from './_freeGlobal.js';\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nexport default root;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash-es/_root.js\n// module id = 36\n// module chunks = 0 1 3","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nexport default isObjectLike;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash-es/isObjectLike.js\n// module id = 37\n// module chunks = 0 1 3","var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nimport compose from './compose';\n\n/**\n * Creates a store enhancer that applies middleware to the dispatch method\n * of the Redux store. This is handy for a variety of tasks, such as expressing\n * asynchronous actions in a concise manner, or logging every action payload.\n *\n * See `redux-thunk` package as an example of the Redux middleware.\n *\n * Because middleware is potentially asynchronous, this should be the first\n * store enhancer in the composition chain.\n *\n * Note that each middleware will be given the `dispatch` and `getState` functions\n * as named arguments.\n *\n * @param {...Function} middlewares The middleware chain to be applied.\n * @returns {Function} A store enhancer applying the middleware.\n */\nexport default function applyMiddleware() {\n for (var _len = arguments.length, middlewares = Array(_len), _key = 0; _key < _len; _key++) {\n middlewares[_key] = arguments[_key];\n }\n\n return function (createStore) {\n return function (reducer, preloadedState, enhancer) {\n var store = createStore(reducer, preloadedState, enhancer);\n var _dispatch = store.dispatch;\n var chain = [];\n\n var middlewareAPI = {\n getState: store.getState,\n dispatch: function dispatch(action) {\n return _dispatch(action);\n }\n };\n chain = middlewares.map(function (middleware) {\n return middleware(middlewareAPI);\n });\n _dispatch = compose.apply(undefined, chain)(store.dispatch);\n\n return _extends({}, store, {\n dispatch: _dispatch\n });\n };\n };\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/redux/es/applyMiddleware.js\n// module id = 38\n// module chunks = 0 1 3","function bindActionCreator(actionCreator, dispatch) {\n return function () {\n return dispatch(actionCreator.apply(undefined, arguments));\n };\n}\n\n/**\n * Turns an object whose values are action creators, into an object with the\n * same keys, but with every function wrapped into a `dispatch` call so they\n * may be invoked directly. This is just a convenience method, as you can call\n * `store.dispatch(MyActionCreators.doSomething())` yourself just fine.\n *\n * For convenience, you can also pass a single function as the first argument,\n * and get a function in return.\n *\n * @param {Function|Object} actionCreators An object whose values are action\n * creator functions. One handy way to obtain it is to use ES6 `import * as`\n * syntax. You may also pass a single function.\n *\n * @param {Function} dispatch The `dispatch` function available on your Redux\n * store.\n *\n * @returns {Function|Object} The object mimicking the original object, but with\n * every action creator wrapped into the `dispatch` call. If you passed a\n * function as `actionCreators`, the return value will also be a single\n * function.\n */\nexport default function bindActionCreators(actionCreators, dispatch) {\n if (typeof actionCreators === 'function') {\n return bindActionCreator(actionCreators, dispatch);\n }\n\n if (typeof actionCreators !== 'object' || actionCreators === null) {\n throw new Error('bindActionCreators expected an object or a function, instead received ' + (actionCreators === null ? 'null' : typeof actionCreators) + '. ' + 'Did you write \"import ActionCreators from\" instead of \"import * as ActionCreators from\"?');\n }\n\n var keys = Object.keys(actionCreators);\n var boundActionCreators = {};\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n var actionCreator = actionCreators[key];\n if (typeof actionCreator === 'function') {\n boundActionCreators[key] = bindActionCreator(actionCreator, dispatch);\n }\n }\n return boundActionCreators;\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/redux/es/bindActionCreators.js\n// module id = 39\n// module chunks = 0 1 3","import { ActionTypes } from './createStore';\nimport isPlainObject from 'lodash-es/isPlainObject';\nimport warning from './utils/warning';\n\nfunction getUndefinedStateErrorMessage(key, action) {\n var actionType = action && action.type;\n var actionName = actionType && '\"' + actionType.toString() + '\"' || 'an action';\n\n return 'Given action ' + actionName + ', reducer \"' + key + '\" returned undefined. ' + 'To ignore an action, you must explicitly return the previous state. ' + 'If you want this reducer to hold no value, you can return null instead of undefined.';\n}\n\nfunction getUnexpectedStateShapeWarningMessage(inputState, reducers, action, unexpectedKeyCache) {\n var reducerKeys = Object.keys(reducers);\n var argumentName = action && action.type === ActionTypes.INIT ? 'preloadedState argument passed to createStore' : 'previous state received by the reducer';\n\n if (reducerKeys.length === 0) {\n return 'Store does not have a valid reducer. Make sure the argument passed ' + 'to combineReducers is an object whose values are reducers.';\n }\n\n if (!isPlainObject(inputState)) {\n return 'The ' + argumentName + ' has unexpected type of \"' + {}.toString.call(inputState).match(/\\s([a-z|A-Z]+)/)[1] + '\". Expected argument to be an object with the following ' + ('keys: \"' + reducerKeys.join('\", \"') + '\"');\n }\n\n var unexpectedKeys = Object.keys(inputState).filter(function (key) {\n return !reducers.hasOwnProperty(key) && !unexpectedKeyCache[key];\n });\n\n unexpectedKeys.forEach(function (key) {\n unexpectedKeyCache[key] = true;\n });\n\n if (unexpectedKeys.length > 0) {\n return 'Unexpected ' + (unexpectedKeys.length > 1 ? 'keys' : 'key') + ' ' + ('\"' + unexpectedKeys.join('\", \"') + '\" found in ' + argumentName + '. ') + 'Expected to find one of the known reducer keys instead: ' + ('\"' + reducerKeys.join('\", \"') + '\". Unexpected keys will be ignored.');\n }\n}\n\nfunction assertReducerShape(reducers) {\n Object.keys(reducers).forEach(function (key) {\n var reducer = reducers[key];\n var initialState = reducer(undefined, { type: ActionTypes.INIT });\n\n if (typeof initialState === 'undefined') {\n throw new Error('Reducer \"' + key + '\" returned undefined during initialization. ' + 'If the state passed to the reducer is undefined, you must ' + 'explicitly return the initial state. The initial state may ' + 'not be undefined. If you don\\'t want to set a value for this reducer, ' + 'you can use null instead of undefined.');\n }\n\n var type = '@@redux/PROBE_UNKNOWN_ACTION_' + Math.random().toString(36).substring(7).split('').join('.');\n if (typeof reducer(undefined, { type: type }) === 'undefined') {\n throw new Error('Reducer \"' + key + '\" returned undefined when probed with a random type. ' + ('Don\\'t try to handle ' + ActionTypes.INIT + ' or other actions in \"redux/*\" ') + 'namespace. They are considered private. Instead, you must return the ' + 'current state for any unknown actions, unless it is undefined, ' + 'in which case you must return the initial state, regardless of the ' + 'action type. The initial state may not be undefined, but can be null.');\n }\n });\n}\n\n/**\n * Turns an object whose values are different reducer functions, into a single\n * reducer function. It will call every child reducer, and gather their results\n * into a single state object, whose keys correspond to the keys of the passed\n * reducer functions.\n *\n * @param {Object} reducers An object whose values correspond to different\n * reducer functions that need to be combined into one. One handy way to obtain\n * it is to use ES6 `import * as reducers` syntax. The reducers may never return\n * undefined for any action. Instead, they should return their initial state\n * if the state passed to them was undefined, and the current state for any\n * unrecognized action.\n *\n * @returns {Function} A reducer function that invokes every reducer inside the\n * passed object, and builds a state object with the same shape.\n */\nexport default function combineReducers(reducers) {\n var reducerKeys = Object.keys(reducers);\n var finalReducers = {};\n for (var i = 0; i < reducerKeys.length; i++) {\n var key = reducerKeys[i];\n\n if (process.env.NODE_ENV !== 'production') {\n if (typeof reducers[key] === 'undefined') {\n warning('No reducer provided for key \"' + key + '\"');\n }\n }\n\n if (typeof reducers[key] === 'function') {\n finalReducers[key] = reducers[key];\n }\n }\n var finalReducerKeys = Object.keys(finalReducers);\n\n var unexpectedKeyCache = void 0;\n if (process.env.NODE_ENV !== 'production') {\n unexpectedKeyCache = {};\n }\n\n var shapeAssertionError = void 0;\n try {\n assertReducerShape(finalReducers);\n } catch (e) {\n shapeAssertionError = e;\n }\n\n return function combination() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var action = arguments[1];\n\n if (shapeAssertionError) {\n throw shapeAssertionError;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n var warningMessage = getUnexpectedStateShapeWarningMessage(state, finalReducers, action, unexpectedKeyCache);\n if (warningMessage) {\n warning(warningMessage);\n }\n }\n\n var hasChanged = false;\n var nextState = {};\n for (var _i = 0; _i < finalReducerKeys.length; _i++) {\n var _key = finalReducerKeys[_i];\n var reducer = finalReducers[_key];\n var previousStateForKey = state[_key];\n var nextStateForKey = reducer(previousStateForKey, action);\n if (typeof nextStateForKey === 'undefined') {\n var errorMessage = getUndefinedStateErrorMessage(_key, action);\n throw new Error(errorMessage);\n }\n nextState[_key] = nextStateForKey;\n hasChanged = hasChanged || nextStateForKey !== previousStateForKey;\n }\n return hasChanged ? nextState : state;\n };\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/redux/es/combineReducers.js\n// module id = 40\n// module chunks = 0 1 3","module.exports = require('./lib/index');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/symbol-observable/index.js\n// module id = 41\n// module chunks = 0 1 3","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _ponyfill = require('./ponyfill');\n\nvar _ponyfill2 = _interopRequireDefault(_ponyfill);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar root; /* global window */\n\n\nif (typeof self !== 'undefined') {\n root = self;\n} else if (typeof window !== 'undefined') {\n root = window;\n} else if (typeof global !== 'undefined') {\n root = global;\n} else if (typeof module !== 'undefined') {\n root = module;\n} else {\n root = Function('return this')();\n}\n\nvar result = (0, _ponyfill2['default'])(root);\nexports['default'] = result;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/symbol-observable/lib/index.js\n// module id = 42\n// module chunks = 0 1 3","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nexports['default'] = symbolObservablePonyfill;\nfunction symbolObservablePonyfill(root) {\n\tvar result;\n\tvar _Symbol = root.Symbol;\n\n\tif (typeof _Symbol === 'function') {\n\t\tif (_Symbol.observable) {\n\t\t\tresult = _Symbol.observable;\n\t\t} else {\n\t\t\tresult = _Symbol('observable');\n\t\t\t_Symbol.observable = result;\n\t\t}\n\t} else {\n\t\tresult = '@@observable';\n\t}\n\n\treturn result;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/symbol-observable/lib/ponyfill.js\n// module id = 43\n// module chunks = 0 1 3","module.exports = function(module) {\r\n\tif(!module.webpackPolyfill) {\r\n\t\tmodule.deprecate = function() {};\r\n\t\tmodule.paths = [];\r\n\t\t// module.parent = undefined by default\r\n\t\tif(!module.children) module.children = [];\r\n\t\tObject.defineProperty(module, \"loaded\", {\r\n\t\t\tenumerable: true,\r\n\t\t\tget: function() {\r\n\t\t\t\treturn module.l;\r\n\t\t\t}\r\n\t\t});\r\n\t\tObject.defineProperty(module, \"id\", {\r\n\t\t\tenumerable: true,\r\n\t\t\tget: function() {\r\n\t\t\t\treturn module.i;\r\n\t\t\t}\r\n\t\t});\r\n\t\tmodule.webpackPolyfill = 1;\r\n\t}\r\n\treturn module;\r\n};\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// (webpack)/buildin/module.js\n// module id = 44\n// module chunks = 0 1 3","/**\r\n * Created by glenn on 6/13/2017.\r\n */\r\n\r\nexport function stringToDate(dateStr: string): Date {\r\n let parts = dateStr.split('/');\r\n\r\n let mn = parseInt(parts[0]) - 1;\r\n let d = parseInt(parts[1]);\r\n let y = parseInt(parts[2]);\r\n\r\n let dte = new Date(y, mn, d);\r\n dte.setHours(0, 0, 0);\r\n\r\n return dte;\r\n}\r\n\r\nexport function dateToString(dte: Date, zeroPad:boolean = true): string {\r\n let mn = (dte.getMonth() + 1).toString();\r\n let d = dte.getDate().toString();\r\n\r\n if (zeroPad){\r\n mn = mn.length == 1 ? '0' + mn : mn;\r\n d = d.length == 1 ? '0' + d : d ;\r\n }\r\n\r\n return `${mn}/${d}/${dte.getFullYear()}`;\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/reactComponents/helpers/dateFormat.ts","import {connect} from '../../reactComponents/reactAndRedux';\r\nimport {iState} from './reacttst_store';\r\nimport {DatePick} from '../../reactComponents/DatePick';\r\nimport {DateRange} from '../../reactComponents/DateRange';\r\nimport * as actions from './reacttst_actions';\r\n\r\n\r\nexport const DatePickConnected = connect(\r\n (state: iState) => {\r\n return {\r\n label: 'Date Picker Connected',\r\n change: (v) => {\r\n console.log(v);\r\n },\r\n val: state.oneDate\r\n }\r\n },\r\n (dispatch) => {\r\n return {\r\n change: (v) => {\r\n dispatch({type: actions.SET_ONE_DATE, d: v});\r\n }\r\n }\r\n }\r\n)(DatePick);\r\n\r\n\r\nexport const DateRangeConnected = connect(\r\n (state: iState) => {\r\n return {\r\n maxRange: 10,\r\n start: state.twoDates.start,\r\n end: state.twoDates.end,\r\n }\r\n },\r\n (dispatch) => {\r\n return {\r\n callback: (s: Date, e: Date) => {\r\n dispatch({type: actions.SET_TWO_DATES, start: s, end: e});\r\n }\r\n }\r\n }\r\n)(DateRange);\r\n\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/_tests/demos/reacttst_connect.ts","import * as actions from './reacttst_actions';\r\nimport Redux = require('redux');\r\n\r\n\r\nfunction oneDate(state = new Date(), action: {type: string, d: Date}) {\r\n if (action.type == actions.SET_ONE_DATE) {\r\n return action.d;\r\n } else {\r\n return state;\r\n }\r\n}\r\n\r\nlet now = new Date();\r\nlet before = new Date();\r\nbefore.setDate(before.getDate() - 10);\r\n\r\nfunction twoDates(state = {start: now, end: before}, action: {type: string, start: Date, end: Date}){\r\n if (action.type == actions.SET_TWO_DATES){\r\n return {\r\n start: action.start,\r\n end: action.end\r\n }\r\n } else {\r\n return state;\r\n }\r\n}\r\n\r\n\r\n\r\nexport const theStore = Redux.createStore(\r\n Redux.combineReducers({oneDate, twoDates})\r\n);\r\n\r\n\r\nexport interface iState {\r\n oneDate: Date;\r\n twoDates: {start: Date, end: Date}\r\n}\r\n\r\n\r\n\r\nexport function getState(): iState{\r\n return theStore.getState() as iState;\r\n}\r\n\r\nexport default theStore;\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/_tests/demos/reacttst_store.ts","module.exports = React;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"React\"\n// module id = 52\n// module chunks = 0 1","module.exports = ReactDOM;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"ReactDOM\"\n// module id = 53\n// module chunks = 0 1","module.exports = ReactRedux;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"ReactRedux\"\n// module id = 54\n// module chunks = 0 1","/**\r\n * Created by gavorhes on 9/22/2016.\r\n */\r\n\r\nimport {React, ReactDom as reactDom, Provider} from '../../reactComponents/reactAndRedux';\r\nimport {DatePick} from '../../reactComponents/DatePick';\r\nimport {DateRange} from '../../reactComponents/DateRange';\r\nimport {DatePickConnected, DateRangeConnected} from './reacttst_connect';\r\nimport * as s from './reacttst_store'\r\nimport {set} from \"d3-collection\";\r\n\r\n\r\nclass Demo extends React.Component<null, null> {\r\n\r\n\r\n render() {\r\n return <div>\r\n <h1>Date Pick</h1>\r\n <DatePick label={'Date Picker'} change={(v) => {\r\n console.log(v)\r\n }}/>\r\n <h1>Date Pick Connected</h1>\r\n <DatePickConnected/>\r\n <h1>Date Range</h1>\r\n <DateRange maxRange={10} initialEnd={new Date()} minRange={1} callback={(start, end) => {\r\n console.log(start, end);\r\n }}/>\r\n <h1>Date Range Connected</h1>\r\n <DateRangeConnected/>\r\n </div>\r\n }\r\n\r\n}\r\n\r\nreactDom.render(\r\n <Provider store={s.theStore}>\r\n <Demo/>\r\n </Provider>,\r\n document.getElementById(\"example\")\r\n);\r\n\r\ns.theStore.subscribe(() => {\r\n console.log(s.getState());\r\n});\r\n\r\nsetInterval(\r\n () => {\r\n let state = s.getState();\r\n // console.log(state.oneDate);\r\n\r\n // s.store.dispatch({type: s.ACTION_SET_ONE_DATE, d: state.oneDate.setDate(state.oneDate.getDate() - 1)});\r\n },\r\n 1000);\r\n\r\n\r\n\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/_tests/demos/reacttst.tsx"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/bootstrap 8202a2a62a94a60716cf","webpack:///./src/util/provide.ts","webpack:///external \"$\"","webpack:///./src/util/makeGuid.ts","webpack:///./src/reactComponents/reactAndRedux.ts","webpack:///./src/_tests/demos/reacttst_actions.ts","webpack:///./~/lodash-es/_Symbol.js","webpack:///./~/lodash-es/isPlainObject.js","webpack:///./~/process/browser.js","webpack:///./~/redux/es/compose.js","webpack:///./~/redux/es/createStore.js","webpack:///./~/redux/es/utils/warning.js","webpack:///(webpack)/buildin/global.js","webpack:///./src/reactComponents/DatePick.tsx","webpack:///./~/redux/es/index.js","webpack:///./src/reactComponents/DateRange.tsx","webpack:///./~/lodash-es/_baseGetTag.js","webpack:///./~/lodash-es/_freeGlobal.js","webpack:///./~/lodash-es/_getPrototype.js","webpack:///./~/lodash-es/_getRawTag.js","webpack:///./~/lodash-es/_objectToString.js","webpack:///./~/lodash-es/_overArg.js","webpack:///./~/lodash-es/_root.js","webpack:///./~/lodash-es/isObjectLike.js","webpack:///./~/redux/es/applyMiddleware.js","webpack:///./~/redux/es/bindActionCreators.js","webpack:///./~/redux/es/combineReducers.js","webpack:///./~/symbol-observable/index.js","webpack:///./~/symbol-observable/lib/index.js","webpack:///./~/symbol-observable/lib/ponyfill.js","webpack:///(webpack)/buildin/module.js","webpack:///./src/reactComponents/helpers/dateFormat.ts","webpack:///./src/_tests/demos/reacttst_connect.ts","webpack:///./src/_tests/demos/reacttst_store.ts","webpack:///external \"React\"","webpack:///external \"ReactDOM\"","webpack:///external \"ReactRedux\"","webpack:///./src/_tests/demos/reacttst.tsx"],"names":[],"mappings":"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AAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,2BAA2B;AAC3B;AACA;AACA;AACA,4BAA4B,UAAU;;;;;;;;ACnLtC;AAAA;AACA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB,aAAa,SAAS;AACtB;AACA;AACA;;AAEA;AACA,kEAAkE,aAAa;AAC/E;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH,C;;;;;;;;;;;;AC/BA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,SAAS;AACtB;AACA;AACA,aAAa,IAAI;AACjB;AACA;AACA;AACA;AACA;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB;AACA;AACA,EAAE;AACF;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,IAAI;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,SAAS;AACtB,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,SAAS;AACtB,eAAe;AACf;AACA;AACA;AACA;AACA;;AAEA;AACA,cAAc,yBAAyB;AACvC;;AAEA;AACA;AACA,eAAe,WAAW;AAC1B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA,mBAAmB,aAAa;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,gBAAgB;AAChB;AACA,KAAK;AACL;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,YAAY,yBAAyB;;AAErC;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,C;;;;;;;ACvPA;AAAA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA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;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC7CA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;;ACrBA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;ACdA;;AAEA;AACA;;AAEA;AACA;;AAEA;;;;;;;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;AC5BA;AAAA,mDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB,aAAa,SAAS;AACtB;AACA;AACA,wEAAwE,aAAa;AACrF;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA,wBAAwB;AACxB;AACA,OAAO;AACP;AACA;AACA,C;;;;;;;AC/CA;AAAA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA,aAAa,gBAAgB;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB,iBAAiB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,C;;;;;;;;;;;AC9CsB;AACtB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,mEAAmE;AACnE;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,2CAA2C,+EAAyB;;AAEpE;AACA;AACA;;AAEA;AACA,mCAAmC,aAAa;AAChD;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA,iBAAiB,wBAAwB;AACzC;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,oBAAoB,8BAA8B;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,C;;;;;;;ACjIA;;;;;;;;sDCAA;;AAEA;AACA;AACA,CAAC;;AAED;;AAEA;;AAEA,sCAAsC,uCAAuC,kBAAkB;;AAE/F,SAAS;;;AAGT;AACA;AACA,CAAC;AACD;AACA,CAAC;AACD;AACA,CAAC;AACD;AACA,CAAC;AACD;AACA;;AAEA;AACA,4B;;;;;;;;AC5BA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,EAAE;AACF;AACA;;AAEA;AACA,E;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AAC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","file":"reacttst.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 76);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 8202a2a62a94a60716cf","/**\r\n * Created by gavorhes on 12/10/2015.\r\n */\r\n\r\ndeclare const window: Window;\r\n/**\r\n * create a namespace on the gv object\r\n * @param {string} namespace to create\r\n * @returns {object} object representing the namespace\r\n */\r\nfunction provide(namespace: string){\r\n \"use strict\";\r\n if (typeof (<any>window).gv == 'undefined'){\r\n (<any>window).gv = {};\r\n }\r\n\r\n let parts = namespace.split('.');\r\n let nameSpace = (<any>window).gv;\r\n\r\n for (let i=0; i< parts.length; i++){\r\n let newObject = nameSpace[parts[i]];\r\n\r\n if (typeof newObject == 'undefined'){\r\n nameSpace[parts[i]] = {};\r\n }\r\n\r\n nameSpace = nameSpace[parts[i]];\r\n }\r\n\r\n return nameSpace;\r\n}\r\n\r\nprovide('util');\r\n(<any>window).gv.util.provide = provide;\r\n\r\nexport default provide;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/util/provide.ts","module.exports = $;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"$\"\n// module id = 1\n// module chunks = 0 1 2 4 5 6 7 8 9 10","/**\r\n * Created by gavorhes on 11/3/2015.\r\n */\r\n\r\nimport provide from './provide';\r\nlet nm = provide('util');\r\n\r\n\r\n/**\r\n * guids are used to uniquely identify groups and features\r\n * @returns {string} a new guid\r\n */\r\nexport function makeGuid() {\r\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'\r\n .replace(/[xy]/g, function (c) {\r\n let r = Math.random() * 16 | 0, v = c == 'x' ? r : r & 0x3 | 0x8;\r\n\r\n return v.toString(16);\r\n });\r\n\r\n}\r\nnm.makeGuid = makeGuid;\r\nexport default makeGuid;\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/util/makeGuid.ts","/**\r\n * Created by glenn on 6/12/2017.\r\n */\r\nexport import React = require('react');\r\nexport import ReactDom = require('react-dom');\r\nexport import ReactRedux = require('react-redux');\r\nexport import Redux = require('redux');\r\n\r\nexport const connect = ReactRedux.connect;\r\nexport const Provider = ReactRedux.Provider;\r\nexport const combineReducers = Redux.combineReducers;\r\nexport const createStore = Redux.createStore;\r\n\r\nexport interface iAction extends Redux.Action{\r\n}\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/reactComponents/reactAndRedux.ts","\r\n\r\nexport const SET_ONE_DATE = 'set one date';\r\nexport const SET_TWO_DATES = 'set two dates';\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/_tests/demos/reacttst_actions.ts","import root from './_root.js';\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nexport default Symbol;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash-es/_Symbol.js\n// module id = 17\n// module chunks = 0 1 3","import baseGetTag from './_baseGetTag.js';\nimport getPrototype from './_getPrototype.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n}\n\nexport default isPlainObject;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash-es/isPlainObject.js\n// module id = 18\n// module chunks = 0 1 3","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/process/browser.js\n// module id = 19\n// module chunks = 0 1 3","/**\n * Composes single-argument functions from right to left. The rightmost\n * function can take multiple arguments as it provides the signature for\n * the resulting composite function.\n *\n * @param {...Function} funcs The functions to compose.\n * @returns {Function} A function obtained by composing the argument functions\n * from right to left. For example, compose(f, g, h) is identical to doing\n * (...args) => f(g(h(...args))).\n */\n\nexport default function compose() {\n for (var _len = arguments.length, funcs = Array(_len), _key = 0; _key < _len; _key++) {\n funcs[_key] = arguments[_key];\n }\n\n if (funcs.length === 0) {\n return function (arg) {\n return arg;\n };\n }\n\n if (funcs.length === 1) {\n return funcs[0];\n }\n\n return funcs.reduce(function (a, b) {\n return function () {\n return a(b.apply(undefined, arguments));\n };\n });\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/redux/es/compose.js\n// module id = 20\n// module chunks = 0 1 3","import isPlainObject from 'lodash-es/isPlainObject';\nimport $$observable from 'symbol-observable';\n\n/**\n * These are private action types reserved by Redux.\n * For any unknown actions, you must return the current state.\n * If the current state is undefined, you must return the initial state.\n * Do not reference these action types directly in your code.\n */\nexport var ActionTypes = {\n INIT: '@@redux/INIT'\n\n /**\n * Creates a Redux store that holds the state tree.\n * The only way to change the data in the store is to call `dispatch()` on it.\n *\n * There should only be a single store in your app. To specify how different\n * parts of the state tree respond to actions, you may combine several reducers\n * into a single reducer function by using `combineReducers`.\n *\n * @param {Function} reducer A function that returns the next state tree, given\n * the current state tree and the action to handle.\n *\n * @param {any} [preloadedState] The initial state. You may optionally specify it\n * to hydrate the state from the server in universal apps, or to restore a\n * previously serialized user session.\n * If you use `combineReducers` to produce the root reducer function, this must be\n * an object with the same shape as `combineReducers` keys.\n *\n * @param {Function} [enhancer] The store enhancer. You may optionally specify it\n * to enhance the store with third-party capabilities such as middleware,\n * time travel, persistence, etc. The only store enhancer that ships with Redux\n * is `applyMiddleware()`.\n *\n * @returns {Store} A Redux store that lets you read the state, dispatch actions\n * and subscribe to changes.\n */\n};export default function createStore(reducer, preloadedState, enhancer) {\n var _ref2;\n\n if (typeof preloadedState === 'function' && typeof enhancer === 'undefined') {\n enhancer = preloadedState;\n preloadedState = undefined;\n }\n\n if (typeof enhancer !== 'undefined') {\n if (typeof enhancer !== 'function') {\n throw new Error('Expected the enhancer to be a function.');\n }\n\n return enhancer(createStore)(reducer, preloadedState);\n }\n\n if (typeof reducer !== 'function') {\n throw new Error('Expected the reducer to be a function.');\n }\n\n var currentReducer = reducer;\n var currentState = preloadedState;\n var currentListeners = [];\n var nextListeners = currentListeners;\n var isDispatching = false;\n\n function ensureCanMutateNextListeners() {\n if (nextListeners === currentListeners) {\n nextListeners = currentListeners.slice();\n }\n }\n\n /**\n * Reads the state tree managed by the store.\n *\n * @returns {any} The current state tree of your application.\n */\n function getState() {\n return currentState;\n }\n\n /**\n * Adds a change listener. It will be called any time an action is dispatched,\n * and some part of the state tree may potentially have changed. You may then\n * call `getState()` to read the current state tree inside the callback.\n *\n * You may call `dispatch()` from a change listener, with the following\n * caveats:\n *\n * 1. The subscriptions are snapshotted just before every `dispatch()` call.\n * If you subscribe or unsubscribe while the listeners are being invoked, this\n * will not have any effect on the `dispatch()` that is currently in progress.\n * However, the next `dispatch()` call, whether nested or not, will use a more\n * recent snapshot of the subscription list.\n *\n * 2. The listener should not expect to see all state changes, as the state\n * might have been updated multiple times during a nested `dispatch()` before\n * the listener is called. It is, however, guaranteed that all subscribers\n * registered before the `dispatch()` started will be called with the latest\n * state by the time it exits.\n *\n * @param {Function} listener A callback to be invoked on every dispatch.\n * @returns {Function} A function to remove this change listener.\n */\n function subscribe(listener) {\n if (typeof listener !== 'function') {\n throw new Error('Expected listener to be a function.');\n }\n\n var isSubscribed = true;\n\n ensureCanMutateNextListeners();\n nextListeners.push(listener);\n\n return function unsubscribe() {\n if (!isSubscribed) {\n return;\n }\n\n isSubscribed = false;\n\n ensureCanMutateNextListeners();\n var index = nextListeners.indexOf(listener);\n nextListeners.splice(index, 1);\n };\n }\n\n /**\n * Dispatches an action. It is the only way to trigger a state change.\n *\n * The `reducer` function, used to create the store, will be called with the\n * current state tree and the given `action`. Its return value will\n * be considered the **next** state of the tree, and the change listeners\n * will be notified.\n *\n * The base implementation only supports plain object actions. If you want to\n * dispatch a Promise, an Observable, a thunk, or something else, you need to\n * wrap your store creating function into the corresponding middleware. For\n * example, see the documentation for the `redux-thunk` package. Even the\n * middleware will eventually dispatch plain object actions using this method.\n *\n * @param {Object} action A plain object representing “what changed”. It is\n * a good idea to keep actions serializable so you can record and replay user\n * sessions, or use the time travelling `redux-devtools`. An action must have\n * a `type` property which may not be `undefined`. It is a good idea to use\n * string constants for action types.\n *\n * @returns {Object} For convenience, the same action object you dispatched.\n *\n * Note that, if you use a custom middleware, it may wrap `dispatch()` to\n * return something else (for example, a Promise you can await).\n */\n function dispatch(action) {\n if (!isPlainObject(action)) {\n throw new Error('Actions must be plain objects. ' + 'Use custom middleware for async actions.');\n }\n\n if (typeof action.type === 'undefined') {\n throw new Error('Actions may not have an undefined \"type\" property. ' + 'Have you misspelled a constant?');\n }\n\n if (isDispatching) {\n throw new Error('Reducers may not dispatch actions.');\n }\n\n try {\n isDispatching = true;\n currentState = currentReducer(currentState, action);\n } finally {\n isDispatching = false;\n }\n\n var listeners = currentListeners = nextListeners;\n for (var i = 0; i < listeners.length; i++) {\n var listener = listeners[i];\n listener();\n }\n\n return action;\n }\n\n /**\n * Replaces the reducer currently used by the store to calculate the state.\n *\n * You might need this if your app implements code splitting and you want to\n * load some of the reducers dynamically. You might also need this if you\n * implement a hot reloading mechanism for Redux.\n *\n * @param {Function} nextReducer The reducer for the store to use instead.\n * @returns {void}\n */\n function replaceReducer(nextReducer) {\n if (typeof nextReducer !== 'function') {\n throw new Error('Expected the nextReducer to be a function.');\n }\n\n currentReducer = nextReducer;\n dispatch({ type: ActionTypes.INIT });\n }\n\n /**\n * Interoperability point for observable/reactive libraries.\n * @returns {observable} A minimal observable of state changes.\n * For more information, see the observable proposal:\n * https://github.com/tc39/proposal-observable\n */\n function observable() {\n var _ref;\n\n var outerSubscribe = subscribe;\n return _ref = {\n /**\n * The minimal observable subscription method.\n * @param {Object} observer Any object that can be used as an observer.\n * The observer object should have a `next` method.\n * @returns {subscription} An object with an `unsubscribe` method that can\n * be used to unsubscribe the observable from the store, and prevent further\n * emission of values from the observable.\n */\n subscribe: function subscribe(observer) {\n if (typeof observer !== 'object') {\n throw new TypeError('Expected the observer to be an object.');\n }\n\n function observeState() {\n if (observer.next) {\n observer.next(getState());\n }\n }\n\n observeState();\n var unsubscribe = outerSubscribe(observeState);\n return { unsubscribe: unsubscribe };\n }\n }, _ref[$$observable] = function () {\n return this;\n }, _ref;\n }\n\n // When a store is created, an \"INIT\" action is dispatched so that every\n // reducer returns their initial state. This effectively populates\n // the initial state tree.\n dispatch({ type: ActionTypes.INIT });\n\n return _ref2 = {\n dispatch: dispatch,\n subscribe: subscribe,\n getState: getState,\n replaceReducer: replaceReducer\n }, _ref2[$$observable] = observable, _ref2;\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/redux/es/createStore.js\n// module id = 21\n// module chunks = 0 1 3","/**\n * Prints a warning in the console if it exists.\n *\n * @param {String} message The warning message.\n * @returns {void}\n */\nexport default function warning(message) {\n /* eslint-disable no-console */\n if (typeof console !== 'undefined' && typeof console.error === 'function') {\n console.error(message);\n }\n /* eslint-enable no-console */\n try {\n // This error was thrown as a convenience so that if you enable\n // \"break on all exceptions\" in your console,\n // it would pause the execution at this line.\n throw new Error(message);\n /* eslint-disable no-empty */\n } catch (e) {}\n /* eslint-enable no-empty */\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/redux/es/utils/warning.js\n// module id = 22\n// module chunks = 0 1 3","var g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1,eval)(\"this\");\r\n} catch(e) {\r\n\t// This works if the window reference is available\r\n\tif(typeof window === \"object\")\r\n\t\tg = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// (webpack)/buildin/global.js\n// module id = 23\n// module chunks = 0 1 3","/**\r\n * Created by glenn on 6/14/2017.\r\n */\r\n\r\n\r\nimport {React} from './reactAndRedux';\r\nimport $ = require('jquery');\r\nimport 'jquery-ui';\r\nimport makeGuid from '../util/makeGuid';\r\n\r\nimport {dateToString, stringToDate} from './helpers/dateFormat';\r\n\r\nexport interface iDatePick{\r\n label: string;\r\n id?: string;\r\n initialDate?: Date;\r\n change: (val: Date) => any;\r\n val?: Date\r\n}\r\n\r\n/**\r\n * params label, id, initialDate, change callback with value as string\r\n */\r\nexport class DatePick extends React.Component<iDatePick, null> {\r\n private elId: string;\r\n\r\n constructor(props: iDatePick, context: Object){\r\n super(props, context);\r\n this.elId = this.props.id || makeGuid();\r\n }\r\n\r\n componentDidMount() {\r\n let $el = $('#' + this.elId);\r\n\r\n $el.datepicker(\r\n {\r\n onSelect: () => {\r\n this.props.change(stringToDate($el.val()));\r\n }\r\n }\r\n );\r\n }\r\n\r\n render() {\r\n let params = {\r\n id: this.elId,\r\n type: 'text',\r\n style: {margin: \"0 10px 0 5px\", width: '73px', textAlign: 'center'},\r\n readOnly: true\r\n };\r\n\r\n if (this.props.val){\r\n params['value'] = dateToString(this.props.val);\r\n } else {\r\n params['defaultValue'] = dateToString(this.props.initialDate || new Date());\r\n }\r\n\r\n\r\n return <span className=\"date-pick\">\r\n <label htmlFor={this.elId}>{this.props.label}</label>\r\n {/*<input id={this.elId} type=\"text\"*/}\r\n {/*style={{margin: \"0 10px 0 5px\", width: '73px', textAlign: 'center'}}*/}\r\n {/*defaultValue={dateToString(this.props.initialDate || new Date())}*/}\r\n {/*readOnly={true}*/}\r\n {/*/>*/}\r\n <input {...params}/>\r\n </span>\r\n }\r\n}\r\n\r\nexport default DatePick;\n\n\n// WEBPACK FOOTER //\n// ./src/reactComponents/DatePick.tsx","import createStore from './createStore';\nimport combineReducers from './combineReducers';\nimport bindActionCreators from './bindActionCreators';\nimport applyMiddleware from './applyMiddleware';\nimport compose from './compose';\nimport warning from './utils/warning';\n\n/*\n* This is a dummy function to check if the function name has been altered by minification.\n* If the function has been minified and NODE_ENV !== 'production', warn the user.\n*/\nfunction isCrushed() {}\n\nif (process.env.NODE_ENV !== 'production' && typeof isCrushed.name === 'string' && isCrushed.name !== 'isCrushed') {\n warning('You are currently using minified code outside of NODE_ENV === \\'production\\'. ' + 'This means that you are running a slower development build of Redux. ' + 'You can use loose-envify (https://github.com/zertosh/loose-envify) for browserify ' + 'or DefinePlugin for webpack (http://stackoverflow.com/questions/30030031) ' + 'to ensure you have the correct code for your production build.');\n}\n\nexport { createStore, combineReducers, bindActionCreators, applyMiddleware, compose };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/redux/es/index.js\n// module id = 27\n// module chunks = 0 1 3","/**\r\n * Created by glenn on 6/12/2017.\r\n */\r\n\r\nimport {React} from './reactAndRedux';\r\nimport $ = require('jquery');\r\nimport 'jquery-ui';\r\nimport makeGuid from '../util/makeGuid';\r\nimport * as fixDate from './helpers/dateFormat';\r\nimport DatePick from './DatePick';\r\n\r\nfunction stringToDate(dte: string|Date){\r\n if ((dte as Date).getTime){\r\n return dte as Date;\r\n } else {\r\n return new Date(dte);\r\n }\r\n}\r\n\r\nexport interface iDateRange{\r\n maxRange: number;\r\n callback: (start: Date, end: Date, version?: number) => any;\r\n minRange?: number;\r\n maxDate?: Date;\r\n minDate?: Date;\r\n initialEnd?: Date;\r\n start?: Date;\r\n end?: Date;\r\n npmrds?: boolean;\r\n}\r\n\r\n\r\nexport class DateRange extends React.Component<iDateRange, null> {\r\n startId = makeGuid();\r\n endId = makeGuid();\r\n startInput: HTMLInputElement;\r\n endInput: HTMLInputElement;\r\n start: Date;\r\n end: Date;\r\n maxRange: number;\r\n minRange: number;\r\n numDays: number;\r\n versionTwoStart: Date;\r\n previousStart: Date;\r\n previousEnd: Date;\r\n\r\n constructor(props: iDateRange, context: Object) {\r\n super(props, context);\r\n\r\n this.versionTwoStart = new Date(2017, 1, 1);\r\n\r\n this.maxRange = Math.round(this.props.maxRange) - 1;\r\n this.minRange = typeof this.props['minRange'] == 'number' ? Math.round(this.props['minRange']) : 1;\r\n\r\n if (this.minRange > this.maxRange) {\r\n throw \"DateRange component: Max range must be greater than min range\";\r\n }\r\n\r\n if (this.props.initialEnd){\r\n this.end = stringToDate(this.props.initialEnd)\r\n } else {\r\n this.end = new Date();\r\n }\r\n\r\n this.end.setHours(0, 0, 0);\r\n this.start = new Date(this.end);\r\n this.start.setDate(this.start.getDate() - this.maxRange);\r\n this.setNumDays();\r\n }\r\n\r\n setNumDays() {\r\n this.numDays = Math.round((this.end.getTime() - this.start.getTime()) / (1000 * 60 * 60 * 24)) + 1;\r\n }\r\n\r\n\r\n componentDidMount() {\r\n this.startInput = document.getElementById(this.startId) as HTMLInputElement;\r\n this.endInput = document.getElementById(this.endId) as HTMLInputElement;\r\n\r\n\r\n this.props.callback(this.start, this.end, this.version);\r\n }\r\n\r\n private get needReset(): boolean {\r\n return this.numDays > this.maxRange || this.numDays < this.minRange;\r\n }\r\n\r\n private get versionSpan(): boolean{\r\n\r\n if (this.start < this.versionTwoStart && this.end >= this.versionTwoStart){\r\n return true;\r\n } else if (fixDate.dateToString(this.versionTwoStart) === fixDate.dateToString(this.end) && this.start < this.versionTwoStart){\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n private get version(): number{\r\n\r\n if (fixDate.dateToString(this.start) == fixDate.dateToString(this.versionTwoStart)){\r\n return 2;\r\n } else if (this.start >= this.versionTwoStart){\r\n return 2;\r\n }\r\n return 1;\r\n }\r\n\r\n private finalizeChange(){\r\n\r\n if (this.props.npmrds){\r\n if (this.versionSpan){\r\n this.start = this.previousStart;\r\n this.end = this.previousEnd;\r\n\r\n this.startInput.value = fixDate.dateToString(this.start);\r\n this.endInput.value = fixDate.dateToString(this.end);\r\n this.setNumDays();\r\n alert(\"Start and End dates must not span version break: \" + fixDate.dateToString(this.versionTwoStart));\r\n return;\r\n }\r\n }\r\n\r\n this.props.callback(this.start, this.end, this.version);\r\n }\r\n\r\n private setStart(s: Date) {\r\n\r\n this.previousStart = new Date(this.start);\r\n this.previousEnd = new Date(this.end);\r\n\r\n this.start = s;\r\n\r\n this.setNumDays();\r\n\r\n if (this.needReset) {\r\n this.end = new Date(this.start);\r\n\r\n if (this.numDays > this.maxRange) {\r\n this.end.setDate(this.end.getDate() + this.maxRange);\r\n } else {\r\n this.end.setDate(this.end.getDate() + this.minRange - 1);\r\n }\r\n\r\n this.endInput.value = fixDate.dateToString(this.end);\r\n this.setNumDays();\r\n }\r\n\r\n this.finalizeChange();\r\n }\r\n\r\n private setEnd(s: Date) {\r\n this.previousStart = new Date(this.start);\r\n this.previousEnd = new Date(this.end);\r\n\r\n this.end = s;\r\n this.setNumDays();\r\n\r\n if (this.needReset) {\r\n this.start = new Date(this.end);\r\n\r\n if (this.numDays > this.maxRange) {\r\n this.start.setDate(this.start.getDate() - this.maxRange);\r\n } else {\r\n this.start.setDate(this.start.getDate() - this.minRange + 1);\r\n }\r\n\r\n this.startInput.value = fixDate.dateToString(this.start);\r\n this.setNumDays();\r\n }\r\n\r\n this.finalizeChange();\r\n }\r\n\r\n render() {\r\n return <div className=\"date-range\">\r\n <DatePick id={this.startId} label=\"Start\" initialDate={this.start} change={(s) => {this.setStart(s)}}/>\r\n <DatePick id={this.endId} label=\"End\" initialDate={this.end} change={(s) => {this.setEnd(s)}}/>\r\n </div>;\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/reactComponents/DateRange.tsx","import Symbol from './_Symbol.js';\nimport getRawTag from './_getRawTag.js';\nimport objectToString from './_objectToString.js';\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nexport default baseGetTag;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash-es/_baseGetTag.js\n// module id = 30\n// module chunks = 0 1 3","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nexport default freeGlobal;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash-es/_freeGlobal.js\n// module id = 31\n// module chunks = 0 1 3","import overArg from './_overArg.js';\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nexport default getPrototype;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash-es/_getPrototype.js\n// module id = 32\n// module chunks = 0 1 3","import Symbol from './_Symbol.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nexport default getRawTag;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash-es/_getRawTag.js\n// module id = 33\n// module chunks = 0 1 3","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nexport default objectToString;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash-es/_objectToString.js\n// module id = 34\n// module chunks = 0 1 3","/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nexport default overArg;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash-es/_overArg.js\n// module id = 35\n// module chunks = 0 1 3","import freeGlobal from './_freeGlobal.js';\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nexport default root;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash-es/_root.js\n// module id = 36\n// module chunks = 0 1 3","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nexport default isObjectLike;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash-es/isObjectLike.js\n// module id = 37\n// module chunks = 0 1 3","var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nimport compose from './compose';\n\n/**\n * Creates a store enhancer that applies middleware to the dispatch method\n * of the Redux store. This is handy for a variety of tasks, such as expressing\n * asynchronous actions in a concise manner, or logging every action payload.\n *\n * See `redux-thunk` package as an example of the Redux middleware.\n *\n * Because middleware is potentially asynchronous, this should be the first\n * store enhancer in the composition chain.\n *\n * Note that each middleware will be given the `dispatch` and `getState` functions\n * as named arguments.\n *\n * @param {...Function} middlewares The middleware chain to be applied.\n * @returns {Function} A store enhancer applying the middleware.\n */\nexport default function applyMiddleware() {\n for (var _len = arguments.length, middlewares = Array(_len), _key = 0; _key < _len; _key++) {\n middlewares[_key] = arguments[_key];\n }\n\n return function (createStore) {\n return function (reducer, preloadedState, enhancer) {\n var store = createStore(reducer, preloadedState, enhancer);\n var _dispatch = store.dispatch;\n var chain = [];\n\n var middlewareAPI = {\n getState: store.getState,\n dispatch: function dispatch(action) {\n return _dispatch(action);\n }\n };\n chain = middlewares.map(function (middleware) {\n return middleware(middlewareAPI);\n });\n _dispatch = compose.apply(undefined, chain)(store.dispatch);\n\n return _extends({}, store, {\n dispatch: _dispatch\n });\n };\n };\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/redux/es/applyMiddleware.js\n// module id = 38\n// module chunks = 0 1 3","function bindActionCreator(actionCreator, dispatch) {\n return function () {\n return dispatch(actionCreator.apply(undefined, arguments));\n };\n}\n\n/**\n * Turns an object whose values are action creators, into an object with the\n * same keys, but with every function wrapped into a `dispatch` call so they\n * may be invoked directly. This is just a convenience method, as you can call\n * `store.dispatch(MyActionCreators.doSomething())` yourself just fine.\n *\n * For convenience, you can also pass a single function as the first argument,\n * and get a function in return.\n *\n * @param {Function|Object} actionCreators An object whose values are action\n * creator functions. One handy way to obtain it is to use ES6 `import * as`\n * syntax. You may also pass a single function.\n *\n * @param {Function} dispatch The `dispatch` function available on your Redux\n * store.\n *\n * @returns {Function|Object} The object mimicking the original object, but with\n * every action creator wrapped into the `dispatch` call. If you passed a\n * function as `actionCreators`, the return value will also be a single\n * function.\n */\nexport default function bindActionCreators(actionCreators, dispatch) {\n if (typeof actionCreators === 'function') {\n return bindActionCreator(actionCreators, dispatch);\n }\n\n if (typeof actionCreators !== 'object' || actionCreators === null) {\n throw new Error('bindActionCreators expected an object or a function, instead received ' + (actionCreators === null ? 'null' : typeof actionCreators) + '. ' + 'Did you write \"import ActionCreators from\" instead of \"import * as ActionCreators from\"?');\n }\n\n var keys = Object.keys(actionCreators);\n var boundActionCreators = {};\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n var actionCreator = actionCreators[key];\n if (typeof actionCreator === 'function') {\n boundActionCreators[key] = bindActionCreator(actionCreator, dispatch);\n }\n }\n return boundActionCreators;\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/redux/es/bindActionCreators.js\n// module id = 39\n// module chunks = 0 1 3","import { ActionTypes } from './createStore';\nimport isPlainObject from 'lodash-es/isPlainObject';\nimport warning from './utils/warning';\n\nfunction getUndefinedStateErrorMessage(key, action) {\n var actionType = action && action.type;\n var actionName = actionType && '\"' + actionType.toString() + '\"' || 'an action';\n\n return 'Given action ' + actionName + ', reducer \"' + key + '\" returned undefined. ' + 'To ignore an action, you must explicitly return the previous state. ' + 'If you want this reducer to hold no value, you can return null instead of undefined.';\n}\n\nfunction getUnexpectedStateShapeWarningMessage(inputState, reducers, action, unexpectedKeyCache) {\n var reducerKeys = Object.keys(reducers);\n var argumentName = action && action.type === ActionTypes.INIT ? 'preloadedState argument passed to createStore' : 'previous state received by the reducer';\n\n if (reducerKeys.length === 0) {\n return 'Store does not have a valid reducer. Make sure the argument passed ' + 'to combineReducers is an object whose values are reducers.';\n }\n\n if (!isPlainObject(inputState)) {\n return 'The ' + argumentName + ' has unexpected type of \"' + {}.toString.call(inputState).match(/\\s([a-z|A-Z]+)/)[1] + '\". Expected argument to be an object with the following ' + ('keys: \"' + reducerKeys.join('\", \"') + '\"');\n }\n\n var unexpectedKeys = Object.keys(inputState).filter(function (key) {\n return !reducers.hasOwnProperty(key) && !unexpectedKeyCache[key];\n });\n\n unexpectedKeys.forEach(function (key) {\n unexpectedKeyCache[key] = true;\n });\n\n if (unexpectedKeys.length > 0) {\n return 'Unexpected ' + (unexpectedKeys.length > 1 ? 'keys' : 'key') + ' ' + ('\"' + unexpectedKeys.join('\", \"') + '\" found in ' + argumentName + '. ') + 'Expected to find one of the known reducer keys instead: ' + ('\"' + reducerKeys.join('\", \"') + '\". Unexpected keys will be ignored.');\n }\n}\n\nfunction assertReducerShape(reducers) {\n Object.keys(reducers).forEach(function (key) {\n var reducer = reducers[key];\n var initialState = reducer(undefined, { type: ActionTypes.INIT });\n\n if (typeof initialState === 'undefined') {\n throw new Error('Reducer \"' + key + '\" returned undefined during initialization. ' + 'If the state passed to the reducer is undefined, you must ' + 'explicitly return the initial state. The initial state may ' + 'not be undefined. If you don\\'t want to set a value for this reducer, ' + 'you can use null instead of undefined.');\n }\n\n var type = '@@redux/PROBE_UNKNOWN_ACTION_' + Math.random().toString(36).substring(7).split('').join('.');\n if (typeof reducer(undefined, { type: type }) === 'undefined') {\n throw new Error('Reducer \"' + key + '\" returned undefined when probed with a random type. ' + ('Don\\'t try to handle ' + ActionTypes.INIT + ' or other actions in \"redux/*\" ') + 'namespace. They are considered private. Instead, you must return the ' + 'current state for any unknown actions, unless it is undefined, ' + 'in which case you must return the initial state, regardless of the ' + 'action type. The initial state may not be undefined, but can be null.');\n }\n });\n}\n\n/**\n * Turns an object whose values are different reducer functions, into a single\n * reducer function. It will call every child reducer, and gather their results\n * into a single state object, whose keys correspond to the keys of the passed\n * reducer functions.\n *\n * @param {Object} reducers An object whose values correspond to different\n * reducer functions that need to be combined into one. One handy way to obtain\n * it is to use ES6 `import * as reducers` syntax. The reducers may never return\n * undefined for any action. Instead, they should return their initial state\n * if the state passed to them was undefined, and the current state for any\n * unrecognized action.\n *\n * @returns {Function} A reducer function that invokes every reducer inside the\n * passed object, and builds a state object with the same shape.\n */\nexport default function combineReducers(reducers) {\n var reducerKeys = Object.keys(reducers);\n var finalReducers = {};\n for (var i = 0; i < reducerKeys.length; i++) {\n var key = reducerKeys[i];\n\n if (process.env.NODE_ENV !== 'production') {\n if (typeof reducers[key] === 'undefined') {\n warning('No reducer provided for key \"' + key + '\"');\n }\n }\n\n if (typeof reducers[key] === 'function') {\n finalReducers[key] = reducers[key];\n }\n }\n var finalReducerKeys = Object.keys(finalReducers);\n\n var unexpectedKeyCache = void 0;\n if (process.env.NODE_ENV !== 'production') {\n unexpectedKeyCache = {};\n }\n\n var shapeAssertionError = void 0;\n try {\n assertReducerShape(finalReducers);\n } catch (e) {\n shapeAssertionError = e;\n }\n\n return function combination() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var action = arguments[1];\n\n if (shapeAssertionError) {\n throw shapeAssertionError;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n var warningMessage = getUnexpectedStateShapeWarningMessage(state, finalReducers, action, unexpectedKeyCache);\n if (warningMessage) {\n warning(warningMessage);\n }\n }\n\n var hasChanged = false;\n var nextState = {};\n for (var _i = 0; _i < finalReducerKeys.length; _i++) {\n var _key = finalReducerKeys[_i];\n var reducer = finalReducers[_key];\n var previousStateForKey = state[_key];\n var nextStateForKey = reducer(previousStateForKey, action);\n if (typeof nextStateForKey === 'undefined') {\n var errorMessage = getUndefinedStateErrorMessage(_key, action);\n throw new Error(errorMessage);\n }\n nextState[_key] = nextStateForKey;\n hasChanged = hasChanged || nextStateForKey !== previousStateForKey;\n }\n return hasChanged ? nextState : state;\n };\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/redux/es/combineReducers.js\n// module id = 40\n// module chunks = 0 1 3","module.exports = require('./lib/index');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/symbol-observable/index.js\n// module id = 41\n// module chunks = 0 1 3","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _ponyfill = require('./ponyfill');\n\nvar _ponyfill2 = _interopRequireDefault(_ponyfill);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar root; /* global window */\n\n\nif (typeof self !== 'undefined') {\n root = self;\n} else if (typeof window !== 'undefined') {\n root = window;\n} else if (typeof global !== 'undefined') {\n root = global;\n} else if (typeof module !== 'undefined') {\n root = module;\n} else {\n root = Function('return this')();\n}\n\nvar result = (0, _ponyfill2['default'])(root);\nexports['default'] = result;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/symbol-observable/lib/index.js\n// module id = 42\n// module chunks = 0 1 3","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nexports['default'] = symbolObservablePonyfill;\nfunction symbolObservablePonyfill(root) {\n\tvar result;\n\tvar _Symbol = root.Symbol;\n\n\tif (typeof _Symbol === 'function') {\n\t\tif (_Symbol.observable) {\n\t\t\tresult = _Symbol.observable;\n\t\t} else {\n\t\t\tresult = _Symbol('observable');\n\t\t\t_Symbol.observable = result;\n\t\t}\n\t} else {\n\t\tresult = '@@observable';\n\t}\n\n\treturn result;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/symbol-observable/lib/ponyfill.js\n// module id = 43\n// module chunks = 0 1 3","module.exports = function(module) {\r\n\tif(!module.webpackPolyfill) {\r\n\t\tmodule.deprecate = function() {};\r\n\t\tmodule.paths = [];\r\n\t\t// module.parent = undefined by default\r\n\t\tif(!module.children) module.children = [];\r\n\t\tObject.defineProperty(module, \"loaded\", {\r\n\t\t\tenumerable: true,\r\n\t\t\tget: function() {\r\n\t\t\t\treturn module.l;\r\n\t\t\t}\r\n\t\t});\r\n\t\tObject.defineProperty(module, \"id\", {\r\n\t\t\tenumerable: true,\r\n\t\t\tget: function() {\r\n\t\t\t\treturn module.i;\r\n\t\t\t}\r\n\t\t});\r\n\t\tmodule.webpackPolyfill = 1;\r\n\t}\r\n\treturn module;\r\n};\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// (webpack)/buildin/module.js\n// module id = 44\n// module chunks = 0 1 3","/**\r\n * Created by glenn on 6/13/2017.\r\n */\r\n\r\nexport function stringToDate(dateStr: string): Date {\r\n let parts = dateStr.split('/');\r\n\r\n let mn = parseInt(parts[0]) - 1;\r\n let d = parseInt(parts[1]);\r\n let y = parseInt(parts[2]);\r\n\r\n let dte = new Date(y, mn, d);\r\n dte.setHours(0, 0, 0);\r\n\r\n return dte;\r\n}\r\n\r\nexport function dateToString(dte: Date, zeroPad:boolean = true): string {\r\n let mn = (dte.getMonth() + 1).toString();\r\n let d = dte.getDate().toString();\r\n\r\n if (zeroPad){\r\n mn = mn.length == 1 ? '0' + mn : mn;\r\n d = d.length == 1 ? '0' + d : d ;\r\n }\r\n\r\n return `${mn}/${d}/${dte.getFullYear()}`;\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/reactComponents/helpers/dateFormat.ts","import {connect} from '../../reactComponents/reactAndRedux';\r\nimport {iState} from './reacttst_store';\r\nimport {DatePick} from '../../reactComponents/DatePick';\r\nimport {DateRange} from '../../reactComponents/DateRange';\r\nimport * as actions from './reacttst_actions';\r\n\r\n\r\nexport const DatePickConnected = connect(\r\n (state: iState) => {\r\n return {\r\n label: 'Date Picker Connected',\r\n change: (v) => {\r\n console.log(v);\r\n },\r\n val: state.oneDate\r\n }\r\n },\r\n (dispatch) => {\r\n return {\r\n change: (v) => {\r\n dispatch({type: actions.SET_ONE_DATE, d: v});\r\n }\r\n }\r\n }\r\n)(DatePick);\r\n\r\n\r\nexport const DateRangeConnected = connect(\r\n (state: iState) => {\r\n return {\r\n maxRange: 10,\r\n start: state.twoDates.start,\r\n end: state.twoDates.end,\r\n initialEnd: state.twoDates.end,\r\n npmrds: true\r\n }\r\n },\r\n (dispatch) => {\r\n return {\r\n callback: (s: Date, e: Date, version: number) => {\r\n dispatch({type: actions.SET_TWO_DATES, start: s, end: e, version: version});\r\n }\r\n }\r\n }\r\n)(DateRange);\r\n\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/_tests/demos/reacttst_connect.ts","import * as actions from './reacttst_actions';\r\nimport Redux = require('redux');\r\n\r\n\r\nfunction oneDate(state = new Date(), action: {type: string, d: Date}) {\r\n if (action.type == actions.SET_ONE_DATE) {\r\n return action.d;\r\n } else {\r\n return state;\r\n }\r\n}\r\n\r\nlet start = new Date('12/31/2017');\r\nlet end = new Date('12/31/2017');\r\nstart.setDate(start.getDate() - 10);\r\n\r\nfunction twoDates(state = {start: start, end: end, version: 2}, action: {type: string, start: Date, end: Date, version: number}){\r\n if (action.type == actions.SET_TWO_DATES){\r\n return {\r\n start: action.start,\r\n end: action.end,\r\n version: action.version\r\n }\r\n } else {\r\n return state;\r\n }\r\n}\r\n\r\n\r\n\r\nexport const theStore = Redux.createStore(\r\n Redux.combineReducers({oneDate, twoDates})\r\n);\r\n\r\n\r\nexport interface iState {\r\n oneDate: Date;\r\n twoDates: {start: Date, end: Date, version: number}\r\n}\r\n\r\n\r\nexport function getState(): iState{\r\n return theStore.getState() as iState;\r\n}\r\n\r\nexport default theStore;\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/_tests/demos/reacttst_store.ts","module.exports = React;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"React\"\n// module id = 52\n// module chunks = 0 1","module.exports = ReactDOM;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"ReactDOM\"\n// module id = 53\n// module chunks = 0 1","module.exports = ReactRedux;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"ReactRedux\"\n// module id = 54\n// module chunks = 0 1","/**\r\n * Created by gavorhes on 9/22/2016.\r\n */\r\n\r\nimport {React, ReactDom as reactDom, Provider} from '../../reactComponents/reactAndRedux';\r\nimport {DatePick} from '../../reactComponents/DatePick';\r\nimport {DateRange} from '../../reactComponents/DateRange';\r\nimport {DatePickConnected, DateRangeConnected} from './reacttst_connect';\r\nimport * as s from './reacttst_store'\r\nimport {set} from \"d3-collection\";\r\n\r\n\r\nclass Demo extends React.Component<null, null> {\r\n\r\n\r\n render() {\r\n return <div>\r\n <h1>Date Pick</h1>\r\n <DatePick label={'Date Picker'} change={(v) => {\r\n console.log(v)\r\n }}/>\r\n <h1>Date Pick Connected</h1>\r\n <DatePickConnected/>\r\n <h1>Date Range</h1>\r\n <DateRange maxRange={10} initialEnd={new Date()} minRange={1} callback={(start, end) => {\r\n console.log(start, end);\r\n }}/>\r\n <h1>Date Range Connected</h1>\r\n <DateRangeConnected/>\r\n </div>\r\n }\r\n\r\n}\r\n\r\nreactDom.render(\r\n <Provider store={s.theStore}>\r\n <Demo/>\r\n </Provider>,\r\n document.getElementById(\"example\")\r\n);\r\n\r\ns.theStore.subscribe(() => {\r\n console.log(s.getState());\r\n});\r\n\r\nsetInterval(\r\n () => {\r\n let state = s.getState();\r\n // console.log(state.oneDate);\r\n\r\n // s.store.dispatch({type: s.ACTION_SET_ONE_DATE, d: state.oneDate.setDate(state.oneDate.getDate() - 1)});\r\n },\r\n 1000);\r\n\r\n\r\n\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/_tests/demos/reacttst.tsx"],"sourceRoot":""} \ No newline at end of file diff --git a/test/serve/js/reacttst_actions.js b/test/serve/js/reacttst_actions.js index 0c6871d6548829c4346359068c180fa10e3844d2..f835b79edab343e64fd63b0a75d6afa543074846 100644 --- a/test/serve/js/reacttst_actions.js +++ b/test/serve/js/reacttst_actions.js @@ -63,12 +63,12 @@ /******/ __webpack_require__.p = ""; /******/ /******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = 10); +/******/ return __webpack_require__(__webpack_require__.s = 11); /******/ }) /************************************************************************/ /******/ ({ -/***/ 10: +/***/ 11: /***/ (function(module, exports, __webpack_require__) { "use strict"; diff --git a/test/serve/js/reacttst_actions.js.map b/test/serve/js/reacttst_actions.js.map index 50b83d8308736034f8a873bfb51aa064e06d3de4..7f7acb58b32b28a2090196fc4fda95d351f7ecea 100644 --- a/test/serve/js/reacttst_actions.js.map +++ b/test/serve/js/reacttst_actions.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap b7d91eb15b0b6dcf7ee0?08c4*********","webpack:///./src/_tests/demos/reacttst_actions.ts?2a10**"],"names":[],"mappings":";AAAA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA,mDAA2C,cAAc;;AAEzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;AAEA;AACA;;;;;;;;;;;AC9Da,oBAAY,GAAG,cAAc,CAAC;AAC9B,qBAAa,GAAG,eAAe,CAAC","file":"reacttst_actions.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 10);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap b7d91eb15b0b6dcf7ee0","\r\n\r\nexport const SET_ONE_DATE = 'set one date';\r\nexport const SET_TWO_DATES = 'set two dates';\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/_tests/demos/reacttst_actions.ts"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/bootstrap 85176672b243dd643c6c?aa7c**********","webpack:///./src/_tests/demos/reacttst_actions.ts?2a10**"],"names":[],"mappings":";AAAA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA,mDAA2C,cAAc;;AAEzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;AAEA;AACA;;;;;;;;;;;AC9Da,oBAAY,GAAG,cAAc,CAAC;AAC9B,qBAAa,GAAG,eAAe,CAAC","file":"reacttst_actions.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 11);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 85176672b243dd643c6c","\r\n\r\nexport const SET_ONE_DATE = 'set one date';\r\nexport const SET_TWO_DATES = 'set two dates';\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/_tests/demos/reacttst_actions.ts"],"sourceRoot":""} \ No newline at end of file diff --git a/test/serve/js/reacttst_connect.js b/test/serve/js/reacttst_connect.js index fd1fb1f1f4da7d2249a87ca2da54b41823374a17..8669273f0c3460178e5c266e504b7fdc27104592 100644 --- a/test/serve/js/reacttst_connect.js +++ b/test/serve/js/reacttst_connect.js @@ -143,7 +143,8 @@ exports.default = makeGuid; /* 6 */, /* 7 */, /* 8 */, -/* 9 */ +/* 9 */, +/* 10 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -163,7 +164,7 @@ exports.createStore = exports.Redux.createStore; /***/ }), -/* 10 */ +/* 11 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -174,8 +175,12 @@ exports.SET_TWO_DATES = 'set two dates'; /***/ }), -/* 11 */, -/* 12 */ +/* 12 */, +/* 13 */, +/* 14 */, +/* 15 */, +/* 16 */, +/* 17 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -189,7 +194,7 @@ var Symbol = __WEBPACK_IMPORTED_MODULE_0__root_js__["a" /* default */].Symbol; /***/ }), -/* 13 */ +/* 18 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -261,7 +266,7 @@ function isPlainObject(value) { /***/ }), -/* 14 */ +/* 19 */ /***/ (function(module, exports) { // shim for using process in browser @@ -447,7 +452,7 @@ process.umask = function() { return 0; }; /***/ }), -/* 15 */ +/* 20 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -486,11 +491,11 @@ function compose() { } /***/ }), -/* 16 */ +/* 21 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash_es_isPlainObject__ = __webpack_require__(13); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash_es_isPlainObject__ = __webpack_require__(18); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_symbol_observable__ = __webpack_require__(41); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_symbol_observable___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_symbol_observable__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return ActionTypes; }); @@ -745,7 +750,7 @@ var ActionTypes = { } /***/ }), -/* 17 */ +/* 22 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -773,7 +778,7 @@ function warning(message) { } /***/ }), -/* 18 */ +/* 23 */ /***/ (function(module, exports) { var g; @@ -800,8 +805,7 @@ module.exports = g; /***/ }), -/* 19 */, -/* 20 */ +/* 24 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -828,7 +832,7 @@ var __assign = (this && this.__assign) || Object.assign || function(t) { return t; }; Object.defineProperty(exports, "__esModule", { value: true }); -var reactAndRedux_1 = __webpack_require__(9); +var reactAndRedux_1 = __webpack_require__(10); var $ = __webpack_require__(1); __webpack_require__(1); var makeGuid_1 = __webpack_require__(3); @@ -876,10 +880,6 @@ exports.default = DatePick; /***/ }), -/* 21 */, -/* 22 */, -/* 23 */, -/* 24 */, /* 25 */, /* 26 */, /* 27 */ @@ -887,12 +887,12 @@ exports.default = DatePick; "use strict"; /* WEBPACK VAR INJECTION */(function(process) {Object.defineProperty(__webpack_exports__, "__esModule", { value: true }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__createStore__ = __webpack_require__(16); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__createStore__ = __webpack_require__(21); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__combineReducers__ = __webpack_require__(40); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__bindActionCreators__ = __webpack_require__(39); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__applyMiddleware__ = __webpack_require__(38); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__compose__ = __webpack_require__(15); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__utils_warning__ = __webpack_require__(17); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__compose__ = __webpack_require__(20); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__utils_warning__ = __webpack_require__(22); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "createStore", function() { return __WEBPACK_IMPORTED_MODULE_0__createStore__["a"]; }); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "combineReducers", function() { return __WEBPACK_IMPORTED_MODULE_1__combineReducers__["a"]; }); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "bindActionCreators", function() { return __WEBPACK_IMPORTED_MODULE_2__bindActionCreators__["a"]; }); @@ -916,7 +916,7 @@ if (process.env.NODE_ENV !== 'production' && typeof isCrushed.name === 'string' } -/* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(14))) +/* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(19))) /***/ }), /* 28 */, @@ -939,11 +939,11 @@ var __extends = (this && this.__extends) || (function () { }; })(); Object.defineProperty(exports, "__esModule", { value: true }); -var reactAndRedux_1 = __webpack_require__(9); +var reactAndRedux_1 = __webpack_require__(10); __webpack_require__(1); var makeGuid_1 = __webpack_require__(3); var fixDate = __webpack_require__(45); -var DatePick_1 = __webpack_require__(20); +var DatePick_1 = __webpack_require__(24); function stringToDate(dte) { if (dte.getTime) { return dte; @@ -958,6 +958,7 @@ var DateRange = (function (_super) { var _this = _super.call(this, props, context) || this; _this.startId = makeGuid_1.default(); _this.endId = makeGuid_1.default(); + _this.versionTwoStart = new Date(2017, 1, 1); _this.maxRange = Math.round(_this.props.maxRange) - 1; _this.minRange = typeof _this.props['minRange'] == 'number' ? Math.round(_this.props['minRange']) : 1; if (_this.minRange > _this.maxRange) { @@ -981,7 +982,7 @@ var DateRange = (function (_super) { DateRange.prototype.componentDidMount = function () { this.startInput = document.getElementById(this.startId); this.endInput = document.getElementById(this.endId); - this.props.callback(this.start, this.end); + this.props.callback(this.start, this.end, this.version); }; Object.defineProperty(DateRange.prototype, "needReset", { get: function () { @@ -990,7 +991,49 @@ var DateRange = (function (_super) { enumerable: true, configurable: true }); + Object.defineProperty(DateRange.prototype, "versionSpan", { + get: function () { + if (this.start < this.versionTwoStart && this.end >= this.versionTwoStart) { + return true; + } + else if (fixDate.dateToString(this.versionTwoStart) === fixDate.dateToString(this.end) && this.start < this.versionTwoStart) { + return true; + } + return false; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(DateRange.prototype, "version", { + get: function () { + if (fixDate.dateToString(this.start) == fixDate.dateToString(this.versionTwoStart)) { + return 2; + } + else if (this.start >= this.versionTwoStart) { + return 2; + } + return 1; + }, + enumerable: true, + configurable: true + }); + DateRange.prototype.finalizeChange = function () { + if (this.props.npmrds) { + if (this.versionSpan) { + this.start = this.previousStart; + this.end = this.previousEnd; + this.startInput.value = fixDate.dateToString(this.start); + this.endInput.value = fixDate.dateToString(this.end); + this.setNumDays(); + alert("Start and End dates must not span version break: " + fixDate.dateToString(this.versionTwoStart)); + return; + } + } + this.props.callback(this.start, this.end, this.version); + }; DateRange.prototype.setStart = function (s) { + this.previousStart = new Date(this.start); + this.previousEnd = new Date(this.end); this.start = s; this.setNumDays(); if (this.needReset) { @@ -1004,9 +1047,11 @@ var DateRange = (function (_super) { this.endInput.value = fixDate.dateToString(this.end); this.setNumDays(); } - this.props.callback(this.start, this.end); + this.finalizeChange(); }; DateRange.prototype.setEnd = function (s) { + this.previousStart = new Date(this.start); + this.previousEnd = new Date(this.end); this.end = s; this.setNumDays(); if (this.needReset) { @@ -1020,7 +1065,7 @@ var DateRange = (function (_super) { this.startInput.value = fixDate.dateToString(this.start); this.setNumDays(); } - this.props.callback(this.start, this.end); + this.finalizeChange(); }; DateRange.prototype.render = function () { var _this = this; @@ -1038,7 +1083,7 @@ exports.DateRange = DateRange; /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Symbol_js__ = __webpack_require__(12); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Symbol_js__ = __webpack_require__(17); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__getRawTag_js__ = __webpack_require__(33); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__objectToString_js__ = __webpack_require__(34); @@ -1081,7 +1126,7 @@ var freeGlobal = typeof global == 'object' && global && global.Object === Object /* harmony default export */ __webpack_exports__["a"] = freeGlobal; -/* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(18))) +/* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(23))) /***/ }), /* 32 */ @@ -1102,7 +1147,7 @@ var getPrototype = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__overArg_js /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Symbol_js__ = __webpack_require__(12); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Symbol_js__ = __webpack_require__(17); /** Used for built-in method references. */ @@ -1260,7 +1305,7 @@ function isObjectLike(value) { /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__compose__ = __webpack_require__(15); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__compose__ = __webpack_require__(20); /* harmony export (immutable) */ __webpack_exports__["a"] = applyMiddleware; var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; @@ -1370,9 +1415,9 @@ function bindActionCreators(actionCreators, dispatch) { /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -/* WEBPACK VAR INJECTION */(function(process) {/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__createStore__ = __webpack_require__(16); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_lodash_es_isPlainObject__ = __webpack_require__(13); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__utils_warning__ = __webpack_require__(17); +/* WEBPACK VAR INJECTION */(function(process) {/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__createStore__ = __webpack_require__(21); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_lodash_es_isPlainObject__ = __webpack_require__(18); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__utils_warning__ = __webpack_require__(22); /* harmony export (immutable) */ __webpack_exports__["a"] = combineReducers; @@ -1504,7 +1549,7 @@ function combineReducers(reducers) { return hasChanged ? nextState : state; }; } -/* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(14))) +/* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(19))) /***/ }), /* 41 */ @@ -1547,7 +1592,7 @@ if (typeof self !== 'undefined') { var result = (0, _ponyfill2['default'])(root); exports['default'] = result; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(18), __webpack_require__(44)(module))) +/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(23), __webpack_require__(44)(module))) /***/ }), /* 43 */ @@ -1648,10 +1693,10 @@ exports.dateToString = dateToString; "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -var reactAndRedux_1 = __webpack_require__(9); -var DatePick_1 = __webpack_require__(20); +var reactAndRedux_1 = __webpack_require__(10); +var DatePick_1 = __webpack_require__(24); var DateRange_1 = __webpack_require__(29); -var actions = __webpack_require__(10); +var actions = __webpack_require__(11); exports.DatePickConnected = reactAndRedux_1.connect(function (state) { return { label: 'Date Picker Connected', @@ -1672,11 +1717,13 @@ exports.DateRangeConnected = reactAndRedux_1.connect(function (state) { maxRange: 10, start: state.twoDates.start, end: state.twoDates.end, + initialEnd: state.twoDates.end, + npmrds: true }; }, function (dispatch) { return { - callback: function (s, e) { - dispatch({ type: actions.SET_TWO_DATES, start: s, end: e }); + callback: function (s, e, version) { + dispatch({ type: actions.SET_TWO_DATES, start: s, end: e, version: version }); } }; })(DateRange_1.DateRange); diff --git a/test/serve/js/reacttst_connect.js.map b/test/serve/js/reacttst_connect.js.map index bc111334ccc4fe9e5f435c16900d77c12b376503..56dd0442804ab9c4c1f91cf061863e572c5a1aa5 100644 --- a/test/serve/js/reacttst_connect.js.map +++ b/test/serve/js/reacttst_connect.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap b7d91eb15b0b6dcf7ee0?08c4*","webpack:///./src/util/provide.ts?5c82","webpack:///external \"$\"?57aa","webpack:///./src/util/makeGuid.ts?e80e","webpack:///./src/reactComponents/reactAndRedux.ts?5359","webpack:///./src/_tests/demos/reacttst_actions.ts?2a10","webpack:///./~/lodash-es/_Symbol.js?eec2","webpack:///./~/lodash-es/isPlainObject.js?3f96","webpack:///./~/process/browser.js?b777","webpack:///./~/redux/es/compose.js?c271","webpack:///./~/redux/es/createStore.js?732e","webpack:///./~/redux/es/utils/warning.js?a530","webpack:///(webpack)/buildin/global.js?9e04","webpack:///./src/reactComponents/DatePick.tsx?4f14","webpack:///./~/redux/es/index.js?10ac","webpack:///./src/reactComponents/DateRange.tsx?3742","webpack:///./~/lodash-es/_baseGetTag.js?7715","webpack:///./~/lodash-es/_freeGlobal.js?f5ff","webpack:///./~/lodash-es/_getPrototype.js?51c7","webpack:///./~/lodash-es/_getRawTag.js?dc49","webpack:///./~/lodash-es/_objectToString.js?b181","webpack:///./~/lodash-es/_overArg.js?d6db","webpack:///./~/lodash-es/_root.js?490e","webpack:///./~/lodash-es/isObjectLike.js?bb06","webpack:///./~/redux/es/applyMiddleware.js?83f5","webpack:///./~/redux/es/bindActionCreators.js?f699","webpack:///./~/redux/es/combineReducers.js?5dc8","webpack:///./~/symbol-observable/index.js?8c2f","webpack:///./~/symbol-observable/lib/index.js?5723","webpack:///./~/symbol-observable/lib/ponyfill.js?f7ae","webpack:///(webpack)/buildin/module.js?5171","webpack:///./src/reactComponents/helpers/dateFormat.ts?15b3","webpack:///./src/_tests/demos/reacttst_connect.ts?a84f","webpack:///external \"React\"?9de9","webpack:///external \"ReactDOM\"?4ab4","webpack:///external \"ReactRedux\"?b564"],"names":[],"mappings":"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ACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,2BAA2B;AAC3B;AACA;AACA;AACA,4BAA4B,UAAU;;;;;;;;ACnLtC;AAAA;AACA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB,aAAa,SAAS;AACtB;AACA;AACA;;AAEA;AACA,kEAAkE,aAAa;AAC/E;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH,C;;;;;;;;;;;;AC/BA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,SAAS;AACtB;AACA;AACA,aAAa,IAAI;AACjB;AACA;AACA;AACA;AACA;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB;AACA;AACA,EAAE;AACF;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,IAAI;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,SAAS;AACtB,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,SAAS;AACtB,eAAe;AACf;AACA;AACA;AACA;AACA;;AAEA;AACA,cAAc,yBAAyB;AACvC;;AAEA;AACA;AACA,eAAe,WAAW;AAC1B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA,mBAAmB,aAAa;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,gBAAgB;AAChB;AACA,KAAK;AACL;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,YAAY,yBAAyB;;AAErC;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,C;;;;;;;ACvPA;AAAA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA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;;;;;;;;ACdA;;AAEA;AACA;;AAEA;AACA;;AAEA;;;;;;;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;AC5BA;AAAA,mDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB,aAAa,SAAS;AACtB;AACA;AACA,wEAAwE,aAAa;AACrF;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA,wBAAwB;AACxB;AACA,OAAO;AACP;AACA;AACA,C;;;;;;;AC/CA;AAAA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA,aAAa,gBAAgB;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB,iBAAiB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,C;;;;;;;;;;;AC9CsB;AACtB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,mEAAmE;AACnE;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,2CAA2C,+EAAyB;;AAEpE;AACA;AACA;;AAEA;AACA,mCAAmC,aAAa;AAChD;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AA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","file":"reacttst_connect.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 48);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap b7d91eb15b0b6dcf7ee0","/**\r\n * Created by gavorhes on 12/10/2015.\r\n */\r\n\r\ndeclare const window: Window;\r\n/**\r\n * create a namespace on the gv object\r\n * @param {string} namespace to create\r\n * @returns {object} object representing the namespace\r\n */\r\nfunction provide(namespace: string){\r\n \"use strict\";\r\n if (typeof (<any>window).gv == 'undefined'){\r\n (<any>window).gv = {};\r\n }\r\n\r\n let parts = namespace.split('.');\r\n let nameSpace = (<any>window).gv;\r\n\r\n for (let i=0; i< parts.length; i++){\r\n let newObject = nameSpace[parts[i]];\r\n\r\n if (typeof newObject == 'undefined'){\r\n nameSpace[parts[i]] = {};\r\n }\r\n\r\n nameSpace = nameSpace[parts[i]];\r\n }\r\n\r\n return nameSpace;\r\n}\r\n\r\nprovide('util');\r\n(<any>window).gv.util.provide = provide;\r\n\r\nexport default provide;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/util/provide.ts","module.exports = $;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"$\"\n// module id = 1\n// module chunks = 0 1 2 4 5 6 7 8 9","/**\r\n * Created by gavorhes on 11/3/2015.\r\n */\r\n\r\nimport provide from './provide';\r\nlet nm = provide('util');\r\n\r\n\r\n/**\r\n * guids are used to uniquely identify groups and features\r\n * @returns {string} a new guid\r\n */\r\nexport function makeGuid() {\r\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'\r\n .replace(/[xy]/g, function (c) {\r\n let r = Math.random() * 16 | 0, v = c == 'x' ? r : r & 0x3 | 0x8;\r\n\r\n return v.toString(16);\r\n });\r\n\r\n}\r\nnm.makeGuid = makeGuid;\r\nexport default makeGuid;\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/util/makeGuid.ts","/**\r\n * Created by glenn on 6/12/2017.\r\n */\r\nexport import React = require('react');\r\nexport import ReactDom = require('react-dom');\r\nexport import ReactRedux = require('react-redux');\r\nexport import Redux = require('redux');\r\n\r\nexport const connect = ReactRedux.connect;\r\nexport const Provider = ReactRedux.Provider;\r\nexport const combineReducers = Redux.combineReducers;\r\nexport const createStore = Redux.createStore;\r\n\r\nexport interface iAction extends Redux.Action{\r\n}\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/reactComponents/reactAndRedux.ts","\r\n\r\nexport const SET_ONE_DATE = 'set one date';\r\nexport const SET_TWO_DATES = 'set two dates';\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/_tests/demos/reacttst_actions.ts","import root from './_root.js';\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nexport default Symbol;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash-es/_Symbol.js\n// module id = 12\n// module chunks = 0 1 3","import baseGetTag from './_baseGetTag.js';\nimport getPrototype from './_getPrototype.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n}\n\nexport default isPlainObject;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash-es/isPlainObject.js\n// module id = 13\n// module chunks = 0 1 3","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/process/browser.js\n// module id = 14\n// module chunks = 0 1 3","/**\n * Composes single-argument functions from right to left. The rightmost\n * function can take multiple arguments as it provides the signature for\n * the resulting composite function.\n *\n * @param {...Function} funcs The functions to compose.\n * @returns {Function} A function obtained by composing the argument functions\n * from right to left. For example, compose(f, g, h) is identical to doing\n * (...args) => f(g(h(...args))).\n */\n\nexport default function compose() {\n for (var _len = arguments.length, funcs = Array(_len), _key = 0; _key < _len; _key++) {\n funcs[_key] = arguments[_key];\n }\n\n if (funcs.length === 0) {\n return function (arg) {\n return arg;\n };\n }\n\n if (funcs.length === 1) {\n return funcs[0];\n }\n\n return funcs.reduce(function (a, b) {\n return function () {\n return a(b.apply(undefined, arguments));\n };\n });\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/redux/es/compose.js\n// module id = 15\n// module chunks = 0 1 3","import isPlainObject from 'lodash-es/isPlainObject';\nimport $$observable from 'symbol-observable';\n\n/**\n * These are private action types reserved by Redux.\n * For any unknown actions, you must return the current state.\n * If the current state is undefined, you must return the initial state.\n * Do not reference these action types directly in your code.\n */\nexport var ActionTypes = {\n INIT: '@@redux/INIT'\n\n /**\n * Creates a Redux store that holds the state tree.\n * The only way to change the data in the store is to call `dispatch()` on it.\n *\n * There should only be a single store in your app. To specify how different\n * parts of the state tree respond to actions, you may combine several reducers\n * into a single reducer function by using `combineReducers`.\n *\n * @param {Function} reducer A function that returns the next state tree, given\n * the current state tree and the action to handle.\n *\n * @param {any} [preloadedState] The initial state. You may optionally specify it\n * to hydrate the state from the server in universal apps, or to restore a\n * previously serialized user session.\n * If you use `combineReducers` to produce the root reducer function, this must be\n * an object with the same shape as `combineReducers` keys.\n *\n * @param {Function} [enhancer] The store enhancer. You may optionally specify it\n * to enhance the store with third-party capabilities such as middleware,\n * time travel, persistence, etc. The only store enhancer that ships with Redux\n * is `applyMiddleware()`.\n *\n * @returns {Store} A Redux store that lets you read the state, dispatch actions\n * and subscribe to changes.\n */\n};export default function createStore(reducer, preloadedState, enhancer) {\n var _ref2;\n\n if (typeof preloadedState === 'function' && typeof enhancer === 'undefined') {\n enhancer = preloadedState;\n preloadedState = undefined;\n }\n\n if (typeof enhancer !== 'undefined') {\n if (typeof enhancer !== 'function') {\n throw new Error('Expected the enhancer to be a function.');\n }\n\n return enhancer(createStore)(reducer, preloadedState);\n }\n\n if (typeof reducer !== 'function') {\n throw new Error('Expected the reducer to be a function.');\n }\n\n var currentReducer = reducer;\n var currentState = preloadedState;\n var currentListeners = [];\n var nextListeners = currentListeners;\n var isDispatching = false;\n\n function ensureCanMutateNextListeners() {\n if (nextListeners === currentListeners) {\n nextListeners = currentListeners.slice();\n }\n }\n\n /**\n * Reads the state tree managed by the store.\n *\n * @returns {any} The current state tree of your application.\n */\n function getState() {\n return currentState;\n }\n\n /**\n * Adds a change listener. It will be called any time an action is dispatched,\n * and some part of the state tree may potentially have changed. You may then\n * call `getState()` to read the current state tree inside the callback.\n *\n * You may call `dispatch()` from a change listener, with the following\n * caveats:\n *\n * 1. The subscriptions are snapshotted just before every `dispatch()` call.\n * If you subscribe or unsubscribe while the listeners are being invoked, this\n * will not have any effect on the `dispatch()` that is currently in progress.\n * However, the next `dispatch()` call, whether nested or not, will use a more\n * recent snapshot of the subscription list.\n *\n * 2. The listener should not expect to see all state changes, as the state\n * might have been updated multiple times during a nested `dispatch()` before\n * the listener is called. It is, however, guaranteed that all subscribers\n * registered before the `dispatch()` started will be called with the latest\n * state by the time it exits.\n *\n * @param {Function} listener A callback to be invoked on every dispatch.\n * @returns {Function} A function to remove this change listener.\n */\n function subscribe(listener) {\n if (typeof listener !== 'function') {\n throw new Error('Expected listener to be a function.');\n }\n\n var isSubscribed = true;\n\n ensureCanMutateNextListeners();\n nextListeners.push(listener);\n\n return function unsubscribe() {\n if (!isSubscribed) {\n return;\n }\n\n isSubscribed = false;\n\n ensureCanMutateNextListeners();\n var index = nextListeners.indexOf(listener);\n nextListeners.splice(index, 1);\n };\n }\n\n /**\n * Dispatches an action. It is the only way to trigger a state change.\n *\n * The `reducer` function, used to create the store, will be called with the\n * current state tree and the given `action`. Its return value will\n * be considered the **next** state of the tree, and the change listeners\n * will be notified.\n *\n * The base implementation only supports plain object actions. If you want to\n * dispatch a Promise, an Observable, a thunk, or something else, you need to\n * wrap your store creating function into the corresponding middleware. For\n * example, see the documentation for the `redux-thunk` package. Even the\n * middleware will eventually dispatch plain object actions using this method.\n *\n * @param {Object} action A plain object representing “what changed”. It is\n * a good idea to keep actions serializable so you can record and replay user\n * sessions, or use the time travelling `redux-devtools`. An action must have\n * a `type` property which may not be `undefined`. It is a good idea to use\n * string constants for action types.\n *\n * @returns {Object} For convenience, the same action object you dispatched.\n *\n * Note that, if you use a custom middleware, it may wrap `dispatch()` to\n * return something else (for example, a Promise you can await).\n */\n function dispatch(action) {\n if (!isPlainObject(action)) {\n throw new Error('Actions must be plain objects. ' + 'Use custom middleware for async actions.');\n }\n\n if (typeof action.type === 'undefined') {\n throw new Error('Actions may not have an undefined \"type\" property. ' + 'Have you misspelled a constant?');\n }\n\n if (isDispatching) {\n throw new Error('Reducers may not dispatch actions.');\n }\n\n try {\n isDispatching = true;\n currentState = currentReducer(currentState, action);\n } finally {\n isDispatching = false;\n }\n\n var listeners = currentListeners = nextListeners;\n for (var i = 0; i < listeners.length; i++) {\n var listener = listeners[i];\n listener();\n }\n\n return action;\n }\n\n /**\n * Replaces the reducer currently used by the store to calculate the state.\n *\n * You might need this if your app implements code splitting and you want to\n * load some of the reducers dynamically. You might also need this if you\n * implement a hot reloading mechanism for Redux.\n *\n * @param {Function} nextReducer The reducer for the store to use instead.\n * @returns {void}\n */\n function replaceReducer(nextReducer) {\n if (typeof nextReducer !== 'function') {\n throw new Error('Expected the nextReducer to be a function.');\n }\n\n currentReducer = nextReducer;\n dispatch({ type: ActionTypes.INIT });\n }\n\n /**\n * Interoperability point for observable/reactive libraries.\n * @returns {observable} A minimal observable of state changes.\n * For more information, see the observable proposal:\n * https://github.com/tc39/proposal-observable\n */\n function observable() {\n var _ref;\n\n var outerSubscribe = subscribe;\n return _ref = {\n /**\n * The minimal observable subscription method.\n * @param {Object} observer Any object that can be used as an observer.\n * The observer object should have a `next` method.\n * @returns {subscription} An object with an `unsubscribe` method that can\n * be used to unsubscribe the observable from the store, and prevent further\n * emission of values from the observable.\n */\n subscribe: function subscribe(observer) {\n if (typeof observer !== 'object') {\n throw new TypeError('Expected the observer to be an object.');\n }\n\n function observeState() {\n if (observer.next) {\n observer.next(getState());\n }\n }\n\n observeState();\n var unsubscribe = outerSubscribe(observeState);\n return { unsubscribe: unsubscribe };\n }\n }, _ref[$$observable] = function () {\n return this;\n }, _ref;\n }\n\n // When a store is created, an \"INIT\" action is dispatched so that every\n // reducer returns their initial state. This effectively populates\n // the initial state tree.\n dispatch({ type: ActionTypes.INIT });\n\n return _ref2 = {\n dispatch: dispatch,\n subscribe: subscribe,\n getState: getState,\n replaceReducer: replaceReducer\n }, _ref2[$$observable] = observable, _ref2;\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/redux/es/createStore.js\n// module id = 16\n// module chunks = 0 1 3","/**\n * Prints a warning in the console if it exists.\n *\n * @param {String} message The warning message.\n * @returns {void}\n */\nexport default function warning(message) {\n /* eslint-disable no-console */\n if (typeof console !== 'undefined' && typeof console.error === 'function') {\n console.error(message);\n }\n /* eslint-enable no-console */\n try {\n // This error was thrown as a convenience so that if you enable\n // \"break on all exceptions\" in your console,\n // it would pause the execution at this line.\n throw new Error(message);\n /* eslint-disable no-empty */\n } catch (e) {}\n /* eslint-enable no-empty */\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/redux/es/utils/warning.js\n// module id = 17\n// module chunks = 0 1 3","var g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1,eval)(\"this\");\r\n} catch(e) {\r\n\t// This works if the window reference is available\r\n\tif(typeof window === \"object\")\r\n\t\tg = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// (webpack)/buildin/global.js\n// module id = 18\n// module chunks = 0 1 3","/**\r\n * Created by glenn on 6/14/2017.\r\n */\r\n\r\n\r\nimport {React} from './reactAndRedux';\r\nimport $ = require('jquery');\r\nimport 'jquery-ui';\r\nimport makeGuid from '../util/makeGuid';\r\n\r\nimport {dateToString, stringToDate} from './helpers/dateFormat';\r\n\r\nexport interface iDatePick{\r\n label: string;\r\n id?: string;\r\n initialDate?: Date;\r\n change: (val: Date) => any;\r\n val?: Date\r\n}\r\n\r\n/**\r\n * params label, id, initialDate, change callback with value as string\r\n */\r\nexport class DatePick extends React.Component<iDatePick, null> {\r\n private elId: string;\r\n\r\n constructor(props: iDatePick, context: Object){\r\n super(props, context);\r\n this.elId = this.props.id || makeGuid();\r\n }\r\n\r\n componentDidMount() {\r\n let $el = $('#' + this.elId);\r\n\r\n $el.datepicker(\r\n {\r\n onSelect: () => {\r\n this.props.change(stringToDate($el.val()));\r\n }\r\n }\r\n );\r\n }\r\n\r\n render() {\r\n let params = {\r\n id: this.elId,\r\n type: 'text',\r\n style: {margin: \"0 10px 0 5px\", width: '73px', textAlign: 'center'},\r\n readOnly: true\r\n };\r\n\r\n if (this.props.val){\r\n params['value'] = dateToString(this.props.val);\r\n } else {\r\n params['defaultValue'] = dateToString(this.props.initialDate || new Date());\r\n }\r\n\r\n\r\n return <span className=\"date-pick\">\r\n <label htmlFor={this.elId}>{this.props.label}</label>\r\n {/*<input id={this.elId} type=\"text\"*/}\r\n {/*style={{margin: \"0 10px 0 5px\", width: '73px', textAlign: 'center'}}*/}\r\n {/*defaultValue={dateToString(this.props.initialDate || new Date())}*/}\r\n {/*readOnly={true}*/}\r\n {/*/>*/}\r\n <input {...params}/>\r\n </span>\r\n }\r\n}\r\n\r\nexport default DatePick;\n\n\n// WEBPACK FOOTER //\n// ./src/reactComponents/DatePick.tsx","import createStore from './createStore';\nimport combineReducers from './combineReducers';\nimport bindActionCreators from './bindActionCreators';\nimport applyMiddleware from './applyMiddleware';\nimport compose from './compose';\nimport warning from './utils/warning';\n\n/*\n* This is a dummy function to check if the function name has been altered by minification.\n* If the function has been minified and NODE_ENV !== 'production', warn the user.\n*/\nfunction isCrushed() {}\n\nif (process.env.NODE_ENV !== 'production' && typeof isCrushed.name === 'string' && isCrushed.name !== 'isCrushed') {\n warning('You are currently using minified code outside of NODE_ENV === \\'production\\'. ' + 'This means that you are running a slower development build of Redux. ' + 'You can use loose-envify (https://github.com/zertosh/loose-envify) for browserify ' + 'or DefinePlugin for webpack (http://stackoverflow.com/questions/30030031) ' + 'to ensure you have the correct code for your production build.');\n}\n\nexport { createStore, combineReducers, bindActionCreators, applyMiddleware, compose };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/redux/es/index.js\n// module id = 27\n// module chunks = 0 1 3","/**\r\n * Created by glenn on 6/12/2017.\r\n */\r\n\r\nimport {React} from './reactAndRedux';\r\nimport $ = require('jquery');\r\nimport 'jquery-ui';\r\nimport makeGuid from '../util/makeGuid';\r\nimport * as fixDate from './helpers/dateFormat';\r\nimport DatePick from './DatePick';\r\n\r\nfunction stringToDate(dte: string|Date){\r\n if ((dte as Date).getTime){\r\n return dte as Date;\r\n } else {\r\n return new Date(dte);\r\n }\r\n}\r\n\r\nexport interface iDateRange{\r\n maxRange: number;\r\n callback: (start: Date, end: Date) => any;\r\n minRange?: number;\r\n maxDate?: Date;\r\n minDate?: Date;\r\n initialEnd?: Date;\r\n start?: Date;\r\n end?: Date;\r\n}\r\n\r\n\r\nexport class DateRange extends React.Component<iDateRange, null> {\r\n startId = makeGuid();\r\n endId = makeGuid();\r\n startInput: HTMLInputElement;\r\n endInput: HTMLInputElement;\r\n start: Date;\r\n end: Date;\r\n maxRange: number;\r\n minRange: number;\r\n numDays: number;\r\n\r\n\r\n constructor(props: iDateRange, context: Object) {\r\n super(props, context);\r\n\r\n this.maxRange = Math.round(this.props.maxRange) - 1;\r\n this.minRange = typeof this.props['minRange'] == 'number' ? Math.round(this.props['minRange']) : 1;\r\n\r\n if (this.minRange > this.maxRange) {\r\n throw \"DateRange component: Max range must be greater than min range\";\r\n }\r\n\r\n if (this.props.initialEnd){\r\n this.end = stringToDate(this.props.initialEnd)\r\n } else {\r\n this.end = new Date();\r\n }\r\n\r\n this.end.setHours(0, 0, 0);\r\n this.start = new Date(this.end);\r\n this.start.setDate(this.start.getDate() - this.maxRange);\r\n this.setNumDays();\r\n }\r\n\r\n setNumDays() {\r\n this.numDays = Math.round((this.end.getTime() - this.start.getTime()) / (1000 * 60 * 60 * 24)) + 1;\r\n }\r\n\r\n\r\n componentDidMount() {\r\n this.startInput = document.getElementById(this.startId) as HTMLInputElement;\r\n this.endInput = document.getElementById(this.endId) as HTMLInputElement;\r\n this.props.callback(this.start, this.end);\r\n }\r\n\r\n private get needReset(): boolean {\r\n return this.numDays > this.maxRange || this.numDays < this.minRange;\r\n }\r\n\r\n private setStart(s: Date) {\r\n this.start = s;\r\n this.setNumDays();\r\n\r\n if (this.needReset) {\r\n this.end = new Date(this.start);\r\n\r\n if (this.numDays > this.maxRange) {\r\n this.end.setDate(this.end.getDate() + this.maxRange);\r\n } else {\r\n this.end.setDate(this.end.getDate() + this.minRange - 1);\r\n }\r\n\r\n this.endInput.value = fixDate.dateToString(this.end);\r\n this.setNumDays();\r\n }\r\n this.props.callback(this.start, this.end);\r\n }\r\n\r\n private setEnd(s: Date) {\r\n this.end = s;\r\n this.setNumDays();\r\n\r\n if (this.needReset) {\r\n this.start = new Date(this.end);\r\n\r\n if (this.numDays > this.maxRange) {\r\n this.start.setDate(this.start.getDate() - this.maxRange);\r\n } else {\r\n this.start.setDate(this.start.getDate() - this.minRange + 1);\r\n }\r\n\r\n this.startInput.value = fixDate.dateToString(this.start);\r\n this.setNumDays();\r\n }\r\n this.props.callback(this.start, this.end);\r\n }\r\n\r\n render() {\r\n return <div className=\"date-range\">\r\n <DatePick id={this.startId} label=\"Start\" initialDate={this.start} change={(s) => {this.setStart(s)}}/>\r\n <DatePick id={this.endId} label=\"End\" initialDate={this.end} change={(s) => {this.setEnd(s)}}/>\r\n </div>;\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/reactComponents/DateRange.tsx","import Symbol from './_Symbol.js';\nimport getRawTag from './_getRawTag.js';\nimport objectToString from './_objectToString.js';\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nexport default baseGetTag;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash-es/_baseGetTag.js\n// module id = 30\n// module chunks = 0 1 3","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nexport default freeGlobal;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash-es/_freeGlobal.js\n// module id = 31\n// module chunks = 0 1 3","import overArg from './_overArg.js';\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nexport default getPrototype;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash-es/_getPrototype.js\n// module id = 32\n// module chunks = 0 1 3","import Symbol from './_Symbol.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nexport default getRawTag;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash-es/_getRawTag.js\n// module id = 33\n// module chunks = 0 1 3","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nexport default objectToString;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash-es/_objectToString.js\n// module id = 34\n// module chunks = 0 1 3","/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nexport default overArg;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash-es/_overArg.js\n// module id = 35\n// module chunks = 0 1 3","import freeGlobal from './_freeGlobal.js';\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nexport default root;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash-es/_root.js\n// module id = 36\n// module chunks = 0 1 3","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nexport default isObjectLike;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash-es/isObjectLike.js\n// module id = 37\n// module chunks = 0 1 3","var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nimport compose from './compose';\n\n/**\n * Creates a store enhancer that applies middleware to the dispatch method\n * of the Redux store. This is handy for a variety of tasks, such as expressing\n * asynchronous actions in a concise manner, or logging every action payload.\n *\n * See `redux-thunk` package as an example of the Redux middleware.\n *\n * Because middleware is potentially asynchronous, this should be the first\n * store enhancer in the composition chain.\n *\n * Note that each middleware will be given the `dispatch` and `getState` functions\n * as named arguments.\n *\n * @param {...Function} middlewares The middleware chain to be applied.\n * @returns {Function} A store enhancer applying the middleware.\n */\nexport default function applyMiddleware() {\n for (var _len = arguments.length, middlewares = Array(_len), _key = 0; _key < _len; _key++) {\n middlewares[_key] = arguments[_key];\n }\n\n return function (createStore) {\n return function (reducer, preloadedState, enhancer) {\n var store = createStore(reducer, preloadedState, enhancer);\n var _dispatch = store.dispatch;\n var chain = [];\n\n var middlewareAPI = {\n getState: store.getState,\n dispatch: function dispatch(action) {\n return _dispatch(action);\n }\n };\n chain = middlewares.map(function (middleware) {\n return middleware(middlewareAPI);\n });\n _dispatch = compose.apply(undefined, chain)(store.dispatch);\n\n return _extends({}, store, {\n dispatch: _dispatch\n });\n };\n };\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/redux/es/applyMiddleware.js\n// module id = 38\n// module chunks = 0 1 3","function bindActionCreator(actionCreator, dispatch) {\n return function () {\n return dispatch(actionCreator.apply(undefined, arguments));\n };\n}\n\n/**\n * Turns an object whose values are action creators, into an object with the\n * same keys, but with every function wrapped into a `dispatch` call so they\n * may be invoked directly. This is just a convenience method, as you can call\n * `store.dispatch(MyActionCreators.doSomething())` yourself just fine.\n *\n * For convenience, you can also pass a single function as the first argument,\n * and get a function in return.\n *\n * @param {Function|Object} actionCreators An object whose values are action\n * creator functions. One handy way to obtain it is to use ES6 `import * as`\n * syntax. You may also pass a single function.\n *\n * @param {Function} dispatch The `dispatch` function available on your Redux\n * store.\n *\n * @returns {Function|Object} The object mimicking the original object, but with\n * every action creator wrapped into the `dispatch` call. If you passed a\n * function as `actionCreators`, the return value will also be a single\n * function.\n */\nexport default function bindActionCreators(actionCreators, dispatch) {\n if (typeof actionCreators === 'function') {\n return bindActionCreator(actionCreators, dispatch);\n }\n\n if (typeof actionCreators !== 'object' || actionCreators === null) {\n throw new Error('bindActionCreators expected an object or a function, instead received ' + (actionCreators === null ? 'null' : typeof actionCreators) + '. ' + 'Did you write \"import ActionCreators from\" instead of \"import * as ActionCreators from\"?');\n }\n\n var keys = Object.keys(actionCreators);\n var boundActionCreators = {};\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n var actionCreator = actionCreators[key];\n if (typeof actionCreator === 'function') {\n boundActionCreators[key] = bindActionCreator(actionCreator, dispatch);\n }\n }\n return boundActionCreators;\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/redux/es/bindActionCreators.js\n// module id = 39\n// module chunks = 0 1 3","import { ActionTypes } from './createStore';\nimport isPlainObject from 'lodash-es/isPlainObject';\nimport warning from './utils/warning';\n\nfunction getUndefinedStateErrorMessage(key, action) {\n var actionType = action && action.type;\n var actionName = actionType && '\"' + actionType.toString() + '\"' || 'an action';\n\n return 'Given action ' + actionName + ', reducer \"' + key + '\" returned undefined. ' + 'To ignore an action, you must explicitly return the previous state. ' + 'If you want this reducer to hold no value, you can return null instead of undefined.';\n}\n\nfunction getUnexpectedStateShapeWarningMessage(inputState, reducers, action, unexpectedKeyCache) {\n var reducerKeys = Object.keys(reducers);\n var argumentName = action && action.type === ActionTypes.INIT ? 'preloadedState argument passed to createStore' : 'previous state received by the reducer';\n\n if (reducerKeys.length === 0) {\n return 'Store does not have a valid reducer. Make sure the argument passed ' + 'to combineReducers is an object whose values are reducers.';\n }\n\n if (!isPlainObject(inputState)) {\n return 'The ' + argumentName + ' has unexpected type of \"' + {}.toString.call(inputState).match(/\\s([a-z|A-Z]+)/)[1] + '\". Expected argument to be an object with the following ' + ('keys: \"' + reducerKeys.join('\", \"') + '\"');\n }\n\n var unexpectedKeys = Object.keys(inputState).filter(function (key) {\n return !reducers.hasOwnProperty(key) && !unexpectedKeyCache[key];\n });\n\n unexpectedKeys.forEach(function (key) {\n unexpectedKeyCache[key] = true;\n });\n\n if (unexpectedKeys.length > 0) {\n return 'Unexpected ' + (unexpectedKeys.length > 1 ? 'keys' : 'key') + ' ' + ('\"' + unexpectedKeys.join('\", \"') + '\" found in ' + argumentName + '. ') + 'Expected to find one of the known reducer keys instead: ' + ('\"' + reducerKeys.join('\", \"') + '\". Unexpected keys will be ignored.');\n }\n}\n\nfunction assertReducerShape(reducers) {\n Object.keys(reducers).forEach(function (key) {\n var reducer = reducers[key];\n var initialState = reducer(undefined, { type: ActionTypes.INIT });\n\n if (typeof initialState === 'undefined') {\n throw new Error('Reducer \"' + key + '\" returned undefined during initialization. ' + 'If the state passed to the reducer is undefined, you must ' + 'explicitly return the initial state. The initial state may ' + 'not be undefined. If you don\\'t want to set a value for this reducer, ' + 'you can use null instead of undefined.');\n }\n\n var type = '@@redux/PROBE_UNKNOWN_ACTION_' + Math.random().toString(36).substring(7).split('').join('.');\n if (typeof reducer(undefined, { type: type }) === 'undefined') {\n throw new Error('Reducer \"' + key + '\" returned undefined when probed with a random type. ' + ('Don\\'t try to handle ' + ActionTypes.INIT + ' or other actions in \"redux/*\" ') + 'namespace. They are considered private. Instead, you must return the ' + 'current state for any unknown actions, unless it is undefined, ' + 'in which case you must return the initial state, regardless of the ' + 'action type. The initial state may not be undefined, but can be null.');\n }\n });\n}\n\n/**\n * Turns an object whose values are different reducer functions, into a single\n * reducer function. It will call every child reducer, and gather their results\n * into a single state object, whose keys correspond to the keys of the passed\n * reducer functions.\n *\n * @param {Object} reducers An object whose values correspond to different\n * reducer functions that need to be combined into one. One handy way to obtain\n * it is to use ES6 `import * as reducers` syntax. The reducers may never return\n * undefined for any action. Instead, they should return their initial state\n * if the state passed to them was undefined, and the current state for any\n * unrecognized action.\n *\n * @returns {Function} A reducer function that invokes every reducer inside the\n * passed object, and builds a state object with the same shape.\n */\nexport default function combineReducers(reducers) {\n var reducerKeys = Object.keys(reducers);\n var finalReducers = {};\n for (var i = 0; i < reducerKeys.length; i++) {\n var key = reducerKeys[i];\n\n if (process.env.NODE_ENV !== 'production') {\n if (typeof reducers[key] === 'undefined') {\n warning('No reducer provided for key \"' + key + '\"');\n }\n }\n\n if (typeof reducers[key] === 'function') {\n finalReducers[key] = reducers[key];\n }\n }\n var finalReducerKeys = Object.keys(finalReducers);\n\n var unexpectedKeyCache = void 0;\n if (process.env.NODE_ENV !== 'production') {\n unexpectedKeyCache = {};\n }\n\n var shapeAssertionError = void 0;\n try {\n assertReducerShape(finalReducers);\n } catch (e) {\n shapeAssertionError = e;\n }\n\n return function combination() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var action = arguments[1];\n\n if (shapeAssertionError) {\n throw shapeAssertionError;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n var warningMessage = getUnexpectedStateShapeWarningMessage(state, finalReducers, action, unexpectedKeyCache);\n if (warningMessage) {\n warning(warningMessage);\n }\n }\n\n var hasChanged = false;\n var nextState = {};\n for (var _i = 0; _i < finalReducerKeys.length; _i++) {\n var _key = finalReducerKeys[_i];\n var reducer = finalReducers[_key];\n var previousStateForKey = state[_key];\n var nextStateForKey = reducer(previousStateForKey, action);\n if (typeof nextStateForKey === 'undefined') {\n var errorMessage = getUndefinedStateErrorMessage(_key, action);\n throw new Error(errorMessage);\n }\n nextState[_key] = nextStateForKey;\n hasChanged = hasChanged || nextStateForKey !== previousStateForKey;\n }\n return hasChanged ? nextState : state;\n };\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/redux/es/combineReducers.js\n// module id = 40\n// module chunks = 0 1 3","module.exports = require('./lib/index');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/symbol-observable/index.js\n// module id = 41\n// module chunks = 0 1 3","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _ponyfill = require('./ponyfill');\n\nvar _ponyfill2 = _interopRequireDefault(_ponyfill);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar root; /* global window */\n\n\nif (typeof self !== 'undefined') {\n root = self;\n} else if (typeof window !== 'undefined') {\n root = window;\n} else if (typeof global !== 'undefined') {\n root = global;\n} else if (typeof module !== 'undefined') {\n root = module;\n} else {\n root = Function('return this')();\n}\n\nvar result = (0, _ponyfill2['default'])(root);\nexports['default'] = result;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/symbol-observable/lib/index.js\n// module id = 42\n// module chunks = 0 1 3","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nexports['default'] = symbolObservablePonyfill;\nfunction symbolObservablePonyfill(root) {\n\tvar result;\n\tvar _Symbol = root.Symbol;\n\n\tif (typeof _Symbol === 'function') {\n\t\tif (_Symbol.observable) {\n\t\t\tresult = _Symbol.observable;\n\t\t} else {\n\t\t\tresult = _Symbol('observable');\n\t\t\t_Symbol.observable = result;\n\t\t}\n\t} else {\n\t\tresult = '@@observable';\n\t}\n\n\treturn result;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/symbol-observable/lib/ponyfill.js\n// module id = 43\n// module chunks = 0 1 3","module.exports = function(module) {\r\n\tif(!module.webpackPolyfill) {\r\n\t\tmodule.deprecate = function() {};\r\n\t\tmodule.paths = [];\r\n\t\t// module.parent = undefined by default\r\n\t\tif(!module.children) module.children = [];\r\n\t\tObject.defineProperty(module, \"loaded\", {\r\n\t\t\tenumerable: true,\r\n\t\t\tget: function() {\r\n\t\t\t\treturn module.l;\r\n\t\t\t}\r\n\t\t});\r\n\t\tObject.defineProperty(module, \"id\", {\r\n\t\t\tenumerable: true,\r\n\t\t\tget: function() {\r\n\t\t\t\treturn module.i;\r\n\t\t\t}\r\n\t\t});\r\n\t\tmodule.webpackPolyfill = 1;\r\n\t}\r\n\treturn module;\r\n};\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// (webpack)/buildin/module.js\n// module id = 44\n// module chunks = 0 1 3","/**\r\n * Created by glenn on 6/13/2017.\r\n */\r\n\r\nexport function stringToDate(dateStr: string): Date {\r\n let parts = dateStr.split('/');\r\n\r\n let mn = parseInt(parts[0]) - 1;\r\n let d = parseInt(parts[1]);\r\n let y = parseInt(parts[2]);\r\n\r\n let dte = new Date(y, mn, d);\r\n dte.setHours(0, 0, 0);\r\n\r\n return dte;\r\n}\r\n\r\nexport function dateToString(dte: Date, zeroPad:boolean = true): string {\r\n let mn = (dte.getMonth() + 1).toString();\r\n let d = dte.getDate().toString();\r\n\r\n if (zeroPad){\r\n mn = mn.length == 1 ? '0' + mn : mn;\r\n d = d.length == 1 ? '0' + d : d ;\r\n }\r\n\r\n return `${mn}/${d}/${dte.getFullYear()}`;\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/reactComponents/helpers/dateFormat.ts","import {connect} from '../../reactComponents/reactAndRedux';\r\nimport {iState} from './reacttst_store';\r\nimport {DatePick} from '../../reactComponents/DatePick';\r\nimport {DateRange} from '../../reactComponents/DateRange';\r\nimport * as actions from './reacttst_actions';\r\n\r\n\r\nexport const DatePickConnected = connect(\r\n (state: iState) => {\r\n return {\r\n label: 'Date Picker Connected',\r\n change: (v) => {\r\n console.log(v);\r\n },\r\n val: state.oneDate\r\n }\r\n },\r\n (dispatch) => {\r\n return {\r\n change: (v) => {\r\n dispatch({type: actions.SET_ONE_DATE, d: v});\r\n }\r\n }\r\n }\r\n)(DatePick);\r\n\r\n\r\nexport const DateRangeConnected = connect(\r\n (state: iState) => {\r\n return {\r\n maxRange: 10,\r\n start: state.twoDates.start,\r\n end: state.twoDates.end,\r\n }\r\n },\r\n (dispatch) => {\r\n return {\r\n callback: (s: Date, e: Date) => {\r\n dispatch({type: actions.SET_TWO_DATES, start: s, end: e});\r\n }\r\n }\r\n }\r\n)(DateRange);\r\n\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/_tests/demos/reacttst_connect.ts","module.exports = React;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"React\"\n// module id = 52\n// module chunks = 0 1","module.exports = ReactDOM;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"ReactDOM\"\n// module id = 53\n// module chunks = 0 1","module.exports = ReactRedux;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"ReactRedux\"\n// module id = 54\n// module chunks = 0 1"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/bootstrap 8202a2a62a94a60716cf?fdb4","webpack:///./src/util/provide.ts?5c82","webpack:///external \"$\"?57aa","webpack:///./src/util/makeGuid.ts?e80e","webpack:///./src/reactComponents/reactAndRedux.ts?5359","webpack:///./src/_tests/demos/reacttst_actions.ts?2a10","webpack:///./~/lodash-es/_Symbol.js?eec2","webpack:///./~/lodash-es/isPlainObject.js?3f96","webpack:///./~/process/browser.js?b777","webpack:///./~/redux/es/compose.js?c271","webpack:///./~/redux/es/createStore.js?732e","webpack:///./~/redux/es/utils/warning.js?a530","webpack:///(webpack)/buildin/global.js?9e04","webpack:///./src/reactComponents/DatePick.tsx?4f14","webpack:///./~/redux/es/index.js?10ac","webpack:///./src/reactComponents/DateRange.tsx?3742","webpack:///./~/lodash-es/_baseGetTag.js?7715","webpack:///./~/lodash-es/_freeGlobal.js?f5ff","webpack:///./~/lodash-es/_getPrototype.js?51c7","webpack:///./~/lodash-es/_getRawTag.js?dc49","webpack:///./~/lodash-es/_objectToString.js?b181","webpack:///./~/lodash-es/_overArg.js?d6db","webpack:///./~/lodash-es/_root.js?490e","webpack:///./~/lodash-es/isObjectLike.js?bb06","webpack:///./~/redux/es/applyMiddleware.js?83f5","webpack:///./~/redux/es/bindActionCreators.js?f699","webpack:///./~/redux/es/combineReducers.js?5dc8","webpack:///./~/symbol-observable/index.js?8c2f","webpack:///./~/symbol-observable/lib/index.js?5723","webpack:///./~/symbol-observable/lib/ponyfill.js?f7ae","webpack:///(webpack)/buildin/module.js?5171","webpack:///./src/reactComponents/helpers/dateFormat.ts?15b3","webpack:///./src/_tests/demos/reacttst_connect.ts?a84f","webpack:///external \"React\"?9de9","webpack:///external \"ReactDOM\"?4ab4","webpack:///external \"ReactRedux\"?b564"],"names":[],"mappings":"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AAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,2BAA2B;AAC3B;AACA;AACA;AACA,4BAA4B,UAAU;;;;;;;;ACnLtC;AAAA;AACA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB,aAAa,SAAS;AACtB;AACA;AACA;;AAEA;AACA,kEAAkE,aAAa;AAC/E;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH,C;;;;;;;;;;;;AC/BA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,SAAS;AACtB;AACA;AACA,aAAa,IAAI;AACjB;AACA;AACA;AACA;AACA;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB;AACA;AACA,EAAE;AACF;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,IAAI;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,SAAS;AACtB,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,SAAS;AACtB,eAAe;AACf;AACA;AACA;AACA;AACA;;AAEA;AACA,cAAc,yBAAyB;AACvC;;AAEA;AACA;AACA,eAAe,WAAW;AAC1B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA,mBAAmB,aAAa;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,gBAAgB;AAChB;AACA,KAAK;AACL;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,YAAY,yBAAyB;;AAErC;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,C;;;;;;;ACvPA;AAAA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AA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;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC7CA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;;ACrBA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;ACdA;;AAEA;AACA;;AAEA;AACA;;AAEA;;;;;;;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;AC5BA;AAAA,mDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB,aAAa,SAAS;AACtB;AACA;AACA,wEAAwE,aAAa;AACrF;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA,wBAAwB;AACxB;AACA,OAAO;AACP;AACA;AACA,C;;;;;;;AC/CA;AAAA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA,aAAa,gBAAgB;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB,iBAAiB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,C;;;;;;;;;;;AC9CsB;AACtB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,mEAAmE;AACnE;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,2CAA2C,+EAAyB;;AAEpE;AACA;AACA;;AAEA;AACA,mCAAmC,aAAa;AAChD;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA,iBAAiB,wBAAwB;AACzC;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,oBAAoB,8BAA8B;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,C;;;;;;;ACjIA;;;;;;;;sDCAA;;AAEA;AACA;AACA,CAAC;;AAED;;AAEA;;AAEA,sCAAsC,uCAAuC,kBAAkB;;AAE/F,SAAS;;;AAGT;AACA;AACA,CAAC;AACD;AACA,CAAC;AACD;AACA,CAAC;AACD;AACA,CAAC;AACD;AACA;;AAEA;AACA,4B;;;;;;;;AC5BA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,EAAE;AACF;AACA;;AAEA;AACA,E;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;;;;;;;ACrBA;;GAEG;;;AAEH,sBAA6B,OAAe;IACxC,IAAI,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAE/B,IAAI,EAAE,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IAChC,IAAI,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3B,IAAI,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAE3B,IAAI,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC;IAC7B,GAAG,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAEtB,MAAM,CAAC,GAAG,CAAC;AACf,CAAC;AAXD,oCAWC;AAED,sBAA6B,GAAS,EAAE,OAAsB;IAAtB,wCAAsB;IAC1D,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC;IACzC,IAAI,CAAC,GAAG,GAAG,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE,CAAC;IAEjC,EAAE,CAAC,CAAC,OAAO,CAAC,EAAC;QACT,EAAE,GAAG,EAAE,CAAC,MAAM,IAAI,CAAC,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,CAAC;QACpC,CAAC,GAAI,CAAC,CAAC,MAAM,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC,GAAI,CAAC,CAAE;IACvC,CAAC;IAED,MAAM,CAAI,EAAE,SAAI,CAAC,SAAI,GAAG,CAAC,WAAW,EAAI,CAAC;AAC7C,CAAC;AAVD,oCAUC;;;;;;;;;;;;AC3BD,8CAA4D;AAE5D,yCAAwD;AACxD,0CAA0D;AAC1D,sCAA8C;AAGjC,yBAAiB,GAAG,uBAAO,CACpC,UAAC,KAAa;IACV,MAAM,CAAC;QACH,KAAK,EAAE,uBAAuB;QAC9B,MAAM,EAAE,UAAC,CAAC;YACN,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QACnB,CAAC;QACD,GAAG,EAAE,KAAK,CAAC,OAAO;KACrB;AACL,CAAC,EACD,UAAC,QAAQ;IACL,MAAM,CAAC;QACH,MAAM,EAAE,UAAC,CAAC;YACN,QAAQ,CAAC,EAAC,IAAI,EAAE,OAAO,CAAC,YAAY,EAAE,CAAC,EAAE,CAAC,EAAC,CAAC,CAAC;QACjD,CAAC;KACJ;AACL,CAAC,CACJ,CAAC,mBAAQ,CAAC,CAAC;AAGC,0BAAkB,GAAG,uBAAO,CACrC,UAAC,KAAa;IACV,MAAM,CAAC;QACH,QAAQ,EAAE,EAAE;QACZ,KAAK,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK;QAC3B,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG;QACvB,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,GAAG;QAC9B,MAAM,EAAE,IAAI;KACf;AACL,CAAC,EACD,UAAC,QAAQ;IACL,MAAM,CAAC;QACH,QAAQ,EAAE,UAAC,CAAO,EAAE,CAAO,EAAE,OAAe;YACxC,QAAQ,CAAC,EAAC,IAAI,EAAE,OAAO,CAAC,aAAa,EAAE,KAAK,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,OAAO,EAAE,OAAO,EAAC,CAAC,CAAC;QAChF,CAAC;KACJ;AACL,CAAC,CACJ,CAAC,qBAAS,CAAC,CAAC;;;;;;;;;;AC5Cb,uB;;;;;;ACAA,0B;;;;;;ACAA,4B","file":"reacttst_connect.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 48);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 8202a2a62a94a60716cf","/**\r\n * Created by gavorhes on 12/10/2015.\r\n */\r\n\r\ndeclare const window: Window;\r\n/**\r\n * create a namespace on the gv object\r\n * @param {string} namespace to create\r\n * @returns {object} object representing the namespace\r\n */\r\nfunction provide(namespace: string){\r\n \"use strict\";\r\n if (typeof (<any>window).gv == 'undefined'){\r\n (<any>window).gv = {};\r\n }\r\n\r\n let parts = namespace.split('.');\r\n let nameSpace = (<any>window).gv;\r\n\r\n for (let i=0; i< parts.length; i++){\r\n let newObject = nameSpace[parts[i]];\r\n\r\n if (typeof newObject == 'undefined'){\r\n nameSpace[parts[i]] = {};\r\n }\r\n\r\n nameSpace = nameSpace[parts[i]];\r\n }\r\n\r\n return nameSpace;\r\n}\r\n\r\nprovide('util');\r\n(<any>window).gv.util.provide = provide;\r\n\r\nexport default provide;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/util/provide.ts","module.exports = $;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"$\"\n// module id = 1\n// module chunks = 0 1 2 4 5 6 7 8 9 10","/**\r\n * Created by gavorhes on 11/3/2015.\r\n */\r\n\r\nimport provide from './provide';\r\nlet nm = provide('util');\r\n\r\n\r\n/**\r\n * guids are used to uniquely identify groups and features\r\n * @returns {string} a new guid\r\n */\r\nexport function makeGuid() {\r\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'\r\n .replace(/[xy]/g, function (c) {\r\n let r = Math.random() * 16 | 0, v = c == 'x' ? r : r & 0x3 | 0x8;\r\n\r\n return v.toString(16);\r\n });\r\n\r\n}\r\nnm.makeGuid = makeGuid;\r\nexport default makeGuid;\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/util/makeGuid.ts","/**\r\n * Created by glenn on 6/12/2017.\r\n */\r\nexport import React = require('react');\r\nexport import ReactDom = require('react-dom');\r\nexport import ReactRedux = require('react-redux');\r\nexport import Redux = require('redux');\r\n\r\nexport const connect = ReactRedux.connect;\r\nexport const Provider = ReactRedux.Provider;\r\nexport const combineReducers = Redux.combineReducers;\r\nexport const createStore = Redux.createStore;\r\n\r\nexport interface iAction extends Redux.Action{\r\n}\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/reactComponents/reactAndRedux.ts","\r\n\r\nexport const SET_ONE_DATE = 'set one date';\r\nexport const SET_TWO_DATES = 'set two dates';\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/_tests/demos/reacttst_actions.ts","import root from './_root.js';\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nexport default Symbol;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash-es/_Symbol.js\n// module id = 17\n// module chunks = 0 1 3","import baseGetTag from './_baseGetTag.js';\nimport getPrototype from './_getPrototype.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n}\n\nexport default isPlainObject;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash-es/isPlainObject.js\n// module id = 18\n// module chunks = 0 1 3","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/process/browser.js\n// module id = 19\n// module chunks = 0 1 3","/**\n * Composes single-argument functions from right to left. The rightmost\n * function can take multiple arguments as it provides the signature for\n * the resulting composite function.\n *\n * @param {...Function} funcs The functions to compose.\n * @returns {Function} A function obtained by composing the argument functions\n * from right to left. For example, compose(f, g, h) is identical to doing\n * (...args) => f(g(h(...args))).\n */\n\nexport default function compose() {\n for (var _len = arguments.length, funcs = Array(_len), _key = 0; _key < _len; _key++) {\n funcs[_key] = arguments[_key];\n }\n\n if (funcs.length === 0) {\n return function (arg) {\n return arg;\n };\n }\n\n if (funcs.length === 1) {\n return funcs[0];\n }\n\n return funcs.reduce(function (a, b) {\n return function () {\n return a(b.apply(undefined, arguments));\n };\n });\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/redux/es/compose.js\n// module id = 20\n// module chunks = 0 1 3","import isPlainObject from 'lodash-es/isPlainObject';\nimport $$observable from 'symbol-observable';\n\n/**\n * These are private action types reserved by Redux.\n * For any unknown actions, you must return the current state.\n * If the current state is undefined, you must return the initial state.\n * Do not reference these action types directly in your code.\n */\nexport var ActionTypes = {\n INIT: '@@redux/INIT'\n\n /**\n * Creates a Redux store that holds the state tree.\n * The only way to change the data in the store is to call `dispatch()` on it.\n *\n * There should only be a single store in your app. To specify how different\n * parts of the state tree respond to actions, you may combine several reducers\n * into a single reducer function by using `combineReducers`.\n *\n * @param {Function} reducer A function that returns the next state tree, given\n * the current state tree and the action to handle.\n *\n * @param {any} [preloadedState] The initial state. You may optionally specify it\n * to hydrate the state from the server in universal apps, or to restore a\n * previously serialized user session.\n * If you use `combineReducers` to produce the root reducer function, this must be\n * an object with the same shape as `combineReducers` keys.\n *\n * @param {Function} [enhancer] The store enhancer. You may optionally specify it\n * to enhance the store with third-party capabilities such as middleware,\n * time travel, persistence, etc. The only store enhancer that ships with Redux\n * is `applyMiddleware()`.\n *\n * @returns {Store} A Redux store that lets you read the state, dispatch actions\n * and subscribe to changes.\n */\n};export default function createStore(reducer, preloadedState, enhancer) {\n var _ref2;\n\n if (typeof preloadedState === 'function' && typeof enhancer === 'undefined') {\n enhancer = preloadedState;\n preloadedState = undefined;\n }\n\n if (typeof enhancer !== 'undefined') {\n if (typeof enhancer !== 'function') {\n throw new Error('Expected the enhancer to be a function.');\n }\n\n return enhancer(createStore)(reducer, preloadedState);\n }\n\n if (typeof reducer !== 'function') {\n throw new Error('Expected the reducer to be a function.');\n }\n\n var currentReducer = reducer;\n var currentState = preloadedState;\n var currentListeners = [];\n var nextListeners = currentListeners;\n var isDispatching = false;\n\n function ensureCanMutateNextListeners() {\n if (nextListeners === currentListeners) {\n nextListeners = currentListeners.slice();\n }\n }\n\n /**\n * Reads the state tree managed by the store.\n *\n * @returns {any} The current state tree of your application.\n */\n function getState() {\n return currentState;\n }\n\n /**\n * Adds a change listener. It will be called any time an action is dispatched,\n * and some part of the state tree may potentially have changed. You may then\n * call `getState()` to read the current state tree inside the callback.\n *\n * You may call `dispatch()` from a change listener, with the following\n * caveats:\n *\n * 1. The subscriptions are snapshotted just before every `dispatch()` call.\n * If you subscribe or unsubscribe while the listeners are being invoked, this\n * will not have any effect on the `dispatch()` that is currently in progress.\n * However, the next `dispatch()` call, whether nested or not, will use a more\n * recent snapshot of the subscription list.\n *\n * 2. The listener should not expect to see all state changes, as the state\n * might have been updated multiple times during a nested `dispatch()` before\n * the listener is called. It is, however, guaranteed that all subscribers\n * registered before the `dispatch()` started will be called with the latest\n * state by the time it exits.\n *\n * @param {Function} listener A callback to be invoked on every dispatch.\n * @returns {Function} A function to remove this change listener.\n */\n function subscribe(listener) {\n if (typeof listener !== 'function') {\n throw new Error('Expected listener to be a function.');\n }\n\n var isSubscribed = true;\n\n ensureCanMutateNextListeners();\n nextListeners.push(listener);\n\n return function unsubscribe() {\n if (!isSubscribed) {\n return;\n }\n\n isSubscribed = false;\n\n ensureCanMutateNextListeners();\n var index = nextListeners.indexOf(listener);\n nextListeners.splice(index, 1);\n };\n }\n\n /**\n * Dispatches an action. It is the only way to trigger a state change.\n *\n * The `reducer` function, used to create the store, will be called with the\n * current state tree and the given `action`. Its return value will\n * be considered the **next** state of the tree, and the change listeners\n * will be notified.\n *\n * The base implementation only supports plain object actions. If you want to\n * dispatch a Promise, an Observable, a thunk, or something else, you need to\n * wrap your store creating function into the corresponding middleware. For\n * example, see the documentation for the `redux-thunk` package. Even the\n * middleware will eventually dispatch plain object actions using this method.\n *\n * @param {Object} action A plain object representing “what changed”. It is\n * a good idea to keep actions serializable so you can record and replay user\n * sessions, or use the time travelling `redux-devtools`. An action must have\n * a `type` property which may not be `undefined`. It is a good idea to use\n * string constants for action types.\n *\n * @returns {Object} For convenience, the same action object you dispatched.\n *\n * Note that, if you use a custom middleware, it may wrap `dispatch()` to\n * return something else (for example, a Promise you can await).\n */\n function dispatch(action) {\n if (!isPlainObject(action)) {\n throw new Error('Actions must be plain objects. ' + 'Use custom middleware for async actions.');\n }\n\n if (typeof action.type === 'undefined') {\n throw new Error('Actions may not have an undefined \"type\" property. ' + 'Have you misspelled a constant?');\n }\n\n if (isDispatching) {\n throw new Error('Reducers may not dispatch actions.');\n }\n\n try {\n isDispatching = true;\n currentState = currentReducer(currentState, action);\n } finally {\n isDispatching = false;\n }\n\n var listeners = currentListeners = nextListeners;\n for (var i = 0; i < listeners.length; i++) {\n var listener = listeners[i];\n listener();\n }\n\n return action;\n }\n\n /**\n * Replaces the reducer currently used by the store to calculate the state.\n *\n * You might need this if your app implements code splitting and you want to\n * load some of the reducers dynamically. You might also need this if you\n * implement a hot reloading mechanism for Redux.\n *\n * @param {Function} nextReducer The reducer for the store to use instead.\n * @returns {void}\n */\n function replaceReducer(nextReducer) {\n if (typeof nextReducer !== 'function') {\n throw new Error('Expected the nextReducer to be a function.');\n }\n\n currentReducer = nextReducer;\n dispatch({ type: ActionTypes.INIT });\n }\n\n /**\n * Interoperability point for observable/reactive libraries.\n * @returns {observable} A minimal observable of state changes.\n * For more information, see the observable proposal:\n * https://github.com/tc39/proposal-observable\n */\n function observable() {\n var _ref;\n\n var outerSubscribe = subscribe;\n return _ref = {\n /**\n * The minimal observable subscription method.\n * @param {Object} observer Any object that can be used as an observer.\n * The observer object should have a `next` method.\n * @returns {subscription} An object with an `unsubscribe` method that can\n * be used to unsubscribe the observable from the store, and prevent further\n * emission of values from the observable.\n */\n subscribe: function subscribe(observer) {\n if (typeof observer !== 'object') {\n throw new TypeError('Expected the observer to be an object.');\n }\n\n function observeState() {\n if (observer.next) {\n observer.next(getState());\n }\n }\n\n observeState();\n var unsubscribe = outerSubscribe(observeState);\n return { unsubscribe: unsubscribe };\n }\n }, _ref[$$observable] = function () {\n return this;\n }, _ref;\n }\n\n // When a store is created, an \"INIT\" action is dispatched so that every\n // reducer returns their initial state. This effectively populates\n // the initial state tree.\n dispatch({ type: ActionTypes.INIT });\n\n return _ref2 = {\n dispatch: dispatch,\n subscribe: subscribe,\n getState: getState,\n replaceReducer: replaceReducer\n }, _ref2[$$observable] = observable, _ref2;\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/redux/es/createStore.js\n// module id = 21\n// module chunks = 0 1 3","/**\n * Prints a warning in the console if it exists.\n *\n * @param {String} message The warning message.\n * @returns {void}\n */\nexport default function warning(message) {\n /* eslint-disable no-console */\n if (typeof console !== 'undefined' && typeof console.error === 'function') {\n console.error(message);\n }\n /* eslint-enable no-console */\n try {\n // This error was thrown as a convenience so that if you enable\n // \"break on all exceptions\" in your console,\n // it would pause the execution at this line.\n throw new Error(message);\n /* eslint-disable no-empty */\n } catch (e) {}\n /* eslint-enable no-empty */\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/redux/es/utils/warning.js\n// module id = 22\n// module chunks = 0 1 3","var g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1,eval)(\"this\");\r\n} catch(e) {\r\n\t// This works if the window reference is available\r\n\tif(typeof window === \"object\")\r\n\t\tg = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// (webpack)/buildin/global.js\n// module id = 23\n// module chunks = 0 1 3","/**\r\n * Created by glenn on 6/14/2017.\r\n */\r\n\r\n\r\nimport {React} from './reactAndRedux';\r\nimport $ = require('jquery');\r\nimport 'jquery-ui';\r\nimport makeGuid from '../util/makeGuid';\r\n\r\nimport {dateToString, stringToDate} from './helpers/dateFormat';\r\n\r\nexport interface iDatePick{\r\n label: string;\r\n id?: string;\r\n initialDate?: Date;\r\n change: (val: Date) => any;\r\n val?: Date\r\n}\r\n\r\n/**\r\n * params label, id, initialDate, change callback with value as string\r\n */\r\nexport class DatePick extends React.Component<iDatePick, null> {\r\n private elId: string;\r\n\r\n constructor(props: iDatePick, context: Object){\r\n super(props, context);\r\n this.elId = this.props.id || makeGuid();\r\n }\r\n\r\n componentDidMount() {\r\n let $el = $('#' + this.elId);\r\n\r\n $el.datepicker(\r\n {\r\n onSelect: () => {\r\n this.props.change(stringToDate($el.val()));\r\n }\r\n }\r\n );\r\n }\r\n\r\n render() {\r\n let params = {\r\n id: this.elId,\r\n type: 'text',\r\n style: {margin: \"0 10px 0 5px\", width: '73px', textAlign: 'center'},\r\n readOnly: true\r\n };\r\n\r\n if (this.props.val){\r\n params['value'] = dateToString(this.props.val);\r\n } else {\r\n params['defaultValue'] = dateToString(this.props.initialDate || new Date());\r\n }\r\n\r\n\r\n return <span className=\"date-pick\">\r\n <label htmlFor={this.elId}>{this.props.label}</label>\r\n {/*<input id={this.elId} type=\"text\"*/}\r\n {/*style={{margin: \"0 10px 0 5px\", width: '73px', textAlign: 'center'}}*/}\r\n {/*defaultValue={dateToString(this.props.initialDate || new Date())}*/}\r\n {/*readOnly={true}*/}\r\n {/*/>*/}\r\n <input {...params}/>\r\n </span>\r\n }\r\n}\r\n\r\nexport default DatePick;\n\n\n// WEBPACK FOOTER //\n// ./src/reactComponents/DatePick.tsx","import createStore from './createStore';\nimport combineReducers from './combineReducers';\nimport bindActionCreators from './bindActionCreators';\nimport applyMiddleware from './applyMiddleware';\nimport compose from './compose';\nimport warning from './utils/warning';\n\n/*\n* This is a dummy function to check if the function name has been altered by minification.\n* If the function has been minified and NODE_ENV !== 'production', warn the user.\n*/\nfunction isCrushed() {}\n\nif (process.env.NODE_ENV !== 'production' && typeof isCrushed.name === 'string' && isCrushed.name !== 'isCrushed') {\n warning('You are currently using minified code outside of NODE_ENV === \\'production\\'. ' + 'This means that you are running a slower development build of Redux. ' + 'You can use loose-envify (https://github.com/zertosh/loose-envify) for browserify ' + 'or DefinePlugin for webpack (http://stackoverflow.com/questions/30030031) ' + 'to ensure you have the correct code for your production build.');\n}\n\nexport { createStore, combineReducers, bindActionCreators, applyMiddleware, compose };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/redux/es/index.js\n// module id = 27\n// module chunks = 0 1 3","/**\r\n * Created by glenn on 6/12/2017.\r\n */\r\n\r\nimport {React} from './reactAndRedux';\r\nimport $ = require('jquery');\r\nimport 'jquery-ui';\r\nimport makeGuid from '../util/makeGuid';\r\nimport * as fixDate from './helpers/dateFormat';\r\nimport DatePick from './DatePick';\r\n\r\nfunction stringToDate(dte: string|Date){\r\n if ((dte as Date).getTime){\r\n return dte as Date;\r\n } else {\r\n return new Date(dte);\r\n }\r\n}\r\n\r\nexport interface iDateRange{\r\n maxRange: number;\r\n callback: (start: Date, end: Date, version?: number) => any;\r\n minRange?: number;\r\n maxDate?: Date;\r\n minDate?: Date;\r\n initialEnd?: Date;\r\n start?: Date;\r\n end?: Date;\r\n npmrds?: boolean;\r\n}\r\n\r\n\r\nexport class DateRange extends React.Component<iDateRange, null> {\r\n startId = makeGuid();\r\n endId = makeGuid();\r\n startInput: HTMLInputElement;\r\n endInput: HTMLInputElement;\r\n start: Date;\r\n end: Date;\r\n maxRange: number;\r\n minRange: number;\r\n numDays: number;\r\n versionTwoStart: Date;\r\n previousStart: Date;\r\n previousEnd: Date;\r\n\r\n constructor(props: iDateRange, context: Object) {\r\n super(props, context);\r\n\r\n this.versionTwoStart = new Date(2017, 1, 1);\r\n\r\n this.maxRange = Math.round(this.props.maxRange) - 1;\r\n this.minRange = typeof this.props['minRange'] == 'number' ? Math.round(this.props['minRange']) : 1;\r\n\r\n if (this.minRange > this.maxRange) {\r\n throw \"DateRange component: Max range must be greater than min range\";\r\n }\r\n\r\n if (this.props.initialEnd){\r\n this.end = stringToDate(this.props.initialEnd)\r\n } else {\r\n this.end = new Date();\r\n }\r\n\r\n this.end.setHours(0, 0, 0);\r\n this.start = new Date(this.end);\r\n this.start.setDate(this.start.getDate() - this.maxRange);\r\n this.setNumDays();\r\n }\r\n\r\n setNumDays() {\r\n this.numDays = Math.round((this.end.getTime() - this.start.getTime()) / (1000 * 60 * 60 * 24)) + 1;\r\n }\r\n\r\n\r\n componentDidMount() {\r\n this.startInput = document.getElementById(this.startId) as HTMLInputElement;\r\n this.endInput = document.getElementById(this.endId) as HTMLInputElement;\r\n\r\n\r\n this.props.callback(this.start, this.end, this.version);\r\n }\r\n\r\n private get needReset(): boolean {\r\n return this.numDays > this.maxRange || this.numDays < this.minRange;\r\n }\r\n\r\n private get versionSpan(): boolean{\r\n\r\n if (this.start < this.versionTwoStart && this.end >= this.versionTwoStart){\r\n return true;\r\n } else if (fixDate.dateToString(this.versionTwoStart) === fixDate.dateToString(this.end) && this.start < this.versionTwoStart){\r\n return true;\r\n }\r\n\r\n return false;\r\n }\r\n\r\n private get version(): number{\r\n\r\n if (fixDate.dateToString(this.start) == fixDate.dateToString(this.versionTwoStart)){\r\n return 2;\r\n } else if (this.start >= this.versionTwoStart){\r\n return 2;\r\n }\r\n return 1;\r\n }\r\n\r\n private finalizeChange(){\r\n\r\n if (this.props.npmrds){\r\n if (this.versionSpan){\r\n this.start = this.previousStart;\r\n this.end = this.previousEnd;\r\n\r\n this.startInput.value = fixDate.dateToString(this.start);\r\n this.endInput.value = fixDate.dateToString(this.end);\r\n this.setNumDays();\r\n alert(\"Start and End dates must not span version break: \" + fixDate.dateToString(this.versionTwoStart));\r\n return;\r\n }\r\n }\r\n\r\n this.props.callback(this.start, this.end, this.version);\r\n }\r\n\r\n private setStart(s: Date) {\r\n\r\n this.previousStart = new Date(this.start);\r\n this.previousEnd = new Date(this.end);\r\n\r\n this.start = s;\r\n\r\n this.setNumDays();\r\n\r\n if (this.needReset) {\r\n this.end = new Date(this.start);\r\n\r\n if (this.numDays > this.maxRange) {\r\n this.end.setDate(this.end.getDate() + this.maxRange);\r\n } else {\r\n this.end.setDate(this.end.getDate() + this.minRange - 1);\r\n }\r\n\r\n this.endInput.value = fixDate.dateToString(this.end);\r\n this.setNumDays();\r\n }\r\n\r\n this.finalizeChange();\r\n }\r\n\r\n private setEnd(s: Date) {\r\n this.previousStart = new Date(this.start);\r\n this.previousEnd = new Date(this.end);\r\n\r\n this.end = s;\r\n this.setNumDays();\r\n\r\n if (this.needReset) {\r\n this.start = new Date(this.end);\r\n\r\n if (this.numDays > this.maxRange) {\r\n this.start.setDate(this.start.getDate() - this.maxRange);\r\n } else {\r\n this.start.setDate(this.start.getDate() - this.minRange + 1);\r\n }\r\n\r\n this.startInput.value = fixDate.dateToString(this.start);\r\n this.setNumDays();\r\n }\r\n\r\n this.finalizeChange();\r\n }\r\n\r\n render() {\r\n return <div className=\"date-range\">\r\n <DatePick id={this.startId} label=\"Start\" initialDate={this.start} change={(s) => {this.setStart(s)}}/>\r\n <DatePick id={this.endId} label=\"End\" initialDate={this.end} change={(s) => {this.setEnd(s)}}/>\r\n </div>;\r\n }\r\n}\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/reactComponents/DateRange.tsx","import Symbol from './_Symbol.js';\nimport getRawTag from './_getRawTag.js';\nimport objectToString from './_objectToString.js';\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nexport default baseGetTag;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash-es/_baseGetTag.js\n// module id = 30\n// module chunks = 0 1 3","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nexport default freeGlobal;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash-es/_freeGlobal.js\n// module id = 31\n// module chunks = 0 1 3","import overArg from './_overArg.js';\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nexport default getPrototype;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash-es/_getPrototype.js\n// module id = 32\n// module chunks = 0 1 3","import Symbol from './_Symbol.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nexport default getRawTag;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash-es/_getRawTag.js\n// module id = 33\n// module chunks = 0 1 3","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nexport default objectToString;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash-es/_objectToString.js\n// module id = 34\n// module chunks = 0 1 3","/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nexport default overArg;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash-es/_overArg.js\n// module id = 35\n// module chunks = 0 1 3","import freeGlobal from './_freeGlobal.js';\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nexport default root;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash-es/_root.js\n// module id = 36\n// module chunks = 0 1 3","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nexport default isObjectLike;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash-es/isObjectLike.js\n// module id = 37\n// module chunks = 0 1 3","var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nimport compose from './compose';\n\n/**\n * Creates a store enhancer that applies middleware to the dispatch method\n * of the Redux store. This is handy for a variety of tasks, such as expressing\n * asynchronous actions in a concise manner, or logging every action payload.\n *\n * See `redux-thunk` package as an example of the Redux middleware.\n *\n * Because middleware is potentially asynchronous, this should be the first\n * store enhancer in the composition chain.\n *\n * Note that each middleware will be given the `dispatch` and `getState` functions\n * as named arguments.\n *\n * @param {...Function} middlewares The middleware chain to be applied.\n * @returns {Function} A store enhancer applying the middleware.\n */\nexport default function applyMiddleware() {\n for (var _len = arguments.length, middlewares = Array(_len), _key = 0; _key < _len; _key++) {\n middlewares[_key] = arguments[_key];\n }\n\n return function (createStore) {\n return function (reducer, preloadedState, enhancer) {\n var store = createStore(reducer, preloadedState, enhancer);\n var _dispatch = store.dispatch;\n var chain = [];\n\n var middlewareAPI = {\n getState: store.getState,\n dispatch: function dispatch(action) {\n return _dispatch(action);\n }\n };\n chain = middlewares.map(function (middleware) {\n return middleware(middlewareAPI);\n });\n _dispatch = compose.apply(undefined, chain)(store.dispatch);\n\n return _extends({}, store, {\n dispatch: _dispatch\n });\n };\n };\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/redux/es/applyMiddleware.js\n// module id = 38\n// module chunks = 0 1 3","function bindActionCreator(actionCreator, dispatch) {\n return function () {\n return dispatch(actionCreator.apply(undefined, arguments));\n };\n}\n\n/**\n * Turns an object whose values are action creators, into an object with the\n * same keys, but with every function wrapped into a `dispatch` call so they\n * may be invoked directly. This is just a convenience method, as you can call\n * `store.dispatch(MyActionCreators.doSomething())` yourself just fine.\n *\n * For convenience, you can also pass a single function as the first argument,\n * and get a function in return.\n *\n * @param {Function|Object} actionCreators An object whose values are action\n * creator functions. One handy way to obtain it is to use ES6 `import * as`\n * syntax. You may also pass a single function.\n *\n * @param {Function} dispatch The `dispatch` function available on your Redux\n * store.\n *\n * @returns {Function|Object} The object mimicking the original object, but with\n * every action creator wrapped into the `dispatch` call. If you passed a\n * function as `actionCreators`, the return value will also be a single\n * function.\n */\nexport default function bindActionCreators(actionCreators, dispatch) {\n if (typeof actionCreators === 'function') {\n return bindActionCreator(actionCreators, dispatch);\n }\n\n if (typeof actionCreators !== 'object' || actionCreators === null) {\n throw new Error('bindActionCreators expected an object or a function, instead received ' + (actionCreators === null ? 'null' : typeof actionCreators) + '. ' + 'Did you write \"import ActionCreators from\" instead of \"import * as ActionCreators from\"?');\n }\n\n var keys = Object.keys(actionCreators);\n var boundActionCreators = {};\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n var actionCreator = actionCreators[key];\n if (typeof actionCreator === 'function') {\n boundActionCreators[key] = bindActionCreator(actionCreator, dispatch);\n }\n }\n return boundActionCreators;\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/redux/es/bindActionCreators.js\n// module id = 39\n// module chunks = 0 1 3","import { ActionTypes } from './createStore';\nimport isPlainObject from 'lodash-es/isPlainObject';\nimport warning from './utils/warning';\n\nfunction getUndefinedStateErrorMessage(key, action) {\n var actionType = action && action.type;\n var actionName = actionType && '\"' + actionType.toString() + '\"' || 'an action';\n\n return 'Given action ' + actionName + ', reducer \"' + key + '\" returned undefined. ' + 'To ignore an action, you must explicitly return the previous state. ' + 'If you want this reducer to hold no value, you can return null instead of undefined.';\n}\n\nfunction getUnexpectedStateShapeWarningMessage(inputState, reducers, action, unexpectedKeyCache) {\n var reducerKeys = Object.keys(reducers);\n var argumentName = action && action.type === ActionTypes.INIT ? 'preloadedState argument passed to createStore' : 'previous state received by the reducer';\n\n if (reducerKeys.length === 0) {\n return 'Store does not have a valid reducer. Make sure the argument passed ' + 'to combineReducers is an object whose values are reducers.';\n }\n\n if (!isPlainObject(inputState)) {\n return 'The ' + argumentName + ' has unexpected type of \"' + {}.toString.call(inputState).match(/\\s([a-z|A-Z]+)/)[1] + '\". Expected argument to be an object with the following ' + ('keys: \"' + reducerKeys.join('\", \"') + '\"');\n }\n\n var unexpectedKeys = Object.keys(inputState).filter(function (key) {\n return !reducers.hasOwnProperty(key) && !unexpectedKeyCache[key];\n });\n\n unexpectedKeys.forEach(function (key) {\n unexpectedKeyCache[key] = true;\n });\n\n if (unexpectedKeys.length > 0) {\n return 'Unexpected ' + (unexpectedKeys.length > 1 ? 'keys' : 'key') + ' ' + ('\"' + unexpectedKeys.join('\", \"') + '\" found in ' + argumentName + '. ') + 'Expected to find one of the known reducer keys instead: ' + ('\"' + reducerKeys.join('\", \"') + '\". Unexpected keys will be ignored.');\n }\n}\n\nfunction assertReducerShape(reducers) {\n Object.keys(reducers).forEach(function (key) {\n var reducer = reducers[key];\n var initialState = reducer(undefined, { type: ActionTypes.INIT });\n\n if (typeof initialState === 'undefined') {\n throw new Error('Reducer \"' + key + '\" returned undefined during initialization. ' + 'If the state passed to the reducer is undefined, you must ' + 'explicitly return the initial state. The initial state may ' + 'not be undefined. If you don\\'t want to set a value for this reducer, ' + 'you can use null instead of undefined.');\n }\n\n var type = '@@redux/PROBE_UNKNOWN_ACTION_' + Math.random().toString(36).substring(7).split('').join('.');\n if (typeof reducer(undefined, { type: type }) === 'undefined') {\n throw new Error('Reducer \"' + key + '\" returned undefined when probed with a random type. ' + ('Don\\'t try to handle ' + ActionTypes.INIT + ' or other actions in \"redux/*\" ') + 'namespace. They are considered private. Instead, you must return the ' + 'current state for any unknown actions, unless it is undefined, ' + 'in which case you must return the initial state, regardless of the ' + 'action type. The initial state may not be undefined, but can be null.');\n }\n });\n}\n\n/**\n * Turns an object whose values are different reducer functions, into a single\n * reducer function. It will call every child reducer, and gather their results\n * into a single state object, whose keys correspond to the keys of the passed\n * reducer functions.\n *\n * @param {Object} reducers An object whose values correspond to different\n * reducer functions that need to be combined into one. One handy way to obtain\n * it is to use ES6 `import * as reducers` syntax. The reducers may never return\n * undefined for any action. Instead, they should return their initial state\n * if the state passed to them was undefined, and the current state for any\n * unrecognized action.\n *\n * @returns {Function} A reducer function that invokes every reducer inside the\n * passed object, and builds a state object with the same shape.\n */\nexport default function combineReducers(reducers) {\n var reducerKeys = Object.keys(reducers);\n var finalReducers = {};\n for (var i = 0; i < reducerKeys.length; i++) {\n var key = reducerKeys[i];\n\n if (process.env.NODE_ENV !== 'production') {\n if (typeof reducers[key] === 'undefined') {\n warning('No reducer provided for key \"' + key + '\"');\n }\n }\n\n if (typeof reducers[key] === 'function') {\n finalReducers[key] = reducers[key];\n }\n }\n var finalReducerKeys = Object.keys(finalReducers);\n\n var unexpectedKeyCache = void 0;\n if (process.env.NODE_ENV !== 'production') {\n unexpectedKeyCache = {};\n }\n\n var shapeAssertionError = void 0;\n try {\n assertReducerShape(finalReducers);\n } catch (e) {\n shapeAssertionError = e;\n }\n\n return function combination() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var action = arguments[1];\n\n if (shapeAssertionError) {\n throw shapeAssertionError;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n var warningMessage = getUnexpectedStateShapeWarningMessage(state, finalReducers, action, unexpectedKeyCache);\n if (warningMessage) {\n warning(warningMessage);\n }\n }\n\n var hasChanged = false;\n var nextState = {};\n for (var _i = 0; _i < finalReducerKeys.length; _i++) {\n var _key = finalReducerKeys[_i];\n var reducer = finalReducers[_key];\n var previousStateForKey = state[_key];\n var nextStateForKey = reducer(previousStateForKey, action);\n if (typeof nextStateForKey === 'undefined') {\n var errorMessage = getUndefinedStateErrorMessage(_key, action);\n throw new Error(errorMessage);\n }\n nextState[_key] = nextStateForKey;\n hasChanged = hasChanged || nextStateForKey !== previousStateForKey;\n }\n return hasChanged ? nextState : state;\n };\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/redux/es/combineReducers.js\n// module id = 40\n// module chunks = 0 1 3","module.exports = require('./lib/index');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/symbol-observable/index.js\n// module id = 41\n// module chunks = 0 1 3","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _ponyfill = require('./ponyfill');\n\nvar _ponyfill2 = _interopRequireDefault(_ponyfill);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar root; /* global window */\n\n\nif (typeof self !== 'undefined') {\n root = self;\n} else if (typeof window !== 'undefined') {\n root = window;\n} else if (typeof global !== 'undefined') {\n root = global;\n} else if (typeof module !== 'undefined') {\n root = module;\n} else {\n root = Function('return this')();\n}\n\nvar result = (0, _ponyfill2['default'])(root);\nexports['default'] = result;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/symbol-observable/lib/index.js\n// module id = 42\n// module chunks = 0 1 3","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nexports['default'] = symbolObservablePonyfill;\nfunction symbolObservablePonyfill(root) {\n\tvar result;\n\tvar _Symbol = root.Symbol;\n\n\tif (typeof _Symbol === 'function') {\n\t\tif (_Symbol.observable) {\n\t\t\tresult = _Symbol.observable;\n\t\t} else {\n\t\t\tresult = _Symbol('observable');\n\t\t\t_Symbol.observable = result;\n\t\t}\n\t} else {\n\t\tresult = '@@observable';\n\t}\n\n\treturn result;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/symbol-observable/lib/ponyfill.js\n// module id = 43\n// module chunks = 0 1 3","module.exports = function(module) {\r\n\tif(!module.webpackPolyfill) {\r\n\t\tmodule.deprecate = function() {};\r\n\t\tmodule.paths = [];\r\n\t\t// module.parent = undefined by default\r\n\t\tif(!module.children) module.children = [];\r\n\t\tObject.defineProperty(module, \"loaded\", {\r\n\t\t\tenumerable: true,\r\n\t\t\tget: function() {\r\n\t\t\t\treturn module.l;\r\n\t\t\t}\r\n\t\t});\r\n\t\tObject.defineProperty(module, \"id\", {\r\n\t\t\tenumerable: true,\r\n\t\t\tget: function() {\r\n\t\t\t\treturn module.i;\r\n\t\t\t}\r\n\t\t});\r\n\t\tmodule.webpackPolyfill = 1;\r\n\t}\r\n\treturn module;\r\n};\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// (webpack)/buildin/module.js\n// module id = 44\n// module chunks = 0 1 3","/**\r\n * Created by glenn on 6/13/2017.\r\n */\r\n\r\nexport function stringToDate(dateStr: string): Date {\r\n let parts = dateStr.split('/');\r\n\r\n let mn = parseInt(parts[0]) - 1;\r\n let d = parseInt(parts[1]);\r\n let y = parseInt(parts[2]);\r\n\r\n let dte = new Date(y, mn, d);\r\n dte.setHours(0, 0, 0);\r\n\r\n return dte;\r\n}\r\n\r\nexport function dateToString(dte: Date, zeroPad:boolean = true): string {\r\n let mn = (dte.getMonth() + 1).toString();\r\n let d = dte.getDate().toString();\r\n\r\n if (zeroPad){\r\n mn = mn.length == 1 ? '0' + mn : mn;\r\n d = d.length == 1 ? '0' + d : d ;\r\n }\r\n\r\n return `${mn}/${d}/${dte.getFullYear()}`;\r\n}\n\n\n// WEBPACK FOOTER //\n// ./src/reactComponents/helpers/dateFormat.ts","import {connect} from '../../reactComponents/reactAndRedux';\r\nimport {iState} from './reacttst_store';\r\nimport {DatePick} from '../../reactComponents/DatePick';\r\nimport {DateRange} from '../../reactComponents/DateRange';\r\nimport * as actions from './reacttst_actions';\r\n\r\n\r\nexport const DatePickConnected = connect(\r\n (state: iState) => {\r\n return {\r\n label: 'Date Picker Connected',\r\n change: (v) => {\r\n console.log(v);\r\n },\r\n val: state.oneDate\r\n }\r\n },\r\n (dispatch) => {\r\n return {\r\n change: (v) => {\r\n dispatch({type: actions.SET_ONE_DATE, d: v});\r\n }\r\n }\r\n }\r\n)(DatePick);\r\n\r\n\r\nexport const DateRangeConnected = connect(\r\n (state: iState) => {\r\n return {\r\n maxRange: 10,\r\n start: state.twoDates.start,\r\n end: state.twoDates.end,\r\n initialEnd: state.twoDates.end,\r\n npmrds: true\r\n }\r\n },\r\n (dispatch) => {\r\n return {\r\n callback: (s: Date, e: Date, version: number) => {\r\n dispatch({type: actions.SET_TWO_DATES, start: s, end: e, version: version});\r\n }\r\n }\r\n }\r\n)(DateRange);\r\n\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/_tests/demos/reacttst_connect.ts","module.exports = React;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"React\"\n// module id = 52\n// module chunks = 0 1","module.exports = ReactDOM;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"ReactDOM\"\n// module id = 53\n// module chunks = 0 1","module.exports = ReactRedux;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"ReactRedux\"\n// module id = 54\n// module chunks = 0 1"],"sourceRoot":""} \ No newline at end of file diff --git a/test/serve/js/reacttst_store.js b/test/serve/js/reacttst_store.js index adb5c283cb00d616f27488148b1cc8fa2508ae71..25252144a466b38bab1160c7850760505481cae1 100644 --- a/test/serve/js/reacttst_store.js +++ b/test/serve/js/reacttst_store.js @@ -77,7 +77,8 @@ /* 7 */, /* 8 */, /* 9 */, -/* 10 */ +/* 10 */, +/* 11 */ /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -88,8 +89,12 @@ exports.SET_TWO_DATES = 'set two dates'; /***/ }), -/* 11 */, -/* 12 */ +/* 12 */, +/* 13 */, +/* 14 */, +/* 15 */, +/* 16 */, +/* 17 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -103,7 +108,7 @@ var Symbol = __WEBPACK_IMPORTED_MODULE_0__root_js__["a" /* default */].Symbol; /***/ }), -/* 13 */ +/* 18 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -175,7 +180,7 @@ function isPlainObject(value) { /***/ }), -/* 14 */ +/* 19 */ /***/ (function(module, exports) { // shim for using process in browser @@ -361,7 +366,7 @@ process.umask = function() { return 0; }; /***/ }), -/* 15 */ +/* 20 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -400,11 +405,11 @@ function compose() { } /***/ }), -/* 16 */ +/* 21 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash_es_isPlainObject__ = __webpack_require__(13); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0_lodash_es_isPlainObject__ = __webpack_require__(18); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_symbol_observable__ = __webpack_require__(41); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_symbol_observable___default = __webpack_require__.n(__WEBPACK_IMPORTED_MODULE_1_symbol_observable__); /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "b", function() { return ActionTypes; }); @@ -659,7 +664,7 @@ var ActionTypes = { } /***/ }), -/* 17 */ +/* 22 */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; @@ -687,7 +692,7 @@ function warning(message) { } /***/ }), -/* 18 */ +/* 23 */ /***/ (function(module, exports) { var g; @@ -714,11 +719,6 @@ module.exports = g; /***/ }), -/* 19 */, -/* 20 */, -/* 21 */, -/* 22 */, -/* 23 */, /* 24 */, /* 25 */, /* 26 */, @@ -727,12 +727,12 @@ module.exports = g; "use strict"; /* WEBPACK VAR INJECTION */(function(process) {Object.defineProperty(__webpack_exports__, "__esModule", { value: true }); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__createStore__ = __webpack_require__(16); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__createStore__ = __webpack_require__(21); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__combineReducers__ = __webpack_require__(40); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__bindActionCreators__ = __webpack_require__(39); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_3__applyMiddleware__ = __webpack_require__(38); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__compose__ = __webpack_require__(15); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__utils_warning__ = __webpack_require__(17); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_4__compose__ = __webpack_require__(20); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_5__utils_warning__ = __webpack_require__(22); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "createStore", function() { return __WEBPACK_IMPORTED_MODULE_0__createStore__["a"]; }); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "combineReducers", function() { return __WEBPACK_IMPORTED_MODULE_1__combineReducers__["a"]; }); /* harmony reexport (binding) */ __webpack_require__.d(__webpack_exports__, "bindActionCreators", function() { return __WEBPACK_IMPORTED_MODULE_2__bindActionCreators__["a"]; }); @@ -756,7 +756,7 @@ if (process.env.NODE_ENV !== 'production' && typeof isCrushed.name === 'string' } -/* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(14))) +/* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(19))) /***/ }), /* 28 */, @@ -765,7 +765,7 @@ if (process.env.NODE_ENV !== 'production' && typeof isCrushed.name === 'string' /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Symbol_js__ = __webpack_require__(12); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Symbol_js__ = __webpack_require__(17); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_1__getRawTag_js__ = __webpack_require__(33); /* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__objectToString_js__ = __webpack_require__(34); @@ -808,7 +808,7 @@ var freeGlobal = typeof global == 'object' && global && global.Object === Object /* harmony default export */ __webpack_exports__["a"] = freeGlobal; -/* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(18))) +/* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(23))) /***/ }), /* 32 */ @@ -829,7 +829,7 @@ var getPrototype = __webpack_require__.i(__WEBPACK_IMPORTED_MODULE_0__overArg_js /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Symbol_js__ = __webpack_require__(12); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__Symbol_js__ = __webpack_require__(17); /** Used for built-in method references. */ @@ -987,7 +987,7 @@ function isObjectLike(value) { /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__compose__ = __webpack_require__(15); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__compose__ = __webpack_require__(20); /* harmony export (immutable) */ __webpack_exports__["a"] = applyMiddleware; var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; @@ -1097,9 +1097,9 @@ function bindActionCreators(actionCreators, dispatch) { /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; -/* WEBPACK VAR INJECTION */(function(process) {/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__createStore__ = __webpack_require__(16); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_lodash_es_isPlainObject__ = __webpack_require__(13); -/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__utils_warning__ = __webpack_require__(17); +/* WEBPACK VAR INJECTION */(function(process) {/* harmony import */ var __WEBPACK_IMPORTED_MODULE_0__createStore__ = __webpack_require__(21); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_1_lodash_es_isPlainObject__ = __webpack_require__(18); +/* harmony import */ var __WEBPACK_IMPORTED_MODULE_2__utils_warning__ = __webpack_require__(22); /* harmony export (immutable) */ __webpack_exports__["a"] = combineReducers; @@ -1231,7 +1231,7 @@ function combineReducers(reducers) { return hasChanged ? nextState : state; }; } -/* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(14))) +/* WEBPACK VAR INJECTION */}.call(__webpack_exports__, __webpack_require__(19))) /***/ }), /* 41 */ @@ -1274,7 +1274,7 @@ if (typeof self !== 'undefined') { var result = (0, _ponyfill2['default'])(root); exports['default'] = result; -/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(18), __webpack_require__(44)(module))) +/* WEBPACK VAR INJECTION */}.call(exports, __webpack_require__(23), __webpack_require__(44)(module))) /***/ }), /* 43 */ @@ -1344,7 +1344,7 @@ module.exports = function(module) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -var actions = __webpack_require__(10); +var actions = __webpack_require__(11); var Redux = __webpack_require__(27); function oneDate(state, action) { if (state === void 0) { state = new Date(); } @@ -1355,15 +1355,16 @@ function oneDate(state, action) { return state; } } -var now = new Date(); -var before = new Date(); -before.setDate(before.getDate() - 10); +var start = new Date('12/31/2017'); +var end = new Date('12/31/2017'); +start.setDate(start.getDate() - 10); function twoDates(state, action) { - if (state === void 0) { state = { start: now, end: before }; } + if (state === void 0) { state = { start: start, end: end, version: 2 }; } if (action.type == actions.SET_TWO_DATES) { return { start: action.start, - end: action.end + end: action.end, + version: action.version }; } else { diff --git a/test/serve/js/reacttst_store.js.map b/test/serve/js/reacttst_store.js.map index 6b3cebbc404864b214b677c0983c594022f7a37e..930a1af733f5bcdb5625c02a9e3ef1ba2c4c2346 100644 --- a/test/serve/js/reacttst_store.js.map +++ b/test/serve/js/reacttst_store.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap b7d91eb15b0b6dcf7ee0?08c4***","webpack:///./src/_tests/demos/reacttst_actions.ts?2a10*","webpack:///./~/lodash-es/_Symbol.js?eec2*","webpack:///./~/lodash-es/isPlainObject.js?3f96*","webpack:///./~/process/browser.js?b777*","webpack:///./~/redux/es/compose.js?c271*","webpack:///./~/redux/es/createStore.js?732e*","webpack:///./~/redux/es/utils/warning.js?a530*","webpack:///(webpack)/buildin/global.js?9e04*","webpack:///./~/redux/es/index.js?10ac*","webpack:///./~/lodash-es/_baseGetTag.js?7715*","webpack:///./~/lodash-es/_freeGlobal.js?f5ff*","webpack:///./~/lodash-es/_getPrototype.js?51c7*","webpack:///./~/lodash-es/_getRawTag.js?dc49*","webpack:///./~/lodash-es/_objectToString.js?b181*","webpack:///./~/lodash-es/_overArg.js?d6db*","webpack:///./~/lodash-es/_root.js?490e*","webpack:///./~/lodash-es/isObjectLike.js?bb06*","webpack:///./~/redux/es/applyMiddleware.js?83f5*","webpack:///./~/redux/es/bindActionCreators.js?f699*","webpack:///./~/redux/es/combineReducers.js?5dc8*","webpack:///./~/symbol-observable/index.js?8c2f*","webpack:///./~/symbol-observable/lib/index.js?5723*","webpack:///./~/symbol-observable/lib/ponyfill.js?f7ae*","webpack:///(webpack)/buildin/module.js?5171*","webpack:///./src/_tests/demos/reacttst_store.ts?c703"],"names":[],"mappings":";AAAA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA,mDAA2C,cAAc;;AAEzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;AAEA;AACA;;;;;;;;;;;;;;;;;;;;AC9Da,oBAAY,GAAG,cAAc,CAAC;AAC9B,qBAAa,GAAG,eAAe,CAAC;;;;;;;;;;ACH7C;;AAEA;AACA;;AAEA;;;;;;;;;;;ACLA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,iBAAiB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC7DA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,2BAA2B;AAC3B;AACA;AACA;AACA,4BAA4B,UAAU;;;;;;;;ACnLtC;AAAA;AACA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB,aAAa,SAAS;AACtB;AACA;AACA;;AAEA;AACA,kEAAkE,aAAa;AAC/E;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH,C;;;;;;;;;;;;AC/BA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,SAAS;AACtB;AACA;AACA,aAAa,IAAI;AACjB;AACA;AACA;AACA;AACA;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB;AACA;AACA,EAAE;AACF;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,IAAI;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,SAAS;AACtB,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,SAAS;AACtB,eAAe;AACf;AACA;AACA;AACA;AACA;;AAEA;AACA,cAAc,yBAAyB;AACvC;;AAEA;AACA;AACA,eAAe,WAAW;AAC1B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA,mBAAmB,aAAa;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,gBAAgB;AAChB;AACA,KAAK;AACL;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,YAAY,yBAAyB;;AAErC;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,C;;;;;;;ACvPA;AAAA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,C;;;;;;ACpBA;;AAEA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;;AAEA;AACA;AACA,4CAA4C;;AAE5C;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpBA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;;;;ACfA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC3BA;AACA;;AAEA;;;;;;;;;;ACHA;;AAEA;AACA;;AAEA;;;;;;;;;ACLA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC7CA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;;ACrBA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;ACdA;;AAEA;AACA;;AAEA;AACA;;AAEA;;;;;;;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;AC5BA;AAAA,mDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB,aAAa,SAAS;AACtB;AACA;AACA,wEAAwE,aAAa;AACrF;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA,wBAAwB;AACxB;AACA,OAAO;AACP;AACA;AACA,C;;;;;;;AC/CA;AAAA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA,aAAa,gBAAgB;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB,iBAAiB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,C;;;;;;;;;;;AC9CsB;AACtB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,mEAAmE;AACnE;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,2CAA2C,+EAAyB;;AAEpE;AACA;AACA;;AAEA;AACA,mCAAmC,aAAa;AAChD;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA,iBAAiB,wBAAwB;AACzC;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,oBAAoB,8BAA8B;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,C;;;;;;;ACjIA;;;;;;;;sDCAA;;AAEA;AACA;AACA,CAAC;;AAED;;AAEA;;AAEA,sCAAsC,uCAAuC,kBAAkB;;AAE/F,SAAS;;;AAGT;AACA;AACA,CAAC;AACD;AACA,CAAC;AACD;AACA,CAAC;AACD;AACA,CAAC;AACD;AACA;;AAEA;AACA,4B;;;;;;;;AC5BA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,EAAE;AACF;AACA;;AAEA;AACA,E;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;;;;;;;;;;;;;ACrBA,sCAA8C;AAC9C,oCAAgC;AAGhC,iBAAiB,KAAkB,EAAE,MAA+B;IAAnD,oCAAY,IAAI,EAAE;IAC/B,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;QACtC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IACpB,CAAC;IAAC,IAAI,CAAC,CAAC;QACJ,MAAM,CAAC,KAAK,CAAC;IACjB,CAAC;AACL,CAAC;AAED,IAAI,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;AACrB,IAAI,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;AACxB,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;AAEtC,kBAAkB,KAAiC,EAAE,MAA8C;IAAjF,kCAAS,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,EAAC;IAC/C,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,OAAO,CAAC,aAAa,CAAC,EAAC;QACtC,MAAM,CAAC;YACH,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,GAAG,EAAE,MAAM,CAAC,GAAG;SAClB;IACL,CAAC;IAAC,IAAI,CAAC,CAAC;QACJ,MAAM,CAAC,KAAK,CAAC;IACjB,CAAC;AACL,CAAC;AAIY,gBAAQ,GAAG,KAAK,CAAC,WAAW,CACrC,KAAK,CAAC,eAAe,CAAC,EAAC,OAAO,WAAE,QAAQ,YAAC,CAAC,CAC7C,CAAC;AAUF;IACI,MAAM,CAAC,gBAAQ,CAAC,QAAQ,EAAY,CAAC;AACzC,CAAC;AAFD,4BAEC;AAED,kBAAe,gBAAQ,CAAC","file":"reacttst_store.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 49);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap b7d91eb15b0b6dcf7ee0","\r\n\r\nexport const SET_ONE_DATE = 'set one date';\r\nexport const SET_TWO_DATES = 'set two dates';\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/_tests/demos/reacttst_actions.ts","import root from './_root.js';\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nexport default Symbol;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash-es/_Symbol.js\n// module id = 12\n// module chunks = 0 1 3","import baseGetTag from './_baseGetTag.js';\nimport getPrototype from './_getPrototype.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n}\n\nexport default isPlainObject;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash-es/isPlainObject.js\n// module id = 13\n// module chunks = 0 1 3","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/process/browser.js\n// module id = 14\n// module chunks = 0 1 3","/**\n * Composes single-argument functions from right to left. The rightmost\n * function can take multiple arguments as it provides the signature for\n * the resulting composite function.\n *\n * @param {...Function} funcs The functions to compose.\n * @returns {Function} A function obtained by composing the argument functions\n * from right to left. For example, compose(f, g, h) is identical to doing\n * (...args) => f(g(h(...args))).\n */\n\nexport default function compose() {\n for (var _len = arguments.length, funcs = Array(_len), _key = 0; _key < _len; _key++) {\n funcs[_key] = arguments[_key];\n }\n\n if (funcs.length === 0) {\n return function (arg) {\n return arg;\n };\n }\n\n if (funcs.length === 1) {\n return funcs[0];\n }\n\n return funcs.reduce(function (a, b) {\n return function () {\n return a(b.apply(undefined, arguments));\n };\n });\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/redux/es/compose.js\n// module id = 15\n// module chunks = 0 1 3","import isPlainObject from 'lodash-es/isPlainObject';\nimport $$observable from 'symbol-observable';\n\n/**\n * These are private action types reserved by Redux.\n * For any unknown actions, you must return the current state.\n * If the current state is undefined, you must return the initial state.\n * Do not reference these action types directly in your code.\n */\nexport var ActionTypes = {\n INIT: '@@redux/INIT'\n\n /**\n * Creates a Redux store that holds the state tree.\n * The only way to change the data in the store is to call `dispatch()` on it.\n *\n * There should only be a single store in your app. To specify how different\n * parts of the state tree respond to actions, you may combine several reducers\n * into a single reducer function by using `combineReducers`.\n *\n * @param {Function} reducer A function that returns the next state tree, given\n * the current state tree and the action to handle.\n *\n * @param {any} [preloadedState] The initial state. You may optionally specify it\n * to hydrate the state from the server in universal apps, or to restore a\n * previously serialized user session.\n * If you use `combineReducers` to produce the root reducer function, this must be\n * an object with the same shape as `combineReducers` keys.\n *\n * @param {Function} [enhancer] The store enhancer. You may optionally specify it\n * to enhance the store with third-party capabilities such as middleware,\n * time travel, persistence, etc. The only store enhancer that ships with Redux\n * is `applyMiddleware()`.\n *\n * @returns {Store} A Redux store that lets you read the state, dispatch actions\n * and subscribe to changes.\n */\n};export default function createStore(reducer, preloadedState, enhancer) {\n var _ref2;\n\n if (typeof preloadedState === 'function' && typeof enhancer === 'undefined') {\n enhancer = preloadedState;\n preloadedState = undefined;\n }\n\n if (typeof enhancer !== 'undefined') {\n if (typeof enhancer !== 'function') {\n throw new Error('Expected the enhancer to be a function.');\n }\n\n return enhancer(createStore)(reducer, preloadedState);\n }\n\n if (typeof reducer !== 'function') {\n throw new Error('Expected the reducer to be a function.');\n }\n\n var currentReducer = reducer;\n var currentState = preloadedState;\n var currentListeners = [];\n var nextListeners = currentListeners;\n var isDispatching = false;\n\n function ensureCanMutateNextListeners() {\n if (nextListeners === currentListeners) {\n nextListeners = currentListeners.slice();\n }\n }\n\n /**\n * Reads the state tree managed by the store.\n *\n * @returns {any} The current state tree of your application.\n */\n function getState() {\n return currentState;\n }\n\n /**\n * Adds a change listener. It will be called any time an action is dispatched,\n * and some part of the state tree may potentially have changed. You may then\n * call `getState()` to read the current state tree inside the callback.\n *\n * You may call `dispatch()` from a change listener, with the following\n * caveats:\n *\n * 1. The subscriptions are snapshotted just before every `dispatch()` call.\n * If you subscribe or unsubscribe while the listeners are being invoked, this\n * will not have any effect on the `dispatch()` that is currently in progress.\n * However, the next `dispatch()` call, whether nested or not, will use a more\n * recent snapshot of the subscription list.\n *\n * 2. The listener should not expect to see all state changes, as the state\n * might have been updated multiple times during a nested `dispatch()` before\n * the listener is called. It is, however, guaranteed that all subscribers\n * registered before the `dispatch()` started will be called with the latest\n * state by the time it exits.\n *\n * @param {Function} listener A callback to be invoked on every dispatch.\n * @returns {Function} A function to remove this change listener.\n */\n function subscribe(listener) {\n if (typeof listener !== 'function') {\n throw new Error('Expected listener to be a function.');\n }\n\n var isSubscribed = true;\n\n ensureCanMutateNextListeners();\n nextListeners.push(listener);\n\n return function unsubscribe() {\n if (!isSubscribed) {\n return;\n }\n\n isSubscribed = false;\n\n ensureCanMutateNextListeners();\n var index = nextListeners.indexOf(listener);\n nextListeners.splice(index, 1);\n };\n }\n\n /**\n * Dispatches an action. It is the only way to trigger a state change.\n *\n * The `reducer` function, used to create the store, will be called with the\n * current state tree and the given `action`. Its return value will\n * be considered the **next** state of the tree, and the change listeners\n * will be notified.\n *\n * The base implementation only supports plain object actions. If you want to\n * dispatch a Promise, an Observable, a thunk, or something else, you need to\n * wrap your store creating function into the corresponding middleware. For\n * example, see the documentation for the `redux-thunk` package. Even the\n * middleware will eventually dispatch plain object actions using this method.\n *\n * @param {Object} action A plain object representing “what changed”. It is\n * a good idea to keep actions serializable so you can record and replay user\n * sessions, or use the time travelling `redux-devtools`. An action must have\n * a `type` property which may not be `undefined`. It is a good idea to use\n * string constants for action types.\n *\n * @returns {Object} For convenience, the same action object you dispatched.\n *\n * Note that, if you use a custom middleware, it may wrap `dispatch()` to\n * return something else (for example, a Promise you can await).\n */\n function dispatch(action) {\n if (!isPlainObject(action)) {\n throw new Error('Actions must be plain objects. ' + 'Use custom middleware for async actions.');\n }\n\n if (typeof action.type === 'undefined') {\n throw new Error('Actions may not have an undefined \"type\" property. ' + 'Have you misspelled a constant?');\n }\n\n if (isDispatching) {\n throw new Error('Reducers may not dispatch actions.');\n }\n\n try {\n isDispatching = true;\n currentState = currentReducer(currentState, action);\n } finally {\n isDispatching = false;\n }\n\n var listeners = currentListeners = nextListeners;\n for (var i = 0; i < listeners.length; i++) {\n var listener = listeners[i];\n listener();\n }\n\n return action;\n }\n\n /**\n * Replaces the reducer currently used by the store to calculate the state.\n *\n * You might need this if your app implements code splitting and you want to\n * load some of the reducers dynamically. You might also need this if you\n * implement a hot reloading mechanism for Redux.\n *\n * @param {Function} nextReducer The reducer for the store to use instead.\n * @returns {void}\n */\n function replaceReducer(nextReducer) {\n if (typeof nextReducer !== 'function') {\n throw new Error('Expected the nextReducer to be a function.');\n }\n\n currentReducer = nextReducer;\n dispatch({ type: ActionTypes.INIT });\n }\n\n /**\n * Interoperability point for observable/reactive libraries.\n * @returns {observable} A minimal observable of state changes.\n * For more information, see the observable proposal:\n * https://github.com/tc39/proposal-observable\n */\n function observable() {\n var _ref;\n\n var outerSubscribe = subscribe;\n return _ref = {\n /**\n * The minimal observable subscription method.\n * @param {Object} observer Any object that can be used as an observer.\n * The observer object should have a `next` method.\n * @returns {subscription} An object with an `unsubscribe` method that can\n * be used to unsubscribe the observable from the store, and prevent further\n * emission of values from the observable.\n */\n subscribe: function subscribe(observer) {\n if (typeof observer !== 'object') {\n throw new TypeError('Expected the observer to be an object.');\n }\n\n function observeState() {\n if (observer.next) {\n observer.next(getState());\n }\n }\n\n observeState();\n var unsubscribe = outerSubscribe(observeState);\n return { unsubscribe: unsubscribe };\n }\n }, _ref[$$observable] = function () {\n return this;\n }, _ref;\n }\n\n // When a store is created, an \"INIT\" action is dispatched so that every\n // reducer returns their initial state. This effectively populates\n // the initial state tree.\n dispatch({ type: ActionTypes.INIT });\n\n return _ref2 = {\n dispatch: dispatch,\n subscribe: subscribe,\n getState: getState,\n replaceReducer: replaceReducer\n }, _ref2[$$observable] = observable, _ref2;\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/redux/es/createStore.js\n// module id = 16\n// module chunks = 0 1 3","/**\n * Prints a warning in the console if it exists.\n *\n * @param {String} message The warning message.\n * @returns {void}\n */\nexport default function warning(message) {\n /* eslint-disable no-console */\n if (typeof console !== 'undefined' && typeof console.error === 'function') {\n console.error(message);\n }\n /* eslint-enable no-console */\n try {\n // This error was thrown as a convenience so that if you enable\n // \"break on all exceptions\" in your console,\n // it would pause the execution at this line.\n throw new Error(message);\n /* eslint-disable no-empty */\n } catch (e) {}\n /* eslint-enable no-empty */\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/redux/es/utils/warning.js\n// module id = 17\n// module chunks = 0 1 3","var g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1,eval)(\"this\");\r\n} catch(e) {\r\n\t// This works if the window reference is available\r\n\tif(typeof window === \"object\")\r\n\t\tg = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// (webpack)/buildin/global.js\n// module id = 18\n// module chunks = 0 1 3","import createStore from './createStore';\nimport combineReducers from './combineReducers';\nimport bindActionCreators from './bindActionCreators';\nimport applyMiddleware from './applyMiddleware';\nimport compose from './compose';\nimport warning from './utils/warning';\n\n/*\n* This is a dummy function to check if the function name has been altered by minification.\n* If the function has been minified and NODE_ENV !== 'production', warn the user.\n*/\nfunction isCrushed() {}\n\nif (process.env.NODE_ENV !== 'production' && typeof isCrushed.name === 'string' && isCrushed.name !== 'isCrushed') {\n warning('You are currently using minified code outside of NODE_ENV === \\'production\\'. ' + 'This means that you are running a slower development build of Redux. ' + 'You can use loose-envify (https://github.com/zertosh/loose-envify) for browserify ' + 'or DefinePlugin for webpack (http://stackoverflow.com/questions/30030031) ' + 'to ensure you have the correct code for your production build.');\n}\n\nexport { createStore, combineReducers, bindActionCreators, applyMiddleware, compose };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/redux/es/index.js\n// module id = 27\n// module chunks = 0 1 3","import Symbol from './_Symbol.js';\nimport getRawTag from './_getRawTag.js';\nimport objectToString from './_objectToString.js';\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nexport default baseGetTag;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash-es/_baseGetTag.js\n// module id = 30\n// module chunks = 0 1 3","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nexport default freeGlobal;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash-es/_freeGlobal.js\n// module id = 31\n// module chunks = 0 1 3","import overArg from './_overArg.js';\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nexport default getPrototype;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash-es/_getPrototype.js\n// module id = 32\n// module chunks = 0 1 3","import Symbol from './_Symbol.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nexport default getRawTag;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash-es/_getRawTag.js\n// module id = 33\n// module chunks = 0 1 3","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nexport default objectToString;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash-es/_objectToString.js\n// module id = 34\n// module chunks = 0 1 3","/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nexport default overArg;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash-es/_overArg.js\n// module id = 35\n// module chunks = 0 1 3","import freeGlobal from './_freeGlobal.js';\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nexport default root;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash-es/_root.js\n// module id = 36\n// module chunks = 0 1 3","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nexport default isObjectLike;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash-es/isObjectLike.js\n// module id = 37\n// module chunks = 0 1 3","var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nimport compose from './compose';\n\n/**\n * Creates a store enhancer that applies middleware to the dispatch method\n * of the Redux store. This is handy for a variety of tasks, such as expressing\n * asynchronous actions in a concise manner, or logging every action payload.\n *\n * See `redux-thunk` package as an example of the Redux middleware.\n *\n * Because middleware is potentially asynchronous, this should be the first\n * store enhancer in the composition chain.\n *\n * Note that each middleware will be given the `dispatch` and `getState` functions\n * as named arguments.\n *\n * @param {...Function} middlewares The middleware chain to be applied.\n * @returns {Function} A store enhancer applying the middleware.\n */\nexport default function applyMiddleware() {\n for (var _len = arguments.length, middlewares = Array(_len), _key = 0; _key < _len; _key++) {\n middlewares[_key] = arguments[_key];\n }\n\n return function (createStore) {\n return function (reducer, preloadedState, enhancer) {\n var store = createStore(reducer, preloadedState, enhancer);\n var _dispatch = store.dispatch;\n var chain = [];\n\n var middlewareAPI = {\n getState: store.getState,\n dispatch: function dispatch(action) {\n return _dispatch(action);\n }\n };\n chain = middlewares.map(function (middleware) {\n return middleware(middlewareAPI);\n });\n _dispatch = compose.apply(undefined, chain)(store.dispatch);\n\n return _extends({}, store, {\n dispatch: _dispatch\n });\n };\n };\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/redux/es/applyMiddleware.js\n// module id = 38\n// module chunks = 0 1 3","function bindActionCreator(actionCreator, dispatch) {\n return function () {\n return dispatch(actionCreator.apply(undefined, arguments));\n };\n}\n\n/**\n * Turns an object whose values are action creators, into an object with the\n * same keys, but with every function wrapped into a `dispatch` call so they\n * may be invoked directly. This is just a convenience method, as you can call\n * `store.dispatch(MyActionCreators.doSomething())` yourself just fine.\n *\n * For convenience, you can also pass a single function as the first argument,\n * and get a function in return.\n *\n * @param {Function|Object} actionCreators An object whose values are action\n * creator functions. One handy way to obtain it is to use ES6 `import * as`\n * syntax. You may also pass a single function.\n *\n * @param {Function} dispatch The `dispatch` function available on your Redux\n * store.\n *\n * @returns {Function|Object} The object mimicking the original object, but with\n * every action creator wrapped into the `dispatch` call. If you passed a\n * function as `actionCreators`, the return value will also be a single\n * function.\n */\nexport default function bindActionCreators(actionCreators, dispatch) {\n if (typeof actionCreators === 'function') {\n return bindActionCreator(actionCreators, dispatch);\n }\n\n if (typeof actionCreators !== 'object' || actionCreators === null) {\n throw new Error('bindActionCreators expected an object or a function, instead received ' + (actionCreators === null ? 'null' : typeof actionCreators) + '. ' + 'Did you write \"import ActionCreators from\" instead of \"import * as ActionCreators from\"?');\n }\n\n var keys = Object.keys(actionCreators);\n var boundActionCreators = {};\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n var actionCreator = actionCreators[key];\n if (typeof actionCreator === 'function') {\n boundActionCreators[key] = bindActionCreator(actionCreator, dispatch);\n }\n }\n return boundActionCreators;\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/redux/es/bindActionCreators.js\n// module id = 39\n// module chunks = 0 1 3","import { ActionTypes } from './createStore';\nimport isPlainObject from 'lodash-es/isPlainObject';\nimport warning from './utils/warning';\n\nfunction getUndefinedStateErrorMessage(key, action) {\n var actionType = action && action.type;\n var actionName = actionType && '\"' + actionType.toString() + '\"' || 'an action';\n\n return 'Given action ' + actionName + ', reducer \"' + key + '\" returned undefined. ' + 'To ignore an action, you must explicitly return the previous state. ' + 'If you want this reducer to hold no value, you can return null instead of undefined.';\n}\n\nfunction getUnexpectedStateShapeWarningMessage(inputState, reducers, action, unexpectedKeyCache) {\n var reducerKeys = Object.keys(reducers);\n var argumentName = action && action.type === ActionTypes.INIT ? 'preloadedState argument passed to createStore' : 'previous state received by the reducer';\n\n if (reducerKeys.length === 0) {\n return 'Store does not have a valid reducer. Make sure the argument passed ' + 'to combineReducers is an object whose values are reducers.';\n }\n\n if (!isPlainObject(inputState)) {\n return 'The ' + argumentName + ' has unexpected type of \"' + {}.toString.call(inputState).match(/\\s([a-z|A-Z]+)/)[1] + '\". Expected argument to be an object with the following ' + ('keys: \"' + reducerKeys.join('\", \"') + '\"');\n }\n\n var unexpectedKeys = Object.keys(inputState).filter(function (key) {\n return !reducers.hasOwnProperty(key) && !unexpectedKeyCache[key];\n });\n\n unexpectedKeys.forEach(function (key) {\n unexpectedKeyCache[key] = true;\n });\n\n if (unexpectedKeys.length > 0) {\n return 'Unexpected ' + (unexpectedKeys.length > 1 ? 'keys' : 'key') + ' ' + ('\"' + unexpectedKeys.join('\", \"') + '\" found in ' + argumentName + '. ') + 'Expected to find one of the known reducer keys instead: ' + ('\"' + reducerKeys.join('\", \"') + '\". Unexpected keys will be ignored.');\n }\n}\n\nfunction assertReducerShape(reducers) {\n Object.keys(reducers).forEach(function (key) {\n var reducer = reducers[key];\n var initialState = reducer(undefined, { type: ActionTypes.INIT });\n\n if (typeof initialState === 'undefined') {\n throw new Error('Reducer \"' + key + '\" returned undefined during initialization. ' + 'If the state passed to the reducer is undefined, you must ' + 'explicitly return the initial state. The initial state may ' + 'not be undefined. If you don\\'t want to set a value for this reducer, ' + 'you can use null instead of undefined.');\n }\n\n var type = '@@redux/PROBE_UNKNOWN_ACTION_' + Math.random().toString(36).substring(7).split('').join('.');\n if (typeof reducer(undefined, { type: type }) === 'undefined') {\n throw new Error('Reducer \"' + key + '\" returned undefined when probed with a random type. ' + ('Don\\'t try to handle ' + ActionTypes.INIT + ' or other actions in \"redux/*\" ') + 'namespace. They are considered private. Instead, you must return the ' + 'current state for any unknown actions, unless it is undefined, ' + 'in which case you must return the initial state, regardless of the ' + 'action type. The initial state may not be undefined, but can be null.');\n }\n });\n}\n\n/**\n * Turns an object whose values are different reducer functions, into a single\n * reducer function. It will call every child reducer, and gather their results\n * into a single state object, whose keys correspond to the keys of the passed\n * reducer functions.\n *\n * @param {Object} reducers An object whose values correspond to different\n * reducer functions that need to be combined into one. One handy way to obtain\n * it is to use ES6 `import * as reducers` syntax. The reducers may never return\n * undefined for any action. Instead, they should return their initial state\n * if the state passed to them was undefined, and the current state for any\n * unrecognized action.\n *\n * @returns {Function} A reducer function that invokes every reducer inside the\n * passed object, and builds a state object with the same shape.\n */\nexport default function combineReducers(reducers) {\n var reducerKeys = Object.keys(reducers);\n var finalReducers = {};\n for (var i = 0; i < reducerKeys.length; i++) {\n var key = reducerKeys[i];\n\n if (process.env.NODE_ENV !== 'production') {\n if (typeof reducers[key] === 'undefined') {\n warning('No reducer provided for key \"' + key + '\"');\n }\n }\n\n if (typeof reducers[key] === 'function') {\n finalReducers[key] = reducers[key];\n }\n }\n var finalReducerKeys = Object.keys(finalReducers);\n\n var unexpectedKeyCache = void 0;\n if (process.env.NODE_ENV !== 'production') {\n unexpectedKeyCache = {};\n }\n\n var shapeAssertionError = void 0;\n try {\n assertReducerShape(finalReducers);\n } catch (e) {\n shapeAssertionError = e;\n }\n\n return function combination() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var action = arguments[1];\n\n if (shapeAssertionError) {\n throw shapeAssertionError;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n var warningMessage = getUnexpectedStateShapeWarningMessage(state, finalReducers, action, unexpectedKeyCache);\n if (warningMessage) {\n warning(warningMessage);\n }\n }\n\n var hasChanged = false;\n var nextState = {};\n for (var _i = 0; _i < finalReducerKeys.length; _i++) {\n var _key = finalReducerKeys[_i];\n var reducer = finalReducers[_key];\n var previousStateForKey = state[_key];\n var nextStateForKey = reducer(previousStateForKey, action);\n if (typeof nextStateForKey === 'undefined') {\n var errorMessage = getUndefinedStateErrorMessage(_key, action);\n throw new Error(errorMessage);\n }\n nextState[_key] = nextStateForKey;\n hasChanged = hasChanged || nextStateForKey !== previousStateForKey;\n }\n return hasChanged ? nextState : state;\n };\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/redux/es/combineReducers.js\n// module id = 40\n// module chunks = 0 1 3","module.exports = require('./lib/index');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/symbol-observable/index.js\n// module id = 41\n// module chunks = 0 1 3","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _ponyfill = require('./ponyfill');\n\nvar _ponyfill2 = _interopRequireDefault(_ponyfill);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar root; /* global window */\n\n\nif (typeof self !== 'undefined') {\n root = self;\n} else if (typeof window !== 'undefined') {\n root = window;\n} else if (typeof global !== 'undefined') {\n root = global;\n} else if (typeof module !== 'undefined') {\n root = module;\n} else {\n root = Function('return this')();\n}\n\nvar result = (0, _ponyfill2['default'])(root);\nexports['default'] = result;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/symbol-observable/lib/index.js\n// module id = 42\n// module chunks = 0 1 3","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nexports['default'] = symbolObservablePonyfill;\nfunction symbolObservablePonyfill(root) {\n\tvar result;\n\tvar _Symbol = root.Symbol;\n\n\tif (typeof _Symbol === 'function') {\n\t\tif (_Symbol.observable) {\n\t\t\tresult = _Symbol.observable;\n\t\t} else {\n\t\t\tresult = _Symbol('observable');\n\t\t\t_Symbol.observable = result;\n\t\t}\n\t} else {\n\t\tresult = '@@observable';\n\t}\n\n\treturn result;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/symbol-observable/lib/ponyfill.js\n// module id = 43\n// module chunks = 0 1 3","module.exports = function(module) {\r\n\tif(!module.webpackPolyfill) {\r\n\t\tmodule.deprecate = function() {};\r\n\t\tmodule.paths = [];\r\n\t\t// module.parent = undefined by default\r\n\t\tif(!module.children) module.children = [];\r\n\t\tObject.defineProperty(module, \"loaded\", {\r\n\t\t\tenumerable: true,\r\n\t\t\tget: function() {\r\n\t\t\t\treturn module.l;\r\n\t\t\t}\r\n\t\t});\r\n\t\tObject.defineProperty(module, \"id\", {\r\n\t\t\tenumerable: true,\r\n\t\t\tget: function() {\r\n\t\t\t\treturn module.i;\r\n\t\t\t}\r\n\t\t});\r\n\t\tmodule.webpackPolyfill = 1;\r\n\t}\r\n\treturn module;\r\n};\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// (webpack)/buildin/module.js\n// module id = 44\n// module chunks = 0 1 3","import * as actions from './reacttst_actions';\r\nimport Redux = require('redux');\r\n\r\n\r\nfunction oneDate(state = new Date(), action: {type: string, d: Date}) {\r\n if (action.type == actions.SET_ONE_DATE) {\r\n return action.d;\r\n } else {\r\n return state;\r\n }\r\n}\r\n\r\nlet now = new Date();\r\nlet before = new Date();\r\nbefore.setDate(before.getDate() - 10);\r\n\r\nfunction twoDates(state = {start: now, end: before}, action: {type: string, start: Date, end: Date}){\r\n if (action.type == actions.SET_TWO_DATES){\r\n return {\r\n start: action.start,\r\n end: action.end\r\n }\r\n } else {\r\n return state;\r\n }\r\n}\r\n\r\n\r\n\r\nexport const theStore = Redux.createStore(\r\n Redux.combineReducers({oneDate, twoDates})\r\n);\r\n\r\n\r\nexport interface iState {\r\n oneDate: Date;\r\n twoDates: {start: Date, end: Date}\r\n}\r\n\r\n\r\n\r\nexport function getState(): iState{\r\n return theStore.getState() as iState;\r\n}\r\n\r\nexport default theStore;\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/_tests/demos/reacttst_store.ts"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/bootstrap 8202a2a62a94a60716cf?fdb4*","webpack:///./src/_tests/demos/reacttst_actions.ts?2a10*","webpack:///./~/lodash-es/_Symbol.js?eec2*","webpack:///./~/lodash-es/isPlainObject.js?3f96*","webpack:///./~/process/browser.js?b777*","webpack:///./~/redux/es/compose.js?c271*","webpack:///./~/redux/es/createStore.js?732e*","webpack:///./~/redux/es/utils/warning.js?a530*","webpack:///(webpack)/buildin/global.js?9e04*","webpack:///./~/redux/es/index.js?10ac*","webpack:///./~/lodash-es/_baseGetTag.js?7715*","webpack:///./~/lodash-es/_freeGlobal.js?f5ff*","webpack:///./~/lodash-es/_getPrototype.js?51c7*","webpack:///./~/lodash-es/_getRawTag.js?dc49*","webpack:///./~/lodash-es/_objectToString.js?b181*","webpack:///./~/lodash-es/_overArg.js?d6db*","webpack:///./~/lodash-es/_root.js?490e*","webpack:///./~/lodash-es/isObjectLike.js?bb06*","webpack:///./~/redux/es/applyMiddleware.js?83f5*","webpack:///./~/redux/es/bindActionCreators.js?f699*","webpack:///./~/redux/es/combineReducers.js?5dc8*","webpack:///./~/symbol-observable/index.js?8c2f*","webpack:///./~/symbol-observable/lib/index.js?5723*","webpack:///./~/symbol-observable/lib/ponyfill.js?f7ae*","webpack:///(webpack)/buildin/module.js?5171*","webpack:///./src/_tests/demos/reacttst_store.ts?c703"],"names":[],"mappings":";AAAA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;;AAGA;AACA;;AAEA;AACA;;AAEA;AACA,mDAA2C,cAAc;;AAEzD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAK;AACL;AACA;;AAEA;AACA;AACA;AACA,mCAA2B,0BAA0B,EAAE;AACvD,yCAAiC,eAAe;AAChD;AACA;AACA;;AAEA;AACA,8DAAsD,+DAA+D;;AAErH;AACA;;AAEA;AACA;;;;;;;;;;;;;;;;;;;;;AC9Da,oBAAY,GAAG,cAAc,CAAC;AAC9B,qBAAa,GAAG,eAAe,CAAC;;;;;;;;;;;;;;ACH7C;;AAEA;AACA;;AAEA;;;;;;;;;;;ACLA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,oBAAoB,iBAAiB;AACrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;AC7DA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA,SAAS;AACT;AACA;AACA,KAAK;AACL;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;;;AAGA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA,SAAS;AACT;AACA;AACA;AACA;AACA;;;;AAIA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,uBAAuB,sBAAsB;AAC7C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,qBAAqB;AACrB;;AAEA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA,2BAA2B;AAC3B;AACA;AACA;AACA,4BAA4B,UAAU;;;;;;;;ACnLtC;AAAA;AACA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB,aAAa,SAAS;AACtB;AACA;AACA;;AAEA;AACA,kEAAkE,aAAa;AAC/E;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,GAAG;AACH,C;;;;;;;;;;;;AC/BA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,SAAS;AACtB;AACA;AACA,aAAa,IAAI;AACjB;AACA;AACA;AACA;AACA;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA,eAAe,MAAM;AACrB;AACA;AACA,EAAE;AACF;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,eAAe,IAAI;AACnB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,SAAS;AACtB,eAAe,SAAS;AACxB;AACA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA,eAAe,OAAO;AACtB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA,KAAK;AACL;AACA;;AAEA;AACA,mBAAmB,sBAAsB;AACzC;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,SAAS;AACtB,eAAe;AACf;AACA;AACA;AACA;AACA;;AAEA;AACA,cAAc,yBAAyB;AACvC;;AAEA;AACA;AACA,eAAe,WAAW;AAC1B;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,iBAAiB,OAAO;AACxB;AACA,mBAAmB,aAAa;AAChC;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,gBAAgB;AAChB;AACA,KAAK;AACL;AACA,KAAK;AACL;;AAEA;AACA;AACA;AACA,YAAY,yBAAyB;;AAErC;AACA;AACA;AACA;AACA;AACA,GAAG;AACH,C;;;;;;;ACvPA;AAAA;AACA;AACA;AACA,WAAW,OAAO;AAClB,aAAa;AACb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA,C;;;;;;ACpBA;;AAEA;AACA;AACA;AACA,CAAC;;AAED;AACA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;;AAEA;AACA;AACA,4CAA4C;;AAE5C;;;;;;;;;;;;;;;;;;;;;;;ACpBA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;;;;;;;;;;;;;;ACfA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC3BA;AACA;;AAEA;;;;;;;;;;ACHA;;AAEA;AACA;;AAEA;;;;;;;;;ACLA;;AAEA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;AACA,KAAK;AACL;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;AC7CA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,OAAO;AACpB;AACA;AACA;AACA;;AAEA;;;;;;;;ACrBA;AACA;AACA;AACA;AACA,WAAW,SAAS;AACpB,WAAW,SAAS;AACpB,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;ACdA;;AAEA;AACA;;AAEA;AACA;;AAEA;;;;;;;;ACRA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,EAAE;AACb,aAAa,QAAQ;AACrB;AACA;AACA,oBAAoB;AACpB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;;;;;;;;;AC5BA;AAAA,mDAAmD,gBAAgB,sBAAsB,OAAO,2BAA2B,0BAA0B,yDAAyD,2BAA2B,EAAE,EAAE,EAAE,eAAe;;AAE9P;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,YAAY;AACvB,aAAa,SAAS;AACtB;AACA;AACA,wEAAwE,aAAa;AACrF;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO;AACP;;AAEA,wBAAwB;AACxB;AACA,OAAO;AACP;AACA;AACA,C;;;;;;;AC/CA;AAAA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,gBAAgB;AAC3B;AACA;AACA;AACA,WAAW,SAAS;AACpB;AACA;AACA,aAAa,gBAAgB;AAC7B;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA,iBAAiB,iBAAiB;AAClC;AACA;AACA;AACA;AACA;AACA;AACA;AACA,C;;;;;;;;;;;AC9CsB;AACtB;AACA;;AAEA;AACA;AACA;;AAEA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA,mEAAmE;AACnE;;AAEA;AACA;AACA,GAAG;;AAEH;AACA;AACA,GAAG;;AAEH;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,2CAA2C,+EAAyB;;AAEpE;AACA;AACA;;AAEA;AACA,mCAAmC,aAAa;AAChD;AACA;AACA,GAAG;AACH;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA,WAAW,OAAO;AAClB;AACA;AACA;AACA;AACA;AACA;AACA,aAAa,SAAS;AACtB;AACA;AACA;AACA;AACA;AACA,iBAAiB,wBAAwB;AACzC;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;;AAEA;AACA;AACA;AACA;AACA;AACA;;AAEA;AACA;AACA,oBAAoB,8BAA8B;AAClD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,C;;;;;;;ACjIA;;;;;;;;sDCAA;;AAEA;AACA;AACA,CAAC;;AAED;;AAEA;;AAEA,sCAAsC,uCAAuC,kBAAkB;;AAE/F,SAAS;;;AAGT;AACA;AACA,CAAC;AACD;AACA,CAAC;AACD;AACA,CAAC;AACD;AACA,CAAC;AACD;AACA;;AAEA;AACA,4B;;;;;;;;AC5BA;;AAEA;AACA;AACA,CAAC;AACD;AACA;AACA;AACA;;AAEA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA,EAAE;AACF;AACA;;AAEA;AACA,E;;;;;;ACtBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;AACA;AACA,GAAG;AACH;AACA;AACA;AACA;;;;;;;;;;;;;;ACrBA,sCAA8C;AAC9C,oCAAgC;AAGhC,iBAAiB,KAAkB,EAAE,MAA+B;IAAnD,oCAAY,IAAI,EAAE;IAC/B,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;QACtC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;IACpB,CAAC;IAAC,IAAI,CAAC,CAAC;QACJ,MAAM,CAAC,KAAK,CAAC;IACjB,CAAC;AACL,CAAC;AAED,IAAI,KAAK,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC;AACnC,IAAI,GAAG,GAAG,IAAI,IAAI,CAAC,YAAY,CAAC,CAAC;AACjC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC;AAEpC,kBAAkB,KAA4C,EAAE,MAA+D;IAA7G,kCAAS,KAAK,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,OAAO,EAAE,CAAC,EAAC;IAC1D,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,IAAI,OAAO,CAAC,aAAa,CAAC,EAAC;QACtC,MAAM,CAAC;YACH,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,GAAG,EAAE,MAAM,CAAC,GAAG;YACf,OAAO,EAAE,MAAM,CAAC,OAAO;SAC1B;IACL,CAAC;IAAC,IAAI,CAAC,CAAC;QACJ,MAAM,CAAC,KAAK,CAAC;IACjB,CAAC;AACL,CAAC;AAIY,gBAAQ,GAAG,KAAK,CAAC,WAAW,CACrC,KAAK,CAAC,eAAe,CAAC,EAAC,OAAO,WAAE,QAAQ,YAAC,CAAC,CAC7C,CAAC;AASF;IACI,MAAM,CAAC,gBAAQ,CAAC,QAAQ,EAAY,CAAC;AACzC,CAAC;AAFD,4BAEC;AAED,kBAAe,gBAAQ,CAAC","file":"reacttst_store.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 49);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 8202a2a62a94a60716cf","\r\n\r\nexport const SET_ONE_DATE = 'set one date';\r\nexport const SET_TWO_DATES = 'set two dates';\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/_tests/demos/reacttst_actions.ts","import root from './_root.js';\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nexport default Symbol;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash-es/_Symbol.js\n// module id = 17\n// module chunks = 0 1 3","import baseGetTag from './_baseGetTag.js';\nimport getPrototype from './_getPrototype.js';\nimport isObjectLike from './isObjectLike.js';\n\n/** `Object#toString` result references. */\nvar objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to infer the `Object` constructor. */\nvar objectCtorString = funcToString.call(Object);\n\n/**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\nfunction isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n}\n\nexport default isPlainObject;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash-es/isPlainObject.js\n// module id = 18\n// module chunks = 0 1 3","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/process/browser.js\n// module id = 19\n// module chunks = 0 1 3","/**\n * Composes single-argument functions from right to left. The rightmost\n * function can take multiple arguments as it provides the signature for\n * the resulting composite function.\n *\n * @param {...Function} funcs The functions to compose.\n * @returns {Function} A function obtained by composing the argument functions\n * from right to left. For example, compose(f, g, h) is identical to doing\n * (...args) => f(g(h(...args))).\n */\n\nexport default function compose() {\n for (var _len = arguments.length, funcs = Array(_len), _key = 0; _key < _len; _key++) {\n funcs[_key] = arguments[_key];\n }\n\n if (funcs.length === 0) {\n return function (arg) {\n return arg;\n };\n }\n\n if (funcs.length === 1) {\n return funcs[0];\n }\n\n return funcs.reduce(function (a, b) {\n return function () {\n return a(b.apply(undefined, arguments));\n };\n });\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/redux/es/compose.js\n// module id = 20\n// module chunks = 0 1 3","import isPlainObject from 'lodash-es/isPlainObject';\nimport $$observable from 'symbol-observable';\n\n/**\n * These are private action types reserved by Redux.\n * For any unknown actions, you must return the current state.\n * If the current state is undefined, you must return the initial state.\n * Do not reference these action types directly in your code.\n */\nexport var ActionTypes = {\n INIT: '@@redux/INIT'\n\n /**\n * Creates a Redux store that holds the state tree.\n * The only way to change the data in the store is to call `dispatch()` on it.\n *\n * There should only be a single store in your app. To specify how different\n * parts of the state tree respond to actions, you may combine several reducers\n * into a single reducer function by using `combineReducers`.\n *\n * @param {Function} reducer A function that returns the next state tree, given\n * the current state tree and the action to handle.\n *\n * @param {any} [preloadedState] The initial state. You may optionally specify it\n * to hydrate the state from the server in universal apps, or to restore a\n * previously serialized user session.\n * If you use `combineReducers` to produce the root reducer function, this must be\n * an object with the same shape as `combineReducers` keys.\n *\n * @param {Function} [enhancer] The store enhancer. You may optionally specify it\n * to enhance the store with third-party capabilities such as middleware,\n * time travel, persistence, etc. The only store enhancer that ships with Redux\n * is `applyMiddleware()`.\n *\n * @returns {Store} A Redux store that lets you read the state, dispatch actions\n * and subscribe to changes.\n */\n};export default function createStore(reducer, preloadedState, enhancer) {\n var _ref2;\n\n if (typeof preloadedState === 'function' && typeof enhancer === 'undefined') {\n enhancer = preloadedState;\n preloadedState = undefined;\n }\n\n if (typeof enhancer !== 'undefined') {\n if (typeof enhancer !== 'function') {\n throw new Error('Expected the enhancer to be a function.');\n }\n\n return enhancer(createStore)(reducer, preloadedState);\n }\n\n if (typeof reducer !== 'function') {\n throw new Error('Expected the reducer to be a function.');\n }\n\n var currentReducer = reducer;\n var currentState = preloadedState;\n var currentListeners = [];\n var nextListeners = currentListeners;\n var isDispatching = false;\n\n function ensureCanMutateNextListeners() {\n if (nextListeners === currentListeners) {\n nextListeners = currentListeners.slice();\n }\n }\n\n /**\n * Reads the state tree managed by the store.\n *\n * @returns {any} The current state tree of your application.\n */\n function getState() {\n return currentState;\n }\n\n /**\n * Adds a change listener. It will be called any time an action is dispatched,\n * and some part of the state tree may potentially have changed. You may then\n * call `getState()` to read the current state tree inside the callback.\n *\n * You may call `dispatch()` from a change listener, with the following\n * caveats:\n *\n * 1. The subscriptions are snapshotted just before every `dispatch()` call.\n * If you subscribe or unsubscribe while the listeners are being invoked, this\n * will not have any effect on the `dispatch()` that is currently in progress.\n * However, the next `dispatch()` call, whether nested or not, will use a more\n * recent snapshot of the subscription list.\n *\n * 2. The listener should not expect to see all state changes, as the state\n * might have been updated multiple times during a nested `dispatch()` before\n * the listener is called. It is, however, guaranteed that all subscribers\n * registered before the `dispatch()` started will be called with the latest\n * state by the time it exits.\n *\n * @param {Function} listener A callback to be invoked on every dispatch.\n * @returns {Function} A function to remove this change listener.\n */\n function subscribe(listener) {\n if (typeof listener !== 'function') {\n throw new Error('Expected listener to be a function.');\n }\n\n var isSubscribed = true;\n\n ensureCanMutateNextListeners();\n nextListeners.push(listener);\n\n return function unsubscribe() {\n if (!isSubscribed) {\n return;\n }\n\n isSubscribed = false;\n\n ensureCanMutateNextListeners();\n var index = nextListeners.indexOf(listener);\n nextListeners.splice(index, 1);\n };\n }\n\n /**\n * Dispatches an action. It is the only way to trigger a state change.\n *\n * The `reducer` function, used to create the store, will be called with the\n * current state tree and the given `action`. Its return value will\n * be considered the **next** state of the tree, and the change listeners\n * will be notified.\n *\n * The base implementation only supports plain object actions. If you want to\n * dispatch a Promise, an Observable, a thunk, or something else, you need to\n * wrap your store creating function into the corresponding middleware. For\n * example, see the documentation for the `redux-thunk` package. Even the\n * middleware will eventually dispatch plain object actions using this method.\n *\n * @param {Object} action A plain object representing “what changed”. It is\n * a good idea to keep actions serializable so you can record and replay user\n * sessions, or use the time travelling `redux-devtools`. An action must have\n * a `type` property which may not be `undefined`. It is a good idea to use\n * string constants for action types.\n *\n * @returns {Object} For convenience, the same action object you dispatched.\n *\n * Note that, if you use a custom middleware, it may wrap `dispatch()` to\n * return something else (for example, a Promise you can await).\n */\n function dispatch(action) {\n if (!isPlainObject(action)) {\n throw new Error('Actions must be plain objects. ' + 'Use custom middleware for async actions.');\n }\n\n if (typeof action.type === 'undefined') {\n throw new Error('Actions may not have an undefined \"type\" property. ' + 'Have you misspelled a constant?');\n }\n\n if (isDispatching) {\n throw new Error('Reducers may not dispatch actions.');\n }\n\n try {\n isDispatching = true;\n currentState = currentReducer(currentState, action);\n } finally {\n isDispatching = false;\n }\n\n var listeners = currentListeners = nextListeners;\n for (var i = 0; i < listeners.length; i++) {\n var listener = listeners[i];\n listener();\n }\n\n return action;\n }\n\n /**\n * Replaces the reducer currently used by the store to calculate the state.\n *\n * You might need this if your app implements code splitting and you want to\n * load some of the reducers dynamically. You might also need this if you\n * implement a hot reloading mechanism for Redux.\n *\n * @param {Function} nextReducer The reducer for the store to use instead.\n * @returns {void}\n */\n function replaceReducer(nextReducer) {\n if (typeof nextReducer !== 'function') {\n throw new Error('Expected the nextReducer to be a function.');\n }\n\n currentReducer = nextReducer;\n dispatch({ type: ActionTypes.INIT });\n }\n\n /**\n * Interoperability point for observable/reactive libraries.\n * @returns {observable} A minimal observable of state changes.\n * For more information, see the observable proposal:\n * https://github.com/tc39/proposal-observable\n */\n function observable() {\n var _ref;\n\n var outerSubscribe = subscribe;\n return _ref = {\n /**\n * The minimal observable subscription method.\n * @param {Object} observer Any object that can be used as an observer.\n * The observer object should have a `next` method.\n * @returns {subscription} An object with an `unsubscribe` method that can\n * be used to unsubscribe the observable from the store, and prevent further\n * emission of values from the observable.\n */\n subscribe: function subscribe(observer) {\n if (typeof observer !== 'object') {\n throw new TypeError('Expected the observer to be an object.');\n }\n\n function observeState() {\n if (observer.next) {\n observer.next(getState());\n }\n }\n\n observeState();\n var unsubscribe = outerSubscribe(observeState);\n return { unsubscribe: unsubscribe };\n }\n }, _ref[$$observable] = function () {\n return this;\n }, _ref;\n }\n\n // When a store is created, an \"INIT\" action is dispatched so that every\n // reducer returns their initial state. This effectively populates\n // the initial state tree.\n dispatch({ type: ActionTypes.INIT });\n\n return _ref2 = {\n dispatch: dispatch,\n subscribe: subscribe,\n getState: getState,\n replaceReducer: replaceReducer\n }, _ref2[$$observable] = observable, _ref2;\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/redux/es/createStore.js\n// module id = 21\n// module chunks = 0 1 3","/**\n * Prints a warning in the console if it exists.\n *\n * @param {String} message The warning message.\n * @returns {void}\n */\nexport default function warning(message) {\n /* eslint-disable no-console */\n if (typeof console !== 'undefined' && typeof console.error === 'function') {\n console.error(message);\n }\n /* eslint-enable no-console */\n try {\n // This error was thrown as a convenience so that if you enable\n // \"break on all exceptions\" in your console,\n // it would pause the execution at this line.\n throw new Error(message);\n /* eslint-disable no-empty */\n } catch (e) {}\n /* eslint-enable no-empty */\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/redux/es/utils/warning.js\n// module id = 22\n// module chunks = 0 1 3","var g;\r\n\r\n// This works in non-strict mode\r\ng = (function() {\r\n\treturn this;\r\n})();\r\n\r\ntry {\r\n\t// This works if eval is allowed (see CSP)\r\n\tg = g || Function(\"return this\")() || (1,eval)(\"this\");\r\n} catch(e) {\r\n\t// This works if the window reference is available\r\n\tif(typeof window === \"object\")\r\n\t\tg = window;\r\n}\r\n\r\n// g can still be undefined, but nothing to do about it...\r\n// We return undefined, instead of nothing here, so it's\r\n// easier to handle this case. if(!global) { ...}\r\n\r\nmodule.exports = g;\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// (webpack)/buildin/global.js\n// module id = 23\n// module chunks = 0 1 3","import createStore from './createStore';\nimport combineReducers from './combineReducers';\nimport bindActionCreators from './bindActionCreators';\nimport applyMiddleware from './applyMiddleware';\nimport compose from './compose';\nimport warning from './utils/warning';\n\n/*\n* This is a dummy function to check if the function name has been altered by minification.\n* If the function has been minified and NODE_ENV !== 'production', warn the user.\n*/\nfunction isCrushed() {}\n\nif (process.env.NODE_ENV !== 'production' && typeof isCrushed.name === 'string' && isCrushed.name !== 'isCrushed') {\n warning('You are currently using minified code outside of NODE_ENV === \\'production\\'. ' + 'This means that you are running a slower development build of Redux. ' + 'You can use loose-envify (https://github.com/zertosh/loose-envify) for browserify ' + 'or DefinePlugin for webpack (http://stackoverflow.com/questions/30030031) ' + 'to ensure you have the correct code for your production build.');\n}\n\nexport { createStore, combineReducers, bindActionCreators, applyMiddleware, compose };\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/redux/es/index.js\n// module id = 27\n// module chunks = 0 1 3","import Symbol from './_Symbol.js';\nimport getRawTag from './_getRawTag.js';\nimport objectToString from './_objectToString.js';\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nexport default baseGetTag;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash-es/_baseGetTag.js\n// module id = 30\n// module chunks = 0 1 3","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nexport default freeGlobal;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash-es/_freeGlobal.js\n// module id = 31\n// module chunks = 0 1 3","import overArg from './_overArg.js';\n\n/** Built-in value references. */\nvar getPrototype = overArg(Object.getPrototypeOf, Object);\n\nexport default getPrototype;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash-es/_getPrototype.js\n// module id = 32\n// module chunks = 0 1 3","import Symbol from './_Symbol.js';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nexport default getRawTag;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash-es/_getRawTag.js\n// module id = 33\n// module chunks = 0 1 3","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nexport default objectToString;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash-es/_objectToString.js\n// module id = 34\n// module chunks = 0 1 3","/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nexport default overArg;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash-es/_overArg.js\n// module id = 35\n// module chunks = 0 1 3","import freeGlobal from './_freeGlobal.js';\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nexport default root;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash-es/_root.js\n// module id = 36\n// module chunks = 0 1 3","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nexport default isObjectLike;\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/lodash-es/isObjectLike.js\n// module id = 37\n// module chunks = 0 1 3","var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nimport compose from './compose';\n\n/**\n * Creates a store enhancer that applies middleware to the dispatch method\n * of the Redux store. This is handy for a variety of tasks, such as expressing\n * asynchronous actions in a concise manner, or logging every action payload.\n *\n * See `redux-thunk` package as an example of the Redux middleware.\n *\n * Because middleware is potentially asynchronous, this should be the first\n * store enhancer in the composition chain.\n *\n * Note that each middleware will be given the `dispatch` and `getState` functions\n * as named arguments.\n *\n * @param {...Function} middlewares The middleware chain to be applied.\n * @returns {Function} A store enhancer applying the middleware.\n */\nexport default function applyMiddleware() {\n for (var _len = arguments.length, middlewares = Array(_len), _key = 0; _key < _len; _key++) {\n middlewares[_key] = arguments[_key];\n }\n\n return function (createStore) {\n return function (reducer, preloadedState, enhancer) {\n var store = createStore(reducer, preloadedState, enhancer);\n var _dispatch = store.dispatch;\n var chain = [];\n\n var middlewareAPI = {\n getState: store.getState,\n dispatch: function dispatch(action) {\n return _dispatch(action);\n }\n };\n chain = middlewares.map(function (middleware) {\n return middleware(middlewareAPI);\n });\n _dispatch = compose.apply(undefined, chain)(store.dispatch);\n\n return _extends({}, store, {\n dispatch: _dispatch\n });\n };\n };\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/redux/es/applyMiddleware.js\n// module id = 38\n// module chunks = 0 1 3","function bindActionCreator(actionCreator, dispatch) {\n return function () {\n return dispatch(actionCreator.apply(undefined, arguments));\n };\n}\n\n/**\n * Turns an object whose values are action creators, into an object with the\n * same keys, but with every function wrapped into a `dispatch` call so they\n * may be invoked directly. This is just a convenience method, as you can call\n * `store.dispatch(MyActionCreators.doSomething())` yourself just fine.\n *\n * For convenience, you can also pass a single function as the first argument,\n * and get a function in return.\n *\n * @param {Function|Object} actionCreators An object whose values are action\n * creator functions. One handy way to obtain it is to use ES6 `import * as`\n * syntax. You may also pass a single function.\n *\n * @param {Function} dispatch The `dispatch` function available on your Redux\n * store.\n *\n * @returns {Function|Object} The object mimicking the original object, but with\n * every action creator wrapped into the `dispatch` call. If you passed a\n * function as `actionCreators`, the return value will also be a single\n * function.\n */\nexport default function bindActionCreators(actionCreators, dispatch) {\n if (typeof actionCreators === 'function') {\n return bindActionCreator(actionCreators, dispatch);\n }\n\n if (typeof actionCreators !== 'object' || actionCreators === null) {\n throw new Error('bindActionCreators expected an object or a function, instead received ' + (actionCreators === null ? 'null' : typeof actionCreators) + '. ' + 'Did you write \"import ActionCreators from\" instead of \"import * as ActionCreators from\"?');\n }\n\n var keys = Object.keys(actionCreators);\n var boundActionCreators = {};\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n var actionCreator = actionCreators[key];\n if (typeof actionCreator === 'function') {\n boundActionCreators[key] = bindActionCreator(actionCreator, dispatch);\n }\n }\n return boundActionCreators;\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/redux/es/bindActionCreators.js\n// module id = 39\n// module chunks = 0 1 3","import { ActionTypes } from './createStore';\nimport isPlainObject from 'lodash-es/isPlainObject';\nimport warning from './utils/warning';\n\nfunction getUndefinedStateErrorMessage(key, action) {\n var actionType = action && action.type;\n var actionName = actionType && '\"' + actionType.toString() + '\"' || 'an action';\n\n return 'Given action ' + actionName + ', reducer \"' + key + '\" returned undefined. ' + 'To ignore an action, you must explicitly return the previous state. ' + 'If you want this reducer to hold no value, you can return null instead of undefined.';\n}\n\nfunction getUnexpectedStateShapeWarningMessage(inputState, reducers, action, unexpectedKeyCache) {\n var reducerKeys = Object.keys(reducers);\n var argumentName = action && action.type === ActionTypes.INIT ? 'preloadedState argument passed to createStore' : 'previous state received by the reducer';\n\n if (reducerKeys.length === 0) {\n return 'Store does not have a valid reducer. Make sure the argument passed ' + 'to combineReducers is an object whose values are reducers.';\n }\n\n if (!isPlainObject(inputState)) {\n return 'The ' + argumentName + ' has unexpected type of \"' + {}.toString.call(inputState).match(/\\s([a-z|A-Z]+)/)[1] + '\". Expected argument to be an object with the following ' + ('keys: \"' + reducerKeys.join('\", \"') + '\"');\n }\n\n var unexpectedKeys = Object.keys(inputState).filter(function (key) {\n return !reducers.hasOwnProperty(key) && !unexpectedKeyCache[key];\n });\n\n unexpectedKeys.forEach(function (key) {\n unexpectedKeyCache[key] = true;\n });\n\n if (unexpectedKeys.length > 0) {\n return 'Unexpected ' + (unexpectedKeys.length > 1 ? 'keys' : 'key') + ' ' + ('\"' + unexpectedKeys.join('\", \"') + '\" found in ' + argumentName + '. ') + 'Expected to find one of the known reducer keys instead: ' + ('\"' + reducerKeys.join('\", \"') + '\". Unexpected keys will be ignored.');\n }\n}\n\nfunction assertReducerShape(reducers) {\n Object.keys(reducers).forEach(function (key) {\n var reducer = reducers[key];\n var initialState = reducer(undefined, { type: ActionTypes.INIT });\n\n if (typeof initialState === 'undefined') {\n throw new Error('Reducer \"' + key + '\" returned undefined during initialization. ' + 'If the state passed to the reducer is undefined, you must ' + 'explicitly return the initial state. The initial state may ' + 'not be undefined. If you don\\'t want to set a value for this reducer, ' + 'you can use null instead of undefined.');\n }\n\n var type = '@@redux/PROBE_UNKNOWN_ACTION_' + Math.random().toString(36).substring(7).split('').join('.');\n if (typeof reducer(undefined, { type: type }) === 'undefined') {\n throw new Error('Reducer \"' + key + '\" returned undefined when probed with a random type. ' + ('Don\\'t try to handle ' + ActionTypes.INIT + ' or other actions in \"redux/*\" ') + 'namespace. They are considered private. Instead, you must return the ' + 'current state for any unknown actions, unless it is undefined, ' + 'in which case you must return the initial state, regardless of the ' + 'action type. The initial state may not be undefined, but can be null.');\n }\n });\n}\n\n/**\n * Turns an object whose values are different reducer functions, into a single\n * reducer function. It will call every child reducer, and gather their results\n * into a single state object, whose keys correspond to the keys of the passed\n * reducer functions.\n *\n * @param {Object} reducers An object whose values correspond to different\n * reducer functions that need to be combined into one. One handy way to obtain\n * it is to use ES6 `import * as reducers` syntax. The reducers may never return\n * undefined for any action. Instead, they should return their initial state\n * if the state passed to them was undefined, and the current state for any\n * unrecognized action.\n *\n * @returns {Function} A reducer function that invokes every reducer inside the\n * passed object, and builds a state object with the same shape.\n */\nexport default function combineReducers(reducers) {\n var reducerKeys = Object.keys(reducers);\n var finalReducers = {};\n for (var i = 0; i < reducerKeys.length; i++) {\n var key = reducerKeys[i];\n\n if (process.env.NODE_ENV !== 'production') {\n if (typeof reducers[key] === 'undefined') {\n warning('No reducer provided for key \"' + key + '\"');\n }\n }\n\n if (typeof reducers[key] === 'function') {\n finalReducers[key] = reducers[key];\n }\n }\n var finalReducerKeys = Object.keys(finalReducers);\n\n var unexpectedKeyCache = void 0;\n if (process.env.NODE_ENV !== 'production') {\n unexpectedKeyCache = {};\n }\n\n var shapeAssertionError = void 0;\n try {\n assertReducerShape(finalReducers);\n } catch (e) {\n shapeAssertionError = e;\n }\n\n return function combination() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var action = arguments[1];\n\n if (shapeAssertionError) {\n throw shapeAssertionError;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n var warningMessage = getUnexpectedStateShapeWarningMessage(state, finalReducers, action, unexpectedKeyCache);\n if (warningMessage) {\n warning(warningMessage);\n }\n }\n\n var hasChanged = false;\n var nextState = {};\n for (var _i = 0; _i < finalReducerKeys.length; _i++) {\n var _key = finalReducerKeys[_i];\n var reducer = finalReducers[_key];\n var previousStateForKey = state[_key];\n var nextStateForKey = reducer(previousStateForKey, action);\n if (typeof nextStateForKey === 'undefined') {\n var errorMessage = getUndefinedStateErrorMessage(_key, action);\n throw new Error(errorMessage);\n }\n nextState[_key] = nextStateForKey;\n hasChanged = hasChanged || nextStateForKey !== previousStateForKey;\n }\n return hasChanged ? nextState : state;\n };\n}\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/redux/es/combineReducers.js\n// module id = 40\n// module chunks = 0 1 3","module.exports = require('./lib/index');\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/symbol-observable/index.js\n// module id = 41\n// module chunks = 0 1 3","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _ponyfill = require('./ponyfill');\n\nvar _ponyfill2 = _interopRequireDefault(_ponyfill);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { 'default': obj }; }\n\nvar root; /* global window */\n\n\nif (typeof self !== 'undefined') {\n root = self;\n} else if (typeof window !== 'undefined') {\n root = window;\n} else if (typeof global !== 'undefined') {\n root = global;\n} else if (typeof module !== 'undefined') {\n root = module;\n} else {\n root = Function('return this')();\n}\n\nvar result = (0, _ponyfill2['default'])(root);\nexports['default'] = result;\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/symbol-observable/lib/index.js\n// module id = 42\n// module chunks = 0 1 3","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n\tvalue: true\n});\nexports['default'] = symbolObservablePonyfill;\nfunction symbolObservablePonyfill(root) {\n\tvar result;\n\tvar _Symbol = root.Symbol;\n\n\tif (typeof _Symbol === 'function') {\n\t\tif (_Symbol.observable) {\n\t\t\tresult = _Symbol.observable;\n\t\t} else {\n\t\t\tresult = _Symbol('observable');\n\t\t\t_Symbol.observable = result;\n\t\t}\n\t} else {\n\t\tresult = '@@observable';\n\t}\n\n\treturn result;\n};\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./~/symbol-observable/lib/ponyfill.js\n// module id = 43\n// module chunks = 0 1 3","module.exports = function(module) {\r\n\tif(!module.webpackPolyfill) {\r\n\t\tmodule.deprecate = function() {};\r\n\t\tmodule.paths = [];\r\n\t\t// module.parent = undefined by default\r\n\t\tif(!module.children) module.children = [];\r\n\t\tObject.defineProperty(module, \"loaded\", {\r\n\t\t\tenumerable: true,\r\n\t\t\tget: function() {\r\n\t\t\t\treturn module.l;\r\n\t\t\t}\r\n\t\t});\r\n\t\tObject.defineProperty(module, \"id\", {\r\n\t\t\tenumerable: true,\r\n\t\t\tget: function() {\r\n\t\t\t\treturn module.i;\r\n\t\t\t}\r\n\t\t});\r\n\t\tmodule.webpackPolyfill = 1;\r\n\t}\r\n\treturn module;\r\n};\r\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// (webpack)/buildin/module.js\n// module id = 44\n// module chunks = 0 1 3","import * as actions from './reacttst_actions';\r\nimport Redux = require('redux');\r\n\r\n\r\nfunction oneDate(state = new Date(), action: {type: string, d: Date}) {\r\n if (action.type == actions.SET_ONE_DATE) {\r\n return action.d;\r\n } else {\r\n return state;\r\n }\r\n}\r\n\r\nlet start = new Date('12/31/2017');\r\nlet end = new Date('12/31/2017');\r\nstart.setDate(start.getDate() - 10);\r\n\r\nfunction twoDates(state = {start: start, end: end, version: 2}, action: {type: string, start: Date, end: Date, version: number}){\r\n if (action.type == actions.SET_TWO_DATES){\r\n return {\r\n start: action.start,\r\n end: action.end,\r\n version: action.version\r\n }\r\n } else {\r\n return state;\r\n }\r\n}\r\n\r\n\r\n\r\nexport const theStore = Redux.createStore(\r\n Redux.combineReducers({oneDate, twoDates})\r\n);\r\n\r\n\r\nexport interface iState {\r\n oneDate: Date;\r\n twoDates: {start: Date, end: Date, version: number}\r\n}\r\n\r\n\r\nexport function getState(): iState{\r\n return theStore.getState() as iState;\r\n}\r\n\r\nexport default theStore;\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/_tests/demos/reacttst_store.ts"],"sourceRoot":""} \ No newline at end of file diff --git a/test/serve/js/simple_map.js b/test/serve/js/simple_map.js index 8b428466f6b24f9f6d629a0839c1e412210da3d0..585d562eb5d7851aa54a01611bba538883ea8d30 100644 --- a/test/serve/js/simple_map.js +++ b/test/serve/js/simple_map.js @@ -63,7 +63,7 @@ /******/ __webpack_require__.p = ""; /******/ /******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = 75); +/******/ return __webpack_require__(__webpack_require__.s = 77); /******/ }) /************************************************************************/ /******/ ({ @@ -112,7 +112,7 @@ module.exports = $; /***/ }), -/***/ 11: +/***/ 12: /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -522,236 +522,7 @@ exports.default = LayerBase; /***/ }), -/***/ 19: -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -Object.defineProperty(exports, "__esModule", { value: true }); -var provide_1 = __webpack_require__(0); -var nm = provide_1.default('util.checkDefined'); -/** - * check if the input is undefined or null - * @param input - input pointer - * @returns true undefined or null - */ -function undefinedOrNull(input) { - "use strict"; - return (typeof input === 'undefined' || input === null); -} -exports.undefinedOrNull = undefinedOrNull; -nm.undefinedOrNull = undefinedOrNull; -/** - * check if the input is defined and not null - * @param input - input pointer - * @returns true defined and not null - */ -function definedAndNotNull(input) { - "use strict"; - return !(undefinedOrNull(input)); -} -exports.definedAndNotNull = definedAndNotNull; -nm.definedAndNotNull = definedAndNotNull; - - -/***/ }), - -/***/ 2: -/***/ (function(module, exports) { - -module.exports = ol; - -/***/ }), - -/***/ 21: -/***/ (function(module, exports, __webpack_require__) { - -"use strict"; - -var __extends = (this && this.__extends) || (function () { - var extendStatics = Object.setPrototypeOf || - ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || - function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; - return function (d, b) { - extendStatics(d, b); - function __() { this.constructor = d; } - d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); - }; -})(); -Object.defineProperty(exports, "__esModule", { value: true }); -/** - * Created by gavorhes on 12/7/2015. - */ -var LayerBase_1 = __webpack_require__(11); -var esriToOl = __webpack_require__(28); -var mapPopup_1 = __webpack_require__(4); -var provide_1 = __webpack_require__(0); -var ol = __webpack_require__(2); -var $ = __webpack_require__(1); -var nm = provide_1.default('layers'); -/** - * Helper to return the url to the service on the production server - * @param {string} folder - * @param {string} service - * @returns {string} - */ -function makeServiceUrl(folder, service) { - return "https://transportal.cee.wisc.edu/applications/arcgis2/rest/services/" + folder + "/" + service + "/MapServer"; -} -exports.makeServiceUrl = makeServiceUrl; -function localCacheUrl(folder, service) { - var loc = window.location.href; - var url = "/mapserver/" + folder + "/" + service; - if (loc.indexOf('transportal.cee.wisc.edu') > -1) { - if (loc.toLowerCase().indexOf('webmapsstage') > -1) { - url = 'https://transportal.cee.wisc.edu/gis/webmapsstage' + url; - } - else { - url = 'https://transportal.cee.wisc.edu/gis/webmaps' + url; - } - } - return url; -} -exports.localCacheUrl = localCacheUrl; -/** - * esri mapserver layer - * @augments LayerBase - */ -var LayerEsriMapServer = (function (_super) { - __extends(LayerEsriMapServer, _super); - /** - * The base layer for all others - * @param {string} url - resource url - * @param {object} [options] - config - * @param {string} [options.id] - layer id - * @param {string} [options.name=Unnamed Layer] - layer name - * @param {number} [options.opacity=1] - opacity - * @param {boolean} [options.visible=true] - default visible - * @param {number} [options.minZoom=undefined] - min zoom level, 0 - 28 - * @param {number} [options.maxZoom=undefined] - max zoom level, 0 - 28 - * @param {object} [options.params={}] the get parameters to include to retrieve the layer - * @param {number} [options.zIndex=0] the z index for the layer - * @param {function} [options.loadCallback] function to call on load, context this is the layer object - * @param {boolean} [options.legendCollapse=false] if the legend item should be initially collapsed - * @param {boolean} [options.legendCheckbox=true] if the legend item should have a checkbox for visibility - * @param {boolean} [options.legendContent] additional content to add to the legend - * @param {boolean} [options.addPopup=false] if a popup should be added - * @param {undefined|Array<number>} [options.showLayers=undefined] if a popup should be added - */ - function LayerEsriMapServer(url, options) { - if (options === void 0) { options = {}; } - var _this = _super.call(this, url, options) || this; - _this._source = new ol.source.TileArcGISRest({ - url: _this.url == '' ? undefined : _this.url, - params: typeof options.showLayers == 'undefined' ? undefined : { layers: 'show:' + options.showLayers.join(',') } - }); - _this._showLayers = options.showLayers || []; - _this._olLayer = new ol.layer.Tile({ - source: _this._source, - visible: _this.visible, - opacity: _this.opacity, - minResolution: _this._minResolution, - maxResolution: _this._maxResolution - }); - _this._olLayer.setZIndex(_this._zIndex); - options.addPopup = typeof options.addPopup == 'boolean' ? options.addPopup : false; - _this._esriFormat = new ol.format.EsriJSON(); - _this._popupRequest = null; - options.getLegend = typeof options.getLegend === 'boolean' ? options.getLegend : true; - if (options.getLegend) { - _this.addLegendContent(); - } - if (options.addPopup) { - mapPopup_1.default.addMapServicePopup(_this); - } - return _this; - } - /** - * add additional content to the legend - * @param {string} [additionalContent=''] additional content for legend - */ - LayerEsriMapServer.prototype.addLegendContent = function (additionalContent) { - var _this = this; - var urlCopy = this.url; - if (urlCopy[urlCopy.length - 1] !== '/') { - urlCopy += '/'; - } - urlCopy += 'legend?f=pjson&callback=?'; - $.get(urlCopy, {}, function (d) { - var newHtml = esriToOl.makeMapServiceLegend(d, _this._showLayers); - _super.prototype.addLegendContent.call(_this, newHtml); - }, 'json'); - }; - LayerEsriMapServer.prototype.getPopupInfo = function (queryParams) { - if (!this.visible) { - return; - } - var urlCopy = this.url; - if (urlCopy[urlCopy.length - 1] != '/') { - urlCopy += '/'; - } - urlCopy += 'identify?callback=?'; - var __this = this; - if (this._popupRequest != null) { - this._popupRequest.abort(); - } - this._popupRequest = $.get(urlCopy, queryParams, function (d) { - for (var _i = 0, _a = d['results']; _i < _a.length; _i++) { - var r = _a[_i]; - var popupHtml = '<table class="esri-popup-table">'; - for (var a in r['attributes']) { - if (r['attributes'].hasOwnProperty(a)) { - var attrVal = r['attributes'][a]; - if (attrVal == null || attrVal.toString().toLowerCase() == 'null') { - continue; - } - var attr = a; - if (attr.length > 14) { - attr = attr.slice(0, 11) + '...'; - } - popupHtml += "<tr><td>" + attr + "</td><td>" + attrVal + "</td></tr>"; - } - } - popupHtml += '</table>'; - mapPopup_1.default.addMapServicePopupContent(__this._esriFormat.readFeature(r), __this, popupHtml, r['layerName']); - } - }, 'json'); - this._popupRequest.always(function () { - __this._popupRequest = null; - }); - }; - Object.defineProperty(LayerEsriMapServer.prototype, "source", { - /** - * - * @returns {ol.source.TileArcGISRest} the vector source - */ - get: function () { - return _super.prototype.getSource.call(this); - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(LayerEsriMapServer.prototype, "olLayer", { - /** - * - * @returns the ol layer - */ - get: function () { - return _super.prototype.getOlLayer.call(this); - }, - enumerable: true, - configurable: true - }); - return LayerEsriMapServer; -}(LayerBase_1.LayerBase)); -exports.LayerEsriMapServer = LayerEsriMapServer; -nm.LayerEsriMapServer = LayerEsriMapServer; -exports.default = LayerEsriMapServer; - - -/***/ }), - -/***/ 22: +/***/ 13: /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -838,7 +609,7 @@ exports.Geocode = Geocode; /***/ }), -/***/ 23: +/***/ 14: /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -854,8 +625,8 @@ var __extends = (this && this.__extends) || (function () { }; })(); Object.defineProperty(exports, "__esModule", { value: true }); -var mapInteractionBase_1 = __webpack_require__(5); -var checkDefined = __webpack_require__(19); +var mapInteractionBase_1 = __webpack_require__(4); +var checkDefined = __webpack_require__(9); var provide_1 = __webpack_require__(0); var makeGuid_1 = __webpack_require__(3); var $ = __webpack_require__(1); @@ -1084,7 +855,7 @@ exports.default = MapMoveCls; /***/ }), -/***/ 24: +/***/ 15: /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -1103,7 +874,7 @@ var __extends = (this && this.__extends) || (function () { }; })(); Object.defineProperty(exports, "__esModule", { value: true }); -var mapInteractionBase_1 = __webpack_require__(5); +var mapInteractionBase_1 = __webpack_require__(4); var provide_1 = __webpack_require__(0); var ol = __webpack_require__(2); var $ = __webpack_require__(1); @@ -1520,7 +1291,7 @@ exports.default = MapPopupCls; /***/ }), -/***/ 25: +/***/ 16: /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -1532,7 +1303,7 @@ Object.defineProperty(exports, "__esModule", { value: true }); var provide_1 = __webpack_require__(0); var ol = __webpack_require__(2); var $ = __webpack_require__(1); -var geocode_1 = __webpack_require__(22); +var geocode_1 = __webpack_require__(13); var nm = provide_1.default('olHelpers'); /** * Sets up a map with some default parameters and initializes @@ -1603,23 +1374,218 @@ function quickMapBase(options) { minZoom: options.minZoom, maxZoom: options.maxZoom }); - var map = new ol.Map({ - layers: [osmLayer], - target: options.divId, - controls: controls, - view: view + var map = new ol.Map({ + layers: [osmLayer], + target: options.divId, + controls: controls, + view: view + }); + if (options.fullScreen) { + map.addControl(new ol.control.FullScreen({})); + } + if (options.addGeocode) { + new geocode_1.Geocode(document.getElementById(options.divId), map); + } + return map; +} +exports.quickMapBase = quickMapBase; +nm.quickMapBase = quickMapBase; +exports.default = quickMapBase; + + +/***/ }), + +/***/ 2: +/***/ (function(module, exports) { + +module.exports = ol; + +/***/ }), + +/***/ 25: +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +var __extends = (this && this.__extends) || (function () { + var extendStatics = Object.setPrototypeOf || + ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || + function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; + return function (d, b) { + extendStatics(d, b); + function __() { this.constructor = d; } + d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); + }; +})(); +Object.defineProperty(exports, "__esModule", { value: true }); +/** + * Created by gavorhes on 12/7/2015. + */ +var LayerBase_1 = __webpack_require__(12); +var esriToOl = __webpack_require__(28); +var mapPopup_1 = __webpack_require__(5); +var provide_1 = __webpack_require__(0); +var ol = __webpack_require__(2); +var $ = __webpack_require__(1); +var nm = provide_1.default('layers'); +/** + * Helper to return the url to the service on the production server + * @param {string} folder + * @param {string} service + * @returns {string} + */ +function makeServiceUrl(folder, service) { + return "https://transportal.cee.wisc.edu/applications/arcgis2/rest/services/" + folder + "/" + service + "/MapServer"; +} +exports.makeServiceUrl = makeServiceUrl; +function localCacheUrl(folder, service) { + var loc = window.location.href; + var url = "/mapserver/" + folder + "/" + service; + if (loc.indexOf('transportal.cee.wisc.edu') > -1) { + if (loc.toLowerCase().indexOf('webmapsstage') > -1) { + url = 'https://transportal.cee.wisc.edu/gis/webmapsstage' + url; + } + else { + url = 'https://transportal.cee.wisc.edu/gis/webmaps' + url; + } + } + return url; +} +exports.localCacheUrl = localCacheUrl; +/** + * esri mapserver layer + * @augments LayerBase + */ +var LayerEsriMapServer = (function (_super) { + __extends(LayerEsriMapServer, _super); + /** + * The base layer for all others + * @param {string} url - resource url + * @param {object} [options] - config + * @param {string} [options.id] - layer id + * @param {string} [options.name=Unnamed Layer] - layer name + * @param {number} [options.opacity=1] - opacity + * @param {boolean} [options.visible=true] - default visible + * @param {number} [options.minZoom=undefined] - min zoom level, 0 - 28 + * @param {number} [options.maxZoom=undefined] - max zoom level, 0 - 28 + * @param {object} [options.params={}] the get parameters to include to retrieve the layer + * @param {number} [options.zIndex=0] the z index for the layer + * @param {function} [options.loadCallback] function to call on load, context this is the layer object + * @param {boolean} [options.legendCollapse=false] if the legend item should be initially collapsed + * @param {boolean} [options.legendCheckbox=true] if the legend item should have a checkbox for visibility + * @param {boolean} [options.legendContent] additional content to add to the legend + * @param {boolean} [options.addPopup=false] if a popup should be added + * @param {undefined|Array<number>} [options.showLayers=undefined] if a popup should be added + */ + function LayerEsriMapServer(url, options) { + if (options === void 0) { options = {}; } + var _this = _super.call(this, url, options) || this; + _this._source = new ol.source.TileArcGISRest({ + url: _this.url == '' ? undefined : _this.url, + params: typeof options.showLayers == 'undefined' ? undefined : { layers: 'show:' + options.showLayers.join(',') } + }); + _this._showLayers = options.showLayers || []; + _this._olLayer = new ol.layer.Tile({ + source: _this._source, + visible: _this.visible, + opacity: _this.opacity, + minResolution: _this._minResolution, + maxResolution: _this._maxResolution + }); + _this._olLayer.setZIndex(_this._zIndex); + options.addPopup = typeof options.addPopup == 'boolean' ? options.addPopup : false; + _this._esriFormat = new ol.format.EsriJSON(); + _this._popupRequest = null; + options.getLegend = typeof options.getLegend === 'boolean' ? options.getLegend : true; + if (options.getLegend) { + _this.addLegendContent(); + } + if (options.addPopup) { + mapPopup_1.default.addMapServicePopup(_this); + } + return _this; + } + /** + * add additional content to the legend + * @param {string} [additionalContent=''] additional content for legend + */ + LayerEsriMapServer.prototype.addLegendContent = function (additionalContent) { + var _this = this; + var urlCopy = this.url; + if (urlCopy[urlCopy.length - 1] !== '/') { + urlCopy += '/'; + } + urlCopy += 'legend?f=pjson&callback=?'; + $.get(urlCopy, {}, function (d) { + var newHtml = esriToOl.makeMapServiceLegend(d, _this._showLayers); + _super.prototype.addLegendContent.call(_this, newHtml); + }, 'json'); + }; + LayerEsriMapServer.prototype.getPopupInfo = function (queryParams) { + if (!this.visible) { + return; + } + var urlCopy = this.url; + if (urlCopy[urlCopy.length - 1] != '/') { + urlCopy += '/'; + } + urlCopy += 'identify?callback=?'; + var __this = this; + if (this._popupRequest != null) { + this._popupRequest.abort(); + } + this._popupRequest = $.get(urlCopy, queryParams, function (d) { + for (var _i = 0, _a = d['results']; _i < _a.length; _i++) { + var r = _a[_i]; + var popupHtml = '<table class="esri-popup-table">'; + for (var a in r['attributes']) { + if (r['attributes'].hasOwnProperty(a)) { + var attrVal = r['attributes'][a]; + if (attrVal == null || attrVal.toString().toLowerCase() == 'null') { + continue; + } + var attr = a; + if (attr.length > 14) { + attr = attr.slice(0, 11) + '...'; + } + popupHtml += "<tr><td>" + attr + "</td><td>" + attrVal + "</td></tr>"; + } + } + popupHtml += '</table>'; + mapPopup_1.default.addMapServicePopupContent(__this._esriFormat.readFeature(r), __this, popupHtml, r['layerName']); + } + }, 'json'); + this._popupRequest.always(function () { + __this._popupRequest = null; + }); + }; + Object.defineProperty(LayerEsriMapServer.prototype, "source", { + /** + * + * @returns {ol.source.TileArcGISRest} the vector source + */ + get: function () { + return _super.prototype.getSource.call(this); + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(LayerEsriMapServer.prototype, "olLayer", { + /** + * + * @returns the ol layer + */ + get: function () { + return _super.prototype.getOlLayer.call(this); + }, + enumerable: true, + configurable: true }); - if (options.fullScreen) { - map.addControl(new ol.control.FullScreen({})); - } - if (options.addGeocode) { - new geocode_1.Geocode(document.getElementById(options.divId), map); - } - return map; -} -exports.quickMapBase = quickMapBase; -nm.quickMapBase = quickMapBase; -exports.default = quickMapBase; + return LayerEsriMapServer; +}(LayerBase_1.LayerBase)); +exports.LayerEsriMapServer = LayerEsriMapServer; +nm.LayerEsriMapServer = LayerEsriMapServer; +exports.default = LayerEsriMapServer; /***/ }), @@ -2106,18 +2072,82 @@ exports.default = makeGuid; /***/ (function(module, exports, __webpack_require__) { "use strict"; -/** - * Created by gavorhes on 11/3/2015. - */ Object.defineProperty(exports, "__esModule", { value: true }); -var mapPopupCls_1 = __webpack_require__(24); /** - * The single popup object catch is that it is common to multimap pages - * @type {MapPopupCls} + * Created by gavorhes on 12/8/2015. */ -exports.mapPopup = new mapPopupCls_1.default(); -exports.default = exports.mapPopup; +var provide_1 = __webpack_require__(0); +var nm = provide_1.default('olHelpers'); +/** + * base interaction + */ +var MapInteractionBase = (function () { + /** + * map interaction base + * @param subtype - the interaction subtype + */ + function MapInteractionBase(subtype) { + this._map = null; + this._initialized = false; + this._subtype = subtype; + } + /** + * base initializer, returns true for already initialized + * @param theMap - the ol Map + * @returns true for already initialized + */ + MapInteractionBase.prototype.init = function (theMap) { + if (!this._initialized) { + this._map = theMap; + this._initialized = true; + } + }; + Object.defineProperty(MapInteractionBase.prototype, "map", { + /** + * get reference to the ol map object + * @returns {ol.Map} the map object + */ + get: function () { + return this._map; + }, + enumerable: true, + configurable: true + }); + Object.defineProperty(MapInteractionBase.prototype, "initialized", { + /** + * get if is initialized + * @returns {boolean} is initialized + */ + get: function () { + return this._initialized; + }, + enumerable: true, + configurable: true + }); + /** + * Check the initialization status and throw exception if not valid yet + * @protected + */ + MapInteractionBase.prototype._checkInit = function () { + if (!this.initialized) { + var msg = this._subtype + " object not initialized"; + alert(msg); + console.log(msg); + throw msg; + } + }; + /** + * Check the initialization status and throw exception if not valid yet + */ + MapInteractionBase.prototype.checkInit = function () { + this._checkInit(); + }; + return MapInteractionBase; +}()); +exports.MapInteractionBase = MapInteractionBase; +nm.MapInteractionBase = MapInteractionBase; +exports.default = MapInteractionBase; /***/ }), @@ -2133,7 +2163,7 @@ exports.default = exports.mapPopup; Object.defineProperty(exports, "__esModule", { value: true }); var provide_1 = __webpack_require__(0); var makeGuid_1 = __webpack_require__(3); -var mapMove_1 = __webpack_require__(6); +var mapMove_1 = __webpack_require__(7); var nm = provide_1.default('collections'); var $ = __webpack_require__(1); var LayerGroup = (function () { @@ -2420,108 +2450,24 @@ exports.default = LayerLegend; /***/ 5: /***/ (function(module, exports, __webpack_require__) { -"use strict"; - -Object.defineProperty(exports, "__esModule", { value: true }); -/** - * Created by gavorhes on 12/8/2015. - */ -var provide_1 = __webpack_require__(0); -var nm = provide_1.default('olHelpers'); -/** - * base interaction - */ -var MapInteractionBase = (function () { - /** - * map interaction base - * @param subtype - the interaction subtype - */ - function MapInteractionBase(subtype) { - this._map = null; - this._initialized = false; - this._subtype = subtype; - } - /** - * base initializer, returns true for already initialized - * @param theMap - the ol Map - * @returns true for already initialized - */ - MapInteractionBase.prototype.init = function (theMap) { - if (!this._initialized) { - this._map = theMap; - this._initialized = true; - } - }; - Object.defineProperty(MapInteractionBase.prototype, "map", { - /** - * get reference to the ol map object - * @returns {ol.Map} the map object - */ - get: function () { - return this._map; - }, - enumerable: true, - configurable: true - }); - Object.defineProperty(MapInteractionBase.prototype, "initialized", { - /** - * get if is initialized - * @returns {boolean} is initialized - */ - get: function () { - return this._initialized; - }, - enumerable: true, - configurable: true - }); - /** - * Check the initialization status and throw exception if not valid yet - * @protected - */ - MapInteractionBase.prototype._checkInit = function () { - if (!this.initialized) { - var msg = this._subtype + " object not initialized"; - alert(msg); - console.log(msg); - throw msg; - } - }; - /** - * Check the initialization status and throw exception if not valid yet - */ - MapInteractionBase.prototype.checkInit = function () { - this._checkInit(); - }; - return MapInteractionBase; -}()); -exports.MapInteractionBase = MapInteractionBase; -nm.MapInteractionBase = MapInteractionBase; -exports.default = MapInteractionBase; - - -/***/ }), - -/***/ 6: -/***/ (function(module, exports, __webpack_require__) { - "use strict"; /** * Created by gavorhes on 11/3/2015. */ Object.defineProperty(exports, "__esModule", { value: true }); -var mapMoveCls_1 = __webpack_require__(23); +var mapPopupCls_1 = __webpack_require__(15); /** - * The single map move object catch is that it is common to multimap pages - * @type {MapMoveCls} + * The single popup object catch is that it is common to multimap pages + * @type {MapPopupCls} */ -exports.mapMove = new mapMoveCls_1.default(); -exports.default = exports.mapMove; +exports.mapPopup = new mapPopupCls_1.default(); +exports.default = exports.mapPopup; /***/ }), -/***/ 7: +/***/ 6: /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -2530,10 +2476,10 @@ exports.default = exports.mapMove; */ Object.defineProperty(exports, "__esModule", { value: true }); -var quickMapBase_1 = __webpack_require__(25); +var quickMapBase_1 = __webpack_require__(16); var provide_1 = __webpack_require__(0); -var mapMove_1 = __webpack_require__(6); -var mapPopup_1 = __webpack_require__(4); +var mapMove_1 = __webpack_require__(7); +var mapPopup_1 = __webpack_require__(5); var nm = provide_1.default('olHelpers'); /** * Sets up a map with some default parameters and initializes @@ -2565,7 +2511,27 @@ exports.default = quickMap; /***/ }), -/***/ 75: +/***/ 7: +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; +/** + * Created by gavorhes on 11/3/2015. + */ + +Object.defineProperty(exports, "__esModule", { value: true }); +var mapMoveCls_1 = __webpack_require__(14); +/** + * The single map move object catch is that it is common to multimap pages + * @type {MapMoveCls} + */ +exports.mapMove = new mapMoveCls_1.default(); +exports.default = exports.mapMove; + + +/***/ }), + +/***/ 77: /***/ (function(module, exports, __webpack_require__) { "use strict"; @@ -2574,8 +2540,8 @@ Object.defineProperty(exports, "__esModule", { value: true }); /** * Created by gavorhes on 9/23/2016. */ -var quickMap_1 = __webpack_require__(7); -var LayerEsriMapServer_1 = __webpack_require__(21); +var quickMap_1 = __webpack_require__(6); +var LayerEsriMapServer_1 = __webpack_require__(25); var LayerLegend_1 = __webpack_require__(46); var map = quickMap_1.quickMap(); var wisDotRegions = new LayerEsriMapServer_1.LayerEsriMapServer('http://transportal.cee.wisc.edu/applications/arcgis2/rest/services/MetaManager/Metamanager_regions/MapServer'); @@ -2614,6 +2580,40 @@ exports.proj3857 = new ol.proj.Projection({ code: 'EPSG:3857' }); exports.proj3070 = new ol.proj.Projection({ code: 'EPSG:3070' }); +/***/ }), + +/***/ 9: +/***/ (function(module, exports, __webpack_require__) { + +"use strict"; + +Object.defineProperty(exports, "__esModule", { value: true }); +var provide_1 = __webpack_require__(0); +var nm = provide_1.default('util.checkDefined'); +/** + * check if the input is undefined or null + * @param input - input pointer + * @returns true undefined or null + */ +function undefinedOrNull(input) { + "use strict"; + return (typeof input === 'undefined' || input === null); +} +exports.undefinedOrNull = undefinedOrNull; +nm.undefinedOrNull = undefinedOrNull; +/** + * check if the input is defined and not null + * @param input - input pointer + * @returns true defined and not null + */ +function definedAndNotNull(input) { + "use strict"; + return !(undefinedOrNull(input)); +} +exports.definedAndNotNull = definedAndNotNull; +nm.definedAndNotNull = definedAndNotNull; + + /***/ }) /******/ }); diff --git a/test/serve/js/simple_map.js.map b/test/serve/js/simple_map.js.map index e2382d8f12cae4e8ff28a9337af8e8fdd24b7313..2e775cc7db79b938814f7ae44153fb3062748f87 100644 --- a/test/serve/js/simple_map.js.map +++ b/test/serve/js/simple_map.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap b7d91eb15b0b6dcf7ee0?08c4*****","webpack:///./src/util/provide.ts?5c82***","webpack:///external \"$\"?57aa***","webpack:///./src/layers/LayerBase.ts?bf94*","webpack:///./src/util/checkDefined.ts?bcd7*","webpack:///external \"ol\"?81ed*","webpack:///./src/layers/LayerEsriMapServer.ts?9c85","webpack:///./src/olHelpers/geocode.ts?5a2f*","webpack:///./src/olHelpers/mapMoveCls.ts?cd45*","webpack:///./src/olHelpers/mapPopupCls.ts?e3f7*","webpack:///./src/olHelpers/quickMapBase.ts?fb65*","webpack:///./src/olHelpers/zoomResolutionConvert.ts?dd4b*","webpack:///./src/olHelpers/esriToOlStyle.ts?9363","webpack:///./src/util/makeGuid.ts?e80e***","webpack:///./src/olHelpers/mapPopup.ts?5d6c*","webpack:///./src/collections/LayerLegend.ts?9de6","webpack:///./src/olHelpers/mapInteractionBase.ts?f419*","webpack:///./src/olHelpers/mapMove.ts?6a2b*","webpack:///./src/olHelpers/quickMap.ts?1069*","webpack:///./src/_tests/demos/simple_map.ts","webpack:///./src/olHelpers/projections.ts?804b*"],"names":[],"mappings":"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","file":"simple_map.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 75);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap b7d91eb15b0b6dcf7ee0","/**\r\n * Created by gavorhes on 12/10/2015.\r\n */\r\n\r\ndeclare const window: Window;\r\n/**\r\n * create a namespace on the gv object\r\n * @param {string} namespace to create\r\n * @returns {object} object representing the namespace\r\n */\r\nfunction provide(namespace: string){\r\n \"use strict\";\r\n if (typeof (<any>window).gv == 'undefined'){\r\n (<any>window).gv = {};\r\n }\r\n\r\n let parts = namespace.split('.');\r\n let nameSpace = (<any>window).gv;\r\n\r\n for (let i=0; i< parts.length; i++){\r\n let newObject = nameSpace[parts[i]];\r\n\r\n if (typeof newObject == 'undefined'){\r\n nameSpace[parts[i]] = {};\r\n }\r\n\r\n nameSpace = nameSpace[parts[i]];\r\n }\r\n\r\n return nameSpace;\r\n}\r\n\r\nprovide('util');\r\n(<any>window).gv.util.provide = provide;\r\n\r\nexport default provide;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/util/provide.ts","module.exports = $;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"$\"\n// module id = 1\n// module chunks = 0 1 2 4 5 6 7 8 9","import * as zoomResolutionConvert from '../olHelpers/zoomResolutionConvert';\r\nimport provide from '../util/provide';\r\nimport ol = require('custom-ol');\r\nimport makeGuid from '../util/makeGuid';\r\nimport $ = require('jquery');\r\n\r\nconst nm = provide('layers');\r\n\r\n\r\nexport interface LayerBaseOptions{\r\n id?: string;\r\n name?: string;\r\n opacity?: number;\r\n visible?: boolean;\r\n minZoom?: number;\r\n maxZoom?: number;\r\n params?: any;\r\n zIndex?: number;\r\n loadCallback?: Function;\r\n legendCollapse?: boolean;\r\n legendCheckbox?: boolean;\r\n legendContent?: string;\r\n}\r\n\r\n\r\n/**\r\n * The base layer class\r\n * @abstract\r\n */\r\nexport abstract class LayerBase {\r\n\r\n protected _legendCheckbox: boolean;\r\n protected _url: string;\r\n protected _opacity: number;\r\n protected _minZoom: number;\r\n protected _maxZoom: number;\r\n protected _visible: boolean;\r\n protected _loaded: boolean;\r\n protected _zIndex: number;\r\n protected _legendContent: string;\r\n protected _params: any;\r\n protected _id: string;\r\n protected _name: string;\r\n protected _source: ol.source.Source;\r\n protected _animate: boolean;\r\n protected _legendCollapse: boolean;\r\n protected _maxResolution: number;\r\n protected _minResolution: number;\r\n protected _$legendDiv: JQuery;\r\n loadCallback: Function;\r\n protected _olLayer: ol.layer.Layer;\r\n protected _applyCollapseCalled: boolean;\r\n\r\n\r\n\r\n /**\r\n * The base layer for all others\r\n * @param {string} url - url for source\r\n * @param {object} options - config\r\n * @param {string} [options.id=makeGuid()] - layer id\r\n * @param {string} [options.name=Unnamed Layer] - layer name\r\n * @param {number} [options.opacity=1] - opacity\r\n * @param {boolean} [options.visible=true] - default visible\r\n * @param {number} [options.minZoom=undefined] - min zoom level, 0 - 28\r\n * @param {number} [options.maxZoom=undefined] - max zoom level, 0 - 28\r\n * @param {object} [options.params={}] - the get parameters to include to retrieve the layer\r\n * @param {number} [options.zIndex=0] - the z index for the layer\r\n * @param {function} [options.loadCallback] - function to call on load, context this is the layer object\r\n * @param {boolean} [options.legendCollapse=false] - if the legend item should be initially collapsed\r\n * @param {boolean} [options.legendCheckbox=true] - if the legend item should have a checkbox for visibility\r\n * @param {boolean} [options.legendContent=undefined] - additional content to add to the legend\r\n */\r\n constructor(url: string, options: LayerBaseOptions = {}) {\r\n options = options || {} as LayerBaseOptions;\r\n\r\n if (typeof url !== 'string') {\r\n throw 'Invalid URL';\r\n }\r\n this._url = url;\r\n\r\n\r\n this._params = typeof options.params == 'object' ? options.params : {};\r\n this._legendCollapse = typeof options.legendCollapse == 'boolean' ? options.legendCollapse : false;\r\n this._legendCheckbox = typeof options.legendCheckbox == 'boolean' ? options.legendCheckbox : true;\r\n\r\n this.id = options.id || makeGuid();\r\n this._name = options.name || 'Unnamed Layer';\r\n this.animate = false;\r\n this._opacity = typeof options.opacity == 'number' ? options.opacity : 1;\r\n\r\n if (this._opacity > 1) {\r\n this._opacity = 1;\r\n } else if (this._opacity < 0) {\r\n this._opacity = 0;\r\n }\r\n\r\n this._visible = typeof options.visible === 'boolean' ? options.visible : true;\r\n\r\n this._source = undefined;\r\n\r\n /**\r\n *\r\n * @protected\r\n */\r\n this._olLayer = undefined;\r\n this._loaded = false;\r\n\r\n this._maxResolution = zoomResolutionConvert.zoomToResolution(options.minZoom);\r\n if (typeof this._maxResolution !== 'undefined') {\r\n this._maxResolution += 0.00001;\r\n }\r\n this._minResolution = zoomResolutionConvert.zoomToResolution(options.maxZoom);\r\n\r\n this._minZoom = typeof options.minZoom == 'number' ? options.minZoom : undefined;\r\n this._maxZoom = typeof options.maxZoom == 'number' ? options.maxZoom : undefined;\r\n this._zIndex = typeof options.zIndex == 'number' ? options.zIndex : 0;\r\n\r\n this.loadCallback = typeof options.loadCallback == 'function' ? options.loadCallback : function () {\r\n };\r\n\r\n\r\n this._legendContent = '';\r\n\r\n if (this._legendCheckbox) {\r\n this._legendContent += `<input type=\"checkbox\" ${this.visible ? 'checked' : ''} ` +\r\n `class=\"legend-check\" id=\"${this.id}-legend-layer-check\"><span></span>`;\r\n this._legendContent += `<label for=\"${this.id}-legend-layer-check\" class=\"legend-layer-name\">${this.name}</label>`;\r\n } else {\r\n this._legendContent += `<label class=\"legend-layer-name\">${this.name}</label>`;\r\n }\r\n\r\n this._$legendDiv = null;\r\n this._applyCollapseCalled = false;\r\n this._addLegendContent(typeof options.legendContent === 'string' ? options.legendContent : undefined);\r\n }\r\n\r\n /**\r\n * base load function, sets _loaded = true if it is not already\r\n * @protected\r\n * @returns {boolean} if already loaded\r\n */\r\n _load() {\r\n if (this.loaded == true) {\r\n return true;\r\n } else {\r\n this._loaded = true;\r\n\r\n return false;\r\n }\r\n }\r\n\r\n /**\r\n * Get the legend html, be sure to only add to the DOM once\r\n * @returns {string} html for layer wrapped in a div\r\n */\r\n getLegendDiv() {\r\n return `<div class=\"legend-layer-div\" id=\"${this.id}-legend-layer-div\">${this._legendContent}</div>`;\r\n }\r\n\r\n /**\r\n *\r\n * @param additionalContent - additional content to add to legend\r\n * @private\r\n */\r\n _addLegendContent(additionalContent='') {\r\n\r\n let addCollapse = additionalContent.indexOf('<ul>') > -1;\r\n\r\n if (addCollapse) {\r\n additionalContent = '<span class=\"legend-items-expander\" title=\"Expand/Collapse\">▼</span>' + additionalContent;\r\n }\r\n\r\n this._legendContent += additionalContent;\r\n\r\n this._$legendDiv = $(`#${this.id}-legend-layer-div`);\r\n\r\n if (this._$legendDiv.length > 0) {\r\n this._$legendDiv.append(additionalContent);\r\n this.applyCollapse();\r\n }\r\n }\r\n\r\n /**\r\n * add additional content to the legend\r\n * @param {string} [additionalContent=] - additonal content to add\r\n */\r\n addLegendContent(additionalContent: string) {\r\n this._addLegendContent(additionalContent);\r\n }\r\n\r\n applyCollapse(): void {\r\n if (this._applyCollapseCalled) {\r\n console.log('collapse already applied');\r\n\r\n return undefined;\r\n }\r\n\r\n this._$legendDiv = $(`#${this.id}-legend-layer-div`);\r\n\r\n if (this._$legendDiv.length > 0) {\r\n\r\n let $expander = this._$legendDiv.find('.legend-items-expander');\r\n\r\n if ($expander.length > 0) {\r\n this._applyCollapseCalled = true;\r\n\r\n $expander.click(function () {\r\n let $this = $(this);\r\n\r\n $this.siblings('ul').slideToggle();\r\n\r\n if ($this.hasClass('legend-layer-group-collapsed')) {\r\n $this.removeClass('legend-layer-group-collapsed');\r\n $this.html('▼');\r\n } else {\r\n $this.addClass('legend-layer-group-collapsed');\r\n $this.html('▶');\r\n }\r\n });\r\n\r\n if (this._legendCollapse) {\r\n $expander.trigger('click');\r\n }\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * trick to refresh the layer\r\n */\r\n refresh() {\r\n if (this.source) {\r\n this.source.refresh();\r\n }\r\n }\r\n\r\n get id(): string{\r\n return this._id;\r\n }\r\n\r\n set id(newId: string){\r\n this._id = newId;\r\n }\r\n\r\n get animate(): boolean{\r\n return this._animate;\r\n }\r\n\r\n set animate(animate: boolean){\r\n this._animate = animate;\r\n }\r\n\r\n /**\r\n * get the legend content\r\n * @type {string}\r\n */\r\n get legendContent(): string {\r\n return this._legendContent;\r\n }\r\n\r\n /**\r\n * set the legend content directly\r\n * @param {string} newVal - new content\r\n * @protected\r\n */\r\n set legendContent(newVal: string) {\r\n this._legendContent = newVal;\r\n }\r\n\r\n /**\r\n * get the map get params\r\n * @type {object}\r\n */\r\n get params(): {[s: string]: any} {\r\n return this._params;\r\n }\r\n\r\n /**\r\n * set the map get params\r\n * @param {object} newParams - new get params\r\n * @protected\r\n */\r\n set params(newParams: {[s: string]: any}) {\r\n this._params = newParams;\r\n }\r\n\r\n /**\r\n * get the minimum resolution\r\n * @type {number|*}\r\n */\r\n get minResolution(): number {\r\n return this._minResolution;\r\n }\r\n\r\n /**\r\n * get the maximum resolution\r\n * @type {number|*}\r\n */\r\n get maxResolution(): number {\r\n return this._maxResolution;\r\n }\r\n\r\n /**\r\n * get min zoom\r\n * @type {number|*}\r\n */\r\n get minZoom(): number {\r\n return this._minZoom;\r\n }\r\n\r\n /**\r\n * get max zoom\r\n * @type {number|*}\r\n */\r\n get maxZoom(): number {\r\n return this._maxZoom;\r\n }\r\n\r\n /**\r\n * get the url\r\n * @type {string}\r\n */\r\n get url(): string {\r\n return this._url;\r\n }\r\n\r\n /**\r\n * Get the layer visibility\r\n * @type {boolean}\r\n */\r\n get visible(): boolean {\r\n return this._visible;\r\n }\r\n\r\n /**\r\n * set the visibility\r\n * @param visibility\r\n */\r\n set visible(visibility: boolean) {\r\n this.setVisible(visibility);\r\n }\r\n\r\n protected setVisible(visibility: boolean) {\r\n this._visible = visibility;\r\n if (this.olLayer) {\r\n this.olLayer.setVisible(this._visible);\r\n if (visibility && !this._loaded) {\r\n this._load();\r\n }\r\n }\r\n }\r\n\r\n\r\n /**\r\n * Get the layer opacity\r\n * @type {number}\r\n */\r\n get opacity(): number {\r\n return this._opacity;\r\n }\r\n\r\n /**\r\n * Set the layer opacity\r\n * @param {number} opacity - layer opacity\r\n */\r\n set opacity(opacity: number) {\r\n this._opacity = opacity;\r\n if (this.olLayer) {\r\n this.olLayer.setOpacity(this._opacity);\r\n }\r\n }\r\n\r\n /**\r\n * Get the layer name\r\n * @type {string}\r\n */\r\n get name(): string {\r\n return this._name;\r\n }\r\n\r\n /**\r\n * set the layer name\r\n * @param {string} newName - the new name\r\n */\r\n set name(newName: string) {\r\n this._name = newName;\r\n }\r\n\r\n /**\r\n * Check if the layer is loaded\r\n * @type {boolean}\r\n */\r\n get loaded():boolean {\r\n return this._loaded;\r\n }\r\n\r\n /**\r\n * get the layer source\r\n * @type {*}\r\n */\r\n get source(): ol.source.Source {\r\n return this.getSource();\r\n }\r\n\r\n\r\n protected getSource(): ol.source.Source{\r\n return this._source;\r\n }\r\n\r\n /**\r\n * get the z index\r\n */\r\n get zIndex(): number {\r\n return this._zIndex;\r\n }\r\n\r\n /**\r\n * set the z index\r\n */\r\n set zIndex(newZ: number) {\r\n this._zIndex = newZ;\r\n }\r\n\r\n protected setZIndex(newZ: number){\r\n\r\n }\r\n\r\n /**\r\n * the the ol layer\r\n */\r\n get olLayer(): ol.layer.Layer {\r\n return this.getOlLayer();\r\n }\r\n\r\n protected getOlLayer(): ol.layer.Layer{\r\n return this._olLayer;\r\n }\r\n}\r\n\r\nnm.LayerBase = LayerBase;\r\nexport default LayerBase;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/layers/LayerBase.ts","import provide from './provide';\r\nlet nm = provide('util.checkDefined');\r\n\r\n/**\r\n * check if the input is undefined or null\r\n * @param input - input pointer\r\n * @returns true undefined or null\r\n */\r\nexport function undefinedOrNull (input: any): boolean{\r\n \"use strict\";\r\n\r\n return (typeof input === 'undefined' || input === null);\r\n}\r\n\r\nnm.undefinedOrNull = undefinedOrNull;\r\n\r\n\r\n/**\r\n * check if the input is defined and not null\r\n * @param input - input pointer\r\n * @returns true defined and not null\r\n */\r\nexport function definedAndNotNull (input: any): boolean{\r\n \"use strict\";\r\n\r\n return !(undefinedOrNull(input));\r\n}\r\n\r\nnm.definedAndNotNull = definedAndNotNull;\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/util/checkDefined.ts","module.exports = ol;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"ol\"\n// module id = 2\n// module chunks = 2 4 5 6","/**\r\n * Created by gavorhes on 12/7/2015.\r\n */\r\nimport {LayerBase, LayerBaseOptions} from './LayerBase';\r\nimport * as esriToOl from '../olHelpers/esriToOlStyle';\r\nimport mapPopup from '../olHelpers/mapPopup';\r\nimport provide from '../util/provide';\r\nimport ol = require('custom-ol');\r\nimport $ = require('jquery');\r\n\r\nconst nm = provide('layers');\r\n\r\n\r\n\r\n/**\r\n * Helper to return the url to the service on the production server\r\n * @param {string} folder\r\n * @param {string} service\r\n * @returns {string}\r\n */\r\nexport function makeServiceUrl(folder: string, service: string): string{\r\n return `https://transportal.cee.wisc.edu/applications/arcgis2/rest/services/${folder}/${service}/MapServer`\r\n}\r\n\r\nexport function localCacheUrl(folder: string, service: string): string{\r\n let loc = window.location.href;\r\n\r\n let url = `/mapserver/${folder}/${service}`;\r\n\r\n if (loc.indexOf('transportal.cee.wisc.edu') > -1){\r\n if (loc.toLowerCase().indexOf('webmapsstage') > -1){\r\n url = 'https://transportal.cee.wisc.edu/gis/webmapsstage' + url;\r\n } else {\r\n url = 'https://transportal.cee.wisc.edu/gis/webmaps' + url\r\n }\r\n }\r\n\r\n\r\n return url;\r\n}\r\n\r\n\r\n\r\n\r\nexport interface LayerEsriMapServerOptions extends LayerBaseOptions {\r\n addPopup?: boolean;\r\n showLayers?: Array<number>;\r\n getLegend?: boolean;\r\n}\r\n\r\n/**\r\n * esri mapserver layer\r\n * @augments LayerBase\r\n */\r\nexport class LayerEsriMapServer extends LayerBase {\r\n _esriFormat: ol.format.EsriJSON;\r\n _popupRequest: JQueryXHR;\r\n _showLayers: number[];\r\n\r\n /**\r\n * The base layer for all others\r\n * @param {string} url - resource url\r\n * @param {object} [options] - config\r\n * @param {string} [options.id] - layer id\r\n * @param {string} [options.name=Unnamed Layer] - layer name\r\n * @param {number} [options.opacity=1] - opacity\r\n * @param {boolean} [options.visible=true] - default visible\r\n * @param {number} [options.minZoom=undefined] - min zoom level, 0 - 28\r\n * @param {number} [options.maxZoom=undefined] - max zoom level, 0 - 28\r\n * @param {object} [options.params={}] the get parameters to include to retrieve the layer\r\n * @param {number} [options.zIndex=0] the z index for the layer\r\n * @param {function} [options.loadCallback] function to call on load, context this is the layer object\r\n * @param {boolean} [options.legendCollapse=false] if the legend item should be initially collapsed\r\n * @param {boolean} [options.legendCheckbox=true] if the legend item should have a checkbox for visibility\r\n * @param {boolean} [options.legendContent] additional content to add to the legend\r\n * @param {boolean} [options.addPopup=false] if a popup should be added\r\n * @param {undefined|Array<number>} [options.showLayers=undefined] if a popup should be added\r\n */\r\n constructor(url: string, options: LayerEsriMapServerOptions = {}) {\r\n\r\n super(url, options);\r\n this._source = new ol.source.TileArcGISRest(\r\n {\r\n url: this.url == '' ? undefined : this.url,\r\n params: typeof options.showLayers == 'undefined' ? undefined : {layers: 'show:' + options.showLayers.join(',')}\r\n }\r\n );\r\n\r\n this._showLayers = options.showLayers || [];\r\n\r\n this._olLayer = new ol.layer.Tile({\r\n source: this._source as ol.source.Tile,\r\n visible: this.visible,\r\n opacity: this.opacity,\r\n minResolution: this._minResolution,\r\n maxResolution: this._maxResolution\r\n });\r\n\r\n\r\n this._olLayer.setZIndex(this._zIndex);\r\n\r\n options.addPopup = typeof options.addPopup == 'boolean' ? options.addPopup : false;\r\n\r\n this._esriFormat = new ol.format.EsriJSON();\r\n this._popupRequest = null;\r\n\r\n options.getLegend = typeof options.getLegend === 'boolean' ? options.getLegend : true;\r\n\r\n if (options.getLegend){\r\n this.addLegendContent();\r\n }\r\n\r\n if (options.addPopup) {\r\n mapPopup.addMapServicePopup(this);\r\n }\r\n }\r\n\r\n /**\r\n * add additional content to the legend\r\n * @param {string} [additionalContent=''] additional content for legend\r\n */\r\n addLegendContent(additionalContent?: string) {\r\n let urlCopy = this.url;\r\n\r\n if (urlCopy[urlCopy.length - 1] !== '/') {\r\n urlCopy += '/';\r\n }\r\n\r\n urlCopy += 'legend?f=pjson&callback=?';\r\n\r\n $.get(urlCopy, {}, (d) => {\r\n let newHtml = esriToOl.makeMapServiceLegend(d, this._showLayers);\r\n super.addLegendContent(newHtml);\r\n }, 'json');\r\n }\r\n\r\n\r\n getPopupInfo(queryParams: {[s: string]: any}) {\r\n if (!this.visible) {\r\n return;\r\n }\r\n\r\n let urlCopy = this.url;\r\n\r\n if (urlCopy[urlCopy.length - 1] != '/') {\r\n urlCopy += '/';\r\n }\r\n\r\n urlCopy += 'identify?callback=?';\r\n\r\n let __this = this;\r\n\r\n if (this._popupRequest != null) {\r\n this._popupRequest.abort();\r\n }\r\n\r\n\r\n this._popupRequest = $.get(urlCopy, queryParams, function (d) {\r\n for (let r of d['results']) {\r\n\r\n let popupHtml = '<table class=\"esri-popup-table\">';\r\n\r\n for (let a in r['attributes']) {\r\n if (r['attributes'].hasOwnProperty(a)) {\r\n let attrVal = r['attributes'][a];\r\n\r\n if (attrVal == null || attrVal.toString().toLowerCase() == 'null') {\r\n continue;\r\n }\r\n\r\n let attr = a;\r\n if (attr.length > 14) {\r\n attr = attr.slice(0, 11) + '...';\r\n }\r\n\r\n popupHtml += `<tr><td>${attr}</td><td>${attrVal}</td></tr>`;\r\n }\r\n }\r\n\r\n popupHtml += '</table>';\r\n\r\n mapPopup.addMapServicePopupContent(__this._esriFormat.readFeature(r), __this, popupHtml, r['layerName']);\r\n }\r\n }, 'json');\r\n\r\n this._popupRequest.always(function () {\r\n __this._popupRequest = null;\r\n });\r\n\r\n }\r\n\r\n /**\r\n *\r\n * @returns {ol.source.TileArcGISRest} the vector source\r\n */\r\n get source(): ol.source.TileArcGISRest {\r\n return super.getSource() as ol.source.TileArcGISRest;\r\n }\r\n\r\n /**\r\n *\r\n * @returns the ol layer\r\n */\r\n get olLayer(): ol.layer.Tile {\r\n return super.getOlLayer() as ol.layer.Tile;\r\n }\r\n}\r\nnm.LayerEsriMapServer = LayerEsriMapServer;\r\nexport default LayerEsriMapServer;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/layers/LayerEsriMapServer.ts","import $ = require('jquery')\r\nimport {makeGuid} from '../util/makeGuid';\r\nimport ol = require('custom-ol');\r\nimport {proj3857, proj4326} from './projections';\r\n\r\n\r\nlet invalidClass = 'geocoder-invalid';\r\nlet geocoderLoadingClass = 'geocoder-loading';\r\n\r\n// let testAddress = '65 7th Street, Prairie du Sac, WI';\r\n\r\n\r\nexport class Geocode {\r\n private theButton: HTMLButtonElement;\r\n private theInput: HTMLInputElement;\r\n private map: ol.Map;\r\n private indicationLayer;\r\n\r\n constructor(mapDiv: HTMLDivElement, map: ol.Map) {\r\n let inputGuid = makeGuid();\r\n let buttonGuid = makeGuid();\r\n\r\n this.map = map;\r\n this.indicationLayer = new ol.layer.Vector({\r\n source: new ol.source.Vector(),\r\n style: new ol.style.Style({\r\n image: new ol.style.Circle({\r\n radius: 12,\r\n fill: new ol.style.Fill({color: 'rgba(255,0,0,0.5)'}),\r\n stroke: new ol.style.Stroke({color: 'red', width: 1})\r\n })\r\n })\r\n });\r\n this.map.addLayer(this.indicationLayer);\r\n\r\n $(mapDiv).append('<div class=\"geocoder-el\">' +\r\n `<input type=\"text\" id=\"${inputGuid}\">` +\r\n `<button id=\"${buttonGuid}\">Search</button>` +\r\n '</div>');\r\n\r\n this.theButton = document.getElementById(buttonGuid) as HTMLButtonElement;\r\n this.theInput = document.getElementById(inputGuid) as HTMLInputElement;\r\n\r\n this.reset();\r\n\r\n let $theButton = $(this.theButton);\r\n let $theInput = $(this.theInput);\r\n\r\n $theButton.click((evt) => {\r\n\r\n evt.preventDefault();\r\n\r\n $theButton.addClass(geocoderLoadingClass);\r\n this.theButton.disabled = true;\r\n this.indicationLayer.getSource().clear();\r\n\r\n $.get(\r\n `https://geocode.xyz/${this.theInput.value}?geoit=json`,\r\n {},\r\n (d) => {\r\n let lat = parseFloat(d['latt']);\r\n let lon = parseFloat(d['longt']);\r\n\r\n if ((lat == 0 && lon == 0) || d['error']) {\r\n $theInput.addClass(invalidClass);\r\n this.theInput.title = 'Specified Location Invalid';\r\n this.theButton.title = 'Specified Location Invalid';\r\n\r\n } else {\r\n let v = this.map.getView();\r\n let p = new ol.geom.Point([lon, lat]);\r\n let feat = new ol.Feature(p);\r\n this.indicationLayer.getSource().addFeature(feat);\r\n p.transform(proj4326, proj3857);\r\n\r\n v.setCenter(p.getCoordinates());\r\n v.setZoom(13);\r\n }\r\n\r\n $theButton.removeClass(geocoderLoadingClass);\r\n this.theButton.disabled = false;\r\n },\r\n 'json');\r\n });\r\n\r\n $(this.theInput).keyup((evt) => {\r\n evt.preventDefault();\r\n this.theButton.disabled = this.theInput.value.length == 0;\r\n $theInput.removeClass(invalidClass);\r\n this.theInput.title = '';\r\n this.theButton.title = '';\r\n\r\n if (!this.theButton.disabled && evt.keyCode == 13) {\r\n $theButton.click();\r\n }\r\n })\r\n }\r\n\r\n private reset() {\r\n this.theButton.disabled = true;\r\n this.theInput.value = '';\r\n }\r\n\r\n\r\n// https://geocode.xyz/65%2075h%20street%20prairie%20du%20sac%20wi?geoit=json\r\n\r\n// error\r\n// geocoder-invalid\r\n\r\n}\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/geocode.ts","import LayerBaseVector from \"../layers/LayerBaseVector\";\r\nimport MapInteractionBase from './mapInteractionBase';\r\nimport * as checkDefined from '../util/checkDefined';\r\nimport provide from '../util/provide';\r\nimport makeGuid from '../util/makeGuid';\r\nimport ol = require('custom-ol');\r\nimport $ = require('jquery');\r\nconst nm = provide('olHelpers');\r\n\r\n\r\nexport interface extentObject{\r\n minX: number;\r\n minY: number;\r\n maxX: number;\r\n maxY: number;\r\n}\r\n\r\nexport interface mapMoveCallbackFunction{\r\n /**\r\n *\r\n * @param extent extent as predefined object minX, minX, maxX, maxY\r\n * @param zoomLevel current zoom level\r\n * @param evtType the event type 'change:center', 'change:resolution'\r\n */\r\n (extent: extentObject, zoomLevel: number, evtType?: string): any\r\n}\r\n\r\n\r\n/**\r\n * assists with map move interactions, trigger callback functions\r\n * @augments MapInteractionBase\r\n */\r\nexport class MapMoveCls extends MapInteractionBase {\r\n _mapExtent: extentObject;\r\n _zoomLevel: number;\r\n _lookupLayer: {[s: string]: LayerBaseVector};\r\n _arrLayer: Array<LayerBaseVector>;\r\n _arrLyrTimeout: Array<number>;\r\n _mapMoveCallbackTimeout: Array<number>;\r\n _mapMoveCallbackDelays: Array<number>;\r\n _mapMoveCallbacksLookup: {[s: string]: mapMoveCallbackFunction};\r\n _mapMoveCallbackContext: Array<Object>;\r\n _mapMoveCallbacks: Array<mapMoveCallbackFunction>;\r\n _arrLyrRequest: Array<any>;\r\n\r\n /**\r\n * constructor called implicitly\r\n */\r\n constructor() {\r\n super('map move');\r\n this._arrLyrRequest = [];\r\n this._arrLyrTimeout = [];\r\n this._arrLayer = [];\r\n this._lookupLayer = {};\r\n\r\n this._mapMoveCallbacks = [];\r\n this._mapMoveCallbacksLookup = {};\r\n this._mapMoveCallbackDelays = [];\r\n this._mapMoveCallbackContext = [];\r\n this._mapMoveCallbackTimeout = [];\r\n\r\n this._mapExtent = undefined;\r\n this._zoomLevel = undefined;\r\n\r\n }\r\n\r\n /**\r\n * initialize the map move object\r\n * @param theMap - the ol map\r\n */\r\n init(theMap: ol.Map){\r\n super.init(theMap);\r\n\r\n this.map.getView().on(['change:center', 'change:resolution'], (e: {type: string}) =>{\r\n\r\n this._updateMapExtent();\r\n\r\n // trigger the layer updates\r\n for (let i = 0; i < this._arrLayer.length; i++) {\r\n this.triggerLyrLoad(this._arrLayer[i], i, e.type);\r\n }\r\n\r\n // trigger the map callbacks\r\n for (let i = 0; i < this._mapMoveCallbacks.length; i++) {\r\n this.triggerMoveCallback(i, e.type);\r\n }\r\n });\r\n }\r\n\r\n _updateMapExtent() {\r\n let theView = this.map.getView();\r\n this._zoomLevel = theView.getZoom();\r\n\r\n let extentArray = theView.calculateExtent(this.map.getSize());\r\n\r\n this._mapExtent = {\r\n minX: extentArray[0],\r\n minY: extentArray[1],\r\n maxX: extentArray[2],\r\n maxY: extentArray[3]\r\n };\r\n }\r\n\r\n /**\r\n * return the map extent\r\n */\r\n get mapExtent() {\r\n if (!this._mapExtent) {\r\n this._updateMapExtent();\r\n }\r\n\r\n return this._mapExtent;\r\n }\r\n\r\n /**\r\n * Trigger the layer load\r\n * @param lyr the layer being acted on\r\n * @param index index of the layer\r\n * @param eventType the event triggering the load, as 'change:center' or 'change:resolution'\r\n */\r\n triggerLyrLoad(lyr: LayerBaseVector, index?: number, eventType?: string) {\r\n\r\n if (checkDefined.undefinedOrNull(lyr) && checkDefined.undefinedOrNull(index)) {\r\n throw 'need to define lyr or index';\r\n } else if (checkDefined.definedAndNotNull(lyr) && checkDefined.undefinedOrNull(index)) {\r\n index = this._arrLayer.indexOf(lyr);\r\n } else if (checkDefined.undefinedOrNull(lyr) && checkDefined.definedAndNotNull(index)) {\r\n lyr = this._arrLayer[index];\r\n }\r\n\r\n // clear the timeout\r\n if (this._arrLyrTimeout[index] != null) {\r\n clearTimeout(this._arrLyrTimeout[index]);\r\n this._arrLyrTimeout[index] = null;\r\n }\r\n\r\n // abort if necessary and clear the request\r\n if (this._arrLyrRequest[index] != null && this._arrLyrRequest[index] != 4) {\r\n this._arrLyrRequest[index].abort();\r\n this._arrLyrRequest[index] = null;\r\n }\r\n\r\n // dummy callback used if before load returns false\r\n let callbackFunc = function () {};\r\n\r\n if (lyr.mapMoveBefore(this._zoomLevel, eventType)) {\r\n lyr.mapMoveMakeGetParams(this._mapExtent, this._zoomLevel);\r\n\r\n let __this = this;\r\n\r\n callbackFunc = function () {\r\n function innerFunction(theLayer: LayerBaseVector, theIndex: number) {\r\n let _innerThis = this;\r\n this._arrLyrRequest[theIndex] = $.get(\r\n theLayer.url,\r\n theLayer.mapMoveParams,\r\n function (d) {\r\n /**\r\n * @type {LayerBaseVector}\r\n */\r\n theLayer.mapMoveCallback(d);\r\n theLayer.loadCallback();\r\n }, 'json').fail(\r\n function (jqXHR) {\r\n if (jqXHR.statusText != 'abort') {\r\n console.log('failed');\r\n console.log(theLayer.url);\r\n console.log(theLayer.mapMoveParams);\r\n }\r\n }).always(\r\n function () {\r\n _innerThis._arrLyrTimeout[theIndex] = null;\r\n _innerThis._arrLyrRequest[theIndex] = null;\r\n });\r\n }\r\n innerFunction.call(__this, lyr, index);\r\n };\r\n } else {\r\n lyr.clear();\r\n }\r\n this._arrLyrTimeout[index] = setTimeout(callbackFunc, lyr.onDemandDelay);\r\n }\r\n\r\n /**\r\n * trigger the map move call back at the given index\r\n * @param ind - the index of the layer\r\n * @param eventType=undefined the event triggering the load as 'change:center' or 'change:resolution'\r\n * @param functionId=undefined the function id used to reference the added callback function\r\n */\r\n triggerMoveCallback(ind: number, eventType?: string, functionId?: string) {\r\n\r\n if (typeof ind == 'undefined' && typeof functionId == 'undefined'){\r\n throw 'either the function index or the id must be defined';\r\n }\r\n\r\n if (typeof ind !== 'number'){\r\n ind = this._mapMoveCallbacks.indexOf(this._mapMoveCallbacksLookup[functionId]);\r\n }\r\n\r\n if (ind < 0){\r\n console.log('function not found');\r\n\r\n return;\r\n }\r\n\r\n // clear the timeout\r\n if (this._mapMoveCallbackTimeout[ind] != null) {\r\n clearTimeout(this._mapMoveCallbackTimeout[ind]);\r\n this._mapMoveCallbackTimeout[ind] = null;\r\n }\r\n\r\n let ctx = this._mapMoveCallbackContext[ind];\r\n let theFunc = this._mapMoveCallbacks[ind];\r\n\r\n let __this = this;\r\n\r\n let f = function () {\r\n if (ctx !== null) {\r\n theFunc.call(ctx, __this._mapExtent, __this._zoomLevel, eventType);\r\n } else {\r\n theFunc(__this._mapExtent, __this._zoomLevel, eventType);\r\n }\r\n };\r\n\r\n this._mapMoveCallbackTimeout[ind] = setTimeout(f, this._mapMoveCallbackDelays[ind]);\r\n }\r\n\r\n /**\r\n * Add a layer to the interaction\r\n * @param lyr - layer to add\r\n * @param triggerOnAdd - if the layer should be loaded on add\r\n */\r\n addVectorLayer(lyr: LayerBaseVector, triggerOnAdd: boolean = true) {\r\n if (this._arrLayer.indexOf(lyr) > -1) {\r\n console.log('already added ' + lyr.name + ' to map move');\r\n\r\n return;\r\n }\r\n this._checkInit();\r\n\r\n this._arrLyrRequest.push(null);\r\n this._arrLyrTimeout.push(null);\r\n this._arrLayer.push(lyr);\r\n this._lookupLayer[lyr.id] = lyr;\r\n\r\n triggerOnAdd = typeof triggerOnAdd == 'boolean' ? triggerOnAdd : true;\r\n\r\n if (triggerOnAdd) {\r\n if (this._mapExtent === undefined) {\r\n this._updateMapExtent();\r\n }\r\n this.triggerLyrLoad(lyr, this._arrLayer.length - 1);\r\n }\r\n }\r\n\r\n\r\n /**\r\n * add a callback to the map move event\r\n * @param func - callback function\r\n * @param context - the context to use for this function\r\n * @param delay=50 the delay before call load\r\n * @param triggerOnAdd if the layer should be loaded on add to mapMove\r\n * @param functionId optional id to reference the function later for outside triggering\r\n */\r\n addCallback(func: mapMoveCallbackFunction, context?: any, delay?: number, triggerOnAdd? : boolean, functionId?: string) {\r\n\r\n if (this._mapMoveCallbacks.indexOf(func) > -1) {\r\n console.log('this function already added to map move');\r\n return;\r\n }\r\n this._checkInit();\r\n if (!functionId){\r\n functionId = makeGuid();\r\n }\r\n\r\n this._mapMoveCallbacks.push(func);\r\n this._mapMoveCallbacksLookup[functionId] = func;\r\n this._mapMoveCallbackDelays.push(typeof delay == 'number' ? delay : 50);\r\n this._mapMoveCallbackContext.push(checkDefined.definedAndNotNull(context) ? context : null);\r\n this._mapMoveCallbackTimeout.push(null);\r\n\r\n triggerOnAdd = typeof triggerOnAdd == 'boolean' ? triggerOnAdd : true;\r\n\r\n if (triggerOnAdd) {\r\n if (this._mapExtent === undefined) {\r\n this._updateMapExtent();\r\n }\r\n this.triggerMoveCallback(this._mapMoveCallbacks.length - 1);\r\n }\r\n }\r\n}\r\n\r\nnm.MapMoveCls = MapMoveCls;\r\nexport default MapMoveCls;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/mapMoveCls.ts","/**\r\n * Created by gavorhes on 11/3/2015.\r\n */\r\n\r\nimport MapInteractionBase from './mapInteractionBase';\r\nimport propertiesZoomStyle from '../olHelpers/propertiesZoomStyle';\r\nimport provide from '../util/provide';\r\nimport ol = require('custom-ol');\r\nimport {LayerBaseVector} from \"../layers/LayerBaseVector\";\r\nimport {LayerBase} from \"../layers/LayerBase\";\r\nimport LayerEsriMapServer from \"../layers/LayerEsriMapServer\";\r\nimport $ = require('jquery');\r\n\r\nconst nm = provide('olHelpers');\r\n\r\nexport interface popupChangedFunction {\r\n ($popContent: JQuery): any;\r\n}\r\n\r\n/**\r\n *\r\n */\r\nexport interface popupCallback {\r\n /**\r\n * Callback function for the popup\r\n * @param featureProperties\r\n * @param jqRef\r\n */\r\n (featureProperties: Object, jqRef?: JQuery): string | boolean;\r\n}\r\n\r\ninterface mapEvent {\r\n coordinate: ol.Coordinate;\r\n pixel: ol.Pixel;\r\n dragging: boolean|any;\r\n originalEvent: Event;\r\n}\r\n\r\n\r\nexport class FeatureLayerProperties {\r\n\r\n feature: ol.Feature;\r\n layer: LayerBaseVector|LayerEsriMapServer;\r\n layerIndex: number;\r\n selectionLayer: ol.layer.Vector;\r\n popupContent: string;\r\n esriLayerName: string;\r\n\r\n /**\r\n *\r\n * @param feature the feature\r\n * @param layer - the layer in the popup\r\n * @param layerIndex - index of the layer\r\n * @param selectionLayer - the ol selection layer\r\n * @param [esriLayerName=undefined] - esri layer name\r\n */\r\n constructor(feature: ol.Feature, layer: LayerBaseVector|LayerEsriMapServer, layerIndex: number, selectionLayer: ol.layer.Vector, esriLayerName?: string) {\r\n this.feature = feature;\r\n this.layer = layer;\r\n this.layerIndex = layerIndex;\r\n this.selectionLayer = selectionLayer;\r\n this.popupContent = '';\r\n this.esriLayerName = typeof esriLayerName == 'string' ? esriLayerName : undefined;\r\n }\r\n\r\n get layerName() {\r\n if (typeof this.esriLayerName == 'string') {\r\n return this.esriLayerName;\r\n } else {\r\n return this.layer.name;\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * map popup class\r\n * @augments MapInteractionBase\r\n */\r\nexport class MapPopupCls extends MapInteractionBase {\r\n private _popupOpen: boolean;\r\n private _passThroughLayerFeatureArray: Array<FeatureLayerProperties>;\r\n private _currentPopupIndex: number;\r\n private _popupContentLength: number;\r\n private _esriMapServiceLayers: Array<LayerEsriMapServer>;\r\n private _$popupCloser: JQuery;\r\n private _$popupContent: JQuery;\r\n private _$popupContainer: JQuery;\r\n private _popupOverlay: ol.Overlay;\r\n private _arrPopupLayers: Array<LayerBaseVector>;\r\n private _popupCoordinate: ol.Coordinate;\r\n private _popupChangedFunctions: Array<popupChangedFunction>;\r\n private _mapClickFunctions: Array<Function>;\r\n private _selectionLayerLookup: {[s: string]: ol.layer.Vector};\r\n private _arrPopupLayerIds: Array<string>;\r\n private _arrPopupLayerNames: Array<string>;\r\n private _arrPopupOlLayers: Array<ol.layer.Vector>;\r\n private _arrPopupContentFunction: Array<popupCallback>;\r\n private _selectionLayers: Array<ol.layer.Vector>;\r\n\r\n /**\r\n * Definition for openlayers style function\r\n * @callback olStyleFunction\r\n * ¶m feature the openlayers vector feature\r\n * $param\r\n */\r\n\r\n\r\n /**\r\n * map popup constructor\r\n */\r\n constructor() {\r\n super('map popup');\r\n this._arrPopupLayerIds = [];\r\n this._arrPopupLayerNames = [];\r\n this._arrPopupLayers = [];\r\n this._arrPopupOlLayers = [];\r\n this._arrPopupContentFunction = [];\r\n this._$popupContainer = undefined;\r\n this._$popupContent = undefined;\r\n this._$popupCloser = undefined;\r\n this._popupOverlay = undefined;\r\n this._selectionLayers = [];\r\n this._selectionLayerLookup = {};\r\n this._mapClickFunctions = [];\r\n\r\n //let a = function($jqueryContent){console.log($jqueryContent)};\r\n //this._popupChangedLookup = {'a': a};\r\n this._popupChangedFunctions = [];\r\n this._esriMapServiceLayers = [];\r\n\r\n this._popupOpen = false;\r\n this._popupCoordinate = null;\r\n\r\n this._passThroughLayerFeatureArray = [];\r\n\r\n this._currentPopupIndex = -1;\r\n this._popupContentLength = 0;\r\n\r\n }\r\n\r\n /**\r\n * map popup initialization\r\n * @param {ol.Map} theMap - the ol map\r\n */\r\n init(theMap: ol.Map) {\r\n super.init(theMap);\r\n\r\n let $map;\r\n let target = this.map.getTarget();\r\n\r\n if (typeof target == 'string') {\r\n $map = $('#' + target);\r\n }\r\n else {\r\n $map = $(target);\r\n }\r\n\r\n $map.append(\r\n '<div class=\"ol-popup\">' +\r\n '<span class=\"ol-popup-closer\">X</span>' +\r\n '<div class=\"popup-content\"></div>' +\r\n '</div>'\r\n );\r\n\r\n this._$popupContainer = $map.find('.ol-popup');\r\n this._$popupContent = $map.find('.popup-content');\r\n this._$popupCloser = $map.find('.ol-popup-closer');\r\n\r\n let _ease = (n: number): number => {\r\n return ol.easing.inAndOut(n);\r\n };\r\n\r\n\r\n this._popupOverlay = new ol.Overlay({\r\n element: this._$popupContainer[0],\r\n autoPan: true,\r\n autoPanAnimation: {\r\n duration: 250,\r\n source: theMap.getView().getCenter(),\r\n easing: _ease\r\n }\r\n });\r\n\r\n this._map.addOverlay(this._popupOverlay);\r\n\r\n this._$popupCloser.click((evt) => {\r\n this.closePopup();\r\n });\r\n\r\n // display popup on click\r\n this._map.on('singleclick', (evt: {coordinate: [number, number], pixel: ol.Pixel}) => {\r\n\r\n this.closePopup();\r\n this._popupCoordinate = evt['coordinate'];\r\n\r\n // esri map service layers\r\n if (this._esriMapServiceLayers.length > 0) {\r\n\r\n let queryParams = {\r\n geometry: evt['coordinate'].join(','),\r\n geometryType: 'esriGeometryPoint',\r\n layers: 'all',\r\n sr: this._map.getView().getProjection().getCode().split(':')[1],\r\n mapExtent: (this._map.getView().calculateExtent(this._map.getSize()) as number[]).join(','),\r\n imageDisplay: (this._map.getSize() as number[]).join(',') + ',96',\r\n returnGeometry: true,\r\n tolerance: 15,\r\n f: 'pjson'\r\n };\r\n\r\n for (let l of this._esriMapServiceLayers) {\r\n l.getPopupInfo(queryParams);\r\n }\r\n }\r\n\r\n let layerFeatureObjectArray = this._featuresAtPixel(evt['pixel']);\r\n\r\n this._passThroughLayerFeatureArray = [];\r\n this._currentPopupIndex = -1;\r\n\r\n for (let i = 0; i < layerFeatureObjectArray.length; i++) {\r\n let featObj = layerFeatureObjectArray[i];\r\n\r\n let props = featObj.feature.getProperties();\r\n\r\n let popupContentResponse = this._arrPopupContentFunction[featObj.layerIndex](props, this._$popupContent);\r\n\r\n //skip if return was false\r\n if (popupContentResponse === false) {\r\n //continue;\r\n } else if (typeof popupContentResponse == 'string') {\r\n featObj.popupContent = popupContentResponse as string;\r\n this._passThroughLayerFeatureArray.push(featObj);\r\n } else {\r\n featObj.selectionLayer.getSource().addFeature(featObj.feature);\r\n }\r\n }\r\n\r\n this._popupContentLength = this._passThroughLayerFeatureArray.length;\r\n\r\n this._currentPopupIndex = -1;\r\n\r\n let popupHtml = '<div class=\"ol-popup-nav\">';\r\n popupHtml += '<span class=\"previous-popup ol-popup-nav-arrow\">◀</span>';\r\n popupHtml += '<span class=\"next-popup ol-popup-nav-arrow\">▶</span>';\r\n popupHtml += `<span class=\"current-popup-item-number\" style=\"font-weight: bold;\"></span>`;\r\n popupHtml += `<span> of </span>`;\r\n popupHtml += `<span class=\"popup-content-length\" style=\"font-weight: bold;\">${this._popupContentLength}</span>`;\r\n popupHtml += `<span> - </span>`;\r\n popupHtml += `<span class=\"current-popup-layer-name\"></span>`;\r\n popupHtml += '</div>';\r\n popupHtml += '<div class=\"ol-popup-inner\">';\r\n\r\n popupHtml += '</div>';\r\n\r\n this._$popupContent.html(popupHtml);\r\n\r\n this._$popupContent.find('.previous-popup').click(() => {\r\n if (this._popupContentLength == 1) {\r\n return;\r\n }\r\n\r\n if (this._currentPopupIndex == 0) {\r\n this._currentPopupIndex = this._popupContentLength - 1;\r\n } else {\r\n this._currentPopupIndex--;\r\n }\r\n this._triggerFeatSelect();\r\n });\r\n\r\n let nextPopup = this._$popupContent.find('.next-popup');\r\n\r\n nextPopup.click(() => {\r\n if (this._popupContentLength == 1 && this._currentPopupIndex > -1) {\r\n return;\r\n }\r\n\r\n if (this._currentPopupIndex == this._popupContentLength - 1) {\r\n this._currentPopupIndex = 0;\r\n } else {\r\n this._currentPopupIndex++;\r\n }\r\n this._triggerFeatSelect();\r\n });\r\n\r\n\r\n if (this._popupContentLength > 0) {\r\n nextPopup.trigger('click');\r\n this._popupOverlay.setPosition(this._popupCoordinate);\r\n this._$popupContent.scrollTop(0);\r\n this._popupOpen = true;\r\n }\r\n });\r\n\r\n //change mouse cursor when over marker\r\n this._map.on('pointermove', (evt: {dragging: boolean, originalEvent: Event}) => {\r\n if (evt['dragging']) {\r\n return;\r\n }\r\n let pixel = this.map.getEventPixel(evt['originalEvent']);\r\n let hit = this.map.hasFeatureAtPixel(pixel, (lyrCandidate) => {\r\n for (let olLayer of this._arrPopupOlLayers) {\r\n if (lyrCandidate == olLayer) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n });\r\n let mapElement = this.map.getTargetElement() as HTMLElement;\r\n mapElement.style.cursor = hit ? 'pointer' : '';\r\n });\r\n\r\n return true;\r\n }\r\n\r\n /**\r\n * helper to select features\r\n * @private\r\n */\r\n _triggerFeatSelect() {\r\n let $currentPopupItemNumber = this._$popupContent.find('.current-popup-item-number');\r\n let $innerPopup = this._$popupContent.find('.ol-popup-inner');\r\n let $layerNameSpan = this._$popupContent.find('.current-popup-layer-name');\r\n this.clearSelection();\r\n let lyrFeatObj = this._passThroughLayerFeatureArray[this._currentPopupIndex];\r\n $currentPopupItemNumber.html((this._currentPopupIndex + 1).toFixed());\r\n $layerNameSpan.html(lyrFeatObj.layerName);\r\n $innerPopup.html(lyrFeatObj.popupContent);\r\n lyrFeatObj.selectionLayer.getSource().addFeature(lyrFeatObj.feature);\r\n for (let f of this._popupChangedFunctions) {\r\n f(this._$popupContent);\r\n }\r\n }\r\n\r\n\r\n /**\r\n *\r\n * @param feature - the ol feature\r\n * @param {LayerEsriMapServer} lyr - the map server layer\r\n * @param {string} popupContent - popup content\r\n * @param {string} esriName - esri layer name\r\n */\r\n addMapServicePopupContent(feature: ol.Feature, lyr: LayerEsriMapServer, popupContent: string, esriName: string) {\r\n\r\n let featLayerObject = new FeatureLayerProperties(\r\n feature, lyr, this._popupContentLength, this._selectionLayerLookup[lyr.id], esriName\r\n );\r\n featLayerObject.popupContent = popupContent;\r\n\r\n this._passThroughLayerFeatureArray.push(featLayerObject);\r\n this._popupContentLength++;\r\n\r\n $('.popup-content-length').html(this._popupContentLength.toFixed());\r\n\r\n if (!this._popupOpen) {\r\n this._$popupContent.find('.next-popup').trigger('click');\r\n\r\n this._popupOverlay.setPosition(this._popupCoordinate);\r\n this._$popupContent.scrollTop(0);\r\n this._popupOpen = true;\r\n }\r\n }\r\n\r\n /**\r\n *\r\n * @param pixel - the ol pixel\r\n * @returns feature layer properties\r\n * @private\r\n */\r\n _featuresAtPixel(pixel: ol.Pixel): Array<FeatureLayerProperties> {\r\n let layerFeatureObjectArray: FeatureLayerProperties[] = [];\r\n\r\n this.map.forEachFeatureAtPixel(pixel, (feature: ol.Feature, layer: ol.layer.Vector) => {\r\n let lyrIndex = this._arrPopupOlLayers.indexOf(layer);\r\n\r\n if (lyrIndex > -1) {\r\n layerFeatureObjectArray.push(\r\n new FeatureLayerProperties(\r\n feature, this._arrPopupLayers[lyrIndex], lyrIndex, this._selectionLayers[lyrIndex]));\r\n }\r\n });\r\n\r\n return layerFeatureObjectArray;\r\n }\r\n\r\n closePopup() {\r\n this._checkInit();\r\n this._popupOpen = false;\r\n this._popupOverlay.setPosition(undefined);\r\n this._$popupCloser[0].blur();\r\n this.clearSelection();\r\n this._$popupContent.html('');\r\n\r\n return false;\r\n };\r\n\r\n\r\n /**\r\n *\r\n * @param chgFunction - popup change function\r\n */\r\n addPopupChangedFunction(chgFunction: popupChangedFunction) {\r\n this._popupChangedFunctions.push(chgFunction);\r\n }\r\n\r\n /**\r\n *\r\n * @param {LayerBase|*} lyr - the layer being acted on\r\n * @param {object} [selectionStyle={}] the selection style configuration\r\n * @param {string} [selectionStyle.color=rgba(255,170,0,0.5)] the selection color\r\n * @param {number} [selectionStyle.width=10] the selection width for linear features\r\n * @param {object|function} [selectionStyle.olStyle=undefined] an openlayers style object or function\r\n * @returns the new selection layer\r\n * @private\r\n */\r\n _addPopupLayer(lyr: LayerBaseVector|LayerEsriMapServer, selectionStyle: {color?: string, width?: number, olStyle?: ol.style.Style}): ol.layer.Vector {\r\n this._checkInit();\r\n\r\n selectionStyle = selectionStyle || {};\r\n selectionStyle.color = selectionStyle.color || 'rgba(255,170,0,0.5)';\r\n selectionStyle.width = selectionStyle.width || 10;\r\n\r\n let theStyle;\r\n\r\n if (selectionStyle.olStyle) {\r\n theStyle = selectionStyle.olStyle;\r\n } else {\r\n theStyle = new ol.style.Style({\r\n stroke: new ol.style.Stroke({\r\n color: selectionStyle.color,\r\n width: selectionStyle.width\r\n }),\r\n image: new ol.style.Circle({\r\n radius: 7,\r\n fill: new ol.style.Fill({color: selectionStyle.color}),\r\n stroke: new ol.style.Stroke({color: selectionStyle.color, width: 1})\r\n }),\r\n fill: new ol.style.Fill({\r\n color: selectionStyle.color\r\n })\r\n });\r\n }\r\n\r\n let selectionLayer = new ol.layer.Vector(\r\n {\r\n source: new ol.source.Vector(),\r\n style: theStyle\r\n }\r\n );\r\n\r\n selectionLayer.setZIndex(100);\r\n\r\n this._selectionLayers.push(selectionLayer);\r\n this._selectionLayerLookup[lyr.id] = selectionLayer;\r\n this.map.addLayer(selectionLayer);\r\n\r\n return selectionLayer;\r\n }\r\n\r\n\r\n /**\r\n * Add popup to the map\r\n * @param {LayerBase|*} lyr The layer that the popup with act on\r\n * @param {popupCallback} popupContentFunction - popup content function that makes popup info\r\n * @param {object} [selectionStyle={}] the selection style configuration\r\n * @param {string} [selectionStyle.color=rgba(255,170,0,0.5)] the selection color\r\n * @param {number} [selectionStyle.width=10] the selection width for linear features\r\n * @param {object|function} [selectionStyle.olStyle=undefined] an openlayers style object or function\r\n * @returns {object} a reference to the ol selection layer\r\n */\r\n addVectorPopup(lyr: LayerBaseVector, popupContentFunction: popupCallback,\r\n selectionStyle?: {color?: string, width?: number, olStyle?: ol.style.Style}) {\r\n let selectionLayer = this._addPopupLayer(lyr, selectionStyle);\r\n this._arrPopupLayerIds.push(lyr.id);\r\n this._arrPopupLayerNames.push(lyr.name);\r\n this._arrPopupLayers.push(lyr);\r\n this._arrPopupOlLayers.push(lyr.olLayer);\r\n this._arrPopupContentFunction.push(popupContentFunction);\r\n\r\n return selectionLayer;\r\n };\r\n\r\n\r\n /**\r\n *\r\n * @param {LayerBase} lyr - layer\r\n */\r\n removeVectorPopup(lyr: LayerBase) {\r\n let idx = this._arrPopupLayerIds.indexOf(lyr.id);\r\n\r\n if (idx > -1) {\r\n this._arrPopupLayerIds.splice(idx, 1);\r\n this._arrPopupLayerNames.splice(idx, 1);\r\n this._arrPopupLayers.splice(idx, 1);\r\n this._arrPopupOlLayers.splice(idx, 1);\r\n this._arrPopupContentFunction.splice(idx, 1);\r\n this._selectionLayers.splice(idx, 1);\r\n delete this._selectionLayerLookup[lyr.id];\r\n }\r\n }\r\n\r\n /**\r\n *\r\n * @param {LayerEsriMapServer} lyr - map server layer\r\n * @param {object} [selectionStyle={}] the selection style configuration\r\n * @param {string} [selectionStyle.color=rgba(255,170,0,0.5)] the selection color\r\n * @param {number} [selectionStyle.width=10] the selection width for linear features\r\n * @param {object|function} [selectionStyle.olStyle=undefined] an openlayers style object or function\r\n * @returns {object} a reference to the ol selection layer\r\n */\r\n addMapServicePopup(lyr: LayerEsriMapServer, selectionStyle?: ol.style.Style|Array<ol.style.Style>|ol.StyleFunction) {\r\n let selectionLayer = this._addPopupLayer(lyr, selectionStyle);\r\n this._esriMapServiceLayers.push(lyr);\r\n\r\n return selectionLayer;\r\n }\r\n\r\n clearSelection() {\r\n this._checkInit();\r\n for (let i = 0; i < this._selectionLayers.length; i++) {\r\n this._selectionLayers[i].getSource().clear();\r\n }\r\n for (let f of this._mapClickFunctions) {\r\n f();\r\n }\r\n };\r\n\r\n /**\r\n * Add a function to be called when the map is clicked but before any popups are implemented\r\n * @param {function} func - the map click function\r\n */\r\n addMapClickFunction(func: Function) {\r\n this._mapClickFunctions.push(func);\r\n }\r\n}\r\nnm.MapPopupCls = MapPopupCls;\r\nexport default MapPopupCls;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/mapPopupCls.ts","/**\r\n * Created by gavorhes on 12/15/2015.\r\n */\r\n\r\nimport provide from '../util/provide';\r\nimport ol = require('custom-ol');\r\nimport $ = require('jquery');\r\nimport {Geocode} from './geocode';\r\nconst nm = provide('olHelpers');\r\n\r\nexport interface quickMapOptions {\r\n divId?: string;\r\n center?: {x: number, y: number};\r\n zoom?: number;\r\n minZoom?: number;\r\n maxZoom?: number;\r\n baseSwitcher?: boolean;\r\n fullScreen?: boolean;\r\n addGeocode?: boolean;\r\n}\r\n\r\n/**\r\n * Sets up a map with some default parameters and initializes\r\n * mapMove and mapPopup\r\n *\r\n * @param [options={}] config options\r\n * @param [options.divId=map] map div id\r\n * @param [options.center={}] center config object\r\n * @param [options.center.x=-10018378] center x, web mercator x or lon\r\n * @param [options.center.y=5574910] center y, web mercator y or lat\r\n * @param [options.zoom=7] zoom level\r\n * @param [options.minZoom=undefined] min zoom\r\n * @param [options.maxZoom=undefined] max zoom\r\n * @param [options.baseSwitcher=true] if add base map switcher\r\n * @param [options.fullScreen=false] if add base map switcher\r\n * @returns the ol map\r\n */\r\nexport function quickMapBase(options: quickMapOptions = {}): ol.Map {\r\n options.divId = options.divId || 'map';\r\n options.center = options.center || {x: -10018378, y: 5574910};\r\n options.zoom = typeof options.zoom == 'number' ? options.zoom : 7;\r\n options.baseSwitcher = typeof options.baseSwitcher == 'boolean' ? options.baseSwitcher : true;\r\n options.fullScreen = typeof options.fullScreen == 'boolean' ? options.fullScreen : false;\r\n options.addGeocode = options.addGeocode || false;\r\n\r\n\r\n let $mapDiv = $('#' + options.divId);\r\n $mapDiv.css('position', 'relative');\r\n\r\n let osmLayer = new ol.layer.Tile({source: new ol.source.OSM()});\r\n // let satLayer = new ol.layer.Tile({visible: false, source: new ol.source.MapQuest({layer: 'sat'})});\r\n\r\n let osmCss = \"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAMAUExURQAAADQ1NDk5OURFREtLS1FHSFlZWGJRVGJiYWdmZWxsbHRmaXBpanN0c3V0dHp5eX5+fIVzd4F3eeV0jud5juZ8k4aHhomHhoyGh5eGj5OVlJiVlZiYl5qZmJydnKOTlaKZmqKdnaOioaqqqKuzsbOvrrSysLa3tbW4uLm6ub27ub+/vbGXwbCZwbCgxLKlxrOqyLStybO3yrSxyrWzzbW2y7a1zbK4y7W6zbW8y760yrTAzbTFzrPKzrLOzrTJzrTOzr7CwbXC0LXK0LTO0L3I0bPQz7TQz7PS0bXQ0LnR0brW1bzT0r7U077V1Lzc2dqNqteUsdyXscaquuOHneaGmueHnOeJnuiBleiKn+eNoOiOoOWUpOiRo+iSpeiUpeqYpumaqOmdrPSynemgruSqtOmisOmlsuuqtequuOW1vOuxu+uxvOq1ve+xvPK0pvW3o/W5pfO5qvS7qfCwvMOuwc2/wNenxNyyzNe/0Nq31Nq51dy72Oy3wOu4wOu+xey4wO+6xO2+xfTAr/TCsvfFtPHLvvTJuMPDwMfHxcXKyc3DxMvFyMvLyM3PzcDV08DV1MTX1cbY1s7X1sjZ1sra2Mnd3M7b2c7c2tfH1tnB1t7F2d7M29fX1tLY1tDd2tHe3NTf3NnS19rZ1tva2Nnf3t3d28rh3tXg3Nnh3tzj393k39ni4N7k4N7n5uXDyOfLz+zAxu3CyOzEyezKzeDJ3eLM3uvP0u3P0ePf2+7R0u7Q1u/U0+7U1ezc0+7a2e/d2+3f3vbFzvLOwfHN0PPQw/TUx/LWyvLYzPDQ1fPe0ubc4vve4uHh3+nh3+/h2u/h3vHj2vHl3uHm4eTn4uDp5ebo4+Xo5ODq6ebq6OTv6+nl4+/j4O7l4e7n5ujp4+np5Ozq5e7s5urt6O7t6Orw6u7x6u3x7vPj5PDl4fDo4vDq5fDt5vDu6PDv7PTv6fDx6vHx7fH17fXw6fXy7fb07/bz8fT18vn38vr39fr48/r59Pr6+P3++//+/gAAALNTSk0AAAEAdFJOU////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wBT9wclAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAAGHRFWHRTb2Z0d2FyZQBwYWludC5uZXQgNC4wLjlsM35OAAAFNElEQVRIS1VVCZxVUxi/9l0UIUT2bMnY43bVI2c0Y01kSWIaS0j2JEtkN41piomZrPPKQ2aQ7JKImOZlnm2493TJzDufuU1Zi+v/fee+mZ//793vnPOd7zvfes5zDBEZkBBjAcIjb+Iiotqgdhat8AMK0vl7/R9N7GiWtshqIr+EZ5gYKibyUsXY1l/mfFpssvUlWQ0FkU3gy4+RB/+kwYcO8pRSnldcOU/r2lAHARSwk2ORgEmOdC1EsuRiYSqMPwwroMIraZk5V2fYJQjCKfZrRmh3gSAZi2i4b7wSylWu8EqZwS59JkFUaW96JbNSc+CEUmt4rorwuZmWdDaoc+uZETuQlTCU5xYzR7muUnVUVo+BcRhre/VwUpasgJwhH7JkYIYA0sNxhmCwUK+lw6vCKBZehw01dEiyw4Q4aE0Z4ahDhKaFQsGnJ2BgqKoTBsNjFy0SlW6whRAZTdm8DBJmkBZhDi1j4xJQBk6ywrWUTymaCxac8lROcdauRGzQSNtA7EHUYhXyEwhhgjFUqRuO+rauhF1awFpzCsmwUbjIFBR0u1bKtyGpulW/H/cVVzkyGaIWTIR9pFAV6GK2gPMXMX8gPk9zzxXgI1kimcAltEYr+cjio1imlKpEa9rOipLm+p+CZ6Bw//qd1/f/O+GwMxbSLpyoZEcwkyh2jIks+3hmdd2jWUw4scxNysnHxU7nSspTRcJjCZGL3IsjsYJMMg5mwgx7gaIOLBFCogAgBBoNa9w+DE6I+Bs7FTgwwrJbHjWDgpYo2KwtBTcYEDuloC9geQw+k2RGnPGpTaOlq7AS+YICUz4DZVaX2TiNDhuYfTtY4geLi0IoCm3XccwM9hx4kU28StQEljDs3ZEpFGA+8dKzLmV9ymIwF5FOGn2GdJM8KLHDJbXyiYVMG9MRTLiXGGg2QKaxM3khPSRrwM9zEIardxU2w/EiA0gOeYKHzDR0V7/QGV3lKIA9ktrDArxO3gdA+k6SKoBiVwcm7NjZb9+Hnztg282TuHVZ9LOISFNt9MgyCetZVczSxnyDbl17Penq6mqpg1IhRaEO2aVLUO4/r17H8tTv6f13h71dduvZI3Y+uMdWksNSauLovJw5hsqiPIUvt0ku7/iBeUR3sksmomYWtRbAjbiLfv2lX9/V7LVG4uYnUZXhQ7f2OPCZEx9wrYWTcePEQqPEML8pl4mMdr/jlXlvHiRiJ2+MSTFY4TTSYStuvz2R/JXh+PPeGXm055J+3/YDWuNu3R3DArPutyg0ZgykMVDU9Ndm22+wYalr2rse48CnsTIFcMn73vfhNrktx1EUcZnPv6ah3Yy5cDTRdBEoGoBeah71dqFyjZDJLkWk3N3v4uuktssjWpzciMPxQeHj8nMKzcGuB0tAyzFhdCKOYWv4HwOQVwIxLG99a6uvH3sJCyO3h+k4EZ+G7+xj5f4XXksoaGrdMRzSc8ARA8+cdOuk2x6fffNNt5x+Ro1omPlrT/CQDlcNlpx4NBIWXhkx7Y3Zp3ofNR7Uv89Om/beW0TLIynHv3vs1VsOFpSWSXvfuPUf9BrRFyxgXdHoKJnQFegPOovvzz59ntrzye240ig8UQ3lDI2VqwagrKIQcLXNFL3wglN2OHdBQ6/vI3kENDVBwRb3k1XtczFbjWn4EzMYi7CF3129+JTYuRSdrGuS92g5dpqn6qXoJQs5xmL8p+Wt4hLbt0mx2OLNZR2bbPy8zJNQGFM/f/CfXZekRYFjGCWjIJpM+WiCzGBPWHhoyaAsjRT/B2Gy5yzYJkwUAAAAAElFTkSuQmCC')\";\r\n let aerialCss = \"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAMAUExURQALBgIMDQgOBwQOEQcTBwUSCwoVDAwdBw8ZDgUREwYUGAYZFQYZGgkTFQoVGQsZFAwZHBMeDhIbFBEbHAwWIA4bIREcIQ4hCQwjFw4lHBgkDB8sDxUiExIiGhAoGxohFRshGRorHQcrKQsiIQwmKgooJA0pKQ81Jw8yLRMiIxImKxUrJREuKhslJB0rIhooKRUuMBMyLhkwJhozKh48LxUzMRM9MBwzMiUvFCMtGiMwEiwzFCgzHDI+GSIsISkvJSQxIiM2LiY5Jic+Lyk0JSo0Ky49JSs9KSU1NSM7NCs2NS8+NDM1JzU9Ljg7IDJCHS1DLSNAMitCMSxIOjREITZLIDZJKDlFIjpFKztKJT1LKzJBMzpHMD1JMjpKPD1RKjlQNC1DQj5QQEA8MEJGJkBKJUJNK0lLLEJMMkVMPEpONENSLUdZL0pTLkpaLkRUMkRSPEVZMktUM0pVOklZMklZNEpcNU1ZMk1ZNUxfMk5dNkxcOVFUM1RUOFJbNVFZOVNYPVFdOVJdPFVaOVVaPVVdOlVdPVpaNlpdO0phN01hOlBiN1NhPFNoP1piPWFbPmRjPENOQEtPSURTQkJVS0xVQk1VSkxbQkxcS0heUVFXRFRcQlJfTFxeQlpeS05lQk1kSFRjQVRjSlZpQ1tkQlxlSlxpRF1rSVVnUVtlU1llXF9tU1xoXlxwSl9ramRfQmJlQ2FhSWFlSWFlTmVlSWRmTGFoQWFpRWFsRmVpRWVtRmNsSmtlRGpqRmpsS2BmWGRsUmFrW2ptUmZyR2RxTGpxTWVyU2RyW2d5V2tzUmt0WW15VG15WXFuTHNtVnFxTXF4T3h0TnJzUnJ1XHJ4VXN6Wnp0VHx1W315VXp8XGR0YGx0YHVzZXJ0aHR9ZXV+aHl9YHOCXXqBXXeCYHyCY3iEaHyIYn+JaXqKcYB5WIN6Y4SCXoCDZIGEaYCIZoOLa4iCaImJbIOOdYuMco6OeIuVcpOKbZKPc5aQb5eXe5ufg6KjhAAAAAAAAAAAAAAAAOGCeQgAAAEAdFJOU////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wBT9wclAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAAGHRFWHRTb2Z0d2FyZQBwYWludC5uZXQgNC4wLjlsM35OAAAH80lEQVRISy1WbXQUVxm+6wqnk3Zmpxl2FG2EGg92C8GDlWptVTwa+uF3xcKmDfFzCUzDsJNsunXipglJXJbrtJWmwZNSnHD3jojRgUIm2UumIZ0JZ7JByrALbMWW0IBW8aRa4+cf76TeX3Nm3uc+z/s+7/vugl4r/aMTrT4e1pPTqnnmJNn5AyUzRnrRle/qE33dsvrBtAQVoxtpZNK3zSzYjUjviWO2Ag+R77dl7W36n/1Ep9KBPG/S+Py0PkjU/gPKQGqwTHryiWYFAXSvMairsio7SjyNsnCzh0qKImV9/7mhfHQZx2yN1O+7rXUm33MUPaboOkAJHaoIdXfJj2xWeyD8jMFEXkvIu5qzpU988gWB5zl+GS+sFe55trEVPdWZB2miq8bBVkNFO2R0qnrfkiXhcJhtDNXE6tbW97/s9O9/7ZfVhx86/CwrROpfvvxboMqeLsuqPr1j44qEwDNMOBximUiYoU8sw7BC/a7T72uEnyJDlGxZ9KcglZRyuqqrv/tSZErgOI4NgRBTIw9EmHAoFGZZnp6aGaJ2GTxfxYs8kKVUQh7WB5hQeC3LsUxoxVKW14l3BX2WcoUYPiZyLLe8teZ+iuT4GGhvV5KpKWkpyzxEr2MZgQ1xdRjfRBoH+2k6lIHjKTHPPBo8CSJISqqq4wGGOcWylIGlgvgNX1Gd8vF5f+IUIwb30ng+Gg2QfBRIMvy0jG8SVkYo4N0zvUXVRztbJ/L6xL7lUZEXBEHkuZqlS6gEAUgKJurnhFtfpACOYd8b/hVbJPqwi44a6KA0sPVjIi/SIyxb3u8KlAJ0S8jRVgrlW+nVHPdrhiXCxu42d86ByksDc80P3MkJFBFQ8Ho1lQegpWJRWFGsDsRwwv7pIyvuQW0ZkrX6NDVFbqcvaQI8vbyqzt5AARrsbKx5yhQEGs+wPO56bOK+0rcwMrOKkpUbZWYxV04UeZZv/cBKFhRL6Qdv9y4LfEDA7/thg7tTmv1a5/GnO0wl0dQg80wglZaHUmxRvjwAHOfyN0mxrpqLUpcjsK3NHYMo4R1o6eho2ZyIb2FoeOC3ILK8kZ2HQMOuWywGXUkJBCeTbYFS0+ym1h2/6UgmvnrvKYZZtIEXGf75C2cIAp5LHNd71x7uPoTjakrWH9e3KFpaatjUvJUysFw0KrLMYMW2lTg4PeUQx6kJEALvxXEmCdVyPLHtCSjBhc01XCjIgafxou+PE6KC1dhxSCwoBCc+N4P3btM84pmdSSjJnjO/nvY4LQfVyz5/I+v6IwjUOMjy+MVCxIbKupTJaEktp7cTKU42Pvjh2m/8cSpC6aPsaX/MHSuUQLVVsIa4RUTs/r/BVAexNdjdnsNG7j/rV93xheLMzKnFrPeTEQchCyCcKb25aAIn7lrAertrZwyNXM8N6zfWrFo3d2SmOEcF83x/r+OOFgrAHYWF7cELjhV7UQo/6WAIUVl9JFl8a//HZ66VpbY3I9QKZqPru77lA+iOWAIr0hKxHCmmr0othSyeIl5y3qt4xT8gSNrKEZozs8Els67rgsLOZ+ygzwMfbtNhobfgzpEyGnz7htPtzUi6PuOoj7K0WF/MXiUFxwGajRD1hjYXHXI9p406qOyinp5/tiWcDHY0jIu4n64Qfq7kliB2gemag9QbOia0PbbDMbd43SHuvxFxrAocxins7MX5Kqbe1QixKBxoV4//PfAgGCu+Rlm4SvZizyDH+0reDHp92iO0BuX3bCfItl0PEwvYLqpwXG2MHlGsQ4S8pMJZv1JGmHiEoHQDdOjwmVlEP/nE9ADKjI8xLI0OOGITfy0SbeG/C2jKUDGSlDhM9I3IpK9iup6XnbRNC7yqueNsJCCIiXzdQhnaGN+46umnEdy5U5UbUJ48LFM9GkJo8BdDOiAZ7ZIQbKhYLMqvhU2wmNxjEAsS2AI7y4nWF64duePbk7YV3zvAVLEMD9AxJRNa3KDUibV7DjnkuprMEYjScFNcaR2ceP2u9R/5k1052Ryme5phAFRswlHjAudiP4dOy7CaxLgdJh9vUlU1702/+LPa1U9fvPi9qlA4XEUBJc3dFlpsR457IDl1iPqLp7o81NQgyV19iYU38uTiv975Pd3SiwQcsGjx+v4/6fl5T7EOOMTCtpbKxfemsQq/3olQZcminADAAI0cuGLHaHOFxbuGvRk/Z9u7CULqoVR6NE0yx1avj30oRhc/jWUoIALGxkz0dg1Dl9iaI7LqOOXKsXJFwjiuEAi70Jra2nW1PL08zLBhZsMABpW5csI7TPfew9ipFKcn5k1i+1KyCWKjC3W/8dF1d666+RaabBVTFTHacjoojBNDh0NDxk+IPTlwfqJkWpbnpFHXIbLbmpxEQ3ff/Z0g/mauXsoln9wDRjy/NHsQFw3P6vWuTJ43/+FZrk2cvAFRipCKdfD9y2+pjRj78s0KdCUDKJvdV91ChngV38T20TM+gghjpJaPlpFr2xbEz5g4A/NGt5rNwdwmYGeeeMXBSLHHUIc+6RsojRH9VTUm3/mLf/64b470XvoxoTKhlMBQ2jMEzo2PjxdGMppmn1RM24bWFJqaQv4BcuJa2Sam7Zokq1ldCsz06NCBHrhwqVQYpfFj42NZexz1EW9SR/kT58nEeQKJb2fPXjjp0u/YUkwHEgLeOnf2nOuf1TRTM02CLKLTPy60/x1CCztqn7Ev+BdsC3m+30decQvW/wBNTwU+CfUQAQAAAABJRU5ErkJggg==')\";\r\n\r\n if (options.baseSwitcher) {\r\n // let switcherContent = '<div class=\"base-map-switcher\" title=\"Toggle Base Layer\" style=\"';\r\n // switcherContent += 'position: absolute; top: 70px; left: 4px; border: solid black 1px; ';\r\n // switcherContent += `height: 50px; width: 50px; z-index: 10; border-radius: 4px; background: ${aerialCss};`;\r\n // switcherContent += '\"></div>';\r\n // $mapDiv.append(switcherContent);\r\n //\r\n // $mapDiv.find('.base-map-switcher').click(function() {\r\n // \"use strict\";\r\n // osmLayer.setVisible(!osmLayer.getVisible());\r\n // satLayer.setVisible(!satLayer.getVisible());\r\n //\r\n // if (osmLayer.getVisible()){\r\n // $(this).css('background', aerialCss);\r\n // } else {\r\n // $(this).css('background', osmCss);\r\n // }\r\n // });\r\n }\r\n\r\n if (options.zoom < 0 || options.zoom > 28) {\r\n throw 'zoom out of range';\r\n }\r\n\r\n if (options.center.x >= -180 && options.center.x <= 180 && options.center.y >= -90 && options.center.y <= 90) {\r\n let p = new ol.geom.Point([options.center.x, options.center.y]);\r\n new ol.proj.Projection({code: \"EPSG:4326\"});\r\n\r\n p.transform(new ol.proj.Projection({code: \"EPSG:4326\"}), new ol.proj.Projection({code: \"EPSG:3857\"}));\r\n let coordinates = p.getCoordinates();\r\n options.center.x = coordinates[0];\r\n options.center.y = coordinates[1];\r\n }\r\n\r\n const controls = ol.control.defaults({\r\n attributionOptions: {collapsible: false}\r\n }\r\n );\r\n\r\n const view = new ol.View({\r\n center: [options.center.x, options.center.y],\r\n zoom: options.zoom,\r\n minZoom: options.minZoom,\r\n maxZoom: options.maxZoom\r\n });\r\n\r\n let map = new ol.Map({\r\n layers: [osmLayer],\r\n target: options.divId,\r\n controls: controls,\r\n view: view\r\n });\r\n\r\n if (options.fullScreen) {\r\n map.addControl(new ol.control.FullScreen({}));\r\n }\r\n\r\n if (options.addGeocode){\r\n new Geocode(document.getElementById(options.divId) as HTMLDivElement, map);\r\n }\r\n\r\n return map;\r\n}\r\n\r\nnm.quickMapBase = quickMapBase;\r\nexport default quickMapBase;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/quickMapBase.ts","/**\r\n * Created by gavorhes on 12/14/2015.\r\n */\r\n\r\nimport provide from '../util/provide';\r\nconst nm = provide('olHelpers.zoomResolutionConvert');\r\n\r\nlet _zoomResLookup = [\r\n 156543.03392804097, //0\r\n 78271.51696402048, //1\r\n 39135.75848201024, //2\r\n 19567.87924100512, //3\r\n 9783.93962050256, //4\r\n 4891.96981025128, //5\r\n 2445.98490512564, //6\r\n 1222.99245256282, //7\r\n 611.49622628141, //8\r\n 305.748113140705, //9\r\n 152.8740565703525, //10\r\n 76.43702828517625, //11\r\n 38.21851414258813, //12\r\n 19.109257071294063, //13\r\n 9.554628535647032, //14\r\n 4.777314267823516, //15\r\n 2.388657133911758, //16\r\n 1.194328566955879, //17\r\n 0.5971642834779395, //18\r\n 0.29858214173896974, //19\r\n 0.14929107086948487, //20\r\n 0.07464553543474244, //21\r\n 0.03732276771737122, //22\r\n 0.01866138385868561, //23\r\n 0.009330691929342804, //24\r\n 0.004665345964671402, //25\r\n 0.002332672982335701, //26\r\n 0.0011663364911678506, //27\r\n 0.0005831682455839253 //28\r\n];\r\n\r\n/**\r\n * Get the resolution given the zoom level\r\n * @param {number} zoomLevel - the zoom level\r\n * @returns {number|*} the map resolution\r\n */\r\nexport function zoomToResolution(zoomLevel: number): number {\r\n \"use strict\";\r\n\r\n if (typeof zoomLevel == 'number') {\r\n if (zoomLevel % 1 === 0 && zoomLevel >= 0 && zoomLevel <= 28) {\r\n return _zoomResLookup[zoomLevel];\r\n } else {\r\n console.log(`invalid zoom level provided: ${zoomLevel}`);\r\n\r\n return undefined;\r\n }\r\n } else {\r\n return undefined;\r\n }\r\n}\r\nnm.zoomToResolution = zoomToResolution;\r\n\r\n\r\n/**\r\n * Get resolution from the zoom level\r\n * @param {number} resolution - the resolution\r\n * @returns {number|*} the zoom level\r\n */\r\nexport function resolutionToZoom(resolution: number): number{\r\n for (let i = 0; i < _zoomResLookup.length; i++){\r\n if (resolution >= _zoomResLookup[i] ){\r\n return i;\r\n }\r\n }\r\n\r\n return 0;\r\n}\r\n\r\nnm.resolutionToZoom = resolutionToZoom;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/zoomResolutionConvert.ts","/**\r\n * Created by gavorhes on 1/4/2016.\r\n */\r\nimport provide from '../util/provide';\r\nimport ol = require('custom-ol');\r\nconst nm = provide('olHelpers.esriToOlStyle');\r\n\r\n\r\n/**\r\n *\r\n * @param {Array<number>} colorArray - input color array\r\n * @param {number} opacity - the opacity 0 to 1\r\n * @returns {string} rgba string\r\n * @private\r\n */\r\nfunction _colorArrayToRgba(colorArray: [number, number, number], opacity: number): string {\r\n \"use strict\";\r\n\r\n return `rgba(${colorArray[0]},${colorArray[1]},${colorArray[2]},${opacity})`;\r\n}\r\n\r\n/**\r\n * escape html charcters\r\n * @param {string} str - input string\r\n * @returns {string} escaped string\r\n */\r\nfunction htmlEscape(str: string): string {\r\n return String(str)\r\n .replace(/&/g, '&')\r\n .replace(/\"/g, '"')\r\n .replace(/'/g, ''')\r\n .replace(/</g, '<')\r\n .replace(/>/g, '>');\r\n}\r\n\r\nnm.htmlEscape = htmlEscape;\r\n\r\n\r\nexport interface iEsriResponse{\r\n drawingInfo: {\r\n renderer: iEsriRenderer;\r\n transparency: number\r\n },\r\n geometryType: string\r\n}\r\n\r\n\r\nexport interface iEsriRenderer{\r\n type: string;\r\n symbol: iEsriSymbol;\r\n uniqueValueInfos: Array<{label: string, value: any, symbol: iEsriSymbol}>;\r\n field1: string;\r\n defaultSymbol: iEsriSymbol;\r\n defaultLabel: string;\r\n}\r\n\r\nexport interface iEsriSymbol{\r\n size: number;\r\n type: string;\r\n outline:{\r\n color: [number, number, number];\r\n width: number;\r\n },\r\n color: [number, number, number];\r\n width: number;\r\n imageData: string\r\n}\r\n\r\n\r\nclass CommonSymbol {\r\n legendHtml: string;\r\n opacity: number;\r\n symbolObj: iEsriSymbol;\r\n olStyle: ol.style.Style;\r\n\r\n /**\r\n *\r\n * @param symbolObj\r\n * @param {number} opacity\r\n */\r\n constructor(symbolObj: iEsriSymbol, opacity: number) {\r\n this.symbolObj = symbolObj;\r\n this.opacity = opacity;\r\n this.olStyle = undefined;\r\n this.legendHtml = '';\r\n }\r\n}\r\n\r\ninterface ICommonSymbol{\r\n new (symbolObj: iEsriSymbol, opacity: number): CommonSymbol\r\n}\r\n\r\n\r\nclass PointSymbol extends CommonSymbol {\r\n constructor(symbolObj: iEsriSymbol, opacity: number) {\r\n super(symbolObj, opacity);\r\n switch (this.symbolObj.type) {\r\n case 'esriSMS':\r\n let innerColor = _colorArrayToRgba(this.symbolObj.color, this.opacity);\r\n let outerColor = _colorArrayToRgba(this.symbolObj.outline.color, this.opacity);\r\n let outlineWidth = this.symbolObj.outline.width;\r\n let radius = this.symbolObj.size;\r\n\r\n\r\n this.olStyle = new ol.style.Style({\r\n image: new ol.style.Circle({\r\n radius: radius,\r\n fill: new ol.style.Fill({\r\n color: innerColor\r\n }),\r\n stroke: new ol.style.Stroke({color: outerColor, width: outlineWidth})\r\n })\r\n });\r\n this.legendHtml = `<span class=\"legend-layer-icon\" style=\"color: ${innerColor}\">●</span>`;\r\n break;\r\n case 'esriPMS':\r\n this.olStyle = new ol.style.Style({\r\n image: new ol.style.Icon({src: `data:image/png;base64,${this.symbolObj['imageData']}`})\r\n });\r\n this.legendHtml = `<img class=\"legend-layer-icon\" height=\"17\" src=\"data:image/png;base64,${this.symbolObj['imageData']}\">`;\r\n break;\r\n default:\r\n console.log(this.symbolObj);\r\n alert('Point symbol does not handle symbol type: ' + this.symbolObj['type']);\r\n }\r\n }\r\n}\r\n\r\nclass LineSymbol extends CommonSymbol {\r\n constructor(symbolObj: iEsriSymbol, opacity: number) {\r\n super(symbolObj, opacity);\r\n switch (this.symbolObj.type) {\r\n case 'esriSLS':\r\n let innerColor = _colorArrayToRgba(this.symbolObj.color, this.opacity);\r\n let lineWidth = this.symbolObj.width;\r\n\r\n this.olStyle = new ol.style.Style({\r\n stroke: new ol.style.Stroke({\r\n color: innerColor,\r\n //lineDash: [4],\r\n width: lineWidth\r\n })\r\n });\r\n\r\n this.legendHtml = `<span class=\"legend-layer-icon\" `;\r\n this.legendHtml += `style=\"`;\r\n this.legendHtml += `background-color: ${innerColor};`;\r\n this.legendHtml += `width: 40px;`;\r\n this.legendHtml += `height: 4px;`;\r\n this.legendHtml += `position: relative;`;\r\n this.legendHtml += `display: inline-block;`;\r\n this.legendHtml += `top: -1px;`;\r\n this.legendHtml += `\"></span>`;\r\n break;\r\n default:\r\n console.log(this.symbolObj);\r\n alert('Line symbol does not handle symbol type: ' + this.symbolObj['type']);\r\n }\r\n }\r\n}\r\n\r\nclass PolygonSymbol extends CommonSymbol {\r\n constructor(symbolObj: iEsriSymbol, opacity: number) {\r\n super(symbolObj, opacity);\r\n switch (this.symbolObj['type']) {\r\n case 'esriSFS':\r\n let innerColor = _colorArrayToRgba(this.symbolObj.color, this.opacity);\r\n let outerColor = _colorArrayToRgba(this.symbolObj.outline.color, this.opacity);\r\n let outlineWidth = this.symbolObj.outline.width;\r\n\r\n this.olStyle = new ol.style.Style({\r\n stroke: new ol.style.Stroke({\r\n color: outerColor,\r\n //lineDash: [4],\r\n width: outlineWidth\r\n }),\r\n fill: new ol.style.Fill({\r\n color: innerColor\r\n })\r\n });\r\n\r\n this.legendHtml = `<span class=\"legend-layer-icon\" `;\r\n this.legendHtml += `style=\"`;\r\n this.legendHtml += `background-color: ${innerColor};`;\r\n this.legendHtml += `border: solid ${outerColor} 1px;`;\r\n this.legendHtml += `width: 40px;`;\r\n this.legendHtml += `height: 9px;`;\r\n this.legendHtml += `position: relative;`;\r\n this.legendHtml += `display: inline-block;`;\r\n this.legendHtml += `top: 2px;`;\r\n this.legendHtml += `\"></span>`;\r\n break;\r\n\r\n default:\r\n console.log(this.symbolObj);\r\n alert('Polygon symbol does handle symbol type: ' + this.symbolObj['type']);\r\n }\r\n }\r\n}\r\n\r\nexport interface iStyleFunc{\r\n (f: ol.Feature): ol.style.Style| ol.style.Style[]\r\n}\r\n\r\nclass SymbolGenerator {\r\n opacity: number;\r\n renderer: iEsriRenderer;\r\n legendHtml: string;\r\n olStyle: iStyleFunc | ol.style.Style;\r\n\r\n constructor(esriResponse: iEsriResponse) {\r\n this.opacity = (100 - (esriResponse['drawingInfo']['transparency'] || 0)) / 100;\r\n this.renderer = esriResponse.drawingInfo.renderer;\r\n this.olStyle = undefined;\r\n this.legendHtml = '';\r\n }\r\n}\r\n\r\nclass SingleSymbol extends SymbolGenerator {\r\n symbol: iEsriSymbol;\r\n /**\r\n *\r\n * @param {object} esriResponse - layer info\r\n * @param SymbolClass - the symbol class to use\r\n */\r\n constructor(esriResponse: iEsriResponse, SymbolClass: ICommonSymbol) {\r\n super(esriResponse);\r\n this.symbol = this.renderer.symbol;\r\n let symbolObj = new SymbolClass(this.symbol, this.opacity);\r\n this.olStyle = symbolObj.olStyle;\r\n this.legendHtml = symbolObj.legendHtml;\r\n }\r\n}\r\n\r\nclass UniqueValueSymbol extends SymbolGenerator {\r\n\r\n propertyName: string;\r\n defaultSymbol: iEsriSymbol;\r\n defaultStyle: ol.style.Style;\r\n defaultLabelHtml: string;\r\n labelArray: Array<string>;\r\n legendArray: Array<string>;\r\n propertyStyleLookup: {[s: string]: ol.style.Style};\r\n valueArray: Array<any>;\r\n uniqueValueInfos: Array<{label: string, value: any, symbol: iEsriSymbol}>;\r\n\r\n /**\r\n *\r\n * @param {object} esriResponse - layer info\r\n * @param SymbolClass - the Symbol class definition\r\n */\r\n constructor(esriResponse: iEsriResponse, SymbolClass: ICommonSymbol) {\r\n super(esriResponse);\r\n this.uniqueValueInfos = this.renderer.uniqueValueInfos;\r\n this.propertyName = this.renderer.field1;\r\n this.defaultSymbol = this.renderer.defaultSymbol;\r\n\r\n\r\n if (this.defaultSymbol) {\r\n let symbolObj = new SymbolClass(this.defaultSymbol, this.opacity);\r\n this.defaultStyle = symbolObj.olStyle;\r\n this.defaultLabelHtml = `<span class=\"legend-layer-subitem\">${htmlEscape(this.renderer['defaultLabel'])}</span>` + symbolObj.legendHtml;\r\n } else {\r\n this.defaultStyle = undefined;\r\n this.defaultLabelHtml = 'other';\r\n }\r\n\r\n this.valueArray = [];\r\n this.labelArray = [];\r\n this.legendArray = [];\r\n this.propertyStyleLookup = {};\r\n\r\n for (let uniqueVal of this.uniqueValueInfos) {\r\n this.labelArray.push(uniqueVal['label']);\r\n this.valueArray.push(uniqueVal['value']);\r\n let uniqueSym = new SymbolClass(uniqueVal.symbol, this.opacity);\r\n this.legendArray.push(`<span class=\"legend-layer-subitem\">${htmlEscape(uniqueVal['label'])}</span>` + uniqueSym.legendHtml);\r\n this.propertyStyleLookup[uniqueVal['value']] = uniqueSym.olStyle;\r\n }\r\n\r\n this.olStyle = (feature: ol.Feature): ol.style.Style[] => {\r\n let checkProperties = feature.getProperties();\r\n let checkProperty = checkProperties[this.propertyName];\r\n\r\n if (this.propertyStyleLookup[checkProperty] !== undefined) {\r\n return [this.propertyStyleLookup[checkProperty]];\r\n } else {\r\n return [this.defaultStyle];\r\n }\r\n };\r\n\r\n if (this.defaultLabelHtml !== null) {\r\n this.legendArray.push(this.defaultLabelHtml);\r\n }\r\n\r\n this.legendHtml = '<ul>';\r\n for (let h of this.legendArray) {\r\n this.legendHtml += `<li>${h}</li>`;\r\n }\r\n this.legendHtml += '</ul>';\r\n }\r\n}\r\n\r\nexport function makeFeatureServiceLegendAndSymbol(esriResponse: iEsriResponse): {style: iStyleFunc | ol.style.Style, legend: string} {\r\n \"use strict\";\r\n let renderer = esriResponse.drawingInfo.renderer;\r\n let symbolLegendOut: SymbolGenerator = null;\r\n\r\n switch (renderer.type) {\r\n case 'simple':\r\n switch (esriResponse.geometryType) {\r\n case 'esriGeometryPoint':\r\n symbolLegendOut = new SingleSymbol(esriResponse, PointSymbol);\r\n break;\r\n case 'esriGeometryPolyline':\r\n symbolLegendOut = new SingleSymbol(esriResponse, LineSymbol);\r\n break;\r\n case 'esriGeometryPolygon':\r\n symbolLegendOut = new SingleSymbol(esriResponse, PolygonSymbol);\r\n break;\r\n default:\r\n console.log(esriResponse);\r\n alert(esriResponse.geometryType + ' not handled');\r\n }\r\n break;\r\n case 'uniqueValue':\r\n switch (esriResponse.geometryType) {\r\n case 'esriGeometryPoint':\r\n symbolLegendOut = new UniqueValueSymbol(esriResponse, PointSymbol);\r\n break;\r\n case 'esriGeometryPolyline':\r\n symbolLegendOut = new UniqueValueSymbol(esriResponse, LineSymbol);\r\n break;\r\n case 'esriGeometryPolygon':\r\n symbolLegendOut = new UniqueValueSymbol(esriResponse, PolygonSymbol);\r\n break;\r\n default:\r\n console.log(esriResponse);\r\n alert(esriResponse['geometryType'] + ' not handled');\r\n }\r\n break;\r\n default:\r\n alert('not handled renderer type: ' + renderer['type']);\r\n }\r\n\r\n if (symbolLegendOut == null) {\r\n return {style: undefined, legend: ''};\r\n } else {\r\n return {style: symbolLegendOut.olStyle, legend: symbolLegendOut.legendHtml};\r\n }\r\n}\r\n\r\nnm.makeFeatureServiceLegendAndSymbol = makeFeatureServiceLegendAndSymbol;\r\n\r\n\r\nexport interface iMapServiceLegend{\r\n layerName: string;\r\n legend: {label: string, imageData: string}[]\r\n}\r\n\r\n/**\r\n *\r\n * @param {object} lyrObject - the layer as defined in the response\r\n * @param {boolean} [skipLayerNameAndExpander=false] use only icons\r\n * @returns {string} legend html\r\n */\r\nfunction mapServiceLegendItem(lyrObject: iMapServiceLegend, skipLayerNameAndExpander: boolean = false) {\r\n\r\n\r\n skipLayerNameAndExpander = typeof skipLayerNameAndExpander == 'boolean' ? skipLayerNameAndExpander : false;\r\n let layerName = lyrObject['layerName'];\r\n let legendItems = lyrObject['legend'];\r\n let legendHtml = '';\r\n\r\n if (!skipLayerNameAndExpander) {\r\n legendHtml += `<span class=\"legend-layer-subitem\">${layerName}</span>`;\r\n }\r\n\r\n if (legendItems.length == 1) {\r\n legendHtml = `<img class=\"legend-layer-icon\" height=\"17\" src=\"data:image/png;base64,${legendItems[0]['imageData']}\">`;\r\n } else {\r\n if (!skipLayerNameAndExpander) {\r\n legendHtml += '<span class=\"legend-items-expander\" title=\"Expand/Collapse\">▼</span>';\r\n }\r\n legendHtml += '<ul>';\r\n for (let i = 0; i < legendItems.length; i++) {\r\n legendHtml += `<li>`;\r\n legendHtml += `<span class=\"legend-layer-subitem\">${htmlEscape(legendItems[i]['label'])}</span>`;\r\n legendHtml += `<img class=\"legend-layer-icon\" height=\"17\" src=\"data:image/png;base64,${legendItems[i]['imageData']}\">`;\r\n legendHtml += `</li>`;\r\n }\r\n legendHtml += '</ul>';\r\n }\r\n\r\n if (!skipLayerNameAndExpander) {\r\n legendHtml = `<span class=\"legend-layer-subitem\">${layerName}</span>` + legendHtml;\r\n }\r\n\r\n return legendHtml;\r\n}\r\n\r\n/**\r\n * make map service legent\r\n * @param {object} esriResponse - layer info\r\n * @param showLayers - limited number of layers to show in map service\r\n * @returns {string} legend content\r\n */\r\nexport function makeMapServiceLegend(esriResponse: {layers: iMapServiceLegend[]}, showLayers: number[] = []) {\r\n \"use strict\";\r\n\r\n let newLegendHtml = '';\r\n\r\n let layers = esriResponse['layers'];\r\n\r\n if (layers.length == 1) {\r\n newLegendHtml += mapServiceLegendItem(layers[0], true);\r\n } else {\r\n newLegendHtml += '<ul>';\r\n for (let i = 0; i < layers.length; i++) {\r\n if (showLayers.length > 0 && showLayers.indexOf(i) < 0){\r\n continue;\r\n }\r\n newLegendHtml += '<li>' + mapServiceLegendItem(layers[i]) + '</li>';\r\n }\r\n newLegendHtml += '</ul>';\r\n }\r\n\r\n return newLegendHtml;\r\n}\r\n\r\nnm.makeMapServiceLegend = makeMapServiceLegend;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/esriToOlStyle.ts","/**\r\n * Created by gavorhes on 11/3/2015.\r\n */\r\n\r\nimport provide from './provide';\r\nlet nm = provide('util');\r\n\r\n\r\n/**\r\n * guids are used to uniquely identify groups and features\r\n * @returns {string} a new guid\r\n */\r\nexport function makeGuid() {\r\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'\r\n .replace(/[xy]/g, function (c) {\r\n let r = Math.random() * 16 | 0, v = c == 'x' ? r : r & 0x3 | 0x8;\r\n\r\n return v.toString(16);\r\n });\r\n\r\n}\r\nnm.makeGuid = makeGuid;\r\nexport default makeGuid;\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/util/makeGuid.ts","/**\r\n * Created by gavorhes on 11/3/2015.\r\n */\r\n\r\nimport MapPopupCls from './mapPopupCls';\r\n\r\n/**\r\n * The single popup object catch is that it is common to multimap pages\r\n * @type {MapPopupCls}\r\n */\r\nexport const mapPopup = new MapPopupCls() as MapPopupCls;\r\nexport default mapPopup;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/mapPopup.ts","/**\r\n * Created by gavorhes on 12/16/2015.\r\n */\r\n\r\nimport provide from '../util/provide';\r\nimport makeGuid from '../util/makeGuid';\r\nimport mapMove from '../olHelpers/mapMove';\r\n\r\nlet nm = provide('collections');\r\nimport $ = require('jquery');\r\nimport {LayerBase} from \"../layers\";\r\n\r\nexport interface iLegendItem{\r\n groupName: string;\r\n collapse?: boolean;\r\n addCheck?: boolean;\r\n items: Array<iLegendItem|LayerBase>\r\n}\r\n\r\nexport interface iLegendOptions{\r\n layerDivClasses?: string[]\r\n legendTitle?: string\r\n scaleDependent?: boolean\r\n}\r\n\r\nclass LayerGroup {\r\n groupLayers: any;\r\n groupLayersLookup: any;\r\n groupGroupsLookup: any;\r\n groupGroups: any;\r\n itemIdArray: any;\r\n groupId: any;\r\n groupName: any;\r\n allLayerArray: any;\r\n parent: any;\r\n allGroupArray: any;\r\n allGroupLookup: any;\r\n allLayerLookup: any;\r\n collapse: boolean;\r\n addCheck: boolean;\r\n layerParentLookup: any;\r\n\r\n /**\r\n *\r\n * @param {object} [groupConfig={}] - group configuration object\r\n * @param {string} groupConfig.groupName - the group name\r\n * @param {boolean} [groupConfig.collapse=false] - if the group should be collapsed initially\r\n * @param {boolean} [groupConfig.addCheck=true] - if the group should have a checkbox controlling visibility of all layers\r\n * @param {LayerGroup} [parent=undefined] - the parent group\r\n */\r\n constructor(groupConfig?: iLegendItem, parent?: LayerGroup) {\r\n this.groupLayers = [];\r\n this.groupLayersLookup = {};\r\n this.groupGroups = [];\r\n this.groupGroupsLookup = {};\r\n this.itemIdArray = [];\r\n\r\n if (typeof groupConfig == 'undefined') {\r\n this.parent = null;\r\n this.groupId = 'root';\r\n this.groupName = 'root';\r\n this.allGroupLookup = {root: this};\r\n this.allGroupArray = [this];\r\n this.allLayerArray = [];\r\n this.allLayerLookup = {};\r\n this.layerParentLookup = {};\r\n this.collapse = false;\r\n this.addCheck = false;\r\n } else {\r\n this.groupId = makeGuid();\r\n this.parent = parent;\r\n this.groupName = groupConfig.groupName;\r\n this.collapse = typeof groupConfig.collapse == 'boolean' ? groupConfig.collapse : false;\r\n this.addCheck = typeof groupConfig.addCheck == 'boolean' ? groupConfig.addCheck : true;\r\n }\r\n }\r\n\r\n /**\r\n *\r\n * @param {object} groupConfig - configuration object\r\n * @param {string} groupConfig.groupName - the group name\r\n * @param {boolean} groupConfig.collapse if the group should be collapsed initially\r\n * @param {boolean} groupConfig.addCheck if the group should have a checkbox controlling visibility of all layers\r\n * @param {Array<LayerGroup>} parents parent groups\r\n * @returns {LayerGroup} the layer group just added\r\n */\r\n addGroup(groupConfig: iLegendItem, parents: string[]) {\r\n let parent;\r\n if (parents.length > 0) {\r\n parent = parents[parents.length - 1];\r\n } else {\r\n parent = 'root';\r\n }\r\n\r\n\r\n /**\r\n * @type {LayerGroup}\r\n */\r\n let parentGroup = this.allGroupLookup[parent];\r\n let newGroup = new LayerGroup(groupConfig, parentGroup);\r\n this.allGroupLookup[newGroup.groupId] = newGroup;\r\n this.allGroupArray.push(newGroup);\r\n\r\n parentGroup.groupGroups.push(newGroup);\r\n parentGroup.groupGroupsLookup[newGroup.groupId] = newGroup;\r\n\r\n if (parentGroup.itemIdArray.indexOf(newGroup.groupId) > 0) {\r\n console.log(newGroup.groupId);\r\n throw 'layer and group ids must be unique';\r\n }\r\n parentGroup.itemIdArray.push(newGroup.groupId);\r\n\r\n return newGroup;\r\n }\r\n\r\n /**\r\n *\r\n * @param {LayerBase} newLayer the layer to be added\r\n * @param {Array} parents array\r\n */\r\n addLegendLayer(newLayer: LayerBase, parents: string[]) {\r\n let parent;\r\n if (parents.length > 0) {\r\n parent = parents[parents.length - 1];\r\n } else {\r\n parent = 'root';\r\n }\r\n\r\n this.allLayerLookup[newLayer.id] = newLayer;\r\n this.allLayerArray.push(newLayer);\r\n\r\n /**\r\n * @type {LayerGroup}\r\n */\r\n let parentGroup = this.allGroupLookup[parent];\r\n\r\n parentGroup.groupLayers.push(newLayer);\r\n parentGroup.groupLayersLookup[newLayer.id] = newLayer;\r\n if (parentGroup.itemIdArray.indexOf(newLayer.id) > 0) {\r\n console.log(newLayer.id);\r\n throw 'layer and group ids must be unique';\r\n }\r\n parentGroup.itemIdArray.push(newLayer.id);\r\n\r\n this.layerParentLookup[newLayer.id] = parentGroup;\r\n\r\n }\r\n\r\n\r\n\r\n getLegendHtml(legendId: string, options: iLegendOptions) {\r\n\r\n\r\n let legendHtml = `<ul id=\"${legendId}\" class=\"legend-container\">`;\r\n\r\n legendHtml += `<li>${options.legendTitle}<input type=\"checkbox\" checked id=\"suppress-by-extent-${legendId}\" class=\"suppress-by-extent\">` +\r\n `<label title=\"Suppress layers not visible at this zoom level\" for=\"suppress-by-extent-${legendId}\">` +\r\n `<span></span>` +\r\n `</label></li>`;\r\n\r\n legendHtml += this._buildLegend(this.itemIdArray, this, options.layerDivClasses) + '</ul>';\r\n\r\n return legendHtml;\r\n }\r\n\r\n /**\r\n * @param {Array} itemIds the items to process\r\n * @param {LayerGroup} theGroup new group\r\n * @param {Array} [layerDivClasses=[]] optional classes to apply to the layer divs\r\n * @static\r\n * @returns {string} html string\r\n */\r\n _buildLegend(itemIds: string[], theGroup: LayerGroup, layerDivClasses: string[]): string {\r\n\r\n if (itemIds.length == 0) {\r\n return '';\r\n }\r\n\r\n let theHml = '';\r\n\r\n let itemId = itemIds[0];\r\n\r\n if (theGroup.groupLayersLookup[itemId]) {\r\n\r\n /**\r\n * @type {LayerBase}\r\n */\r\n let lyr = theGroup.groupLayersLookup[itemId];\r\n theHml += `<li id=\"${lyr.id}-layer-li\" class=\"legend-layer-li ${layerDivClasses.join(' ')}\">` + lyr.getLegendDiv() + '</li>';\r\n\r\n\r\n } else if (theGroup.groupGroupsLookup[itemId]) {\r\n /**\r\n * type {LayerGroup}\r\n */\r\n let otherGroup = theGroup.groupGroupsLookup[itemId];\r\n\r\n theHml += `<li>`;\r\n theHml += `<div id=\"${otherGroup.groupId}-legend-layer-div\" ` +\r\n `class=\"legend-layer-group ${layerDivClasses.join(' ')}\">`;\r\n\r\n if (otherGroup.addCheck) {\r\n theHml += `<input type=\"checkbox\" checked id=\"${otherGroup.groupId}-group-chck\">` +\r\n `<label for=\"${otherGroup.groupId}-group-chck\" title=\"Click arrow to expand or collapse\">${otherGroup.groupName}</label>`;\r\n } else {\r\n theHml += `<label title=\"Click arrow to expand or collapse\">${otherGroup.groupName}</label>`;\r\n }\r\n\r\n theHml += `<span title=\"Expand/Collapse\" class=\"layer-group-expander`;\r\n theHml += `${otherGroup.collapse ? ' legend-layer-group-initial-collapse' : ''}\">`;\r\n theHml += otherGroup.collapse ? '▶' : '▼';\r\n theHml += '</span>';\r\n\r\n //parents.push(groupId);\r\n theHml += '<ul>' + this._buildLegend(otherGroup.itemIdArray, otherGroup, layerDivClasses) + '</ul>';\r\n theHml += '</div>';\r\n theHml += '</li>';\r\n }\r\n\r\n return theHml + this._buildLegend(itemIds.slice(1), theGroup, layerDivClasses);\r\n }\r\n}\r\n\r\n\r\n/**\r\n * a wrapper to make a legend\r\n */\r\nexport class LayerLegend {\r\n\r\n $divElement: JQuery;\r\n _legendItems: Array<iLegendItem|LayerBase>;\r\n layerGroup: any;\r\n legendId: string;\r\n\r\n /**``\r\n *\r\n * @param {Array} legendItems array of layers or objects with {groupName: {string}, collapse: {boolean}, addCheck: {boolean}, items: {Array}}\r\n * @param {string} divId the div where the legend should be added\r\n * @param {object} options for legend\r\n * @param {Array} [options.layerDivClasses=[]] optional array of classes to be applied to the layer legend divs for custom styling\r\n * @param {string} [options.legendTitle=Legend] the legend title\r\n * @param {boolean} [options.scaleDependent=true] if legend display is scale dependent\r\n */\r\n constructor(legendItems: Array<iLegendItem|LayerBase>, divId: string, options: iLegendOptions = {}) {\r\n for (let i of legendItems) {\r\n if (typeof i == 'undefined') {\r\n throw 'undefined item passed in array to legend constructor';\r\n }\r\n }\r\n\r\n options.legendTitle = typeof options.legendTitle == 'string' ? options.legendTitle : 'Legend';\r\n options.scaleDependent = typeof options.scaleDependent == 'boolean' ? options.scaleDependent : true;\r\n options.layerDivClasses = options.layerDivClasses || [];\r\n\r\n // if legend display is scale dependent, make sure the mapMove object is initialized first\r\n if (options.scaleDependent) {\r\n mapMove.checkInit();\r\n }\r\n\r\n this.$divElement = $('#' + divId);\r\n\r\n this._legendItems = legendItems;\r\n\r\n this.layerGroup = new LayerGroup();\r\n\r\n this._buildTree(legendItems);\r\n\r\n this.legendId = makeGuid();\r\n\r\n this.$divElement.append(this.layerGroup.getLegendHtml(this.legendId, options));\r\n\r\n for (let l of this.layerGroup.allLayerArray){\r\n l.applyCollapse();\r\n }\r\n\r\n let _this = this;\r\n //// if legend display is scale dependent, make sure the mapMove object is initialized first\r\n if (options.scaleDependent) {\r\n mapMove.checkInit();\r\n\r\n mapMove.addCallback(function (ext, zoom, evt) {\r\n\r\n if (typeof evt == 'undefined' || evt == 'change:resolution') {\r\n for (let lyr of this.layerGroup.allLayerArray) {\r\n let $lyrLi = $('#' + lyr.id + '-layer-li');\r\n if (zoom > lyr.maxZoom || zoom < lyr.minZoom) {\r\n $lyrLi.addClass('layer-not-visible');\r\n } else {\r\n $lyrLi.removeClass('layer-not-visible');\r\n }\r\n }\r\n }\r\n }, this, 100, true, 'legend1');\r\n }\r\n\r\n // <editor-fold desc=\"add event listeners\">\r\n\r\n this.$divElement.find(\".suppress-by-extent\").change(function () {\r\n let legendLayerLis = $('.legend-layer-li');\r\n if (this.checked) {\r\n legendLayerLis.removeClass('layer-force-show');\r\n } else {\r\n legendLayerLis.addClass('layer-force-show');\r\n }\r\n });\r\n\r\n this.$divElement.find('.legend-check').change(function () {\r\n let lyrId = this.id.replace('-legend-layer-check', '');\r\n _this.layerGroup.allLayerLookup[lyrId].visible = this.checked;\r\n });\r\n\r\n this.$divElement.find('.legend-layer-group > input[type=checkbox]').change(function () {\r\n $(this).siblings('ul').find('input[type=checkbox]').prop('checked', this.checked).trigger('change');\r\n });\r\n\r\n this.$divElement.find('.layer-group-expander').click(function () {\r\n let $this = $(this);\r\n $this.removeClass('legend-layer-group-initial-collapse');\r\n\r\n $this.siblings('ul').slideToggle();\r\n\r\n if ($this.hasClass('legend-layer-group-collapsed')){\r\n $this.removeClass('legend-layer-group-collapsed');\r\n $this.html('▼');\r\n } else {\r\n $this.addClass('legend-layer-group-collapsed');\r\n $this.html('▶');\r\n }\r\n });\r\n\r\n this.$divElement.find('.legend-layer-group-initial-collapse').trigger('click');\r\n // </editor-fold>\r\n }\r\n\r\n\r\n /**\r\n * @param {Array} [legendItems=this._layerConfig] the legend items\r\n * @param {Array} [parents=[]] the ordered list of groups in which this item is a member\r\n * @private\r\n */\r\n _buildTree(legendItems: Array<iLegendItem|LayerBase>, parents?: string[]) {\r\n\r\n if (legendItems.length == 0) {\r\n return;\r\n }\r\n\r\n let oneItem = legendItems[0];\r\n\r\n //reset the parent if the item is in the base array\r\n if ((this._legendItems as Array<any>).indexOf(oneItem) > -1 || typeof parents == 'undefined') {\r\n parents = [];\r\n }\r\n\r\n if (typeof (oneItem as iLegendItem).groupName !== 'undefined') {\r\n let groupItem = legendItems[0];\r\n let newGroup = this.layerGroup.addGroup(groupItem, parents);\r\n parents.push(newGroup.groupId);\r\n this._buildTree((oneItem as iLegendItem).items, parents);\r\n } else {\r\n /**\r\n * @type {LayerBase}\r\n */\r\n let layerItem: LayerBase = legendItems[0] as LayerBase;\r\n\r\n this.layerGroup.addLegendLayer(layerItem, parents);\r\n }\r\n\r\n this._buildTree(legendItems.slice(1), parents);\r\n }\r\n}\r\n\r\nnm.LayerLegend = LayerLegend;\r\nexport default LayerLegend;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/collections/LayerLegend.ts","/**\r\n * Created by gavorhes on 12/8/2015.\r\n */\r\nimport provide from '../util/provide';\r\nimport ol = require('custom-ol');\r\nconst nm = provide('olHelpers');\r\n\r\n\r\n\r\n/**\r\n * base interaction\r\n */\r\nexport class MapInteractionBase {\r\n _map: ol.Map;\r\n _initialized: boolean;\r\n _subtype: string;\r\n\r\n /**\r\n * map interaction base\r\n * @param subtype - the interaction subtype\r\n */\r\n constructor(subtype: string) {\r\n this._map = null;\r\n this._initialized = false;\r\n this._subtype = subtype;\r\n }\r\n\r\n /**\r\n * base initializer, returns true for already initialized\r\n * @param theMap - the ol Map\r\n * @returns true for already initialized\r\n */\r\n init(theMap: ol.Map){\r\n if (!this._initialized){\r\n this._map = theMap;\r\n this._initialized = true;\r\n }\r\n }\r\n\r\n /**\r\n * get reference to the ol map object\r\n * @returns {ol.Map} the map object\r\n */\r\n get map() {\r\n return this._map;\r\n }\r\n\r\n /**\r\n * get if is initialized\r\n * @returns {boolean} is initialized\r\n */\r\n get initialized() {\r\n return this._initialized;\r\n }\r\n\r\n /**\r\n * Check the initialization status and throw exception if not valid yet\r\n * @protected\r\n */\r\n _checkInit() {\r\n if (!this.initialized) {\r\n let msg = `${this._subtype} object not initialized`;\r\n alert(msg);\r\n console.log(msg);\r\n throw msg;\r\n }\r\n }\r\n\r\n /**\r\n * Check the initialization status and throw exception if not valid yet\r\n */\r\n checkInit(){\r\n this._checkInit();\r\n }\r\n}\r\n\r\nnm.MapInteractionBase = MapInteractionBase;\r\nexport default MapInteractionBase;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/mapInteractionBase.ts","/**\r\n * Created by gavorhes on 11/3/2015.\r\n */\r\n\r\nimport MapMoveCls from './mapMoveCls';\r\n\r\n/**\r\n * The single map move object catch is that it is common to multimap pages\r\n * @type {MapMoveCls}\r\n */\r\n\r\nexport const mapMove = new MapMoveCls();\r\nexport default mapMove;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/mapMove.ts","/**\r\n * Created by gavorhes on 12/15/2015.\r\n */\r\n\r\nimport {quickMapOptions, quickMapBase} from './quickMapBase';\r\nimport provide from '../util/provide';\r\nimport mapMove from './mapMove';\r\nimport mapPopup from './mapPopup';\r\nimport ol = require('custom-ol');\r\nlet nm = provide('olHelpers');\r\n\r\nexport {quickMapOptions} from './quickMapBase';\r\n\r\n/**\r\n * Sets up a map with some default parameters and initializes\r\n * mapMove and mapPopup\r\n *\r\n * @param {object} [options={}] config options\r\n * @param {string} [options.divId=map] map div id\r\n * @param {object} [options.center={}] center config object\r\n * @param {number} [options.center.x=-10018378] center x, web mercator x or lon\r\n * @param {number} [options.center.y=5574910] center y, web mercator y or lat\r\n * @param {number} [options.zoom=7] zoom level\r\n * @param {number} [options.minZoom=undefined] min zoom\r\n * @param {number} [options.maxZoom=undefined] max zoom\r\n * @param {boolean} [options.baseSwitcher=true] if add base map switcher\r\n * @param {boolean} [options.fullScreen=false] if add base map switcher\r\n * @returns {ol.Map} the ol map\r\n */\r\nexport function quickMap(options : quickMapOptions = {}): ol.Map {\r\n let m = quickMapBase(options);\r\n mapMove.init(m);\r\n mapPopup.init(m);\r\n return m;\r\n}\r\n\r\n\r\nnm.quickMap = quickMap;\r\nexport default quickMap;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/quickMap.ts","/**\r\n * Created by gavorhes on 9/23/2016.\r\n */\r\nimport {quickMap} from '../../olHelpers/quickMap';\r\nimport {LayerEsriMapServer} from \"../../layers/LayerEsriMapServer\";\r\nimport LayerLegend from '../../collections/LayerLegend';\r\n\r\n\r\nlet map = quickMap();\r\n\r\nlet wisDotRegions = new LayerEsriMapServer(\r\n 'http://transportal.cee.wisc.edu/applications/arcgis2/rest/services/MetaManager/Metamanager_regions/MapServer');\r\n\r\nlet sixYearPlan = new LayerEsriMapServer(\r\n 'http://transportal.cee.wisc.edu/applications/arcgis2/rest/services/MetaManager/SixYearPlan/MapServer', {name: 'Six Year Plan', legendCollapse: true});\r\n\r\nmap.addLayer(wisDotRegions.olLayer);\r\nmap.addLayer(sixYearPlan.olLayer);\r\n\r\nlet layerArray = [\r\n wisDotRegions,\r\n sixYearPlan\r\n // tipConfig.tipSegmentLayer,\r\n // tipConfig.metamanagerSegments,\r\n // {\r\n // groupName: 'ITS Inventory Layers',\r\n // collapse: true,\r\n // addCheck: false,\r\n // items: tipConfig.itsLayerCollection.layers\r\n // }\r\n];\r\n\r\nlet legend = new LayerLegend(layerArray, 'legend-container', {});\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/_tests/demos/simple_map.ts","/**\r\n * Created by gavorhes on 10/3/2016.\r\n */\r\nimport ol = require('custom-ol');\r\n\r\n\r\nexport const proj4326 = new ol.proj.Projection({code: 'EPSG:4326'});\r\nexport const proj3857 = new ol.proj.Projection({code: 'EPSG:3857'});\r\nexport const proj3070 = new ol.proj.Projection({code: 'EPSG:3070'});\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/projections.ts"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/bootstrap 85176672b243dd643c6c?aa7c*****","webpack:///./src/util/provide.ts?5c82***","webpack:///external \"$\"?57aa***","webpack:///./src/layers/LayerBase.ts?bf94*","webpack:///./src/olHelpers/geocode.ts?5a2f*","webpack:///./src/olHelpers/mapMoveCls.ts?cd45*","webpack:///./src/olHelpers/mapPopupCls.ts?e3f7*","webpack:///./src/olHelpers/quickMapBase.ts?fb65*","webpack:///external \"ol\"?81ed*","webpack:///./src/layers/LayerEsriMapServer.ts?9c85","webpack:///./src/olHelpers/zoomResolutionConvert.ts?dd4b*","webpack:///./src/olHelpers/esriToOlStyle.ts?9363","webpack:///./src/util/makeGuid.ts?e80e***","webpack:///./src/olHelpers/mapInteractionBase.ts?f419*","webpack:///./src/collections/LayerLegend.ts?9de6","webpack:///./src/olHelpers/mapPopup.ts?5d6c*","webpack:///./src/olHelpers/quickMap.ts?1069*","webpack:///./src/olHelpers/mapMove.ts?6a2b*","webpack:///./src/_tests/demos/simple_map.ts","webpack:///./src/olHelpers/projections.ts?804b*","webpack:///./src/util/checkDefined.ts?bcd7*"],"names":[],"mappings":"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","file":"simple_map.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 77);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 85176672b243dd643c6c","/**\r\n * Created by gavorhes on 12/10/2015.\r\n */\r\n\r\ndeclare const window: Window;\r\n/**\r\n * create a namespace on the gv object\r\n * @param {string} namespace to create\r\n * @returns {object} object representing the namespace\r\n */\r\nfunction provide(namespace: string){\r\n \"use strict\";\r\n if (typeof (<any>window).gv == 'undefined'){\r\n (<any>window).gv = {};\r\n }\r\n\r\n let parts = namespace.split('.');\r\n let nameSpace = (<any>window).gv;\r\n\r\n for (let i=0; i< parts.length; i++){\r\n let newObject = nameSpace[parts[i]];\r\n\r\n if (typeof newObject == 'undefined'){\r\n nameSpace[parts[i]] = {};\r\n }\r\n\r\n nameSpace = nameSpace[parts[i]];\r\n }\r\n\r\n return nameSpace;\r\n}\r\n\r\nprovide('util');\r\n(<any>window).gv.util.provide = provide;\r\n\r\nexport default provide;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/util/provide.ts","module.exports = $;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"$\"\n// module id = 1\n// module chunks = 0 1 2 4 5 6 7 8 9 10","import * as zoomResolutionConvert from '../olHelpers/zoomResolutionConvert';\r\nimport provide from '../util/provide';\r\nimport ol = require('custom-ol');\r\nimport makeGuid from '../util/makeGuid';\r\nimport $ = require('jquery');\r\n\r\nconst nm = provide('layers');\r\n\r\n\r\nexport interface LayerBaseOptions{\r\n id?: string;\r\n name?: string;\r\n opacity?: number;\r\n visible?: boolean;\r\n minZoom?: number;\r\n maxZoom?: number;\r\n params?: any;\r\n zIndex?: number;\r\n loadCallback?: Function;\r\n legendCollapse?: boolean;\r\n legendCheckbox?: boolean;\r\n legendContent?: string;\r\n}\r\n\r\n\r\n/**\r\n * The base layer class\r\n * @abstract\r\n */\r\nexport abstract class LayerBase {\r\n\r\n protected _legendCheckbox: boolean;\r\n protected _url: string;\r\n protected _opacity: number;\r\n protected _minZoom: number;\r\n protected _maxZoom: number;\r\n protected _visible: boolean;\r\n protected _loaded: boolean;\r\n protected _zIndex: number;\r\n protected _legendContent: string;\r\n protected _params: any;\r\n protected _id: string;\r\n protected _name: string;\r\n protected _source: ol.source.Source;\r\n protected _animate: boolean;\r\n protected _legendCollapse: boolean;\r\n protected _maxResolution: number;\r\n protected _minResolution: number;\r\n protected _$legendDiv: JQuery;\r\n loadCallback: Function;\r\n protected _olLayer: ol.layer.Layer;\r\n protected _applyCollapseCalled: boolean;\r\n\r\n\r\n\r\n /**\r\n * The base layer for all others\r\n * @param {string} url - url for source\r\n * @param {object} options - config\r\n * @param {string} [options.id=makeGuid()] - layer id\r\n * @param {string} [options.name=Unnamed Layer] - layer name\r\n * @param {number} [options.opacity=1] - opacity\r\n * @param {boolean} [options.visible=true] - default visible\r\n * @param {number} [options.minZoom=undefined] - min zoom level, 0 - 28\r\n * @param {number} [options.maxZoom=undefined] - max zoom level, 0 - 28\r\n * @param {object} [options.params={}] - the get parameters to include to retrieve the layer\r\n * @param {number} [options.zIndex=0] - the z index for the layer\r\n * @param {function} [options.loadCallback] - function to call on load, context this is the layer object\r\n * @param {boolean} [options.legendCollapse=false] - if the legend item should be initially collapsed\r\n * @param {boolean} [options.legendCheckbox=true] - if the legend item should have a checkbox for visibility\r\n * @param {boolean} [options.legendContent=undefined] - additional content to add to the legend\r\n */\r\n constructor(url: string, options: LayerBaseOptions = {}) {\r\n options = options || {} as LayerBaseOptions;\r\n\r\n if (typeof url !== 'string') {\r\n throw 'Invalid URL';\r\n }\r\n this._url = url;\r\n\r\n\r\n this._params = typeof options.params == 'object' ? options.params : {};\r\n this._legendCollapse = typeof options.legendCollapse == 'boolean' ? options.legendCollapse : false;\r\n this._legendCheckbox = typeof options.legendCheckbox == 'boolean' ? options.legendCheckbox : true;\r\n\r\n this.id = options.id || makeGuid();\r\n this._name = options.name || 'Unnamed Layer';\r\n this.animate = false;\r\n this._opacity = typeof options.opacity == 'number' ? options.opacity : 1;\r\n\r\n if (this._opacity > 1) {\r\n this._opacity = 1;\r\n } else if (this._opacity < 0) {\r\n this._opacity = 0;\r\n }\r\n\r\n this._visible = typeof options.visible === 'boolean' ? options.visible : true;\r\n\r\n this._source = undefined;\r\n\r\n /**\r\n *\r\n * @protected\r\n */\r\n this._olLayer = undefined;\r\n this._loaded = false;\r\n\r\n this._maxResolution = zoomResolutionConvert.zoomToResolution(options.minZoom);\r\n if (typeof this._maxResolution !== 'undefined') {\r\n this._maxResolution += 0.00001;\r\n }\r\n this._minResolution = zoomResolutionConvert.zoomToResolution(options.maxZoom);\r\n\r\n this._minZoom = typeof options.minZoom == 'number' ? options.minZoom : undefined;\r\n this._maxZoom = typeof options.maxZoom == 'number' ? options.maxZoom : undefined;\r\n this._zIndex = typeof options.zIndex == 'number' ? options.zIndex : 0;\r\n\r\n this.loadCallback = typeof options.loadCallback == 'function' ? options.loadCallback : function () {\r\n };\r\n\r\n\r\n this._legendContent = '';\r\n\r\n if (this._legendCheckbox) {\r\n this._legendContent += `<input type=\"checkbox\" ${this.visible ? 'checked' : ''} ` +\r\n `class=\"legend-check\" id=\"${this.id}-legend-layer-check\"><span></span>`;\r\n this._legendContent += `<label for=\"${this.id}-legend-layer-check\" class=\"legend-layer-name\">${this.name}</label>`;\r\n } else {\r\n this._legendContent += `<label class=\"legend-layer-name\">${this.name}</label>`;\r\n }\r\n\r\n this._$legendDiv = null;\r\n this._applyCollapseCalled = false;\r\n this._addLegendContent(typeof options.legendContent === 'string' ? options.legendContent : undefined);\r\n }\r\n\r\n /**\r\n * base load function, sets _loaded = true if it is not already\r\n * @protected\r\n * @returns {boolean} if already loaded\r\n */\r\n _load() {\r\n if (this.loaded == true) {\r\n return true;\r\n } else {\r\n this._loaded = true;\r\n\r\n return false;\r\n }\r\n }\r\n\r\n /**\r\n * Get the legend html, be sure to only add to the DOM once\r\n * @returns {string} html for layer wrapped in a div\r\n */\r\n getLegendDiv() {\r\n return `<div class=\"legend-layer-div\" id=\"${this.id}-legend-layer-div\">${this._legendContent}</div>`;\r\n }\r\n\r\n /**\r\n *\r\n * @param additionalContent - additional content to add to legend\r\n * @private\r\n */\r\n _addLegendContent(additionalContent='') {\r\n\r\n let addCollapse = additionalContent.indexOf('<ul>') > -1;\r\n\r\n if (addCollapse) {\r\n additionalContent = '<span class=\"legend-items-expander\" title=\"Expand/Collapse\">▼</span>' + additionalContent;\r\n }\r\n\r\n this._legendContent += additionalContent;\r\n\r\n this._$legendDiv = $(`#${this.id}-legend-layer-div`);\r\n\r\n if (this._$legendDiv.length > 0) {\r\n this._$legendDiv.append(additionalContent);\r\n this.applyCollapse();\r\n }\r\n }\r\n\r\n /**\r\n * add additional content to the legend\r\n * @param {string} [additionalContent=] - additonal content to add\r\n */\r\n addLegendContent(additionalContent: string) {\r\n this._addLegendContent(additionalContent);\r\n }\r\n\r\n applyCollapse(): void {\r\n if (this._applyCollapseCalled) {\r\n console.log('collapse already applied');\r\n\r\n return undefined;\r\n }\r\n\r\n this._$legendDiv = $(`#${this.id}-legend-layer-div`);\r\n\r\n if (this._$legendDiv.length > 0) {\r\n\r\n let $expander = this._$legendDiv.find('.legend-items-expander');\r\n\r\n if ($expander.length > 0) {\r\n this._applyCollapseCalled = true;\r\n\r\n $expander.click(function () {\r\n let $this = $(this);\r\n\r\n $this.siblings('ul').slideToggle();\r\n\r\n if ($this.hasClass('legend-layer-group-collapsed')) {\r\n $this.removeClass('legend-layer-group-collapsed');\r\n $this.html('▼');\r\n } else {\r\n $this.addClass('legend-layer-group-collapsed');\r\n $this.html('▶');\r\n }\r\n });\r\n\r\n if (this._legendCollapse) {\r\n $expander.trigger('click');\r\n }\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * trick to refresh the layer\r\n */\r\n refresh() {\r\n if (this.source) {\r\n this.source.refresh();\r\n }\r\n }\r\n\r\n get id(): string{\r\n return this._id;\r\n }\r\n\r\n set id(newId: string){\r\n this._id = newId;\r\n }\r\n\r\n get animate(): boolean{\r\n return this._animate;\r\n }\r\n\r\n set animate(animate: boolean){\r\n this._animate = animate;\r\n }\r\n\r\n /**\r\n * get the legend content\r\n * @type {string}\r\n */\r\n get legendContent(): string {\r\n return this._legendContent;\r\n }\r\n\r\n /**\r\n * set the legend content directly\r\n * @param {string} newVal - new content\r\n * @protected\r\n */\r\n set legendContent(newVal: string) {\r\n this._legendContent = newVal;\r\n }\r\n\r\n /**\r\n * get the map get params\r\n * @type {object}\r\n */\r\n get params(): {[s: string]: any} {\r\n return this._params;\r\n }\r\n\r\n /**\r\n * set the map get params\r\n * @param {object} newParams - new get params\r\n * @protected\r\n */\r\n set params(newParams: {[s: string]: any}) {\r\n this._params = newParams;\r\n }\r\n\r\n /**\r\n * get the minimum resolution\r\n * @type {number|*}\r\n */\r\n get minResolution(): number {\r\n return this._minResolution;\r\n }\r\n\r\n /**\r\n * get the maximum resolution\r\n * @type {number|*}\r\n */\r\n get maxResolution(): number {\r\n return this._maxResolution;\r\n }\r\n\r\n /**\r\n * get min zoom\r\n * @type {number|*}\r\n */\r\n get minZoom(): number {\r\n return this._minZoom;\r\n }\r\n\r\n /**\r\n * get max zoom\r\n * @type {number|*}\r\n */\r\n get maxZoom(): number {\r\n return this._maxZoom;\r\n }\r\n\r\n /**\r\n * get the url\r\n * @type {string}\r\n */\r\n get url(): string {\r\n return this._url;\r\n }\r\n\r\n /**\r\n * Get the layer visibility\r\n * @type {boolean}\r\n */\r\n get visible(): boolean {\r\n return this._visible;\r\n }\r\n\r\n /**\r\n * set the visibility\r\n * @param visibility\r\n */\r\n set visible(visibility: boolean) {\r\n this.setVisible(visibility);\r\n }\r\n\r\n protected setVisible(visibility: boolean) {\r\n this._visible = visibility;\r\n if (this.olLayer) {\r\n this.olLayer.setVisible(this._visible);\r\n if (visibility && !this._loaded) {\r\n this._load();\r\n }\r\n }\r\n }\r\n\r\n\r\n /**\r\n * Get the layer opacity\r\n * @type {number}\r\n */\r\n get opacity(): number {\r\n return this._opacity;\r\n }\r\n\r\n /**\r\n * Set the layer opacity\r\n * @param {number} opacity - layer opacity\r\n */\r\n set opacity(opacity: number) {\r\n this._opacity = opacity;\r\n if (this.olLayer) {\r\n this.olLayer.setOpacity(this._opacity);\r\n }\r\n }\r\n\r\n /**\r\n * Get the layer name\r\n * @type {string}\r\n */\r\n get name(): string {\r\n return this._name;\r\n }\r\n\r\n /**\r\n * set the layer name\r\n * @param {string} newName - the new name\r\n */\r\n set name(newName: string) {\r\n this._name = newName;\r\n }\r\n\r\n /**\r\n * Check if the layer is loaded\r\n * @type {boolean}\r\n */\r\n get loaded():boolean {\r\n return this._loaded;\r\n }\r\n\r\n /**\r\n * get the layer source\r\n * @type {*}\r\n */\r\n get source(): ol.source.Source {\r\n return this.getSource();\r\n }\r\n\r\n\r\n protected getSource(): ol.source.Source{\r\n return this._source;\r\n }\r\n\r\n /**\r\n * get the z index\r\n */\r\n get zIndex(): number {\r\n return this._zIndex;\r\n }\r\n\r\n /**\r\n * set the z index\r\n */\r\n set zIndex(newZ: number) {\r\n this._zIndex = newZ;\r\n }\r\n\r\n protected setZIndex(newZ: number){\r\n\r\n }\r\n\r\n /**\r\n * the the ol layer\r\n */\r\n get olLayer(): ol.layer.Layer {\r\n return this.getOlLayer();\r\n }\r\n\r\n protected getOlLayer(): ol.layer.Layer{\r\n return this._olLayer;\r\n }\r\n}\r\n\r\nnm.LayerBase = LayerBase;\r\nexport default LayerBase;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/layers/LayerBase.ts","import $ = require('jquery')\r\nimport {makeGuid} from '../util/makeGuid';\r\nimport ol = require('custom-ol');\r\nimport {proj3857, proj4326} from './projections';\r\n\r\n\r\nlet invalidClass = 'geocoder-invalid';\r\nlet geocoderLoadingClass = 'geocoder-loading';\r\n\r\n// let testAddress = '65 7th Street, Prairie du Sac, WI';\r\n\r\n\r\nexport class Geocode {\r\n private theButton: HTMLButtonElement;\r\n private theInput: HTMLInputElement;\r\n private map: ol.Map;\r\n private indicationLayer;\r\n\r\n constructor(mapDiv: HTMLDivElement, map: ol.Map) {\r\n let inputGuid = makeGuid();\r\n let buttonGuid = makeGuid();\r\n\r\n this.map = map;\r\n this.indicationLayer = new ol.layer.Vector({\r\n source: new ol.source.Vector(),\r\n style: new ol.style.Style({\r\n image: new ol.style.Circle({\r\n radius: 12,\r\n fill: new ol.style.Fill({color: 'rgba(255,0,0,0.5)'}),\r\n stroke: new ol.style.Stroke({color: 'red', width: 1})\r\n })\r\n })\r\n });\r\n this.map.addLayer(this.indicationLayer);\r\n\r\n $(mapDiv).append('<div class=\"geocoder-el\">' +\r\n `<input type=\"text\" id=\"${inputGuid}\">` +\r\n `<button id=\"${buttonGuid}\">Search</button>` +\r\n '</div>');\r\n\r\n this.theButton = document.getElementById(buttonGuid) as HTMLButtonElement;\r\n this.theInput = document.getElementById(inputGuid) as HTMLInputElement;\r\n\r\n this.reset();\r\n\r\n let $theButton = $(this.theButton);\r\n let $theInput = $(this.theInput);\r\n\r\n $theButton.click((evt) => {\r\n\r\n evt.preventDefault();\r\n\r\n $theButton.addClass(geocoderLoadingClass);\r\n this.theButton.disabled = true;\r\n this.indicationLayer.getSource().clear();\r\n\r\n $.get(\r\n `https://geocode.xyz/${this.theInput.value}?geoit=json`,\r\n {},\r\n (d) => {\r\n let lat = parseFloat(d['latt']);\r\n let lon = parseFloat(d['longt']);\r\n\r\n if ((lat == 0 && lon == 0) || d['error']) {\r\n $theInput.addClass(invalidClass);\r\n this.theInput.title = 'Specified Location Invalid';\r\n this.theButton.title = 'Specified Location Invalid';\r\n\r\n } else {\r\n let v = this.map.getView();\r\n let p = new ol.geom.Point([lon, lat]);\r\n let feat = new ol.Feature(p);\r\n this.indicationLayer.getSource().addFeature(feat);\r\n p.transform(proj4326, proj3857);\r\n\r\n v.setCenter(p.getCoordinates());\r\n v.setZoom(13);\r\n }\r\n\r\n $theButton.removeClass(geocoderLoadingClass);\r\n this.theButton.disabled = false;\r\n },\r\n 'json');\r\n });\r\n\r\n $(this.theInput).keyup((evt) => {\r\n evt.preventDefault();\r\n this.theButton.disabled = this.theInput.value.length == 0;\r\n $theInput.removeClass(invalidClass);\r\n this.theInput.title = '';\r\n this.theButton.title = '';\r\n\r\n if (!this.theButton.disabled && evt.keyCode == 13) {\r\n $theButton.click();\r\n }\r\n })\r\n }\r\n\r\n private reset() {\r\n this.theButton.disabled = true;\r\n this.theInput.value = '';\r\n }\r\n\r\n\r\n// https://geocode.xyz/65%2075h%20street%20prairie%20du%20sac%20wi?geoit=json\r\n\r\n// error\r\n// geocoder-invalid\r\n\r\n}\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/geocode.ts","import LayerBaseVector from \"../layers/LayerBaseVector\";\r\nimport MapInteractionBase from './mapInteractionBase';\r\nimport * as checkDefined from '../util/checkDefined';\r\nimport provide from '../util/provide';\r\nimport makeGuid from '../util/makeGuid';\r\nimport ol = require('custom-ol');\r\nimport $ = require('jquery');\r\nconst nm = provide('olHelpers');\r\n\r\n\r\nexport interface extentObject{\r\n minX: number;\r\n minY: number;\r\n maxX: number;\r\n maxY: number;\r\n}\r\n\r\nexport interface mapMoveCallbackFunction{\r\n /**\r\n *\r\n * @param extent extent as predefined object minX, minX, maxX, maxY\r\n * @param zoomLevel current zoom level\r\n * @param evtType the event type 'change:center', 'change:resolution'\r\n */\r\n (extent: extentObject, zoomLevel: number, evtType?: string): any\r\n}\r\n\r\n\r\n/**\r\n * assists with map move interactions, trigger callback functions\r\n * @augments MapInteractionBase\r\n */\r\nexport class MapMoveCls extends MapInteractionBase {\r\n _mapExtent: extentObject;\r\n _zoomLevel: number;\r\n _lookupLayer: {[s: string]: LayerBaseVector};\r\n _arrLayer: Array<LayerBaseVector>;\r\n _arrLyrTimeout: Array<number>;\r\n _mapMoveCallbackTimeout: Array<number>;\r\n _mapMoveCallbackDelays: Array<number>;\r\n _mapMoveCallbacksLookup: {[s: string]: mapMoveCallbackFunction};\r\n _mapMoveCallbackContext: Array<Object>;\r\n _mapMoveCallbacks: Array<mapMoveCallbackFunction>;\r\n _arrLyrRequest: Array<any>;\r\n\r\n /**\r\n * constructor called implicitly\r\n */\r\n constructor() {\r\n super('map move');\r\n this._arrLyrRequest = [];\r\n this._arrLyrTimeout = [];\r\n this._arrLayer = [];\r\n this._lookupLayer = {};\r\n\r\n this._mapMoveCallbacks = [];\r\n this._mapMoveCallbacksLookup = {};\r\n this._mapMoveCallbackDelays = [];\r\n this._mapMoveCallbackContext = [];\r\n this._mapMoveCallbackTimeout = [];\r\n\r\n this._mapExtent = undefined;\r\n this._zoomLevel = undefined;\r\n\r\n }\r\n\r\n /**\r\n * initialize the map move object\r\n * @param theMap - the ol map\r\n */\r\n init(theMap: ol.Map){\r\n super.init(theMap);\r\n\r\n this.map.getView().on(['change:center', 'change:resolution'], (e: {type: string}) =>{\r\n\r\n this._updateMapExtent();\r\n\r\n // trigger the layer updates\r\n for (let i = 0; i < this._arrLayer.length; i++) {\r\n this.triggerLyrLoad(this._arrLayer[i], i, e.type);\r\n }\r\n\r\n // trigger the map callbacks\r\n for (let i = 0; i < this._mapMoveCallbacks.length; i++) {\r\n this.triggerMoveCallback(i, e.type);\r\n }\r\n });\r\n }\r\n\r\n _updateMapExtent() {\r\n let theView = this.map.getView();\r\n this._zoomLevel = theView.getZoom();\r\n\r\n let extentArray = theView.calculateExtent(this.map.getSize());\r\n\r\n this._mapExtent = {\r\n minX: extentArray[0],\r\n minY: extentArray[1],\r\n maxX: extentArray[2],\r\n maxY: extentArray[3]\r\n };\r\n }\r\n\r\n /**\r\n * return the map extent\r\n */\r\n get mapExtent() {\r\n if (!this._mapExtent) {\r\n this._updateMapExtent();\r\n }\r\n\r\n return this._mapExtent;\r\n }\r\n\r\n /**\r\n * Trigger the layer load\r\n * @param lyr the layer being acted on\r\n * @param index index of the layer\r\n * @param eventType the event triggering the load, as 'change:center' or 'change:resolution'\r\n */\r\n triggerLyrLoad(lyr: LayerBaseVector, index?: number, eventType?: string) {\r\n\r\n if (checkDefined.undefinedOrNull(lyr) && checkDefined.undefinedOrNull(index)) {\r\n throw 'need to define lyr or index';\r\n } else if (checkDefined.definedAndNotNull(lyr) && checkDefined.undefinedOrNull(index)) {\r\n index = this._arrLayer.indexOf(lyr);\r\n } else if (checkDefined.undefinedOrNull(lyr) && checkDefined.definedAndNotNull(index)) {\r\n lyr = this._arrLayer[index];\r\n }\r\n\r\n // clear the timeout\r\n if (this._arrLyrTimeout[index] != null) {\r\n clearTimeout(this._arrLyrTimeout[index]);\r\n this._arrLyrTimeout[index] = null;\r\n }\r\n\r\n // abort if necessary and clear the request\r\n if (this._arrLyrRequest[index] != null && this._arrLyrRequest[index] != 4) {\r\n this._arrLyrRequest[index].abort();\r\n this._arrLyrRequest[index] = null;\r\n }\r\n\r\n // dummy callback used if before load returns false\r\n let callbackFunc = function () {};\r\n\r\n if (lyr.mapMoveBefore(this._zoomLevel, eventType)) {\r\n lyr.mapMoveMakeGetParams(this._mapExtent, this._zoomLevel);\r\n\r\n let __this = this;\r\n\r\n callbackFunc = function () {\r\n function innerFunction(theLayer: LayerBaseVector, theIndex: number) {\r\n let _innerThis = this;\r\n this._arrLyrRequest[theIndex] = $.get(\r\n theLayer.url,\r\n theLayer.mapMoveParams,\r\n function (d) {\r\n /**\r\n * @type {LayerBaseVector}\r\n */\r\n theLayer.mapMoveCallback(d);\r\n theLayer.loadCallback();\r\n }, 'json').fail(\r\n function (jqXHR) {\r\n if (jqXHR.statusText != 'abort') {\r\n console.log('failed');\r\n console.log(theLayer.url);\r\n console.log(theLayer.mapMoveParams);\r\n }\r\n }).always(\r\n function () {\r\n _innerThis._arrLyrTimeout[theIndex] = null;\r\n _innerThis._arrLyrRequest[theIndex] = null;\r\n });\r\n }\r\n innerFunction.call(__this, lyr, index);\r\n };\r\n } else {\r\n lyr.clear();\r\n }\r\n this._arrLyrTimeout[index] = setTimeout(callbackFunc, lyr.onDemandDelay);\r\n }\r\n\r\n /**\r\n * trigger the map move call back at the given index\r\n * @param ind - the index of the layer\r\n * @param eventType=undefined the event triggering the load as 'change:center' or 'change:resolution'\r\n * @param functionId=undefined the function id used to reference the added callback function\r\n */\r\n triggerMoveCallback(ind: number, eventType?: string, functionId?: string) {\r\n\r\n if (typeof ind == 'undefined' && typeof functionId == 'undefined'){\r\n throw 'either the function index or the id must be defined';\r\n }\r\n\r\n if (typeof ind !== 'number'){\r\n ind = this._mapMoveCallbacks.indexOf(this._mapMoveCallbacksLookup[functionId]);\r\n }\r\n\r\n if (ind < 0){\r\n console.log('function not found');\r\n\r\n return;\r\n }\r\n\r\n // clear the timeout\r\n if (this._mapMoveCallbackTimeout[ind] != null) {\r\n clearTimeout(this._mapMoveCallbackTimeout[ind]);\r\n this._mapMoveCallbackTimeout[ind] = null;\r\n }\r\n\r\n let ctx = this._mapMoveCallbackContext[ind];\r\n let theFunc = this._mapMoveCallbacks[ind];\r\n\r\n let __this = this;\r\n\r\n let f = function () {\r\n if (ctx !== null) {\r\n theFunc.call(ctx, __this._mapExtent, __this._zoomLevel, eventType);\r\n } else {\r\n theFunc(__this._mapExtent, __this._zoomLevel, eventType);\r\n }\r\n };\r\n\r\n this._mapMoveCallbackTimeout[ind] = setTimeout(f, this._mapMoveCallbackDelays[ind]);\r\n }\r\n\r\n /**\r\n * Add a layer to the interaction\r\n * @param lyr - layer to add\r\n * @param triggerOnAdd - if the layer should be loaded on add\r\n */\r\n addVectorLayer(lyr: LayerBaseVector, triggerOnAdd: boolean = true) {\r\n if (this._arrLayer.indexOf(lyr) > -1) {\r\n console.log('already added ' + lyr.name + ' to map move');\r\n\r\n return;\r\n }\r\n this._checkInit();\r\n\r\n this._arrLyrRequest.push(null);\r\n this._arrLyrTimeout.push(null);\r\n this._arrLayer.push(lyr);\r\n this._lookupLayer[lyr.id] = lyr;\r\n\r\n triggerOnAdd = typeof triggerOnAdd == 'boolean' ? triggerOnAdd : true;\r\n\r\n if (triggerOnAdd) {\r\n if (this._mapExtent === undefined) {\r\n this._updateMapExtent();\r\n }\r\n this.triggerLyrLoad(lyr, this._arrLayer.length - 1);\r\n }\r\n }\r\n\r\n\r\n /**\r\n * add a callback to the map move event\r\n * @param func - callback function\r\n * @param context - the context to use for this function\r\n * @param delay=50 the delay before call load\r\n * @param triggerOnAdd if the layer should be loaded on add to mapMove\r\n * @param functionId optional id to reference the function later for outside triggering\r\n */\r\n addCallback(func: mapMoveCallbackFunction, context?: any, delay?: number, triggerOnAdd? : boolean, functionId?: string) {\r\n\r\n if (this._mapMoveCallbacks.indexOf(func) > -1) {\r\n console.log('this function already added to map move');\r\n return;\r\n }\r\n this._checkInit();\r\n if (!functionId){\r\n functionId = makeGuid();\r\n }\r\n\r\n this._mapMoveCallbacks.push(func);\r\n this._mapMoveCallbacksLookup[functionId] = func;\r\n this._mapMoveCallbackDelays.push(typeof delay == 'number' ? delay : 50);\r\n this._mapMoveCallbackContext.push(checkDefined.definedAndNotNull(context) ? context : null);\r\n this._mapMoveCallbackTimeout.push(null);\r\n\r\n triggerOnAdd = typeof triggerOnAdd == 'boolean' ? triggerOnAdd : true;\r\n\r\n if (triggerOnAdd) {\r\n if (this._mapExtent === undefined) {\r\n this._updateMapExtent();\r\n }\r\n this.triggerMoveCallback(this._mapMoveCallbacks.length - 1);\r\n }\r\n }\r\n}\r\n\r\nnm.MapMoveCls = MapMoveCls;\r\nexport default MapMoveCls;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/mapMoveCls.ts","/**\r\n * Created by gavorhes on 11/3/2015.\r\n */\r\n\r\nimport MapInteractionBase from './mapInteractionBase';\r\nimport propertiesZoomStyle from '../olHelpers/propertiesZoomStyle';\r\nimport provide from '../util/provide';\r\nimport ol = require('custom-ol');\r\nimport {LayerBaseVector} from \"../layers/LayerBaseVector\";\r\nimport {LayerBase} from \"../layers/LayerBase\";\r\nimport LayerEsriMapServer from \"../layers/LayerEsriMapServer\";\r\nimport $ = require('jquery');\r\n\r\nconst nm = provide('olHelpers');\r\n\r\nexport interface popupChangedFunction {\r\n ($popContent: JQuery): any;\r\n}\r\n\r\n/**\r\n *\r\n */\r\nexport interface popupCallback {\r\n /**\r\n * Callback function for the popup\r\n * @param featureProperties\r\n * @param jqRef\r\n */\r\n (featureProperties: Object, jqRef?: JQuery): string | boolean;\r\n}\r\n\r\ninterface mapEvent {\r\n coordinate: ol.Coordinate;\r\n pixel: ol.Pixel;\r\n dragging: boolean|any;\r\n originalEvent: Event;\r\n}\r\n\r\n\r\nexport class FeatureLayerProperties {\r\n\r\n feature: ol.Feature;\r\n layer: LayerBaseVector|LayerEsriMapServer;\r\n layerIndex: number;\r\n selectionLayer: ol.layer.Vector;\r\n popupContent: string;\r\n esriLayerName: string;\r\n\r\n /**\r\n *\r\n * @param feature the feature\r\n * @param layer - the layer in the popup\r\n * @param layerIndex - index of the layer\r\n * @param selectionLayer - the ol selection layer\r\n * @param [esriLayerName=undefined] - esri layer name\r\n */\r\n constructor(feature: ol.Feature, layer: LayerBaseVector|LayerEsriMapServer, layerIndex: number, selectionLayer: ol.layer.Vector, esriLayerName?: string) {\r\n this.feature = feature;\r\n this.layer = layer;\r\n this.layerIndex = layerIndex;\r\n this.selectionLayer = selectionLayer;\r\n this.popupContent = '';\r\n this.esriLayerName = typeof esriLayerName == 'string' ? esriLayerName : undefined;\r\n }\r\n\r\n get layerName() {\r\n if (typeof this.esriLayerName == 'string') {\r\n return this.esriLayerName;\r\n } else {\r\n return this.layer.name;\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * map popup class\r\n * @augments MapInteractionBase\r\n */\r\nexport class MapPopupCls extends MapInteractionBase {\r\n private _popupOpen: boolean;\r\n private _passThroughLayerFeatureArray: Array<FeatureLayerProperties>;\r\n private _currentPopupIndex: number;\r\n private _popupContentLength: number;\r\n private _esriMapServiceLayers: Array<LayerEsriMapServer>;\r\n private _$popupCloser: JQuery;\r\n private _$popupContent: JQuery;\r\n private _$popupContainer: JQuery;\r\n private _popupOverlay: ol.Overlay;\r\n private _arrPopupLayers: Array<LayerBaseVector>;\r\n private _popupCoordinate: ol.Coordinate;\r\n private _popupChangedFunctions: Array<popupChangedFunction>;\r\n private _mapClickFunctions: Array<Function>;\r\n private _selectionLayerLookup: {[s: string]: ol.layer.Vector};\r\n private _arrPopupLayerIds: Array<string>;\r\n private _arrPopupLayerNames: Array<string>;\r\n private _arrPopupOlLayers: Array<ol.layer.Vector>;\r\n private _arrPopupContentFunction: Array<popupCallback>;\r\n private _selectionLayers: Array<ol.layer.Vector>;\r\n\r\n /**\r\n * Definition for openlayers style function\r\n * @callback olStyleFunction\r\n * ¶m feature the openlayers vector feature\r\n * $param\r\n */\r\n\r\n\r\n /**\r\n * map popup constructor\r\n */\r\n constructor() {\r\n super('map popup');\r\n this._arrPopupLayerIds = [];\r\n this._arrPopupLayerNames = [];\r\n this._arrPopupLayers = [];\r\n this._arrPopupOlLayers = [];\r\n this._arrPopupContentFunction = [];\r\n this._$popupContainer = undefined;\r\n this._$popupContent = undefined;\r\n this._$popupCloser = undefined;\r\n this._popupOverlay = undefined;\r\n this._selectionLayers = [];\r\n this._selectionLayerLookup = {};\r\n this._mapClickFunctions = [];\r\n\r\n //let a = function($jqueryContent){console.log($jqueryContent)};\r\n //this._popupChangedLookup = {'a': a};\r\n this._popupChangedFunctions = [];\r\n this._esriMapServiceLayers = [];\r\n\r\n this._popupOpen = false;\r\n this._popupCoordinate = null;\r\n\r\n this._passThroughLayerFeatureArray = [];\r\n\r\n this._currentPopupIndex = -1;\r\n this._popupContentLength = 0;\r\n\r\n }\r\n\r\n /**\r\n * map popup initialization\r\n * @param {ol.Map} theMap - the ol map\r\n */\r\n init(theMap: ol.Map) {\r\n super.init(theMap);\r\n\r\n let $map;\r\n let target = this.map.getTarget();\r\n\r\n if (typeof target == 'string') {\r\n $map = $('#' + target);\r\n }\r\n else {\r\n $map = $(target);\r\n }\r\n\r\n $map.append(\r\n '<div class=\"ol-popup\">' +\r\n '<span class=\"ol-popup-closer\">X</span>' +\r\n '<div class=\"popup-content\"></div>' +\r\n '</div>'\r\n );\r\n\r\n this._$popupContainer = $map.find('.ol-popup');\r\n this._$popupContent = $map.find('.popup-content');\r\n this._$popupCloser = $map.find('.ol-popup-closer');\r\n\r\n let _ease = (n: number): number => {\r\n return ol.easing.inAndOut(n);\r\n };\r\n\r\n\r\n this._popupOverlay = new ol.Overlay({\r\n element: this._$popupContainer[0],\r\n autoPan: true,\r\n autoPanAnimation: {\r\n duration: 250,\r\n source: theMap.getView().getCenter(),\r\n easing: _ease\r\n }\r\n });\r\n\r\n this._map.addOverlay(this._popupOverlay);\r\n\r\n this._$popupCloser.click((evt) => {\r\n this.closePopup();\r\n });\r\n\r\n // display popup on click\r\n this._map.on('singleclick', (evt: {coordinate: [number, number], pixel: ol.Pixel}) => {\r\n\r\n this.closePopup();\r\n this._popupCoordinate = evt['coordinate'];\r\n\r\n // esri map service layers\r\n if (this._esriMapServiceLayers.length > 0) {\r\n\r\n let queryParams = {\r\n geometry: evt['coordinate'].join(','),\r\n geometryType: 'esriGeometryPoint',\r\n layers: 'all',\r\n sr: this._map.getView().getProjection().getCode().split(':')[1],\r\n mapExtent: (this._map.getView().calculateExtent(this._map.getSize()) as number[]).join(','),\r\n imageDisplay: (this._map.getSize() as number[]).join(',') + ',96',\r\n returnGeometry: true,\r\n tolerance: 15,\r\n f: 'pjson'\r\n };\r\n\r\n for (let l of this._esriMapServiceLayers) {\r\n l.getPopupInfo(queryParams);\r\n }\r\n }\r\n\r\n let layerFeatureObjectArray = this._featuresAtPixel(evt['pixel']);\r\n\r\n this._passThroughLayerFeatureArray = [];\r\n this._currentPopupIndex = -1;\r\n\r\n for (let i = 0; i < layerFeatureObjectArray.length; i++) {\r\n let featObj = layerFeatureObjectArray[i];\r\n\r\n let props = featObj.feature.getProperties();\r\n\r\n let popupContentResponse = this._arrPopupContentFunction[featObj.layerIndex](props, this._$popupContent);\r\n\r\n //skip if return was false\r\n if (popupContentResponse === false) {\r\n //continue;\r\n } else if (typeof popupContentResponse == 'string') {\r\n featObj.popupContent = popupContentResponse as string;\r\n this._passThroughLayerFeatureArray.push(featObj);\r\n } else {\r\n featObj.selectionLayer.getSource().addFeature(featObj.feature);\r\n }\r\n }\r\n\r\n this._popupContentLength = this._passThroughLayerFeatureArray.length;\r\n\r\n this._currentPopupIndex = -1;\r\n\r\n let popupHtml = '<div class=\"ol-popup-nav\">';\r\n popupHtml += '<span class=\"previous-popup ol-popup-nav-arrow\">◀</span>';\r\n popupHtml += '<span class=\"next-popup ol-popup-nav-arrow\">▶</span>';\r\n popupHtml += `<span class=\"current-popup-item-number\" style=\"font-weight: bold;\"></span>`;\r\n popupHtml += `<span> of </span>`;\r\n popupHtml += `<span class=\"popup-content-length\" style=\"font-weight: bold;\">${this._popupContentLength}</span>`;\r\n popupHtml += `<span> - </span>`;\r\n popupHtml += `<span class=\"current-popup-layer-name\"></span>`;\r\n popupHtml += '</div>';\r\n popupHtml += '<div class=\"ol-popup-inner\">';\r\n\r\n popupHtml += '</div>';\r\n\r\n this._$popupContent.html(popupHtml);\r\n\r\n this._$popupContent.find('.previous-popup').click(() => {\r\n if (this._popupContentLength == 1) {\r\n return;\r\n }\r\n\r\n if (this._currentPopupIndex == 0) {\r\n this._currentPopupIndex = this._popupContentLength - 1;\r\n } else {\r\n this._currentPopupIndex--;\r\n }\r\n this._triggerFeatSelect();\r\n });\r\n\r\n let nextPopup = this._$popupContent.find('.next-popup');\r\n\r\n nextPopup.click(() => {\r\n if (this._popupContentLength == 1 && this._currentPopupIndex > -1) {\r\n return;\r\n }\r\n\r\n if (this._currentPopupIndex == this._popupContentLength - 1) {\r\n this._currentPopupIndex = 0;\r\n } else {\r\n this._currentPopupIndex++;\r\n }\r\n this._triggerFeatSelect();\r\n });\r\n\r\n\r\n if (this._popupContentLength > 0) {\r\n nextPopup.trigger('click');\r\n this._popupOverlay.setPosition(this._popupCoordinate);\r\n this._$popupContent.scrollTop(0);\r\n this._popupOpen = true;\r\n }\r\n });\r\n\r\n //change mouse cursor when over marker\r\n this._map.on('pointermove', (evt: {dragging: boolean, originalEvent: Event}) => {\r\n if (evt['dragging']) {\r\n return;\r\n }\r\n let pixel = this.map.getEventPixel(evt['originalEvent']);\r\n let hit = this.map.hasFeatureAtPixel(pixel, (lyrCandidate) => {\r\n for (let olLayer of this._arrPopupOlLayers) {\r\n if (lyrCandidate == olLayer) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n });\r\n let mapElement = this.map.getTargetElement() as HTMLElement;\r\n mapElement.style.cursor = hit ? 'pointer' : '';\r\n });\r\n\r\n return true;\r\n }\r\n\r\n /**\r\n * helper to select features\r\n * @private\r\n */\r\n _triggerFeatSelect() {\r\n let $currentPopupItemNumber = this._$popupContent.find('.current-popup-item-number');\r\n let $innerPopup = this._$popupContent.find('.ol-popup-inner');\r\n let $layerNameSpan = this._$popupContent.find('.current-popup-layer-name');\r\n this.clearSelection();\r\n let lyrFeatObj = this._passThroughLayerFeatureArray[this._currentPopupIndex];\r\n $currentPopupItemNumber.html((this._currentPopupIndex + 1).toFixed());\r\n $layerNameSpan.html(lyrFeatObj.layerName);\r\n $innerPopup.html(lyrFeatObj.popupContent);\r\n lyrFeatObj.selectionLayer.getSource().addFeature(lyrFeatObj.feature);\r\n for (let f of this._popupChangedFunctions) {\r\n f(this._$popupContent);\r\n }\r\n }\r\n\r\n\r\n /**\r\n *\r\n * @param feature - the ol feature\r\n * @param {LayerEsriMapServer} lyr - the map server layer\r\n * @param {string} popupContent - popup content\r\n * @param {string} esriName - esri layer name\r\n */\r\n addMapServicePopupContent(feature: ol.Feature, lyr: LayerEsriMapServer, popupContent: string, esriName: string) {\r\n\r\n let featLayerObject = new FeatureLayerProperties(\r\n feature, lyr, this._popupContentLength, this._selectionLayerLookup[lyr.id], esriName\r\n );\r\n featLayerObject.popupContent = popupContent;\r\n\r\n this._passThroughLayerFeatureArray.push(featLayerObject);\r\n this._popupContentLength++;\r\n\r\n $('.popup-content-length').html(this._popupContentLength.toFixed());\r\n\r\n if (!this._popupOpen) {\r\n this._$popupContent.find('.next-popup').trigger('click');\r\n\r\n this._popupOverlay.setPosition(this._popupCoordinate);\r\n this._$popupContent.scrollTop(0);\r\n this._popupOpen = true;\r\n }\r\n }\r\n\r\n /**\r\n *\r\n * @param pixel - the ol pixel\r\n * @returns feature layer properties\r\n * @private\r\n */\r\n _featuresAtPixel(pixel: ol.Pixel): Array<FeatureLayerProperties> {\r\n let layerFeatureObjectArray: FeatureLayerProperties[] = [];\r\n\r\n this.map.forEachFeatureAtPixel(pixel, (feature: ol.Feature, layer: ol.layer.Vector) => {\r\n let lyrIndex = this._arrPopupOlLayers.indexOf(layer);\r\n\r\n if (lyrIndex > -1) {\r\n layerFeatureObjectArray.push(\r\n new FeatureLayerProperties(\r\n feature, this._arrPopupLayers[lyrIndex], lyrIndex, this._selectionLayers[lyrIndex]));\r\n }\r\n });\r\n\r\n return layerFeatureObjectArray;\r\n }\r\n\r\n closePopup() {\r\n this._checkInit();\r\n this._popupOpen = false;\r\n this._popupOverlay.setPosition(undefined);\r\n this._$popupCloser[0].blur();\r\n this.clearSelection();\r\n this._$popupContent.html('');\r\n\r\n return false;\r\n };\r\n\r\n\r\n /**\r\n *\r\n * @param chgFunction - popup change function\r\n */\r\n addPopupChangedFunction(chgFunction: popupChangedFunction) {\r\n this._popupChangedFunctions.push(chgFunction);\r\n }\r\n\r\n /**\r\n *\r\n * @param {LayerBase|*} lyr - the layer being acted on\r\n * @param {object} [selectionStyle={}] the selection style configuration\r\n * @param {string} [selectionStyle.color=rgba(255,170,0,0.5)] the selection color\r\n * @param {number} [selectionStyle.width=10] the selection width for linear features\r\n * @param {object|function} [selectionStyle.olStyle=undefined] an openlayers style object or function\r\n * @returns the new selection layer\r\n * @private\r\n */\r\n _addPopupLayer(lyr: LayerBaseVector|LayerEsriMapServer, selectionStyle: {color?: string, width?: number, olStyle?: ol.style.Style}): ol.layer.Vector {\r\n this._checkInit();\r\n\r\n selectionStyle = selectionStyle || {};\r\n selectionStyle.color = selectionStyle.color || 'rgba(255,170,0,0.5)';\r\n selectionStyle.width = selectionStyle.width || 10;\r\n\r\n let theStyle;\r\n\r\n if (selectionStyle.olStyle) {\r\n theStyle = selectionStyle.olStyle;\r\n } else {\r\n theStyle = new ol.style.Style({\r\n stroke: new ol.style.Stroke({\r\n color: selectionStyle.color,\r\n width: selectionStyle.width\r\n }),\r\n image: new ol.style.Circle({\r\n radius: 7,\r\n fill: new ol.style.Fill({color: selectionStyle.color}),\r\n stroke: new ol.style.Stroke({color: selectionStyle.color, width: 1})\r\n }),\r\n fill: new ol.style.Fill({\r\n color: selectionStyle.color\r\n })\r\n });\r\n }\r\n\r\n let selectionLayer = new ol.layer.Vector(\r\n {\r\n source: new ol.source.Vector(),\r\n style: theStyle\r\n }\r\n );\r\n\r\n selectionLayer.setZIndex(100);\r\n\r\n this._selectionLayers.push(selectionLayer);\r\n this._selectionLayerLookup[lyr.id] = selectionLayer;\r\n this.map.addLayer(selectionLayer);\r\n\r\n return selectionLayer;\r\n }\r\n\r\n\r\n /**\r\n * Add popup to the map\r\n * @param {LayerBase|*} lyr The layer that the popup with act on\r\n * @param {popupCallback} popupContentFunction - popup content function that makes popup info\r\n * @param {object} [selectionStyle={}] the selection style configuration\r\n * @param {string} [selectionStyle.color=rgba(255,170,0,0.5)] the selection color\r\n * @param {number} [selectionStyle.width=10] the selection width for linear features\r\n * @param {object|function} [selectionStyle.olStyle=undefined] an openlayers style object or function\r\n * @returns {object} a reference to the ol selection layer\r\n */\r\n addVectorPopup(lyr: LayerBaseVector, popupContentFunction: popupCallback,\r\n selectionStyle?: {color?: string, width?: number, olStyle?: ol.style.Style}) {\r\n let selectionLayer = this._addPopupLayer(lyr, selectionStyle);\r\n this._arrPopupLayerIds.push(lyr.id);\r\n this._arrPopupLayerNames.push(lyr.name);\r\n this._arrPopupLayers.push(lyr);\r\n this._arrPopupOlLayers.push(lyr.olLayer);\r\n this._arrPopupContentFunction.push(popupContentFunction);\r\n\r\n return selectionLayer;\r\n };\r\n\r\n\r\n /**\r\n *\r\n * @param {LayerBase} lyr - layer\r\n */\r\n removeVectorPopup(lyr: LayerBase) {\r\n let idx = this._arrPopupLayerIds.indexOf(lyr.id);\r\n\r\n if (idx > -1) {\r\n this._arrPopupLayerIds.splice(idx, 1);\r\n this._arrPopupLayerNames.splice(idx, 1);\r\n this._arrPopupLayers.splice(idx, 1);\r\n this._arrPopupOlLayers.splice(idx, 1);\r\n this._arrPopupContentFunction.splice(idx, 1);\r\n this._selectionLayers.splice(idx, 1);\r\n delete this._selectionLayerLookup[lyr.id];\r\n }\r\n }\r\n\r\n /**\r\n *\r\n * @param {LayerEsriMapServer} lyr - map server layer\r\n * @param {object} [selectionStyle={}] the selection style configuration\r\n * @param {string} [selectionStyle.color=rgba(255,170,0,0.5)] the selection color\r\n * @param {number} [selectionStyle.width=10] the selection width for linear features\r\n * @param {object|function} [selectionStyle.olStyle=undefined] an openlayers style object or function\r\n * @returns {object} a reference to the ol selection layer\r\n */\r\n addMapServicePopup(lyr: LayerEsriMapServer, selectionStyle?: ol.style.Style|Array<ol.style.Style>|ol.StyleFunction) {\r\n let selectionLayer = this._addPopupLayer(lyr, selectionStyle);\r\n this._esriMapServiceLayers.push(lyr);\r\n\r\n return selectionLayer;\r\n }\r\n\r\n clearSelection() {\r\n this._checkInit();\r\n for (let i = 0; i < this._selectionLayers.length; i++) {\r\n this._selectionLayers[i].getSource().clear();\r\n }\r\n for (let f of this._mapClickFunctions) {\r\n f();\r\n }\r\n };\r\n\r\n /**\r\n * Add a function to be called when the map is clicked but before any popups are implemented\r\n * @param {function} func - the map click function\r\n */\r\n addMapClickFunction(func: Function) {\r\n this._mapClickFunctions.push(func);\r\n }\r\n}\r\nnm.MapPopupCls = MapPopupCls;\r\nexport default MapPopupCls;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/mapPopupCls.ts","/**\r\n * Created by gavorhes on 12/15/2015.\r\n */\r\n\r\nimport provide from '../util/provide';\r\nimport ol = require('custom-ol');\r\nimport $ = require('jquery');\r\nimport {Geocode} from './geocode';\r\nconst nm = provide('olHelpers');\r\n\r\nexport interface quickMapOptions {\r\n divId?: string;\r\n center?: {x: number, y: number};\r\n zoom?: number;\r\n minZoom?: number;\r\n maxZoom?: number;\r\n baseSwitcher?: boolean;\r\n fullScreen?: boolean;\r\n addGeocode?: boolean;\r\n}\r\n\r\n/**\r\n * Sets up a map with some default parameters and initializes\r\n * mapMove and mapPopup\r\n *\r\n * @param [options={}] config options\r\n * @param [options.divId=map] map div id\r\n * @param [options.center={}] center config object\r\n * @param [options.center.x=-10018378] center x, web mercator x or lon\r\n * @param [options.center.y=5574910] center y, web mercator y or lat\r\n * @param [options.zoom=7] zoom level\r\n * @param [options.minZoom=undefined] min zoom\r\n * @param [options.maxZoom=undefined] max zoom\r\n * @param [options.baseSwitcher=true] if add base map switcher\r\n * @param [options.fullScreen=false] if add base map switcher\r\n * @returns the ol map\r\n */\r\nexport function quickMapBase(options: quickMapOptions = {}): ol.Map {\r\n options.divId = options.divId || 'map';\r\n options.center = options.center || {x: -10018378, y: 5574910};\r\n options.zoom = typeof options.zoom == 'number' ? options.zoom : 7;\r\n options.baseSwitcher = typeof options.baseSwitcher == 'boolean' ? options.baseSwitcher : true;\r\n options.fullScreen = typeof options.fullScreen == 'boolean' ? options.fullScreen : false;\r\n options.addGeocode = options.addGeocode || false;\r\n\r\n\r\n let $mapDiv = $('#' + options.divId);\r\n $mapDiv.css('position', 'relative');\r\n\r\n let osmLayer = new ol.layer.Tile({source: new ol.source.OSM()});\r\n // let satLayer = new ol.layer.Tile({visible: false, source: new ol.source.MapQuest({layer: 'sat'})});\r\n\r\n let osmCss = \"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAMAUExURQAAADQ1NDk5OURFREtLS1FHSFlZWGJRVGJiYWdmZWxsbHRmaXBpanN0c3V0dHp5eX5+fIVzd4F3eeV0jud5juZ8k4aHhomHhoyGh5eGj5OVlJiVlZiYl5qZmJydnKOTlaKZmqKdnaOioaqqqKuzsbOvrrSysLa3tbW4uLm6ub27ub+/vbGXwbCZwbCgxLKlxrOqyLStybO3yrSxyrWzzbW2y7a1zbK4y7W6zbW8y760yrTAzbTFzrPKzrLOzrTJzrTOzr7CwbXC0LXK0LTO0L3I0bPQz7TQz7PS0bXQ0LnR0brW1bzT0r7U077V1Lzc2dqNqteUsdyXscaquuOHneaGmueHnOeJnuiBleiKn+eNoOiOoOWUpOiRo+iSpeiUpeqYpumaqOmdrPSynemgruSqtOmisOmlsuuqtequuOW1vOuxu+uxvOq1ve+xvPK0pvW3o/W5pfO5qvS7qfCwvMOuwc2/wNenxNyyzNe/0Nq31Nq51dy72Oy3wOu4wOu+xey4wO+6xO2+xfTAr/TCsvfFtPHLvvTJuMPDwMfHxcXKyc3DxMvFyMvLyM3PzcDV08DV1MTX1cbY1s7X1sjZ1sra2Mnd3M7b2c7c2tfH1tnB1t7F2d7M29fX1tLY1tDd2tHe3NTf3NnS19rZ1tva2Nnf3t3d28rh3tXg3Nnh3tzj393k39ni4N7k4N7n5uXDyOfLz+zAxu3CyOzEyezKzeDJ3eLM3uvP0u3P0ePf2+7R0u7Q1u/U0+7U1ezc0+7a2e/d2+3f3vbFzvLOwfHN0PPQw/TUx/LWyvLYzPDQ1fPe0ubc4vve4uHh3+nh3+/h2u/h3vHj2vHl3uHm4eTn4uDp5ebo4+Xo5ODq6ebq6OTv6+nl4+/j4O7l4e7n5ujp4+np5Ozq5e7s5urt6O7t6Orw6u7x6u3x7vPj5PDl4fDo4vDq5fDt5vDu6PDv7PTv6fDx6vHx7fH17fXw6fXy7fb07/bz8fT18vn38vr39fr48/r59Pr6+P3++//+/gAAALNTSk0AAAEAdFJOU////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wBT9wclAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAAGHRFWHRTb2Z0d2FyZQBwYWludC5uZXQgNC4wLjlsM35OAAAFNElEQVRIS1VVCZxVUxi/9l0UIUT2bMnY43bVI2c0Y01kSWIaS0j2JEtkN41piomZrPPKQ2aQ7JKImOZlnm2493TJzDufuU1Zi+v/fee+mZ//793vnPOd7zvfes5zDBEZkBBjAcIjb+Iiotqgdhat8AMK0vl7/R9N7GiWtshqIr+EZ5gYKibyUsXY1l/mfFpssvUlWQ0FkU3gy4+RB/+kwYcO8pRSnldcOU/r2lAHARSwk2ORgEmOdC1EsuRiYSqMPwwroMIraZk5V2fYJQjCKfZrRmh3gSAZi2i4b7wSylWu8EqZwS59JkFUaW96JbNSc+CEUmt4rorwuZmWdDaoc+uZETuQlTCU5xYzR7muUnVUVo+BcRhre/VwUpasgJwhH7JkYIYA0sNxhmCwUK+lw6vCKBZehw01dEiyw4Q4aE0Z4ahDhKaFQsGnJ2BgqKoTBsNjFy0SlW6whRAZTdm8DBJmkBZhDi1j4xJQBk6ywrWUTymaCxac8lROcdauRGzQSNtA7EHUYhXyEwhhgjFUqRuO+rauhF1awFpzCsmwUbjIFBR0u1bKtyGpulW/H/cVVzkyGaIWTIR9pFAV6GK2gPMXMX8gPk9zzxXgI1kimcAltEYr+cjio1imlKpEa9rOipLm+p+CZ6Bw//qd1/f/O+GwMxbSLpyoZEcwkyh2jIks+3hmdd2jWUw4scxNysnHxU7nSspTRcJjCZGL3IsjsYJMMg5mwgx7gaIOLBFCogAgBBoNa9w+DE6I+Bs7FTgwwrJbHjWDgpYo2KwtBTcYEDuloC9geQw+k2RGnPGpTaOlq7AS+YICUz4DZVaX2TiNDhuYfTtY4geLi0IoCm3XccwM9hx4kU28StQEljDs3ZEpFGA+8dKzLmV9ymIwF5FOGn2GdJM8KLHDJbXyiYVMG9MRTLiXGGg2QKaxM3khPSRrwM9zEIardxU2w/EiA0gOeYKHzDR0V7/QGV3lKIA9ktrDArxO3gdA+k6SKoBiVwcm7NjZb9+Hnztg282TuHVZ9LOISFNt9MgyCetZVczSxnyDbl17Penq6mqpg1IhRaEO2aVLUO4/r17H8tTv6f13h71dduvZI3Y+uMdWksNSauLovJw5hsqiPIUvt0ku7/iBeUR3sksmomYWtRbAjbiLfv2lX9/V7LVG4uYnUZXhQ7f2OPCZEx9wrYWTcePEQqPEML8pl4mMdr/jlXlvHiRiJ2+MSTFY4TTSYStuvz2R/JXh+PPeGXm055J+3/YDWuNu3R3DArPutyg0ZgykMVDU9Ndm22+wYalr2rse48CnsTIFcMn73vfhNrktx1EUcZnPv6ah3Yy5cDTRdBEoGoBeah71dqFyjZDJLkWk3N3v4uuktssjWpzciMPxQeHj8nMKzcGuB0tAyzFhdCKOYWv4HwOQVwIxLG99a6uvH3sJCyO3h+k4EZ+G7+xj5f4XXksoaGrdMRzSc8ARA8+cdOuk2x6fffNNt5x+Ro1omPlrT/CQDlcNlpx4NBIWXhkx7Y3Zp3ofNR7Uv89Om/beW0TLIynHv3vs1VsOFpSWSXvfuPUf9BrRFyxgXdHoKJnQFegPOovvzz59ntrzye240ig8UQ3lDI2VqwagrKIQcLXNFL3wglN2OHdBQ6/vI3kENDVBwRb3k1XtczFbjWn4EzMYi7CF3129+JTYuRSdrGuS92g5dpqn6qXoJQs5xmL8p+Wt4hLbt0mx2OLNZR2bbPy8zJNQGFM/f/CfXZekRYFjGCWjIJpM+WiCzGBPWHhoyaAsjRT/B2Gy5yzYJkwUAAAAAElFTkSuQmCC')\";\r\n let aerialCss = \"url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAMAAABg3Am1AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAMAUExURQALBgIMDQgOBwQOEQcTBwUSCwoVDAwdBw8ZDgUREwYUGAYZFQYZGgkTFQoVGQsZFAwZHBMeDhIbFBEbHAwWIA4bIREcIQ4hCQwjFw4lHBgkDB8sDxUiExIiGhAoGxohFRshGRorHQcrKQsiIQwmKgooJA0pKQ81Jw8yLRMiIxImKxUrJREuKhslJB0rIhooKRUuMBMyLhkwJhozKh48LxUzMRM9MBwzMiUvFCMtGiMwEiwzFCgzHDI+GSIsISkvJSQxIiM2LiY5Jic+Lyk0JSo0Ky49JSs9KSU1NSM7NCs2NS8+NDM1JzU9Ljg7IDJCHS1DLSNAMitCMSxIOjREITZLIDZJKDlFIjpFKztKJT1LKzJBMzpHMD1JMjpKPD1RKjlQNC1DQj5QQEA8MEJGJkBKJUJNK0lLLEJMMkVMPEpONENSLUdZL0pTLkpaLkRUMkRSPEVZMktUM0pVOklZMklZNEpcNU1ZMk1ZNUxfMk5dNkxcOVFUM1RUOFJbNVFZOVNYPVFdOVJdPFVaOVVaPVVdOlVdPVpaNlpdO0phN01hOlBiN1NhPFNoP1piPWFbPmRjPENOQEtPSURTQkJVS0xVQk1VSkxbQkxcS0heUVFXRFRcQlJfTFxeQlpeS05lQk1kSFRjQVRjSlZpQ1tkQlxlSlxpRF1rSVVnUVtlU1llXF9tU1xoXlxwSl9ramRfQmJlQ2FhSWFlSWFlTmVlSWRmTGFoQWFpRWFsRmVpRWVtRmNsSmtlRGpqRmpsS2BmWGRsUmFrW2ptUmZyR2RxTGpxTWVyU2RyW2d5V2tzUmt0WW15VG15WXFuTHNtVnFxTXF4T3h0TnJzUnJ1XHJ4VXN6Wnp0VHx1W315VXp8XGR0YGx0YHVzZXJ0aHR9ZXV+aHl9YHOCXXqBXXeCYHyCY3iEaHyIYn+JaXqKcYB5WIN6Y4SCXoCDZIGEaYCIZoOLa4iCaImJbIOOdYuMco6OeIuVcpOKbZKPc5aQb5eXe5ufg6KjhAAAAAAAAAAAAAAAAOGCeQgAAAEAdFJOU////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////wBT9wclAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAAGHRFWHRTb2Z0d2FyZQBwYWludC5uZXQgNC4wLjlsM35OAAAH80lEQVRISy1WbXQUVxm+6wqnk3Zmpxl2FG2EGg92C8GDlWptVTwa+uF3xcKmDfFzCUzDsJNsunXipglJXJbrtJWmwZNSnHD3jojRgUIm2UumIZ0JZ7JByrALbMWW0IBW8aRa4+cf76TeX3Nm3uc+z/s+7/vugl4r/aMTrT4e1pPTqnnmJNn5AyUzRnrRle/qE33dsvrBtAQVoxtpZNK3zSzYjUjviWO2Ag+R77dl7W36n/1Ep9KBPG/S+Py0PkjU/gPKQGqwTHryiWYFAXSvMairsio7SjyNsnCzh0qKImV9/7mhfHQZx2yN1O+7rXUm33MUPaboOkAJHaoIdXfJj2xWeyD8jMFEXkvIu5qzpU988gWB5zl+GS+sFe55trEVPdWZB2miq8bBVkNFO2R0qnrfkiXhcJhtDNXE6tbW97/s9O9/7ZfVhx86/CwrROpfvvxboMqeLsuqPr1j44qEwDNMOBximUiYoU8sw7BC/a7T72uEnyJDlGxZ9KcglZRyuqqrv/tSZErgOI4NgRBTIw9EmHAoFGZZnp6aGaJ2GTxfxYs8kKVUQh7WB5hQeC3LsUxoxVKW14l3BX2WcoUYPiZyLLe8teZ+iuT4GGhvV5KpKWkpyzxEr2MZgQ1xdRjfRBoH+2k6lIHjKTHPPBo8CSJISqqq4wGGOcWylIGlgvgNX1Gd8vF5f+IUIwb30ng+Gg2QfBRIMvy0jG8SVkYo4N0zvUXVRztbJ/L6xL7lUZEXBEHkuZqlS6gEAUgKJurnhFtfpACOYd8b/hVbJPqwi44a6KA0sPVjIi/SIyxb3u8KlAJ0S8jRVgrlW+nVHPdrhiXCxu42d86ByksDc80P3MkJFBFQ8Ho1lQegpWJRWFGsDsRwwv7pIyvuQW0ZkrX6NDVFbqcvaQI8vbyqzt5AARrsbKx5yhQEGs+wPO56bOK+0rcwMrOKkpUbZWYxV04UeZZv/cBKFhRL6Qdv9y4LfEDA7/thg7tTmv1a5/GnO0wl0dQg80wglZaHUmxRvjwAHOfyN0mxrpqLUpcjsK3NHYMo4R1o6eho2ZyIb2FoeOC3ILK8kZ2HQMOuWywGXUkJBCeTbYFS0+ym1h2/6UgmvnrvKYZZtIEXGf75C2cIAp5LHNd71x7uPoTjakrWH9e3KFpaatjUvJUysFw0KrLMYMW2lTg4PeUQx6kJEALvxXEmCdVyPLHtCSjBhc01XCjIgafxou+PE6KC1dhxSCwoBCc+N4P3btM84pmdSSjJnjO/nvY4LQfVyz5/I+v6IwjUOMjy+MVCxIbKupTJaEktp7cTKU42Pvjh2m/8cSpC6aPsaX/MHSuUQLVVsIa4RUTs/r/BVAexNdjdnsNG7j/rV93xheLMzKnFrPeTEQchCyCcKb25aAIn7lrAertrZwyNXM8N6zfWrFo3d2SmOEcF83x/r+OOFgrAHYWF7cELjhV7UQo/6WAIUVl9JFl8a//HZ66VpbY3I9QKZqPru77lA+iOWAIr0hKxHCmmr0othSyeIl5y3qt4xT8gSNrKEZozs8Els67rgsLOZ+ygzwMfbtNhobfgzpEyGnz7htPtzUi6PuOoj7K0WF/MXiUFxwGajRD1hjYXHXI9p406qOyinp5/tiWcDHY0jIu4n64Qfq7kliB2gemag9QbOia0PbbDMbd43SHuvxFxrAocxins7MX5Kqbe1QixKBxoV4//PfAgGCu+Rlm4SvZizyDH+0reDHp92iO0BuX3bCfItl0PEwvYLqpwXG2MHlGsQ4S8pMJZv1JGmHiEoHQDdOjwmVlEP/nE9ADKjI8xLI0OOGITfy0SbeG/C2jKUDGSlDhM9I3IpK9iup6XnbRNC7yqueNsJCCIiXzdQhnaGN+46umnEdy5U5UbUJ48LFM9GkJo8BdDOiAZ7ZIQbKhYLMqvhU2wmNxjEAsS2AI7y4nWF64duePbk7YV3zvAVLEMD9AxJRNa3KDUibV7DjnkuprMEYjScFNcaR2ceP2u9R/5k1052Ryme5phAFRswlHjAudiP4dOy7CaxLgdJh9vUlU1702/+LPa1U9fvPi9qlA4XEUBJc3dFlpsR457IDl1iPqLp7o81NQgyV19iYU38uTiv975Pd3SiwQcsGjx+v4/6fl5T7EOOMTCtpbKxfemsQq/3olQZcminADAAI0cuGLHaHOFxbuGvRk/Z9u7CULqoVR6NE0yx1avj30oRhc/jWUoIALGxkz0dg1Dl9iaI7LqOOXKsXJFwjiuEAi70Jra2nW1PL08zLBhZsMABpW5csI7TPfew9ipFKcn5k1i+1KyCWKjC3W/8dF1d666+RaabBVTFTHacjoojBNDh0NDxk+IPTlwfqJkWpbnpFHXIbLbmpxEQ3ff/Z0g/mauXsoln9wDRjy/NHsQFw3P6vWuTJ43/+FZrk2cvAFRipCKdfD9y2+pjRj78s0KdCUDKJvdV91ChngV38T20TM+gghjpJaPlpFr2xbEz5g4A/NGt5rNwdwmYGeeeMXBSLHHUIc+6RsojRH9VTUm3/mLf/64b470XvoxoTKhlMBQ2jMEzo2PjxdGMppmn1RM24bWFJqaQv4BcuJa2Sam7Zokq1ldCsz06NCBHrhwqVQYpfFj42NZexz1EW9SR/kT58nEeQKJb2fPXjjp0u/YUkwHEgLeOnf2nOuf1TRTM02CLKLTPy60/x1CCztqn7Ev+BdsC3m+30decQvW/wBNTwU+CfUQAQAAAABJRU5ErkJggg==')\";\r\n\r\n if (options.baseSwitcher) {\r\n // let switcherContent = '<div class=\"base-map-switcher\" title=\"Toggle Base Layer\" style=\"';\r\n // switcherContent += 'position: absolute; top: 70px; left: 4px; border: solid black 1px; ';\r\n // switcherContent += `height: 50px; width: 50px; z-index: 10; border-radius: 4px; background: ${aerialCss};`;\r\n // switcherContent += '\"></div>';\r\n // $mapDiv.append(switcherContent);\r\n //\r\n // $mapDiv.find('.base-map-switcher').click(function() {\r\n // \"use strict\";\r\n // osmLayer.setVisible(!osmLayer.getVisible());\r\n // satLayer.setVisible(!satLayer.getVisible());\r\n //\r\n // if (osmLayer.getVisible()){\r\n // $(this).css('background', aerialCss);\r\n // } else {\r\n // $(this).css('background', osmCss);\r\n // }\r\n // });\r\n }\r\n\r\n if (options.zoom < 0 || options.zoom > 28) {\r\n throw 'zoom out of range';\r\n }\r\n\r\n if (options.center.x >= -180 && options.center.x <= 180 && options.center.y >= -90 && options.center.y <= 90) {\r\n let p = new ol.geom.Point([options.center.x, options.center.y]);\r\n new ol.proj.Projection({code: \"EPSG:4326\"});\r\n\r\n p.transform(new ol.proj.Projection({code: \"EPSG:4326\"}), new ol.proj.Projection({code: \"EPSG:3857\"}));\r\n let coordinates = p.getCoordinates();\r\n options.center.x = coordinates[0];\r\n options.center.y = coordinates[1];\r\n }\r\n\r\n const controls = ol.control.defaults({\r\n attributionOptions: {collapsible: false}\r\n }\r\n );\r\n\r\n const view = new ol.View({\r\n center: [options.center.x, options.center.y],\r\n zoom: options.zoom,\r\n minZoom: options.minZoom,\r\n maxZoom: options.maxZoom\r\n });\r\n\r\n let map = new ol.Map({\r\n layers: [osmLayer],\r\n target: options.divId,\r\n controls: controls,\r\n view: view\r\n });\r\n\r\n if (options.fullScreen) {\r\n map.addControl(new ol.control.FullScreen({}));\r\n }\r\n\r\n if (options.addGeocode){\r\n new Geocode(document.getElementById(options.divId) as HTMLDivElement, map);\r\n }\r\n\r\n return map;\r\n}\r\n\r\nnm.quickMapBase = quickMapBase;\r\nexport default quickMapBase;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/quickMapBase.ts","module.exports = ol;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"ol\"\n// module id = 2\n// module chunks = 2 4 5 6 7","/**\r\n * Created by gavorhes on 12/7/2015.\r\n */\r\nimport {LayerBase, LayerBaseOptions} from './LayerBase';\r\nimport * as esriToOl from '../olHelpers/esriToOlStyle';\r\nimport mapPopup from '../olHelpers/mapPopup';\r\nimport provide from '../util/provide';\r\nimport ol = require('custom-ol');\r\nimport $ = require('jquery');\r\n\r\nconst nm = provide('layers');\r\n\r\n\r\n\r\n/**\r\n * Helper to return the url to the service on the production server\r\n * @param {string} folder\r\n * @param {string} service\r\n * @returns {string}\r\n */\r\nexport function makeServiceUrl(folder: string, service: string): string{\r\n return `https://transportal.cee.wisc.edu/applications/arcgis2/rest/services/${folder}/${service}/MapServer`\r\n}\r\n\r\nexport function localCacheUrl(folder: string, service: string): string{\r\n let loc = window.location.href;\r\n\r\n let url = `/mapserver/${folder}/${service}`;\r\n\r\n if (loc.indexOf('transportal.cee.wisc.edu') > -1){\r\n if (loc.toLowerCase().indexOf('webmapsstage') > -1){\r\n url = 'https://transportal.cee.wisc.edu/gis/webmapsstage' + url;\r\n } else {\r\n url = 'https://transportal.cee.wisc.edu/gis/webmaps' + url\r\n }\r\n }\r\n\r\n\r\n return url;\r\n}\r\n\r\n\r\n\r\n\r\nexport interface LayerEsriMapServerOptions extends LayerBaseOptions {\r\n addPopup?: boolean;\r\n showLayers?: Array<number>;\r\n getLegend?: boolean;\r\n}\r\n\r\n/**\r\n * esri mapserver layer\r\n * @augments LayerBase\r\n */\r\nexport class LayerEsriMapServer extends LayerBase {\r\n _esriFormat: ol.format.EsriJSON;\r\n _popupRequest: JQueryXHR;\r\n _showLayers: number[];\r\n\r\n /**\r\n * The base layer for all others\r\n * @param {string} url - resource url\r\n * @param {object} [options] - config\r\n * @param {string} [options.id] - layer id\r\n * @param {string} [options.name=Unnamed Layer] - layer name\r\n * @param {number} [options.opacity=1] - opacity\r\n * @param {boolean} [options.visible=true] - default visible\r\n * @param {number} [options.minZoom=undefined] - min zoom level, 0 - 28\r\n * @param {number} [options.maxZoom=undefined] - max zoom level, 0 - 28\r\n * @param {object} [options.params={}] the get parameters to include to retrieve the layer\r\n * @param {number} [options.zIndex=0] the z index for the layer\r\n * @param {function} [options.loadCallback] function to call on load, context this is the layer object\r\n * @param {boolean} [options.legendCollapse=false] if the legend item should be initially collapsed\r\n * @param {boolean} [options.legendCheckbox=true] if the legend item should have a checkbox for visibility\r\n * @param {boolean} [options.legendContent] additional content to add to the legend\r\n * @param {boolean} [options.addPopup=false] if a popup should be added\r\n * @param {undefined|Array<number>} [options.showLayers=undefined] if a popup should be added\r\n */\r\n constructor(url: string, options: LayerEsriMapServerOptions = {}) {\r\n\r\n super(url, options);\r\n this._source = new ol.source.TileArcGISRest(\r\n {\r\n url: this.url == '' ? undefined : this.url,\r\n params: typeof options.showLayers == 'undefined' ? undefined : {layers: 'show:' + options.showLayers.join(',')}\r\n }\r\n );\r\n\r\n this._showLayers = options.showLayers || [];\r\n\r\n this._olLayer = new ol.layer.Tile({\r\n source: this._source as ol.source.Tile,\r\n visible: this.visible,\r\n opacity: this.opacity,\r\n minResolution: this._minResolution,\r\n maxResolution: this._maxResolution\r\n });\r\n\r\n\r\n this._olLayer.setZIndex(this._zIndex);\r\n\r\n options.addPopup = typeof options.addPopup == 'boolean' ? options.addPopup : false;\r\n\r\n this._esriFormat = new ol.format.EsriJSON();\r\n this._popupRequest = null;\r\n\r\n options.getLegend = typeof options.getLegend === 'boolean' ? options.getLegend : true;\r\n\r\n if (options.getLegend){\r\n this.addLegendContent();\r\n }\r\n\r\n if (options.addPopup) {\r\n mapPopup.addMapServicePopup(this);\r\n }\r\n }\r\n\r\n /**\r\n * add additional content to the legend\r\n * @param {string} [additionalContent=''] additional content for legend\r\n */\r\n addLegendContent(additionalContent?: string) {\r\n let urlCopy = this.url;\r\n\r\n if (urlCopy[urlCopy.length - 1] !== '/') {\r\n urlCopy += '/';\r\n }\r\n\r\n urlCopy += 'legend?f=pjson&callback=?';\r\n\r\n $.get(urlCopy, {}, (d) => {\r\n let newHtml = esriToOl.makeMapServiceLegend(d, this._showLayers);\r\n super.addLegendContent(newHtml);\r\n }, 'json');\r\n }\r\n\r\n\r\n getPopupInfo(queryParams: {[s: string]: any}) {\r\n if (!this.visible) {\r\n return;\r\n }\r\n\r\n let urlCopy = this.url;\r\n\r\n if (urlCopy[urlCopy.length - 1] != '/') {\r\n urlCopy += '/';\r\n }\r\n\r\n urlCopy += 'identify?callback=?';\r\n\r\n let __this = this;\r\n\r\n if (this._popupRequest != null) {\r\n this._popupRequest.abort();\r\n }\r\n\r\n\r\n this._popupRequest = $.get(urlCopy, queryParams, function (d) {\r\n for (let r of d['results']) {\r\n\r\n let popupHtml = '<table class=\"esri-popup-table\">';\r\n\r\n for (let a in r['attributes']) {\r\n if (r['attributes'].hasOwnProperty(a)) {\r\n let attrVal = r['attributes'][a];\r\n\r\n if (attrVal == null || attrVal.toString().toLowerCase() == 'null') {\r\n continue;\r\n }\r\n\r\n let attr = a;\r\n if (attr.length > 14) {\r\n attr = attr.slice(0, 11) + '...';\r\n }\r\n\r\n popupHtml += `<tr><td>${attr}</td><td>${attrVal}</td></tr>`;\r\n }\r\n }\r\n\r\n popupHtml += '</table>';\r\n\r\n mapPopup.addMapServicePopupContent(__this._esriFormat.readFeature(r), __this, popupHtml, r['layerName']);\r\n }\r\n }, 'json');\r\n\r\n this._popupRequest.always(function () {\r\n __this._popupRequest = null;\r\n });\r\n\r\n }\r\n\r\n /**\r\n *\r\n * @returns {ol.source.TileArcGISRest} the vector source\r\n */\r\n get source(): ol.source.TileArcGISRest {\r\n return super.getSource() as ol.source.TileArcGISRest;\r\n }\r\n\r\n /**\r\n *\r\n * @returns the ol layer\r\n */\r\n get olLayer(): ol.layer.Tile {\r\n return super.getOlLayer() as ol.layer.Tile;\r\n }\r\n}\r\nnm.LayerEsriMapServer = LayerEsriMapServer;\r\nexport default LayerEsriMapServer;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/layers/LayerEsriMapServer.ts","/**\r\n * Created by gavorhes on 12/14/2015.\r\n */\r\n\r\nimport provide from '../util/provide';\r\nconst nm = provide('olHelpers.zoomResolutionConvert');\r\n\r\nlet _zoomResLookup = [\r\n 156543.03392804097, //0\r\n 78271.51696402048, //1\r\n 39135.75848201024, //2\r\n 19567.87924100512, //3\r\n 9783.93962050256, //4\r\n 4891.96981025128, //5\r\n 2445.98490512564, //6\r\n 1222.99245256282, //7\r\n 611.49622628141, //8\r\n 305.748113140705, //9\r\n 152.8740565703525, //10\r\n 76.43702828517625, //11\r\n 38.21851414258813, //12\r\n 19.109257071294063, //13\r\n 9.554628535647032, //14\r\n 4.777314267823516, //15\r\n 2.388657133911758, //16\r\n 1.194328566955879, //17\r\n 0.5971642834779395, //18\r\n 0.29858214173896974, //19\r\n 0.14929107086948487, //20\r\n 0.07464553543474244, //21\r\n 0.03732276771737122, //22\r\n 0.01866138385868561, //23\r\n 0.009330691929342804, //24\r\n 0.004665345964671402, //25\r\n 0.002332672982335701, //26\r\n 0.0011663364911678506, //27\r\n 0.0005831682455839253 //28\r\n];\r\n\r\n/**\r\n * Get the resolution given the zoom level\r\n * @param {number} zoomLevel - the zoom level\r\n * @returns {number|*} the map resolution\r\n */\r\nexport function zoomToResolution(zoomLevel: number): number {\r\n \"use strict\";\r\n\r\n if (typeof zoomLevel == 'number') {\r\n if (zoomLevel % 1 === 0 && zoomLevel >= 0 && zoomLevel <= 28) {\r\n return _zoomResLookup[zoomLevel];\r\n } else {\r\n console.log(`invalid zoom level provided: ${zoomLevel}`);\r\n\r\n return undefined;\r\n }\r\n } else {\r\n return undefined;\r\n }\r\n}\r\nnm.zoomToResolution = zoomToResolution;\r\n\r\n\r\n/**\r\n * Get resolution from the zoom level\r\n * @param {number} resolution - the resolution\r\n * @returns {number|*} the zoom level\r\n */\r\nexport function resolutionToZoom(resolution: number): number{\r\n for (let i = 0; i < _zoomResLookup.length; i++){\r\n if (resolution >= _zoomResLookup[i] ){\r\n return i;\r\n }\r\n }\r\n\r\n return 0;\r\n}\r\n\r\nnm.resolutionToZoom = resolutionToZoom;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/zoomResolutionConvert.ts","/**\r\n * Created by gavorhes on 1/4/2016.\r\n */\r\nimport provide from '../util/provide';\r\nimport ol = require('custom-ol');\r\nconst nm = provide('olHelpers.esriToOlStyle');\r\n\r\n\r\n/**\r\n *\r\n * @param {Array<number>} colorArray - input color array\r\n * @param {number} opacity - the opacity 0 to 1\r\n * @returns {string} rgba string\r\n * @private\r\n */\r\nfunction _colorArrayToRgba(colorArray: [number, number, number], opacity: number): string {\r\n \"use strict\";\r\n\r\n return `rgba(${colorArray[0]},${colorArray[1]},${colorArray[2]},${opacity})`;\r\n}\r\n\r\n/**\r\n * escape html charcters\r\n * @param {string} str - input string\r\n * @returns {string} escaped string\r\n */\r\nfunction htmlEscape(str: string): string {\r\n return String(str)\r\n .replace(/&/g, '&')\r\n .replace(/\"/g, '"')\r\n .replace(/'/g, ''')\r\n .replace(/</g, '<')\r\n .replace(/>/g, '>');\r\n}\r\n\r\nnm.htmlEscape = htmlEscape;\r\n\r\n\r\nexport interface iEsriResponse{\r\n drawingInfo: {\r\n renderer: iEsriRenderer;\r\n transparency: number\r\n },\r\n geometryType: string\r\n}\r\n\r\n\r\nexport interface iEsriRenderer{\r\n type: string;\r\n symbol: iEsriSymbol;\r\n uniqueValueInfos: Array<{label: string, value: any, symbol: iEsriSymbol}>;\r\n field1: string;\r\n defaultSymbol: iEsriSymbol;\r\n defaultLabel: string;\r\n}\r\n\r\nexport interface iEsriSymbol{\r\n size: number;\r\n type: string;\r\n outline:{\r\n color: [number, number, number];\r\n width: number;\r\n },\r\n color: [number, number, number];\r\n width: number;\r\n imageData: string\r\n}\r\n\r\n\r\nclass CommonSymbol {\r\n legendHtml: string;\r\n opacity: number;\r\n symbolObj: iEsriSymbol;\r\n olStyle: ol.style.Style;\r\n\r\n /**\r\n *\r\n * @param symbolObj\r\n * @param {number} opacity\r\n */\r\n constructor(symbolObj: iEsriSymbol, opacity: number) {\r\n this.symbolObj = symbolObj;\r\n this.opacity = opacity;\r\n this.olStyle = undefined;\r\n this.legendHtml = '';\r\n }\r\n}\r\n\r\ninterface ICommonSymbol{\r\n new (symbolObj: iEsriSymbol, opacity: number): CommonSymbol\r\n}\r\n\r\n\r\nclass PointSymbol extends CommonSymbol {\r\n constructor(symbolObj: iEsriSymbol, opacity: number) {\r\n super(symbolObj, opacity);\r\n switch (this.symbolObj.type) {\r\n case 'esriSMS':\r\n let innerColor = _colorArrayToRgba(this.symbolObj.color, this.opacity);\r\n let outerColor = _colorArrayToRgba(this.symbolObj.outline.color, this.opacity);\r\n let outlineWidth = this.symbolObj.outline.width;\r\n let radius = this.symbolObj.size;\r\n\r\n\r\n this.olStyle = new ol.style.Style({\r\n image: new ol.style.Circle({\r\n radius: radius,\r\n fill: new ol.style.Fill({\r\n color: innerColor\r\n }),\r\n stroke: new ol.style.Stroke({color: outerColor, width: outlineWidth})\r\n })\r\n });\r\n this.legendHtml = `<span class=\"legend-layer-icon\" style=\"color: ${innerColor}\">●</span>`;\r\n break;\r\n case 'esriPMS':\r\n this.olStyle = new ol.style.Style({\r\n image: new ol.style.Icon({src: `data:image/png;base64,${this.symbolObj['imageData']}`})\r\n });\r\n this.legendHtml = `<img class=\"legend-layer-icon\" height=\"17\" src=\"data:image/png;base64,${this.symbolObj['imageData']}\">`;\r\n break;\r\n default:\r\n console.log(this.symbolObj);\r\n alert('Point symbol does not handle symbol type: ' + this.symbolObj['type']);\r\n }\r\n }\r\n}\r\n\r\nclass LineSymbol extends CommonSymbol {\r\n constructor(symbolObj: iEsriSymbol, opacity: number) {\r\n super(symbolObj, opacity);\r\n switch (this.symbolObj.type) {\r\n case 'esriSLS':\r\n let innerColor = _colorArrayToRgba(this.symbolObj.color, this.opacity);\r\n let lineWidth = this.symbolObj.width;\r\n\r\n this.olStyle = new ol.style.Style({\r\n stroke: new ol.style.Stroke({\r\n color: innerColor,\r\n //lineDash: [4],\r\n width: lineWidth\r\n })\r\n });\r\n\r\n this.legendHtml = `<span class=\"legend-layer-icon\" `;\r\n this.legendHtml += `style=\"`;\r\n this.legendHtml += `background-color: ${innerColor};`;\r\n this.legendHtml += `width: 40px;`;\r\n this.legendHtml += `height: 4px;`;\r\n this.legendHtml += `position: relative;`;\r\n this.legendHtml += `display: inline-block;`;\r\n this.legendHtml += `top: -1px;`;\r\n this.legendHtml += `\"></span>`;\r\n break;\r\n default:\r\n console.log(this.symbolObj);\r\n alert('Line symbol does not handle symbol type: ' + this.symbolObj['type']);\r\n }\r\n }\r\n}\r\n\r\nclass PolygonSymbol extends CommonSymbol {\r\n constructor(symbolObj: iEsriSymbol, opacity: number) {\r\n super(symbolObj, opacity);\r\n switch (this.symbolObj['type']) {\r\n case 'esriSFS':\r\n let innerColor = _colorArrayToRgba(this.symbolObj.color, this.opacity);\r\n let outerColor = _colorArrayToRgba(this.symbolObj.outline.color, this.opacity);\r\n let outlineWidth = this.symbolObj.outline.width;\r\n\r\n this.olStyle = new ol.style.Style({\r\n stroke: new ol.style.Stroke({\r\n color: outerColor,\r\n //lineDash: [4],\r\n width: outlineWidth\r\n }),\r\n fill: new ol.style.Fill({\r\n color: innerColor\r\n })\r\n });\r\n\r\n this.legendHtml = `<span class=\"legend-layer-icon\" `;\r\n this.legendHtml += `style=\"`;\r\n this.legendHtml += `background-color: ${innerColor};`;\r\n this.legendHtml += `border: solid ${outerColor} 1px;`;\r\n this.legendHtml += `width: 40px;`;\r\n this.legendHtml += `height: 9px;`;\r\n this.legendHtml += `position: relative;`;\r\n this.legendHtml += `display: inline-block;`;\r\n this.legendHtml += `top: 2px;`;\r\n this.legendHtml += `\"></span>`;\r\n break;\r\n\r\n default:\r\n console.log(this.symbolObj);\r\n alert('Polygon symbol does handle symbol type: ' + this.symbolObj['type']);\r\n }\r\n }\r\n}\r\n\r\nexport interface iStyleFunc{\r\n (f: ol.Feature): ol.style.Style| ol.style.Style[]\r\n}\r\n\r\nclass SymbolGenerator {\r\n opacity: number;\r\n renderer: iEsriRenderer;\r\n legendHtml: string;\r\n olStyle: iStyleFunc | ol.style.Style;\r\n\r\n constructor(esriResponse: iEsriResponse) {\r\n this.opacity = (100 - (esriResponse['drawingInfo']['transparency'] || 0)) / 100;\r\n this.renderer = esriResponse.drawingInfo.renderer;\r\n this.olStyle = undefined;\r\n this.legendHtml = '';\r\n }\r\n}\r\n\r\nclass SingleSymbol extends SymbolGenerator {\r\n symbol: iEsriSymbol;\r\n /**\r\n *\r\n * @param {object} esriResponse - layer info\r\n * @param SymbolClass - the symbol class to use\r\n */\r\n constructor(esriResponse: iEsriResponse, SymbolClass: ICommonSymbol) {\r\n super(esriResponse);\r\n this.symbol = this.renderer.symbol;\r\n let symbolObj = new SymbolClass(this.symbol, this.opacity);\r\n this.olStyle = symbolObj.olStyle;\r\n this.legendHtml = symbolObj.legendHtml;\r\n }\r\n}\r\n\r\nclass UniqueValueSymbol extends SymbolGenerator {\r\n\r\n propertyName: string;\r\n defaultSymbol: iEsriSymbol;\r\n defaultStyle: ol.style.Style;\r\n defaultLabelHtml: string;\r\n labelArray: Array<string>;\r\n legendArray: Array<string>;\r\n propertyStyleLookup: {[s: string]: ol.style.Style};\r\n valueArray: Array<any>;\r\n uniqueValueInfos: Array<{label: string, value: any, symbol: iEsriSymbol}>;\r\n\r\n /**\r\n *\r\n * @param {object} esriResponse - layer info\r\n * @param SymbolClass - the Symbol class definition\r\n */\r\n constructor(esriResponse: iEsriResponse, SymbolClass: ICommonSymbol) {\r\n super(esriResponse);\r\n this.uniqueValueInfos = this.renderer.uniqueValueInfos;\r\n this.propertyName = this.renderer.field1;\r\n this.defaultSymbol = this.renderer.defaultSymbol;\r\n\r\n\r\n if (this.defaultSymbol) {\r\n let symbolObj = new SymbolClass(this.defaultSymbol, this.opacity);\r\n this.defaultStyle = symbolObj.olStyle;\r\n this.defaultLabelHtml = `<span class=\"legend-layer-subitem\">${htmlEscape(this.renderer['defaultLabel'])}</span>` + symbolObj.legendHtml;\r\n } else {\r\n this.defaultStyle = undefined;\r\n this.defaultLabelHtml = 'other';\r\n }\r\n\r\n this.valueArray = [];\r\n this.labelArray = [];\r\n this.legendArray = [];\r\n this.propertyStyleLookup = {};\r\n\r\n for (let uniqueVal of this.uniqueValueInfos) {\r\n this.labelArray.push(uniqueVal['label']);\r\n this.valueArray.push(uniqueVal['value']);\r\n let uniqueSym = new SymbolClass(uniqueVal.symbol, this.opacity);\r\n this.legendArray.push(`<span class=\"legend-layer-subitem\">${htmlEscape(uniqueVal['label'])}</span>` + uniqueSym.legendHtml);\r\n this.propertyStyleLookup[uniqueVal['value']] = uniqueSym.olStyle;\r\n }\r\n\r\n this.olStyle = (feature: ol.Feature): ol.style.Style[] => {\r\n let checkProperties = feature.getProperties();\r\n let checkProperty = checkProperties[this.propertyName];\r\n\r\n if (this.propertyStyleLookup[checkProperty] !== undefined) {\r\n return [this.propertyStyleLookup[checkProperty]];\r\n } else {\r\n return [this.defaultStyle];\r\n }\r\n };\r\n\r\n if (this.defaultLabelHtml !== null) {\r\n this.legendArray.push(this.defaultLabelHtml);\r\n }\r\n\r\n this.legendHtml = '<ul>';\r\n for (let h of this.legendArray) {\r\n this.legendHtml += `<li>${h}</li>`;\r\n }\r\n this.legendHtml += '</ul>';\r\n }\r\n}\r\n\r\nexport function makeFeatureServiceLegendAndSymbol(esriResponse: iEsriResponse): {style: iStyleFunc | ol.style.Style, legend: string} {\r\n \"use strict\";\r\n let renderer = esriResponse.drawingInfo.renderer;\r\n let symbolLegendOut: SymbolGenerator = null;\r\n\r\n switch (renderer.type) {\r\n case 'simple':\r\n switch (esriResponse.geometryType) {\r\n case 'esriGeometryPoint':\r\n symbolLegendOut = new SingleSymbol(esriResponse, PointSymbol);\r\n break;\r\n case 'esriGeometryPolyline':\r\n symbolLegendOut = new SingleSymbol(esriResponse, LineSymbol);\r\n break;\r\n case 'esriGeometryPolygon':\r\n symbolLegendOut = new SingleSymbol(esriResponse, PolygonSymbol);\r\n break;\r\n default:\r\n console.log(esriResponse);\r\n alert(esriResponse.geometryType + ' not handled');\r\n }\r\n break;\r\n case 'uniqueValue':\r\n switch (esriResponse.geometryType) {\r\n case 'esriGeometryPoint':\r\n symbolLegendOut = new UniqueValueSymbol(esriResponse, PointSymbol);\r\n break;\r\n case 'esriGeometryPolyline':\r\n symbolLegendOut = new UniqueValueSymbol(esriResponse, LineSymbol);\r\n break;\r\n case 'esriGeometryPolygon':\r\n symbolLegendOut = new UniqueValueSymbol(esriResponse, PolygonSymbol);\r\n break;\r\n default:\r\n console.log(esriResponse);\r\n alert(esriResponse['geometryType'] + ' not handled');\r\n }\r\n break;\r\n default:\r\n alert('not handled renderer type: ' + renderer['type']);\r\n }\r\n\r\n if (symbolLegendOut == null) {\r\n return {style: undefined, legend: ''};\r\n } else {\r\n return {style: symbolLegendOut.olStyle, legend: symbolLegendOut.legendHtml};\r\n }\r\n}\r\n\r\nnm.makeFeatureServiceLegendAndSymbol = makeFeatureServiceLegendAndSymbol;\r\n\r\n\r\nexport interface iMapServiceLegend{\r\n layerName: string;\r\n legend: {label: string, imageData: string}[]\r\n}\r\n\r\n/**\r\n *\r\n * @param {object} lyrObject - the layer as defined in the response\r\n * @param {boolean} [skipLayerNameAndExpander=false] use only icons\r\n * @returns {string} legend html\r\n */\r\nfunction mapServiceLegendItem(lyrObject: iMapServiceLegend, skipLayerNameAndExpander: boolean = false) {\r\n\r\n\r\n skipLayerNameAndExpander = typeof skipLayerNameAndExpander == 'boolean' ? skipLayerNameAndExpander : false;\r\n let layerName = lyrObject['layerName'];\r\n let legendItems = lyrObject['legend'];\r\n let legendHtml = '';\r\n\r\n if (!skipLayerNameAndExpander) {\r\n legendHtml += `<span class=\"legend-layer-subitem\">${layerName}</span>`;\r\n }\r\n\r\n if (legendItems.length == 1) {\r\n legendHtml = `<img class=\"legend-layer-icon\" height=\"17\" src=\"data:image/png;base64,${legendItems[0]['imageData']}\">`;\r\n } else {\r\n if (!skipLayerNameAndExpander) {\r\n legendHtml += '<span class=\"legend-items-expander\" title=\"Expand/Collapse\">▼</span>';\r\n }\r\n legendHtml += '<ul>';\r\n for (let i = 0; i < legendItems.length; i++) {\r\n legendHtml += `<li>`;\r\n legendHtml += `<span class=\"legend-layer-subitem\">${htmlEscape(legendItems[i]['label'])}</span>`;\r\n legendHtml += `<img class=\"legend-layer-icon\" height=\"17\" src=\"data:image/png;base64,${legendItems[i]['imageData']}\">`;\r\n legendHtml += `</li>`;\r\n }\r\n legendHtml += '</ul>';\r\n }\r\n\r\n if (!skipLayerNameAndExpander) {\r\n legendHtml = `<span class=\"legend-layer-subitem\">${layerName}</span>` + legendHtml;\r\n }\r\n\r\n return legendHtml;\r\n}\r\n\r\n/**\r\n * make map service legent\r\n * @param {object} esriResponse - layer info\r\n * @param showLayers - limited number of layers to show in map service\r\n * @returns {string} legend content\r\n */\r\nexport function makeMapServiceLegend(esriResponse: {layers: iMapServiceLegend[]}, showLayers: number[] = []) {\r\n \"use strict\";\r\n\r\n let newLegendHtml = '';\r\n\r\n let layers = esriResponse['layers'];\r\n\r\n if (layers.length == 1) {\r\n newLegendHtml += mapServiceLegendItem(layers[0], true);\r\n } else {\r\n newLegendHtml += '<ul>';\r\n for (let i = 0; i < layers.length; i++) {\r\n if (showLayers.length > 0 && showLayers.indexOf(i) < 0){\r\n continue;\r\n }\r\n newLegendHtml += '<li>' + mapServiceLegendItem(layers[i]) + '</li>';\r\n }\r\n newLegendHtml += '</ul>';\r\n }\r\n\r\n return newLegendHtml;\r\n}\r\n\r\nnm.makeMapServiceLegend = makeMapServiceLegend;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/esriToOlStyle.ts","/**\r\n * Created by gavorhes on 11/3/2015.\r\n */\r\n\r\nimport provide from './provide';\r\nlet nm = provide('util');\r\n\r\n\r\n/**\r\n * guids are used to uniquely identify groups and features\r\n * @returns {string} a new guid\r\n */\r\nexport function makeGuid() {\r\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'\r\n .replace(/[xy]/g, function (c) {\r\n let r = Math.random() * 16 | 0, v = c == 'x' ? r : r & 0x3 | 0x8;\r\n\r\n return v.toString(16);\r\n });\r\n\r\n}\r\nnm.makeGuid = makeGuid;\r\nexport default makeGuid;\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/util/makeGuid.ts","/**\r\n * Created by gavorhes on 12/8/2015.\r\n */\r\nimport provide from '../util/provide';\r\nimport ol = require('custom-ol');\r\nconst nm = provide('olHelpers');\r\n\r\n\r\n\r\n/**\r\n * base interaction\r\n */\r\nexport class MapInteractionBase {\r\n _map: ol.Map;\r\n _initialized: boolean;\r\n _subtype: string;\r\n\r\n /**\r\n * map interaction base\r\n * @param subtype - the interaction subtype\r\n */\r\n constructor(subtype: string) {\r\n this._map = null;\r\n this._initialized = false;\r\n this._subtype = subtype;\r\n }\r\n\r\n /**\r\n * base initializer, returns true for already initialized\r\n * @param theMap - the ol Map\r\n * @returns true for already initialized\r\n */\r\n init(theMap: ol.Map){\r\n if (!this._initialized){\r\n this._map = theMap;\r\n this._initialized = true;\r\n }\r\n }\r\n\r\n /**\r\n * get reference to the ol map object\r\n * @returns {ol.Map} the map object\r\n */\r\n get map() {\r\n return this._map;\r\n }\r\n\r\n /**\r\n * get if is initialized\r\n * @returns {boolean} is initialized\r\n */\r\n get initialized() {\r\n return this._initialized;\r\n }\r\n\r\n /**\r\n * Check the initialization status and throw exception if not valid yet\r\n * @protected\r\n */\r\n _checkInit() {\r\n if (!this.initialized) {\r\n let msg = `${this._subtype} object not initialized`;\r\n alert(msg);\r\n console.log(msg);\r\n throw msg;\r\n }\r\n }\r\n\r\n /**\r\n * Check the initialization status and throw exception if not valid yet\r\n */\r\n checkInit(){\r\n this._checkInit();\r\n }\r\n}\r\n\r\nnm.MapInteractionBase = MapInteractionBase;\r\nexport default MapInteractionBase;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/mapInteractionBase.ts","/**\r\n * Created by gavorhes on 12/16/2015.\r\n */\r\n\r\nimport provide from '../util/provide';\r\nimport makeGuid from '../util/makeGuid';\r\nimport mapMove from '../olHelpers/mapMove';\r\n\r\nlet nm = provide('collections');\r\nimport $ = require('jquery');\r\nimport {LayerBase} from \"../layers\";\r\n\r\nexport interface iLegendItem{\r\n groupName: string;\r\n collapse?: boolean;\r\n addCheck?: boolean;\r\n items: Array<iLegendItem|LayerBase>\r\n}\r\n\r\nexport interface iLegendOptions{\r\n layerDivClasses?: string[]\r\n legendTitle?: string\r\n scaleDependent?: boolean\r\n}\r\n\r\nclass LayerGroup {\r\n groupLayers: any;\r\n groupLayersLookup: any;\r\n groupGroupsLookup: any;\r\n groupGroups: any;\r\n itemIdArray: any;\r\n groupId: any;\r\n groupName: any;\r\n allLayerArray: any;\r\n parent: any;\r\n allGroupArray: any;\r\n allGroupLookup: any;\r\n allLayerLookup: any;\r\n collapse: boolean;\r\n addCheck: boolean;\r\n layerParentLookup: any;\r\n\r\n /**\r\n *\r\n * @param {object} [groupConfig={}] - group configuration object\r\n * @param {string} groupConfig.groupName - the group name\r\n * @param {boolean} [groupConfig.collapse=false] - if the group should be collapsed initially\r\n * @param {boolean} [groupConfig.addCheck=true] - if the group should have a checkbox controlling visibility of all layers\r\n * @param {LayerGroup} [parent=undefined] - the parent group\r\n */\r\n constructor(groupConfig?: iLegendItem, parent?: LayerGroup) {\r\n this.groupLayers = [];\r\n this.groupLayersLookup = {};\r\n this.groupGroups = [];\r\n this.groupGroupsLookup = {};\r\n this.itemIdArray = [];\r\n\r\n if (typeof groupConfig == 'undefined') {\r\n this.parent = null;\r\n this.groupId = 'root';\r\n this.groupName = 'root';\r\n this.allGroupLookup = {root: this};\r\n this.allGroupArray = [this];\r\n this.allLayerArray = [];\r\n this.allLayerLookup = {};\r\n this.layerParentLookup = {};\r\n this.collapse = false;\r\n this.addCheck = false;\r\n } else {\r\n this.groupId = makeGuid();\r\n this.parent = parent;\r\n this.groupName = groupConfig.groupName;\r\n this.collapse = typeof groupConfig.collapse == 'boolean' ? groupConfig.collapse : false;\r\n this.addCheck = typeof groupConfig.addCheck == 'boolean' ? groupConfig.addCheck : true;\r\n }\r\n }\r\n\r\n /**\r\n *\r\n * @param {object} groupConfig - configuration object\r\n * @param {string} groupConfig.groupName - the group name\r\n * @param {boolean} groupConfig.collapse if the group should be collapsed initially\r\n * @param {boolean} groupConfig.addCheck if the group should have a checkbox controlling visibility of all layers\r\n * @param {Array<LayerGroup>} parents parent groups\r\n * @returns {LayerGroup} the layer group just added\r\n */\r\n addGroup(groupConfig: iLegendItem, parents: string[]) {\r\n let parent;\r\n if (parents.length > 0) {\r\n parent = parents[parents.length - 1];\r\n } else {\r\n parent = 'root';\r\n }\r\n\r\n\r\n /**\r\n * @type {LayerGroup}\r\n */\r\n let parentGroup = this.allGroupLookup[parent];\r\n let newGroup = new LayerGroup(groupConfig, parentGroup);\r\n this.allGroupLookup[newGroup.groupId] = newGroup;\r\n this.allGroupArray.push(newGroup);\r\n\r\n parentGroup.groupGroups.push(newGroup);\r\n parentGroup.groupGroupsLookup[newGroup.groupId] = newGroup;\r\n\r\n if (parentGroup.itemIdArray.indexOf(newGroup.groupId) > 0) {\r\n console.log(newGroup.groupId);\r\n throw 'layer and group ids must be unique';\r\n }\r\n parentGroup.itemIdArray.push(newGroup.groupId);\r\n\r\n return newGroup;\r\n }\r\n\r\n /**\r\n *\r\n * @param {LayerBase} newLayer the layer to be added\r\n * @param {Array} parents array\r\n */\r\n addLegendLayer(newLayer: LayerBase, parents: string[]) {\r\n let parent;\r\n if (parents.length > 0) {\r\n parent = parents[parents.length - 1];\r\n } else {\r\n parent = 'root';\r\n }\r\n\r\n this.allLayerLookup[newLayer.id] = newLayer;\r\n this.allLayerArray.push(newLayer);\r\n\r\n /**\r\n * @type {LayerGroup}\r\n */\r\n let parentGroup = this.allGroupLookup[parent];\r\n\r\n parentGroup.groupLayers.push(newLayer);\r\n parentGroup.groupLayersLookup[newLayer.id] = newLayer;\r\n if (parentGroup.itemIdArray.indexOf(newLayer.id) > 0) {\r\n console.log(newLayer.id);\r\n throw 'layer and group ids must be unique';\r\n }\r\n parentGroup.itemIdArray.push(newLayer.id);\r\n\r\n this.layerParentLookup[newLayer.id] = parentGroup;\r\n\r\n }\r\n\r\n\r\n\r\n getLegendHtml(legendId: string, options: iLegendOptions) {\r\n\r\n\r\n let legendHtml = `<ul id=\"${legendId}\" class=\"legend-container\">`;\r\n\r\n legendHtml += `<li>${options.legendTitle}<input type=\"checkbox\" checked id=\"suppress-by-extent-${legendId}\" class=\"suppress-by-extent\">` +\r\n `<label title=\"Suppress layers not visible at this zoom level\" for=\"suppress-by-extent-${legendId}\">` +\r\n `<span></span>` +\r\n `</label></li>`;\r\n\r\n legendHtml += this._buildLegend(this.itemIdArray, this, options.layerDivClasses) + '</ul>';\r\n\r\n return legendHtml;\r\n }\r\n\r\n /**\r\n * @param {Array} itemIds the items to process\r\n * @param {LayerGroup} theGroup new group\r\n * @param {Array} [layerDivClasses=[]] optional classes to apply to the layer divs\r\n * @static\r\n * @returns {string} html string\r\n */\r\n _buildLegend(itemIds: string[], theGroup: LayerGroup, layerDivClasses: string[]): string {\r\n\r\n if (itemIds.length == 0) {\r\n return '';\r\n }\r\n\r\n let theHml = '';\r\n\r\n let itemId = itemIds[0];\r\n\r\n if (theGroup.groupLayersLookup[itemId]) {\r\n\r\n /**\r\n * @type {LayerBase}\r\n */\r\n let lyr = theGroup.groupLayersLookup[itemId];\r\n theHml += `<li id=\"${lyr.id}-layer-li\" class=\"legend-layer-li ${layerDivClasses.join(' ')}\">` + lyr.getLegendDiv() + '</li>';\r\n\r\n\r\n } else if (theGroup.groupGroupsLookup[itemId]) {\r\n /**\r\n * type {LayerGroup}\r\n */\r\n let otherGroup = theGroup.groupGroupsLookup[itemId];\r\n\r\n theHml += `<li>`;\r\n theHml += `<div id=\"${otherGroup.groupId}-legend-layer-div\" ` +\r\n `class=\"legend-layer-group ${layerDivClasses.join(' ')}\">`;\r\n\r\n if (otherGroup.addCheck) {\r\n theHml += `<input type=\"checkbox\" checked id=\"${otherGroup.groupId}-group-chck\">` +\r\n `<label for=\"${otherGroup.groupId}-group-chck\" title=\"Click arrow to expand or collapse\">${otherGroup.groupName}</label>`;\r\n } else {\r\n theHml += `<label title=\"Click arrow to expand or collapse\">${otherGroup.groupName}</label>`;\r\n }\r\n\r\n theHml += `<span title=\"Expand/Collapse\" class=\"layer-group-expander`;\r\n theHml += `${otherGroup.collapse ? ' legend-layer-group-initial-collapse' : ''}\">`;\r\n theHml += otherGroup.collapse ? '▶' : '▼';\r\n theHml += '</span>';\r\n\r\n //parents.push(groupId);\r\n theHml += '<ul>' + this._buildLegend(otherGroup.itemIdArray, otherGroup, layerDivClasses) + '</ul>';\r\n theHml += '</div>';\r\n theHml += '</li>';\r\n }\r\n\r\n return theHml + this._buildLegend(itemIds.slice(1), theGroup, layerDivClasses);\r\n }\r\n}\r\n\r\n\r\n/**\r\n * a wrapper to make a legend\r\n */\r\nexport class LayerLegend {\r\n\r\n $divElement: JQuery;\r\n _legendItems: Array<iLegendItem|LayerBase>;\r\n layerGroup: any;\r\n legendId: string;\r\n\r\n /**``\r\n *\r\n * @param {Array} legendItems array of layers or objects with {groupName: {string}, collapse: {boolean}, addCheck: {boolean}, items: {Array}}\r\n * @param {string} divId the div where the legend should be added\r\n * @param {object} options for legend\r\n * @param {Array} [options.layerDivClasses=[]] optional array of classes to be applied to the layer legend divs for custom styling\r\n * @param {string} [options.legendTitle=Legend] the legend title\r\n * @param {boolean} [options.scaleDependent=true] if legend display is scale dependent\r\n */\r\n constructor(legendItems: Array<iLegendItem|LayerBase>, divId: string, options: iLegendOptions = {}) {\r\n for (let i of legendItems) {\r\n if (typeof i == 'undefined') {\r\n throw 'undefined item passed in array to legend constructor';\r\n }\r\n }\r\n\r\n options.legendTitle = typeof options.legendTitle == 'string' ? options.legendTitle : 'Legend';\r\n options.scaleDependent = typeof options.scaleDependent == 'boolean' ? options.scaleDependent : true;\r\n options.layerDivClasses = options.layerDivClasses || [];\r\n\r\n // if legend display is scale dependent, make sure the mapMove object is initialized first\r\n if (options.scaleDependent) {\r\n mapMove.checkInit();\r\n }\r\n\r\n this.$divElement = $('#' + divId);\r\n\r\n this._legendItems = legendItems;\r\n\r\n this.layerGroup = new LayerGroup();\r\n\r\n this._buildTree(legendItems);\r\n\r\n this.legendId = makeGuid();\r\n\r\n this.$divElement.append(this.layerGroup.getLegendHtml(this.legendId, options));\r\n\r\n for (let l of this.layerGroup.allLayerArray){\r\n l.applyCollapse();\r\n }\r\n\r\n let _this = this;\r\n //// if legend display is scale dependent, make sure the mapMove object is initialized first\r\n if (options.scaleDependent) {\r\n mapMove.checkInit();\r\n\r\n mapMove.addCallback(function (ext, zoom, evt) {\r\n\r\n if (typeof evt == 'undefined' || evt == 'change:resolution') {\r\n for (let lyr of this.layerGroup.allLayerArray) {\r\n let $lyrLi = $('#' + lyr.id + '-layer-li');\r\n if (zoom > lyr.maxZoom || zoom < lyr.minZoom) {\r\n $lyrLi.addClass('layer-not-visible');\r\n } else {\r\n $lyrLi.removeClass('layer-not-visible');\r\n }\r\n }\r\n }\r\n }, this, 100, true, 'legend1');\r\n }\r\n\r\n // <editor-fold desc=\"add event listeners\">\r\n\r\n this.$divElement.find(\".suppress-by-extent\").change(function () {\r\n let legendLayerLis = $('.legend-layer-li');\r\n if (this.checked) {\r\n legendLayerLis.removeClass('layer-force-show');\r\n } else {\r\n legendLayerLis.addClass('layer-force-show');\r\n }\r\n });\r\n\r\n this.$divElement.find('.legend-check').change(function () {\r\n let lyrId = this.id.replace('-legend-layer-check', '');\r\n _this.layerGroup.allLayerLookup[lyrId].visible = this.checked;\r\n });\r\n\r\n this.$divElement.find('.legend-layer-group > input[type=checkbox]').change(function () {\r\n $(this).siblings('ul').find('input[type=checkbox]').prop('checked', this.checked).trigger('change');\r\n });\r\n\r\n this.$divElement.find('.layer-group-expander').click(function () {\r\n let $this = $(this);\r\n $this.removeClass('legend-layer-group-initial-collapse');\r\n\r\n $this.siblings('ul').slideToggle();\r\n\r\n if ($this.hasClass('legend-layer-group-collapsed')){\r\n $this.removeClass('legend-layer-group-collapsed');\r\n $this.html('▼');\r\n } else {\r\n $this.addClass('legend-layer-group-collapsed');\r\n $this.html('▶');\r\n }\r\n });\r\n\r\n this.$divElement.find('.legend-layer-group-initial-collapse').trigger('click');\r\n // </editor-fold>\r\n }\r\n\r\n\r\n /**\r\n * @param {Array} [legendItems=this._layerConfig] the legend items\r\n * @param {Array} [parents=[]] the ordered list of groups in which this item is a member\r\n * @private\r\n */\r\n _buildTree(legendItems: Array<iLegendItem|LayerBase>, parents?: string[]) {\r\n\r\n if (legendItems.length == 0) {\r\n return;\r\n }\r\n\r\n let oneItem = legendItems[0];\r\n\r\n //reset the parent if the item is in the base array\r\n if ((this._legendItems as Array<any>).indexOf(oneItem) > -1 || typeof parents == 'undefined') {\r\n parents = [];\r\n }\r\n\r\n if (typeof (oneItem as iLegendItem).groupName !== 'undefined') {\r\n let groupItem = legendItems[0];\r\n let newGroup = this.layerGroup.addGroup(groupItem, parents);\r\n parents.push(newGroup.groupId);\r\n this._buildTree((oneItem as iLegendItem).items, parents);\r\n } else {\r\n /**\r\n * @type {LayerBase}\r\n */\r\n let layerItem: LayerBase = legendItems[0] as LayerBase;\r\n\r\n this.layerGroup.addLegendLayer(layerItem, parents);\r\n }\r\n\r\n this._buildTree(legendItems.slice(1), parents);\r\n }\r\n}\r\n\r\nnm.LayerLegend = LayerLegend;\r\nexport default LayerLegend;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/collections/LayerLegend.ts","/**\r\n * Created by gavorhes on 11/3/2015.\r\n */\r\n\r\nimport MapPopupCls from './mapPopupCls';\r\n\r\n/**\r\n * The single popup object catch is that it is common to multimap pages\r\n * @type {MapPopupCls}\r\n */\r\nexport const mapPopup = new MapPopupCls() as MapPopupCls;\r\nexport default mapPopup;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/mapPopup.ts","/**\r\n * Created by gavorhes on 12/15/2015.\r\n */\r\n\r\nimport {quickMapOptions, quickMapBase} from './quickMapBase';\r\nimport provide from '../util/provide';\r\nimport mapMove from './mapMove';\r\nimport mapPopup from './mapPopup';\r\nimport ol = require('custom-ol');\r\nlet nm = provide('olHelpers');\r\n\r\nexport {quickMapOptions} from './quickMapBase';\r\n\r\n/**\r\n * Sets up a map with some default parameters and initializes\r\n * mapMove and mapPopup\r\n *\r\n * @param {object} [options={}] config options\r\n * @param {string} [options.divId=map] map div id\r\n * @param {object} [options.center={}] center config object\r\n * @param {number} [options.center.x=-10018378] center x, web mercator x or lon\r\n * @param {number} [options.center.y=5574910] center y, web mercator y or lat\r\n * @param {number} [options.zoom=7] zoom level\r\n * @param {number} [options.minZoom=undefined] min zoom\r\n * @param {number} [options.maxZoom=undefined] max zoom\r\n * @param {boolean} [options.baseSwitcher=true] if add base map switcher\r\n * @param {boolean} [options.fullScreen=false] if add base map switcher\r\n * @returns {ol.Map} the ol map\r\n */\r\nexport function quickMap(options : quickMapOptions = {}): ol.Map {\r\n let m = quickMapBase(options);\r\n mapMove.init(m);\r\n mapPopup.init(m);\r\n return m;\r\n}\r\n\r\n\r\nnm.quickMap = quickMap;\r\nexport default quickMap;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/quickMap.ts","/**\r\n * Created by gavorhes on 11/3/2015.\r\n */\r\n\r\nimport MapMoveCls from './mapMoveCls';\r\n\r\n/**\r\n * The single map move object catch is that it is common to multimap pages\r\n * @type {MapMoveCls}\r\n */\r\n\r\nexport const mapMove = new MapMoveCls();\r\nexport default mapMove;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/mapMove.ts","/**\r\n * Created by gavorhes on 9/23/2016.\r\n */\r\nimport {quickMap} from '../../olHelpers/quickMap';\r\nimport {LayerEsriMapServer} from \"../../layers/LayerEsriMapServer\";\r\nimport LayerLegend from '../../collections/LayerLegend';\r\n\r\n\r\nlet map = quickMap();\r\n\r\nlet wisDotRegions = new LayerEsriMapServer(\r\n 'http://transportal.cee.wisc.edu/applications/arcgis2/rest/services/MetaManager/Metamanager_regions/MapServer');\r\n\r\nlet sixYearPlan = new LayerEsriMapServer(\r\n 'http://transportal.cee.wisc.edu/applications/arcgis2/rest/services/MetaManager/SixYearPlan/MapServer', {name: 'Six Year Plan', legendCollapse: true});\r\n\r\nmap.addLayer(wisDotRegions.olLayer);\r\nmap.addLayer(sixYearPlan.olLayer);\r\n\r\nlet layerArray = [\r\n wisDotRegions,\r\n sixYearPlan\r\n // tipConfig.tipSegmentLayer,\r\n // tipConfig.metamanagerSegments,\r\n // {\r\n // groupName: 'ITS Inventory Layers',\r\n // collapse: true,\r\n // addCheck: false,\r\n // items: tipConfig.itsLayerCollection.layers\r\n // }\r\n];\r\n\r\nlet legend = new LayerLegend(layerArray, 'legend-container', {});\r\n\r\n\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/_tests/demos/simple_map.ts","/**\r\n * Created by gavorhes on 10/3/2016.\r\n */\r\nimport ol = require('custom-ol');\r\n\r\n\r\nexport const proj4326 = new ol.proj.Projection({code: 'EPSG:4326'});\r\nexport const proj3857 = new ol.proj.Projection({code: 'EPSG:3857'});\r\nexport const proj3070 = new ol.proj.Projection({code: 'EPSG:3070'});\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/olHelpers/projections.ts","import provide from './provide';\r\nlet nm = provide('util.checkDefined');\r\n\r\n/**\r\n * check if the input is undefined or null\r\n * @param input - input pointer\r\n * @returns true undefined or null\r\n */\r\nexport function undefinedOrNull (input: any): boolean{\r\n \"use strict\";\r\n\r\n return (typeof input === 'undefined' || input === null);\r\n}\r\n\r\nnm.undefinedOrNull = undefinedOrNull;\r\n\r\n\r\n/**\r\n * check if the input is defined and not null\r\n * @param input - input pointer\r\n * @returns true defined and not null\r\n */\r\nexport function definedAndNotNull (input: any): boolean{\r\n \"use strict\";\r\n\r\n return !(undefinedOrNull(input));\r\n}\r\n\r\nnm.definedAndNotNull = definedAndNotNull;\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/util/checkDefined.ts"],"sourceRoot":""} \ No newline at end of file diff --git a/test/serve/js/slider-test.js b/test/serve/js/slider-test.js index a10e98e8a1105d373868b7f77403fb601226d633..73104011757d029666e185745d45e623dbbeeb83 100644 --- a/test/serve/js/slider-test.js +++ b/test/serve/js/slider-test.js @@ -63,7 +63,7 @@ /******/ __webpack_require__.p = ""; /******/ /******/ // Load entry module and return exports -/******/ return __webpack_require__(__webpack_require__.s = 76); +/******/ return __webpack_require__(__webpack_require__.s = 78); /******/ }) /************************************************************************/ /******/ ({ @@ -641,7 +641,7 @@ exports.default = TipSliders; /***/ }), -/***/ 76: +/***/ 78: /***/ (function(module, exports, __webpack_require__) { "use strict"; diff --git a/test/serve/js/slider-test.js.map b/test/serve/js/slider-test.js.map index 405ca5d3f47575e1686b0c94098338f9fb5da790..062aa3d3ed1af0a51bf82d238d4f642a8b387cdc 100644 --- a/test/serve/js/slider-test.js.map +++ b/test/serve/js/slider-test.js.map @@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap b7d91eb15b0b6dcf7ee0?08c4*******","webpack:///./src/util/provide.ts?5c82******","webpack:///external \"$\"?57aa******","webpack:///./src/collections/Sliders.ts","webpack:///./src/_tests/demos/slider-test.ts"],"names":[],"mappings":"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","file":"slider-test.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 76);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap b7d91eb15b0b6dcf7ee0","/**\r\n * Created by gavorhes on 12/10/2015.\r\n */\r\n\r\ndeclare const window: Window;\r\n/**\r\n * create a namespace on the gv object\r\n * @param {string} namespace to create\r\n * @returns {object} object representing the namespace\r\n */\r\nfunction provide(namespace: string){\r\n \"use strict\";\r\n if (typeof (<any>window).gv == 'undefined'){\r\n (<any>window).gv = {};\r\n }\r\n\r\n let parts = namespace.split('.');\r\n let nameSpace = (<any>window).gv;\r\n\r\n for (let i=0; i< parts.length; i++){\r\n let newObject = nameSpace[parts[i]];\r\n\r\n if (typeof newObject == 'undefined'){\r\n nameSpace[parts[i]] = {};\r\n }\r\n\r\n nameSpace = nameSpace[parts[i]];\r\n }\r\n\r\n return nameSpace;\r\n}\r\n\r\nprovide('util');\r\n(<any>window).gv.util.provide = provide;\r\n\r\nexport default provide;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/util/provide.ts","module.exports = $;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"$\"\n// module id = 1\n// module chunks = 0 1 2 4 5 6 7 8 9","/**\r\n * Created by gavorhes on 12/10/2015.\r\n */\r\n\r\nimport provide from '../util/provide';\r\nimport $ = require('jquery');\r\n\r\nlet nm = provide('collections');\r\n\r\nexport interface TipSliderConfig {\r\n label: string;\r\n yearOptions: Array<{column: string, label: string}>\r\n}\r\n\r\nexport interface TipPresetConfig {\r\n label: string;\r\n presets: Array<{column: string, value: number}>\r\n}\r\n\r\nexport interface ChangeResponse{\r\n paramWeights: Object;\r\n region: string;\r\n mmVersion: string;\r\n}\r\n\r\nexport interface ChangeCallback{\r\n (chg: ChangeResponse): any\r\n}\r\n\r\n\r\nclass TipPresets implements TipPresetConfig {\r\n label: string;\r\n presets: Array<{column: string, value: number}>;\r\n domId: string;\r\n\r\n constructor(conf: TipPresetConfig) {\r\n this.label = conf.label;\r\n this.presets = conf.presets;\r\n this.domId = this.label.replace(/ /g, '').toLowerCase();\r\n\r\n let theSum = 0;\r\n\r\n for (let pr of this.presets){\r\n theSum += pr.value;\r\n }\r\n\r\n if (theSum != 100){\r\n throw 'preset sum does note equal 100';\r\n }\r\n }\r\n}\r\n\r\n\r\nclass _Slider {\r\n _min: number;\r\n _max: number;\r\n _locked: boolean;\r\n atMin: boolean;\r\n atMax: boolean;\r\n _weightDefault: number;\r\n _weight: number;\r\n html: string;\r\n domId: string;\r\n name: string;\r\n\r\n labelLow: JQuery;\r\n labelHigh: JQuery;\r\n labelVal: JQuery;\r\n slider: JQuery;\r\n selectionBox: JQuery;\r\n chk: JQuery;\r\n\r\n selectedParam: any;\r\n selectedParamDefault: any;\r\n _dropdownSelection: string;\r\n\r\n /**\r\n * Slider constructor\r\n * @param sliderConfig - the configuration\r\n\r\n */\r\n constructor(sliderConfig: TipSliderConfig) {\r\n this._dropdownSelection = null;\r\n this._weight = null;\r\n this.name = sliderConfig.label;\r\n this.domId = this.name.toLowerCase().replace(/ /g, '-');\r\n\r\n this._locked = false;\r\n\r\n this._min = 0.0;\r\n this._max = 100;\r\n\r\n this.labelLow = null;\r\n this.labelHigh = null;\r\n this.labelVal = null;\r\n this.slider = null;\r\n this.chk = null;\r\n\r\n this.atMin = false;\r\n this.atMax = false;\r\n\r\n\r\n let sel = `<select class=\"${sliderConfig.yearOptions.length == 1 ? 'hidden-select' : 'show-select'}\" id=\"${this.domId}_chg\">`;\r\n\r\n for (let i = 0; i < sliderConfig.yearOptions.length; i++) {\r\n let itm = sliderConfig.yearOptions[i];\r\n sel += `<option value=\"${itm.column}\">${itm.label}</option>`;\r\n }\r\n sel += '</select>';\r\n\r\n this.selectedParamDefault = this.selectedParam;\r\n\r\n this.html = '<div class=\"slider-div\">' +\r\n `<label for=\"${this.domId}_chk\" class=\"slider-label\">${this.name}</label>` +\r\n sel + `<br>` +\r\n `<input id=\"${this.domId}_chk\" type=\"checkbox\" title=\"Lock/Unlock Slider\">` +\r\n `<label id=\"${this.domId}_low\" class=\"low-high\"></label>` +\r\n `<input id=\"${this.domId}\" type=\"range\" value=\"50\" min=\"0\" max=\"100\" step=\"0.1\">` +\r\n `<label id=\"${this.domId}_high\" class=\"low-high\"></label>` +\r\n `<label id=\"${this.domId}_lbl\" for=\"${this.domId}\" class=\"percent-label\"></label></div>`;\r\n }\r\n\r\n /**\r\n * add html to dom\r\n * @param {jQuery} $container - container element\r\n */\r\n addToDom($container: JQuery) {\r\n $container.append(this.html);\r\n this.labelLow = $(`#${this.domId}_low`);\r\n this.labelHigh = $(`#${this.domId}_high`);\r\n this.labelVal = $(`#${this.domId}_lbl`);\r\n this.slider = $(`#${this.domId}`);\r\n this.selectionBox = $(`#${this.domId}_chg`);\r\n this.chk = $(`#${this.domId}_chk`);\r\n }\r\n\r\n /**\r\n * increment the slider\r\n * @param {number} delta change delta\r\n * @returns {number} the remainder not able to be allocated to this slider\r\n */\r\n increment(delta: number): number {\r\n let remainder = 0;\r\n delta = Number(delta.toFixed(1));\r\n\r\n this._weight += delta;\r\n if (this._weight < this._min) {\r\n remainder = this._min - this._weight;\r\n this._weight = this._min;\r\n this.atMin = true;\r\n } else if (this._weight > this._max) {\r\n remainder = this._max - this._weight;\r\n this._weight = this._max;\r\n this.atMax = true;\r\n } else {\r\n this.atMin = false;\r\n this.atMax = false;\r\n }\r\n\r\n this.slider.val(this._weight.toFixed(1));\r\n this.labelVal.html(this._weight.toFixed(1) + '%');\r\n\r\n return remainder;\r\n }\r\n\r\n /**\r\n * set the value and drop down\r\n * @param {number} newVal the new value\r\n * @param {string} selectedParam the selected parameter\r\n */\r\n setValAndDropDown(newVal: number, selectedParam: string) {\r\n this.min = 0;\r\n this.max = 100;\r\n this.weight = newVal;\r\n this.slider.val(newVal.toFixed(1));\r\n this.selectionBox.val(selectedParam);\r\n this.selectedParam = selectedParam;\r\n this.locked = true;\r\n }\r\n\r\n /**\r\n *\r\n * @returns {boolean} if locked\r\n */\r\n get locked() {\r\n return this._locked;\r\n }\r\n\r\n /**\r\n *\r\n * @param {boolean} val if locked\r\n */\r\n set locked(val) {\r\n this._locked = val;\r\n this.slider.prop('disabled', this._locked);\r\n this.selectionBox.prop('disabled', this._locked);\r\n this.chk.prop('checked', !this._locked);\r\n }\r\n\r\n /**\r\n *\r\n * @returns {number} the minimum\r\n */\r\n get min() {\r\n return this._min;\r\n }\r\n\r\n /**\r\n *\r\n * @param {number} newVal new minimum\r\n */\r\n set min(newVal) {\r\n this._min = Number(newVal.toFixed(1));\r\n if (this._min < 0) {\r\n this._min = 0;\r\n }\r\n this.labelLow.html(this._min.toFixed(1));\r\n this.slider.attr('min', this._min.toFixed(1));\r\n this.atMin = this._weight == this._min;\r\n }\r\n\r\n /**\r\n *\r\n * @returns {number} the maximum\r\n */\r\n get max() {\r\n return this._max;\r\n }\r\n\r\n /**\r\n *\r\n * @param {number} newVal the maximum\r\n */\r\n set max(newVal) {\r\n this._max = Number(newVal.toFixed(1));\r\n if (this._max > 100) {\r\n this._max = 100.0;\r\n }\r\n this.labelHigh.html(this._max.toFixed(1));\r\n this.slider.attr('max', this._max.toFixed(1));\r\n this.atMax = this._weight == this._max;\r\n }\r\n\r\n /**\r\n *\r\n * @returns {number} the weight\r\n */\r\n get weight() {\r\n return this._weight;\r\n }\r\n\r\n /**\r\n *\r\n * @param {number} newVal the weight\r\n */\r\n set weight(newVal) {\r\n this._weight = Number(newVal.toFixed(1));\r\n this.labelVal.html(this._weight.toFixed(1) + '%');\r\n if (this._weight <= this._min) {\r\n this.atMin = true;\r\n this.atMax = false;\r\n } else if (this._weight >= this._max) {\r\n this.atMin = false;\r\n this.atMax = true;\r\n } else {\r\n this.atMin = false;\r\n this.atMax = false;\r\n }\r\n }\r\n}\r\n\r\nnm._Slider = _Slider;\r\n\r\n\r\n/**\r\n * class to keep track of the sliders\r\n */\r\nexport class TipSliders {\r\n $container: JQuery;\r\n reservedPercent: number;\r\n lockedCount: number;\r\n notLockedCount: number;\r\n private _sliderList: Array<_Slider>;\r\n private _sliderLookup: {[s: string]: _Slider};\r\n private resetting: boolean;\r\n private _changedCallback: ChangeCallback;\r\n\r\n private _lockedList: Array<_Slider>;\r\n private _inRangeList: Array<_Slider>;\r\n private _atMinList: Array<_Slider>;\r\n private _atMaxList: Array<_Slider>;\r\n\r\n private _presetArray: Array<TipPresets>;\r\n private _presetLookup: {[s: string]: TipPresets};\r\n\r\n private _$presetSelector: JQuery;\r\n private _$regionSelector: JQuery;\r\n private _$versionSelector: JQuery;\r\n\r\n /**\r\n *\r\n * @param sliderConfigs\r\n * @param presetConfig\r\n * @param divId\r\n * @param presetSelector\r\n * @param regionSelector\r\n * @param versionSelector\r\n * @param chgCallback\r\n */\r\n constructor(sliderConfigs: Array<TipSliderConfig>, presetConfig: Array<TipPresetConfig>,\r\n divId: string, presetSelector: JQuery, regionSelector: JQuery, versionSelector: JQuery,\r\n chgCallback?: ChangeCallback) {\r\n\r\n this.resetting = false;\r\n this.reservedPercent = 0.0;\r\n this.$container = $('#' + divId);\r\n this.$container.addClass('slider-container');\r\n\r\n this._changedCallback = typeof chgCallback == 'function' ? chgCallback : () => {};\r\n\r\n this._$presetSelector = presetSelector;\r\n this._$regionSelector = regionSelector;\r\n this._$versionSelector = versionSelector;\r\n\r\n this._sliderList = [];\r\n this._sliderLookup = {};\r\n\r\n for (let i = 0; i < sliderConfigs.length; i++) {\r\n let sld = new _Slider(sliderConfigs[i]);\r\n this._sliderList.push(sld);\r\n this._sliderLookup[sld.domId] = sld;\r\n sld.addToDom(this.$container);\r\n }\r\n\r\n this._presetArray = [];\r\n this._presetLookup = {};\r\n\r\n for (let i = 0; i < presetConfig.length; i++) {\r\n let preset = new TipPresets(presetConfig[i]);\r\n\r\n let idx = (i + 1).toFixed();\r\n\r\n this._presetLookup[idx] = preset;\r\n this._presetArray.push(preset);\r\n this._$presetSelector.append(`<option value=\"${idx}\">${preset.label}</option>`);\r\n }\r\n\r\n\r\n this._lockedList = [];\r\n this._inRangeList = [];\r\n this._atMinList = [];\r\n this._atMaxList = [];\r\n\r\n this.lockedCount = 10;\r\n this.notLockedCount = 0;\r\n\r\n this._splitSliderArray();\r\n\r\n\r\n this._$presetSelector.change(() => {\r\n this.setPresetValues();\r\n this._runChangedCallback();\r\n });\r\n\r\n this._$regionSelector.change(() => {\r\n this._runChangedCallback();\r\n });\r\n\r\n this._$versionSelector.change(() => {\r\n this._runChangedCallback();\r\n });\r\n\r\n this._$presetSelector.trigger('change');\r\n\r\n this._addEventListeners();\r\n }\r\n\r\n _runChangedCallback(){\r\n this._changedCallback(this.paramWeightsRegionVersion);\r\n }\r\n\r\n get changedCallback(): ChangeCallback{\r\n return this._changedCallback\r\n }\r\n\r\n set changedCallback(chg: ChangeCallback){\r\n this._changedCallback = chg;\r\n this._runChangedCallback();\r\n }\r\n\r\n setPresetValues() {\r\n let idx = this._$presetSelector.val() || '1';\r\n\r\n let thePreset = this._presetLookup[idx];\r\n\r\n for (let i = 0; i < thePreset.presets.length; i++) {\r\n let presetValues = thePreset.presets[i];\r\n let theSlider = this._sliderList[i];\r\n\r\n theSlider.locked = true;\r\n theSlider.setValAndDropDown(presetValues.value, presetValues.column);\r\n }\r\n }\r\n\r\n /**\r\n * split array into subarrays holding the sliders\r\n * @private\r\n */\r\n _splitSliderArray() {\r\n this._lockedList = [];\r\n this._inRangeList = [];\r\n this._atMinList = [];\r\n this._atMaxList = [];\r\n\r\n for (let i = 0; i < this._sliderList.length; i++) {\r\n let sld = this._sliderList[i];\r\n\r\n if (sld.locked) {\r\n this._lockedList.push(sld);\r\n } else if (sld.atMin) {\r\n this._atMinList.push(sld);\r\n } else if (sld.atMax) {\r\n this._atMaxList.push(sld);\r\n } else {\r\n this._inRangeList.push(sld);\r\n }\r\n }\r\n this.lockedCount = this._lockedList.length;\r\n this.notLockedCount = this._sliderList.length - this.lockedCount;\r\n }\r\n\r\n /**\r\n * handle remainder, recursive to take care of min max overshoots\r\n * @param {number} remain the remainder\r\n * @param {string} skipDomId - this dom id\r\n * @private\r\n */\r\n _handleRemainder(remain: number, skipDomId: string) {\r\n\r\n remain = Number(remain.toFixed(1));\r\n if (remain == 0) {\r\n return;\r\n }\r\n\r\n this._splitSliderArray();\r\n\r\n let canChangeArray = [];\r\n for (let i = 0; i < this._inRangeList.length; i++) {\r\n let sld = this._inRangeList[i];\r\n if (sld.domId == skipDomId) {\r\n continue;\r\n }\r\n canChangeArray.push(sld);\r\n }\r\n\r\n if (remain > 0) {\r\n for (let i = 0; i < this._atMaxList.length; i++) {\r\n let sld = this._atMaxList[i];\r\n if (sld.domId == skipDomId) {\r\n continue;\r\n }\r\n canChangeArray.push(sld);\r\n }\r\n } else {\r\n for (let i = 0; i < this._atMinList.length; i++) {\r\n let sld = this._atMinList[i];\r\n if (sld.domId == skipDomId) {\r\n continue;\r\n }\r\n canChangeArray.push(sld);\r\n }\r\n }\r\n\r\n if (canChangeArray.length == 0) {\r\n return;\r\n }\r\n\r\n let inc = -1 * Number((remain / canChangeArray.length).toFixed(1));\r\n\r\n let newRemainder = 0;\r\n for (let i = 0; i < canChangeArray.length; i++) {\r\n newRemainder += canChangeArray[i].increment(inc);\r\n }\r\n\r\n this._handleRemainder(newRemainder, skipDomId);\r\n }\r\n\r\n /**\r\n *\r\n * @param {object} keyValList key and value list\r\n */\r\n setValues(keyValList: {[s:string]: [number, string]}) {\r\n this.resetting = true;\r\n for (let k in keyValList) {\r\n if (keyValList.hasOwnProperty(k)) {\r\n this._sliderLookup[k].setValAndDropDown(keyValList[k][0], keyValList[k][1]);\r\n }\r\n }\r\n this.resetting = false;\r\n }\r\n\r\n /**\r\n * get the weight sum\r\n * @returns {number} the weight sum\r\n */\r\n getSum() {\r\n let total = 0;\r\n for (let i = 0; i < this._sliderList.length; i++) {\r\n let sld = this._sliderList[i];\r\n total += Number(sld.weight.toFixed(1));\r\n }\r\n\r\n return total;\r\n }\r\n\r\n /**\r\n * get the parameter weights\r\n * @returns {object} lookup with parameter weights\r\n */\r\n getParams() {\r\n let paramWeights: {[s: string]: number} = {};\r\n for (let i = 0; i < this._sliderList.length; i++) {\r\n let sld = this._sliderList[i];\r\n paramWeights[sld.selectedParam] = Number(sld.weight.toFixed(1));\r\n }\r\n\r\n return paramWeights;\r\n }\r\n\r\n _addEventListeners() {\r\n let ___this = this;\r\n\r\n\r\n //change function\r\n this.$container.find('input[type=\"range\"]').change(function () {\r\n if (___this.resetting) {\r\n return;\r\n }\r\n\r\n let $this = $(this);\r\n let domId = this['id'];\r\n let sldr = ___this._sliderLookup[domId];\r\n\r\n let newValue = parseFloat($this.val());\r\n\r\n let oldValue = sldr.weight;\r\n let diff = newValue - oldValue;\r\n diff = Number(diff.toFixed(1));\r\n\r\n sldr.weight = Number(newValue.toFixed(1));\r\n\r\n ___this._handleRemainder(diff, domId);\r\n\r\n //cleanup, make sure the sum is still 100\r\n let sum = Number(___this.getSum().toFixed(1));\r\n\r\n if (sum > 100) {\r\n loop1:\r\n while (true) {\r\n for (let i = 0; i < ___this._sliderList.length; i++) {\r\n let sld = ___this._sliderList[i];\r\n if (sld.domId == domId || sld.locked || sld.atMin) {\r\n continue;\r\n }\r\n sld.increment(-0.1);\r\n sum -= 0.1;\r\n if (sum.toFixed(1) == '100.0') {\r\n break loop1;\r\n }\r\n }\r\n }\r\n } else if (sum < 100) {\r\n loop1:\r\n while (true) {\r\n for (let i = 0; i < ___this._sliderList.length; i++) {\r\n let sld = ___this._sliderList[i];\r\n if (sld.domId == domId || sld.locked || sld.atMax) {\r\n continue;\r\n }\r\n sld.increment(0.1);\r\n sum += 0.1;\r\n if (sum.toFixed(1) == '100.0') {\r\n break loop1;\r\n }\r\n }\r\n }\r\n }\r\n\r\n ___this._$presetSelector.val('0');\r\n ___this._runChangedCallback();\r\n }\r\n );\r\n\r\n //update the selected parameter when the selection is changed\r\n $('.show-select').change(function () {\r\n if (___this.resetting) {\r\n return;\r\n }\r\n ___this._sliderLookup[this['id'].replace('_chg', '')].selectedParam = $(this).val();\r\n\r\n ___this._$presetSelector.val('0');\r\n\r\n ___this._runChangedCallback();\r\n\r\n });\r\n\r\n //lock the slider and update the reserved percent\r\n this.$container.find('input[type=\"checkbox\"]').change(function () {\r\n let domEl = this;\r\n\r\n ___this._sliderLookup[domEl.id.replace('_chk', '')].locked = !domEl.checked;\r\n ___this.reservedPercent = 0.0;\r\n ___this.notLockedCount = 0;\r\n\r\n let notLockedSliders = [];\r\n\r\n for (let i = 0; i < ___this._sliderList.length; i++) {\r\n let sld = ___this._sliderList[i];\r\n if (sld.locked) {\r\n ___this.reservedPercent += sld.weight;\r\n continue;\r\n }\r\n notLockedSliders.push(sld);\r\n ___this.notLockedCount++;\r\n }\r\n\r\n for (let i = 0; i < ___this._sliderList.length; i++) {\r\n let sld = ___this._sliderList[i];\r\n if (sld.locked) {\r\n continue;\r\n }\r\n sld.max = 100 - ___this.reservedPercent;\r\n }\r\n\r\n if (notLockedSliders.length == 1) {\r\n notLockedSliders[0].min = notLockedSliders[0].weight;\r\n } else {\r\n for (let i = 0; i < notLockedSliders.length; i++) {\r\n notLockedSliders[i].min = 0;\r\n }\r\n }\r\n });\r\n\r\n }\r\n\r\n get paramWeightsRegionVersion(): ChangeResponse{\r\n return {paramWeights: this.getParams(),\r\n region: this._$regionSelector.val() as string, mmVersion: this._$versionSelector.val() as string}\r\n }\r\n}\r\n\r\nnm.Sliders = TipSliders;\r\nexport default TipSliders;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/collections/Sliders.ts","/**\r\n * Created by gavorhes on 6/22/2016.\r\n */\r\nimport {TipSliders, TipPresetConfig, TipSliderConfig} from '../../collections/Sliders';\r\nimport $ = require('jquery');\r\nimport ol = require('custom-ol');\r\nimport 'jquery-ui';\r\n\r\n\r\n\r\nexport interface ITipConfig{\r\n slidersConfig: Array<TipSliderConfig>;\r\n presetConfig: Array<TipPresetConfig>;\r\n tipSegmentLayerMinZoom: number;\r\n sliders: TipSliders;\r\n _map: ol.Map;\r\n $loadingGif: JQuery;\r\n $presetSelector: JQuery;\r\n $regionSelector: JQuery;\r\n $versionSelector: JQuery;\r\n itsLayerCollection: any;\r\n tipSegmentLayer: any;\r\n metamanagerSegments: any;\r\n}\r\n\r\nexport const tipConfig = {\r\n $loadingGif: $('#loading-gif'),\r\n $presetSelector: $('#preset-selector'),\r\n $regionSelector: $('#region-selector'),\r\n $versionSelector: $('#version-selector'),\r\n tipSegmentLayerMinZoom: 10,\r\n slidersConfig: [\r\n {\r\n label: 'AADT',\r\n yearOptions: [\r\n {label: '1', column: 'aadtyr_1'}\r\n ]\r\n },\r\n {\r\n label: 'AADT Future',\r\n yearOptions: [\r\n {label: '5', column: 'aadtyr_5'},\r\n {label: '10', column: 'aadtyr_10'},\r\n {label: '15', column: 'aadtyr_15'},\r\n {label: '20', column: 'aadtyr_20'}\r\n ]\r\n },\r\n {\r\n label: 'Growth',\r\n yearOptions: [\r\n {label: '5', column: 'growth_5'},\r\n {label: '10', column: 'growth_10'},\r\n {label: '15', column: 'growth_15'},\r\n {label: '20', column: 'growth_20'}\r\n ]\r\n },\r\n {\r\n label: 'Truck',\r\n yearOptions: [\r\n {label: '1', column: 'trkdyr_1'},\r\n {label: '20', column: 'trkdyr_20'}\r\n ]\r\n },\r\n {\r\n label: 'LOS',\r\n yearOptions: [\r\n {label: '1', column: 'losyr_1'}\r\n ]\r\n },\r\n {\r\n label: 'LOS Future',\r\n yearOptions: [\r\n {label: '5', column: 'losyr_5'},\r\n {label: '10', column: 'losyr_10'},\r\n {label: '15', column: 'losyr_15'},\r\n {label: '20', column: 'losyr_20'}\r\n ]\r\n },\r\n {\r\n label: 'Crash Rate',\r\n yearOptions: [\r\n {label: 1, column: 'crash_rate'}\r\n ]\r\n },\r\n {\r\n label: 'Severity',\r\n yearOptions: [\r\n {label: 1, column: 'crash_severity'}\r\n ]\r\n },\r\n {\r\n label: 'Weather',\r\n yearOptions: [\r\n {label: 1, column: 'weather'}\r\n ]\r\n },\r\n {\r\n label: 'Event',\r\n yearOptions: [\r\n {label: 1, column: 'event'}\r\n ]\r\n }\r\n ] as Array<TipSliderConfig>,\r\n presetConfig: [\r\n {\r\n label: 'Default TIP',\r\n presets: [\r\n {column: 'aadtyr_1', value: 10.0},\r\n {column: 'aadtyr_20', value: 7.0},\r\n {column: 'growth_20', value: 7.0},\r\n {column: 'trkdyr_1', value: 4.0},\r\n {column: 'losyr_1', value: 12.0},\r\n {column: 'losyr_20', value: 12.0},\r\n {column: 'crash_rate', value: 15.0},\r\n {column: 'crash_severity', value: 13.0},\r\n {column: 'weather', value: 9.0},\r\n {column: 'event', value: 11.0}\r\n ]\r\n },\r\n {\r\n label: 'Safety',\r\n presets: [\r\n {column: 'aadtyr_1', value: 20.0},\r\n {column: 'aadtyr_20', value: 0.0},\r\n {column: 'growth_20', value: 0.0},\r\n {column: 'trkdyr_1', value: 0.0},\r\n {column: 'losyr_1', value: 0.0},\r\n {column: 'losyr_20', value: 0.0},\r\n {column: 'crash_rate', value: 40.0},\r\n {column: 'crash_severity', value: 40.0},\r\n {column: 'weather', value: 0.0},\r\n {column: 'event', value: 0.0}\r\n ]\r\n },\r\n {\r\n label: 'Mobility Present',\r\n presets: [\r\n {column: 'aadtyr_1', value: 25.0},\r\n {column: 'aadtyr_20', value: 25.0},\r\n {column: 'growth_20', value: 0.0},\r\n {column: 'trkdyr_1', value: 25.0},\r\n {column: 'losyr_1', value: 25.0},\r\n {column: 'losyr_20', value: 0.0},\r\n {column: 'crash_rate', value: 0.0},\r\n {column: 'crash_severity', value: 0.0},\r\n {column: 'weather', value: 0.0},\r\n {column: 'event', value: 0.0}\r\n ]\r\n },\r\n {\r\n label: 'Mobility Future',\r\n presets: [\r\n {column: 'aadtyr_1', value: 0.0},\r\n {column: 'aadtyr_20', value: 25.0},\r\n {column: 'growth_20', value: 25.0},\r\n {column: 'trkdyr_1', value: 25.0},\r\n {column: 'losyr_1', value: 0.0},\r\n {column: 'losyr_20', value: 25.0},\r\n {column: 'crash_rate', value: 0.0},\r\n {column: 'crash_severity', value: 0.0},\r\n {column: 'weather', value: 0.0},\r\n {column: 'event', value: 0.0}\r\n ]\r\n },\r\n {\r\n label: 'Service',\r\n presets: [\r\n {column: 'aadtyr_1', value: 30.0},\r\n {column: 'aadtyr_20', value: 0.0},\r\n {column: 'growth_20', value: 10.0},\r\n {column: 'trkdyr_1', value: 0.0},\r\n {column: 'losyr_1', value: 30.0},\r\n {column: 'losyr_20', value: 30.0},\r\n {column: 'crash_rate', value: 0.0},\r\n {column: 'crash_severity', value: 0.0},\r\n {column: 'weather', value: 0.0},\r\n {column: 'event', value: 0.0}\r\n ]\r\n },\r\n {\r\n label: 'Freight Performance',\r\n presets: [\r\n {column: 'aadtyr_1', value: 20.0},\r\n {column: 'aadtyr_20', value: 0.0},\r\n {column: 'growth_20', value: 0.0},\r\n {column: 'trkdyr_1', value: 60.0},\r\n {column: 'losyr_1', value: 20.0},\r\n {column: 'losyr_20', value: 0.0},\r\n {column: 'crash_rate', value: 0.0},\r\n {column: 'crash_severity', value: 0.0},\r\n {column: 'weather', value: 0.0},\r\n {column: 'event', value: 0.0}\r\n ]\r\n }\r\n ] as Array<TipPresetConfig>\r\n\r\n} as ITipConfig;\r\n\r\ntipConfig.$presetSelector.append('<option value=\"0\" disabled=>Custom</option>');\r\n\r\nlet sliders = new TipSliders(tipConfig.slidersConfig, tipConfig.presetConfig, 'slider-container',\r\n tipConfig.$presetSelector, tipConfig.$regionSelector, tipConfig.$regionSelector, (chg) => {console.log(chg)});\r\n\r\n// sliders.changedCallback = (chg) => {console.log(chg)};\r\n\r\nwindow['glob'] = sliders;\r\nwindow['hat'] = sliders;\r\nwindow['bird'] = sliders;\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/_tests/demos/slider-test.ts"],"sourceRoot":""} \ No newline at end of file +{"version":3,"sources":["webpack:///webpack/bootstrap 85176672b243dd643c6c?aa7c********","webpack:///./src/util/provide.ts?5c82*******","webpack:///external \"$\"?57aa*******","webpack:///./src/collections/Sliders.ts","webpack:///./src/_tests/demos/slider-test.ts"],"names":[],"mappings":"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","file":"slider-test.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId])\n \t\t\treturn installedModules[moduleId].exports;\n\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// identity function for calling harmony imports with the correct context\n \t__webpack_require__.i = function(value) { return value; };\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 78);\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 85176672b243dd643c6c","/**\r\n * Created by gavorhes on 12/10/2015.\r\n */\r\n\r\ndeclare const window: Window;\r\n/**\r\n * create a namespace on the gv object\r\n * @param {string} namespace to create\r\n * @returns {object} object representing the namespace\r\n */\r\nfunction provide(namespace: string){\r\n \"use strict\";\r\n if (typeof (<any>window).gv == 'undefined'){\r\n (<any>window).gv = {};\r\n }\r\n\r\n let parts = namespace.split('.');\r\n let nameSpace = (<any>window).gv;\r\n\r\n for (let i=0; i< parts.length; i++){\r\n let newObject = nameSpace[parts[i]];\r\n\r\n if (typeof newObject == 'undefined'){\r\n nameSpace[parts[i]] = {};\r\n }\r\n\r\n nameSpace = nameSpace[parts[i]];\r\n }\r\n\r\n return nameSpace;\r\n}\r\n\r\nprovide('util');\r\n(<any>window).gv.util.provide = provide;\r\n\r\nexport default provide;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/util/provide.ts","module.exports = $;\n\n\n//////////////////\n// WEBPACK FOOTER\n// external \"$\"\n// module id = 1\n// module chunks = 0 1 2 4 5 6 7 8 9 10","/**\r\n * Created by gavorhes on 12/10/2015.\r\n */\r\n\r\nimport provide from '../util/provide';\r\nimport $ = require('jquery');\r\n\r\nlet nm = provide('collections');\r\n\r\nexport interface TipSliderConfig {\r\n label: string;\r\n yearOptions: Array<{column: string, label: string}>\r\n}\r\n\r\nexport interface TipPresetConfig {\r\n label: string;\r\n presets: Array<{column: string, value: number}>\r\n}\r\n\r\nexport interface ChangeResponse{\r\n paramWeights: Object;\r\n region: string;\r\n mmVersion: string;\r\n}\r\n\r\nexport interface ChangeCallback{\r\n (chg: ChangeResponse): any\r\n}\r\n\r\n\r\nclass TipPresets implements TipPresetConfig {\r\n label: string;\r\n presets: Array<{column: string, value: number}>;\r\n domId: string;\r\n\r\n constructor(conf: TipPresetConfig) {\r\n this.label = conf.label;\r\n this.presets = conf.presets;\r\n this.domId = this.label.replace(/ /g, '').toLowerCase();\r\n\r\n let theSum = 0;\r\n\r\n for (let pr of this.presets){\r\n theSum += pr.value;\r\n }\r\n\r\n if (theSum != 100){\r\n throw 'preset sum does note equal 100';\r\n }\r\n }\r\n}\r\n\r\n\r\nclass _Slider {\r\n _min: number;\r\n _max: number;\r\n _locked: boolean;\r\n atMin: boolean;\r\n atMax: boolean;\r\n _weightDefault: number;\r\n _weight: number;\r\n html: string;\r\n domId: string;\r\n name: string;\r\n\r\n labelLow: JQuery;\r\n labelHigh: JQuery;\r\n labelVal: JQuery;\r\n slider: JQuery;\r\n selectionBox: JQuery;\r\n chk: JQuery;\r\n\r\n selectedParam: any;\r\n selectedParamDefault: any;\r\n _dropdownSelection: string;\r\n\r\n /**\r\n * Slider constructor\r\n * @param sliderConfig - the configuration\r\n\r\n */\r\n constructor(sliderConfig: TipSliderConfig) {\r\n this._dropdownSelection = null;\r\n this._weight = null;\r\n this.name = sliderConfig.label;\r\n this.domId = this.name.toLowerCase().replace(/ /g, '-');\r\n\r\n this._locked = false;\r\n\r\n this._min = 0.0;\r\n this._max = 100;\r\n\r\n this.labelLow = null;\r\n this.labelHigh = null;\r\n this.labelVal = null;\r\n this.slider = null;\r\n this.chk = null;\r\n\r\n this.atMin = false;\r\n this.atMax = false;\r\n\r\n\r\n let sel = `<select class=\"${sliderConfig.yearOptions.length == 1 ? 'hidden-select' : 'show-select'}\" id=\"${this.domId}_chg\">`;\r\n\r\n for (let i = 0; i < sliderConfig.yearOptions.length; i++) {\r\n let itm = sliderConfig.yearOptions[i];\r\n sel += `<option value=\"${itm.column}\">${itm.label}</option>`;\r\n }\r\n sel += '</select>';\r\n\r\n this.selectedParamDefault = this.selectedParam;\r\n\r\n this.html = '<div class=\"slider-div\">' +\r\n `<label for=\"${this.domId}_chk\" class=\"slider-label\">${this.name}</label>` +\r\n sel + `<br>` +\r\n `<input id=\"${this.domId}_chk\" type=\"checkbox\" title=\"Lock/Unlock Slider\">` +\r\n `<label id=\"${this.domId}_low\" class=\"low-high\"></label>` +\r\n `<input id=\"${this.domId}\" type=\"range\" value=\"50\" min=\"0\" max=\"100\" step=\"0.1\">` +\r\n `<label id=\"${this.domId}_high\" class=\"low-high\"></label>` +\r\n `<label id=\"${this.domId}_lbl\" for=\"${this.domId}\" class=\"percent-label\"></label></div>`;\r\n }\r\n\r\n /**\r\n * add html to dom\r\n * @param {jQuery} $container - container element\r\n */\r\n addToDom($container: JQuery) {\r\n $container.append(this.html);\r\n this.labelLow = $(`#${this.domId}_low`);\r\n this.labelHigh = $(`#${this.domId}_high`);\r\n this.labelVal = $(`#${this.domId}_lbl`);\r\n this.slider = $(`#${this.domId}`);\r\n this.selectionBox = $(`#${this.domId}_chg`);\r\n this.chk = $(`#${this.domId}_chk`);\r\n }\r\n\r\n /**\r\n * increment the slider\r\n * @param {number} delta change delta\r\n * @returns {number} the remainder not able to be allocated to this slider\r\n */\r\n increment(delta: number): number {\r\n let remainder = 0;\r\n delta = Number(delta.toFixed(1));\r\n\r\n this._weight += delta;\r\n if (this._weight < this._min) {\r\n remainder = this._min - this._weight;\r\n this._weight = this._min;\r\n this.atMin = true;\r\n } else if (this._weight > this._max) {\r\n remainder = this._max - this._weight;\r\n this._weight = this._max;\r\n this.atMax = true;\r\n } else {\r\n this.atMin = false;\r\n this.atMax = false;\r\n }\r\n\r\n this.slider.val(this._weight.toFixed(1));\r\n this.labelVal.html(this._weight.toFixed(1) + '%');\r\n\r\n return remainder;\r\n }\r\n\r\n /**\r\n * set the value and drop down\r\n * @param {number} newVal the new value\r\n * @param {string} selectedParam the selected parameter\r\n */\r\n setValAndDropDown(newVal: number, selectedParam: string) {\r\n this.min = 0;\r\n this.max = 100;\r\n this.weight = newVal;\r\n this.slider.val(newVal.toFixed(1));\r\n this.selectionBox.val(selectedParam);\r\n this.selectedParam = selectedParam;\r\n this.locked = true;\r\n }\r\n\r\n /**\r\n *\r\n * @returns {boolean} if locked\r\n */\r\n get locked() {\r\n return this._locked;\r\n }\r\n\r\n /**\r\n *\r\n * @param {boolean} val if locked\r\n */\r\n set locked(val) {\r\n this._locked = val;\r\n this.slider.prop('disabled', this._locked);\r\n this.selectionBox.prop('disabled', this._locked);\r\n this.chk.prop('checked', !this._locked);\r\n }\r\n\r\n /**\r\n *\r\n * @returns {number} the minimum\r\n */\r\n get min() {\r\n return this._min;\r\n }\r\n\r\n /**\r\n *\r\n * @param {number} newVal new minimum\r\n */\r\n set min(newVal) {\r\n this._min = Number(newVal.toFixed(1));\r\n if (this._min < 0) {\r\n this._min = 0;\r\n }\r\n this.labelLow.html(this._min.toFixed(1));\r\n this.slider.attr('min', this._min.toFixed(1));\r\n this.atMin = this._weight == this._min;\r\n }\r\n\r\n /**\r\n *\r\n * @returns {number} the maximum\r\n */\r\n get max() {\r\n return this._max;\r\n }\r\n\r\n /**\r\n *\r\n * @param {number} newVal the maximum\r\n */\r\n set max(newVal) {\r\n this._max = Number(newVal.toFixed(1));\r\n if (this._max > 100) {\r\n this._max = 100.0;\r\n }\r\n this.labelHigh.html(this._max.toFixed(1));\r\n this.slider.attr('max', this._max.toFixed(1));\r\n this.atMax = this._weight == this._max;\r\n }\r\n\r\n /**\r\n *\r\n * @returns {number} the weight\r\n */\r\n get weight() {\r\n return this._weight;\r\n }\r\n\r\n /**\r\n *\r\n * @param {number} newVal the weight\r\n */\r\n set weight(newVal) {\r\n this._weight = Number(newVal.toFixed(1));\r\n this.labelVal.html(this._weight.toFixed(1) + '%');\r\n if (this._weight <= this._min) {\r\n this.atMin = true;\r\n this.atMax = false;\r\n } else if (this._weight >= this._max) {\r\n this.atMin = false;\r\n this.atMax = true;\r\n } else {\r\n this.atMin = false;\r\n this.atMax = false;\r\n }\r\n }\r\n}\r\n\r\nnm._Slider = _Slider;\r\n\r\n\r\n/**\r\n * class to keep track of the sliders\r\n */\r\nexport class TipSliders {\r\n $container: JQuery;\r\n reservedPercent: number;\r\n lockedCount: number;\r\n notLockedCount: number;\r\n private _sliderList: Array<_Slider>;\r\n private _sliderLookup: {[s: string]: _Slider};\r\n private resetting: boolean;\r\n private _changedCallback: ChangeCallback;\r\n\r\n private _lockedList: Array<_Slider>;\r\n private _inRangeList: Array<_Slider>;\r\n private _atMinList: Array<_Slider>;\r\n private _atMaxList: Array<_Slider>;\r\n\r\n private _presetArray: Array<TipPresets>;\r\n private _presetLookup: {[s: string]: TipPresets};\r\n\r\n private _$presetSelector: JQuery;\r\n private _$regionSelector: JQuery;\r\n private _$versionSelector: JQuery;\r\n\r\n /**\r\n *\r\n * @param sliderConfigs\r\n * @param presetConfig\r\n * @param divId\r\n * @param presetSelector\r\n * @param regionSelector\r\n * @param versionSelector\r\n * @param chgCallback\r\n */\r\n constructor(sliderConfigs: Array<TipSliderConfig>, presetConfig: Array<TipPresetConfig>,\r\n divId: string, presetSelector: JQuery, regionSelector: JQuery, versionSelector: JQuery,\r\n chgCallback?: ChangeCallback) {\r\n\r\n this.resetting = false;\r\n this.reservedPercent = 0.0;\r\n this.$container = $('#' + divId);\r\n this.$container.addClass('slider-container');\r\n\r\n this._changedCallback = typeof chgCallback == 'function' ? chgCallback : () => {};\r\n\r\n this._$presetSelector = presetSelector;\r\n this._$regionSelector = regionSelector;\r\n this._$versionSelector = versionSelector;\r\n\r\n this._sliderList = [];\r\n this._sliderLookup = {};\r\n\r\n for (let i = 0; i < sliderConfigs.length; i++) {\r\n let sld = new _Slider(sliderConfigs[i]);\r\n this._sliderList.push(sld);\r\n this._sliderLookup[sld.domId] = sld;\r\n sld.addToDom(this.$container);\r\n }\r\n\r\n this._presetArray = [];\r\n this._presetLookup = {};\r\n\r\n for (let i = 0; i < presetConfig.length; i++) {\r\n let preset = new TipPresets(presetConfig[i]);\r\n\r\n let idx = (i + 1).toFixed();\r\n\r\n this._presetLookup[idx] = preset;\r\n this._presetArray.push(preset);\r\n this._$presetSelector.append(`<option value=\"${idx}\">${preset.label}</option>`);\r\n }\r\n\r\n\r\n this._lockedList = [];\r\n this._inRangeList = [];\r\n this._atMinList = [];\r\n this._atMaxList = [];\r\n\r\n this.lockedCount = 10;\r\n this.notLockedCount = 0;\r\n\r\n this._splitSliderArray();\r\n\r\n\r\n this._$presetSelector.change(() => {\r\n this.setPresetValues();\r\n this._runChangedCallback();\r\n });\r\n\r\n this._$regionSelector.change(() => {\r\n this._runChangedCallback();\r\n });\r\n\r\n this._$versionSelector.change(() => {\r\n this._runChangedCallback();\r\n });\r\n\r\n this._$presetSelector.trigger('change');\r\n\r\n this._addEventListeners();\r\n }\r\n\r\n _runChangedCallback(){\r\n this._changedCallback(this.paramWeightsRegionVersion);\r\n }\r\n\r\n get changedCallback(): ChangeCallback{\r\n return this._changedCallback\r\n }\r\n\r\n set changedCallback(chg: ChangeCallback){\r\n this._changedCallback = chg;\r\n this._runChangedCallback();\r\n }\r\n\r\n setPresetValues() {\r\n let idx = this._$presetSelector.val() || '1';\r\n\r\n let thePreset = this._presetLookup[idx];\r\n\r\n for (let i = 0; i < thePreset.presets.length; i++) {\r\n let presetValues = thePreset.presets[i];\r\n let theSlider = this._sliderList[i];\r\n\r\n theSlider.locked = true;\r\n theSlider.setValAndDropDown(presetValues.value, presetValues.column);\r\n }\r\n }\r\n\r\n /**\r\n * split array into subarrays holding the sliders\r\n * @private\r\n */\r\n _splitSliderArray() {\r\n this._lockedList = [];\r\n this._inRangeList = [];\r\n this._atMinList = [];\r\n this._atMaxList = [];\r\n\r\n for (let i = 0; i < this._sliderList.length; i++) {\r\n let sld = this._sliderList[i];\r\n\r\n if (sld.locked) {\r\n this._lockedList.push(sld);\r\n } else if (sld.atMin) {\r\n this._atMinList.push(sld);\r\n } else if (sld.atMax) {\r\n this._atMaxList.push(sld);\r\n } else {\r\n this._inRangeList.push(sld);\r\n }\r\n }\r\n this.lockedCount = this._lockedList.length;\r\n this.notLockedCount = this._sliderList.length - this.lockedCount;\r\n }\r\n\r\n /**\r\n * handle remainder, recursive to take care of min max overshoots\r\n * @param {number} remain the remainder\r\n * @param {string} skipDomId - this dom id\r\n * @private\r\n */\r\n _handleRemainder(remain: number, skipDomId: string) {\r\n\r\n remain = Number(remain.toFixed(1));\r\n if (remain == 0) {\r\n return;\r\n }\r\n\r\n this._splitSliderArray();\r\n\r\n let canChangeArray = [];\r\n for (let i = 0; i < this._inRangeList.length; i++) {\r\n let sld = this._inRangeList[i];\r\n if (sld.domId == skipDomId) {\r\n continue;\r\n }\r\n canChangeArray.push(sld);\r\n }\r\n\r\n if (remain > 0) {\r\n for (let i = 0; i < this._atMaxList.length; i++) {\r\n let sld = this._atMaxList[i];\r\n if (sld.domId == skipDomId) {\r\n continue;\r\n }\r\n canChangeArray.push(sld);\r\n }\r\n } else {\r\n for (let i = 0; i < this._atMinList.length; i++) {\r\n let sld = this._atMinList[i];\r\n if (sld.domId == skipDomId) {\r\n continue;\r\n }\r\n canChangeArray.push(sld);\r\n }\r\n }\r\n\r\n if (canChangeArray.length == 0) {\r\n return;\r\n }\r\n\r\n let inc = -1 * Number((remain / canChangeArray.length).toFixed(1));\r\n\r\n let newRemainder = 0;\r\n for (let i = 0; i < canChangeArray.length; i++) {\r\n newRemainder += canChangeArray[i].increment(inc);\r\n }\r\n\r\n this._handleRemainder(newRemainder, skipDomId);\r\n }\r\n\r\n /**\r\n *\r\n * @param {object} keyValList key and value list\r\n */\r\n setValues(keyValList: {[s:string]: [number, string]}) {\r\n this.resetting = true;\r\n for (let k in keyValList) {\r\n if (keyValList.hasOwnProperty(k)) {\r\n this._sliderLookup[k].setValAndDropDown(keyValList[k][0], keyValList[k][1]);\r\n }\r\n }\r\n this.resetting = false;\r\n }\r\n\r\n /**\r\n * get the weight sum\r\n * @returns {number} the weight sum\r\n */\r\n getSum() {\r\n let total = 0;\r\n for (let i = 0; i < this._sliderList.length; i++) {\r\n let sld = this._sliderList[i];\r\n total += Number(sld.weight.toFixed(1));\r\n }\r\n\r\n return total;\r\n }\r\n\r\n /**\r\n * get the parameter weights\r\n * @returns {object} lookup with parameter weights\r\n */\r\n getParams() {\r\n let paramWeights: {[s: string]: number} = {};\r\n for (let i = 0; i < this._sliderList.length; i++) {\r\n let sld = this._sliderList[i];\r\n paramWeights[sld.selectedParam] = Number(sld.weight.toFixed(1));\r\n }\r\n\r\n return paramWeights;\r\n }\r\n\r\n _addEventListeners() {\r\n let ___this = this;\r\n\r\n\r\n //change function\r\n this.$container.find('input[type=\"range\"]').change(function () {\r\n if (___this.resetting) {\r\n return;\r\n }\r\n\r\n let $this = $(this);\r\n let domId = this['id'];\r\n let sldr = ___this._sliderLookup[domId];\r\n\r\n let newValue = parseFloat($this.val());\r\n\r\n let oldValue = sldr.weight;\r\n let diff = newValue - oldValue;\r\n diff = Number(diff.toFixed(1));\r\n\r\n sldr.weight = Number(newValue.toFixed(1));\r\n\r\n ___this._handleRemainder(diff, domId);\r\n\r\n //cleanup, make sure the sum is still 100\r\n let sum = Number(___this.getSum().toFixed(1));\r\n\r\n if (sum > 100) {\r\n loop1:\r\n while (true) {\r\n for (let i = 0; i < ___this._sliderList.length; i++) {\r\n let sld = ___this._sliderList[i];\r\n if (sld.domId == domId || sld.locked || sld.atMin) {\r\n continue;\r\n }\r\n sld.increment(-0.1);\r\n sum -= 0.1;\r\n if (sum.toFixed(1) == '100.0') {\r\n break loop1;\r\n }\r\n }\r\n }\r\n } else if (sum < 100) {\r\n loop1:\r\n while (true) {\r\n for (let i = 0; i < ___this._sliderList.length; i++) {\r\n let sld = ___this._sliderList[i];\r\n if (sld.domId == domId || sld.locked || sld.atMax) {\r\n continue;\r\n }\r\n sld.increment(0.1);\r\n sum += 0.1;\r\n if (sum.toFixed(1) == '100.0') {\r\n break loop1;\r\n }\r\n }\r\n }\r\n }\r\n\r\n ___this._$presetSelector.val('0');\r\n ___this._runChangedCallback();\r\n }\r\n );\r\n\r\n //update the selected parameter when the selection is changed\r\n $('.show-select').change(function () {\r\n if (___this.resetting) {\r\n return;\r\n }\r\n ___this._sliderLookup[this['id'].replace('_chg', '')].selectedParam = $(this).val();\r\n\r\n ___this._$presetSelector.val('0');\r\n\r\n ___this._runChangedCallback();\r\n\r\n });\r\n\r\n //lock the slider and update the reserved percent\r\n this.$container.find('input[type=\"checkbox\"]').change(function () {\r\n let domEl = this;\r\n\r\n ___this._sliderLookup[domEl.id.replace('_chk', '')].locked = !domEl.checked;\r\n ___this.reservedPercent = 0.0;\r\n ___this.notLockedCount = 0;\r\n\r\n let notLockedSliders = [];\r\n\r\n for (let i = 0; i < ___this._sliderList.length; i++) {\r\n let sld = ___this._sliderList[i];\r\n if (sld.locked) {\r\n ___this.reservedPercent += sld.weight;\r\n continue;\r\n }\r\n notLockedSliders.push(sld);\r\n ___this.notLockedCount++;\r\n }\r\n\r\n for (let i = 0; i < ___this._sliderList.length; i++) {\r\n let sld = ___this._sliderList[i];\r\n if (sld.locked) {\r\n continue;\r\n }\r\n sld.max = 100 - ___this.reservedPercent;\r\n }\r\n\r\n if (notLockedSliders.length == 1) {\r\n notLockedSliders[0].min = notLockedSliders[0].weight;\r\n } else {\r\n for (let i = 0; i < notLockedSliders.length; i++) {\r\n notLockedSliders[i].min = 0;\r\n }\r\n }\r\n });\r\n\r\n }\r\n\r\n get paramWeightsRegionVersion(): ChangeResponse{\r\n return {paramWeights: this.getParams(),\r\n region: this._$regionSelector.val() as string, mmVersion: this._$versionSelector.val() as string}\r\n }\r\n}\r\n\r\nnm.Sliders = TipSliders;\r\nexport default TipSliders;\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/collections/Sliders.ts","/**\r\n * Created by gavorhes on 6/22/2016.\r\n */\r\nimport {TipSliders, TipPresetConfig, TipSliderConfig} from '../../collections/Sliders';\r\nimport $ = require('jquery');\r\nimport ol = require('custom-ol');\r\nimport 'jquery-ui';\r\n\r\n\r\n\r\nexport interface ITipConfig{\r\n slidersConfig: Array<TipSliderConfig>;\r\n presetConfig: Array<TipPresetConfig>;\r\n tipSegmentLayerMinZoom: number;\r\n sliders: TipSliders;\r\n _map: ol.Map;\r\n $loadingGif: JQuery;\r\n $presetSelector: JQuery;\r\n $regionSelector: JQuery;\r\n $versionSelector: JQuery;\r\n itsLayerCollection: any;\r\n tipSegmentLayer: any;\r\n metamanagerSegments: any;\r\n}\r\n\r\nexport const tipConfig = {\r\n $loadingGif: $('#loading-gif'),\r\n $presetSelector: $('#preset-selector'),\r\n $regionSelector: $('#region-selector'),\r\n $versionSelector: $('#version-selector'),\r\n tipSegmentLayerMinZoom: 10,\r\n slidersConfig: [\r\n {\r\n label: 'AADT',\r\n yearOptions: [\r\n {label: '1', column: 'aadtyr_1'}\r\n ]\r\n },\r\n {\r\n label: 'AADT Future',\r\n yearOptions: [\r\n {label: '5', column: 'aadtyr_5'},\r\n {label: '10', column: 'aadtyr_10'},\r\n {label: '15', column: 'aadtyr_15'},\r\n {label: '20', column: 'aadtyr_20'}\r\n ]\r\n },\r\n {\r\n label: 'Growth',\r\n yearOptions: [\r\n {label: '5', column: 'growth_5'},\r\n {label: '10', column: 'growth_10'},\r\n {label: '15', column: 'growth_15'},\r\n {label: '20', column: 'growth_20'}\r\n ]\r\n },\r\n {\r\n label: 'Truck',\r\n yearOptions: [\r\n {label: '1', column: 'trkdyr_1'},\r\n {label: '20', column: 'trkdyr_20'}\r\n ]\r\n },\r\n {\r\n label: 'LOS',\r\n yearOptions: [\r\n {label: '1', column: 'losyr_1'}\r\n ]\r\n },\r\n {\r\n label: 'LOS Future',\r\n yearOptions: [\r\n {label: '5', column: 'losyr_5'},\r\n {label: '10', column: 'losyr_10'},\r\n {label: '15', column: 'losyr_15'},\r\n {label: '20', column: 'losyr_20'}\r\n ]\r\n },\r\n {\r\n label: 'Crash Rate',\r\n yearOptions: [\r\n {label: 1, column: 'crash_rate'}\r\n ]\r\n },\r\n {\r\n label: 'Severity',\r\n yearOptions: [\r\n {label: 1, column: 'crash_severity'}\r\n ]\r\n },\r\n {\r\n label: 'Weather',\r\n yearOptions: [\r\n {label: 1, column: 'weather'}\r\n ]\r\n },\r\n {\r\n label: 'Event',\r\n yearOptions: [\r\n {label: 1, column: 'event'}\r\n ]\r\n }\r\n ] as Array<TipSliderConfig>,\r\n presetConfig: [\r\n {\r\n label: 'Default TIP',\r\n presets: [\r\n {column: 'aadtyr_1', value: 10.0},\r\n {column: 'aadtyr_20', value: 7.0},\r\n {column: 'growth_20', value: 7.0},\r\n {column: 'trkdyr_1', value: 4.0},\r\n {column: 'losyr_1', value: 12.0},\r\n {column: 'losyr_20', value: 12.0},\r\n {column: 'crash_rate', value: 15.0},\r\n {column: 'crash_severity', value: 13.0},\r\n {column: 'weather', value: 9.0},\r\n {column: 'event', value: 11.0}\r\n ]\r\n },\r\n {\r\n label: 'Safety',\r\n presets: [\r\n {column: 'aadtyr_1', value: 20.0},\r\n {column: 'aadtyr_20', value: 0.0},\r\n {column: 'growth_20', value: 0.0},\r\n {column: 'trkdyr_1', value: 0.0},\r\n {column: 'losyr_1', value: 0.0},\r\n {column: 'losyr_20', value: 0.0},\r\n {column: 'crash_rate', value: 40.0},\r\n {column: 'crash_severity', value: 40.0},\r\n {column: 'weather', value: 0.0},\r\n {column: 'event', value: 0.0}\r\n ]\r\n },\r\n {\r\n label: 'Mobility Present',\r\n presets: [\r\n {column: 'aadtyr_1', value: 25.0},\r\n {column: 'aadtyr_20', value: 25.0},\r\n {column: 'growth_20', value: 0.0},\r\n {column: 'trkdyr_1', value: 25.0},\r\n {column: 'losyr_1', value: 25.0},\r\n {column: 'losyr_20', value: 0.0},\r\n {column: 'crash_rate', value: 0.0},\r\n {column: 'crash_severity', value: 0.0},\r\n {column: 'weather', value: 0.0},\r\n {column: 'event', value: 0.0}\r\n ]\r\n },\r\n {\r\n label: 'Mobility Future',\r\n presets: [\r\n {column: 'aadtyr_1', value: 0.0},\r\n {column: 'aadtyr_20', value: 25.0},\r\n {column: 'growth_20', value: 25.0},\r\n {column: 'trkdyr_1', value: 25.0},\r\n {column: 'losyr_1', value: 0.0},\r\n {column: 'losyr_20', value: 25.0},\r\n {column: 'crash_rate', value: 0.0},\r\n {column: 'crash_severity', value: 0.0},\r\n {column: 'weather', value: 0.0},\r\n {column: 'event', value: 0.0}\r\n ]\r\n },\r\n {\r\n label: 'Service',\r\n presets: [\r\n {column: 'aadtyr_1', value: 30.0},\r\n {column: 'aadtyr_20', value: 0.0},\r\n {column: 'growth_20', value: 10.0},\r\n {column: 'trkdyr_1', value: 0.0},\r\n {column: 'losyr_1', value: 30.0},\r\n {column: 'losyr_20', value: 30.0},\r\n {column: 'crash_rate', value: 0.0},\r\n {column: 'crash_severity', value: 0.0},\r\n {column: 'weather', value: 0.0},\r\n {column: 'event', value: 0.0}\r\n ]\r\n },\r\n {\r\n label: 'Freight Performance',\r\n presets: [\r\n {column: 'aadtyr_1', value: 20.0},\r\n {column: 'aadtyr_20', value: 0.0},\r\n {column: 'growth_20', value: 0.0},\r\n {column: 'trkdyr_1', value: 60.0},\r\n {column: 'losyr_1', value: 20.0},\r\n {column: 'losyr_20', value: 0.0},\r\n {column: 'crash_rate', value: 0.0},\r\n {column: 'crash_severity', value: 0.0},\r\n {column: 'weather', value: 0.0},\r\n {column: 'event', value: 0.0}\r\n ]\r\n }\r\n ] as Array<TipPresetConfig>\r\n\r\n} as ITipConfig;\r\n\r\ntipConfig.$presetSelector.append('<option value=\"0\" disabled=>Custom</option>');\r\n\r\nlet sliders = new TipSliders(tipConfig.slidersConfig, tipConfig.presetConfig, 'slider-container',\r\n tipConfig.$presetSelector, tipConfig.$regionSelector, tipConfig.$regionSelector, (chg) => {console.log(chg)});\r\n\r\n// sliders.changedCallback = (chg) => {console.log(chg)};\r\n\r\nwindow['glob'] = sliders;\r\nwindow['hat'] = sliders;\r\nwindow['bird'] = sliders;\r\n\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/_tests/demos/slider-test.ts"],"sourceRoot":""} \ No newline at end of file