Hi @dragon2A ,
I know my answer is "too little too late", but maybe it will help you or others in the future, for similar situations.
This is the solution that I came up with:
- I used a disabled (not readonly) textfield inside the multifield
- I added a class on that field, to be able to target it easily from js
granite:class="disabledField"
- I wrote a super small client lib that removes the disabled attribute just before closing the dialog:
$(document).on("click", ".cq-dialog-submit", function (e) {
var items = $(e.target).closest(".cq-dialog").find(".disabledField");
items.removeAttr("disabled");
});
Another option that I found was to use a hidden field instead of a textfield, but then the authors can't see what is the value that is being used.