@vendure/admin-ui 1.3.0 → 1.3.4
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/bundles/vendure-admin-ui-catalog.umd.js +25 -13
- package/bundles/vendure-admin-ui-catalog.umd.js.map +1 -1
- package/bundles/vendure-admin-ui-core.umd.js +65 -31
- package/bundles/vendure-admin-ui-core.umd.js.map +1 -1
- package/bundles/vendure-admin-ui-dashboard.umd.js.map +1 -1
- package/catalog/components/collection-tree/collection-tree-node.component.d.ts +5 -4
- package/catalog/components/collection-tree/collection-tree.component.d.ts +11 -0
- package/catalog/vendure-admin-ui-catalog.metadata.json +1 -1
- package/core/common/generated-types.d.ts +4 -4
- package/core/common/version.d.ts +1 -1
- package/core/shared/components/channel-assignment-control/channel-assignment-control.component.d.ts +2 -0
- package/core/shared/components/currency-input/currency-input.component.d.ts +6 -3
- package/core/vendure-admin-ui-core.metadata.json +1 -1
- package/esm2015/catalog/components/collection-tree/array-to-tree.js +1 -1
- package/esm2015/catalog/components/collection-tree/collection-tree-node.component.js +4 -14
- package/esm2015/catalog/components/collection-tree/collection-tree.component.js +23 -1
- package/esm2015/core/common/generated-types.js +1 -1
- package/esm2015/core/common/introspection-result.js +1 -1
- package/esm2015/core/common/version.js +2 -2
- package/esm2015/core/data/data.module.js +1 -1
- package/esm2015/core/shared/components/channel-assignment-control/channel-assignment-control.component.js +36 -22
- package/esm2015/core/shared/components/currency-input/currency-input.component.js +26 -7
- package/esm2015/core/shared/components/object-tree/object-tree.component.js +3 -3
- package/esm2015/dashboard/widgets/welcome-widget/welcome-widget.component.js +1 -1
- package/fesm2015/vendure-admin-ui-catalog.js +25 -13
- package/fesm2015/vendure-admin-ui-catalog.js.map +1 -1
- package/fesm2015/vendure-admin-ui-core.js +63 -30
- package/fesm2015/vendure-admin-ui-core.js.map +1 -1
- package/fesm2015/vendure-admin-ui-dashboard.js.map +1 -1
- package/package.json +2 -2
- package/static/vendure-ui-config.json +1 -1
|
@@ -3598,10 +3598,12 @@
|
|
|
3598
3598
|
this.expandAll = false;
|
|
3599
3599
|
this.rearrange = new i0.EventEmitter();
|
|
3600
3600
|
this.deleteCollection = new i0.EventEmitter();
|
|
3601
|
+
this.allMoveListItems = [];
|
|
3601
3602
|
}
|
|
3602
3603
|
CollectionTreeComponent.prototype.ngOnChanges = function (changes) {
|
|
3603
3604
|
if ('collections' in changes && this.collections) {
|
|
3604
3605
|
this.collectionTree = arrayToTree(this.collections, this.collectionTree);
|
|
3606
|
+
this.allMoveListItems = [];
|
|
3605
3607
|
}
|
|
3606
3608
|
};
|
|
3607
3609
|
CollectionTreeComponent.prototype.onDrop = function (event) {
|
|
@@ -3623,6 +3625,26 @@
|
|
|
3623
3625
|
CollectionTreeComponent.prototype.onDelete = function (id) {
|
|
3624
3626
|
this.deleteCollection.emit(id);
|
|
3625
3627
|
};
|
|
3628
|
+
CollectionTreeComponent.prototype.getMoveListItems = function (collection) {
|
|
3629
|
+
if (this.allMoveListItems.length === 0) {
|
|
3630
|
+
this.allMoveListItems = this.calculateAllMoveListItems();
|
|
3631
|
+
}
|
|
3632
|
+
return this.allMoveListItems.filter(function (item) {
|
|
3633
|
+
var _a;
|
|
3634
|
+
return item.id !== collection.id &&
|
|
3635
|
+
!item.ancestorIdPath.has(collection.id) &&
|
|
3636
|
+
item.id !== ((_a = collection.parent) === null || _a === void 0 ? void 0 : _a.id);
|
|
3637
|
+
});
|
|
3638
|
+
};
|
|
3639
|
+
CollectionTreeComponent.prototype.calculateAllMoveListItems = function () {
|
|
3640
|
+
var visit = function (node, parentPath, ancestorIdPath, output) {
|
|
3641
|
+
var path = parentPath.concat(node.name);
|
|
3642
|
+
output.push({ path: path.slice(1).join(' / ') || 'root', id: node.id, ancestorIdPath: ancestorIdPath });
|
|
3643
|
+
node.children.forEach(function (child) { return visit(child, path, new Set(__spreadArray(__spreadArray([], __read(ancestorIdPath)), [node.id])), output); });
|
|
3644
|
+
return output;
|
|
3645
|
+
};
|
|
3646
|
+
return visit(this.collectionTree, [], new Set(), []);
|
|
3647
|
+
};
|
|
3626
3648
|
CollectionTreeComponent.prototype.isRootNode = function (node) {
|
|
3627
3649
|
return !node.hasOwnProperty('parent');
|
|
3628
3650
|
};
|
|
@@ -3651,6 +3673,7 @@
|
|
|
3651
3673
|
this.dataService = dataService;
|
|
3652
3674
|
this.depth = 0;
|
|
3653
3675
|
this.expandAll = false;
|
|
3676
|
+
this.moveListItems = [];
|
|
3654
3677
|
if (parent) {
|
|
3655
3678
|
this.depth = parent.depth + 1;
|
|
3656
3679
|
}
|
|
@@ -3676,18 +3699,7 @@
|
|
|
3676
3699
|
return item.id;
|
|
3677
3700
|
};
|
|
3678
3701
|
CollectionTreeNodeComponent.prototype.getMoveListItems = function (collection) {
|
|
3679
|
-
|
|
3680
|
-
if (node.id !== collection.id) {
|
|
3681
|
-
var path_1 = parentPath.concat(node.name);
|
|
3682
|
-
var parentId = collection.parent && collection.parent.id;
|
|
3683
|
-
if (node.id !== parentId) {
|
|
3684
|
-
output.push({ path: path_1.slice(1).join(' / ') || 'root', id: node.id });
|
|
3685
|
-
}
|
|
3686
|
-
node.children.forEach(function (child) { return visit(child, path_1, output); });
|
|
3687
|
-
}
|
|
3688
|
-
return output;
|
|
3689
|
-
};
|
|
3690
|
-
return visit(this.root.collectionTree, [], []);
|
|
3702
|
+
this.moveListItems = this.root.getMoveListItems(collection);
|
|
3691
3703
|
};
|
|
3692
3704
|
CollectionTreeNodeComponent.prototype.move = function (collection, parentId) {
|
|
3693
3705
|
this.root.onMove({
|
|
@@ -3728,7 +3740,7 @@
|
|
|
3728
3740
|
CollectionTreeNodeComponent.decorators = [
|
|
3729
3741
|
{ type: i0.Component, args: [{
|
|
3730
3742
|
selector: 'vdr-collection-tree-node',
|
|
3731
|
-
template: "<div\r\n cdkDropList\r\n class=\"tree-node\"\r\n #dropList\r\n [cdkDropListData]=\"collectionTree\"\r\n [cdkDropListDisabled]=\"!(hasUpdatePermission$ | async)\"\r\n (cdkDropListDropped)=\"drop($event)\"\r\n>\r\n <div\r\n class=\"collection\"\r\n [class.private]=\"collection.isPrivate\"\r\n *ngFor=\"let collection of collectionTree.children; index as i; trackBy: trackByFn\"\r\n cdkDrag\r\n [cdkDragData]=\"collection\"\r\n >\r\n <div\r\n class=\"collection-detail\"\r\n [ngClass]=\"'depth-' + depth\"\r\n [class.active]=\"collection.id === activeCollectionId\"\r\n >\r\n <div class=\"name\">\r\n <button\r\n class=\"icon-button folder-button\"\r\n [disabled]=\"expandAll\"\r\n *ngIf=\"collection.children?.length; else folderSpacer\"\r\n (click)=\"collection.expanded = !collection.expanded\"\r\n >\r\n <clr-icon shape=\"folder\" *ngIf=\"!collection.expanded && !expandAll\"></clr-icon>\r\n <clr-icon shape=\"folder-open\" *ngIf=\"collection.expanded || expandAll\"></clr-icon>\r\n </button>\r\n <ng-template #folderSpacer>\r\n <div class=\"folder-button-spacer\"></div>\r\n </ng-template>\r\n {{ collection.name }}\r\n </div>\r\n <div class=\"flex-spacer\"></div>\r\n <vdr-chip *ngIf=\"collection.isPrivate\">{{ 'catalog.private' | translate }}</vdr-chip>\r\n <a\r\n class=\"btn btn-link btn-sm\"\r\n [routerLink]=\"['./', { contents: collection.id }]\"\r\n queryParamsHandling=\"preserve\"\r\n >\r\n <clr-icon shape=\"view-list\"></clr-icon>\r\n {{ 'catalog.view-contents' | translate }}\r\n </a>\r\n <a class=\"btn btn-link btn-sm\" [routerLink]=\"['/catalog/collections/', collection.id]\">\r\n <clr-icon shape=\"edit\"></clr-icon>\r\n {{ 'common.edit' | translate }}\r\n </a>\r\n <div class=\"drag-handle\" cdkDragHandle *vdrIfPermissions=\"['UpdateCatalog', 'UpdateCollection']\">\r\n <clr-icon shape=\"drag-handle\" size=\"24\"></clr-icon>\r\n </div>\r\n <vdr-dropdown>\r\n <button class=\"icon-button\" vdrDropdownTrigger>\r\n <clr-icon shape=\"ellipsis-vertical\"></clr-icon>\r\n </button>\r\n <vdr-dropdown-menu vdrPosition=\"bottom-right\">\r\n <a\r\n class=\"dropdown-item\"\r\n [routerLink]=\"['./', 'create', { parentId: collection.id }]\"\r\n *vdrIfPermissions=\"['CreateCatalog', 'CreateCollection']\"\r\n >\r\n <clr-icon shape=\"plus\"></clr-icon>\r\n {{ 'catalog.create-new-collection' | translate }}\r\n </a>\r\n <div class=\"dropdown-divider\"></div>\r\n <button\r\n type=\"button\"\r\n vdrDropdownItem\r\n [disabled]=\"i === 0 || !(hasUpdatePermission$ | async)\"\r\n (click)=\"moveUp(collection, i)\"\r\n >\r\n <clr-icon shape=\"caret up\"></clr-icon>\r\n {{ 'catalog.move-up' | translate }}\r\n </button>\r\n <button\r\n type=\"button\"\r\n vdrDropdownItem\r\n [disabled]=\"\r\n i === collectionTree.children.length - 1 || !(hasUpdatePermission$ | async)\r\n \"\r\n (click)=\"moveDown(collection, i)\"\r\n >\r\n <clr-icon shape=\"caret down\"></clr-icon>\r\n {{ 'catalog.move-down' | translate }}\r\n </button>\r\n <h4 class=\"dropdown-header\">{{ 'catalog.move-to' | translate }}</h4>\r\n <button\r\n type=\"button\"\r\n vdrDropdownItem\r\n *ngFor=\"let item of
|
|
3743
|
+
template: "<div\r\n cdkDropList\r\n class=\"tree-node\"\r\n #dropList\r\n [cdkDropListData]=\"collectionTree\"\r\n [cdkDropListDisabled]=\"!(hasUpdatePermission$ | async)\"\r\n (cdkDropListDropped)=\"drop($event)\"\r\n>\r\n <div\r\n class=\"collection\"\r\n [class.private]=\"collection.isPrivate\"\r\n *ngFor=\"let collection of collectionTree.children; index as i; trackBy: trackByFn\"\r\n cdkDrag\r\n [cdkDragData]=\"collection\"\r\n >\r\n <div\r\n class=\"collection-detail\"\r\n [ngClass]=\"'depth-' + depth\"\r\n [class.active]=\"collection.id === activeCollectionId\"\r\n >\r\n <div class=\"name\">\r\n <button\r\n class=\"icon-button folder-button\"\r\n [disabled]=\"expandAll\"\r\n *ngIf=\"collection.children?.length; else folderSpacer\"\r\n (click)=\"collection.expanded = !collection.expanded\"\r\n >\r\n <clr-icon shape=\"folder\" *ngIf=\"!collection.expanded && !expandAll\"></clr-icon>\r\n <clr-icon shape=\"folder-open\" *ngIf=\"collection.expanded || expandAll\"></clr-icon>\r\n </button>\r\n <ng-template #folderSpacer>\r\n <div class=\"folder-button-spacer\"></div>\r\n </ng-template>\r\n {{ collection.name }}\r\n </div>\r\n <div class=\"flex-spacer\"></div>\r\n <vdr-chip *ngIf=\"collection.isPrivate\">{{ 'catalog.private' | translate }}</vdr-chip>\r\n <a\r\n class=\"btn btn-link btn-sm\"\r\n [routerLink]=\"['./', { contents: collection.id }]\"\r\n queryParamsHandling=\"preserve\"\r\n >\r\n <clr-icon shape=\"view-list\"></clr-icon>\r\n {{ 'catalog.view-contents' | translate }}\r\n </a>\r\n <a class=\"btn btn-link btn-sm\" [routerLink]=\"['/catalog/collections/', collection.id]\">\r\n <clr-icon shape=\"edit\"></clr-icon>\r\n {{ 'common.edit' | translate }}\r\n </a>\r\n <div class=\"drag-handle\" cdkDragHandle *vdrIfPermissions=\"['UpdateCatalog', 'UpdateCollection']\">\r\n <clr-icon shape=\"drag-handle\" size=\"24\"></clr-icon>\r\n </div>\r\n <vdr-dropdown>\r\n <button class=\"icon-button\" vdrDropdownTrigger (click)=\"getMoveListItems(collection)\">\r\n <clr-icon shape=\"ellipsis-vertical\"></clr-icon>\r\n </button>\r\n <vdr-dropdown-menu vdrPosition=\"bottom-right\">\r\n <a\r\n class=\"dropdown-item\"\r\n [routerLink]=\"['./', 'create', { parentId: collection.id }]\"\r\n *vdrIfPermissions=\"['CreateCatalog', 'CreateCollection']\"\r\n >\r\n <clr-icon shape=\"plus\"></clr-icon>\r\n {{ 'catalog.create-new-collection' | translate }}\r\n </a>\r\n <div class=\"dropdown-divider\"></div>\r\n <button\r\n type=\"button\"\r\n vdrDropdownItem\r\n [disabled]=\"i === 0 || !(hasUpdatePermission$ | async)\"\r\n (click)=\"moveUp(collection, i)\"\r\n >\r\n <clr-icon shape=\"caret up\"></clr-icon>\r\n {{ 'catalog.move-up' | translate }}\r\n </button>\r\n <button\r\n type=\"button\"\r\n vdrDropdownItem\r\n [disabled]=\"\r\n i === collectionTree.children.length - 1 || !(hasUpdatePermission$ | async)\r\n \"\r\n (click)=\"moveDown(collection, i)\"\r\n >\r\n <clr-icon shape=\"caret down\"></clr-icon>\r\n {{ 'catalog.move-down' | translate }}\r\n </button>\r\n <h4 class=\"dropdown-header\">{{ 'catalog.move-to' | translate }}</h4>\r\n <button\r\n type=\"button\"\r\n vdrDropdownItem\r\n *ngFor=\"let item of moveListItems\"\r\n (click)=\"move(collection, item.id)\"\r\n [disabled]=\"!(hasUpdatePermission$ | async)\"\r\n >\r\n <div class=\"move-to-item\">\r\n <div class=\"move-icon\">\r\n <clr-icon shape=\"child-arrow\"></clr-icon>\r\n </div>\r\n <div class=\"path\">\r\n {{ item.path }}\r\n </div>\r\n </div>\r\n </button>\r\n <div class=\"dropdown-divider\"></div>\r\n <button\r\n class=\"button\"\r\n vdrDropdownItem\r\n (click)=\"delete(collection.id)\"\r\n [disabled]=\"!(hasDeletePermission$ | async)\"\r\n >\r\n <clr-icon shape=\"trash\" class=\"is-danger\"></clr-icon>\r\n {{ 'common.delete' | translate }}\r\n </button>\r\n </vdr-dropdown-menu>\r\n </vdr-dropdown>\r\n </div>\r\n <vdr-collection-tree-node\r\n *ngIf=\"collection.expanded || expandAll\"\r\n [expandAll]=\"expandAll\"\r\n [collectionTree]=\"collection\"\r\n [activeCollectionId]=\"activeCollectionId\"\r\n ></vdr-collection-tree-node>\r\n </div>\r\n</div>\r\n",
|
|
3732
3744
|
changeDetection: i0.ChangeDetectionStrategy.OnPush,
|
|
3733
3745
|
styles: [":host{display:block}.collection{background-color:var(--color-component-bg-100);font-size:.65rem;transition:transform .25s cubic-bezier(0,0,.2,1);margin-bottom:2px;border-left:2px solid transparent;transition:border-left-color .2s}.collection.private{background-color:var(--color-component-bg-200)}.collection .collection-detail{padding:6px 12px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--color-component-border-100)}.collection .collection-detail.active{background-color:var(--clr-global-selection-color)}.collection .collection-detail.depth-1{padding-left:36px}.collection .collection-detail.depth-2{padding-left:60px}.collection .collection-detail.depth-3{padding-left:84px}.collection .collection-detail.depth-4{padding-left:108px}.collection .collection-detail .folder-button-spacer{display:inline-block;width:28px}.tree-node{display:block;background:var(--color-component-bg-100);overflow:hidden}.tree-node.cdk-drop-list-dragging>.collection{border-left-color:var(--color-primary-300)}.drag-placeholder{min-height:120px;background-color:var(--color-component-bg-300);transition:transform .25s cubic-bezier(0,0,.2,1)}.cdk-drag-preview{box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.example-list.cdk-drop-list-dragging .tree-node:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}.move-to-item{display:flex;white-space:normal;align-items:baseline}.move-to-item .move-icon{flex:none;margin-right:3px}.move-to-item .path{line-height:18px}\n"]
|
|
3734
3746
|
},] }
|