mirror of
https://github.com/cisagov/manage.get.gov.git
synced 2025-07-27 21:16:28 +02:00
wip
This commit is contained in:
parent
05a387daa0
commit
3c9e93ee46
2 changed files with 30 additions and 66 deletions
|
@ -236,7 +236,7 @@ class DomainRequestAdminForm(forms.ModelForm):
|
||||||
widgets = {
|
widgets = {
|
||||||
"current_websites": NoAutocompleteFilteredSelectMultiple("current_websites", False),
|
"current_websites": NoAutocompleteFilteredSelectMultiple("current_websites", False),
|
||||||
"alternative_domains": NoAutocompleteFilteredSelectMultiple("alternative_domains", False),
|
"alternative_domains": NoAutocompleteFilteredSelectMultiple("alternative_domains", False),
|
||||||
"other_contacts": NoAutocompleteFilteredSelectMultiple("other_contacts", False),
|
"other_contacts": NoAutocompleteFilteredSelectMultiple("other_contacts", False)
|
||||||
}
|
}
|
||||||
labels = {
|
labels = {
|
||||||
"action_needed_reason_email": "Email",
|
"action_needed_reason_email": "Email",
|
||||||
|
|
|
@ -140,36 +140,33 @@ function handlePortfolioSelection() {
|
||||||
}
|
}
|
||||||
|
|
||||||
function updatePortfolioFields() {
|
function updatePortfolioFields() {
|
||||||
console.log("isPageLoading = " + isPageLoading);
|
|
||||||
if (!isPageLoading) {
|
if (!isPageLoading) {
|
||||||
if (portfolioDropdown.val()) {
|
if (portfolioDropdown.val()) {
|
||||||
console.log("there is a value in portfolio dropdown")
|
|
||||||
let portfolio = getPortfolio(portfolioDropdown.val());
|
let portfolio = getPortfolio(portfolioDropdown.val());
|
||||||
updatePortfolioFieldsData(portfolio);
|
updatePortfolioFieldsData(portfolio);
|
||||||
}
|
}
|
||||||
console.log("updating display");
|
|
||||||
updatePortfolioFieldsDisplay();
|
updatePortfolioFieldsDisplay();
|
||||||
} else {
|
} else {
|
||||||
isPageLoading = false;
|
isPageLoading = false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function getUrl() {
|
function updateSubOrganizationDropdown(portfolio_id) {
|
||||||
return "/admin/api/get-suborganization-list-json/?portfolio_id=" + portfolioDropdown.val();
|
django.jQuery(document).ready(function() {
|
||||||
}
|
|
||||||
|
|
||||||
function updateSubOrganizationUrl() {
|
if (suborganizationDropdown.data('select2')) {
|
||||||
if (portfolioDropdown.val()) {
|
suborganizationDropdown.select2('destroy');
|
||||||
const dropdown = django.jQuery("#id_sub_organization");
|
|
||||||
if (dropdown.data('select2')) {
|
|
||||||
console.log("destroying select2");
|
|
||||||
dropdown.select2("destroy");
|
|
||||||
}
|
}
|
||||||
let newURL = "/admin/api/get-suborganization-list-json/?portfolio_id=" + portfolioDropdown.val();
|
|
||||||
dropdown.select2({
|
// Reinitialize Select2 with the updated URL
|
||||||
|
suborganizationDropdown.select2({
|
||||||
ajax: {
|
ajax: {
|
||||||
url: function (params) {
|
data: function (params) {
|
||||||
return newURL;
|
var query = {
|
||||||
|
search: params.term,
|
||||||
|
portfolio_id: portfolio_id
|
||||||
|
}
|
||||||
|
return query;
|
||||||
},
|
},
|
||||||
dataType: 'json',
|
dataType: 'json',
|
||||||
delay: 250,
|
delay: 250,
|
||||||
|
@ -177,54 +174,21 @@ function handlePortfolioSelection() {
|
||||||
},
|
},
|
||||||
theme: 'admin-autocomplete',
|
theme: 'admin-autocomplete',
|
||||||
allowClear: true,
|
allowClear: true,
|
||||||
placeholder: dropdown.attr('data-placeholder')
|
placeholder: suborganizationDropdown.attr('data-placeholder')
|
||||||
});
|
});
|
||||||
}
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function initializeSubOrganizationUrl() {
|
||||||
|
suborganizationDropdown.attr("data-ajax--url", "/admin/api/get-suborganization-list-json/");
|
||||||
}
|
}
|
||||||
|
|
||||||
function updatePortfolioFieldsDisplay() {
|
function updatePortfolioFieldsDisplay() {
|
||||||
|
let portfolio_id = portfolioDropdown.val();
|
||||||
|
|
||||||
if (portfolioDropdown.val()) {
|
if (portfolio_id) {
|
||||||
// update autocomplete url for suborganizationDropdown
|
|
||||||
// console.log("updating suborganization dropdown, id to " + portfolioDropdown.val());
|
|
||||||
// console.log(typeof django.jQuery().select2); // Should output 'function'
|
|
||||||
// console.log("Attributes of #id_sub_organization:");
|
|
||||||
console.log(suborganizationDropdown);
|
|
||||||
suborganizationDropdown.attr("data-ajax--url", "/admin/api/get-suborganization-list-json/");
|
|
||||||
django.jQuery(document).ready(function() {
|
|
||||||
console.log(suborganizationDropdown);
|
|
||||||
|
|
||||||
let dropdown = django.jQuery("#id_sub_organization");
|
|
||||||
if (suborganizationDropdown.data('select2')) {
|
|
||||||
suborganizationDropdown.select2('destroy');
|
|
||||||
}
|
|
||||||
|
|
||||||
// Reinitialize Select2 with the updated URL
|
|
||||||
dropdown = django.jQuery("#id_sub_organization");
|
|
||||||
suborganizationDropdown.select2({
|
|
||||||
ajax: {
|
|
||||||
data: function (params) {
|
|
||||||
var query = {
|
|
||||||
search: params.term,
|
|
||||||
portfolio_id: portfolioDropdown.val()
|
|
||||||
}
|
|
||||||
return query;
|
|
||||||
},
|
|
||||||
dataType: 'json',
|
|
||||||
delay: 250,
|
|
||||||
cache: true
|
|
||||||
},
|
|
||||||
theme: 'admin-autocomplete',
|
|
||||||
allowClear: true,
|
|
||||||
placeholder: suborganizationDropdown.attr('data-placeholder')
|
|
||||||
});
|
|
||||||
console.log(suborganizationDropdown);
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
// suborganizationDropdown.attr("ajaxUrl", "/admin/api/get-suborganization-list-json/?portfolio_id=" + portfolioDropdown.val());
|
|
||||||
|
|
||||||
|
|
||||||
|
updateSubOrganizationDropdown(portfolio_id);
|
||||||
|
|
||||||
showElement(suborganizationField);
|
showElement(suborganizationField);
|
||||||
hideElement(seniorOfficialField);
|
hideElement(seniorOfficialField);
|
||||||
|
@ -260,11 +224,11 @@ function handlePortfolioSelection() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// django.jQuery(document).ready(function() {
|
|
||||||
// updateSubOrganizationUrl();
|
initializeSubOrganizationUrl();
|
||||||
// Run the function once on page startup, then attach an event listener
|
// Run the function once on page startup, then attach an event listener
|
||||||
updatePortfolioFieldsDisplay();
|
updatePortfolioFieldsDisplay();
|
||||||
portfolioDropdown.on("change", updatePortfolioFields);
|
portfolioDropdown.on("change", updatePortfolioFields);
|
||||||
}
|
}
|
||||||
|
|
||||||
// <<>><<>><<>><<>><<>><<>><<>><<>><<>><<>><<>><<>><<>><<>><<>>
|
// <<>><<>><<>><<>><<>><<>><<>><<>><<>><<>><<>><<>><<>><<>><<>>
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue