{"version":3,"sources":["vendor/ember-cli/app-prefix.js","web-map/adapters/application.js","web-map/app.js","web-map/authenticators/authy.js","web-map/authenticators/oauth2.js","web-map/authorizers/application.js","web-map/breakpoints.js","web-map/components/-dynamic-element-alt.js","web-map/components/-dynamic-element.js","web-map/components/as-scrollable.js","web-map/components/basic-dropdown-content.js","web-map/components/basic-dropdown-trigger.js","web-map/components/basic-dropdown.js","web-map/components/carousel.js","web-map/components/cell-fid.js","web-map/components/cell-geom.js","web-map/components/ember-scrollable.js","web-map/components/ember-scrollbar.js","web-map/components/ember-wormhole.js","web-map/components/fa-icon.js","web-map/components/feature-table.js","web-map/components/function-panel-button.js","web-map/components/light-table.js","web-map/components/light-table/cells/base.js","web-map/components/light-table/columns/base.js","web-map/components/loading-cover.js","web-map/components/login-modal.js","web-map/components/lt-body.js","web-map/components/lt-column-resizer.js","web-map/components/lt-foot.js","web-map/components/lt-head.js","web-map/components/lt-infinity.js","web-map/components/lt-row.js","web-map/components/lt-scrollable.js","web-map/components/lt-spanned-row.js","web-map/components/map-feature-export.js","web-map/components/map-geodetic.js","web-map/components/map-imagery-export.js","web-map/components/map-info-bar.js","web-map/components/map-layers.js","web-map/components/map-mininfo-bar.js","web-map/components/map-rso-digital.js","web-map/components/map-search.js","web-map/components/nlump-hover-table.js","web-map/components/ol-layer-tree-group.js","web-map/components/ol-layer-tree-item-check.js","web-map/components/ol-layer-tree-item.js","web-map/components/ol-layer-tree.js","web-map/components/ol-map-panel.js","web-map/components/ol-map-point.js","web-map/components/ol-radio.js","web-map/components/owl-carousel2.js","web-map/components/power-select-multiple.js","web-map/components/power-select-multiple/trigger.js","web-map/components/power-select.js","web-map/components/power-select/before-options.js","web-map/components/power-select/options.js","web-map/components/power-select/placeholder.js","web-map/components/power-select/power-select-group.js","web-map/components/power-select/search-message.js","web-map/components/power-select/trigger.js","web-map/components/resize-detector.js","web-map/components/scroll-content-element.js","web-map/components/vertical-collection.js","web-map/components/x-option.js","web-map/components/x-select.js","web-map/controllers/map.js","web-map/controllers/momap.js","web-map/controllers/stmap.js","web-map/helpers/-element.js","web-map/helpers/and.js","web-map/helpers/app-version.js","web-map/helpers/append.js","web-map/helpers/array.js","web-map/helpers/camelize.js","web-map/helpers/cancel-all.js","web-map/helpers/capitalize.js","web-map/helpers/chunk.js","web-map/helpers/classify.js","web-map/helpers/compact.js","web-map/helpers/compute.js","web-map/helpers/contains.js","web-map/helpers/dasherize.js","web-map/helpers/dec.js","web-map/helpers/drop.js","web-map/helpers/ember-power-select-is-group.js","web-map/helpers/ember-power-select-is-selected.js","web-map/helpers/eq.js","web-map/helpers/filter-by.js","web-map/helpers/filter.js","web-map/helpers/find-by.js","web-map/helpers/flatten.js","web-map/helpers/group-by.js","web-map/helpers/gt.js","web-map/helpers/gte.js","web-map/helpers/has-next.js","web-map/helpers/has-previous.js","web-map/helpers/html-safe.js","web-map/helpers/humanize.js","web-map/helpers/inc.js","web-map/helpers/intersect.js","web-map/helpers/invoke.js","web-map/helpers/is-array.js","web-map/helpers/is-empty.js","web-map/helpers/is-equal.js","web-map/helpers/join.js","web-map/helpers/lowercase.js","web-map/helpers/lt.js","web-map/helpers/lte.js","web-map/helpers/map-by.js","web-map/helpers/map.js","web-map/helpers/media.js","web-map/helpers/next.js","web-map/helpers/not-eq.js","web-map/helpers/not.js","web-map/helpers/object-at.js","web-map/helpers/optional.js","web-map/helpers/or.js","web-map/helpers/perform.js","web-map/helpers/pipe-action.js","web-map/helpers/pipe.js","web-map/helpers/pluralize.js","web-map/helpers/plus-one.js","web-map/helpers/previous.js","web-map/helpers/queue.js","web-map/helpers/range.js","web-map/helpers/reduce.js","web-map/helpers/reject-by.js","web-map/helpers/repeat.js","web-map/helpers/reverse.js","web-map/helpers/send.js","web-map/helpers/shuffle.js","web-map/helpers/singularize.js","web-map/helpers/slice.js","web-map/helpers/sort-by.js","web-map/helpers/take.js","web-map/helpers/task.js","web-map/helpers/titleize.js","web-map/helpers/toggle-action.js","web-map/helpers/toggle.js","web-map/helpers/trim.js","web-map/helpers/truncate.js","web-map/helpers/underscore.js","web-map/helpers/union.js","web-map/helpers/uppercase.js","web-map/helpers/w.js","web-map/helpers/without.js","web-map/helpers/xor.js","web-map/initializers/app-version.js","web-map/initializers/container-debug-adapter.js","web-map/initializers/debug.js","web-map/initializers/ember-concurrency.js","web-map/initializers/ember-data.js","web-map/initializers/ember-responsive-breakpoints.js","web-map/initializers/ember-simple-auth.js","web-map/initializers/export-application-global.js","web-map/initializers/optmm-global.js","web-map/initializers/viewport-config.js","web-map/instance-initializers/ember-data.js","web-map/instance-initializers/ember-simple-auth.js","web-map/mixins/checkout/checkout-list.js","web-map/mixins/table-common.js","web-map/mixins/w3o-users-roles/check-session-activity.js","web-map/mixins/w3o-users-roles/check-user-role.js","web-map/mixins/w3o-users-roles/create-edit-appaccess.js","web-map/mixins/w3o-users-roles/create-edit-application.js","web-map/mixins/w3o-users-roles/create-edit-route.js","web-map/mixins/w3o-users-roles/create-edit-user.js","web-map/mixins/w3o-users-roles/focus-for-keypress.js","web-map/mixins/w3o-users-roles/invalidate-session.js","web-map/mixins/w3o-users-roles/modal-actions.js","web-map/mixins/w3o-users-roles/role-manager-app.js","web-map/mixins/w3o-users-roles/set-session-user.js","web-map/models/company.js","web-map/models/country.js","web-map/models/employee.js","web-map/models/euser.js","web-map/models/featureexport.js","web-map/models/formuser.js","web-map/models/geodeticexport.js","web-map/models/group.js","web-map/models/imageexport.js","web-map/models/ol-feature.js","web-map/models/ol-layer.js","web-map/models/ol-map.js","web-map/models/ol-source-vector.js","web-map/models/order.js","web-map/models/organization.js","web-map/models/processmemo.js","web-map/models/rsoexport.js","web-map/models/secretquestion.js","web-map/models/user.js","web-map/models/usergroup.js","web-map/models/userprocesstask.js","web-map/modifiers/did-insert.js","web-map/modifiers/did-update.js","web-map/modifiers/will-destroy.js","web-map/resolver.js","web-map/router.js","web-map/routes/application.js","web-map/routes/cashpayment.js","web-map/routes/change-password.js","web-map/routes/checkout.js","web-map/routes/conditions-of-use.js","web-map/routes/disclaimer.js","web-map/routes/disclaimermap-mobile.js","web-map/routes/disclaimermap.js","web-map/routes/disclaimerstmap.js","web-map/routes/foc.js","web-map/routes/index.js","web-map/routes/login.js","web-map/routes/map.js","web-map/routes/momap.js","web-map/routes/payment-success.js","web-map/routes/privacy-policy.js","web-map/routes/shopping-cart.js","web-map/routes/start-gp.js","web-map/routes/start.js","web-map/routes/stmap.js","web-map/routes/under-construction.js","web-map/services/ajax.js","web-map/services/cookies.js","web-map/services/in-viewport.js","web-map/services/media.js","web-map/services/ol-geopservice.js","web-map/services/ol-mapservice.js","web-map/services/resize-detector.js","web-map/services/scrollbar-thickness.js","web-map/services/session.js","web-map/services/text-measurer.js","web-map/session-stores/application.js","web-map/templates/application.js","web-map/templates/backup/27102021/start-gp.js","web-map/templates/backup/start-gp.js","web-map/templates/cashpayment.js","web-map/templates/change-password.js","web-map/templates/checkout.js","web-map/templates/components/backup/carousel.js","web-map/templates/components/carousel.js","web-map/templates/components/cell-fid.js","web-map/templates/components/cell-geom.js","web-map/templates/components/feature-table.js","web-map/templates/components/function-panel-button.js","web-map/templates/components/loading-cover.js","web-map/templates/components/login-modal.js","web-map/templates/components/map-feature-export.js","web-map/templates/components/map-geodetic.js","web-map/templates/components/map-imagery-export.js","web-map/templates/components/map-info-bar.js","web-map/templates/components/map-layers.js","web-map/templates/components/map-mininfo-bar.js","web-map/templates/components/map-rso-digital.js","web-map/templates/components/map-search.js","web-map/templates/components/nlump-hover-table.js","web-map/templates/components/ol-layer-tree-group.js","web-map/templates/components/ol-layer-tree-item-check.js","web-map/templates/components/ol-layer-tree-item.js","web-map/templates/components/ol-layer-tree.js","web-map/templates/components/ol-map-panel.js","web-map/templates/components/ol-map-point.js","web-map/templates/components/ol-radio.js","web-map/templates/components/x-select.js","web-map/templates/conditions-of-use.js","web-map/templates/disclaimer.js","web-map/templates/disclaimermap-mobile.js","web-map/templates/disclaimermap.js","web-map/templates/disclaimerstmap.js","web-map/templates/foc.js","web-map/templates/index.js","web-map/templates/loading.js","web-map/templates/login.js","web-map/templates/map.js","web-map/templates/momap.js","web-map/templates/payment-success.js","web-map/templates/privacy-policy.js","web-map/templates/shopping-cart.js","web-map/templates/start-gp.js","web-map/templates/start.js","web-map/templates/stmap.js","web-map/templates/unauthorized.js","web-map/templates/under-construction.js","web-map/transforms/array.js","web-map/transforms/ol-geometry.js","web-map/utils/calculate-position.js","web-map/utils/get-cookie.js","web-map/utils/titleize.js","web-map/validators/alias.js","web-map/validators/belongs-to.js","web-map/validators/collection.js","web-map/validators/confirmation.js","web-map/validators/date.js","web-map/validators/dependent.js","web-map/validators/ds-error.js","web-map/validators/exclusion.js","web-map/validators/format.js","web-map/validators/has-many.js","web-map/validators/inclusion.js","web-map/validators/inline.js","web-map/validators/length.js","web-map/validators/messages.js","web-map/validators/number.js","web-map/validators/presence.js","web-map/validators/unique-gdtsearchvalue.js","web-map/validators/unique-rsosearchvalue.js","web-map/validators/unique-searchvalue.js","vendor/ember-cli/app-suffix.js","vendor/ember-cli/app-config.js","vendor/ember-cli/app-boot.js"],"sourcesContent":["'use strict';\n\n\n","define(\"web-map/adapters/application\", [\"exports\", \"ember-data\", \"ember-simple-auth/mixins/data-adapter-mixin\", \"axios\"], function (_exports, _emberData, _dataAdapterMixin, _axios) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n // import Inflector from 'ember-inflector';\n var _default = _emberData.default.RESTAdapter.extend(_dataAdapterMixin.default, {\n // buildURL: function(root, suffix, record) {\n // console.log('buildURL');\n // var url = this._super();\n // console.log(url);\n // console.log(root);\n // console.log(suffix);\n // console.log(record);\n // if (url.toString().indexOf('/api/v1') === -1) {\n // alert('NO /api/v1');\n // }\n // let modelName = Inflector.inflector.pluralize(root);\n // // return `${url}/${modelName}`;\n // // },\n // urlForFindHasMany(id, modelName, snapshot) {\n // console.log('urlForFindHasMany');\n // let baseUrl = this.buildURL(id, modelName);\n // console.log(baseUrl);\n // console.log(id);\n // console.log(modelName);\n // console.log(snapshot);\n // console.log(`${baseUrl}/relationships`);\n // return `${baseUrl}`;\n // },\n\n /*\n temporary-fix because sails-ember-rest doesn't provide the namespace in the link\n */\n findHasMany(store, snapshot, link) {\n return this.ajax(this.get('namespace') + link, 'GET');\n },\n\n /*\n Override the updateRecord(), so can change the default HTTP's Method, from \"PUT\" to \"PATCH\"\n https://stackoverflow.com/a/31300911\n https://github.com/emberjs/data/blob/e89732a5aefb6a81b46927da1c6f048f4aede85e/packages/ember-data/lib/adapters/rest-adapter.js#L621\n */\n updateRecord(store, type, snapshot) {\n var data = {};\n var serializer = store.serializerFor(type.modelName);\n serializer.serializeIntoHash(data, type, snapshot);\n var id = snapshot.id;\n var url = this.buildURL(type.modelName, id, snapshot, 'updateRecord');\n return this.ajax(url, \"PATCH\", {\n data: data\n });\n },\n\n coalesceFindRequests: true,\n namespace: '/api/v1',\n session: Ember.inject.service('session'),\n headers: Ember.computed('session.data.authenticated.access_token', function () {\n let headers = {};\n\n if (this.session.isAuthenticated) {\n // OAuth 2\n headers['Authorization'] = \"Bearer \".concat(this.session.data.authenticated.access_token);\n }\n\n return headers;\n }),\n\n authorizeToken(xhr) {\n let {\n Authorization\n } = this.get('headers');\n\n if (xhr) {\n xhr.setRequestHeader('Authorization', Authorization);\n } else {\n $.ajaxSetup({\n beforeSend: function (xhr) {\n xhr.setRequestHeader('Authorization', Authorization);\n }\n });\n _axios.default.defaults.headers.common['Authorization'] = Authorization;\n }\n },\n\n //this is dependent on production/development environment\n //It is configured in config/environment.js\n //host: ClientENV.hostUrl\n //add IP from $DOCKER_HOST if --docker flag is set\n\n /*\n change host to your IP Address if you want to make it available on LAN\n */\n hostSurvey: 'https://survey.gov.bn',\n host: 'https://geoportal.survey.gov.bn',\n serverHost: 'https://geoportal.survey.gov.bn',\n mainHost: 'https://geoportal.survey.gov.bn',\n gpserverHost: 'https://geoportal.survey.gov.bn',\n erdasHostAtBackend: 'https://geoportal.survey.gov.bn',\n erdasHost: 'https://geoportal.survey.gov.bn',\n ecomHost: 'https://geoportal.survey.gov.bn',\n ecomWeb: 'https://maps.survey.gov.bn',\n ecomWebsite: 'https://maps.survey.gov.bn',\n recaptchaSiteKey: '6Lck5B0UAAAAALQMYJwzAWLQW7ryfwoZAYXdJsBO',\n recaptchaSecretKey: '6Lck5B0UAAAAAFRiZERSs4t4KXvhZTtbQG7_8HuB',\n inactivityDuration: 20 // in minutes\n\n /*host: 'http://192.168.1.115:4200',\n serverHost: 'http://192.168.1.115:1337'*/\n\n });\n\n _exports.default = _default;\n});","define(\"web-map/app\", [\"exports\", \"web-map/resolver\", \"ember-load-initializers\", \"web-map/config/environment\"], function (_exports, _resolver, _emberLoadInitializers, _environment) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n const App = Ember.Application.extend({\n modulePrefix: _environment.default.modulePrefix,\n podModulePrefix: _environment.default.podModulePrefix,\n Resolver: _resolver.default\n });\n (0, _emberLoadInitializers.default)(App, _environment.default.modulePrefix);\n var _default = App;\n _exports.default = _default;\n});","define(\"web-map/authenticators/authy\", [\"exports\", \"ember-simple-auth/authenticators/oauth2-password-grant\"], function (_exports, _oauth2PasswordGrant) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = _oauth2PasswordGrant.default.extend({\n refreshAccessTokens: true,\n serverTokenEndpoint: '/api/v1/auths/login2',\n // serverTokenRevocationEndpoint: '/revoke'\n routing: Ember.inject.service('-routing'),\n authObject: Ember.inject.service('session'),\n\n authenticate(identification, password, authCode, scope) {\n return new Ember.RSVP.Promise((resolve, reject) => {\n const data = {\n 'grant_type': 'password',\n username: identification,\n password,\n authCode\n };\n const serverTokenEndpoint = this.get('serverTokenEndpoint');\n const scopesString = Ember.makeArray(scope).join(' ');\n\n if (!Ember.isEmpty(scopesString)) {\n data.scope = scopesString;\n }\n\n this.makeRequest(serverTokenEndpoint, data).then(response => {\n Ember.run(() => {\n const expiresAt = this._absolutizeExpirationTime(response['expires_in']);\n\n this._scheduleAccessTokenRefresh(response['expires_in'], expiresAt, response['refresh_token']);\n\n if (!Ember.isEmpty(expiresAt)) {\n response = Ember.merge(response, {\n 'expires_at': expiresAt\n });\n }\n\n resolve(response);\n });\n }, xhr => {\n Ember.run(null, reject, xhr.responseJSON || xhr.responseText);\n });\n });\n },\n\n _refreshAccessToken(expiresIn, refreshToken) {\n var self = this;\n const data = {\n 'grant_type': 'refresh_token',\n 'refresh_token': refreshToken\n };\n const serverTokenEndpoint = this.get('serverTokenEndpoint');\n return new Ember.RSVP.Promise((resolve, reject) => {\n this.makeRequest(serverTokenEndpoint, data).then(response => {\n Ember.run(() => {\n expiresIn = response['expires_in'] || expiresIn;\n refreshToken = response['refresh_token'] || refreshToken;\n\n const expiresAt = this._absolutizeExpirationTime(expiresIn);\n\n const data = Ember.merge(response, {\n 'expires_in': expiresIn,\n 'expires_at': expiresAt,\n 'refresh_token': refreshToken\n });\n\n this._scheduleAccessTokenRefresh(expiresIn, null, refreshToken);\n\n this.trigger('sessionDataUpdated', data);\n resolve(data);\n });\n }, (xhr, status, error) => {\n Ember.Logger.warn(\"Access token could not be refreshed - server responded with \".concat(error, \".\"));\n reject(self.get('routing').transitionTo('users-roles.session-expired'));\n });\n });\n }\n\n });\n\n _exports.default = _default;\n});","define(\"web-map/authenticators/oauth2\", [\"exports\", \"ember-simple-auth/authenticators/oauth2-password-grant\"], function (_exports, _oauth2PasswordGrant) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = _oauth2PasswordGrant.default.extend({\n refreshAccessTokens: true,\n serverTokenEndpoint: '/api/v1/auths/login',\n // serverTokenRevocationEndpoint: '/revoke'\n routing: Ember.inject.service('-routing'),\n authObject: Ember.inject.service('session'),\n\n authenticate(identification, password, authentication, scope) {\n let self = this;\n return new Ember.RSVP.Promise((resolve, reject) => {\n const data = {\n 'grant_type': 'password',\n username: identification,\n password,\n authentication\n };\n const serverTokenEndpoint = this.get('serverTokenEndpoint');\n const scopesString = Ember.makeArray(scope).join(' ');\n\n if (!Ember.isEmpty(scopesString)) {\n data.scope = scopesString;\n }\n\n this.makeRequest(serverTokenEndpoint, data).then(response => {\n Ember.run(() => {\n const expiresAt = this._absolutizeExpirationTime(response['expires_in']);\n\n this._scheduleAccessTokenRefresh(response['expires_in'], expiresAt, response['refresh_token']);\n\n if (!Ember.isEmpty(expiresAt)) {\n response = Ember.assign(response, {\n 'expires_at': expiresAt\n });\n } // if(response.user.authEnable){\n // self.get('routing').transitionTo('authenticate');\n // }\n\n\n resolve(response);\n });\n }, xhr => {\n Ember.run(null, reject, xhr.responseJSON || xhr.responseText);\n });\n });\n },\n\n _refreshAccessToken(expiresIn, refreshToken) {\n let self = this;\n const data = {\n 'grant_type': 'refresh_token',\n 'refresh_token': refreshToken\n };\n const serverTokenEndpoint = this.get('serverTokenEndpoint');\n\n function deleteAllCookies() {\n let cookies = document.cookie.split(\";\");\n\n for (let i = 0; i < cookies.length; i++) {\n let cookie = cookies[i];\n let eqPos = cookie.indexOf(\"=\");\n let name = eqPos > -1 ? cookie.substr(0, eqPos) : cookie;\n document.cookie = name + \"=;expires=Thu, 01 Jan 1970 00:00:00 GMT\";\n }\n }\n\n return new Ember.RSVP.Promise((resolve, reject) => {\n this.makeRequest(serverTokenEndpoint, data).then(response => {\n Ember.run(() => {\n expiresIn = response['expires_in'] || expiresIn;\n refreshToken = response['refresh_token'] || refreshToken;\n\n const expiresAt = this._absolutizeExpirationTime(expiresIn);\n\n const data = Ember.assign(response, {\n 'expires_in': expiresIn,\n 'expires_at': expiresAt,\n 'refresh_token': refreshToken\n });\n\n this._scheduleAccessTokenRefresh(expiresIn, null, refreshToken);\n\n this.trigger('sessionDataUpdated', data);\n resolve(data);\n });\n }, (xhr, status, error) => {\n Ember.Logger.warn(\"Access token could not be refreshed - server responded with \".concat(error, \".\"));\n deleteAllCookies();\n\n if (Object.keys(self.get('authObject.data.authenticated')).length > 0) {\n /*self.get('authObject').set('data.locale', null);\n self.get('authObject').set('data.firstName', null);\n self.get('authObject').set('data.lastName', null);\n self.get('authObject').set('data.profilePicture', null);*/\n self.get('authObject').set('data.user', null);\n self.get('authObject').set('data.lastActivity', null);\n\n if (self.get('authObject.data.blobURL')) {\n window.URL = window.URL || window.webkitURL;\n window.URL.revokeObjectURL(self.get('authObject.data.blobURL'));\n self.get('authObject').set('data.blobURL', null);\n }\n\n self.get('authObject').invalidate();\n }\n\n reject();\n });\n });\n }\n\n });\n\n _exports.default = _default;\n});","define(\"web-map/authorizers/application\", [\"exports\", \"ember-simple-auth/authorizers/oauth2-bearer\"], function (_exports, _oauth2Bearer) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = _oauth2Bearer.default.extend();\n\n _exports.default = _default;\n});","define(\"web-map/breakpoints\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n var _default = {\n mobile: '(max-width: 767px)',\n tablet: '(min-width: 768px) and (max-width: 991px)',\n desktop: '(min-width: 992px) and (max-width: 1200px)'\n };\n _exports.default = _default;\n});","define(\"web-map/components/-dynamic-element-alt\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n var _default = Ember.Component;\n _exports.default = _default;\n});","define(\"web-map/components/-dynamic-element\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n var _default = Ember.Component;\n _exports.default = _default;\n});","define(\"web-map/components/as-scrollable\", [\"exports\", \"ember-scrollable/components/ember-scrollable\"], function (_exports, _emberScrollable) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = _emberScrollable.default.extend({\n classNames: 'as-scrollable'\n });\n\n _exports.default = _default;\n});","define(\"web-map/components/basic-dropdown-content\", [\"exports\", \"ember-basic-dropdown/components/basic-dropdown-content\"], function (_exports, _basicDropdownContent) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _basicDropdownContent.default;\n }\n });\n});","define(\"web-map/components/basic-dropdown-trigger\", [\"exports\", \"ember-basic-dropdown/components/basic-dropdown-trigger\"], function (_exports, _basicDropdownTrigger) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _basicDropdownTrigger.default;\n }\n });\n});","define(\"web-map/components/basic-dropdown\", [\"exports\", \"ember-basic-dropdown/components/basic-dropdown\"], function (_exports, _basicDropdown) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _basicDropdown.default;\n }\n });\n});","define(\"web-map/components/carousel\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Component.extend({});\n\n _exports.default = _default;\n});","define(\"web-map/components/cell-fid\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Component.extend({\n shortFid: Ember.computed('value', function () {\n const fid = this.get('value');\n const shortFid = fid ? fid.substr(0, 6) : 'n/a';\n return shortFid;\n })\n });\n\n _exports.default = _default;\n});","define(\"web-map/components/cell-geom\", [\"exports\", \"ol/format/WKT.js\"], function (_exports, _WKT) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Component.extend({\n wkt: Ember.computed('value', function () {\n const geometry = this.get('value');\n const format = new _WKT.default();\n const wkt = format.writeGeometry(geometry);\n return wkt;\n })\n });\n\n _exports.default = _default;\n});","define(\"web-map/components/ember-scrollable\", [\"exports\", \"ember-scrollable/components/ember-scrollable\"], function (_exports, _emberScrollable) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _emberScrollable.default;\n }\n });\n});","define(\"web-map/components/ember-scrollbar\", [\"exports\", \"ember-scrollable/components/ember-scrollbar\"], function (_exports, _emberScrollbar) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _emberScrollbar.default;\n }\n });\n});","define(\"web-map/components/ember-wormhole\", [\"exports\", \"ember-wormhole/components/ember-wormhole\"], function (_exports, _emberWormhole) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _emberWormhole.default;\n }\n });\n});","define(\"web-map/components/fa-icon\", [\"exports\", \"@fortawesome/ember-fontawesome/components/fa-icon\"], function (_exports, _faIcon) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _faIcon.default;\n }\n });\n});","define(\"web-map/components/feature-table\", [\"exports\", \"ember-light-table\"], function (_exports, _emberLightTable) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Component.extend({\n model: null,\n classNames: 'feature-table',\n columns: Ember.computed(function () {\n return [{\n label: 'FID',\n valuePath: 'fid',\n sortable: false,\n cellComponent: 'cell-fid',\n width: '30px'\n }, {\n label: 'Geometry',\n valuePath: 'geometry',\n cellComponent: 'cell-geom'\n }];\n }),\n table: Ember.computed('model', function () {\n return new _emberLightTable.default(this.get('columns'), this.get('model'), {\n enableSync: true\n });\n })\n });\n\n _exports.default = _default;\n});","define(\"web-map/components/function-panel-button\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Component.extend({\n actions: {\n logText(event) {\n // Only when assigning the action to an inline handler, the event object\n // is passed to the action as the first parameter.\n console.log('Single Click was recorded!');\n }\n\n }\n });\n\n _exports.default = _default;\n});","define(\"web-map/components/light-table\", [\"exports\", \"ember-light-table/components/light-table\"], function (_exports, _lightTable) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _lightTable.default;\n }\n });\n});","define(\"web-map/components/light-table/cells/base\", [\"exports\", \"ember-light-table/components/cells/base\"], function (_exports, _base) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _base.default;\n }\n });\n});","define(\"web-map/components/light-table/columns/base\", [\"exports\", \"ember-light-table/components/columns/base\"], function (_exports, _base) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _base.default;\n }\n });\n});","define(\"web-map/components/loading-cover\", [\"exports\"], function (_exports) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Component.extend({});\n\n _exports.default = _default;\n});","define(\"web-map/components/login-modal\", [\"exports\", \"axios\"], function (_exports, _axios) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n\n var _default = Ember.Component.extend({\n store: Ember.inject.service(),\n actions: {\n login: async function () {\n const {\n identification,\n password\n } = this.getProperties('identification', 'password');\n (0, _axios.default)({\n method: 'POST',\n url: this.get('checkUserUrl'),\n data: {\n identification,\n password\n }\n }).then(async checkUserResult => {\n this.get('authObject').set('isAuthenticated', true);\n let user = checkUserResult.data.user.id;\n this.get('authObject').authenticate('authenticator:oauth2', identification.toLowerCase().trim(), password).then(async () => {\n await this.authorize();\n this.exportAction(user);\n });\n }).catch(err => {\n console.log(err);\n this.set('errorMessage', err.response.data);\n });\n },\n cancel: function () {\n this.set('errorMessage', null);\n $(\".modal-backdrop\").remove();\n },\n signUp: function () {\n window.location.replace(\"\".concat(this.store.adapterFor('application').get('ecomWebsite'), \"/register\"));\n }\n }\n });\n\n _exports.default = _default;\n});","define(\"web-map/components/lt-body\", [\"exports\", \"ember-light-table/components/lt-body\"], function (_exports, _ltBody) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _ltBody.default;\n }\n });\n});","define(\"web-map/components/lt-column-resizer\", [\"exports\", \"ember-light-table/components/lt-column-resizer\"], function (_exports, _ltColumnResizer) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _ltColumnResizer.default;\n }\n });\n});","define(\"web-map/components/lt-foot\", [\"exports\", \"ember-light-table/components/lt-foot\"], function (_exports, _ltFoot) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _ltFoot.default;\n }\n });\n});","define(\"web-map/components/lt-head\", [\"exports\", \"ember-light-table/components/lt-head\"], function (_exports, _ltHead) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _ltHead.default;\n }\n });\n});","define(\"web-map/components/lt-infinity\", [\"exports\", \"ember-light-table/components/lt-infinity\"], function (_exports, _ltInfinity) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _ltInfinity.default;\n }\n });\n});","define(\"web-map/components/lt-row\", [\"exports\", \"ember-light-table/components/lt-row\"], function (_exports, _ltRow) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _ltRow.default;\n }\n });\n});","define(\"web-map/components/lt-scrollable\", [\"exports\", \"ember-light-table/components/lt-scrollable\"], function (_exports, _ltScrollable) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _ltScrollable.default;\n }\n });\n});","define(\"web-map/components/lt-spanned-row\", [\"exports\", \"ember-light-table/components/lt-spanned-row\"], function (_exports, _ltSpannedRow) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n Object.defineProperty(_exports, \"default\", {\n enumerable: true,\n get: function () {\n return _ltSpannedRow.default;\n }\n });\n});","define(\"web-map/components/map-feature-export\", [\"exports\", \"ember-cp-validations\", \"ember-light-table\", \"ol/style.js\", \"ol/format/GeoJSON.js\", \"ol/layer/Vector.js\", \"ol/source/Vector.js\", \"ol/Feature\", \"ol/geom/Polygon\", \"ol/geom/Point\", \"ol/geom/LinearRing\", \"ol/interaction/Draw\", \"ol/proj.js\", \"axios\"], function (_exports, _emberCpValidations, _emberLightTable, _style, _GeoJSON, _Vector, _Vector2, _Feature, _Polygon, _Point, _LinearRing, _Draw, proj, _axios) {\n \"use strict\";\n\n Object.defineProperty(_exports, \"__esModule\", {\n value: true\n });\n _exports.default = void 0;\n //import TableCommon from '../mixins/table-common';\n const Validations = (0, _emberCpValidations.buildValidations)({\n searchvalue: [(0, _emberCpValidations.validator)('presence', true), (0, _emberCpValidations.validator)('unique-searchvalue', {\n showSuggestions: true\n })]\n });\n\n var _default = Ember.Component.extend(Validations, {\n authObject: Ember.inject.service('session'),\n store: Ember.inject.service(),\n columns: Ember.computed('searchtype', function () {\n let col1 = '';\n let col2 = '';\n\n switch (this.get('searchtype.name')) {\n case 'Lots':\n col1 = 'LOT Num';\n col2 = 'RSO';\n break;\n\n case 'TOL':\n col1 = 'TOL Num';\n col2 = 'RSO';\n break;\n\n case 'Gazette':\n col1 = 'Gazette Num';\n col2 = 'Owner';\n break;\n // case 'Place':\n // col1 = '';\n // col2 = 'Name';\n // break;\n\n case 'Kampung':\n col1 = 'Kg Name';\n col2 = 'Mukim';\n break;\n\n case 'GeoCoordinates':\n col1 = '';\n col2 = '';\n break;\n\n default:\n console.log('Error Encountered in Search Case Switch');\n }\n\n ;\n return [{\n label: col1,\n valuePath: 'objectnum',\n responsiveHidden: false,\n //must be false\n breakpoints: ['mobile', 'tablet', 'desktop'] //width: ($(window).width() * 0.23 * 0.3) + 'px'\n\n }, {\n label: col2,\n valuePath: 'objectfield1',\n responsiveHidden: false,\n breakpoints: ['mobile', 'tablet', 'desktop'] //width: ($(window).width() * 0.23 * 0.7) + 'px'\n\n }];\n }),\n table: Ember.computed('model1', function () {\n return _emberLightTable.default.create({\n columns: this.get('columns'),\n rows: this.get('model1')\n });\n }),\n olMapservice: Ember.inject.service('ol-mapservice'),\n // stoptions: ['Lots', 'TOL', 'Gazette', 'Place', 'Kampung'],\n stoptions: [{\n name: 'Lots',\n label: 'Lot'\n }, {\n name: 'TOL',\n label: 'TOL'\n }, {\n name: 'Gazette',\n label: 'Gazette'\n }, // {\n // name: 'Place',\n // label: 'Place'\n // },\n {\n name: 'Kampung',\n label: 'Kampung'\n }, {\n name: 'None',\n label: 'None'\n }],\n btoptions: [{\n name: 'Polygon',\n label: 'Polygon'\n }, // {\n // name: 'Circle',\n // label: 'Circle'\n // },\n {\n name: 'None',\n label: 'None'\n }],\n epoptions: [{\n name: 'GML',\n label: 'GML file'\n }, {\n name: 'Shapefile',\n label: 'Shapefile'\n }, {\n name: 'None',\n label: 'None'\n }],\n // searchtype: 'Lots',\n searchtype: {\n name: 'None',\n label: 'None'\n },\n searchvalue: '',\n boxtype: {\n name: 'None',\n label: 'None'\n },\n boxvalue: '',\n exporttype: {\n name: 'None',\n label: 'None'\n },\n exportvalue: '',\n drawToolObject: null,\n ffeatures: [],\n model1: [],\n drawVectorSource: null,\n usedVectorSource: null,\n usedVectorLayer: null,\n usedMarkerVectorLayer: null,\n\n /* model1: [{\n objectnum: '1221',\n objectfield1: '12/122',\n objectfield2: 'BM'\n }, {\n objectnum: '1221',\n objectfield1: '12/122',\n objectfield2: 'BM'\n }, {\n objectnum: '1221',\n objectfield1: '12/122',\n objectfield2: 'BM'\n }], */\n isResizeCapture: false,\n canClearResults: false,\n doClearResults: Ember.computed(function () {\n const olMapservice = this.get('olMapservice');\n olMapservice.clearSearchResults(); //console.log('Doing Clear Results');\n\n return 1;\n }),\n\n init() {\n this._super(...arguments);\n },\n\n didInsertElement() {},\n\n observer: Ember.observer('canClearResults', function () {\n //console.log('trying to clear search results after srs change');\n if (this.canClearResults) {\n //console.log('can clear search results after srs change');\n this.set('model1', []); //this.set('canClearResults', false);\n // this.resetClearResults();\n } //console.log(this.get('canClearResults'));\n\n }),\n\n async doFeatureExport(layer, boxpoly, boxgeom, srs, user, exportType) {\n const map = this.get('olMapservice').get('map');\n let wfs1 = '';\n let layer1 = '';\n let scoord1 = '';\n const dpi = 96;\n const inchesPerMetre = 39.37;\n let unit = map.getView().getProjection().getUnits();\n let resolution = map.getView().getResolution();\n let currentScale = resolution * proj.METERS_PER_UNIT[unit] * inchesPerMetre * dpi; //let boxArea = Math.floor(Math.random() * 100); // to be replace with a function that calculate area\n\n let boxArea = boxpoly.getArea(); // should be sqm\n\n let self = this;\n\n switch (layer) {\n case 'Lots':\n //swfs1,slayer1,ssrs1,sattr1,sstr1\n wfs1 = \"\".concat(self.store.adapterFor('application').get('erdasHostAtBackend'), \"/erdas-apollo/vector/LOTS3\");\n layer1 = 'MV_LOTS3';\n break;\n\n case 'TOL':\n //swfs1,slayer1,ssrs1,sattr1,sstr1\n wfs1 = \"\".concat(self.store.adapterFor('application').get('erdasHostAtBackend'), \"/erdas-apollo/vector/GDBD\");\n layer1 = 'TOL';\n break;\n\n case 'Gazette':\n //swfs1,slayer1,ssrs1,sattr1,sstr1\n wfs1 = \"\".concat(self.store.adapterFor('application').get('erdasHostAtBackend'), \"/erdas-apollo/vector/GAZETTE3\");\n layer1 = 'MV_GAZETTE1';\n break;\n\n case 'Kampung':\n //swfs1,slayer1,ssrs1,sattr1,sstr1\n wfs1 = \"\".concat(self.store.adapterFor('application').get('erdasHostAtBackend'), \"/erdas-apollo/vector/GDBD_BR10\");\n layer1 = 'ADMINBNDY_P_AGREEMENT';\n break;\n\n default:\n console.log('Error Encountered in Fetch Feature Case Switch');\n }\n /** ';\n button.setAttribute('title', 'Purchase');\n var element = document.createElement('div');\n element.className = 'change-purchasep ol-unselectable ol-control';\n element.appendChild(button);\n Control.call(this, {\n element: element,\n target: options.target\n });\n button.addEventListener('click', this.handleLayersInfo.bind(this), false);\n }\n\n if (Control) PurchaseControl.__proto__ = Control;\n PurchaseControl.prototype = Object.create(Control && Control.prototype);\n PurchaseControl.prototype.constructor = PurchaseControl;\n\n PurchaseControl.prototype.handleLayersInfo = function handleLayersInfo() {\n //this.getMap().getView().setRotation(0);\n let map_panel_arr = document.getElementsByClassName(_environment.default.W3O_openlayers.ol_map_panel);\n map_panel_arr[0].style.cursor = \"grab\"; // console.log('Just change the mouse cursor to purchase...');\n };\n\n return PurchaseControl;\n }(_control.Control);\n\n let MeasureInfoControl = function (Control) {\n function MeasureInfoControl(opt_options) {\n var options = opt_options || {};\n var button = document.createElement('button');\n button.innerHTML = '';\n button.setAttribute('title', 'Length Measure');\n var element = document.createElement('div');\n element.className = 'change-measurep ol-unselectable ol-control';\n element.appendChild(button);\n Control.call(this, {\n element: element,\n target: options.target\n });\n button.addEventListener('click', this.handleMeasureInfo.bind(this), false);\n }\n\n if (Control) MeasureInfoControl.__proto__ = Control;\n MeasureInfoControl.prototype = Object.create(Control && Control.prototype);\n MeasureInfoControl.prototype.constructor = MeasureInfoControl;\n\n MeasureInfoControl.prototype.handleMeasureInfo = function handleMeasureInfo() {\n //this.getMap().getView().setRotation(0);\n let map_panel_arr = document.getElementsByClassName(_environment.default.W3O_openlayers.ol_map_panel);\n map_panel_arr[0].style.cursor = \"crosshair\"; // console.log('Just change the mouse cursor to Measure...');\n };\n\n return MeasureInfoControl;\n }(_control.Control);\n\n let ClearMeasureInfoControl = function (Control) {\n function ClearMeasureInfoControl(opt_options) {\n var options = opt_options || {};\n var button = document.createElement('button');\n button.innerHTML = '';\n button.setAttribute('title', 'Erase All Measures');\n var element = document.createElement('div');\n element.className = 'change-erasemeasurep ol-unselectable ol-control';\n element.appendChild(button);\n Control.call(this, {\n element: element,\n target: options.target\n });\n button.addEventListener('click', this.handleClearMeasureInfo.bind(this), false);\n }\n\n if (Control) ClearMeasureInfoControl.__proto__ = Control;\n ClearMeasureInfoControl.prototype = Object.create(Control && Control.prototype);\n ClearMeasureInfoControl.prototype.constructor = ClearMeasureInfoControl;\n\n ClearMeasureInfoControl.prototype.handleClearMeasureInfo = function handleClearMeasureInfo() {\n //this.getMap().getView().setRotation(0);\n let map_panel_arr = document.getElementsByClassName(_environment.default.W3O_openlayers.ol_map_panel);\n map_panel_arr[0].style.cursor = \"not-allowed\"; // console.log('Just change the mouse cursor to Not Allowed...');\n // measureSource and measureVectorLayer not setup yet.\n //// console.log(this.get('measureSource'));\n //// console.log(this.get('measureVectorLayer'));\n\n let map1 = this.getMap();\n map1.dispatchEvent('singleclick');\n };\n\n return ClearMeasureInfoControl;\n }(_control.Control);\n\n let OpenNLUMPLegendControl = function (Control) {\n function OpenNLUMPLegendControl(opt_options) {\n var options = opt_options || {};\n var button = document.createElement('button');\n button.innerHTML = '';\n button.setAttribute('title', 'Master Plan Legends');\n var element = document.createElement('div');\n element.className = 'change-nlumplegendp ol-unselectable ol-control';\n element.appendChild(button);\n Control.call(this, {\n element: element,\n target: options.target\n });\n button.addEventListener('click', this.handleClearMeasureInfo.bind(this), false);\n }\n\n if (Control) OpenNLUMPLegendControl.__proto__ = Control;\n OpenNLUMPLegendControl.prototype = Object.create(Control && Control.prototype);\n OpenNLUMPLegendControl.prototype.constructor = OpenNLUMPLegendControl;\n\n OpenNLUMPLegendControl.prototype.handleClearMeasureInfo = function handleClearMeasureInfo() {\n //this.getMap().getView().setRotation(0);\n let map_panel_arr = document.getElementsByClassName(_environment.default.W3O_openlayers.ol_map_panel);\n map_panel_arr[0].style.cursor = \"help\"; // console.log('Just change the mouse cursor to help...');\n // measureSource and measureVectorLayer not setup yet.\n //// console.log(this.get('measureSource'));\n //// console.log(this.get('measureVectorLayer'));\n\n let map1 = this.getMap();\n map1.dispatchEvent('singleclick');\n map_panel_arr[0].style.cursor = \"default\";\n };\n\n return OpenNLUMPLegendControl;\n }(_control.Control);\n\n let OpenScaleControl = function (Control) {\n function OpenScaleControl(opt_options) {\n var options = opt_options || {};\n var button = document.createElement('button');\n button.innerHTML = '';\n button.setAttribute('title', 'Select scale');\n var element = document.createElement('div');\n element.className = 'change-scalep ol-unselectable ol-control';\n element.appendChild(button);\n Control.call(this, {\n element: element,\n target: options.target\n });\n button.addEventListener('click', this.handleClearMeasureInfo.bind(this), false);\n }\n\n if (Control) OpenScaleControl.__proto__ = Control;\n OpenScaleControl.prototype = Object.create(Control && Control.prototype);\n OpenScaleControl.prototype.constructor = OpenScaleControl;\n\n OpenScaleControl.prototype.handleClearMeasureInfo = function handleClearMeasureInfo() {\n //this.getMap().getView().setRotation(0);\n let map_panel_arr = document.getElementsByClassName(_environment.default.W3O_openlayers.ol_map_panel);\n map_panel_arr[0].style.cursor = \"text\"; // console.log('Just change the mouse cursor to text...');\n // measureSource and measureVectorLayer not setup yet.\n //// console.log(this.get('measureSource'));\n //// console.log(this.get('measureVectorLayer'));\n\n let map1 = this.getMap();\n map1.dispatchEvent('singleclick');\n map_panel_arr[0].style.cursor = \"default\";\n };\n\n return OpenScaleControl;\n }(_control.Control);\n\n let MobileGuideControl = function (Control) {\n function MobileGuideControl(opt_options) {\n var options = opt_options || {};\n var button = document.createElement('button');\n button.innerHTML = '';\n button.setAttribute('title', 'Open Mobile Guide');\n var element = document.createElement('div');\n element.className = 'change-guidep ol-unselectable ol-control';\n element.appendChild(button);\n Control.call(this, {\n element: element,\n target: options.target\n });\n button.addEventListener('click', this.handleClearMeasureInfo.bind(this), false);\n }\n\n if (Control) MobileGuideControl.__proto__ = Control;\n MobileGuideControl.prototype = Object.create(Control && Control.prototype);\n MobileGuideControl.prototype.constructor = MobileGuideControl;\n\n MobileGuideControl.prototype.handleClearMeasureInfo = function handleClearMeasureInfo() {\n //this.getMap().getView().setRotation(0);\n let map_panel_arr = document.getElementsByClassName(_environment.default.W3O_openlayers.ol_map_panel);\n map_panel_arr[0].style.cursor = \"wait\"; // console.log('Just change the mouse cursor to wait...');\n // measureSource and measureVectorLayer not setup yet.\n //// console.log(this.get('measureSource'));\n //// console.log(this.get('measureVectorLayer'));\n\n let map1 = this.getMap();\n map1.dispatchEvent('singleclick');\n map_panel_arr[0].style.cursor = \"default\";\n };\n\n return MobileGuideControl;\n }(_control.Control);\n\n let defaultMapZoom;\n\n if (_environment.default.W3O_openlayers.deployment == 'RAD') {\n defaultMapZoom = 10;\n } else {\n defaultMapZoom = 3; // Change default map zoom when it open from mobile device\n\n if (this.get('isMobile') === 'Yes') {\n defaultMapZoom = 1.5;\n }\n }\n\n let pointerControls = [new LayersInfoControl(), new MeasureInfoControl(), //new PurchaseControl(),\n new PointerControl(), new ClearMeasureInfoControl() // new OpenNLUMPLegendControl() //NLUMP legend disabled (request by Survey)\n ];\n\n if (this.get('isMobile') === 'Yes') {\n pointerControls.push(new OpenScaleControl());\n pointerControls.push(new MobileGuideControl());\n pointerControls.push(new PurchaseControl());\n } else {\n if (_environment.default.W3O_openlayers.deployment === 'GEOPORTAL') {\n pointerControls.push(new OpenNLUMPLegendControl());\n pointerControls.push(new PurchaseControl());\n }\n }\n\n const map = new _ol.Map({\n controls: (0, _control.defaults)().extend(pointerControls),\n target: 'map',\n layers: this.get('initActiveLayers'),\n view: new _ol.View({\n projection: this.get('defaultProjection'),\n center: this.get('defaultCenter'),\n zoom: defaultMapZoom,\n // need to have different zoom for Geoportal or RAD TODO\n rotation: 0,\n enableRotation: false\n })\n }); //map.addOverlay(mapOverlay1);\n\n map.addControl(new _control.ScaleLine({\n units: 'metric'\n }));\n /* map.addControl(new MousePosition({\n coordinateFormat: c => parseInt(c[0], 10) + ', ' + parseInt(c[1], 10),\n undefinedHTML: ''\n })); */\n\n map.addControl(new _MousePosition.default({\n coordinateFormat: (0, _coordinate.createStringXY)(4),\n undefinedHTML: ''\n }));\n const mousePositionControl = new _MousePosition.default({\n coordinateFormat: (0, _coordinate.createStringXY)(4),\n // projection: 'EPSG:4326',\n // comment the following two lines to have the mouse position\n // be placed within the map.\n className: 'custom-mouse-position',\n target: document.getElementById('mouse-position'),\n undefinedHTML: ' '\n }); //map.addControl(mousePositionControl);\n\n this.set('map', map);\n const initialExtent = null;\n this.set('initialExtent', initialExtent); // console.log('hoichong ol-mapservice getOmap map initialextent done');\n\n this.initVectorSource(map); // console.log('hoichong ol-mapservice getOmap map initVectorSource done');\n\n var currZoom = map.getView().getZoom(); // console.log('hoichong ol-mapservice getOmap map currZoom: ' +currZoom);\n\n map.on('moveend', function (e) {\n var newZoom = map.getView().getZoom();\n\n if (currZoom != newZoom) {\n // console.log('Inside ol-mapservice moveend event, zoom end, new zoom: ' + newZoom);\n currZoom = newZoom; //var dpi = 25.4 / 0.28;\n\n const dpi = 96; // var cScale = this.calcMapScale(map,dpi); // calcMapScale is not a function (maybe because in an event callback)\n\n let unit = map.getView().getProjection().getUnits();\n let resolution = map.getView().getResolution();\n const inchesPerMetre = 39.37;\n let cScale = resolution * proj.METERS_PER_UNIT[unit] * inchesPerMetre * dpi; // console.log('Inside ol-mapservice moveend event, zoom end, new scale & resolution : ' + cScale + ' ' + resolution);\n // console.log(proj.METERS_PER_UNIT[unit] + ' ' + inchesPerMetre);\n //let zoom1 = map.getView().getZoom();\n //// console.log(zoom1);\n //// console.log(map.getView().getResolutionForZoom(zoom1));\n\n let scaleRoundVal = Math.ceil(cScale); // scaleElement = document.getElementById('inputScale');\n\n document.getElementById('inputScale').value = scaleRoundVal.toString();\n\n let _c_srs = map.getView().getProjection().getCode(); // console.log('Get SRS ' + _c_srs);\n\n\n function controlLayerEye(layer, currentScale) {\n let ltitle = 'Canvas';\n\n if (layer.values_.title !== undefined) {\n ltitle = layer.values_.title.replace(/\\s+/g, '');\n }\n\n let elementId = \"layer-item-id-\".concat(ltitle); // id of the layer input element (not the eye icon) \n\n let eyeId = \"layer-item-eye-id-\".concat(ltitle); // id of the layer eye icon \n // console.log('elementId ' + elementId); \n\n if (layer.values_.minScale !== undefined && layer.values_.minScale >= 0) {\n if (currentScale > layer.values_.maxScale || currentScale < layer.values_.minScale) {\n document.getElementById(elementId).disabled = true;\n document.getElementById(eyeId).classList.add(\"right-icon-lock\"); // console.log('just disable this checkbox');\n } else {\n document.getElementById(elementId).disabled = false;\n document.getElementById(eyeId).classList.remove(\"right-icon-lock\"); // console.log('just enable this checkbox');\n }\n }\n }\n\n if (_c_srs == 'EPSG:4326') {\n const layers1 = map.getLayers().getArray().concat().reverse().map(layer => {\n //// console.log(layer);\n controlLayerEye(layer, cScale);\n\n if (layer.get('exclusive') == true) {// console.log('Inside ol-mapservice moveend event, EXCLUSIVE OVERRIDE');\n } else {\n if (layer.get('visiType') == 'Manual') {// console.log('Inside ol-mapservice moveend event, MANUAL OVERRIDE');\n // console.log(layer.values_.title);\n } else {\n let maxScale = layer.get('maxScale');\n let minScale = layer.get('minScale'); // console.log('Inside ol-mapservice moveend event, zoom end, layer visibility for 4326 : ' + layer.getVisible() + ' ' + minScale + ' ' + maxScale);\n\n if (Boolean(maxScale)) {\n if (minScale <= cScale && cScale < maxScale) {\n layer.setVisible(true);\n } else {\n layer.setVisible(false);\n }\n } else {\n layer.setVisible(true);\n }\n }\n }\n });\n } else {\n const layers = map.getLayers().getArray().concat().reverse().map(layer => {\n controlLayerEye(layer, cScale);\n\n if (layer.get('exclusive') == true) {// console.log('Inside ol-mapservice moveend event, EXCLUSIVE OVERRIDE');\n } else {\n if (layer.get('visiType') == 'Manual') {// console.log('Inside ol-mapservice moveend event, MANUAL OVERRIDE');\n // console.log(layer.values_.title);\n } else {\n let maxRes = layer.getMaxResolution();\n let minRes = layer.getMinResolution(); // console.log('Inside ol-mapservice moveend event, zoom end, layer visibility : ' + layer.getVisible() + ' ' + minRes + ' ' + maxRes);\n // console.log(layer);\n\n if (minRes <= resolution && resolution < maxRes) {\n layer.setVisible(true);\n } else {\n layer.setVisible(false);\n }\n }\n }\n });\n }\n }\n });\n _jquery.default.fn.popover.Constructor.Default.whiteList.table = [];\n _jquery.default.fn.popover.Constructor.Default.whiteList.tr = [];\n _jquery.default.fn.popover.Constructor.Default.whiteList.td = [];\n _jquery.default.fn.popover.Constructor.Default.whiteList.th = [];\n _jquery.default.fn.popover.Constructor.Default.whiteList.div = [];\n _jquery.default.fn.popover.Constructor.Default.whiteList.tbody = [];\n _jquery.default.fn.popover.Constructor.Default.whiteList.thead = [];\n _jquery.default.fn.popover.Constructor.Default.whiteList.h2 = [];\n _jquery.default.fn.popover.Constructor.Default.whiteList.h3 = [];\n _jquery.default.fn.popover.Constructor.Default.whiteList.button = ['data-toggle', 'data-target'];\n _jquery.default.fn.popover.Constructor.Default.whiteList.ul = [];\n _jquery.default.fn.popover.Constructor.Default.whiteList.li = [];\n _jquery.default.fn.popover.Constructor.Default.whiteList.div = ['data-parent'];\n _jquery.default.fn.popover.Constructor.Default.whiteList.a = ['target', 'href', 'title', 'rel', 'data-toggle']; // console.log('hoichong ol-mapservice getOmap map popover setup done');\n // Popup showing the position the user clicked\n\n let popup = new _Overlay.default({\n element: document.getElementById('popup'),\n stopEvent: false\n });\n map.addOverlay(popup); // console.log('hoichong ol-mapservice getOmap map addOverlay popup done');\n\n map.getViewport().addEventListener('contextmenu', async function (evt) {\n evt.preventDefault(); // console.log('Captured RIGHT CLICK ...');\n // console.log(map.getEventCoordinate(evt));\n // console.log(evt.coordinate); // work only for left single click or left dbl click\n\n let tcoordinate = map.getEventCoordinate(evt); // Remove code that are duplicate in the \"left single click\" event method.\n // See below.\n });\n let MEASURE_ACTIVE_FLAG = false;\n let measureSrcArray = [];\n let measureVLayerArray = [];\n let measureOutOverlayArray = [];\n map.on('singleclick', async function (evt) {\n evt.preventDefault(); // console.log('Captured SINGLE CLICK TOP LINE ...');\n\n let map_panel_arr = document.getElementsByClassName(_environment.default.W3O_openlayers.ol_map_panel); // console.log(map_panel_arr[0].style.cursor);\n\n let mouse_pointer_type = map_panel_arr[0].style.cursor; // console.log(mouse_pointer_type);\n\n if (mouse_pointer_type === 'grab' && !self.isLoading) {\n // console.log('Captured SINGLE CLICK for POINTER...');\n // console.log(map.getEventCoordinate(evt));\n // console.log(evt.coordinate); // work only for left single click or left dbl click\n let tcoordinate = evt.coordinate;\n let view1 = map.getView();\n var viewResolution = view1.getResolution();\n let layers1 = map.getLayers();\n let layerfilterArr = [];\n let geodetic_layer = [];\n layers1.forEach(layer => {\n // console.log('ol-mapservice map single click');\n // console.log(layer.get('title'));\n // console.log(layer);\n let layerkeys = {};\n\n if (layer.get('layer_info')) {\n let wms_url = layer.get('source').url_;\n let wms_arr = wms_url.split(\"/\");\n let wfs_url = \"/\".concat(wms_arr[3], \"/\").concat(wms_arr[4], \"/\").concat(wms_arr[5]);\n layerfilterArr.push({\n type: layer.get('layer_info').type,\n fields: layer.get('layer_info').fields,\n layer_info: layer.get('layer_info'),\n wms_url: \"\".concat(self.store.adapterFor('application').get('erdasHost')).concat(wfs_url),\n target_layer: layer.get('source').params_.LAYERS\n });\n }\n\n if (layer.get('title') === 'Control Point') {\n let wms_url = layer.get('source').url_;\n let wms_arr = wms_url.split(\"/\");\n let wfs_url = \"/\".concat(wms_arr[3], \"/\").concat(wms_arr[4], \"/\").concat(wms_arr[5]);\n geodetic_layer.push({\n title: layer.get('title'),\n type: layer.get('layer_info').type,\n fields: layer.get('layer_info').fields,\n layer_info: layer.get('layer_info'),\n wms_url: \"\".concat(self.store.adapterFor('application').get('erdasHost')).concat(wfs_url),\n target_layer: layer.get('source').params_.LAYERS\n });\n }\n });\n let wfs1 = '';\n let layer1 = '';\n let scoord1 = ''; // console.log('Coordinate of click: ' + tcoordinate);\n\n let arr = [\"one\", \"two\", \"three\", \"four\", \"five\"];\n arr.includes(\"two\"); //returns true \n\n let st1 = 'Lots'; // let fetchfeatureArr = [\"Lots\", \"TOL\", \"Gazette\", \"Kampung\"];\n\n let fetchResultArr = [];\n\n async function fetchFeatureInLayer(st1) {\n wfs1 = st1.wms_url;\n layer1 = st1.target_layer;\n scoord1 = tcoordinate; // console.log({wfs1, layer1, scoord1});\n //Show popover with loading\n\n self.isLoading = true;\n let element = popup.getElement();\n (0, _jquery.default)(element).popover('dispose');\n popup.setPosition(tcoordinate);\n (0, _jquery.default)(element).popover({\n placement: 'top',\n animation: false,\n html: true,\n title: 'Purchase Info',\n content: \"Loading Data...\"\n });\n (0, _jquery.default)(element).popover('show');\n let fetchRes1 = await self.fetchNearbyWfsObjects(wfs1, layer1, scoord1, st1);\n self.isLoading = false; // console.log('Fetch results from fetchNearbyWfsObjects');\n // console.log(fetchRes1);\n\n return fetchRes1;\n } // console.log('---layerfilterArr---');\n // console.log(layerfilterArr);\n\n\n for (const st1 of layerfilterArr) {\n let ffr1 = await fetchFeatureInLayer(st1);\n fetchResultArr.push(ffr1);\n }\n\n ; // console.log('All Layers feature that need to fetch...');\n // console.log(fetchResultArr);\n //Fetch geodetic layer info selected\n\n let wfs1_geodetic = geodetic_layer[0].wms_url;\n let layer1_geodetic = geodetic_layer[0].target_layer;\n let st1_geodetic = geodetic_layer[0];\n let fetchRes1_within = await self.fetchWithinWfsObjects(wfs1_geodetic, layer1_geodetic, tcoordinate, st1_geodetic); // console.log('fetchRes1_within');\n // console.log(fetchRes1_within);\n // console.log('fetchRes1_within length');\n // console.log(fetchRes1_within.length);\n\n let tablebodystart1 = '
# | First | Last | Handle |
---|---|---|---|
1 | Mark | Otto | @mdo |
2 | Jacob | Thornton | @fat |
3 | Larry | the Bird |