Ignore:
Timestamp:
2022-12-01T00:07:09+13:00 (17 months ago)
Author:
davidb
Message:

Dyanmic document load to upate metadata anv playervisual added

File:
1 edited

Legend:

Unmodified
Added
Removed
  • gs3-installations/mars/trunk/sites/mars/collect/amc-essentia/js/av_document.js

    r36965 r36966  
    130130    var av_cluster_y_delta = Math.abs(min_valence_val - max_valence_val)/2.0;
    131131
    132     var av_cluster_rad = Math.max(Math.max(av_cluster_x_delta,av_cluster_y_delta),3.0);
    133    
     132    //var av_cluster_rad = Math.max(Math.max(av_cluster_x_delta,av_cluster_y_delta),3.0);
     133
     134    var av_cluster_rad   = Math.max(av_cluster_x_delta,av_cluster_y_delta);
     135    var disp_cluster_coord = av_to_display_coord(av_cluster_rad,av_cluster_rad);
     136    var disp_cluster_rad = disp_cluster_coord.x - av_chart_disp_x_mid; // **** **** ????
     137    var disp_cluster_rad_maxed = Math.max(disp_cluster_rad,3.0);
     138
    134139    var disp_coord = av_to_display_coord(av_cluster_x_org,av_cluster_y_org);
    135140    var disp_x = disp_coord.x;
     
    139144   
    140145    var ctx = av_chart_canvas.getContext("2d");
     146    ctx.clearRect(0, 0, av_chart_canvas.width, av_chart_canvas.height);
    141147    ctx.beginPath();
    142     ctx.arc(disp_x/2, disp_y/2, av_cluster_rad/2, 0, 2*Math.PI, false);
     148    ctx.arc(disp_x/2, disp_y/2, disp_cluster_rad_maxed/2, 0, 2*Math.PI, false);
    143149    ctx.fillStyle = 'rgba(50,50,128,0.5)';
    144150    ctx.fill();
     
    147153    ctx.stroke();
    148154   
     155}
     156
     157function ajaxUpdateDocumentDisplayed()
     158{
     159    var $resultsTable = $('#resultsTable');
     160
     161    var $resultsTable_trs = $resultsTable.find('tr');
     162
     163    if ($resultsTable_trs.length>0) {
     164    var $resultsTable_tr1 = $resultsTable_trs.first();
     165    var div_doc_id = $resultsTable_tr1.attr('id')
     166    var doc_id = div_doc_id.substring(3);
     167   
     168    console.log("first AV recommendation doc id = " + doc_id);
     169
     170    var $av_recommendation = $resultsTable_tr1.find('.AVRecommendation').first();
     171
     172    var new_doc_url = $av_recommendation.attr('href');
     173    var new_doc_url_parts = new_doc_url.split("#");
     174
     175    var new_doc_metadata_url     = new_doc_url_parts[0] + "&excerptid=metadata-documenttext#" + new_doc_url_parts[1];
     176    var new_doc_playervisual_url = new_doc_url_parts[0] + "&excerptid=playervisual-documenttext#" + new_doc_url_parts[1];
     177
     178    console.log("new doc metadata url = " + new_doc_metadata_url);
     179    console.log("new doc playervisual url = " + new_doc_playervisual_url);
     180
     181    $.ajax({
     182        method: "GET",
     183        url: new_doc_metadata_url,
     184    })
     185        .fail(function(jqXHR,textStatus) {
     186        console.error( "metadata-documenttext ajax request failed: " + textStatus);
     187        })
     188        .done(function(html_result) {
     189        $('#metadata-documenttext').replaceWith(html_result);
     190        });
     191
     192   
     193    $.ajax({
     194        method: "GET",
     195        url: new_doc_playervisual_url,
     196    })
     197        .fail(function(jqXHR,textStatus) {
     198        console.error( "playervisual-documenttext equest failed: " + textStatus);
     199        })
     200        .done(function(html_result) {
     201        // current URL ends with  collect/amc-essentia/document/ds_51017_15513?p.frameOffset=...
     202        // Need to remove old '/document/ds_...' and replace with new doc
     203       
     204        const current_doc_url_str = window.location.href;
     205
     206        console.log(current_doc_url_str);
     207        var new_doc_url_str = current_doc_url_str.replace(/document\/\w+\?/,"document/"+doc_id+"?");
     208        console.log("new doc url str = " + new_doc_url_str);
     209        const new_doc_url = new URL(new_doc_url_str);
     210       
     211        var frameOffset = $av_recommendation.data("frameoffset");       
     212        new_doc_url.searchParams.set('p.frameOffset', frameOffset);
     213        new_doc_url.searchParams.set('d', doc_id);     
     214        window.history.pushState({}, '', new_doc_url);
     215        //window.history.replaceState({}, '', new_doc_url);
     216       
     217        $('#playervisual-documenttext').replaceWith(html_result);
     218
     219        gs.cgiParams['p_frameOffset'] = frameOffset;
     220        gs.documentMetadata["assocfilepath"] = $('#ajax-loaded-assocfilepath').text();
     221       
     222        initPlayerVisual();
     223        initWavesurferPlayer();
     224
     225        postInitWavesurfer(wavesurfer);
     226
     227       
     228        });
     229
     230   
     231   
     232   
     233    //var arousal_val = $av_recommendation.data("arousalval");
     234    //var valence_val = $av_recommendation.data("valenceval");
     235
     236   
     237    }
     238
    149239}
    150240
     
    203293        window.history.replaceState({}, '', updated_url);
    204294        }
     295        else {
     296        // The result of a click on the AV-chart
     297        ajaxUpdateDocumentDisplayed();
     298        }
    205299    });
    206300   
     
    382476}
    383477
    384 $(document).ready(function() {
     478function initPlayerVisual() {
    385479
    386480    const doc_url = new URL(window.location);
     
    406500    $('#av-timelinebar-help').show();   
    407501    }
    408 
     502}
     503
     504$(document).ready(function() {
     505
     506    initPlayerVisual();
     507   
    409508    $('#av-chart-img').on("click",function(e) { av_chart_click(this,e) } );
    410509});
Note: See TracChangeset for help on using the changeset viewer.