From 5dd2b5c6dcd51438f71da05af399999ba512e0ca Mon Sep 17 00:00:00 2001 From: Javier Sánchez Parra Date: Wed, 28 Jul 2021 17:14:51 +0200 Subject: Add full scheme partitioning support The initial "Partition & Format" (aka setup) form only allows to modify one partition at a time. This commit updates it to allow to modify the whole disk partition schema in one go, without pop-ups and transitions. This is a remake of the previous form using FieldList de WTForms and javascript to duplicate / remove FieldList adapted to the attributes available in WTForms. --- ogcp/static/js/ogcp.js | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) (limited to 'ogcp/static') diff --git a/ogcp/static/js/ogcp.js b/ogcp/static/js/ogcp.js index f9c8e56..00ab61c 100644 --- a/ogcp/static/js/ogcp.js +++ b/ogcp/static/js/ogcp.js @@ -53,3 +53,25 @@ function updateScopes(scopes) { function unfoldAll() { $('#scopes .collapse').collapse('show'); } + +function AddPartition(evt) { + const target = $($(evt).data("target")); + const oldrow = target.find("[data-toggle=fieldset-entry]:last"); + const row = oldrow.clone(true, true); + const elem_id = row.find(":input")[0].id; + const elem_prefix = elem_id.replace(/(.*)-(\d{1,4})/m, '$1')// max 4 digits for ids in list + const elem_num = parseInt(elem_id.replace(/(.*)-(\d{1,4})/m, '$2')) + 1; + // Increment WTForms unique identifiers + row.children(':input').each(function() { + const id = $(this).attr('id').replace(elem_prefix+'-' + (elem_num - 1), + elem_prefix+'-' + (elem_num)); + $(this).attr('name', id).attr('id', id).val('').removeAttr("checked"); + }); + row.show(); + oldrow.after(row); +} + +function RemovePartition(evt) { + const target = $(evt).parent().parent(); + target.remove(); +} -- cgit v1.2.3-18-g5258