correct parsing props to bulk actions

This commit is contained in:
Niels Lyngsø
2023-10-09 16:03:37 +02:00
parent 538e143909
commit 8ebe2a4be1
5 changed files with 16 additions and 9 deletions

View File

@@ -18,8 +18,8 @@ export class UmbActionBase<RepositoryType> {
if (!repositoryManifest) return;
try {
const result = await createExtensionApi<RepositoryType>(repositoryManifest, [this.host]);
this.repository = result;
const result = await createExtensionApi(repositoryManifest, [this.host]);
this.repository = result as RepositoryType;
} catch (error) {
throw new Error('Could not create repository with alias: ' + repositoryAlias + '');
}

View File

@@ -13,6 +13,11 @@ export class UmbCollectionSelectionActionsElement extends UmbLitElement {
@state()
private _selectionLength = 0;
@state()
private _extensionProps = {};
private _selection: Array<string> = [];
private _collectionContext?: UmbCollectionContext<any, any>;
constructor() {
@@ -43,6 +48,8 @@ export class UmbCollectionSelectionActionsElement extends UmbLitElement {
this.observe(this._collectionContext.selection, (selection) => {
this._selectionLength = selection.length;
this._selection = selection;
this._extensionProps = {'selection': this._selection};
}, 'observeSelection');
}
@@ -68,7 +75,7 @@ export class UmbCollectionSelectionActionsElement extends UmbLitElement {
${this._renderSelectionCount()}
</div>
<umb-extension-slot id="actions" type="entityBulkAction" default-element="umb-entity-bulk-action" @action-executed=${this.#onActionExecuted}>
<umb-extension-slot id="actions" type="entityBulkAction" default-element="umb-entity-bulk-action" .props=${this._extensionProps} @action-executed=${this.#onActionExecuted}>
</umb-extension-slot>
</div>
`;

View File

@@ -47,8 +47,8 @@ export class UmbCollectionContext<ItemType, FilterModelType extends UmbCollectio
umbExtensionsRegistry.getByTypeAndAlias('repository', repositoryAlias),
async (repositoryManifest) => {
if (repositoryManifest) {
const result = await createExtensionApi<UmbCollectionRepository>(repositoryManifest, [this._host]);
this.repository = result;
const result = await createExtensionApi(repositoryManifest, [this._host]);
this.repository = result as UmbCollectionRepository;
this._onRepositoryReady();
}
}

View File

@@ -159,8 +159,8 @@ export class UmbTreeContextBase<TreeItemType extends TreeItemPresentationModel>
if (!repositoryManifest) return;
try {
const result = await createExtensionApi<UmbTreeRepository<TreeItemType>>(repositoryManifest, [this._host]);
this.repository = result;
const result = await createExtensionApi(repositoryManifest, [this._host]);
this.repository = result as UmbTreeRepository<TreeItemType>;
this.#checkIfInitialized();
} catch (error) {
throw new Error('Could not create repository with alias: ' + repositoryAlias + '');

View File

@@ -31,8 +31,8 @@ export class UmbUserGroupPickerModalElement extends UmbModalBaseElement<any, any
if (!repositoryManifest) return;
try {
const result = await createExtensionApi<UmbUserGroupRepository>(repositoryManifest, [this]);
this.#userGroupRepository = result;
const result = await createExtensionApi(repositoryManifest, [this]);
this.#userGroupRepository = result as UmbUserGroupRepository;
this.#observeUserGroups();
} catch (error) {
throw new Error('Could not create repository with alias: Umb.Repository.User');