StylePanel.js 36 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655
  1. /* Copyright© 2000 - 2021 SuperMap Software Co.Ltd. All rights reserved.*/
  2. var selectFeatures = [];
  3. //var groupIndex = 0;
  4. L.supermap.plotting.initStylePanel = function(div, serverUrl, editControl){
  5. editControl.on(SuperMap.Plot.Event.featuresselected, function(event){
  6. showFeatureProperty(event);
  7. });
  8. editControl.on(SuperMap.Plot.Event.featuresmodified, function(event){
  9. showFeatureProperty(event);
  10. });
  11. editControl.on(SuperMap.Plot.Event.featuresunselected, function(event){
  12. hideFeatureProperty(event);
  13. });
  14. function afterModifySelectFeature(rowIndex, rowData, changes){
  15. var updated = $('#pg').propertygrid('getChanges', "updated");
  16. if(updated.length !== 0 ){
  17. //var groups = $('#pg').propertygrid("groups");
  18. // for(var i=0;i<groups.length;i++){
  19. // if(updated[0].group === groups[i].value){
  20. // groupIndex = i;
  21. // }
  22. // }
  23. new Promise(function(resolve,reject) {
  24. if(updated.length !== 0) {
  25. updateSelectFeature(updated[0], selectFeatures, serverUrl);
  26. }
  27. for(var i = 0; i < selectFeatures.length; i++){
  28. if(selectFeatures[i].graphic){
  29. selectFeatures[i].graphic.updateImage();
  30. }
  31. }
  32. $('#pg').propertygrid('loadData', collectionPropertyGridRows(selectFeatures));
  33. //$('#pg').propertygrid('collapseGroup');
  34. //$('#pg').propertygrid('expandGroup',0);
  35. //$('#pg').propertygrid('expandGroup',groupIndex);
  36. return;
  37. }).then(function(selectFeatures) {
  38. for(var i = 0; i < selectFeatures.length; i++){
  39. if(selectFeatures[i].graphic){
  40. selectFeatures[i].graphic.updateImage();
  41. }
  42. }
  43. $('#pg').propertygrid('loadData', collectionPropertyGridRows(selectFeatures));
  44. //$('#pg').propertygrid('collapseGroup');
  45. //$('#pg').propertygrid('expandGroup',0);
  46. return;
  47. })
  48. }
  49. }
  50. var stylePanel = document.getElementById(div);
  51. var pg = document.createElement("table");
  52. pg.id = "pg";
  53. pg.className = "easyui-propertygrid";
  54. stylePanel.appendChild(pg);
  55. $('#pg').propertygrid({
  56. showGroup:true,
  57. columns: [[
  58. { field: 'name', title: 'Name', width: 100, resizable: true },
  59. { field: 'value', title: 'Value', width: 100, resizable: false
  60. }
  61. ]],
  62. onAfterEdit: afterModifySelectFeature
  63. });
  64. }
  65. function showFeatureProperty(event) {
  66. for(var index in event.features){
  67. var sIndex = SuperMap.Util.indexOf(selectFeatures, event.features[index]);
  68. if(sIndex === -1){
  69. selectFeatures.push(event.features[index]);
  70. }
  71. }
  72. var rows = [];
  73. if(selectFeatures.length !== 0){
  74. var rows = collectionPropertyGridRows(selectFeatures);
  75. }
  76. $('#pg').propertygrid('loadData', rows);
  77. //$('#pg').propertygrid('collapseGroup');
  78. //$('#pg').propertygrid('expandGroup',0);
  79. //$('#pg').propertygrid('expandGroup',groupIndex);
  80. }
  81. function hideFeatureProperty(event) {
  82. for(var index in event.features){
  83. var sIndex = SuperMap.Util.indexOf(selectFeatures, event.features[index]);
  84. if(sIndex !== -1){
  85. selectFeatures.splice(sIndex, 1);
  86. }
  87. }
  88. var rows = [];
  89. if(selectFeatures.length !== 0){
  90. var rows = collectionPropertyGridRows(selectFeatures);
  91. }
  92. $('#pg').propertygrid('loadData', rows);
  93. }
  94. function updateSelectFeature(updated, selectfeatures) {
  95. var transaction = new SuperMap.Plot.Transaction();
  96. L.supermap.plotting.getControl(this.map).getTransManager().add(transaction);
  97. for(var i=0;i<selectfeatures.length;i++){
  98. var transInfo = new SuperMap.Plot.TransactionInfo();
  99. transInfo.layerId = selectfeatures[i].layer._leaflet_id;
  100. transInfo.uuid = selectfeatures[i].uuid;
  101. if (updated != null) {
  102. switch(updated.name) {
  103. case displayName[0]:
  104. transInfo.functionName = "setLocked";
  105. transInfo.undoParams = [selectfeatures[i].getLocked()];
  106. transInfo.redoParams = [fromCheckboxValue(updated.value)];
  107. selectfeatures[i].setLocked(fromCheckboxValue(updated.value));
  108. break;
  109. case displayName[1]:
  110. transInfo.propertyName = "display";
  111. transInfo.undoValue = selectfeatures[i].style.display;
  112. transInfo.redoValue = updated.value;
  113. selectfeatures[i].setStyle({display: updated.value});
  114. break;
  115. case displayLineStyleName[0]:
  116. transInfo.propertyName = "weight";
  117. transInfo.undoValue = selectfeatures[i].style.weight;
  118. transInfo.redoValue = parseInt(updated.value);
  119. if(selectfeatures[i].symbolType === SuperMap.Plot.SymbolType.LITERATESIGN){
  120. selectfeatures[i].route.applyTextStyle({weight: parseInt(updated.value)});
  121. }else{
  122. selectfeatures[i].setStyle({weight: parseInt(updated.value)});
  123. }
  124. break;
  125. case displayLineStyleName[1]:
  126. transInfo.propertyName = "color";
  127. transInfo.undoValue = [selectfeatures[i].style.color];
  128. transInfo.redoValue = [updated.value];
  129. if(selectfeatures[i].symbolType === SuperMap.Plot.SymbolType.LITERATESIGN){
  130. selectfeatures[i].route.applyTextStyle({color: updated.value});
  131. }else{
  132. selectfeatures[i].setStyle({color: updated.value});
  133. }
  134. break;
  135. case displayLineStyleName[2]:
  136. transInfo.propertyName = "lineSymbolID";
  137. transInfo.undoValue = selectfeatures[i].style.lineSymbolID;
  138. transInfo.redoValue = updated.value;
  139. if(selectfeatures[i].symbolType === SuperMap.Plot.SymbolType.LITERATESIGN){
  140. selectfeatures[i].route.applyTextStyle({lineSymbolID: updated.value});
  141. }else{
  142. selectfeatures[i].setStyle({lineSymbolID: updated.value});
  143. }
  144. break;
  145. case displayLineStyleName[3]:
  146. {
  147. var opacity = parseFloat(updated.value) < 0 ? 0 : parseFloat(updated.value);
  148. opacity = parseFloat(updated.value) > 1 ? 1 : parseFloat(updated.value);
  149. transInfo.propertyName = "opacity";
  150. transInfo.undoValue = selectfeatures[i].style.opacity;
  151. transInfo.redoValue = opacity;
  152. if(selectfeatures[i].symbolType === SuperMap.Plot.SymbolType.LITERATESIGN){
  153. selectfeatures[i].route.applyTextStyle({opacity: opacity});
  154. }else{
  155. selectfeatures[i].setStyle({opacity: opacity});
  156. }
  157. }
  158. break;
  159. case displaySurroundLineName[0]:
  160. transInfo.functionName = "setSurroundLineType";
  161. transInfo.undoParams = [selectfeatures[i].getSurroundLineType()];
  162. transInfo.redoParams = [parseInt(updated.value)];
  163. selectfeatures[i].setSurroundLineType(parseInt(updated.value));
  164. break;
  165. case displaySurroundLineName[1]:
  166. transInfo.propertyName = "surroundLineWidth";
  167. transInfo.undoValue = selectfeatures[i].style.surroundLineWidth;
  168. transInfo.redoValue = parseInt(updated.value);
  169. selectfeatures[i].setStyle({surroundLineWidth: parseInt(updated.value)});
  170. break;
  171. case displaySurroundLineName[2]:
  172. transInfo.propertyName = "surroundLineColor";
  173. transInfo.undoValue = selectfeatures[i].style.surroundLineColor;
  174. transInfo.redoValue = updated.value;
  175. selectfeatures[i].setStyle({surroundLineColor: updated.value});
  176. break;
  177. case displaySurroundLineName[3]:
  178. {
  179. var opacity = parseFloat(updated.value) < 0 ? 0 : parseFloat(updated.value);
  180. opacity = parseFloat(updated.value) > 1 ? 1 : parseFloat(updated.value);
  181. transInfo.propertyName = "surroundLineColorOpacity";
  182. transInfo.undoValue = selectfeatures[i].style.surroundLineColorOpacity;
  183. transInfo.redoValue = opacity;
  184. selectfeatures[i].setStyle({surroundLineColorOpacity: opacity});
  185. }
  186. break;
  187. case displayFillStyleName[0]:
  188. transInfo.propertyName = "fillSymbolID";
  189. transInfo.undoValue = selectfeatures[i].style.fillSymbolID;
  190. transInfo.redoValue = parseFloat(updated.value);
  191. selectfeatures[i].style.fillSymbolID = parseFloat(updated.value);
  192. selectfeatures[i].setStyle(selectfeatures[i].style);
  193. break;
  194. case displayFillStyleName[1]:
  195. transInfo.propertyName = "fillColor";
  196. transInfo.undoValue = selectfeatures[i].style.fillColor;
  197. transInfo.redoValue = updated.value;
  198. selectfeatures[i].style.fillColor = updated.value;
  199. selectfeatures[i].setStyle(selectfeatures[i].style);
  200. break;
  201. case displayFillStyleName[2]:
  202. {
  203. var opacity = parseFloat(updated.value) < 0 ? 0 : parseFloat(updated.value);
  204. opacity = parseFloat(updated.value) > 1 ? 1 : parseFloat(updated.value);
  205. transInfo.propertyName = "fillOpacity";
  206. transInfo.undoValue = selectfeatures[i].style.fillOpacity;
  207. transInfo.redoValue = opacity;
  208. selectfeatures[i].style.fillOpacity = opacity;
  209. selectfeatures[i].setStyle(selectfeatures[i].style);
  210. }
  211. break;
  212. case displayFillStyleName[3]:
  213. transInfo.propertyName = "fillGradientMode";
  214. transInfo.undoValue = selectfeatures[i].style.fillGradientMode;
  215. transInfo.redoValue = updated.value;
  216. selectfeatures[i].style.fillGradientMode = updated.value;
  217. selectfeatures[i].setStyle(selectfeatures[i].style);
  218. break;
  219. case displayFillStyleName[4]:
  220. transInfo.propertyName = "fillBackColor";
  221. transInfo.undoValue = selectfeatures[i].style.fillBackColor;
  222. transInfo.redoValue = updated.value;
  223. selectfeatures[i].style.fillBackColor = updated.value;
  224. selectfeatures[i].setStyle(selectfeatures[i].style);
  225. break;
  226. case displayFillStyleName[5]:
  227. {
  228. var opacity = parseFloat(updated.value) < 0 ? 0 : parseFloat(updated.value);
  229. opacity = parseFloat(updated.value) > 1 ? 1 : parseFloat(updated.value);
  230. transInfo.propertyName = "fillBackOpacity";
  231. transInfo.undoValue = selectfeatures[i].style.fillBackOpacity;
  232. transInfo.redoValue = opacity;
  233. selectfeatures[i].style.fillBackOpacity = opacity;
  234. selectfeatures[i].setStyle(selectfeatures[i].style);
  235. }
  236. break;
  237. case displayFillStyleName[6]:
  238. {
  239. var angle = parseFloat(updated.value) < 0 ? 0 : parseFloat(updated.value);
  240. angle = parseFloat(updated.value) >= 360 ? 0 : parseFloat(updated.value);
  241. transInfo.propertyName = "fillAngle";
  242. transInfo.undoValue = selectfeatures[i].style.fillAngle;
  243. transInfo.redoValue = angle;
  244. selectfeatures[i].style.fillAngle = angle;
  245. selectfeatures[i].setStyle(selectfeatures[i].style);
  246. }
  247. break;
  248. case displayFillStyleName[7]:
  249. {
  250. var X = parseFloat(updated.value) < -1 ? -1 : parseFloat(updated.value);
  251. X = parseFloat(updated.value) > 1 ? 1 : parseFloat(updated.value);
  252. transInfo.propertyName = "fillCenterOffsetX";
  253. transInfo.undoValue = selectfeatures[i].style.fillCenterOffsetX;
  254. transInfo.redoValue = X;
  255. selectfeatures[i].style.fillCenterOffsetX = X;
  256. selectfeatures[i].setStyle(selectfeatures[i].style);
  257. }
  258. break;
  259. case displayFillStyleName[8]:
  260. {
  261. var Y = parseFloat(updated.value) < -1 ? -1 : parseFloat(updated.value);
  262. Y = parseFloat(updated.value) > 1 ? 1 : parseFloat(updated.value);
  263. transInfo.propertyName = "fillCenterOffsetY";
  264. transInfo.undoValue = selectfeatures[i].style.fillCenterOffsetY;
  265. transInfo.redoValue = Y;
  266. selectfeatures[i].style.fillCenterOffsetY = Y;
  267. selectfeatures[i].setStyle(selectfeatures[i].style);
  268. }
  269. break;
  270. case displayNameDot[0]:
  271. transInfo.functionName = "setRotate";
  272. transInfo.undoParams = [selectfeatures[i].getRotate()];
  273. transInfo.redoParams = [parseFloat(updated.value)];
  274. selectfeatures[i].setRotate(parseFloat(updated.value));
  275. break;
  276. case displayNameDot[1]:
  277. transInfo.functionName = "setScaleByMap";
  278. transInfo.undoParams = [selectfeatures[i].getScaleByMap()];
  279. transInfo.redoParams = [fromCheckboxValue(updated.value)];
  280. selectfeatures[i].setScaleByMap(fromCheckboxValue(updated.value));
  281. break;
  282. case displayNameDot[2]:
  283. transInfo.functionName = "setNegativeImage";
  284. transInfo.undoParams = [selectfeatures[i].getNegativeImage()];
  285. transInfo.redoParams = [fromCheckboxValue(updated.value)];
  286. selectfeatures[i].setNegativeImage(fromCheckboxValue(updated.value));
  287. break;
  288. case displayNameDot[3]:
  289. transInfo.functionName = "setSymbolRank";
  290. transInfo.undoParams = [selectfeatures[i].getSymbolRank()];
  291. transInfo.redoParams = [updated.value];
  292. selectfeatures[i].setSymbolRank(updated.value);
  293. break;
  294. case displayNameDot[4]:
  295. transInfo.functionName = "setPositionOffset";
  296. transInfo.undoParams = [selectfeatures[i].getPositionOffset()];
  297. transInfo.redoParams = [fromCheckboxValue(updated.value)];
  298. selectfeatures[i].setPositionOffset(fromCheckboxValue(updated.value));
  299. break;
  300. case displayNameDot[5]:
  301. transInfo.functionName = "setPositionOffsetType";
  302. transInfo.undoParams = [selectfeatures[i].getPositionOffsetType()];
  303. transInfo.redoParams = [parseInt(updated.value)];
  304. selectfeatures[i].setPositionOffsetType(parseInt(updated.value));
  305. break;
  306. case displayNameDot[6]:
  307. transInfo.functionName = "setWidthHeightLimit";
  308. transInfo.undoParams = [selectfeatures[i].getWidthHeightLimit()];
  309. transInfo.redoParams = [fromCheckboxValue(updated.value)];
  310. selectfeatures[i].setWidthHeightLimit(fromCheckboxValue(updated.value));
  311. break;
  312. case displayNameDot[7]:
  313. transInfo.functionName = "setSymbolSize";
  314. transInfo.undoParams = [selectfeatures[i].getSymbolSize().w];
  315. transInfo.redoParams = [parseFloat(updated.value), selectfeatures[i].getSymbolSize().h];
  316. selectfeatures[i].setSymbolSize(updated.value, selectfeatures[i].getSymbolSize().h);
  317. break;
  318. case displayNameDot[8]:
  319. transInfo.functionName = "setSymbolSize";
  320. transInfo.undoParams = [selectfeatures[i].getSymbolSize().h];
  321. transInfo.redoParams = [selectfeatures[i].getSymbolSize().w, parseFloat(updated.value)];
  322. selectfeatures[i].setSymbolSize(selectfeatures[i].getSymbolSize().w, updated.value);
  323. break;
  324. case displayTextContentName[0]:
  325. if (selectfeatures[i].symbolType === SuperMap.Plot.SymbolType.SYMBOLTEXT) {
  326. transInfo.functionName = "updateSymbolText";
  327. transInfo.undoParams = [selectfeatures[i].symbolTexts[0].clone(), 0];
  328. selectfeatures[i].symbolTexts[0].textContent = updated.value;
  329. selectfeatures[i].updateSymbolText(selectfeatures[i].symbolTexts[0], 0);
  330. transInfo.redoParams = [selectfeatures[i].symbolTexts[0], 0];
  331. } else if(selectfeatures[i].symbolType === SuperMap.Plot.SymbolType.SYMBOLTEXT1 ||
  332. selectfeatures[i].symbolType ===SuperMap.Plot.SymbolType.PATHTEXT) {
  333. transInfo.functionName = "setTextContent";
  334. transInfo.undoParams = [selectfeatures[i].getTextContent()];
  335. var updatedValueStr=updated.value;
  336. var textContent=updatedValueStr.split(",");
  337. transInfo.redoParams = [textContent];
  338. selectfeatures[i].setTextContent(textContent);
  339. }else{
  340. transInfo.functionName = "setTextContent";
  341. transInfo.undoParams = [selectfeatures[i].getTextContent()];
  342. transInfo.redoParams = [updated.value];
  343. selectfeatures[i].setTextContent(updated.value);
  344. }
  345. break;
  346. case displayTextContentName[0] + "2":
  347. selectfeatures[i].symbolTexts[1].textContent = updated.value;
  348. selectfeatures[i].redraw();
  349. break;
  350. case displayTextContentName[1]:
  351. if (selectfeatures[i].symbolType === SuperMap.Plot.SymbolType.PATHTEXT) {
  352. transInfo.functionName = "setRelLineText";
  353. transInfo.undoParams = [selectfeatures[i].getRelLineText()];
  354. transInfo.redoParams = [parseInt(updated.value)];
  355. selectfeatures[i].setRelLineText(parseInt(updated.value));
  356. } else {
  357. transInfo.functionName = "setTextPosition";
  358. transInfo.undoParams = [selectfeatures[i].getTextPosition()];
  359. transInfo.redoParams = [parseInt(updated.value)];
  360. selectfeatures[i].setTextPosition(parseInt(updated.value));
  361. }
  362. break;
  363. case displayTextContentName[2]:
  364. transInfo.propertyName = "fontSize";
  365. transInfo.undoValue = selectfeatures[i].style.fontSize;
  366. transInfo.redoValue = parseFloat(updated.value);
  367. selectfeatures[i].setStyle({fontSize: parseFloat(updated.value)});
  368. break;
  369. case displayTextContentName[3]:
  370. transInfo.propertyName = "fontColor";
  371. transInfo.undoValue = selectfeatures[i].style.fontColor;
  372. transInfo.redoValue = updated.value;
  373. selectfeatures[i].setStyle({fontColor: updated.value});
  374. break;
  375. case displayTextContentName[4]:
  376. transInfo.propertyName = "fontFamily";
  377. transInfo.undoValue = selectfeatures[i].style.fontFamily;
  378. transInfo.redoValue = updated.value;
  379. selectfeatures[i].setStyle({fontFamily: updated.value});
  380. break;
  381. case displayTextContentName[5]:
  382. if(selectfeatures[i].symbolType === SuperMap.Plot.SymbolType.SYMBOLTEXT1){
  383. selectfeatures[i].space = updated.value;
  384. }else{
  385. transInfo.functionName = "setSpace";
  386. transInfo.undoParams = [selectfeatures[i].getSpace()];
  387. transInfo.redoParams = [parseInt(updated.value)];
  388. selectfeatures[i].setSpace(parseInt(updated.value));
  389. }
  390. break;
  391. case displayTextContentName[6]:
  392. transInfo.propertyName = "fontSpace";
  393. transInfo.undoValue = selectfeatures[i].style.fontSpace;
  394. transInfo.redoValue = parseInt(updated.value);
  395. selectfeatures[i].style.fontSpace = parseInt(updated.value);
  396. selectfeatures[i].setStyle(selectfeatures[i].style);
  397. break;
  398. case displayTextContentName[7]:
  399. transInfo.propertyName = "fontPercent";
  400. transInfo.undoValue = selectfeatures[i].style.fontPercent;
  401. transInfo.redoValue = parseInt(updated.value);
  402. selectfeatures[i].style.fontPercent = parseInt(updated.value);
  403. selectfeatures[i].setStyle(selectfeatures[i].style);
  404. break;
  405. case displayTextContentName[8]:
  406. transInfo.propertyName = "fontStroke";
  407. transInfo.undoValue = selectfeatures[i].style.fontStroke;
  408. transInfo.redoValue = fromCheckboxValue(updated.value);
  409. selectfeatures[i].style.fontStroke = fromCheckboxValue(updated.value);
  410. selectfeatures[i].setStyle(selectfeatures[i].style);
  411. break;
  412. case displayTextContentName[9]:
  413. transInfo.propertyName = "fontStrokeColor";
  414. transInfo.undoValue = selectfeatures[i].style.fontStrokeColor;
  415. transInfo.redoValue = updated.value;
  416. selectfeatures[i].style.fontStrokeColor = updated.value;
  417. selectfeatures[i].setStyle(selectfeatures[i].style);
  418. break;
  419. case displayTextContentName[10]:
  420. transInfo.propertyName = "fontStrokeWidth";
  421. transInfo.undoValue = selectfeatures[i].style.fontStrokeWidth;
  422. transInfo.redoValue = parseInt(updated.value);
  423. selectfeatures[i].style.fontStrokeWidth = parseInt(updated.value);
  424. selectfeatures[i].setStyle(selectfeatures[i].style);
  425. break;
  426. case displayTextContentName[11]:
  427. transInfo.propertyName = "fontBackground";
  428. transInfo.undoValue = selectfeatures[i].style.fontBackground;
  429. transInfo.redoValue = fromCheckboxValue(updated.value);
  430. selectfeatures[i].style.fontBackground = fromCheckboxValue(updated.value);
  431. selectfeatures[i].setStyle(selectfeatures[i].style);
  432. break;
  433. case displayTextContentName[12]:
  434. transInfo.propertyName = "fontBackgroundColor";
  435. transInfo.undoValue = selectfeatures[i].style.fontBackgroundColor;
  436. transInfo.redoValue = updated.value;
  437. selectfeatures[i].style.fontBackgroundColor = updated.value;
  438. selectfeatures[i].setStyle(selectfeatures[i].style);
  439. break;
  440. case displayTextContentName[13]:
  441. transInfo.propertyName = "fontShadow";
  442. transInfo.undoValue = selectfeatures[i].style.fontShadow;
  443. transInfo.redoValue = fromCheckboxValue(updated.value);
  444. selectfeatures[i].style.fontShadow = fromCheckboxValue(updated.value);
  445. selectfeatures[i].setStyle(selectfeatures[i].style);
  446. break;
  447. case displayTextContentName[14]:
  448. transInfo.propertyName = "fontShadowColor";
  449. transInfo.undoValue = selectfeatures[i].style.fontShadowColor;
  450. transInfo.redoValue = updated.value;
  451. selectfeatures[i].style.fontShadowColor = updated.value;
  452. selectfeatures[i].setStyle(selectfeatures[i].style);
  453. break;
  454. case displayTextContentName[15]:
  455. transInfo.propertyName = "fontShadowOffsetX";
  456. transInfo.undoValue = selectfeatures[i].style.fontShadowOffsetX;
  457. transInfo.redoValue = parseInt(updated.value);
  458. selectfeatures[i].style.fontShadowOffsetX = parseInt(updated.value);
  459. selectfeatures[i].setStyle(selectfeatures[i].style);
  460. break;
  461. case displayTextContentName[16]:
  462. transInfo.propertyName = "fontShadowOffsetY";
  463. transInfo.undoValue = selectfeatures[i].style.fontShadowOffsetY;
  464. transInfo.redoValue = parseInt(updated.value);
  465. selectfeatures[i].style.fontShadowOffsetY = parseInt(updated.value);
  466. selectfeatures[i].setStyle(selectfeatures[i].style);
  467. break;
  468. case displayNameNew[0]:
  469. transInfo.functionName = "setArrowHeadType";
  470. transInfo.undoParams = [selectfeatures[i].getArrowHeadType()];
  471. transInfo.redoParams = [parseInt(updated.value)];
  472. selectfeatures[i].setArrowHeadType(parseInt(updated.value));
  473. break;
  474. case displayNameNew[1]:
  475. transInfo.functionName = "setArrowBodyType";
  476. transInfo.undoParams = [selectfeatures[i].getArrowBodyType()];
  477. transInfo.redoParams = [parseInt(updated.value)];
  478. selectfeatures[i].setArrowBodyType(parseInt(updated.value));
  479. break;
  480. case displayNameNew[2]:
  481. transInfo.functionName = "setArrowTailType";
  482. transInfo.undoParams = [selectfeatures[i].getArrowTailType()];
  483. transInfo.redoParams = [parseInt(updated.value)];
  484. selectfeatures[i].setArrowTailType(parseInt(updated.value));
  485. break;
  486. case displayNameNew[3]:
  487. transInfo.functionName = "setStartArrowType";
  488. transInfo.undoParams = [selectfeatures[i].getStartArrowType()];
  489. transInfo.redoParams = [parseInt(updated.value)];
  490. selectfeatures[i].setStartArrowType(parseInt(updated.value));
  491. break;
  492. case displayNameNew[4]:
  493. transInfo.functionName = "setEndArrowType";
  494. transInfo.undoParams = [selectfeatures[i].getEndArrowType()];
  495. transInfo.redoParams = [parseInt(updated.value)];
  496. selectfeatures[i].setEndArrowType(parseInt(updated.value));
  497. break;
  498. case displayNameNew[5]:
  499. transInfo.functionName = "setShowPathLine";
  500. transInfo.undoParams = [selectfeatures[i].getShowPathLine()];
  501. transInfo.redoParams = [fromCheckboxValue(updated.value)];
  502. selectfeatures[i].setShowPathLine(fromCheckboxValue(updated.value));
  503. break;
  504. case displayNameNew[6]:
  505. transInfo.functionName = "setCurveLine";
  506. transInfo.undoParams = [selectfeatures[i].getIsCurveLine()];
  507. transInfo.redoParams = [fromCheckboxValue(updated.value)];
  508. selectfeatures[i].setCurveLine(fromCheckboxValue(updated.value));
  509. break;
  510. case displayNameNew[7]:
  511. transInfo.functionName = "setShowPathLineArrow";
  512. transInfo.undoParams = [selectfeatures[i].getShowPathLineArrow()];
  513. transInfo.redoParams = [fromCheckboxValue(updated.value)];
  514. selectfeatures[i].setShowPathLineArrow(fromCheckboxValue(updated.value));
  515. break;
  516. case displayNameNew[8]:
  517. transInfo.functionName = "setAvoidLine";
  518. transInfo.undoParams = [selectfeatures[i].getIsAvoidLine()];
  519. transInfo.redoParams = [fromCheckboxValue(updated.value)];
  520. selectfeatures[i].setAvoidLine(fromCheckboxValue(updated.value));
  521. break;
  522. case displayNameNew[9]:
  523. transInfo.functionName = "setTextBoxType";
  524. transInfo.undoParams = [selectfeatures[i].getTextBoxType()];
  525. transInfo.redoParams = [parseInt(updated.value)];
  526. selectfeatures[i].setTextBoxType(parseInt(updated.value));
  527. break;
  528. case displayNameNew[10]:
  529. transInfo.functionName = "setRoundBox";
  530. transInfo.undoParams = [selectfeatures[i].getRoundBox()];
  531. transInfo.redoParams = [fromCheckboxValue(updated.value)];
  532. selectfeatures[i].setRoundBox(fromCheckboxValue(updated.value));
  533. break;
  534. case displayNameNew[11]:
  535. transInfo.functionName = "setFrame";
  536. transInfo.undoParams = [selectfeatures[i].getFrame()];
  537. transInfo.redoParams = [fromCheckboxValue(updated.value)];
  538. selectfeatures[i].setFrame(fromCheckboxValue(updated.value));
  539. break;
  540. case displayNameNew[12]:
  541. transInfo.functionName = "setRadiusLineType";
  542. transInfo.undoParams = [selectfeatures[i].getRadiusLineType()];
  543. transInfo.redoParams = [parseInt(updated.value)];
  544. selectfeatures[i].setRadiusLineType(parseInt(updated.value));
  545. break;
  546. case displayNameNew[13]:
  547. transInfo.functionName = "setRadiusTextPos";
  548. transInfo.undoParams = [selectfeatures[i].getRadiusTextPos()];
  549. transInfo.redoParams = [updated.value];
  550. selectfeatures[i].setRadiusTextPos(updated.value);
  551. break;
  552. case displayNameNew[14]:
  553. transInfo.functionName = "setRadiusText";
  554. transInfo.undoParams = [selectfeatures[i].radiusText[0],0];
  555. transInfo.redoParams = [updated.value, 0];
  556. selectfeatures[i].setRadiusText(updated.value, 0);
  557. break;
  558. case displayNameNew[15]:
  559. transInfo.functionName = "setRadiusText";
  560. transInfo.undoParams = [selectfeatures[i].radiusText[1],1];
  561. transInfo.redoParams = [updated.value, 1];
  562. selectfeatures[i].setRadiusText(updated.value, 1);
  563. break;
  564. case displayNameNew[16]:
  565. transInfo.functionName = "setVisible";
  566. transInfo.undoParams = [selectfeatures[i].getVisible()];
  567. transInfo.redoParams = [fromCheckboxValue(updated.value)];
  568. selectfeatures[i].setVisible(fromCheckboxValue(updated.value));
  569. break;
  570. case displayNameNew[17]:
  571. transInfo.functionName = "setType";
  572. transInfo.undoParams = [selectfeatures[i].routeNode.type];
  573. transInfo.redoParams = [updated.value];
  574. selectfeatures[i].setType(updated.value);
  575. break;
  576. case displayNameNew[18]:
  577. transInfo.functionName = "setRotate";
  578. transInfo.undoParams = [selectfeatures[i].getRotate()];
  579. transInfo.redoParams = [parseFloat(updated.value)];
  580. selectfeatures[i].setRotate(parseFloat(updated.value));
  581. break;
  582. case displayNameNew[19]:
  583. transInfo.functionName = "setLineRelationType";
  584. transInfo.undoParams = [selectfeatures[i].getLineRelationType()];
  585. transInfo.redoParams = [parseInt(updated.value)];
  586. selectfeatures[i].setLineRelationType(parseInt(updated.value));
  587. break;
  588. case displayNameNew[20]:
  589. transInfo.functionName = "setPolylineConnectLocationPoint";
  590. transInfo.undoParams = [selectfeatures[i].getPolylineConnectLocationPoint()];
  591. transInfo.redoParams = [fromCheckboxValue(updated.value)];
  592. selectfeatures[i].setPolylineConnectLocationPoint(fromCheckboxValue(updated.value));
  593. break;
  594. case displayNameNew[21]:
  595. transInfo.functionName = "setFontAlign";
  596. transInfo.undoParams = [selectfeatures[i].style.labelAlign];
  597. transInfo.redoParams = [fontAlignTypeValue(updated.value)];
  598. selectfeatures[i].setFontAlign(fontAlignTypeValue(updated.value));
  599. break;
  600. }
  601. if (updated.group == group[8]) {
  602. if (updated.name == displayName[2]) {
  603. if(updated.value !== null){
  604. transInfo.propertyName = "libID";
  605. transInfo.undoValue = selectfeatures[i].getSubSymbols()[updated.index].libID;
  606. transInfo.redoValue = parseInt(updated.value);
  607. selectfeatures[i].subSymbols[0].libID = parseInt(updated.value);
  608. }
  609. }
  610. if (updated.name == displayName[3]) {
  611. var code = parseInt(updated.value);
  612. if(selectfeatures[i].symbolType === SuperMap.Plot.SymbolType.NODECHAIN && code != null) {
  613. var symbolLibManager = L.supermap.plotting.symbolLibManager(serverUrl);
  614. var subCode = symbolLibManager.findSymbolByCode(code);
  615. if(subCode.length !== 0 && subCode[0].symbolType === "SYMBOL_DOT"){
  616. transInfo.functionName = "setSubSymbol";
  617. if(selectfeatures[i].getSubSymbols()[updated.index]) {
  618. transInfo.undoParams = [selectfeatures[i].getSubSymbols()[updated.index].code, updated.index,subCode[0].libID];
  619. } else {
  620. transInfo.undoParams = [-1, updated.index];
  621. }
  622. transInfo.redoParams = [code, updated.index, subCode[0].libID];
  623. selectfeatures[i].setSubSymbol(code, updated.index, subCode[0].libID);
  624. }
  625. }
  626. else if (code !== null) {
  627. transInfo.functionName = "setSubSymbol";
  628. if(selectfeatures[i].getSubSymbols()[updated.index]) {
  629. transInfo.undoParams = [selectfeatures[i].getSubSymbols()[updated.index].code, updated.index,selectfeatures[i].getSubSymbols()[updated.index].libID];
  630. } else {
  631. transInfo.undoParams = [-1, updated.index];
  632. }
  633. transInfo.redoParams = [code, updated.index];
  634. selectfeatures[i].setSubSymbol(code, updated.index);
  635. }
  636. }
  637. }
  638. transaction.transInfos.push(transInfo);
  639. }
  640. }
  641. }