Skip to content

Commit 66c4fdb

Browse files
author
caoxinke
committed
优化自定义打包页面,和命令处理。 review by zhurch
1 parent 1127941 commit 66c4fdb

File tree

5 files changed

+228
-194
lines changed

5 files changed

+228
-194
lines changed

build/build.html

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,6 @@
116116
margin: 20px 30px;
117117
}
118118

119-
120119
#toolbar {
121120
padding-bottom: 10px;
122121
border-bottom: 1px solid #ddd;
@@ -157,14 +156,16 @@ <h1>自定义打包</h1>
157156
<div class="description">
158157
<div>Core<span style="font-size: 14px"> --SuperMap iClient9基础核心功能</span></div>
159158
</div>
160-
<div class="deplistContent active"><ul id="deplist" class="deplist"></ul></div>
159+
<div class="deplistContent active">
160+
<ul id="deplist" class="deplist"></ul>
161+
</div>
161162
</section>
162163
<section class="sec">
163164
<div class="description">
164-
<div style="height: 35px;line-height: 35px;">客户端
165+
<div style="height: 30px;line-height: 35px;">客户端
165166
</div>
166167
</div>
167-
<ul id = "client" class="nav nav-tabs clientTabs" style="display: inline-block">
168+
<ul id="client" class="nav nav-tabs clientTabs" style="display: inline-block">
168169
<li role="presentation" class="active"><a href="#ol3select">OL3</a></li>
169170
<li role="presentation"><a href="#leafletselect">Leaflet</a></li>
170171
</ul>

build/build.js

Lines changed: 48 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -24,55 +24,54 @@ function init() {
2424
updateCommand();
2525
return false;
2626
}
27+
2728
addModule('Core', deplist, true);
2829
$('#deplist li')[0].className = 'active';
29-
for(var ol3Module in ol3Modules){
30+
for (var ol3Module in ol3Modules) {
3031
var title = ol3Modules[ol3Module].title;
3132
addGroup('ol3', title, ol3Modules[ol3Module].description, $('#ol3select')[0]);
32-
for(var module in ol3Modules[ol3Module]){
33-
if(module === 'title' || module === 'description'){
33+
for (var module in ol3Modules[ol3Module]) {
34+
if (module === 'title' || module === 'description') {
3435
continue;
3536
}
36-
addModule(module, $('#ol3_' + title)[0]);
37+
addModule(module, $('#ol3_' + title)[0], false, ol3Modules[ol3Module][module].name);
3738
}
3839
}
3940
for (var leafletModule in leafletModules) {
4041
var title = leafletModules[leafletModule].title;
4142
addGroup('leaflet', title, leafletModules[leafletModule].description, $('#leafletselect')[0]);
42-
for(var module in leafletModules[leafletModule]){
43-
if(module === 'title' || module === 'description'){
43+
for (var module in leafletModules[leafletModule]) {
44+
if (module === 'title' || module === 'description') {
4445
continue;
4546
}
46-
addModule(module, $('#leaflet_' + title)[0]);
47+
addModule(module, $('#leaflet_' + title)[0], false, leafletModules[leafletModule][module].name);
4748
}
4849
}
4950
updateCommand();
5051

5152
$('.clientTabs li a').click(function (e) {
5253
e.preventDefault()
53-
if(this.innerHTML === 'Leaflet'){
54-
var checks = $('.deplist input');
55-
for (var i = 0; i < checks.length; i++) {
56-
if(checks[i].id.indexOf('ol3_') !== -1 && checks[i].checked){
57-
checks[i].checked = false;
58-
checks[i].parentNode.className = '';
59-
}
60-
}
54+
if (this.innerHTML === 'Leaflet') {
55+
cancelChecked('ol3');
6156
}
62-
if(this.innerHTML === 'OL3'){
63-
var checks = $('.deplist input');
64-
for (var i = 0; i < checks.length; i++) {
65-
if(checks[i].id.indexOf('leaflet_') !== -1 && checks[i].checked){
66-
checks[i].checked = false;
67-
checks[i].parentNode.className = '';
68-
}
69-
}
57+
if (this.innerHTML === 'OL3') {
58+
cancelChecked('leaflet');
7059
}
7160
updateCommand();
7261
$(this).tab('show');
7362
})
7463
}
7564

65+
function cancelChecked(clientName) {
66+
var checks = $('#' + clientName + 'select .deplist input');
67+
for (var i = 0; i < checks.length; i++) {
68+
if (checks[i].checked) {
69+
checks[i].checked = false;
70+
checks[i].parentNode.className = '';
71+
}
72+
}
73+
}
74+
7675
function addGroup(client, title, description, div) {
7776
var ul = document.createElement('ul');
7877
ul.id = client + '_' + title;
@@ -86,22 +85,25 @@ function addGroup(client, title, description, div) {
8685
div.appendChild(ul);
8786
}
8887

89-
function addModule(name, list, checked) {
88+
function addModule(title, list, checked, name) {
9089
var li = document.createElement('li');
9190
var content = document.createElement('div');
9291
var label = document.createElement('label');
9392
var check = document.createElement('input');
9493
check.type = 'checkbox';
95-
check.id = name;
94+
check.id = title;
9695
check.checked = (checked) ? 'checked' : '';
9796
check.onchange = onCheckboxChange;
9897
li.appendChild(check);
99-
label.htmlFor = name;
98+
label.htmlFor = title;
10099
li.appendChild(label);
101100
content.className = 'item';
102-
content.appendChild(document.createTextNode(name.substring(name.indexOf('_') + 1)));
101+
if (!name) {
102+
name = title;
103+
}
104+
content.appendChild(document.createTextNode(name));
103105
li.appendChild(content);
104-
if(!checked){
106+
if (!checked) {
105107
li.onclick = onModuleClick;
106108
}
107109
list.appendChild(li);
@@ -120,27 +122,35 @@ function updateCommand() {
120122
var modulePaths = '';
121123
for (var i = 0; i < deplistItems.length; i++) {
122124
if (deplistItems[i].checked) {
123-
for (var coreModule in coreModules) {
124-
modulePaths += coreModule + ',';
125-
}
125+
modulePaths = "Core" + ','
126126
}
127127
}
128128
var deplistItems2 = $('.deplist li input');
129129
for (var i = 0; i < deplistItems2.length; i++) {
130+
if (deplistItems2[i].id === "Core") {
131+
continue;
132+
}
130133
if (deplistItems2[i].checked) {
131134
modulePaths += deplistItems2[i].id + ',';
132135
}
133136
}
134137
modulePaths = modulePaths.substring(0, modulePaths.length - 1);
135-
if (modulePaths.indexOf('Leaflet') !== -1) {
136-
commandInput.value = modulePaths === '' ? modulePaths : 'npm run package - leaflet ' + modulePaths;
137-
return;
138+
commandInput.value = modulePaths === '' ? modulePaths : 'npm run package - ' + getKey() + " " + modulePaths;
139+
}
140+
141+
function getKey() {
142+
var key = "core";
143+
for (var check in $('#ol3select .deplist li input')) {
144+
if ($('#ol3select .deplist li input')[check].checked) {
145+
key = "ol3";
146+
}
138147
}
139-
if (modulePaths.indexOf('OL3') !== -1) {
140-
commandInput.value = modulePaths === '' ? modulePaths : 'npm run package - ol3 ' + modulePaths;
141-
return;
148+
for (var check in $('#leafletselect .deplist li input')) {
149+
if ($('#leafletselect .deplist li input')[check].checked) {
150+
key = "leaflet";
151+
}
142152
}
143-
commandInput.value = modulePaths === '' ? modulePaths : 'npm run package - core ' + modulePaths;
153+
return key;
144154
}
145155

146156
function onCheckboxChange() {

build/deps.js

Lines changed: 120 additions & 90 deletions
Original file line numberDiff line numberDiff line change
@@ -1,93 +1,123 @@
11
var deps = {
2-
"Core" : {
3-
"format" : [
4-
"../src/Core/format/Format.js",
5-
"../src/Core/format/GeoJSON.js",
6-
"../src/Core/format/JSON.js"
7-
],
8-
// "iManager" : [],
9-
// "iPortal":[],
10-
"iServer" : [
11-
"../src/Core/iServer/FieldStatisticService.js",
12-
"../src/Core/iServer/GetFeaturesByBoundsService.js",
13-
"../src/Core/iServer/GetFeaturesByBufferService.js",
14-
"../src/Core/iServer/GetFeaturesByGeometryService.js",
15-
"../src/Core/iServer/GetFeaturesByIDsService.js",
16-
"../src/Core/iServer/GetFeaturesBySQLService.js",
17-
"../src/Core/iServer/GetFieldsService.js",
18-
"../src/Core/iServer/GetLayersInfoService.js",
19-
"../src/Core/iServer/MapService.js",
20-
"../src/Core/iServer/QueryByBoundsService.js",
21-
"../src/Core/iServer/QueryService.js"
22-
],
23-
// "online" : []
24-
},
25-
"Leaflet" : {
26-
// "OGC" : {
27-
// "title" : "OGC",
28-
// "description" : "--对接OGC标准服务"
29-
// },
30-
"SuperMap" : {
31-
"title" : "SuperMap",
32-
"description" : "--对接SuperMap服务",
33-
"Map" : [
34-
"../src/Leaflet/SuperMap/iServer/TiledMapLayer.js",
35-
"../src/Leaflet/SuperMap/iServer/MapService.js",
36-
"../src/Leaflet/SuperMap/iServer/QueryByBoundsService.js",
37-
"../src/Leaflet/SuperMap/iServer/GetLayersInfoService.js"
38-
],
39-
"Data" : [
40-
"../src/Leaflet/SuperMap/iServer/FieldStatisticService.js",
41-
"../src/Leaflet/SuperMap/iServer/GetFeaturesByBoundsService.js",
42-
"../src/Leaflet/SuperMap/iServer/GetFeaturesByBufferService.js",
43-
"../src/Leaflet/SuperMap/iServer/GetFeaturesByGeometryService.js",
44-
"../src/Leaflet/SuperMap/iServer/GetFeaturesByIDsService.js",
45-
"../src/Leaflet/SuperMap/iServer/GetFeaturesBySQLService.js",
46-
"../src/Leaflet/SuperMap/iServer/GetFieldsService.js"
47-
],
48-
},
49-
"Visual" : {
50-
"title" : "Visual",
51-
"description" : "--可视化库",
52-
"AnimatorVector" : [
53-
"../src/Leaflet/Visual/AnimatorVector.js"
54-
],
55-
"HeatGridLayer" : [
56-
"../src/Leaflet/Visual/HeatGridLayer.js"
57-
],
58-
"HeatMapLayer" : [
59-
"../src/Leaflet/Visual/HeatMapLayer.js"
60-
],
61-
"VectorLayer" : [
62-
"../src/Leaflet/Visual/VectorLayer.js"
63-
]
64-
}
65-
},
66-
"OL3" : {
67-
// "OGC" : {
68-
// "title" : "OGC",
69-
// "description" : "--对接OGC标准服务"
70-
// },
71-
// "SuperMap" : {
72-
// "title" : "SuperMap",
73-
// "description" : "--对接SuperMap服务"
74-
// },
75-
"Visual" : {
76-
"title" : "Visual",
77-
"description" : "--可视化",
78-
"AnimatorVector" : [
79-
"../src/OL3/Visual/AnimatorVector.js"
80-
],
81-
"HeatGridLayer" : [
82-
"../src/OL3/Visual/HeatGridLayer.js"
83-
],
84-
"HeatMapLayer" : [
85-
"../src/OL3/Visual/HeatMapLayer.js"
86-
],
87-
"VectorLayer" : [
88-
"../src/OL3/Visual/VectorLayer.js"
89-
]
90-
}
91-
}
2+
"Core": {
3+
"format": [
4+
"./src/Core/format/Format.js",
5+
"./src/Core/format/GeoJSON.js",
6+
"./src/Core/format/JSON.js"
7+
],
8+
// "iManager" : [],
9+
// "iPortal":[],
10+
"iServer": [
11+
"./src/Core/iServer/FieldStatisticService.js",
12+
"./src/Core/iServer/GetFeaturesByBoundsService.js",
13+
"./src/Core/iServer/GetFeaturesByBufferService.js",
14+
"./src/Core/iServer/GetFeaturesByGeometryService.js",
15+
"./src/Core/iServer/GetFeaturesByIDsService.js",
16+
"./src/Core/iServer/GetFeaturesBySQLService.js",
17+
"./src/Core/iServer/GetFieldsService.js",
18+
"./src/Core/iServer/GetLayersInfoService.js",
19+
"./src/Core/iServer/MapService.js",
20+
"./src/Core/iServer/QueryByBoundsService.js",
21+
"./src/Core/iServer/QueryService.js"
22+
],
23+
// "online" : []
24+
},
25+
"Leaflet": {
26+
"OGC": {
27+
"title": "OGC",
28+
"description": "--对接OGC标准服务"
29+
},
30+
"SuperMap": {
31+
"title": "SuperMap",
32+
"description": "--对接SuperMap服务",
33+
"Map": {
34+
"name": "Map服务",
35+
"src": [
36+
"./src/Leaflet/SuperMap/iServer/TiledMapLayer.js",
37+
"./src/Leaflet/SuperMap/iServer/MapService.js",
38+
"./src/Leaflet/SuperMap/iServer/QueryByBoundsService.js",
39+
"./src/Leaflet/SuperMap/iServer/GetLayersInfoService.js"
40+
]
41+
},
42+
"Data": {
43+
"name": "Data服务",
44+
"src": [
45+
"./src/Leaflet/SuperMap/iServer/FieldStatisticService.js",
46+
"./src/Leaflet/SuperMap/iServer/GetFeaturesByBoundsService.js",
47+
"./src/Leaflet/SuperMap/iServer/GetFeaturesByBufferService.js",
48+
"./src/Leaflet/SuperMap/iServer/GetFeaturesByGeometryService.js",
49+
"./src/Leaflet/SuperMap/iServer/GetFeaturesByIDsService.js",
50+
"./src/Leaflet/SuperMap/iServer/GetFeaturesBySQLService.js",
51+
"./src/Leaflet/SuperMap/iServer/GetFieldsService.js"
52+
]
53+
}
54+
},
55+
"Visual": {
56+
"title": "Visual",
57+
"description": "--可视化",
58+
// "AnimatorVector": {
59+
// "name": "时空数据图层",
60+
// "src": [
61+
// "./src/Leaflet/Visual/AnimatorVector.js"
62+
// ]
63+
// },
64+
// "HeatGridLayer": {
65+
// "name": "热点格网图层",
66+
// "src": [
67+
// "./src/Leaflet/Visual/HeatGridLayer.js"
68+
// ]
69+
// },
70+
// "HeatMapLayer": {
71+
// "name": "热点图层",
72+
// "src": [
73+
// "./src/Leaflet/Visual/HeatMapLayer.js"
74+
// ]
75+
// },
76+
// "VectorLayer": {
77+
// "name": "矢量图层",
78+
// "src": [
79+
// "./src/Leaflet/Visual/VectorLayer.js"
80+
// ]
81+
// }
82+
}
83+
},
84+
"OL3": {
85+
"OGC": {
86+
"title": "OGC",
87+
"description": "--对接OGC标准服务"
88+
},
89+
"SuperMap": {
90+
"title": "SuperMap",
91+
"description": "--对接SuperMap服务"
92+
},
93+
"Visual": {
94+
"title": "Visual",
95+
"description": "--可视化",
96+
// "AnimatorVector": {
97+
// "name": "时空数据图层",
98+
// "src": [
99+
// "./src/OL3/Visual/AnimatorVector.js"
100+
// ]
101+
// },
102+
// "HeatGridLayer": {
103+
// "name": "热点格网图层",
104+
// "src": [
105+
// "./src/OL3/Visual/HeatGridLayer.js"
106+
// ]
107+
// },
108+
// "HeatMapLayer": {
109+
// "name": "热点图层",
110+
// "src": [
111+
// "./src/OL3/Visual/HeatMapLayer.js"
112+
// ]
113+
// },
114+
// "VectorLayer": {
115+
// "name": "矢量图层",
116+
// "src": [
117+
// "./src/OL3/Visual/VectorLayer.js"
118+
// ]
119+
// }
120+
}
121+
}
92122
}
93123
module.exports = deps;

0 commit comments

Comments
 (0)