Commit 8d93746d authored by Marcelo Rivera's avatar Marcelo Rivera

(feat): make use of the drag lock from ngx-drag-drop

parent 7394de2c
No related merge requests found
Pipeline #97081573 failed with stages
in 3 minutes and 48 seconds
......@@ -107,7 +107,7 @@ import { ChannelModeSelectorComponent } from './components/channel-mode-selector
import { ShareModalComponent } from '../modules/modals/share/share';
import { RouterHistoryService } from './services/router-history.service';
import { DraggableListComponent } from './components/draggable-list/list.component';
import { DndModule } from 'ngx-drag-drop';
import { DndModule } from 'ngx-drag-drop/dist';
import { SiteService } from './services/site.service';
import { MarketingComponent } from './components/marketing/marketing.component';
import { MarketingFooterComponent } from './components/marketing/footer.component';
......
import { Component, ContentChild, Input, TemplateRef } from '@angular/core';
import { DndDropEvent, EffectAllowed } from 'ngx-drag-drop';
import {
AfterViewInit,
Component,
ContentChild,
ElementRef,
Input,
TemplateRef,
ViewChild,
} from '@angular/core';
import {
DndDraggableDirective,
DndDropEvent,
EffectAllowed,
} from 'ngx-drag-drop/dist';
@Component({
selector: 'm-draggable-list',
......@@ -36,6 +48,9 @@ export class DraggableListComponent {
@Input() data: Array<any>;
@Input() dndEffectAllowed: EffectAllowed = 'copyMove';
@Input() id: string;
@ViewChild(DndDraggableDirective, { static: false })
draggableDirective: DndDraggableDirective;
@ContentChild(TemplateRef, { static: false }) template: TemplateRef<any>;
trackByFunction(index, item) {
......@@ -62,4 +77,8 @@ export class DraggableListComponent {
this.data.splice(dropIndex, 0, event.data);
}
}
toggleDraggable(value: boolean, event: any) {
this.draggableDirective.toggleDragLock(!value, event.target);
}
}
......@@ -294,7 +294,11 @@
Set up your category filter hashtags here.
</p>
<m-draggable-list [data]="settings.tag_list" [id]="'tag'">
<m-draggable-list
[data]="settings.tag_list"
[id]="'tag'"
#tagsList
>
<ng-template let-tag="item" let-i="i">
<div class="m-proSettings__field">
<label i18n> Hashtag #{{ i + 1 }} </label>
......@@ -306,6 +310,8 @@
[id]="'tag-label-' + i"
[name]="'tag[' + i + '][label]'"
[(ngModel)]="tag.label"
(focusin)="tagsList.toggleDraggable(false, $event)"
(focusout)="tagsList.toggleDraggable(true, $event)"
/>
<input
......@@ -314,6 +320,8 @@
[id]="'tag-tag-' + i"
[name]="'tag[' + i + '][tag]'"
[(ngModel)]="tag.tag"
(focusin)="tagsList.toggleDraggable(false, $event)"
(focusout)="tagsList.toggleDraggable(true, $event)"
/>
<i class="material-icons" (click)="removeTag(i)">
......@@ -354,7 +362,11 @@
/>
</div>
<m-draggable-list [data]="settings.footer_links" [id]="'title'">
<m-draggable-list
[data]="settings.footer_links"
[id]="'title'"
#footerList
>
<ng-template let-link="item" let-i="i">
<div class="m-proSettings__field">
<label i18n> Link #{{ i + 1 }} </label>
......@@ -366,6 +378,8 @@
[id]="'footer_link-title-' + i"
[name]="'footer_link[' + i + '][title]'"
[(ngModel)]="link.title"
(focusin)="footerList.toggleDraggable(false, $event)"
(focusout)="footerList.toggleDraggable(true, $event)"
/>
<input
......@@ -374,6 +388,8 @@
[id]="'footer_link-href-' + i"
[name]="'footer_link[' + i + '][href]'"
[(ngModel)]="link.href"
(focusin)="footerList.toggleDraggable(false, $event)"
(focusout)="footerList.toggleDraggable(true, $event)"
/>
<i class="material-icons" (click)="removeFooterLink(i)">
......
Please register or to comment