Changeset 37466
- Timestamp:
- 2023-03-12T17:12:26+13:00 (12 days ago)
- Location:
- gs3-extensions/tabletop-dl/trunk
- Files:
-
- 2 added
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
gs3-extensions/tabletop-dl/trunk/tabletop-interact.js
r37465 r37466 112 112 113 113 114 var $drag_and_zoom_elems = $('.drag-and-zoom'); 115 116 $drag_and_zoom_elems.each(function(index) { 117 118 let this_elem = this; 119 let $this_elem = $(this_elem); 120 121 let angleScale = { 122 angle: 0, 123 scale: 1 124 } 125 let gestureArea = document.getElementById('gesture-area') 126 let scaleElement = document.getElementById('scale-element') 127 //let resetTimeout 114 128 115 129 116 117 118 119 120 var angleScale = { 121 angle: 0, 122 scale: 1 123 } 124 var gestureArea = document.getElementById('gesture-area') 125 var scaleElement = document.getElementById('scale-element') 126 //var resetTimeout 127 128 interact(gestureArea) 129 .gesturable({ 130 listeners: { 131 start (event) { 132 angleScale.angle -= event.angle 133 134 //clearTimeout(resetTimeout) 135 //scaleElement.classList.remove('reset') 136 }, 137 move (event) { 138 // document.body.appendChild(new Text(event.scale)) 139 var currentAngle = event.angle + angleScale.angle 140 var currentScale = event.scale * angleScale.scale 141 142 scaleElement.style.transform = 143 'rotate(' + currentAngle + 'deg)' + 'scale(' + currentScale + ')' 144 145 // uses the dragMoveListener from the draggable demo above 146 dragMoveListener(event) 147 }, 148 end (event) { 149 angleScale.angle = angleScale.angle + event.angle 150 angleScale.scale = angleScale.scale * event.scale 151 152 //resetTimeout = setTimeout(reset, 1000) 153 //scaleElement.classList.add('reset') 130 //let gesture_areas_col = interact('.drag-and-zoom'); 131 //console.log(gesture_areas_col); 132 133 //let gesture_area = interact(gestureArea) 134 //console.log(gesture_area); 135 136 // interact(gestureArea) 137 //gesture_area 138 //gesture_areas_col 139 interact(this_elem) 140 .gesturable({ 141 listeners: { 142 start (event) { 143 angleScale.angle -= event.angle 144 145 //clearTimeout(resetTimeout) 146 //scaleElement.classList.remove('reset') 147 }, 148 move (event) { 149 // document.body.appendChild(new Text(event.scale)) 150 let currentAngle = event.angle + angleScale.angle 151 let currentScale = event.scale * angleScale.scale 152 //console.log(this); 153 154 //scaleElement.style.transform = 155 let this_scale_elem = $(this_elem).find('.scale-element')[0]; 156 157 this_scale_elem.style.transform = 158 'rotate(' + currentAngle + 'deg)' + 'scale(' + currentScale + ')' 159 160 // uses the dragMoveListener from the draggable demo above 161 dragMoveListener(event) 162 }, 163 end (event) { 164 angleScale.angle = angleScale.angle + event.angle 165 angleScale.scale = angleScale.scale * event.scale 166 167 //resetTimeout = setTimeout(reset, 1000) 168 //scaleElement.classList.add('reset') 169 } 154 170 } 155 } 156 })157 .draggable({158 inertia: true,159 modifiers: [160 interact.modifiers.restrictRect({161 restriction: 'parent',162 endOnly: true163 })164 ],165 listeners: { move: dragMoveListener }166 }) 171 }) 172 .draggable({ 173 inertia: true, 174 modifiers: [ 175 interact.modifiers.restrictRect({ 176 restriction: 'parent', 177 endOnly: true 178 }) 179 ], 180 listeners: { move: dragMoveListener } 181 }) 182 }); 167 183 168 184 -
gs3-extensions/tabletop-dl/trunk/tabletop.css
r37464 r37466 1 :root { 2 --gs-fg-primary-col: #fff; 3 --gs-bg-primary-col: #29e; 4 } 5 6 1 7 html { 2 8 background: #102010 url(backgrounds/unsplash--dark-green-fern--overview.jpg) no-repeat center center fixed; … … 15 21 body { 16 22 font-family: Helvetica, Arial, "Open Sans", OpenSans, sans-serif; 17 color: #fff;23 color: var(--gs-fg-primary-col); 18 24 } 19 25 … … 27 33 28 34 /* construction lines to help show what is going on */ 35 /* 29 36 .box .row { 30 37 border: 1px dotted #0313fc; 31 38 } 39 */ 32 40 33 41 .box .row.header { … … 45 53 #gs-header { 46 54 height: 2.5rem; 47 color: white;55 color: var(--gs-fg-primary-col); 48 56 background: linear-gradient(to right, rgba(13, 17, 22, 0.64), rgba(17, 21, 28, 0.64)); 49 57 text-align: center; … … 54 62 left: 10px; 55 63 bottom: 10px; 56 background-color: #000040;64 background-color: var(--gs-bg-primary-col); 57 65 } 58 66 59 67 68 /* 60 69 #fixed-height { 61 70 height: 40px; … … 72 81 width: 100%; 73 82 } 83 */ 74 84 75 85 76 86 .info-window { 77 width: 25%;78 87 min-height: 6.5em; 79 /* margin: 1rem 0 0 1rem; */80 88 margin: 0.5em; 81 89 82 background-color: #29e;83 color: white;90 background-color: var(--gs-bg-primary-col); 91 color: var(--gs-fg-primary-col); 84 92 85 93 font-size: 1.2rem; 86 /* font-family: sans-serif; */87 94 88 95 border-radius: 0.6em; 89 /*padding: 4%; */90 96 padding: 1em; 91 97 92 98 touch-action: none; 93 user-select: none;99 user-select: none; 94 100 transform: translate(0px, 0px); 95 101 … … 116 122 .button { 117 123 display: inline-block; 118 background-color: #0050ff;119 color: #fff;124 background-color: var(--gs-bg-primary-col); 125 color: var(--gs-fg-primary-col);; 120 126 width: auto; 121 127 border-radius: 10px; -
gs3-extensions/tabletop-dl/trunk/tabletop.html
r37465 r37466 42 42 <div style="position: relative; width: 100%; height: 100%;"> 43 43 44 <div id="gs-open-home" class="button" 45 style="position: absolute; left: 10px; bottom: 10px; background-color: #004000" 46 onclick="gsToggleHeader()">Open DL Home</div> 44 <div id="gs-open-home" class="button" onclick="gsToggleHeader()">Toggle Control Bar</div> 47 45 48 46 49 <div id="gesture-area" style="position: absolute; left: 700px; top: 30px; width: 576px; height: 384px;"> 50 <img src="backgrounds/unsplash--matrix-like-binary.jpg" 47 <div id="gesture-area" class="drag-and-zoom" 48 style="position: absolute; left: 700px; top: 30px; width: 576px; height: 384px;"> 49 <img class="info-window scale-element" src="backgrounds/unsplash--matrix-like-binary.jpg" 51 50 style="width: 576px; height: 384px" 52 51 id="scale-element" /> 53 52 </div> 54 53 55 <div id="info-window-id" class="info-window resize-drag" >56 <p> You can drag oneelement </p>54 <div id="info-window-id" class="info-window resize-drag" style="width: 400px;"> 55 <p> You can Drag and Resize this element </p> 57 56 <p>Goto <a href="https://greenstone.org/">Greenstone3 Project Home Page</a></p> 58 57 <p> … … 61 60 </form> 62 61 </p> 62 </div> 63 64 <div class="drag-and-zoom" 65 style="position: absolute; left: 300px; top: 430px; width: 400px;"> 66 <div class="info-window scale-element" style="width: 100%"> 67 <p>You can Drag and Zoom this element </p> 68 <p>Goto <a href="https://greenstone.org/">Greenstone3 Project Home Page</a></p> 69 <p> 70 <form> 71 <input type="text" /> 72 </form> 73 </p> 74 </div> 63 75 </div> 64 76
Note:
See TracChangeset
for help on using the changeset viewer.