function setRewardDivData(rewardDiv, data) { if(typeof rewardDiv === "string") rewardDiv = $(rewardDiv); const chooseObjectDiv = rewardDiv.find(".choose-object-div"); setChoosenObject(chooseObjectDiv, data.object); rewardDiv.find(".reward-metadata-field-id").val(data.metadataFieldId); rewardDiv.find(`.reward-type[value=${data.worthType}]`).prop("checked", true).change(); } function getRewardDivData(rewardDiv) { if(typeof rewardDiv === "string") rewardDiv = $(rewardDiv); return { worthType: rewardDiv.find(".reward-type:checked").val(), object: getChoosenObject(rewardDiv.find(".choose-object-div")), metadataFieldId: rewardDiv.find(".reward-metadata-field-id").val() } } function loadRewardDiv(div) { const radioName = generateStaticId(); // has a data-translation-id const title = div.data("translation-id") ? getLocalizedText(div.data("translation-id")) : "Reward"; div.html(`

${title}

`); const chooseObjectDiv = div.find(".choose-object-div"); loadChooseObjectDivs(chooseObjectDiv); div.tooltip(); div.find(".reward-type").change(function() { const worthType = $(this).val(); const isMetadata = worthType === "metadata"; div.find(".reward-metadata-field-id-div").toggle(isMetadata); div.find(".reward-metadata-field-id").prop("required", isMetadata); }); } window.addEventListener('menuOpened', (e) => { $(".reward-div").each(function() { loadRewardDiv($(this)); }); }, { once: true });