Skip to content

Commit 769ea8b

Browse files
committed
remove refs to $app from components
per sveltejs/kit#1485, packaged components cannot reference SvelteKit runtime import aliases.
1 parent e492f62 commit 769ea8b

File tree

13 files changed

+29
-34
lines changed

13 files changed

+29
-34
lines changed

package/CMSAdmin.svelte

+3-4
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,14 @@
1-
<script>// @ts-ignore TODO: why can't it find this?
2-
import { page } from '$app/stores';
3-
import getLabelFromID from "./utils/getLabelFromID";
1+
<script>import getLabelFromID from "./utils/getLabelFromID";
42
import Nav from "./ui/Nav.svelte";
53
export let cms;
64
export let adminPath;
75
export let data = undefined;
6+
export let url;
87
$: sections = Object.values(cms.adminPages)
98
.filter(o => !o.id.match('/'));
109
let adminPage;
1110
let adminPagePromise;
12-
$: basePath = $page.url.pathname.replace('/' + adminPath, '');
11+
$: basePath = url.pathname.replace('/' + adminPath, '');
1312
$: if (adminPath)
1413
adminPagePromise = (async () => { adminPage = cms.getAdminPage(adminPath); })();
1514
$: title = adminPage ? adminPath.split('/').map((t, i) => adminPage.label[i] || getLabelFromID(t)).join(' : ') : 'Site Admin';

package/CMSAdmin.svelte.d.ts

+1
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ declare const __propDef: {
55
cms: SvelteCMS;
66
adminPath: string;
77
data?: Object;
8+
url: URL;
89
};
910
events: {
1011
[evt: string]: CustomEvent<any>;

package/display/field/Date.svelte

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
<script>import Display from "../../core/Display";
2-
import { browser } from '$app/environment';
2+
import { isBrowser } from 'browser-or-node';
33
export let cms;
44
export let entity;
55
export let item;
66
export let displayMode;
77
let lang = 'en-US';
8-
$: if (browser && window?.navigator?.language)
8+
$: if (isBrowser && window?.navigator?.language)
99
lang = window.navigator.language;
1010
$: realDate = typeof (item) === 'string' ? new Date(item) || item : item;
1111
$: displayDate = realDate?.toLocaleString(lang) || 'no date';

package/install/routes/(cms)/admin/[...adminPath]/+page.svelte

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,5 +20,5 @@
2020
{#await data}
2121
fetching data...
2222
{:then data}
23-
<CmsAdmin {cms} data={adminData} {adminPath} />
23+
<CmsAdmin {cms} data={adminData} {adminPath} url={$page.url} />
2424
{/await}

package/plugins/admin/components/CMSContentEdit.svelte

+6-9
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,17 @@
11
<script>import CmsEditorForm from '../../../CMSEditorForm.svelte';
2-
import { goto } from '$app/navigation';
3-
import { browser } from '$app/environment';
2+
// import { goto } from '$app/navigation';
3+
// import { isBrowser, isWebWorker, isJsDom } from 'browser-or-node'
44
export let cms;
5-
export let basePath;
65
export let adminPath;
76
export let data;
87
let [contentPath, contentTypeID, slug] = adminPath.split('/');
98
$: ([contentPath, contentTypeID, slug] = adminPath.split('/'));
109
// If new content was just posted, goto the new url
1110
let isNew = slug === '_';
12-
if (browser && data._slug) {
13-
if (isNew)
14-
goto(`${basePath}/${contentPath}/${contentTypeID}/${data._slug}`);
15-
else if (slug !== data._slug)
16-
goto(`${basePath}/${contentPath}/${contentTypeID}/${data._slug}`);
17-
}
11+
// if (isBrowser && data._slug) {
12+
// if (isNew) goto(`${basePath}/${contentPath}/${contentTypeID}/${data._slug}`)
13+
// else if (slug !== data._slug) goto(`${basePath}/${contentPath}/${contentTypeID}/${data._slug}`)
14+
// }
1815
$: content = data ?? cms.getContent(contentTypeID, slug, { getRaw: true });
1916
</script>
2017

package/plugins/admin/components/CMSContentEdit.svelte.d.ts

-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ import type SvelteCMS from '../../..';
33
declare const __propDef: {
44
props: {
55
cms: SvelteCMS;
6-
basePath: string;
76
adminPath: string;
87
data: any;
98
};

package/plugins/admin/widgets/CMSWidgetEntityList.svelte

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,4 @@
11
<script>import { tick } from "svelte";
2-
import { page } from "$app/stores";
32
import CmsWidgetEntity from "./CMSWidgetEntity.svelte";
43
import Button from "../../../ui/Button.svelte";
54
import Modal from "../../../ui/Modal.svelte";
@@ -9,6 +8,7 @@ export let cms;
98
export let id;
109
export let field = undefined;
1110
export let value;
11+
export let url;
1212
// @ts-ignore
1313
export let options = field?.widget?.options;
1414
let opts = Object.assign({}, options);
@@ -18,7 +18,7 @@ let addIDEl;
1818
let newEntityID;
1919
let newEntityType;
2020
let newEntityTypeList = cms.listEntities(entityType.id);
21-
let section = $page.url.searchParams.get('section') || 'config';
21+
let section = url.searchParams.get('section') || 'config';
2222
export function addEntity(id) {
2323
items = [...items, [id, id]];
2424
}

package/plugins/admin/widgets/CMSWidgetEntityList.svelte.d.ts

+1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ declare const __propDef: {
99
value: {
1010
[id: string]: string | EntityConfigSetting;
1111
};
12+
url: URL;
1213
options?: {
1314
entityType: string;
1415
isTopLevelEntity?: boolean;

src/routes/(cms)/admin/[...adminPath]/+page.svelte

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,5 +20,5 @@
2020
{#await data}
2121
fetching data...
2222
{:then data}
23-
<CmsAdmin {cms} data={adminData} {adminPath} />
23+
<CmsAdmin {cms} data={adminData} {adminPath} url={$page.url} />
2424
{/await}

src/sveltecms/CMSAdmin.svelte

+2-3
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,20 @@
11
<script lang="ts">
22
import type SvelteCMS from "sveltecms"
3-
// @ts-ignore TODO: why can't it find this?
4-
import { page } from '$app/stores'
53
import getLabelFromID from "./utils/getLabelFromID";
64
import Nav from "sveltecms/ui/Nav.svelte";
75
import type { AdminPage } from "./core/AdminPage";
86
97
export let cms:SvelteCMS
108
export let adminPath:string
119
export let data:Object = undefined
10+
export let url:URL
1211
1312
$: sections = Object.values(cms.adminPages)
1413
.filter(o => !o.id.match('/'))
1514
let adminPage:AdminPage
1615
let adminPagePromise:Promise<void>
1716
18-
$: basePath = $page.url.pathname.replace('/' + adminPath, '')
17+
$: basePath = url.pathname.replace('/' + adminPath, '')
1918
$: if (adminPath) adminPagePromise = (async () => { adminPage = cms.getAdminPage(adminPath); })()
2019
$: title = adminPage ? adminPath.split('/').map((t,i) => adminPage.label[i] || getLabelFromID(t) ).join(' : ') : 'Site Admin'
2120

src/sveltecms/display/field/Date.svelte

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,15 @@
22
import type SvelteCMS from "sveltecms";
33
import Display from "sveltecms/core/Display";
44
import type Field from "sveltecms/core/Field";
5-
import { browser } from '$app/environment'
5+
import { isBrowser } from 'browser-or-node'
66
77
export let cms:SvelteCMS
88
export let entity:Field
99
export let item:string|Date
1010
export let displayMode:string
1111
1212
let lang = 'en-US'
13-
$: if (browser && window?.navigator?.language) lang = window.navigator.language
13+
$: if (isBrowser && window?.navigator?.language) lang = window.navigator.language
1414
$: realDate = typeof (item) === 'string' ? new Date(item) || item : item
1515
$: displayDate = realDate?.toLocaleString(lang) || 'no date'
1616

src/sveltecms/plugins/admin/components/CMSContentEdit.svelte

+6-7
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,10 @@
22
import type SvelteCMS from 'sveltecms'
33
import CmsEditorForm from 'sveltecms/CMSEditorForm.svelte'
44
5-
import { goto } from '$app/navigation';
6-
import { browser } from '$app/environment'
5+
// import { goto } from '$app/navigation';
6+
// import { isBrowser, isWebWorker, isJsDom } from 'browser-or-node'
77
88
export let cms:SvelteCMS
9-
export let basePath:string
109
export let adminPath:string
1110
export let data
1211
@@ -15,10 +14,10 @@ import { browser } from '$app/environment'
1514
1615
// If new content was just posted, goto the new url
1716
let isNew = slug === '_'
18-
if (browser && data._slug) {
19-
if (isNew) goto(`${basePath}/${contentPath}/${contentTypeID}/${data._slug}`)
20-
else if (slug !== data._slug) goto(`${basePath}/${contentPath}/${contentTypeID}/${data._slug}`)
21-
}
17+
// if (isBrowser && data._slug) {
18+
// if (isNew) goto(`${basePath}/${contentPath}/${contentTypeID}/${data._slug}`)
19+
// else if (slug !== data._slug) goto(`${basePath}/${contentPath}/${contentTypeID}/${data._slug}`)
20+
// }
2221
2322
$: content = data ?? cms.getContent(contentTypeID, slug, { getRaw:true })
2423

src/sveltecms/plugins/admin/widgets/CMSWidgetEntityList.svelte

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@ import type { EntityConfigSetting, WidgetField } from "sveltecms";
33
import type SvelteCMS from "sveltecms";
44
55
import { tick } from "svelte";
6-
import { page } from "$app/stores";
76
87
import CmsWidgetEntity from "sveltecms/plugins/admin/widgets/CMSWidgetEntity.svelte";
98
import Button from "sveltecms/ui/Button.svelte";
@@ -15,6 +14,7 @@ import EntityListSectionToggle from "sveltecms/ui/EntityListSectionToggle.svelte
1514
export let id:string
1615
export let field:WidgetField = undefined
1716
export let value:{[id:string]:string|EntityConfigSetting}
17+
export let url:URL
1818
// @ts-ignore
1919
export let options:{
2020
entityType:string,
@@ -31,7 +31,7 @@ import EntityListSectionToggle from "sveltecms/ui/EntityListSectionToggle.svelte
3131
let newEntityType
3232
let newEntityTypeList = cms.listEntities(entityType.id)
3333
34-
let section = $page.url.searchParams.get('section') || 'config'
34+
let section = url.searchParams.get('section') || 'config'
3535
3636
export function addEntity(id) {
3737
items = [...items, [id,id]]

0 commit comments

Comments
 (0)