diff options
Diffstat (limited to 'ishtar_common/static/js/ishtar.js')
-rw-r--r-- | ishtar_common/static/js/ishtar.js | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/ishtar_common/static/js/ishtar.js b/ishtar_common/static/js/ishtar.js index 1c7474c57..1656cb427 100644 --- a/ishtar_common/static/js/ishtar.js +++ b/ishtar_common/static/js/ishtar.js @@ -2107,3 +2107,59 @@ var bs_hide_table = function(name){ $("#grid_" + name).DataTable().clear().draw(); current_modal = null; } + +var import_table_import_state = new Array(); + +var import_table_update_import_list = function(import_ids){ + $.post('/import-get-status/', + {items: import_ids}, + import_table_refresh_import_list + ); +} + +var import_table_refresh_import_item = function(item){ + $("#status-" + item["full_id"]).html(item["status"]); + let display = "display:none"; + if (item["state"] == "IP" || item["state"] == "PP"){ + display = ""; + } + $("#progress-display-" + item["full_id"]).attr("style", display); + let actions = "<option value=''>--------</option>"; + for (action_id in item["actions"]){ + let action = item["actions"][action_id]; + actions += "<option value='" + action[0] + "'>" + action[1] + "</option>"; + } + if (!import_table_import_state[item["full_id"]]){ + import_table_import_state[item["full_id"]] = actions; + } + if (import_table_import_state[item["full_id"]] != actions){ + $("#import-action-" + item["full_id"]).html(actions); + import_table_import_state[item["full_id"]] = actions; + } +}; + +var import_table_refresh_import_list = function(data){ + for (item_id in data["group"]){ + let item = data["group"][item_id]; + import_table_refresh_import_item(item); + } + for (item_id in data["import"]){ + let item = data["import"][item_id]; + import_table_refresh_import_item(item); + if (item["current_line"]){ + $("#progress-" + item["full_id"]).attr("aria-valuenow", item["current_line"]); + $("#progress-" + item["full_id"]).attr("aria-valuemax", item["status"]); + $("#progress-" + item["full_id"]).attr("style", "width: " + item["progress_percent"] + "%"); + let cls = "progress-bar progress-bar-striped "; + if (item["state"] == "IP"){ + $("#progress-" + item["full_id"]).removeClass("bg-info").addClass("bg-success"); + } else { + $("#progress-" + item["full_id"]).removeClass("bg-success").addClass("bg-info"); + } + cls += " progress-bar-animated"; + $("#progress-" + item["full_id"]).html( + item["current_line"] + "/" + item["number_of_line"] + ); + } + } +} |