diff --git a/resources/assets/js/label-trees/components/labelTree.vue b/resources/assets/js/label-trees/components/labelTree.vue index 13f5f5f4c..dc9b8640b 100644 --- a/resources/assets/js/label-trees/components/labelTree.vue +++ b/resources/assets/js/label-trees/components/labelTree.vue @@ -43,6 +43,7 @@ :flat="flat" :showFavouriteShortcuts="showFavouriteShortcuts" :position="index" + :can-have-more-favourites="canHaveMoreFavourites" @select="emitSelect" @deselect="emitDeselect" @save="emitSave" @@ -149,6 +150,10 @@ export default { type: Boolean, default: false, }, + canHaveMoreFavourites: { + type: Boolean, + default: true, + }, }, computed: { labelMap() { diff --git a/resources/assets/js/label-trees/components/labelTreeLabel.vue b/resources/assets/js/label-trees/components/labelTreeLabel.vue index 5f19b4abf..05d476b6a 100644 --- a/resources/assets/js/label-trees/components/labelTreeLabel.vue +++ b/resources/assets/js/label-trees/components/labelTreeLabel.vue @@ -16,7 +16,7 @@ - @@ -28,7 +28,7 @@ @@ -87,6 +87,10 @@ export default { type: Number, default:-1, }, + canHaveMoreFavourites: { + type: Boolean, + default: true, + }, }, computed: { showColor() { @@ -121,8 +125,15 @@ export default { }; }, favouriteTitle() { + if (this.cantBeAddedAsFavourite) { + return `You cannot add more than ${MAX_FAVOURITES} favourite labels`; + } + return (this.label.favourite ? 'Remove' : 'Add') + ' as favourite'; }, + cantBeAddedAsFavourite() { + return !this.label.favourite && !this.canHaveMoreFavourites; + }, editTitle() { return 'Edit label ' + this.label.name; }, diff --git a/resources/assets/js/label-trees/components/labelTrees.vue b/resources/assets/js/label-trees/components/labelTrees.vue index e726f1672..12b04d954 100644 --- a/resources/assets/js/label-trees/components/labelTrees.vue +++ b/resources/assets/js/label-trees/components/labelTrees.vue @@ -49,6 +49,7 @@ :allow-select-children="allowSelectChildren" :show-favourites="showFavourites" :collapsible="collapsible" + :can-have-more-favourites="canHaveMoreFavourites" @select="handleSelect" @deselect="handleDeselect" @add-favourite="handleAddFavourite" diff --git a/resources/assets/sass/label-trees/components/_labelTreeLabel.scss b/resources/assets/sass/label-trees/components/_labelTreeLabel.scss index 30827c659..04faddf46 100644 --- a/resources/assets/sass/label-trees/components/_labelTreeLabel.scss +++ b/resources/assets/sass/label-trees/components/_labelTreeLabel.scss @@ -104,4 +104,9 @@ pointer-events: none; } + .label-tree-label__favourite:disabled { + color: $gray-light; + cursor: not-allowed; + } + } diff --git a/resources/assets/sass/label-trees/components/_labelTrees.scss b/resources/assets/sass/label-trees/components/_labelTrees.scss index 3d01d13d0..e92914aea 100644 --- a/resources/assets/sass/label-trees/components/_labelTrees.scss +++ b/resources/assets/sass/label-trees/components/_labelTrees.scss @@ -11,7 +11,12 @@ .label-trees__body { flex: 1; - overflow: auto; + overflow-y: scroll; + scrollbar-width: none; + + &::-webkit-scrollbar { + display: none; + } } .typeahead {