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

Related Resources refactor and External Link scope #327

Merged
merged 16 commits into from
Sep 26, 2023
1 change: 0 additions & 1 deletion web/app/components/document/sidebar.hbs
Original file line number Diff line number Diff line change
Expand Up @@ -301,7 +301,6 @@
@documentIsDraft={{this.isDraft}}
@productArea={{@document.product}}
@objectID={{@document.objectID}}
@allowAddingExternalLinks={{true}}
Copy link
Contributor Author

Choose a reason for hiding this comment

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

This is now the default setting.

@headerTitle="Related resources"
@modalHeaderTitle="Add related resource"
@modalInputPlaceholder="Search docs or paste a URL..."
Expand Down
115 changes: 56 additions & 59 deletions web/app/components/document/sidebar/related-resources.hbs
Original file line number Diff line number Diff line change
@@ -1,61 +1,58 @@
<Document::Sidebar::SectionHeader
{{did-insert (perform this.loadRelatedResources)}}
@title={{@headerTitle}}
@titleTooltipText={{this.titleTooltipText}}
@badgeText="New"
@buttonIsHidden={{this.sectionHeaderButtonIsHidden}}
@buttonAction={{this.showAddResourceModal}}
/>

{{#if this.loadRelatedResources.isRunning}}
<div class="h-[26px] pt-1.5">
<FlightIcon data-test-related-resources-list-loading-icon @name="loading" />
</div>
{{else if this.loadingHasFailed}}
<div class="h-16">
<div class="failed-to-load-text">
Failed to load
</div>
<Hds::Button
data-test-related-resources-error-button
@color="secondary"
@size="small"
@text="Retry"
@icon="reload"
{{on "click" (perform this.loadRelatedResources)}}
<RelatedResources
@items={{this.relatedResources}}
@isLoading={{this.loadRelatedResources.isRunning}}
@loadingHasFailed={{this.loadingHasFailed}}
@modalHeaderTitle={{@modalHeaderTitle}}
@modalInputPlaceholder={{@modalInputPlaceholder}}
@addResource={{this.addResource}}
@documentObjectID={{@objectID}}
>
<:header as |rr|>
<Document::Sidebar::SectionHeader
{{did-insert (perform this.loadRelatedResources)}}
@title={{@headerTitle}}
@titleTooltipText={{this.titleTooltipText}}
@badgeText="New"
@buttonIsHidden={{this.sectionHeaderButtonIsHidden}}
@buttonAction={{rr.showModal}}
/>
</div>
{{else}}
<Document::Sidebar::RelatedResources::List
@items={{this.relatedResources}}
@itemLimit={{@itemLimit}}
>
<:resource as |r|>
<Document::Sidebar::RelatedResources::ListItem
@resource={{r}}
@removeResource={{this.removeResource}}
@editResource={{this.editResource}}
@editingIsDisabled={{@editingIsDisabled}}
</:header>
<:list-loading>
<div class="h-[26px] pt-1.5">
<FlightIcon
data-test-related-resources-list-loading-icon
@name="loading"
/>
</div>
</:list-loading>
<:list as |rr|>
<Document::Sidebar::RelatedResources::List
@items={{rr.items}}
@itemLimit={{@itemLimit}}
>
<:resource as |r|>
<Document::Sidebar::RelatedResources::ListItem
@resource={{r}}
@removeResource={{this.removeResource}}
@editResource={{this.editResource}}
@editingIsDisabled={{@editingIsDisabled}}
/>
</:resource>
</Document::Sidebar::RelatedResources::List>
</:list>
<:list-error>
<div class="h-16">
<div class="failed-to-load-text">
Failed to load
</div>
<Hds::Button
data-test-related-resources-error-button
@color="secondary"
@size="small"
@text="Retry"
@icon="reload"
{{on "click" (perform this.loadRelatedResources)}}
/>
</:resource>
</Document::Sidebar::RelatedResources::List>
{{/if}}

{{#if this.addResourceModalIsShown}}
<Document::Sidebar::RelatedResources::Add
@headerTitle={{@modalHeaderTitle}}
@inputPlaceholder={{@modalInputPlaceholder}}
@onClose={{this.hideAddResourceModal}}
@addResource={{this.addResource}}
@algoliaResults={{this.algoliaResults}}
@objectID={{@objectID}}
@relatedDocuments={{this.relatedDocuments}}
@relatedLinks={{this.relatedLinks}}
@allowAddingExternalLinks={{@allowAddingExternalLinks}}
@search={{perform this.search}}
@getObject={{perform this.getObject}}
@resetAlgoliaResults={{this.resetAlgoliaResults}}
@searchErrorIsShown={{this.searchErrorIsShown}}
@searchIsRunning={{this.search.isRunning}}
/>
{{/if}}
</div>
</:list-error>
</RelatedResources>
Loading