Commit 120ad483 authored by Tamas Kis's avatar Tamas Kis
Browse files

[internal #1795075] 'Continue anyway...' displays just onece/browser.


SVG and multiplier changes also merged from FSMPlayer development.

Signed-off-by: default avatarTamas Levente Kiss <tamas.levente.kiss@ericsson.com>
parent 2bf59ee3
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -200,9 +200,11 @@ $(document).ready(function() {
    }

    var browser = browserCheck();
    if ((browser[0].toLowerCase() == "firefox" && parseInt(browser[1].split(".")[0]) >= 38) || browser[0].toLowerCase() == "chrome") {
    var not_first_run = localStorage.getItem('_not_first_run_');
    if ((not_first_run == 'true') || ((browser[0].toLowerCase() == "firefox" && parseInt(browser[1].split(".")[0]) >= 38) || browser[0].toLowerCase() == "chrome")) {
        start();
    } else {
        localStorage.setItem('_not_first_run_', 'true');
        var html = '' +
        '<div id="UnsupportedBrowser">' +
            '<p>This browser is not supported: ' + browser[0] + ' ' + browser[1] + '</p>' +
+25 −10
Original line number Diff line number Diff line
@@ -20,6 +20,8 @@ function CView_MultipliedViewAligner(p_viewmodels, p_mainId, p_parentId, p_data)
    var v_multipliedSubviews = [];
    var v_alignerSize = 0;

    var v_last_viewmodelBundle;

    var v_this = this;

    /** public functions */
@@ -28,14 +30,28 @@ function CView_MultipliedViewAligner(p_viewmodels, p_mainId, p_parentId, p_data)
        preprocessSubviewDescriptors(v_customData, 0);
    };

    this.setSelection = function(selection) {
        $("#" + v_mainId + " .Aligner").removeClass("Selected");
        if (selection != undefined)
            for (var i = 0; i < selection.length; ++i)
                $("#" + v_mainId + "_" + selection[i] + " .Aligner").addClass("Selected");
    };

    this.refresh = function(p_fullRefresh) {
        if (p_fullRefresh) {
            var viewmodelBundle = v_dataViewmodel.getViewmodelBundle();
            if (v_last_viewmodelBundle != viewmodelBundle)
            {
                v_last_viewmodelBundle = viewmodelBundle;
                $("#" + v_parentId).empty();
                v_multipliedSubviews = [];
                fullRefresh();
                v_this.setSelection(v_dataViewmodel.getSelectionIndx());
            }
        } else if (ViewUtils.checkVisibility(v_conditionViewmodel, v_mainId)) {
            for (var i = 0; i < v_multipliedSubviews.length; ++i) {
                v_multipliedSubviews[i].refresh();
                v_this.setSelection(v_dataViewmodel.getSelectionIndx());
            }
        }
    };
@@ -55,15 +71,14 @@ function CView_MultipliedViewAligner(p_viewmodels, p_mainId, p_parentId, p_data)
    }
    
    function fullRefresh() {
        var viewmodelBundle = v_dataViewmodel.getViewmodelBundle();
        v_alignerSize = viewmodelBundle.length;
        v_alignerSize = v_last_viewmodelBundle.length;
        v_customData.idsCreating = [];
        for (var i = 0; i < viewmodelBundle.length; ++i) {
        for (var i = 0; i < v_last_viewmodelBundle.length; ++i) {
            v_customData.idsCreating.push(v_mainId + "_" + i);
        }
        createAligner();
        for (var i = 0; i < viewmodelBundle.length; ++i) {
            createSubviews(viewmodelBundle[i], v_customData.multipliedSubviews, [v_customData.idsCreating[i]], v_mainId + "_" + i + "_");
        for (var i = 0; i < v_last_viewmodelBundle.length; ++i) {
            createSubviews(v_last_viewmodelBundle[i], v_customData.multipliedSubviews, [v_customData.idsCreating[i]], v_mainId + "_" + i + "_");
        }
    }
    
+12 −3
Original line number Diff line number Diff line
@@ -54,10 +54,19 @@ function CViewModel_FSM_SVG(p_viewmodel, p_options) {
                if (state != undefined)
                {
                    state = state.node.val;
                    var activeIndx = lsvgdec.indexOf(state);
                    if (state.indexOf(',') != -1)
                        state = state.split(',');
                    else
                        state = [state];

                    for (var i = 0; i < state.length; ++i) 
                        if (!i || (state[i] != state[i - 1]))
                        {
                            var activeIndx = lsvgdec.indexOf(state[i]);
                            var colorindx = lsvgdec.lastIndexOf("<rect fill=\"#FEFECE\"", activeIndx);
                            lsvgdec = replaceAt(lsvgdec, colorindx, "<rect fill=\"#ffafaf\"");
                        }
                }
                lValues[0] = {val: lsvgdec};
            }
        }
+20 −4
Original line number Diff line number Diff line
@@ -16,6 +16,7 @@ function CViewModel_Multiplier(p_viewmodel, p_options) {
    var v_selections = [];

    var v_currentBundle = [];
    var v_last_response;

    var v_this = this;

@@ -45,12 +46,20 @@ function CViewModel_Multiplier(p_viewmodel, p_options) {
    };

    this.getViewmodelBundle = function() {
        
        var response = v_viewmodel.getResponseElement(v_dataPaths[0]);
        var numberOfBundles = 0;
        if (response != undefined && response.list != undefined) {
            numberOfBundles = response.list.length;
        }
        
        var vmbjson = JSON.stringify(response);
        if (v_last_response != vmbjson && numberOfBundles != v_currentBundle.length)
        {
            v_last_response = vmbjson;
            v_currentBundle = [];
        }
        
        var currentBundles = v_currentBundle.length;
        if (numberOfBundles < currentBundles) {
            while (v_currentBundle.length > numberOfBundles) {
@@ -65,6 +74,13 @@ function CViewModel_Multiplier(p_viewmodel, p_options) {
        return v_currentBundle;
    };
    
    this.getSelectionIndx = function() {
        if (v_selections[0])
            return v_selections[0].selection;
        else
            return 0;
    };

    /** private functions */
    
    function createBundle(indexInList) {
@@ -158,7 +174,7 @@ CViewModel_Multiplier.getHelp = function() {
};

CViewModel_Multiplier.providesInterface = function() {
    return ["getViewmodelBundle"];
    return ["getViewmodelBundle", "getSelectionIndx"];
};

CViewModel_Multiplier.getCustomDataSchema = function() {