Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: use sidekick to get list of projects #95

Merged
merged 8 commits into from
Feb 25, 2025
Merged
4 changes: 2 additions & 2 deletions tools/admin-edit/admin-edit.js
Original file line number Diff line number Diff line change
Expand Up @@ -219,9 +219,9 @@ function updateConfigFields() {
updateConfig();
}

function init() {
async function init() {
adminURL.value = localStorage.getItem('admin-url') || 'https://admin.hlx.page/status/adobe/aem-boilerplate/main/';
initConfigField();
await initConfigField();
site.addEventListener('input', updateAdminUrl, { once: true });
site.addEventListener('change', updateAdminUrl);
org.addEventListener('change', updateAdminUrl);
Expand Down
4 changes: 2 additions & 2 deletions tools/admin-edit/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -31,12 +31,12 @@ <h1>Admin Edit</h1>
<section class="form-field config-field">
<div class="form-field org-field">
<label for="org">Organization</label>
<input name="org" id="org" list="org-list" required />
<input name="org" id="org" list="org-list" autocomplete="off" required />
Copy link
Collaborator Author

@shsteimer shsteimer Feb 25, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

browser was autocompleting sites not in the org based on previous entry/submission, hence setting autocomplete="off" to prevent that confusion

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

good catch. 🎉

<datalist id="org-list"></datalist>
</div>
<div class="form-field site-field">
<label for="site">Site</label>
<input name="site" id="site" list="site-list" disabled />
<input name="site" id="site" list="site-list" autocomplete="off" disabled />
<datalist id="site-list"></datalist>
</div>
</section>
Expand Down
4 changes: 2 additions & 2 deletions tools/image-audit/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -32,12 +32,12 @@ <h1>Image Audit</h1>
<section class="form-field config-field">
<div class="form-field org-field">
<label for="org">Organization</label>
<input name="org" id="org" list="org-list" required />
<input name="org" id="org" list="org-list" autocomplete="off" required />
<datalist id="org-list"></datalist>
</div>
<div class="form-field site-field">
<label for="site">Site</label>
<input name="site" id="site" list="site-list" disabled required />
<input name="site" id="site" list="site-list" autocomplete="off" disabled required />
<datalist id="site-list"></datalist>
</div>
</section>
Expand Down
4 changes: 2 additions & 2 deletions tools/image-audit/scripts.js
Original file line number Diff line number Diff line change
Expand Up @@ -713,8 +713,8 @@ function registerListeners(doc) {
});
}

function init() {
initConfigField();
async function init() {
await initConfigField();
registerListeners(document);
}

Expand Down
4 changes: 2 additions & 2 deletions tools/page-status/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -30,12 +30,12 @@ <h1>Page Status</h1>
<section class="form-field config-field">
<div class="form-field org-field">
<label for="org">Organization</label>
<input name="org" id="org" list="org-list" required />
<input name="org" id="org" list="org-list" autocomplete="off" required />
<datalist id="org-list"></datalist>
</div>
<div class="form-field site-field">
<label for="site">Site</label>
<input name="site" id="site" list="site-list" disabled required />
<input name="site" id="site" list="site-list" autocomplete="off" disabled required />
<datalist id="site-list"></datalist>
</div>
</section>
Expand Down
73 changes: 37 additions & 36 deletions tools/page-status/scripts.js
Original file line number Diff line number Diff line change
Expand Up @@ -565,8 +565,42 @@ function downloadCSVFile(csvData) {
document.body.removeChild(tempLink);
}

function init() {
initConfigField();
/**
* Executes status job based on params from search query string.
* @param {string} search - URL search string.
* @returns {Promise<>} Promise that resolves when job execution is complete.
*/
async function runFromParams(search) {
const params = new URLSearchParams(search);
if (params && params.size > 0) {
const org = params.get('org');
const site = params.get('site');
const job = params.get('job');
if (org && site && job) {
try {
// initial setup
setupJob(FORM, FORM.querySelector('button'));
// fetch host config
const { live, preview } = await validateHosts(org, site);
updateConfig();
// fetch page status and display results
const jobUrl = `https://admin.hlx.page/job/${org}/${site}/main/status/${job}`;
await runAndDisplayJob(jobUrl, live, preview);
updateJobParam(job);
} catch (error) {
updateTableError('Job');
removeJobParam();
} finally {
enableForm(FORM, FORM.querySelector('button'));
}
} else {
removeJobParam();
}
}
}

async function init() {
await initConfigField();

FORM.addEventListener('reset', () => {
clearTable(RESULTS);
Expand Down Expand Up @@ -653,41 +687,8 @@ function init() {
FILTER.addEventListener('input', filterTable);

FILTER.closest('form').addEventListener('submit', (e) => e.preventDefault());
}

/**
* Executes status job based on params from search query string.
* @param {string} search - URL search string.
* @returns {Promise<>} Promise that resolves when job execution is complete.
*/
async function runFromParams(search) {
const params = new URLSearchParams(search);
if (params && params.size > 0) {
const org = params.get('org');
const site = params.get('site');
const job = params.get('job');
if (org && site && job) {
try {
// initial setup
setupJob(FORM, FORM.querySelector('button'));
// fetch host config
const { live, preview } = await validateHosts(org, site);
updateConfig();
// fetch page status and display results
const jobUrl = `https://admin.hlx.page/job/${org}/${site}/main/status/${job}`;
await runAndDisplayJob(jobUrl, live, preview);
updateJobParam(job);
} catch (error) {
updateTableError('Job');
removeJobParam();
} finally {
enableForm(FORM, FORM.querySelector('button'));
}
} else {
removeJobParam();
}
}
runFromParams(window.location.search);
}

init();
runFromParams(window.location.search);
14 changes: 7 additions & 7 deletions tools/site-admin/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -34,20 +34,20 @@ <h1>Site Admin</h1>
<section class="form-field config-field">
<div class="form-field org-field">
<label for="org">Organization</label>
<input name="org" id="org" list="org-list" required />
<input name="org" id="org" list="org-list" autocomplete="off" required />
<datalist id="org-list"></datalist>
<div class="field-help-text">
<p>
Make sure you are logged into sidekick on a project of the org selected
</p>
</div>
</div>
<div class="form-field site-field" style="display: none;">
<label for="site">Site</label>
<input name="site" id="site" list="site-list" disabled />
<datalist id="site-list"></datalist>
</div>
</section>
<div class="form-field site-field" style="display: none;">
<label for="site">Site</label>
<input name="site" id="site" list="site-list" autocomplete="off" disabled />
<datalist id="site-list"></datalist>
</div>
</section>
<p class="button-wrapper">
<button type="submit" id="list" class="button">List</button>
<button type="reset" id="reset" class="button outline">Reset</button>
Expand Down
6 changes: 3 additions & 3 deletions tools/site-admin/site-admin.js
Original file line number Diff line number Diff line change
Expand Up @@ -273,10 +273,10 @@ adminForm.addEventListener('submit', async (e) => {
displaySitesForOrg(org.value);
});

function init() {
initConfigField();
async function init() {
await initConfigField();

org.value = localStorage.getItem('org') || 'adobe';
if (!org.value) org.value = localStorage.getItem('org') || 'adobe';
if (org.value) displaySitesForOrg(org.value);
}

Expand Down
4 changes: 2 additions & 2 deletions tools/site-query/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -25,12 +25,12 @@ <h1>Site Query</h1>
<section class="form-field config-field">
<div class="form-field org-field">
<label for="org">Organization</label>
<input name="org" id="org" list="org-list" required />
<input name="org" id="org" list="org-list" autocomplete="off" required />
<datalist id="org-list"></datalist>
</div>
<div class="form-field site-field">
<label for="site">Site</label>
<input name="site" id="site" list="site-list" disabled required />
<input name="site" id="site" list="site-list" autocomplete="off" disabled required />
<datalist id="site-list"></datalist>
</div>
</section>
Expand Down
4 changes: 1 addition & 3 deletions tools/site-query/scripts.js
Original file line number Diff line number Diff line change
Expand Up @@ -273,7 +273,7 @@ async function fetchHosts(org, site) {

async function init(doc) {
doc.querySelector('.site-query').dataset.status = 'loading';
initConfigField();
await initConfigField();

const form = doc.querySelector('#search-form');
const table = doc.querySelector('.table table');
Expand Down Expand Up @@ -352,8 +352,6 @@ async function init(doc) {
clearResults(table);
});

// (doc);

doc.querySelector('.site-query').dataset.status = 'loaded';
}

Expand Down
Loading