Skip to content

Commit

Permalink
fix: take settings for private and template entities into account whe…
Browse files Browse the repository at this point in the history
…n using "link all"
  • Loading branch information
eXaminator committed Jul 25, 2021
1 parent 63135f8 commit 0655b37
Show file tree
Hide file tree
Showing 2 changed files with 37 additions and 27 deletions.
48 changes: 23 additions & 25 deletions src/KankaBrowser/KankaBrowserApplication.hbs
Original file line number Diff line number Diff line change
Expand Up @@ -55,31 +55,29 @@
{{#if data}}
{{#each (kankaGroupBy (kankaSortBy data 'type' 'name') 'type') as |entities type|}}
{{#with (lookup ../typeConfig type) as |typeConfig|}}
{{#with (kankaFilterAccessible entities ignore=../../settings.showPrivate) as |entities| }}
<details class="kanka-details" data-type="{{ type }}" {{#if typeConfig.isOpen}}open{{/if}}>
<summary class="action-row">
<i class="fas {{ typeConfig.icon }}"></i>
<div>
{{#kankaLinkEntity type }}{{ kankaLocalize 'entityType' type }}{{/kankaLinkEntity}}
</div>
<div class="actions">
<button type="button" data-action="link-type" data-type="{{ type }}">
<i class="fas fa-link fa-fw"></i>
{{ kankaLocalize 'browser' 'action' 'linkAll' }}
</button>
<button type="button" data-action="update-outdated" data-type="{{ type }}">
<i class="fas fa-sync fa-fw"></i>
{{ kankaLocalize 'browser' 'action' 'updateOutdated' }}
</button>
</div>
</summary>
{{#if (kankaIsOneOf ../../../settings.view 'grid')}}
{{>entities/grid entities=entities}}
{{else}}
{{>entities/list entities=entities}}
{{/if}}
</details>
{{/with}}
<details class="kanka-details" data-type="{{ type }}" {{#if typeConfig.isOpen}}open{{/if}}>
<summary class="action-row">
<i class="fas {{ typeConfig.icon }}"></i>
<div>
{{#kankaLinkEntity type }}{{ kankaLocalize 'entityType' type }}{{/kankaLinkEntity}}
</div>
<div class="actions">
<button type="button" data-action="link-type" data-type="{{ type }}">
<i class="fas fa-link fa-fw"></i>
{{ kankaLocalize 'browser' 'action' 'linkAll' }}
</button>
<button type="button" data-action="update-outdated" data-type="{{ type }}">
<i class="fas fa-sync fa-fw"></i>
{{ kankaLocalize 'browser' 'action' 'updateOutdated' }}
</button>
</div>
</summary>
{{#if (kankaIsOneOf ../../../settings.view 'grid')}}
{{>entities/grid entities=entities}}
{{else}}
{{>entities/list entities=entities}}
{{/if}}
</details>
{{/with}}
{{/each}}
{{else}}
Expand Down
16 changes: 14 additions & 2 deletions src/KankaBrowser/KankaBrowserApplication.ts
Original file line number Diff line number Diff line change
Expand Up @@ -117,7 +117,7 @@ export default class KankaBrowserApplication extends Application {
kankaCampaignId: this.campaign.id,
currentFilter: this.#currentFilter,
typeConfig,
data: this.#entities?.filter(e => !e.is_template || kanka.settings.importTemplateEntities),
data: this.#entities,
deletedEntries: this.deletedSnapshots,
settings: {
showPrivate: kanka.settings.importPrivateEntities,
Expand Down Expand Up @@ -288,7 +288,7 @@ export default class KankaBrowserApplication extends Application {
}

protected async loadEntities(): Promise<void> {
this.#entities = await kanka.api.getAllEntities(
const entities = await kanka.api.getAllEntities(
this.campaign.id,
[
'ability',
Expand All @@ -304,6 +304,18 @@ export default class KankaBrowserApplication extends Application {
],
);

this.#entities = entities?.filter((entity) => {
if (!kanka.settings.importTemplateEntities && entity.is_template) {
return false;
}

if (!kanka.settings.importPrivateEntities && entity.is_private) {
return false;
}

return true;
});

this.render();
}

Expand Down

0 comments on commit 0655b37

Please sign in to comment.