When the user has added/removed a layer but no page reload/requery has happened we need to update the filter count labels client side.
[YOCTO #6861] Signed-off-by: Michael Wood <[email protected]> --- bitbake/lib/toaster/toastergui/templates/filtersnippet.html | 4 ++-- bitbake/lib/toaster/toastergui/templates/layers.html | 13 +++++++++++++ bitbake/lib/toaster/toastergui/templates/targets.html | 10 ++++++++++ 3 files changed, 25 insertions(+), 2 deletions(-) diff --git a/bitbake/lib/toaster/toastergui/templates/filtersnippet.html b/bitbake/lib/toaster/toastergui/templates/filtersnippet.html index 90ffd3d..fe70e71 100644 --- a/bitbake/lib/toaster/toastergui/templates/filtersnippet.html +++ b/bitbake/lib/toaster/toastergui/templates/filtersnippet.html @@ -18,10 +18,10 @@ {% for option in f.options %} {% if option.2 %} <label class="radio"> - <input type="radio" name="filter" {%if request.GET.filter == option.1 %}checked{%endif%} value="{{option.1}}"> {{option.0}} ({{option.2}}) + <input type="radio" name="filter" {%if request.GET.filter == option.1 %}checked{%endif%} value="{{option.1}}"> {{option.0}} (<span id="{{option.1}}_count">{{option.2}}</span>) {% else %} <label class="radio muted"> - <input type="radio" name="filter" disabled {%if request.GET.filter == option.1 %}checked{%endif%} value="{{option.1}}"> {{option.0}} ({{option.2}}) + <input type="radio" name="filter" disabled {%if request.GET.filter == option.1 %}checked{%endif%} value="{{option.1}}"> {{option.0}} (<span id="{{option.1}}_count">{{option.2}}</span>) {% endif %} {% if option.3 %}<i class="icon-question-sign get-help" data-placement="right" title="{{option.3}}"></i>{% endif %} </label> diff --git a/bitbake/lib/toaster/toastergui/templates/layers.html b/bitbake/lib/toaster/toastergui/templates/layers.html index 3dd2b1f..5227580 100644 --- a/bitbake/lib/toaster/toastergui/templates/layers.html +++ b/bitbake/lib/toaster/toastergui/templates/layers.html @@ -121,10 +121,21 @@ function _makeXHREditCall(data, onsuccess, onfail) { }); } +function updateLayerCountLabels (amount) { + /* Update the filter labels */ + var countLabel = $("#projectlayer__project\\:{{project.id}}_count"); + countLabel.text(Number(countLabel.text())+amount); + + var countLabelRemaining = $("#projectlayer__project\\:NOT{{project.id}}_count"); + countLabelRemaining.text(Number(countLabelRemaining.text())-amount); +} + function layerDel(layerId, layerName, layerURL) { updatetext = "1 layer deleted"; _makeXHREditCall({ 'layerDel': layerId }, function () { + updateLayerCountLabels(-1); + show_alert("<strong>1</strong> layer deleted from <a href=\"{% url 'project' project.id%}\">{{project.name}}</a>: <a href=\""+layerURL+"\">" + layerName +"</a>"); }); } @@ -188,6 +199,8 @@ function layerAdd(layerId, layerName, layerURL) { if (_data.error != "ok") { alert(_data.error); } else { + updateLayerCountLabels(_data.list.length+1); + if (_data.list.length > 0) { show_dependencies_modal(layerId, layerName, layerURL, _data.list); } diff --git a/bitbake/lib/toaster/toastergui/templates/targets.html b/bitbake/lib/toaster/toastergui/templates/targets.html index 042d0fc..6b682bc 100644 --- a/bitbake/lib/toaster/toastergui/templates/targets.html +++ b/bitbake/lib/toaster/toastergui/templates/targets.html @@ -182,6 +182,14 @@ function show_dependencies_modal(layerId, layerName, layerURL, dependencies) { $('#dependencies_modal').modal('show'); } +function updateLayerCountLabels (amount) { + /* Update the filter labels */ + var countLabel = $("#layer_version__projectlayer__project\\:{{project.id}}_count"); + countLabel.text(Number(countLabel.text())+amount); + + var countLabelRemaining = $("#layer_version__projectlayer__project\\:NOT{{project.id}}_count"); + countLabelRemaining.text(Number(countLabelRemaining.text())-amount); +} function layerAdd(layerId, layerName, layerURL) { $.ajax({ @@ -191,6 +199,8 @@ function layerAdd(layerId, layerName, layerURL) { if (_data.error != "ok") { alert(_data.error); } else { + updateLayerCountLabels(_data.list.length+1); + if (_data.list.length > 0) { show_dependencies_modal(layerId, layerName, layerURL, _data.list); } -- 1.9.1 -- _______________________________________________ toaster mailing list [email protected] https://lists.yoctoproject.org/listinfo/toaster
