{"version":3,"file":"improve_area_selection.js","mappings":"AAAAA,EAAE,sBAAsBC,GAAG,SAAS,WAChC,IAAIC,EAAiBF,EAAEG,MACnBC,EAAeJ,EAAE,kBAAkBK,OACnCC,EAAgBN,EAAE,kBAElBO,EAAYP,EAAE,qBAAqBK,OACnCG,EAAwBR,EAAE,4QAC1BS,EAAwBT,EAAE,mQAE9BM,EAAcD,KAAKE,GACnBL,EAAeQ,OACf,EAAwBC,YAAYL,GACpC,EAAwBK,YAAYL,GAGpCN,EAAE,mBAAmBC,GAAG,UAAU,WAChC,IAAIW,EAAYZ,EAAEG,MAAMU,MACpBC,EAAUd,EAAE,2BAA2Be,QAAU,UAEnC,MAAdH,GACFZ,EAAEgB,KAAK,CACLC,IAAK,qBAAqBL,IAC1BM,SAAU,OACVC,QAAS,SAASC,GAChB,IAAIC,EAAcrB,EAAE,iBACpBqB,EAAYC,QACZF,EAAKG,SAAQ,SAASC,GACpBH,EAAYI,OAAO,kBAAkBD,EAAKE,OAAOF,EAAKG,gBACxD,IAEeN,EAAYO,KAAK,UACvBC,MAAK,WACZ,GAAI7B,EAAEG,MAAMY,SAAWD,EAErB,OADAd,EAAEG,MAAM2B,KAAK,YAAY,IAClB,CAEX,GACF,GAGN,IAGArB,EAAsBR,GAAG,SAAS,WAChCK,EAAcD,KAAKD,GACnBI,EAAsBuB,SACtBtB,EAAsBsB,SACtB7B,EAAe8B,MACjB,IAGAxB,EAAsBP,GAAG,SAAS,WAChC,IAAIgC,EAASjC,EAAE,kBAAkBoB,KAAK,MAClCA,EAAO,CACTc,OAAQlC,EAAE,mBAAmBa,MAC7BW,KAAMxB,EAAE,iBAAiBa,MACzBsB,MAAOnC,EAAE,kBAAkBa,MAC3BuB,QAASH,EACTI,kBAAmB,sBAGrBrC,EAAEgB,KAAK,CACLC,IAAK,gBACLC,SAAU,OACVE,KAAM,CAAEkB,KAAMlB,GACdD,QAAS,SAASoB,GAChB,GAAKA,EAmBE,CACL,IAAIC,EAA+B,UAArBD,EAASC,QACrB,oIACA,0FAEF/B,EAAsBgC,QAAQ,SAC9BvC,EAAewC,YAAY,8FAA8FF,UAC3H,KA1Be,CACb,IAAIG,EAAa3C,EAAE,mCAAmCe,OAClD6B,EAAW5C,EAAE,iCAAiCe,OAC9C8B,EAAY7C,EAAE,kCAAkCe,OACpD,MAOM+B,EAPe,CACnBC,MAAS,CAAEb,OAAQ,4BAAiCV,KAAM,4BAC1DwB,KAAS,CAAEd,OAAQ,8BAAiCV,KAAM,8BAC1DyB,QAAS,CAAEf,OAAQ,gCAAiCV,KAAM,gCAC1D0B,MAAS,CAAEhB,OAAQ,gCAAiCV,KAAM,iCAG/BmB,IADZ,CAAET,OAAQ,4BAA6BV,KAAM,4BAE9DlB,EAAcD,KAAK,+HAC6Fe,EAAKe,UAAUU,wDAC3FC,EAAQtB,4DAA4DoB,EAASO,kBAAkBP,wDAC/FE,EAAQZ,+DAA+DS,EAAWQ,kBAAkBR,uBAExInC,EAAsBuB,SACtBtB,EAAsBiC,YAAY,iKACpC,CAQF,GAEJ,IAEA1C,EAAE,mBAAmByC,QAAQ,SAC/B","sources":["webpack://trace_taiwan/./app/javascript/packs/improve_area_selection.js"],"sourcesContent":["$('.improve-selection').on('click', function() {\n let $improveButton = $(this);\n let originalHTML = $('#dropdown-info').html();\n let $dropdownArea = $('#dropdown-info');\n\n let $dropDown = $('#hidden-dropdowns').html();\n let $submitDropdownButton = $('');\n let $cancelDropdownButton = $('');\n\n $dropdownArea.html($dropDown);\n $improveButton.hide();\n ($cancelDropdownButton).insertAfter($dropdownArea);\n ($submitDropdownButton).insertAfter($dropdownArea);\n\n // Handle region change and city updates\n $('#post_region_id').on('change', function() {\n let region_id = $(this).val();\n let city_id = $('#post_city_id :selected').text() || 'Unknown'\n\n if (region_id !== '1') {\n $.ajax({\n url: `/get_cities_by_id/${region_id}`,\n dataType: 'json',\n success: function(data) {\n let $citySelect = $('#post_city_id');\n $citySelect.empty();\n data.forEach(function(city) {\n $citySelect.append(``);\n });\n\n let $options = $citySelect.find('option');\n $options.each(function() {\n if ($(this).text() === city_id) {\n $(this).prop('selected', true);\n return false;\n }\n });\n }\n });\n }\n });\n\n // Cancel button handler\n $cancelDropdownButton.on('click', function() {\n $dropdownArea.html(originalHTML);\n $submitDropdownButton.remove();\n $cancelDropdownButton.remove();\n $improveButton.show();\n });\n\n // Submit button handler\n $submitDropdownButton.on('click', function() {\n let postId = $('#trace-details').data('id');\n let data = {\n region: $('#post_region_id').val(),\n city: $('#post_city_id').val(),\n river: $('#post_river_id').val(),\n post_id: postId,\n attribute_updated: 'location-dropdowns'\n };\n\n $.ajax({\n url: '/edits/create',\n dataType: 'json',\n data: { edit: data },\n success: function(response) {\n if (!response) {\n let regionText = $('#post_region_id option:selected').text();\n let cityText = $('#post_city_id option:selected').text();\n let riverText = $('#post_river_id option:selected').text();\n const REGION_PILLS = {\n North: { region: 'bg-blue-100 text-blue-800', city: 'bg-blue-50 text-blue-700' },\n East: { region: 'bg-green-100 text-green-800', city: 'bg-green-50 text-green-700' },\n Central: { region: 'bg-purple-100 text-purple-800', city: 'bg-purple-50 text-purple-700' },\n South: { region: 'bg-yellow-100 text-yellow-800', city: 'bg-yellow-50 text-yellow-700' }\n };\n const fallback = { region: 'bg-gray-100 text-gray-800', city: 'bg-gray-50 text-gray-700' };\n const palette = REGION_PILLS[regionText] || fallback;\n $dropdownArea.html(`\n ${riverText}\n ${cityText}\n ${regionText}\n `);\n $submitDropdownButton.remove();\n $cancelDropdownButton.replaceWith('
Thank you for your contribution. Your update is being reviewed.
');\n } else {\n let message = response.message === 'login' ?\n 'Only logged in users can edit information. Click to Login/Sign Up' :\n 'You have already submitted an improvement for this information. Please wait for review.';\n\n $cancelDropdownButton.trigger('click');\n $improveButton.replaceWith(`
${message}
`);\n }\n }\n });\n });\n\n $('#post_region_id').trigger('change');\n });\n"],"names":["$","on","$improveButton","this","originalHTML","html","$dropdownArea","$dropDown","$submitDropdownButton","$cancelDropdownButton","hide","insertAfter","region_id","val","city_id","text","ajax","url","dataType","success","data","$citySelect","empty","forEach","city","append","id","name","find","each","prop","remove","show","postId","region","river","post_id","attribute_updated","edit","response","message","trigger","replaceWith","regionText","cityText","riverText","palette","North","East","Central","South","toLowerCase"],"ignoreList":[],"sourceRoot":""}