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: UI Extensibility #445

Open
wants to merge 13 commits into
base: main
Choose a base branch
from
Open

feat: UI Extensibility #445

wants to merge 13 commits into from

Conversation

arumsey
Copy link
Collaborator

@arumsey arumsey commented Oct 31, 2024

Description

  • fix swc overlays
  • add top nav bar
  • add light/dark theming
  • add preact to componentize new features
  • fix toast usage guidance
  • modularize document loading
  • modularize import functionality
  • add contextual help
  • minor UI improvements to match Spectrum guidelines and branding

Related Issue

Fixes #446

Motivation and Context

The roadmap for the AEM Importer includes adding advancements in the Importer to reduce onboarding time and effort. The motivation for changes in this PR are to provide a framework for future feature development and ensure the code remains maintainable.

How Has This Been Tested?

Screenshots:

Existing

image

New

image

Light theme

image

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

  • I have signed the Adobe Open Source CLA.
  • My code follows the code style of this project.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have read the CONTRIBUTING document.
  • I have added tests to cover my changes.
  • All new and existing tests passed.

- fix swc overlays
- add top nav bar
- add light/dark theming
- add preact to componentize new features
- fix toast usage guidance
- modularize document loading
- modularize import functionality
- add contextual help
- minor UI improvements to match Spectrum guidelines and branding
@arumsey arumsey self-assigned this Nov 4, 2024
grid-template-rows: 1fr;
body.loading {
display: none;
}
Copy link
Collaborator

Choose a reason for hiding this comment

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

Is this an initializing maybe? We may load things later at runtime and need spinners, or something.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Yes - swc is now being loaded asynchronously so we need to wait for the loading to complete to avoid seeing font/styling changes. Since swc is local the async load is fast so adding a spinner would be a distraction.

Copy link
Collaborator

@atopper atopper Nov 4, 2024

Choose a reason for hiding this comment

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

Right.
I meant could we call the class "initializing" so when we are loading something later (report, file, scripts, loading something from S3 someday, whatever), we won't get collisions with the 'loading' class.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Oh, you're worried about the loading class name? I guess I could change it to hidden since that is what we're actually doing.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

We can still have a different behaviour for the loading class when it is applied to different elements. When body has a loading class we hid all the content. When a div has a loading class we could display a spinner. The behaviour of the class should be based on where it is used on not what its name is.

But, I can change the class name to hidden if you think that is more semantically correct.

js/crawl/crawl.ui.js Outdated Show resolved Hide resolved
js/import/import.preview.js Outdated Show resolved Hide resolved
atopper
atopper previously approved these changes Nov 4, 2024
Copy link
Collaborator

@atopper atopper left a comment

Choose a reason for hiding this comment

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

Lots small changes in that are hard to absorb - lots of styling changes and I trust it all looks good (thanks for the screenshot). Everything I see looks good. 👍

- minor review changes
@catalan-adobe
Copy link
Collaborator

catalan-adobe commented Nov 5, 2024

@arumsey, I've been testing the changes locally and everything so far is working as before
BUT in the import views, while the import is running the "Download Import Report" appears but then disappears when import is done.

- fix `toggleReportButton` logic
@arumsey
Copy link
Collaborator Author

arumsey commented Nov 12, 2024

@arumsey, I've been testing the changes locally and everything so far is working as before BUT in the import views, while the import is running the "Download Import Report" appears but then disappears when import is done.

@catalan-adobe The toggleReportButton report button logic has been fixed.

# Conflicts:
#	js/dist/helix-importer.js
- re-build `helix-importer`
- minor top nav fixes
@arumsey arumsey requested a review from atopper November 14, 2024 21:22
@arumsey
Copy link
Collaborator Author

arumsey commented Nov 14, 2024

@catalan-adobe When you have a chance can you review agian please?

@catalan-adobe
Copy link
Collaborator

@arumsey, I just checked the "download report button" again and the UI issue is fixed but clicking it does not do anything. Report is not being downloaded (I checked the web console, no specific error messages there).

- fix download report action
@arumsey
Copy link
Collaborator Author

arumsey commented Nov 18, 2024

@arumsey, I just checked the "download report button" again and the UI issue is fixed but clicking it does not do anything. Report is not being downloaded (I checked the web console, no specific error messages there).

@catalan-adobe Shoot! The DOWNLOAD_IMPORT_REPORT_BUTTON click listener was using PreviewElements instead of PreviewButtons. The click event is now wired up correctly and a report is being generated from importStatus.

# Conflicts:
#	js/dist/helix-importer.js
#	package-lock.json
- re-build after merging from main
- re-build after merging from main
catalan-adobe
catalan-adobe previously approved these changes Nov 19, 2024
Copy link
Collaborator

@catalan-adobe catalan-adobe left a comment

Choose a reason for hiding this comment

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

@atopper , download report works now! PR LGTM!

atopper
atopper previously approved these changes Nov 19, 2024
Copy link
Collaborator

@atopper atopper left a comment

Choose a reason for hiding this comment

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

I ran it and sent a few observations to you directly. "Download" button in Bulk mode is the only issue in my opinion.

- add border to preview frame
- fix Code Mirror theming
@arumsey
Copy link
Collaborator Author

arumsey commented Nov 20, 2024

I ran it and sent a few observations to you directly. "Download" button in Bulk mode is the only issue in my opinion.

@atopper All of your issues should be resolved now.

# Conflicts:
#	js/dist/helix-importer.js
- rebuild helix-importer
Copy link
Collaborator

@atopper atopper left a comment

Choose a reason for hiding this comment

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

👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Refresh AEM Importer
3 participants