Skip to content

Commit fa7b824

Browse files
committed
implement conditional asset fetching
1 parent c3b71df commit fa7b824

File tree

2 files changed

+9
-2
lines changed

2 files changed

+9
-2
lines changed

src/core.ts

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ export class Core extends Module {
4646

4747
@on(EVENT.ON_FRAGMENT_RENDERED)
4848
static loadAssetsOnFragment(fragmentName: string) {
49-
const onFragmentRenderAssets = Core.__pageConfiguration.assets.filter(asset => asset.fragment === fragmentName && asset.loadMethod === RESOURCE_LOADING_TYPE.ON_FRAGMENT_RENDER && !asset.preLoaded);
49+
const onFragmentRenderAssets = Core.__pageConfiguration.assets.filter(asset => asset.fragment === fragmentName && !asset.disabled && asset.loadMethod === RESOURCE_LOADING_TYPE.ON_FRAGMENT_RENDER && !asset.preLoaded);
5050

5151
const scripts = Core.createLoadQueue(onFragmentRenderAssets);
5252

@@ -55,7 +55,13 @@ export class Core extends Module {
5555

5656
@on(EVENT.ON_PAGE_LOAD)
5757
static pageLoaded() {
58-
const onFragmentRenderAssets = Core.__pageConfiguration.assets.filter(asset => asset.loadMethod === RESOURCE_LOADING_TYPE.ON_PAGE_RENDER && !asset.preLoaded);
58+
const onFragmentRenderAssets = Core.__pageConfiguration.assets.filter(asset => {
59+
const fragment = Core.__pageConfiguration.fragments.find(fragment => fragment.name === asset.fragment);
60+
if(fragment){
61+
return asset.loadMethod === RESOURCE_LOADING_TYPE.ON_PAGE_RENDER && fragment.attributes.if !== "true" && !asset.preLoaded;
62+
}
63+
return asset.loadMethod === RESOURCE_LOADING_TYPE.ON_PAGE_RENDER && !asset.preLoaded;
64+
});
5965

6066
const scripts = Core.createLoadQueue(onFragmentRenderAssets);
6167

src/types.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@ export interface IPageLibAsset {
1818
link: string;
1919
preLoaded: boolean;
2020
defer?: boolean;
21+
if?: boolean;
2122
}
2223

2324
export interface ICustomPageAsset {

0 commit comments

Comments
 (0)