Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 2edc146

Browse files
committed
【feature】 分布式分析微件优化 review by songym
1 parent 5ef0210 commit 2edc146

File tree

14 files changed

+508
-290
lines changed

14 files changed

+508
-290
lines changed

build/jsdocs/template/config.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -352,7 +352,7 @@
352352
"name_en": "DistributedAnalysis"
353353
},
354354
"Search": {
355-
"name": "查询微件",
355+
"name": "图层查询微件",
356356
"name_en": "Search"
357357
}
358358
}

dist/leaflet/iclient9-leaflet-es6.js

Lines changed: 101 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -44,19 +44,34 @@
4444
/******/ // define getter function for harmony exports
4545
/******/ __webpack_require__.d = function(exports, name, getter) {
4646
/******/ if(!__webpack_require__.o(exports, name)) {
47-
/******/ Object.defineProperty(exports, name, {
48-
/******/ configurable: false,
49-
/******/ enumerable: true,
50-
/******/ get: getter
51-
/******/ });
47+
/******/ Object.defineProperty(exports, name, { enumerable: true, get: getter });
5248
/******/ }
5349
/******/ };
5450
/******/
5551
/******/ // define __esModule on exports
5652
/******/ __webpack_require__.r = function(exports) {
53+
/******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
54+
/******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
55+
/******/ }
5756
/******/ Object.defineProperty(exports, '__esModule', { value: true });
5857
/******/ };
5958
/******/
59+
/******/ // create a fake namespace object
60+
/******/ // mode & 1: value is a module id, require it
61+
/******/ // mode & 2: merge all properties of value into the ns
62+
/******/ // mode & 4: return value when already ns object
63+
/******/ // mode & 8|1: behave like require
64+
/******/ __webpack_require__.t = function(value, mode) {
65+
/******/ if(mode & 1) value = __webpack_require__(value);
66+
/******/ if(mode & 8) return value;
67+
/******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
68+
/******/ var ns = Object.create(null);
69+
/******/ __webpack_require__.r(ns);
70+
/******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value });
71+
/******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
72+
/******/ return ns;
73+
/******/ };
74+
/******/
6075
/******/ // getDefaultExport function for compatibility with non-harmony modules
6176
/******/ __webpack_require__.n = function(module) {
6277
/******/ var getter = module && module.__esModule ?
@@ -31561,7 +31576,11 @@ class KernelDensityJobParameter_KernelDensityJobParameter {
3156131576

3156231577
tempObj['analyst'] = tempObj['analyst'] || {};
3156331578
if (name === 'query') {
31564-
tempObj['analyst'][name] = kernelDensityJobParameter[name].toBBOX();
31579+
if(tempObj['analyst'][name]){
31580+
tempObj['analyst'][name] = kernelDensityJobParameter[name].toBBOX();
31581+
}else{
31582+
tempObj['analyst'][name] = kernelDensityJobParameter[name];
31583+
}
3156531584
} else {
3156631585
tempObj['analyst'][name] = kernelDensityJobParameter[name];
3156731586
}
@@ -83012,7 +83031,6 @@ var openFileViewModel = function (options) {
8301283031
};
8301383032

8301483033
external_L_default.a.supermap.widgets.openFileViewModel = openFileViewModel;
83015-
8301683034
external_L_default.a.supermap.widgets.util = widgetsUtil;
8301783035
// CONCATENATED MODULE: ./src/leaflet/widgets/openfile/OpenFileView.js
8301883036
/* Copyright© 2000 - 2018 SuperMap Software Co.Ltd. All rights reserved.
@@ -85777,10 +85795,10 @@ class DistributedAnalysisViewModel_DistributedAnalysisViewModel extends external
8577785795
'resolution': params.resolution,
8577885796
'fields': params.fields,
8577985797
'radius': params.radius,
85780-
'meshSizeUnit': 'Meter',
85781-
'radiusUnit': 'Meter',
85782-
'areaUnit': 'SquareMile',
85783-
'query':'',
85798+
'meshSizeUnit': params.gridSizeUnit,
85799+
'radiusUnit': params.searchRadiusUnit,
85800+
'areaUnit': params.areaUnit,
85801+
'query':params.queryRange,
8578485802
'mappingParameters': new MappingParameters_MappingParameters({
8578585803
'rangeMode': params.mappingParameter.rangeMode,
8578685804
'rangeCount': params.mappingParameter.rangeCount,
@@ -85790,6 +85808,7 @@ class DistributedAnalysisViewModel_DistributedAnalysisViewModel extends external
8579085808
let me = this;
8579185809
this.processingService.addKernelDensityJob(kernelDensityJobParameter, function (serviceResult){
8579285810
if (serviceResult.error) {
85811+
8579385812
/**
8579485813
* @event L.supermap.widgets.distributedAnalysisViewModel#analysisfailed
8579585814
* @description 分析失败后触发。
@@ -86025,21 +86044,51 @@ var DistributedAnalysisView = external_L_default.a.Control.extend({
8602586044
let weightFieldsSelectName = analysisSelectControl.children[2].children[1].children[0];
8602686045
let weightFieldsSelect = analysisSelectControl.children[2].children[1].children[2].children[0].children[0];
8602786046

86028-
// 网格大小 & 搜索半径
86047+
// 分析范围 & 网格大小 & 搜索半径 & 面积单位
86048+
// 分析范围
8602986049
let inputOptions = [{
86030-
'spanName': Lang.i18n('text_label_gridSizeInMeters'),
86031-
'value': '1000'
86032-
}, {
86033-
'spanName': Lang.i18n('text_label_searchRadius'),
86034-
'value': '300'
86050+
'spanName': '分析范围',
86051+
'value': ''
8603586052
}];
86036-
8603786053
for (let i in inputOptions) {
8603886054
this._creatInputBox(inputOptions[i], analysisSelectControl)
8603986055
}
86040-
let gridSizeInput = analysisSelectControl.children[3].children[1];
86041-
let searchRadiusInput = analysisSelectControl.children[4].children[1];
86042-
86056+
let queryRangeInput = analysisSelectControl.children[3].children[1];
86057+
queryRangeInput.setAttribute('placeholder', '默认为输入数据的全幅范围。范例:[-74.050,40.650,-73.850,40.850]')
86058+
queryRangeInput.title = '默认为输入数据的全幅范围。范例:[-74.050,40.650,-73.850,40.850]';
86059+
// 网格大小
86060+
let gridSizeUnitSelectOptions = {
86061+
'optionsArr': ['Meter', 'Kilometer', 'Yard', 'Foot', 'Mile']
86062+
}
86063+
let gridSizeOptions = {
86064+
'labelName':'网格大小',
86065+
'selectOptions':gridSizeUnitSelectOptions
86066+
}
86067+
let gridSizeContainer = this._creatUnitSelectBox(gridSizeOptions, analysisSelectControl);
86068+
let gridSizeInput = gridSizeContainer.children[1].children[0];
86069+
gridSizeInput.value = '1000';
86070+
let gridSizeUnitSelectName = gridSizeContainer.children[1].children[1].children[0].children[0].children[0];
86071+
86072+
// 搜索半径
86073+
let searchRadiusUnitSelectOptions = {
86074+
'optionsArr': ['Meter', 'Kilometer', 'Yard', 'Foot', 'Mile']
86075+
}
86076+
let searchRadiusOptions = {
86077+
'labelName':'搜索半径',
86078+
'selectOptions':searchRadiusUnitSelectOptions
86079+
}
86080+
let searchRadiusContainer = this._creatUnitSelectBox(searchRadiusOptions, analysisSelectControl);
86081+
let searchRadiusInput = searchRadiusContainer.children[1].children[0];
86082+
searchRadiusInput.value = '300';
86083+
let searchRadiusSelectName = searchRadiusContainer.children[1].children[1].children[0].children[0].children[0];
86084+
// 面积单位
86085+
let areaUnitSelectOptions = {
86086+
'labelName':'面积单位',
86087+
'optionsArr': ['SquareMile', 'SquareMeter', 'Hectare', 'Acre', 'SquareFoot', 'SquareYard']
86088+
}
86089+
let areaUnitSelectTool= (new Select(areaUnitSelectOptions)).getElement();
86090+
analysisSelectControl.appendChild(areaUnitSelectTool);
86091+
let areaUnitSelectName = areaUnitSelectTool.children[1].children[0];
8604386092
// 专题图分段
8604486093
let rangeContent = external_L_default.a.DomUtil.create('div', 'range-content', analysisType);
8604586094
let rangeContentOptions = {
@@ -86174,6 +86223,8 @@ var DistributedAnalysisView = external_L_default.a.Control.extend({
8617486223
})
8617586224
me.viewModel.on('analysisfailed', function () {
8617686225
_me.messageBox.showView(Lang.i18n('msg_theFieldNotSupportAnalysis'), "failure");
86226+
analysingContainer.style.display = 'none';
86227+
analysisBtn.style.display = 'block';
8617786228
})
8617886229
}
8617986230
}
@@ -86188,6 +86239,10 @@ var DistributedAnalysisView = external_L_default.a.Control.extend({
8618886239
let analysisType = dropDownTop.getAttribute('data-value');
8618986240
let analysisMethod = analysisMethodSelectName.getAttribute('data-value');
8619086241
let gridType = gridTypeSelectName.getAttribute('data-value');
86242+
let queryRange = queryRangeInput.value;
86243+
let gridSizeUnit = gridSizeUnitSelectName.title;
86244+
let searchRadiusUnit = searchRadiusSelectName.title;
86245+
let areaUnit = areaUnitSelectName.title
8619186246
let colorGradientType = rangeContentModelSelectName.getAttribute('data-value');
8619286247
let themeModel = themeModelSelectName.getAttribute('data-value');
8619386248
let date = new Date();
@@ -86208,8 +86263,12 @@ var DistributedAnalysisView = external_L_default.a.Control.extend({
8620886263
'method': analysisMethod,
8620986264
'meshType': gridType,
8621086265
'resolution': gridSizeInput.value,
86266+
'gridSizeUnit': gridSizeUnit,
86267+
'queryRange': queryRange,
8621186268
'fields': weightFieldsSelectName.title,
8621286269
'radius': searchRadiusInput.value,
86270+
'searchRadiusUnit':searchRadiusUnit,
86271+
'areaUnit': areaUnit,
8621386272
'mappingParameter': mappingParameter,
8621486273
'resultLayer': resultLayer
8621586274
}
@@ -86249,6 +86308,25 @@ var DistributedAnalysisView = external_L_default.a.Control.extend({
8624986308
input.className = 'distributeInput'
8625086309
return div;
8625186310
},
86311+
/**
86312+
* @function L.supermap.widgets.distributedAnalysis.prototype._creatInputBox
86313+
* @description 创建含有 span 的 input 框。
86314+
* @private
86315+
*/
86316+
_creatUnitSelectBox(options, parentEle) {
86317+
let unitSelectBoxContainer = external_L_default.a.DomUtil.create('div','buffer-radius', parentEle);
86318+
let unitSelectSpan = external_L_default.a.DomUtil.create('span','', unitSelectBoxContainer);
86319+
unitSelectSpan.innerHTML = options.labelName;
86320+
let unitSelectInputContainer = external_L_default.a.DomUtil.create('div','', unitSelectBoxContainer);
86321+
external_L_default.a.DomUtil.create('input','buffer-radius-input', unitSelectInputContainer);
86322+
86323+
let unitSelectUnitContainer = external_L_default.a.DomUtil.create('div','buffer-unit', unitSelectInputContainer);
86324+
let unitSelectOptions = options.selectOptions;
86325+
let unitSelectTool = (new Select(unitSelectOptions)).getElement();
86326+
unitSelectUnitContainer.appendChild(unitSelectTool)
86327+
86328+
return unitSelectBoxContainer;
86329+
},
8625286330
/**
8625386331
* @function L.supermap.widgets.distributedAnalysis.prototype._setEleAtribute
8625486332
* @description 设置元素的属性名和属性值。
@@ -86259,6 +86337,7 @@ var DistributedAnalysisView = external_L_default.a.Control.extend({
8625986337
eleArr[i].setAttribute(attributeName, daraValueArr[i])
8626086338
}
8626186339
}
86340+
8626286341
});
8626386342
var distributedAnalysisView = function (options) {
8626486343
return new DistributedAnalysisView(options);
@@ -89907,7 +89986,7 @@ module.exports = function(proj4){
8990789986
/* 74 */
8990889987
/***/ (function(module) {
8990989988

89910-
module.exports = {"_from":"[email protected]","_id":"[email protected]","_inBundle":false,"_integrity":"sha1-WtBui8owvg/6OJpJ5FZfUfBtCJ4=","_location":"/proj4","_phantomChildren":{},"_requested":{"type":"version","registry":true,"raw":"[email protected]","name":"proj4","escapedName":"proj4","rawSpec":"2.3.15","saveSpec":null,"fetchSpec":"2.3.15"},"_requiredBy":["/"],"_resolved":"http://registry.npm.taobao.org/proj4/download/proj4-2.3.15.tgz","_shasum":"5ad06e8bca30be0ffa389a49e4565f51f06d089e","_spec":"[email protected]","_where":"G:\\iClient\\iClient-JavaScript","author":"","bugs":{"url":"https://github.com/proj4js/proj4js/issues"},"bundleDependencies":false,"contributors":[{"name":"Mike Adair","email":"[email protected]"},{"name":"Richard Greenwood","email":"[email protected]"},{"name":"Calvin Metcalf","email":"[email protected]"},{"name":"Richard Marsden","url":"http://www.winwaed.com"},{"name":"T. Mittan"},{"name":"D. Steinwand"},{"name":"S. Nelson"}],"dependencies":{"mgrs":"~0.0.2"},"deprecated":false,"description":"Proj4js is a JavaScript library to transform point coordinates from one coordinate system to another, including datum transformations.","devDependencies":{"browserify":"~12.0.1","chai":"~1.8.1","curl":"git://github.com/cujojs/curl.git","grunt":"~0.4.2","grunt-browserify":"~4.0.1","grunt-cli":"~0.1.13","grunt-contrib-connect":"~0.6.0","grunt-contrib-jshint":"~0.8.0","grunt-contrib-uglify":"~0.11.1","grunt-mocha-phantomjs":"~0.4.0","istanbul":"~0.2.4","mocha":"~1.17.1","tin":"~0.4.0"},"directories":{"test":"test","doc":"docs"},"homepage":"https://github.com/proj4js/proj4js#readme","jam":{"main":"dist/proj4.js","include":["dist/proj4.js","README.md","AUTHORS","LICENSE.md"]},"license":"MIT","main":"lib/index.js","name":"proj4","repository":{"type":"git","url":"git://github.com/proj4js/proj4js.git"},"scripts":{"test":"./node_modules/istanbul/lib/cli.js test ./node_modules/mocha/bin/_mocha test/test.js"},"version":"2.3.15"};
89989+
module.exports = {"_args":[["[email protected]","D:\\iClient-JavaScript"]],"_from":"[email protected]","_id":"[email protected]","_inBundle":false,"_integrity":"sha1-WtBui8owvg/6OJpJ5FZfUfBtCJ4=","_location":"/proj4","_phantomChildren":{},"_requested":{"type":"version","registry":true,"raw":"[email protected]","name":"proj4","escapedName":"proj4","rawSpec":"2.3.15","saveSpec":null,"fetchSpec":"2.3.15"},"_requiredBy":["/"],"_resolved":"http://registry.npm.taobao.org/proj4/download/proj4-2.3.15.tgz","_spec":"2.3.15","_where":"D:\\iClient-JavaScript","author":"","bugs":{"url":"https://github.com/proj4js/proj4js/issues"},"contributors":[{"name":"Mike Adair","email":"[email protected]"},{"name":"Richard Greenwood","email":"[email protected]"},{"name":"Calvin Metcalf","email":"[email protected]"},{"name":"Richard Marsden","url":"http://www.winwaed.com"},{"name":"T. Mittan"},{"name":"D. Steinwand"},{"name":"S. Nelson"}],"dependencies":{"mgrs":"~0.0.2"},"description":"Proj4js is a JavaScript library to transform point coordinates from one coordinate system to another, including datum transformations.","devDependencies":{"browserify":"~12.0.1","chai":"~1.8.1","curl":"git://github.com/cujojs/curl.git","grunt":"~0.4.2","grunt-browserify":"~4.0.1","grunt-cli":"~0.1.13","grunt-contrib-connect":"~0.6.0","grunt-contrib-jshint":"~0.8.0","grunt-contrib-uglify":"~0.11.1","grunt-mocha-phantomjs":"~0.4.0","istanbul":"~0.2.4","mocha":"~1.17.1","tin":"~0.4.0"},"directories":{"test":"test","doc":"docs"},"homepage":"https://github.com/proj4js/proj4js#readme","jam":{"main":"dist/proj4.js","include":["dist/proj4.js","README.md","AUTHORS","LICENSE.md"]},"license":"MIT","main":"lib/index.js","name":"proj4","repository":{"type":"git","url":"git://github.com/proj4js/proj4js.git"},"scripts":{"test":"./node_modules/istanbul/lib/cli.js test ./node_modules/mocha/bin/_mocha test/test.js"},"version":"2.3.15"};
8991189990

8991289991
/***/ }),
8991389992
/* 75 */

dist/leaflet/iclient9-leaflet-es6.min.js

Lines changed: 5 additions & 5 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)