Changeset 37467


Ignore:
Timestamp:
2023-03-12T17:47:25+13:00 (14 months ago)
Author:
davidb
Message:

Control bar now slides out from left

Location:
gs3-extensions/tabletop-dl/trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • gs3-extensions/tabletop-dl/trunk/tabletop-interact.js

    r37466 r37467  
    1717$(document).ready(function() {
    1818
    19 
    20     //var resize_drag_elems = document.getElementsByClassName('resize-drag')
    21 
    22     //var resize_drag_elem = resize_drag_elems[0];
    23    
    24     //console.log(resize_drag_elem);
    2519   
    2620    interact('.resize-drag')
     
    4438        // call this function on every dragend event
    4539        end (event) {
    46             var textEl = event.target.querySelector('p')
     40            //var textEl = event.target.querySelector('p')
     41            var textEl = $(event.target).find('.interact-info-bar')[0];
    4742           
    4843            textEl && (textEl.textContent =
    49                    'moved a distance of ' +
     44                   'Moved a distance of: ' +
    5045                   (Math.sqrt(Math.pow(event.pageX - event.x0, 2) +
    5146                      Math.pow(event.pageY - event.y0, 2) | 0))
    52                    .toFixed(2) + 'px')
     47                   .toFixed(0) + ' pixels')
    5348        }
    5449        }
     
    7671            target.setAttribute('data-x', x)
    7772            target.setAttribute('data-y', y)
    78             target.textContent = Math.round(event.rect.width) + '\u00D7' + Math.round(event.rect.height)
     73
     74            var textEl = $(event.target).find('.interact-info-bar')[0];         
     75            textEl.textContent = "Resized to: " + Math.round(event.rect.width) + '\u00D7' + Math.round(event.rect.height) + " pixels"
    7976        }
    8077        },
     
    170167        }
    171168        })
     169   
    172170        .draggable({
    173171        inertia: true,
     
    180178        listeners: { move: dragMoveListener }
    181179        })
     180
     181/*
     182
     183        .draggable({
     184        // enable inertial throwing
     185        inertia: true,
     186        // keep the element within the area of it's parent
     187        modifiers: [
     188            interact.modifiers.restrictRect({
     189            restriction: 'parent',
     190            endOnly: true
     191            })
     192        ],
     193        // enable autoScroll
     194        autoScroll: true,
     195       
     196        listeners: {
     197            // call this function on every dragmove event
     198            move: dragMoveListener,
     199           
     200            // call this function on every dragend event
     201            end (event) {
     202            var textEl = event.target.querySelector('p')
     203           
     204            textEl && (textEl.textContent =
     205                   'moved a distance of ' +
     206                   (Math.sqrt(Math.pow(event.pageX - event.x0, 2) +
     207                          Math.pow(event.pageY - event.y0, 2) | 0))
     208                   .toFixed(2) + 'px')
     209            }
     210        }
     211        })
     212   
     213        .resizable({
     214        // resize from all edges and corners
     215        edges: { left: true, right: true, bottom: true, top: true },
     216       
     217        listeners: {
     218            move (event) {
     219            var target = event.target;
     220            var x = (parseFloat(target.getAttribute('data-x')) || 0)
     221            var y = (parseFloat(target.getAttribute('data-y')) || 0)
     222           
     223            // update the element's style
     224            target.style.width = event.rect.width + 'px'
     225            target.style.height = event.rect.height + 'px'
     226           
     227            // translate when resizing from top or left edges
     228            x += event.deltaRect.left
     229            y += event.deltaRect.top
     230           
     231            target.style.transform = 'translate(' + x + 'px,' + y + 'px)'
     232           
     233            target.setAttribute('data-x', x)
     234            target.setAttribute('data-y', y)
     235            target.textContent = Math.round(event.rect.width) + '\u00D7' + Math.round(event.rect.height)
     236            }
     237        },
     238        modifiers: [
     239            // keep the edges inside the parent
     240            interact.modifiers.restrictEdges({
     241            outer: 'parent'
     242            }),
     243           
     244            // minimum size
     245            interact.modifiers.restrictSize({
     246            min: { width: 100, height: 50 }
     247            })
     248        ],
     249       
     250        inertia: true
     251        });
     252
     253        */
    182254    });
    183255   
  • gs3-extensions/tabletop-dl/trunk/tabletop.css

    r37466 r37467  
    5151}
    5252
    53 #gs-header {
     53#gs-control-bar {
    5454    height: 2.5rem;
    5555    color: var(--gs-fg-primary-col);
    5656    background: linear-gradient(to right, rgba(13, 17, 22, 0.64), rgba(17, 21, 28, 0.64));
    57     text-align: center;
     57    text-align: center;
     58    display: none;
    5859}
    5960
    60 #gs-open-home {
     61#gs-control-bar-toggle {
    6162    position: absolute;
    62     left: 10px;
    63     bottom: 10px;
     63    left: 0px;
     64    top: 0px;
    6465    background-color: var(--gs-bg-primary-col);
     66    padding: 0.8rem;
    6567}
    6668
  • gs3-extensions/tabletop-dl/trunk/tabletop.html

    r37466 r37467  
    3535
    3636    <div class="box">
    37       <div id="gs-header" class="row header" style="display: none;">
     37      <div id="gs-control-bar_ORIG" class="row header" style="display: none;">
    3838    <div style="padding-top: 0.6em;">Greenstone Tabletop Digital Library</div>
    3939      </div>
     
    4242    <div style="position: relative; width: 100%; height: 100%;">
    4343
    44       <div id="gs-open-home" class="button" onclick="gsToggleHeader()">Toggle Control Bar</div>
     44      <div id="gs-control-bar">
     45        <div style="padding-top: 0.6em;">Greenstone Tabletop Digital Library</div>
     46      </div>
     47      <div id="gs-control-bar-toggle" class="button" onclickXXX="gsToggleHeader()">&#9776;</div>
    4548     
    4649
     
    5255      </div>
    5356     
    54       <div id="info-window-id" class="info-window resize-drag" style="width: 400px;">
     57      <div id="info-window-id" class="info-window resize-drag"
     58           style="position: absolute; left: 100px; top: 60px; width: 400px;">
     59        <p class="interact-info-bar">Info:</p>
    5560        <p> You can Drag and Resize this element </p>
    56         <p>Goto <a href="https://greenstone.org/">Greenstone3 Project Home Page</a></p>
     61        <p>Goto <a target="_blank" href="https://greenstone.org/">Greenstone3 Project Home Page</a></p>
    5762        <p>
    5863          <form>
     
    8691  </body>
    8792  <script>
     93    /*
    8894    function gsToggleHeader()
    8995    {
    9096    $('#gs-header').slideToggle();
    9197    }
     98    */
     99    $(document).ready(function() {
     100    $("#gs-control-bar").width("100%").hide();
     101   
     102    $("#gs-control-bar-toggle").click(function(){
     103            $("#gs-control-bar").animate({
     104        width: "toggle"
     105            });
     106    });
     107    });
     108   
    92109  </script>
    93110</html>
Note: See TracChangeset for help on using the changeset viewer.