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

Calendar view feature branch into RC #160

Merged
merged 30 commits into from
Sep 4, 2024
Merged
Show file tree
Hide file tree
Changes from 23 commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
ee8918d
Merge remote-tracking branch 'origin' into rc
Jul 11, 2024
932d35f
Merge branch 'rc' of https://github.com/hlxsites/adobe-gmo into rc
Jul 18, 2024
537c3d0
ASSETS-88928 : Update Deliverables Page Fields for Phase 2 to branch …
TyroneAEM Jul 18, 2024
7deaa91
Merge remote-tracking branch 'origin' into assets-72024
Jul 25, 2024
30e0c12
Program details calendar view (#144)
mdickson-adbe Jul 29, 2024
7db4b5a
Added code to display the thumbnail for the programName and campaignName
TyroneAEM Jul 29, 2024
d5f44ce
Added thumbnail for programName and campaignName without using await
TyroneAEM Jul 30, 2024
975f1e1
Refactored code to use function async function addThumbnailToItem(ite…
TyroneAEM Jul 31, 2024
bb15611
slightly refactor group-building logic
mdickson-adbe Jul 31, 2024
de7a618
cleanup
mdickson-adbe Jul 31, 2024
93c1267
Removed debug console.log code
TyroneAEM Jul 31, 2024
3705b81
Merge branch 'main' into assets-72024
Aug 1, 2024
d57d580
Calendar view update (#150)
mdickson-adbe Aug 1, 2024
604c439
ASSETS-72026 : Use taskStatus CF for mapping to get the task status l…
TyroneAEM Aug 2, 2024
81e9f20
ASSETS-72027 : [Issue] Fix Number Alignment on Calendar Page View (#152)
TyroneAEM Aug 8, 2024
c7ce8d4
MH3.FY24.0808 Release (#155)
mathieu-lessard Aug 8, 2024
3877038
Assets 98992 (#153)
mdickson-adbe Aug 9, 2024
84bbd45
CSS : Renamed classes icon-categories to icon-productGroup, categorie…
TyroneAEM Aug 12, 2024
60bae09
display msg when no deliverables in calendar (#157)
mdickson-adbe Aug 15, 2024
0793c3e
[Issue] Year View Navigator on Calendar Displays Extreme Years (#158)
TyroneAEM Aug 16, 2024
9f5ce3b
use current year in initial block, update msg (#161)
mdickson-adbe Aug 21, 2024
1110b25
Merge branch 'main' into assets-72024
Aug 21, 2024
2ed9efd
Releasing changes in Prod (#162)
staware30 Aug 22, 2024
e33f2fe
feat: Open QA Files links in a new tab in program calendar view (#163)
TyroneAEM Aug 26, 2024
68d86f8
Hide overflow in calendar task thumbnails (#164)
mdickson-adbe Aug 26, 2024
9b75c44
Merge branch 'main' into assets-72024
Aug 27, 2024
4cc7e6c
Assets 72092 (#166)
mdickson-adbe Aug 28, 2024
1b8f106
Marketing Dashboard and Program Detail Optimization by adding the Con…
TyroneAEM Aug 29, 2024
484ef50
fix bug by updating variable name. delete comment (#167)
mdickson-adbe Sep 3, 2024
26fc1e1
change remaining valid date checks (#168)
mdickson-adbe Sep 4, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
498 changes: 474 additions & 24 deletions blocks/gmo-program-details/gmo-program-details.css

Large diffs are not rendered by default.

49 changes: 46 additions & 3 deletions blocks/gmo-program-details/gmo-program-details.js
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@ import { executeQuery } from '../../scripts/graphql.js';
import { filterArray, getProductMapping, checkBlankString, dateFormat, statusMapping, getMappingArray } from '../../scripts/shared-program.js';
import { getBaseConfigPath } from '../../scripts/site-config.js';
import { searchAsset } from '../../scripts/assets.js';
import { buildCalendar } from '../../scripts/program-calendar.js';

let blockConfig;
const queryVars = extractQueryVars();
Expand Down Expand Up @@ -88,12 +89,14 @@ export default async function decorate(block) {
const audiences = buildAudienceList(program).outerHTML;
const artifactLinks = buildArtifactLinks(program).outerHTML;

const currentYear = new Date().getFullYear();

// Inject the additional HTML content
block.querySelector('.main-body-wrapper').innerHTML += `
<div class="tab-wrapper">
<div id="tab1toggle" data-target="tab1" class="tabBtn active">Overview</div>
<div id="tab2toggle" data-target="tab2" class="tabBtn">Deliverables</div>
<div id="tab3toggle" data-target="tab3" class="tabBtn inactive">Calendar</div>
<div id="tab3toggle" data-target="tab3" class="tabBtn">Calendar</div>
</div>
<div id="tab1" class="two-column overview tab">
<div class="overview-wrapper">
Expand Down Expand Up @@ -177,6 +180,32 @@ export default async function decorate(block) {
</div>
</div>
</div>
<div id="tab3" class="calendar tab inactive">
<div class="control-wrapper">
<div class="inc-dec-wrapper">
<div class="year-switch">
<div id="dec-year" class="year-toggle">
<img class="left" data-direction="left" src="/icons/chevron-right.svg"></img>
</div>
<div id="inc-year" class="year-toggle">
<img class="right" data-direction="right" src="/icons/chevron-right.svg"></img>
</div>
</div>
<div class="current-year" data-quarter="1" data-year="${currentYear}">${currentYear}</div>
</div>
<div class="right-controls">
<div class="today-button">Today</div>
<div class="filter-dropdown-wrapper">
<div class="filter-dropdown-button">
<div class="label">Selected View: Year</div>
<span class="icon icon-chevronDown"></span>
<span class="icon icon-chevronUp inactive"></span>
</div>
</div>
</div>
</div>
</div>
</div>
`;

// Wait for deliverables data
Expand Down Expand Up @@ -227,7 +256,7 @@ export default async function decorate(block) {
});

decorateIcons(block);

buildCalendar(await deliverables, block, "year", await deliverableMappings);
}

function enableBackBtn(block, blockConfig) {
Expand All @@ -249,7 +278,7 @@ function buildHeader(program, queryVars) {
const headerWrapper = document.createElement('div');
headerWrapper.classList.add('details-header-wrapper');
const date = program && program.launchDate ? `<div class="header-row3"><span class="icon icon-calendar">` +
`</span><span class="date-tooltip">Launch date</span><span class="campaign-date">${formatDate(program.launchDate)}</span></div>` : "";
`</span><span class="date-tooltip">Proposed Launch Date</span><span class="campaign-date">${formatDate(program.launchDate)}</span></div>` : "";
const programName = program ? program.programName : queryVars.programName;
const campaignName = program && program.campaignName ? '<div class="header-row2"><span class="subtitle">' + program.campaignName + '</span></div> ': "";

Expand All @@ -260,6 +289,18 @@ function buildHeader(program, queryVars) {
driverField=buildDriverField(driver).outerHTML;
}

const releaseTier = `
<div class="header-row3">
<span class="icon-release-tier"></span>
<span class="release-tier">Release Tier: ${program.releaseTier || "Not Available"}</span>
</div>`;

const productGroup = `
<div class="header-row3">
<span class="icon-productGroup"></span>
<span class="productGroup">${program.productGroup && program.productGroup.length > 0 ? program.productGroup.join(', ') : "Not Available"}</span>
</div>`;

headerWrapper.innerHTML = `
<div class="campaign-img">
</div>
Expand All @@ -271,6 +312,8 @@ function buildHeader(program, queryVars) {
<div class="header-row3">
${date}
${driverField}
${releaseTier}
${productGroup}
</div>
</div>
`
Expand Down
2 changes: 1 addition & 1 deletion blocks/gmo-program-list/gmo-program-list.js
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ const headerConfig = [
'sortable': false
},
{
'name': 'Launch Date',
'name': 'Proposed Launch Date',
'attribute': 'launch',
'sortable': true,
'type': 'date'
Expand Down
Empty file.
36 changes: 36 additions & 0 deletions blocks/gmo-redirect/gmo-redirect.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
import {
readBlockConfig
} from '../../scripts/lib-franklin.js';
/**
*
* @param {HTMLElement} block
*/

export default async function decorate(block) {
// Takes a config name as a string to be used as a regex and redirects to the value's location.
// Groups can be named using (?<name>...) and referenced in the redirect using {name}
// Example:
// regex1 | /share/(?<shareid>[a-z0-9]{8}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{4}-[a-z0-9]{12})
// redirect1 | https://experience.adobe.com/?repoId=delivery-p108396-e1046543.adobeaemcloud.com#/@wfadoberm/assets/contenthub/shares/{shareid}
const config = readBlockConfig(block);
const path = window.location.pathname + window.location.hash;

for(let reg in config){
if(reg.startsWith('regex')){
const regex = new RegExp(config[reg]);
let redirect = config[reg.replace('regex', 'redirect')];
const match = path.match(regex);
if(match){
for(let key in match.groups){
redirect = redirect.replace(`{${key}}`, match.groups[key]);
}
console.info('redirecting to', redirect);
window.location.href = redirect;
return;
}
}
}
block.innerHTML = '';
}


2 changes: 1 addition & 1 deletion fstab.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,5 @@ folders:
/share/: /share/default
/qa/share/: /qa/share/default
/collection/: /collection/default
/qa/collection/: /collection/default
/qa/collection/: /qa/collection/default

11 changes: 11 additions & 0 deletions icons/folderOpenOutline.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
13 changes: 13 additions & 0 deletions icons/launch.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading