Changeset 167 for Dev/trunk


Ignore:
Timestamp:
11/25/11 13:58:17 (13 years ago)
Author:
fpvanagthoven
Message:
  • Save functie verbeterd, nu confirm? parameter.
  • Begin aan infopanel gemaakt
  • moveStep functie in JS gezet, werkt nog niet helemaal goed (refreshed niet!)
  • General CSS layout verbeterd van pipelineEditor.php
  • edit button werkt nu.
  • saveSession zit nog steeds een error in, nog niet weten te fixen. Heeft met creator te maken.
Location:
Dev/trunk
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • Dev/trunk/classes/Logo.php

    r164 r167  
    1717        echo '<div id="logo"><a href="index.php">Research Tool</a>';
    1818        if (isset($_SESSION['username'])) {
    19             echo '<a href="index.php" onClick="savePipeline();" style="font-size: 12pt;">Log out</a>';
     19            echo '<a href="index.php" onClick="savePipeline(true);" style="font-size: 12pt;">Log out</a>';
    2020        }
    2121        echo '</div>';
  • Dev/trunk/classes/PipelineInfoPanel.php

    r146 r167  
    11<?php
    2 
    32/*
    43 * To change this template, choose Tools | Templates
     
    1211 */
    1312class PipelineInfoPanel {
     13
    1414    private $linkedSequencer;
    15    
    16     public function __construct(){
    17        
     15
     16    public function __construct() {
     17        ?>
     18        <div>
     19            <fieldset id="infoPanel">
     20                <div class="fieldsetTitle">
     21                    Title
     22                </div>
     23                <div id="infoContent">
     24                    Info goes here
     25                </div>
     26            </fieldset>
     27        </div>
     28        <?php
    1829    }
     30
    1931}
    20 
    2132?>
  • Dev/trunk/classes/Toolbox.php

    r165 r167  
    1818        <form name="toolbox" action="pipelineEditor.php" method="POST">
    1919            <fieldset id="toolbox">
    20                 <div class="title">Toolbox</div>
     20                <div class="fieldsetTitle">Toolbox</div><br /><br />
    2121                <p>Add new: </p>
    22 <!--                <div class="creationButton" onClick="document.toolbox.objectToCreate.value = 'Survey'; SubmitToolbox();"><img src="images/icons/survey.png" class="buttonIcon"/><p>Survey</p></div>
    23                 <div class="creationButton" onClick="document.toolbox.objectToCreate.value = 'Application'; SubmitToolbox();"><img src="images/icons/application.png" class="buttonIcon"/><p>Application</p></div>
    24                 <div class="creationButton" onClick="document.toolbox.objectToCreate.value = 'Dashboard'; SubmitToolbox();"><img src="images/icons/dashboard.png" class="buttonIcon"/><p>Dashboard</p></div>-->
    2522                <div class="creationButton" onClick="SubmitToolbox('Survey');"><img src="images/icons/survey.png" class="buttonIcon"/><p>Survey</p></div>
    2623                <div class="creationButton" onClick="SubmitToolbox('Application');"><img src="images/icons/application.png" class="buttonIcon"/><p>Application</p></div>
    2724                <div class="creationButton" onClick="SubmitToolbox('Dashboard');"><img src="images/icons/dashboard.png" class="buttonIcon"/><p>Dashboard</p></div>
    28                 <input type="hidden" name="objectToCreate" />
    29 
    3025            </fieldset>
    3126        </form>
  • Dev/trunk/classes/pipelineSequencer.php

    r166 r167  
    3131                $stringPipeline .= "$object->uid,";
    3232                $stringPipelineType .= get_class($object) . ",";
    33                 $stringPipelineUpdated .= "1,";
     33                $stringPipelineUpdated .= "0,";
    3434                $numberOfSteps++;
    3535            }
     
    4242        <br /><form name="sequencerForm" action="pipelineEditor.php" method="post">
    4343            <fieldset id="sequencer">
    44                 <div class="title">Name: <?php echo $this->loadedSession->title; ?> </div>
     44                <div class="fieldsetTitle">Name: <?php echo $this->loadedSession->title; ?> </div>
    4545
    46                 <div id="seqContent"></div>
     46                <div id="seqContent">
     47                    <div id="seqContentWrapper"></div>
     48                </div>
    4749
    4850                <div id="controls">
    49                     <input type="submit" id="moveSelectedLeft" name="moveSelectedLeft" value="< Move" class="surveyButton" />
    50                     <input type="submit" id="moveSelectedRight" name="moveSelectedRight" value="Move >" class="surveyButton" />
    51                     <input type="submit" id="editSelected" name="editSelected" value="Edit step" class="surveyButton" />
     51                    <input type="button" id="moveSelectedL" value="< Move" class="surveyButton"  onClick="moveStep(-1);" />
     52                    <input type="button" id="moveSelectedR" value="Move >" class="surveyButton"  onClick="moveStep(1);" />
     53                    <input type="button" id="editSelected" value="Edit step" class="surveyButton" />
    5254                    <input type="submit" id="deleteSelected" name="deleteSelected" value="Delete step" class="surveyButton" />
    5355                    <input type="submit" id ="clearPipeline" name="clearPipeline" value="Clear pipeline" class="surveyButton dis" disabled="true"/>
    5456                    <input type="checkbox" id="confirmClear" name="confirmClear" onChange="IsCheckEnabled(this, document.getElementById('clearPipeline'));" />Really clear?
    55                     <input type="button" id="t_saveSession" name="t_saveSession" onClick="savePipeline();" value="t_Save_session!" />
     57                    <input type="button" id="t_saveSession" name="t_saveSession" onClick="savePipeline(true);" value="t_Save_session!" />
    5658                    <input type="button" id="t_setOOD" name="t_setOOD" onClick="t_setOutOfDate();" value="t_Set_OOD" />
    5759                    <input type="button" id="t_updateSeq" name="t_updateSeq" onClick="updateSequencer();" value="t_Update_Seq" />
     
    8385
    8486    public function Javascript() {
    85         $pipelineString = "ERROR";
    86 
    87         echo "<!--$pipelineString-->";
    8887        ?>
    8988        <script type="text/javascript" src="js/sequencerScripts.js"></script>
     
    9190        <script type="text/javascript">
    9291            $(document).ready(function() {
    93                 drawSteps();
     92                updateSequencer();
    9493            });
    9594        </script>
  • Dev/trunk/css/awesome.css

    r154 r167  
    598598#sequencer {
    599599    width: 100%;
     600    /*max-width: 800px;*/
    600601    margin: 0 auto 0 auto;
     602    padding-right: 0.5em;
    601603    /*background-image: url('../images/bg/sequencerBG.png');*/
    602604    background-image: linear-gradient(top, #B0B0B0 21%, #888888 80%);
     
    615617    background-position: bottom;
    616618    background-repeat: repeat-x;
    617 }
    618 
    619 #sequencer .title {
    620     height: 1em;
    621     margin-bottom: 0.5em;
    622     margin-top:0.5em;
    623     margin-left: 1em;
    624     font-size: 1.25em;
    625     color: #FFF;
    626    
     619    float: left;
    627620}
    628621
    629622#sequencer #seqContent {
    630623    height: 9em;
     624    width: 98%;
    631625    overflow-x: scroll;
    632626    overflow-y: hidden;
     627   
    633628    margin-bottom: 0.5em;
    634629   
     
    650645    border-radius: 0.5em;
    651646    padding: 0.5em;
     647    /*white-space: nowrap;*/
     648    float: left;
    652649}
    653650
     
    656653    text-align: right;
    657654    margin-bottom: -0.5em;
     655    float: left;
    658656}
    659657
     
    665663    float: left;
    666664    text-align: center;
     665    /*display: inline-block;*/
    667666}
    668667
     
    679678    border: 2px solid #444444;
    680679    color: #FFF;
    681     float: left;
     680    /*float: left;*/
    682681}
    683682
     
    686685    font-weight: normal;
    687686    font-size: 0.875em;
    688     float: left;
     687    /*float: left;*/
    689688   
    690689}
     
    696695    background-image: url('../images/ui/sequencerDivider.png');
    697696    float: left;
     697    /*display: inline-block;*/
     698}
     699
     700#seqContentWrapper {
     701    float: left;
     702    margin-right: -32767px; /* maximum for opera, enough for ~320 steps*/
     703    padding: 0 10px;
    698704}
    699705
     
    732738}
    733739
    734 #toolbox .title {
    735     height: 1em;
    736     margin-bottom: 0.5em;
    737     margin-top:0.5em;
    738     margin-left: 1em;
    739     font-size: 1.25em;
    740     color: #FFF;
    741 }
    742 
    743740#toolbox .creationButton {
    744741    height: 50px;
     
    767764    float: left;
    768765}
     766
     767#infoPanel {
     768    width: 500px;
     769    float: right;
     770    margin: 1em 0 0 0;
     771    /*background-image: url('../images/bg/sequencerBG.png');*/
     772    background-image: linear-gradient(top, #B0B0B0 21%, #888888 80%);
     773    background-image: -o-linear-gradient(top, #B0B0B0 21%, #888888 80%);
     774    background-image: -moz-linear-gradient(top, #B0B0B0 21%, #888888 80%);
     775    background-image: -webkit-linear-gradient(top, #B0B0B0 21%, #888888 80%);
     776    background-image: -ms-linear-gradient(top, #B0B0B0 21%, #888888 80%);
     777
     778    background-image: -webkit-gradient(
     779        linear,
     780        left top,
     781        left bottom,
     782        color-stop(0.25, #B0B0B0),
     783        color-stop(0.8, #888888)
     784    );
     785}
     786
     787#infoContent {
     788    float: left;
     789    display: block;
     790    width: 500px;
     791    background-color: #ff0000;
     792}
     793
     794.fieldsetTitle {
     795    height: 1em;
     796    margin-bottom: 0.5em;
     797    margin-top:0.5em;
     798    margin-left: 1em;
     799    font-size: 1.25em;
     800    color: #FFF;
     801    float: left;
     802    display: block;
     803}
  • Dev/trunk/js/sequencerScripts.js

    r166 r167  
    7070
    7171function selectStep(uid) {
    72     var nodes = document.getElementById("seqContent").childNodes;
     72    var nodes = document.getElementById("seqContentWrapper").childNodes;
    7373    for (var i = 0; i < nodes.length; i++) {     //loop through childNodes. Skip first node (whitespace)
    7474        if (hasClass(nodes[i], "displayStep")) {    //check if current childNode is a displayStep, not divider or text.
     
    144144    var u = "returnStep.php";
    145145    newAjaxRequest(c, u, function(result) {
    146         document.getElementById("seqContent").innerHTML = result.responseText;
     146        document.getElementById("seqContentWrapper").innerHTML = result.responseText;
    147147    }, true);
    148148}
     
    157157}
    158158
    159 function drawSteps() {
    160     var content = document.getElementById("seqContent");
     159function drawSteps2() {
     160    var content = document.getElementById("seqContentWrapper");
    161161    var pipeline = document.getElementById("pipelineStringField").value;
    162162    var pipelineTypes = document.getElementById("pipelineTypeField").value;
     
    169169}
    170170
     171function drawSteps() {
     172   
     173}
     174
    171175function updateSequencer() {
    172176    var plString = document.getElementById("pipelineStringField").value;
     
    186190        if (plUpdated[i] == "0") {   // if the element is not up to date
    187191            // first remove the step representation from the sequencer
    188             var seqContent = document.getElementById("seqContent");
     192            var seqContent = document.getElementById("seqContentWrapper");
    189193            var element = document.getElementById(pl[i]);
    190194            if (element == null) {
     
    246250
    247251function updateDividers (element) {
    248     var seqContent = document.getElementById("seqContent");
     252    var seqContent = document.getElementById("seqContentWrapper");
    249253   
    250254    if (element.nextSibling){
     
    284288
    285289
    286 function savePipeline() {
    287     var answer = confirm("Save changes to pipeline?");
     290function savePipeline (confirmSave) {
     291    if (confirmSave==true) {
     292        var answer = confirm("Save changes to pipeline?");
     293    }
     294    else {
     295        var answer = true;
     296    }
     297   
     298   
    288299    if (answer) {
    289300        var pipeline = document.getElementById("pipelineStringField").value;
     
    293304        var session = document.getElementById("sessionField").value;
    294305        var requestString = "uids="+pipeline+"&types="+types+"&sessionUid="+session;
    295         //console.log(requestString);
     306        console.log(requestString);
    296307       
    297308       
     
    350361    return s;
    351362}
     363
     364
     365function editStep() {
     366    // eerst saven, dan de object type zoeken in de typelist, dan redirecten naar de goede pagina
     367    savePipeline(false);
     368    debugger;
     369    var pipeline = document.getElementById("pipelineStringField").value;
     370    var pipelineTypes = document.getElementById("pipelineTypeField").value;
     371    var selectedStep = document.getElementById("selectedStepField").value;
     372    pipeline = stringToArray(pipeline, ",");
     373    pipelineTypes = stringToArray(pipelineTypes, ",");
     374    var stepType = pipelineTypes[pipeline.indexOf(selectedStep)];
     375   
     376    var postForm = document.createElement("form");
     377    postForm.action = stepType.toLowerCase()+"Editor.php";
     378    postForm.method = "POST";
     379    var objectUid = document.createElement("input");
     380    objectUid.type = "hidden";
     381    objectUid.value = selectedStep;
     382    postForm.appendChild(objectUid);
     383    postForm.submit();
     384}
     385
     386
     387
     388function moveStep (direction) {
     389    // misschien maar eens een loadhiddenfields functie maken voor deze meuk?
     390    debugger;
     391    var selectedStep = document.getElementById("selectedStepField").value;
     392   
     393    if (selectedStep != undefined && selectedStep != "") {
     394        var pipeline = stringToArray(document.getElementById("pipelineStringField").value, ",");
     395        var pipelineTypes = stringToArray(document.getElementById("pipelineTypeField").value, ",");
     396        var updated = stringToArray(document.getElementById("pipelineUpdatedField").value, ",");
     397    }
     398    else {
     399        alert("No step selected! Unable to move");
     400        return;
     401    }
     402   
     403    var id = pipeline.indexOf(selectedStep);
     404    // Dit werkt niet, hij replaced dingen de verkeerde kant op. Lelijke versie met placeholder variables maar weer doen?
     405    pipeline[id] = pipeline.splice(pipeline[id+direction], 1, pipeline[id])[0];
     406    pipelineTypes[id] = pipelineTypes.splice(pipelineTypes[id+direction], 1, pipelineTypes[id])[0];
     407    updated[id] = "0";
     408    updated[id+direction] = "0";
     409   
     410    pipeline = arrayToString(pipeline, ",");
     411    pipelineTypes = arrayToString(pipelineTypes, ",");
     412    updated = arrayToString(updated, ",");
     413   
     414    document.getElementById("pipelineStringField").value = pipeline;
     415    document.getElementById("pipelineTypeField").value = pipelineTypes;
     416    document.getElementById("pipelineUpdatedField").value = updated;
     417    updateSequencer();
     418   
     419   
     420   
     421}
  • Dev/trunk/pipelineEditor.php

    r163 r167  
    3535                <?php $sequencer->init(); ?>
    3636                <?php $toolbox = new Toolbox(); ?>
     37                <?php new PipelineInfoPanel(); ?>
    3738            </div>
    3839   
  • Dev/trunk/savesession.php

    r166 r167  
    2525            die();
    2626        }
    27         for ($i = 0; $i < count($pl); $i++) {
     27       
     28        $session->pipeline = array();
     29        for ($i = 0; $i < $count; $i++) {
    2830            $results = $dbi->get($t[$i], array("uid" => $pl[$i]));
    2931            if (count($results) > 0) {
Note: See TracChangeset for help on using the changeset viewer.