@nascentdigital/funnel-editor 4.6.7 → 5.0.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/EditorApp.js +1 -1
- package/dist/EditorRoutes.js +7 -5
- package/dist/changesets/screens/ChangeSetViewer.js +1 -1
- package/dist/changesets/screens/ChangeSetsExplorer.js +1 -2
- package/dist/collection/hooks/CollectionController.d.ts +5 -16
- package/dist/collection/hooks/CollectionController.js +18 -37
- package/dist/collection/hooks/ICollectionController.d.ts +24 -0
- package/dist/collection/hooks/ICollectionController.js +20 -0
- package/dist/collection/hooks/index.d.ts +1 -0
- package/dist/collection/hooks/index.js +1 -0
- package/dist/collection/hooks/useCollectionController.d.ts +3 -3
- package/dist/collection/screens/CollectionEditor.js +2 -2
- package/dist/components.d.ts +15 -3
- package/dist/components.js +18 -3
- package/dist/core/components/feedback/dialog/MinimalDialogLayout.js +1 -1
- package/dist/core/components/fields/BooleanField.d.ts +2 -1
- package/dist/core/components/fields/BooleanField.js +2 -2
- package/dist/core/components/fields/DateField.d.ts +2 -1
- package/dist/core/components/fields/DateField.js +2 -2
- package/dist/core/components/fields/DynamicPagesEditor.d.ts +2 -1
- package/dist/core/components/fields/DynamicPagesEditor.js +1 -1
- package/dist/core/components/fields/EnumField.d.ts +2 -1
- package/dist/core/components/fields/EnumField.js +2 -2
- package/dist/core/components/fields/FieldCard.d.ts +1 -0
- package/dist/core/components/fields/FieldCard.js +8 -1
- package/dist/core/components/fields/FieldEditor.d.ts +2 -1
- package/dist/core/components/fields/FieldEditor.js +11 -11
- package/dist/core/components/fields/FieldLayout.d.ts +2 -1
- package/dist/core/components/fields/FieldLayout.js +3 -3
- package/dist/core/components/fields/ListEditor.d.ts +2 -1
- package/dist/core/components/fields/ListEditor.js +5 -6
- package/dist/core/components/fields/OptInField.d.ts +2 -1
- package/dist/core/components/fields/OptInField.js +43 -3
- package/dist/core/components/fields/RichTextEditor.js +1 -1
- package/dist/core/components/fields/RichTextField.d.ts +2 -1
- package/dist/core/components/fields/RichTextField.js +3 -5
- package/dist/core/components/fields/TextField.d.ts +2 -0
- package/dist/core/components/fields/TextField.js +2 -2
- package/dist/core/components/fields/TimestampField.d.ts +2 -1
- package/dist/core/components/fields/TimestampField.js +3 -3
- package/dist/core/components/fields/asset/AssetEditor.d.ts +1 -2
- package/dist/core/components/fields/asset/AssetEditor.js +29 -49
- package/dist/core/components/fields/asset/AssetPicker.js +6 -6
- package/dist/core/components/fields/asset/AssetUploader.d.ts +1 -2
- package/dist/core/components/fields/asset/AssetUploader.js +39 -35
- package/dist/core/components/fields/asset/preview/VideoPreview.js +16 -11
- package/dist/core/components/fields/asset/useAssetFields.d.ts +2 -17
- package/dist/core/components/fields/asset/useAssetFields.js +0 -21
- package/dist/core/components/fields/collection/CollectionEditor.d.ts +2 -1
- package/dist/core/components/fields/collection/CollectionEditor.js +18 -4
- package/dist/core/components/fields/collection/CollectionPicker.d.ts +2 -2
- package/dist/core/components/fields/collection/CollectionPicker.js +3 -4
- package/dist/core/components/fields/dynamicPages/PagePriorityDialog.js +1 -1
- package/dist/core/components/fields/embed/EmbeddedVideoEditor.d.ts +2 -2
- package/dist/core/components/fields/embed/EmbeddedVideoEditor.js +50 -31
- package/dist/core/components/fields/factories/AssetFactory.d.ts +3 -3
- package/dist/core/components/fields/factories/AssetFactory.js +18 -13
- package/dist/core/components/fields/factories/CollectionFactory.d.ts +3 -3
- package/dist/core/components/fields/factories/CollectionFactory.js +20 -13
- package/dist/core/components/fields/factories/EmbeddedVideoFactory.d.ts +3 -3
- package/dist/core/components/fields/factories/EmbeddedVideoFactory.js +17 -8
- package/dist/core/components/fields/factories/FieldValueFactory.d.ts +7 -5
- package/dist/core/components/fields/factories/FieldValueFactory.js +57 -13
- package/dist/core/components/fields/factories/LinkFactory.d.ts +3 -3
- package/dist/core/components/fields/factories/LinkFactory.js +17 -8
- package/dist/core/components/fields/factories/MediaFactory.d.ts +13 -0
- package/dist/core/components/fields/factories/MediaFactory.js +212 -0
- package/dist/core/components/fields/factories/ObjectFactory.d.ts +3 -2
- package/dist/core/components/fields/factories/ObjectFactory.js +16 -2
- package/dist/core/components/fields/factories/TextFactory.d.ts +3 -3
- package/dist/core/components/fields/factories/TextFactory.js +16 -10
- package/dist/core/components/fields/link/LinkEditor.d.ts +2 -2
- package/dist/core/components/fields/link/LinkEditor.js +18 -6
- package/dist/core/components/fields/list/CreateFieldButton.js +1 -1
- package/dist/core/components/fields/media/MediaCard.d.ts +7 -0
- package/dist/core/components/fields/media/MediaCard.js +92 -0
- package/dist/core/components/fields/media/MediaEditor.d.ts +36 -0
- package/dist/core/components/fields/media/MediaEditor.js +264 -0
- package/dist/core/components/fields/media/index.d.ts +2 -0
- package/dist/core/components/fields/media/index.js +18 -0
- package/dist/core/components/fields/object/ObjectEditor.d.ts +2 -1
- package/dist/core/components/fields/object/ObjectEditor.js +16 -2
- package/dist/core/components/fields/page/PagePicker.js +1 -1
- package/dist/core/components/interaction/Combobox.js +1 -1
- package/dist/core/components/interaction/MultiSelectControls.js +2 -5
- package/dist/core/components/interaction/Popup.d.ts +11 -7
- package/dist/core/components/interaction/Popup.js +8 -6
- package/dist/core/components/interaction/QuickEditor.js +1 -1
- package/dist/core/components/interaction/QuickInput.d.ts +2 -4
- package/dist/core/components/interaction/QuickInput.js +6 -2
- package/dist/core/components/interaction/QuickPicker.js +1 -1
- package/dist/core/components/interaction/SideSheet.js +1 -1
- package/dist/core/components/interaction/centersheet/CenterSheet.js +7 -1
- package/dist/core/components/interaction/centersheet/CenterSheetContainer.js +3 -1
- package/dist/core/components/interaction/menu/Menu.d.ts +8 -19
- package/dist/core/components/interaction/menu/Menu.js +26 -60
- package/dist/core/components/interaction/menu/useMenuController.d.ts +4 -2
- package/dist/core/components/interaction/menu/useMenuController.js +4 -1
- package/dist/core/components/transitions/FadeIn.js +1 -1
- package/dist/core/components/visuals/Icon.d.ts +1 -1
- package/dist/core/components/visuals/Icon.js +3 -0
- package/dist/core/containers/AssetRepositoryContainer.d.ts +2 -0
- package/dist/core/containers/AssetRepositoryContainer.js +18 -0
- package/dist/core/containers/CollectionRepositoryContainer.d.ts +2 -0
- package/dist/core/containers/CollectionRepositoryContainer.js +18 -0
- package/dist/core/containers/PageRepositoryContainer.d.ts +2 -0
- package/dist/core/containers/PageRepositoryContainer.js +18 -0
- package/dist/core/containers/index.d.ts +3 -0
- package/dist/core/containers/index.js +19 -0
- package/dist/core/domain/Block.js +2 -1
- package/dist/core/domain/BlockConfiguration.d.ts +4 -1
- package/dist/core/domain/BlockConfiguration.js +59 -3
- package/dist/core/domain/Collection.d.ts +7 -25
- package/dist/core/domain/Collection.js +2 -16
- package/dist/core/domain/CollectionBrowser.d.ts +3 -2
- package/dist/core/domain/CollectionBrowser.js +3 -3
- package/dist/core/domain/CollectionFieldProxy.d.ts +12 -8
- package/dist/core/domain/CollectionFieldProxy.js +15 -9
- package/dist/core/domain/CollectionGroup.d.ts +0 -5
- package/dist/core/domain/CollectionGroup.js +0 -7
- package/dist/core/domain/CollectionSummary.d.ts +2 -2
- package/dist/core/domain/Collections.d.ts +3 -3
- package/dist/core/domain/Collections.js +4 -6
- package/dist/core/domain/ICollection.d.ts +72 -0
- package/dist/core/domain/ICollection.js +20 -0
- package/dist/core/domain/IPage.d.ts +16 -1
- package/dist/core/domain/Page.js +2 -2
- package/dist/core/domain/Pages.js +4 -6
- package/dist/core/domain/SectionBlock.js +2 -1
- package/dist/core/domain/Site.d.ts +4 -4
- package/dist/core/domain/Site.js +3 -5
- package/dist/core/domain/index.d.ts +1 -1
- package/dist/core/domain/index.js +1 -1
- package/dist/core/hooks/index.d.ts +4 -3
- package/dist/core/hooks/index.js +4 -3
- package/dist/core/hooks/useAssetRepository.d.ts +3 -0
- package/dist/core/hooks/useAssetRepository.js +11 -0
- package/dist/core/hooks/useCollection.d.ts +4 -4
- package/dist/core/hooks/useCollectionRepository.d.ts +3 -2
- package/dist/core/hooks/useCollectionRepository.js +4 -4
- package/dist/core/hooks/useCollections.js +4 -0
- package/dist/core/hooks/usePageRepository.d.ts +3 -2
- package/dist/core/hooks/usePageRepository.js +4 -4
- package/dist/core/hooks/useSite.js +4 -0
- package/dist/core/hooks/useTempFields.d.ts +2 -3
- package/dist/core/index.d.ts +1 -0
- package/dist/core/index.js +1 -0
- package/dist/core/repository/AssetRepository.d.ts +10 -0
- package/dist/core/repository/AssetRepository.js +22 -0
- package/dist/core/repository/CollectionRepository.d.ts +22 -21
- package/dist/core/repository/CollectionRepository.js +23 -161
- package/dist/core/repository/CollectionSerializer.d.ts +4 -1
- package/dist/core/repository/CollectionSerializer.js +3 -3
- package/dist/core/repository/IAssetRepository.d.ts +25 -0
- package/dist/core/repository/ICollectionRepository.d.ts +61 -0
- package/dist/core/repository/ICollectionRepository.js +2 -0
- package/dist/core/repository/IPageRepository.d.ts +40 -0
- package/dist/core/repository/IPageRepository.js +2 -0
- package/dist/core/repository/PageRepository.d.ts +5 -8
- package/dist/core/repository/PageRepository.js +7 -280
- package/dist/core/repository/SerializeCollectionUpdate.d.ts +8 -0
- package/dist/core/repository/SerializeCollectionUpdate.js +168 -0
- package/dist/core/repository/SerializePageUpdate.d.ts +10 -0
- package/dist/core/repository/SerializePageUpdate.js +292 -0
- package/dist/core/repository/index.d.ts +4 -0
- package/dist/core/repository/index.js +4 -0
- package/dist/core/splash/SplashContainer.d.ts +4 -2
- package/dist/core/splash/SplashContainer.js +3 -3
- package/dist/dashboard/screens/Dashboard.js +1 -1
- package/dist/devtools/screens/Devtools.js +1 -1
- package/dist/explore/components/CreatePageDialog.d.ts +2 -2
- package/dist/explore/screens/CollectionExplorer.js +1 -1
- package/dist/explore/screens/CollectionsExplorer.js +1 -1
- package/dist/explore/screens/PageExplorer.js +1 -1
- package/dist/explore/screens/SiteExplorer.js +1 -1
- package/dist/page/components/BlockEditor.js +1 -1
- package/dist/page/components/SettingsEditor.js +0 -7
- package/dist/page/components/config/BlockConfigButton.js +71 -14
- package/dist/page/screens/PageEditor.js +1 -1
- package/dist/styles/index.css +24 -20
- package/dist/styles/tailwind.js +1 -0
- package/dist/users/screens/UserExplorer.js +1 -1
- package/package.json +2 -2
- package/dist/core/domain/TranslateSchema.d.ts +0 -7
- /package/dist/core/{domain/TranslateSchema.js → repository/IAssetRepository.js} +0 -0
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import { EventBus, Field, FieldList, Language, ObjectField, Schema } from '@nascentdigital/funnel-core';
|
|
1
|
+
import { EventBus, Field, FieldList, FieldModel, Language, ObjectField, Schema } from '@nascentdigital/funnel-core';
|
|
2
2
|
import type { Observable } from 'rxjs';
|
|
3
|
+
import type { Asset } from './Asset';
|
|
3
4
|
import type { Block } from './Block';
|
|
4
5
|
import type { IAssetStore } from './IAssetStore';
|
|
5
6
|
import type { ICollectionStore } from './ICollectionStore';
|
|
@@ -7,6 +8,7 @@ import type { IPageRefStore } from './IPageRefStore';
|
|
|
7
8
|
import type { ITagged } from './ITagged';
|
|
8
9
|
import type { Item } from './Item';
|
|
9
10
|
import type { PageSettings } from './PageSettings';
|
|
11
|
+
import type { PageSummary } from './PageSummary';
|
|
10
12
|
import type { Section } from './Section';
|
|
11
13
|
export interface IPage extends IAssetStore, ICollectionStore, IPageRefStore, ITagged {
|
|
12
14
|
readonly template: Schema.Page;
|
|
@@ -24,6 +26,7 @@ export interface IPage extends IAssetStore, ICollectionStore, IPageRefStore, ITa
|
|
|
24
26
|
readonly url: string;
|
|
25
27
|
readonly createdOn: number;
|
|
26
28
|
readonly updatedOn: number;
|
|
29
|
+
readonly asRef: IPage.Ref;
|
|
27
30
|
publication: number | undefined;
|
|
28
31
|
slug: string | undefined;
|
|
29
32
|
deleteBlock(area: IPage.Area, key: string): void;
|
|
@@ -31,6 +34,7 @@ export interface IPage extends IAssetStore, ICollectionStore, IPageRefStore, ITa
|
|
|
31
34
|
export declare namespace IPage {
|
|
32
35
|
type Content = ReadonlyArray<Block | Section>;
|
|
33
36
|
type Area = 'discover' | 'content';
|
|
37
|
+
type Savable = Section | Block | FieldModel;
|
|
34
38
|
type Ref = {
|
|
35
39
|
template: Schema.Page;
|
|
36
40
|
id: Schema.Page.Id;
|
|
@@ -42,10 +46,21 @@ export declare namespace IPage {
|
|
|
42
46
|
slug?: string;
|
|
43
47
|
name: string;
|
|
44
48
|
tags: Schema.Tag[];
|
|
49
|
+
state: Schema.Page.State;
|
|
50
|
+
errors: boolean;
|
|
45
51
|
createdOn: number;
|
|
46
52
|
updatedOn: number;
|
|
47
53
|
publishedOn?: number;
|
|
48
54
|
};
|
|
55
|
+
type References = {
|
|
56
|
+
pages: Ref[];
|
|
57
|
+
collections: Schema.Collection.Data.AsLink[];
|
|
58
|
+
assets: Asset[];
|
|
59
|
+
};
|
|
60
|
+
type WithSummary = {
|
|
61
|
+
summary: PageSummary;
|
|
62
|
+
page?: IPage;
|
|
63
|
+
};
|
|
49
64
|
type Events = Event | Item.Event | Field.Event | ObjectField.Event | FieldList.Event;
|
|
50
65
|
interface Event extends EventBus.Event<'Page', Event.Type> {
|
|
51
66
|
page: IPage;
|
package/dist/core/domain/Page.js
CHANGED
|
@@ -296,11 +296,11 @@ class Page {
|
|
|
296
296
|
return this.errors.items.length > 0;
|
|
297
297
|
}
|
|
298
298
|
get asRef() {
|
|
299
|
-
const { id, groupId, template, brand, region, language, slug, url, name, tags, createdOn, updatedOn, publishedOn } = this;
|
|
299
|
+
const { id, groupId, template, brand, region, language, slug, url, name, tags, state, hasErrors, createdOn, updatedOn, publishedOn } = this;
|
|
300
300
|
return {
|
|
301
301
|
id, groupId, template,
|
|
302
302
|
brand, region, language, slug, url, name, tags: Array.from(tags),
|
|
303
|
-
createdOn, updatedOn, publishedOn
|
|
303
|
+
state, errors: hasErrors, createdOn, updatedOn, publishedOn
|
|
304
304
|
};
|
|
305
305
|
}
|
|
306
306
|
/**
|
|
@@ -57,13 +57,11 @@ class Pages {
|
|
|
57
57
|
: 'syncing';
|
|
58
58
|
// load all pages for the region
|
|
59
59
|
const { site, template, pageType, tags } = this;
|
|
60
|
-
const {
|
|
61
|
-
const { items: pages } = await site.
|
|
62
|
-
|
|
60
|
+
const { region } = site;
|
|
61
|
+
const { items: pages } = await site.repository.search({
|
|
62
|
+
template,
|
|
63
63
|
region: region.id,
|
|
64
|
-
type: pageType,
|
|
65
64
|
tags: tags.map(tag => tag.data),
|
|
66
|
-
version: 'draft',
|
|
67
65
|
pagination: 'all'
|
|
68
66
|
});
|
|
69
67
|
console.debug(`[PageCollection/sync] fetched ${pages.length} "${pageType}" pages`);
|
|
@@ -94,7 +92,7 @@ class Pages {
|
|
|
94
92
|
slug: page.slug,
|
|
95
93
|
name: page.name,
|
|
96
94
|
url: page.url,
|
|
97
|
-
tags: page.tags,
|
|
95
|
+
tags: page.tags.map(tag => tag.data),
|
|
98
96
|
state: page.state,
|
|
99
97
|
errors: page.errors,
|
|
100
98
|
createdOn: page.createdOn,
|
|
@@ -66,7 +66,8 @@ class SectionBlock extends ItemBase_1.ItemBase {
|
|
|
66
66
|
return this.block.errors;
|
|
67
67
|
}
|
|
68
68
|
getConfiguration() {
|
|
69
|
-
|
|
69
|
+
const { root } = this;
|
|
70
|
+
return new BlockConfiguration_1.BlockConfiguration({ block: this, assetStore: root, collectionStore: root });
|
|
70
71
|
}
|
|
71
72
|
bind(parentContext) {
|
|
72
73
|
// bind base
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { BrandConfig, EventBus, Language, RegionsConfig, Schema } from '@nascentdigital/funnel-core';
|
|
2
2
|
import { Observable } from 'rxjs';
|
|
3
3
|
import { AppState } from '../app';
|
|
4
|
-
import {
|
|
4
|
+
import { IPageRepository } from '../repository';
|
|
5
5
|
import { PageOverview } from './PageOverview';
|
|
6
6
|
import { Pages } from './Pages';
|
|
7
7
|
export declare class Site {
|
|
@@ -10,7 +10,7 @@ export declare class Site {
|
|
|
10
10
|
readonly brand: BrandConfig.WithId;
|
|
11
11
|
readonly region: RegionsConfig.RegionConfig.WithId;
|
|
12
12
|
readonly appState: AppState;
|
|
13
|
-
readonly
|
|
13
|
+
readonly repository: IPageRepository;
|
|
14
14
|
private readonly _eventBus;
|
|
15
15
|
private _state;
|
|
16
16
|
private _overviews;
|
|
@@ -18,7 +18,7 @@ export declare class Site {
|
|
|
18
18
|
private readonly _pagesToSync;
|
|
19
19
|
private _syncPromise?;
|
|
20
20
|
private readonly _subscription;
|
|
21
|
-
constructor({ appState,
|
|
21
|
+
constructor({ appState, repository, region }: Site.ConstructorArgs);
|
|
22
22
|
get events$(): Observable<Site.Event>;
|
|
23
23
|
get state(): Site.State;
|
|
24
24
|
private set state(value);
|
|
@@ -38,7 +38,7 @@ export declare namespace Site {
|
|
|
38
38
|
type State = 'uninitialized' | 'initializing' | 'ready' | 'syncing' | 'error';
|
|
39
39
|
type ConstructorArgs = {
|
|
40
40
|
appState: AppState;
|
|
41
|
-
|
|
41
|
+
repository: IPageRepository;
|
|
42
42
|
region: string;
|
|
43
43
|
};
|
|
44
44
|
interface Event extends EventBus.Event<'Site', Event.Type> {
|
package/dist/core/domain/Site.js
CHANGED
|
@@ -5,7 +5,7 @@ const funnel_core_1 = require("@nascentdigital/funnel-core");
|
|
|
5
5
|
const Pages_1 = require("./Pages");
|
|
6
6
|
// model
|
|
7
7
|
class Site {
|
|
8
|
-
constructor({ appState,
|
|
8
|
+
constructor({ appState, repository, region }) {
|
|
9
9
|
// initialize instance variables
|
|
10
10
|
const site = funnel_core_1.Schema.Site.current();
|
|
11
11
|
const brand = funnel_core_1.AppConfig.brand();
|
|
@@ -15,14 +15,12 @@ class Site {
|
|
|
15
15
|
this.brand = Object.assign(Object.assign({}, brandConfig), { id: brand });
|
|
16
16
|
this.region = Object.assign(Object.assign({}, brandConfig.regionalization.regions[region]), { id: region });
|
|
17
17
|
this.appState = appState;
|
|
18
|
-
this.
|
|
18
|
+
this.repository = repository;
|
|
19
19
|
this._eventBus = new funnel_core_1.EventBus();
|
|
20
20
|
this._state = 'uninitialized';
|
|
21
21
|
this._overviews = [];
|
|
22
22
|
this._pages = new Map();
|
|
23
23
|
this._pagesToSync = new Set();
|
|
24
|
-
// start initial loading of data
|
|
25
|
-
this.sync().catch(console.error);
|
|
26
24
|
// listen to app state for page changes
|
|
27
25
|
this._subscription = this.appState.pageEvents$.subscribe(e => this.onPageEvent(e));
|
|
28
26
|
}
|
|
@@ -118,7 +116,7 @@ class Site {
|
|
|
118
116
|
? 'initializing'
|
|
119
117
|
: 'syncing';
|
|
120
118
|
// load overview
|
|
121
|
-
this._overviews = await this.
|
|
119
|
+
this._overviews = await this.repository.getOverview({ region: this.region.id });
|
|
122
120
|
// mark as ready
|
|
123
121
|
this.state = 'ready';
|
|
124
122
|
}
|
|
@@ -9,6 +9,7 @@ export * from './CollectionGroup';
|
|
|
9
9
|
export * from './CollectionSummary';
|
|
10
10
|
export * from './Collections';
|
|
11
11
|
export * from './IAssetStore';
|
|
12
|
+
export * from './ICollection';
|
|
12
13
|
export * from './ICollectionStore';
|
|
13
14
|
export * from './IPage';
|
|
14
15
|
export * from './IPageRefStore';
|
|
@@ -24,6 +25,5 @@ export * from './Pages';
|
|
|
24
25
|
export * from './Section';
|
|
25
26
|
export * from './SectionBlock';
|
|
26
27
|
export * from './Site';
|
|
27
|
-
export * from './TranslateSchema';
|
|
28
28
|
export * from './UserBrowser';
|
|
29
29
|
export * from './UserValidation';
|
|
@@ -25,6 +25,7 @@ __exportStar(require("./CollectionGroup"), exports);
|
|
|
25
25
|
__exportStar(require("./CollectionSummary"), exports);
|
|
26
26
|
__exportStar(require("./Collections"), exports);
|
|
27
27
|
__exportStar(require("./IAssetStore"), exports);
|
|
28
|
+
__exportStar(require("./ICollection"), exports);
|
|
28
29
|
__exportStar(require("./ICollectionStore"), exports);
|
|
29
30
|
__exportStar(require("./IPage"), exports);
|
|
30
31
|
__exportStar(require("./IPageRefStore"), exports);
|
|
@@ -40,6 +41,5 @@ __exportStar(require("./Pages"), exports);
|
|
|
40
41
|
__exportStar(require("./Section"), exports);
|
|
41
42
|
__exportStar(require("./SectionBlock"), exports);
|
|
42
43
|
__exportStar(require("./Site"), exports);
|
|
43
|
-
__exportStar(require("./TranslateSchema"), exports);
|
|
44
44
|
__exportStar(require("./UserBrowser"), exports);
|
|
45
45
|
__exportStar(require("./UserValidation"), exports);
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
export * from './useAssetRepository';
|
|
1
2
|
export * from './useAssetStore';
|
|
2
3
|
export * from './useBlock';
|
|
3
4
|
export * from './useBlockConfiguration';
|
|
@@ -5,19 +6,19 @@ export * from './useChangeSet';
|
|
|
5
6
|
export * from './useChangeSetBrowser';
|
|
6
7
|
export * from './useCollection';
|
|
7
8
|
export * from './useCollectionBrowser';
|
|
9
|
+
export * from './useCollectionData';
|
|
8
10
|
export * from './useCollectionFieldProxy';
|
|
9
11
|
export * from './useCollectionRepository';
|
|
10
|
-
export * from './useCollections';
|
|
11
12
|
export * from './useCollectionStore';
|
|
12
|
-
export * from './
|
|
13
|
+
export * from './useCollections';
|
|
13
14
|
export * from './useField';
|
|
14
15
|
export * from './useHotkeyScopeLock';
|
|
15
16
|
export * from './usePage';
|
|
16
17
|
export * from './usePageCollection';
|
|
17
18
|
export * from './usePageRef';
|
|
19
|
+
export * from './usePageRefStore';
|
|
18
20
|
export * from './usePageRepository';
|
|
19
21
|
export * from './usePages';
|
|
20
|
-
export * from './usePageRefStore';
|
|
21
22
|
export * from './useSite';
|
|
22
23
|
export * from './useTempFields';
|
|
23
24
|
export * from './useUserBrowser';
|
package/dist/core/hooks/index.js
CHANGED
|
@@ -14,6 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./useAssetRepository"), exports);
|
|
17
18
|
__exportStar(require("./useAssetStore"), exports);
|
|
18
19
|
__exportStar(require("./useBlock"), exports);
|
|
19
20
|
__exportStar(require("./useBlockConfiguration"), exports);
|
|
@@ -21,19 +22,19 @@ __exportStar(require("./useChangeSet"), exports);
|
|
|
21
22
|
__exportStar(require("./useChangeSetBrowser"), exports);
|
|
22
23
|
__exportStar(require("./useCollection"), exports);
|
|
23
24
|
__exportStar(require("./useCollectionBrowser"), exports);
|
|
25
|
+
__exportStar(require("./useCollectionData"), exports);
|
|
24
26
|
__exportStar(require("./useCollectionFieldProxy"), exports);
|
|
25
27
|
__exportStar(require("./useCollectionRepository"), exports);
|
|
26
|
-
__exportStar(require("./useCollections"), exports);
|
|
27
28
|
__exportStar(require("./useCollectionStore"), exports);
|
|
28
|
-
__exportStar(require("./
|
|
29
|
+
__exportStar(require("./useCollections"), exports);
|
|
29
30
|
__exportStar(require("./useField"), exports);
|
|
30
31
|
__exportStar(require("./useHotkeyScopeLock"), exports);
|
|
31
32
|
__exportStar(require("./usePage"), exports);
|
|
32
33
|
__exportStar(require("./usePageCollection"), exports);
|
|
33
34
|
__exportStar(require("./usePageRef"), exports);
|
|
35
|
+
__exportStar(require("./usePageRefStore"), exports);
|
|
34
36
|
__exportStar(require("./usePageRepository"), exports);
|
|
35
37
|
__exportStar(require("./usePages"), exports);
|
|
36
|
-
__exportStar(require("./usePageRefStore"), exports);
|
|
37
38
|
__exportStar(require("./useSite"), exports);
|
|
38
39
|
__exportStar(require("./useTempFields"), exports);
|
|
39
40
|
__exportStar(require("./useUserBrowser"), exports);
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AssetRepositoryContext = void 0;
|
|
4
|
+
exports.useAssetRepository = useAssetRepository;
|
|
5
|
+
const react_1 = require("react");
|
|
6
|
+
// hook
|
|
7
|
+
function useAssetRepository() {
|
|
8
|
+
return (0, react_1.useContext)(exports.AssetRepositoryContext);
|
|
9
|
+
}
|
|
10
|
+
// context
|
|
11
|
+
exports.AssetRepositoryContext = (0, react_1.createContext)({});
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare function usePossibleCollection():
|
|
3
|
-
export declare function useCollection():
|
|
1
|
+
import { ICollection } from '../domain';
|
|
2
|
+
export declare function usePossibleCollection(): ICollection | undefined;
|
|
3
|
+
export declare function useCollection(): ICollection;
|
|
4
4
|
export declare const CollectionContext: import("react").Context<CollectionContext.Data>;
|
|
5
5
|
export declare namespace CollectionContext {
|
|
6
6
|
type Data = {
|
|
7
|
-
collection?:
|
|
7
|
+
collection?: ICollection;
|
|
8
8
|
};
|
|
9
9
|
}
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare function useCollectionRepository():
|
|
1
|
+
import { ICollectionRepository } from '../repository';
|
|
2
|
+
export declare function useCollectionRepository<TRepository extends ICollectionRepository = ICollectionRepository>(): TRepository;
|
|
3
|
+
export declare const CollectionRepositoryContext: import("react").Context<ICollectionRepository>;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.CollectionRepositoryContext = void 0;
|
|
3
4
|
exports.useCollectionRepository = useCollectionRepository;
|
|
4
5
|
const react_1 = require("react");
|
|
5
|
-
const client_1 = require("../client");
|
|
6
|
-
const repository_1 = require("../repository");
|
|
7
6
|
// hook
|
|
8
7
|
function useCollectionRepository() {
|
|
9
|
-
|
|
10
|
-
return (0, react_1.useMemo)(() => new repository_1.CollectionRepository(editorApi), [editorApi]);
|
|
8
|
+
return (0, react_1.useContext)(exports.CollectionRepositoryContext);
|
|
11
9
|
}
|
|
10
|
+
// context
|
|
11
|
+
exports.CollectionRepositoryContext = (0, react_1.createContext)({});
|
|
@@ -17,6 +17,10 @@ function usePossibleCollections() {
|
|
|
17
17
|
if (!collections) {
|
|
18
18
|
return;
|
|
19
19
|
}
|
|
20
|
+
// sync if it's not ready
|
|
21
|
+
else if (collections.state === 'uninitialized') {
|
|
22
|
+
collections.sync().catch(console.error);
|
|
23
|
+
}
|
|
20
24
|
// subscribe to changes
|
|
21
25
|
const subscription = collections.events$.subscribe(() => touch());
|
|
22
26
|
// unsubscribe on unmount
|
|
@@ -1,2 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
export declare function usePageRepository():
|
|
1
|
+
import { IPageRepository } from '../repository';
|
|
2
|
+
export declare function usePageRepository<TRepository extends IPageRepository = IPageRepository>(): TRepository;
|
|
3
|
+
export declare const PageRepositoryContext: import("react").Context<IPageRepository>;
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.PageRepositoryContext = void 0;
|
|
3
4
|
exports.usePageRepository = usePageRepository;
|
|
4
5
|
const react_1 = require("react");
|
|
5
|
-
const client_1 = require("../client");
|
|
6
|
-
const repository_1 = require("../repository");
|
|
7
6
|
// hook
|
|
8
7
|
function usePageRepository() {
|
|
9
|
-
|
|
10
|
-
return (0, react_1.useMemo)(() => new repository_1.PageRepository(editorApi), [editorApi]);
|
|
8
|
+
return (0, react_1.useContext)(exports.PageRepositoryContext);
|
|
11
9
|
}
|
|
10
|
+
// context
|
|
11
|
+
exports.PageRepositoryContext = (0, react_1.createContext)({});
|
|
@@ -17,6 +17,10 @@ function usePossibleSite() {
|
|
|
17
17
|
if (!site) {
|
|
18
18
|
return;
|
|
19
19
|
}
|
|
20
|
+
// sync if it's not ready
|
|
21
|
+
else if (site.state === 'uninitialized') {
|
|
22
|
+
site.sync().catch(console.error);
|
|
23
|
+
}
|
|
20
24
|
// subscribe to changes
|
|
21
25
|
const subscription = site.events$.subscribe(() => touch());
|
|
22
26
|
// unsubscribe on unmount
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
import { Schema } from '@nascentdigital/funnel-core';
|
|
2
|
-
|
|
3
|
-
export declare function useTempFields<TFields extends Record<string, Schema.Optional.Maybe<Schema.Field.Type>>>(schemasRaw: TFields, dependencies?: any[]): TranslateSchema.Fields<TFields>;
|
|
1
|
+
import { Schema, SchemaToFields } from '@nascentdigital/funnel-core';
|
|
2
|
+
export declare function useTempFields<TFields extends Record<string, Schema.Optional.Maybe<Schema.Field.Type>>>(schemasRaw: TFields, dependencies?: any[]): SchemaToFields<TFields>;
|
|
4
3
|
export declare namespace useTempFields {
|
|
5
4
|
type Args = {
|
|
6
5
|
schemas: Record<string, Schema.Field.Type>;
|
package/dist/core/index.d.ts
CHANGED
package/dist/core/index.js
CHANGED
|
@@ -18,6 +18,7 @@ __exportStar(require("./app"), exports);
|
|
|
18
18
|
__exportStar(require("./auth"), exports);
|
|
19
19
|
__exportStar(require("./client"), exports);
|
|
20
20
|
__exportStar(require("./components"), exports);
|
|
21
|
+
__exportStar(require("./containers"), exports);
|
|
21
22
|
__exportStar(require("./domain"), exports);
|
|
22
23
|
__exportStar(require("./hooks"), exports);
|
|
23
24
|
__exportStar(require("./repository"), exports);
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { EditorApiClient } from '../client';
|
|
2
|
+
import { IAssetRepository } from './IAssetRepository';
|
|
3
|
+
export declare class AssetRepository implements IAssetRepository {
|
|
4
|
+
editorApi: EditorApiClient;
|
|
5
|
+
constructor(editorApi: EditorApiClient);
|
|
6
|
+
search(args: IAssetRepository.Search.Args): Promise<IAssetRepository.Search.Result>;
|
|
7
|
+
get(args: IAssetRepository.Get.Args): Promise<IAssetRepository.Get.Result>;
|
|
8
|
+
update(args: IAssetRepository.Update.Args): Promise<IAssetRepository.Update.Result>;
|
|
9
|
+
uploadFile(args: IAssetRepository.UploadFile.Args): Promise<IAssetRepository.UploadFile.Result>;
|
|
10
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AssetRepository = void 0;
|
|
4
|
+
// class
|
|
5
|
+
class AssetRepository {
|
|
6
|
+
constructor(editorApi) {
|
|
7
|
+
this.editorApi = editorApi;
|
|
8
|
+
}
|
|
9
|
+
async search(args) {
|
|
10
|
+
return this.editorApi.getAssets(args);
|
|
11
|
+
}
|
|
12
|
+
async get(args) {
|
|
13
|
+
return this.editorApi.getAsset(args);
|
|
14
|
+
}
|
|
15
|
+
async update(args) {
|
|
16
|
+
return this.editorApi.updateAsset(args);
|
|
17
|
+
}
|
|
18
|
+
async uploadFile(args) {
|
|
19
|
+
return this.editorApi.uploadFile(args);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
exports.AssetRepository = AssetRepository;
|
|
@@ -1,29 +1,30 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { EventBus, FieldModel } from '@nascentdigital/funnel-core';
|
|
1
|
+
import { Schema } from '@nascentdigital/funnel-core';
|
|
3
2
|
import { UpdateCollectionCommand } from '../../api/collections';
|
|
4
3
|
import { EditorApiClient } from '../client';
|
|
5
|
-
import { Collection, CollectionFieldProxy } from '../domain';
|
|
4
|
+
import { Collection, CollectionFieldProxy, ICollection } from '../domain';
|
|
6
5
|
import { CollectionTarget } from './CollectionTarget';
|
|
7
|
-
|
|
6
|
+
import { ICollectionRepository } from './ICollectionRepository';
|
|
7
|
+
export declare class CollectionRepository implements ICollectionRepository {
|
|
8
8
|
readonly editorApi: EditorApiClient;
|
|
9
9
|
constructor(editorApi: EditorApiClient);
|
|
10
|
-
load(args: CollectionTarget.WithEventBus): Promise<
|
|
11
|
-
|
|
12
|
-
|
|
10
|
+
load(args: CollectionTarget.WithEventBus): Promise<{
|
|
11
|
+
collection: Collection | undefined;
|
|
12
|
+
group: import("../domain").CollectionGroup;
|
|
13
|
+
} | undefined>;
|
|
14
|
+
createRaw(args: ICollectionRepository.CreateRaw.Args): Promise<Schema.Collection.Data.AsGroup>;
|
|
15
|
+
create({ eventBus, ...args }: ICollectionRepository.Create.Args): Promise<{
|
|
16
|
+
collection: Collection | undefined;
|
|
17
|
+
group: import("../domain").CollectionGroup;
|
|
18
|
+
}>;
|
|
19
|
+
createLanguage(args: ICollectionRepository.CreateLang.Args): Promise<{
|
|
20
|
+
collection: Collection | undefined;
|
|
21
|
+
group: import("../domain").CollectionGroup;
|
|
22
|
+
}>;
|
|
13
23
|
save(collection: Collection): Promise<Collection>;
|
|
14
24
|
unpublish(collection: Collection): Promise<void>;
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
}
|
|
21
|
-
export declare namespace CollectionRepository {
|
|
22
|
-
type CreateNewArgs = Omit<CollectionClient.Create.NewArgs, 'brand' | 'type' | 'version'> & Pick<Collection.ConstructorArgs, 'template'> & {
|
|
23
|
-
eventBus?: EventBus;
|
|
24
|
-
};
|
|
25
|
-
type CreateLanguageArgs = Omit<CollectionClient.Create.NewLanguageArgs, 'brand'> & Pick<Collection.ConstructorArgs, 'template'> & {
|
|
26
|
-
eventBus: EventBus;
|
|
27
|
-
};
|
|
28
|
-
type Savable = FieldModel;
|
|
25
|
+
getOverview(args: ICollectionRepository.GetOverview.Args): Promise<ICollectionRepository.GetOverview.Result>;
|
|
26
|
+
getItems(args: ICollectionRepository.GetItems.Args): Promise<ICollectionRepository.GetItems.Result>;
|
|
27
|
+
get(args: ICollectionRepository.Get.Args): Promise<ICollectionRepository.Get.Result>;
|
|
28
|
+
update(args: ICollectionRepository.Update.Args): Promise<ICollectionRepository.Update.Result>;
|
|
29
|
+
serializeUpdate(collection: Collection | CollectionFieldProxy, savables: ICollection.Savable[]): UpdateCollectionCommand.Data;
|
|
29
30
|
}
|