diff --git a/Products/zms/zpt/ZMSMetamodelProvider/manage_metas.zpt b/Products/zms/zpt/ZMSMetamodelProvider/manage_metas.zpt index 5705ff5e7..25621ee01 100644 --- a/Products/zms/zpt/ZMSMetamodelProvider/manage_metas.zpt +++ b/Products/zms/zpt/ZMSMetamodelProvider/manage_metas.zpt @@ -39,22 +39,22 @@
-
-
- @@ -70,7 +70,7 @@ Metadata @@ -93,14 +93,13 @@ - - +
- @@ -122,8 +121,8 @@ tal:define="meta_ids python:request.set('meta_id_usage',', '.join([xx for xx in here.getMetaobjIds() if metadictAttrId in [x['type'] for x in here.getMetaobjAttrs(xx)]]));"> @@ -131,11 +130,10 @@ - + @@ -161,7 +159,6 @@ - @@ -182,19 +179,19 @@
- - @@ -296,7 +293,7 @@ let new_btn_html = `
${old_id_html} - @@ -321,7 +318,7 @@ * Normalize after deleting a row. */ function clean_deleted_row(sender) { - $(sender).closest('tr').hide('slow',function(){ + $(sender).closest('tr').hide('slow',function(){ $(sender).closest('tr').remove(); renew_sort_options(); }) @@ -331,6 +328,26 @@ * Init. */ $(function(){ + + // ######################################################################## + // Clone all meta_types select lists from the last row + const $meta_options = $('select[name="_type"] option'); + // let c = 1; + $('#meta_properties tbody tr:not(.row_insert) td.meta-type select').each( function() { + let sel = $(this); + let sel_opt = $('option',sel).clone(); + // Clear the select list + $('option',sel).remove(); + // Add all options incl. the selected one + $meta_options.each( function() { + let opt = $(this).attr('value')==$(sel_opt).attr('value') ? $(sel_opt) : $(this).clone(); + $(sel).append($(opt.prop('outerHTML'))); + debugger; + }); + // console.log(c++ + ' ' + sel.attr('name')); + }) + // ######################################################################## + // New field set: initially disable inputs $('tr.row_insert input').attr('disabled',true); @@ -345,7 +362,7 @@ // New field set: clone with enabled inputs $('tr.row_insert input').attr('disabled',false); - // Where to insert the new row + // Where to insert the new row let $where_insert = $(this).closest('tr'); // Set variables