Changeset 7613
- Timestamp:
- 07/30/08 16:02:10 (5 months ago)
- Files:
-
- sandbox/architect/index.php (modified) (1 diff)
- sandbox/architect/scripts/controlConfig.js (modified) (3 diffs)
- sandbox/architect/scripts/dragdrop.js (modified) (7 diffs)
- sandbox/architect/style.css (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
sandbox/architect/index.php
r7575 r7613 175 175 <!--Start Map Container--> 176 176 <div id="mapContainer"> 177 178 <div id="draggableDivContainer"> 179 <div id="draggableDiv">Drag</div> 180 <div id="draggableDivResize"></div> 181 </div> 182 177 183 178 </div> 184 179 <!--End Map Container--> 185 180 <div id="mapControls"> 186 <form id="mapControlsForm"> 187 X Position:<input id="elementX" type="text" value="" size="3"> 188 Y Position:<input id="elementY"type="text" value="" size="3"> 189 <br /> 190 Width:<input id="elementWidth" type="text" value="" size="3"> 191 Height:<input id="elementHeight" type="text" value="" size="3"> 192 <br /> 193 <input id="editElement" onclick="editElementConfig();" type="button" value="Edit" /> 194 <input id="saveElement" type="button" value="save" /> 195 </form> 181 196 182 </div> 197 183 </div> sandbox/architect/scripts/controlConfig.js
r7548 r7613 198 198 /*Set the the name to "editMode", this allows us to determine if we should clear toolbox2's content or not. If the name = editMode, then we should clear toolbox2 once the layer delete button has been pressed*/ 199 199 $('layerListItems').set('title', 'editMode'); 200 201 $('draggableDivTitle').innerHTML = "Button <br />" + $('layoutControlConfigTitle').value; 200 202 } 201 203 … … 343 345 /*Update the height*/ 344 346 controlToggle.show() 347 348 /*get rid of the draggable stuff*/ 349 //TODO - 350 saveMapDragBox(ID, valName, isControlNew); 351 emptyMapDrag(); 352 emptyMapControls(); 345 353 } 346 354 … … 377 385 } 378 386 } */ 379 387 createDragBox(ID, controlName); 388 380 389 /*pull values from OpenLayers*/ 381 390 if(isControlNew == true){ sandbox/architect/scripts/dragdrop.js
r7575 r7613 1 /*global div object*/ 2 var divs = { 3 "div":[] 4 /*"ID":"", 5 "name":"", 6 "x":"", 7 "y":"", 8 "width":"", 9 "height":""*/}; 10 11 var divsLength; 1 12 /*global dragLimits*/ 2 13 var dragLimitMaxX = 630; 3 14 var dragLimitMaxY = 500; 15 16 var dragLimitMinY = 25; 4 17 5 18 /*global resizeLimits*/ … … 10 23 var resizeableEl; 11 24 12 var resizeLimitMinX = 45;13 var resizeLimitMinY = 20;25 var resizeLimitMinX = 0; 26 var resizeLimitMinY = 30; 14 27 15 window.addEvent('domready', function(){ 28 function createDragBox(ID, theName){ 29 /*Create the HTML*/ 30 $('mapContainer').innerHTML = "<div id='draggableDivContainer'>" 31 +" <div id='draggableDiv'>Drag</div>" 32 +" <div id='draggableDivResize'></div>" 33 +" <div id='draggableDivTitle'>" + theName + "</div>" 34 +"</div>"; 35 populateMapControls(); //Create the map controls 36 16 37 /*If we wanted to confine the limits to a certain width or height, we would just specify the values instead of getting the style. i.e. elWidth = 200 17 38 get element styles - use mootools to get the style, otherwise we'd have to use something like .offsetWidth - borderWidth which isn't as pretty*/ … … 39 60 40 61 /*set the limit to the variable set above*/ 41 this.limit = { x:[0, dragLimitMaxX], y:[ 0,dragLimitMaxY] };62 this.limit = { x:[0, dragLimitMaxX], y:[(dragLimitMinY * -1),dragLimitMaxY] }; 42 63 64 /*Update the values in the mapControls div*/ 43 65 $('elementX').value = parseInt(this.element.getStyle('left')); 44 $('elementY').value = parseInt(this.element.getStyle('top')) ;66 $('elementY').value = parseInt(this.element.getStyle('top')) + dragLimitMinY; 45 67 }, 46 68 onComplete: function(el){ … … 49 71 }); 50 72 51 73 var hidden = false; 52 74 /*Make the resizeable div. In this case, there's a small div in the bottom righthand corner that will resize the entire div*/ 53 75 resizeableEl = $('draggableDivContainer').makeResizable({ … … 58 80 reSizeLimitMaxX = elWidth - parseInt(this.element.getStyle('left')); 59 81 reSizeLimitMaxY = elHeight - parseInt(this.element.getStyle('top')); 60 this.limit = { x:[resizeLimitMinX, reSizeLimitMaxX], y:[resizeLimitMinY,reSizeLimitMaxY] }; 82 this.limit = { x:[resizeLimitMinX, reSizeLimitMaxX], y:[resizeLimitMinY,reSizeLimitMaxY] }; 83 84 /*Update the values in the mapControls div*/ 61 85 $('elementWidth').value = parseInt(this.element.getStyle('width')); 62 $('elementHeight').value = parseInt(this.element.getStyle('height')); 86 $('elementHeight').value = parseInt(this.element.getStyle('height')) - dragLimitMinY; 87 var titlePos = (parseInt(this.element.getStyle('width')) / 2) - (parseInt($('draggableDivTitle').getStyle('width')) / 2); 88 $('draggableDivTitle').setStyle('left', titlePos); 89 if(parseInt(this.element.getStyle('width')) < (parseInt($('draggableDivTitle').getStyle('width')) + 15) || (parseInt(this.element.getStyle('height')) - resizeLimitMinY) < parseInt($('draggableDivTitle').getStyle('height'))){ 90 $('draggableDivTitle').fade(0); 91 } 92 else if(parseInt(this.element.getStyle('width')) > (parseInt($('draggableDivTitle').getStyle('width')) + 15) || (parseInt(this.element.getStyle('height')) - resizeLimitMinY) > parseInt($('draggableDivTitle').getStyle('height'))){ 93 $('draggableDivTitle').fade(1) 94 95 } 96 97 //if((parseInt(this.element.getStyle('height')) - resizeLimitMinY) < parseInt($('draggableDivTitle').getStyle('height'))){ 98 // $('draggableDivTitle').fade(0); 99 //} 100 //else if((parseInt(this.element.getStyle('height')) - resizeLimitMinY) > parseInt($('draggableDivTitle').getStyle('height'))){ 101 // $('draggableDivTitle').fade(1) 102 103 //} 63 104 }, 64 105 onComplete: function(){ 65 106 } 66 107 }); 67 68 }); 108 }; 69 109 70 110 function editElementConfig(){ … … 80 120 81 121 var xPos = parseInt($('elementX').value); 82 var yPos = parseInt($('elementY').value) ;122 var yPos = parseInt($('elementY').value) - dragLimitMinY; 83 123 var elWidth = parseInt($('elementWidth').value); 84 var elHeight = parseInt($('elementHeight').value) ;124 var elHeight = parseInt($('elementHeight').value) + dragLimitMinY; 85 125 86 126 if(xPos < dragLimitMaxX) … … 92 132 draggableEl.element.setStyle('width', elWidth); 93 133 if(elHeight < reSizeLimitMaxY && elHeight > resizeLimitMinY) 94 draggableEl.element.setStyle('height', elHeight) 95 96 134 draggableEl.element.setStyle('height', elHeight) 97 135 } 136 function emptyMapDrag() { 137 $('mapContainer').innerHTML = ""; 138 } 139 function emptyMapControls() { 140 $('mapControls').innerHTML = ""; 141 } 142 function populateMapControls(){ 143 $('mapControls').innerHTML = "<form id='mapControlsForm'>" 144 +" X Position:<input id='elementX' type='text' value='0' size='3'>" 145 +" Y Position:<input id='elementY'type='text' value='30' size='3'>" 146 +" <br />" 147 +" Width:<input id='elementWidth' type='text' value='80' size='3'>" 148 +" Height:<input id='elementHeight' type='text' value='70' size='3'>" 149 +" <br />" 150 +" <input id='editElement' onclick='editElementConfig();' type='button' value='Edit' />" 151 +" <input id='saveElement' type='button' value='save' />" 152 +"</form>"; 153 } 154 function saveMapDragBox(ID, theName, isNew){ 155 /*add the current layer id to the map.layer object*/ 156 if(isNew == true){ 157 eval("var curControl = {'id':'" + ID + "', 'name':'" + theName + "'};"); 158 divs.div.push(curControl); //add the current layer id to map.layers 159 } 160 else 161 { 162 divs.div[ID].name = theName; 163 } 164 } sandbox/architect/style.css
r7575 r7613 455 455 #draggableDivContainer { 456 456 background-color:#504B42; 457 height: 50px;457 height:80px; 458 458 left:0px; 459 459 position:relative; 460 460 top:0px; 461 width: 50px;461 width:100px; 462 462 } 463 463 464 464 #draggableDiv { 465 465 background:#628D9D; 466 border:1px solid #415E69; 466 467 cursor:move; 467 height:20px; 468 left:0px; 468 height:25px; 469 left:-1px; 470 overflow:hidden; 469 471 position:absolute; 472 text-align:center; 470 473 top:0px; 471 474 width:100%; … … 481 484 width:15px; 482 485 } 483 486 #draggableDivTitle { 487 background-color:#567D8C; 488 margin:0px auto; 489 left:20%; 490 padding:5px; 491 position:absolute; 492 text-align:center; 493 top:50%; 494 } 495 484 496 /*======================= 485 497 | Colors
