// Copyright (C) 2016 Sergey Akopkokhyants
// This project is licensed under the terms of the MIT license.
// https://github.com/akserg/ng2-dnd

import {Injectable, ElementRef, EventEmitter} from '@angular/core';

import {DragDropConfig} from './dnd.config';
import {isPresent} from './dnd.utils';
import {SortableContainer} from './sortable.component';

export interface DragDropData {
    dragData: any;
    mouseEvent: MouseEvent;
}

@Injectable()
export class DragDropService {
    allowedDropZones: Array<string> = [];
    onDragSuccessCallback: EventEmitter<DragDropData>;
    dragData: any;
    isDragged: boolean;
}

@Injectable()
export class DragDropSortableService {
    index: number;
    sortableContainer: SortableContainer;
    isDragged: boolean;

    private _elem: HTMLElement;
    public get elem(): HTMLElement {
        return this._elem;
    }

    constructor(private _config:DragDropConfig) {}

    markSortable(elem: HTMLElement) {
        if (isPresent(this._elem)) {
            this._elem.classList.remove(this._config.onSortableDragClass);
        }
        if (isPresent(elem)) {
            this._elem = elem;
            this._elem.classList.add(this._config.onSortableDragClass);
        }
    }
}

// Copyright (C) 2016 Sergey Akopkokhyants
// This project is licensed under the terms of the MIT license.
// https://github.com/akserg/ng2-dnd

import {Injectable, ElementRef, EventEmitter} from '@angular/core';

import {DragDropConfig} from './dnd.config';
import {isPresent} from './dnd.utils';
import {SortableContainer} from './dnd.sortable';

export interface DragDropData {
    dragData: any;
    mouseEvent: MouseEvent;
}

@Injectable()
export class DragDropService {
    allowedDropZones: Array<string> = [];
    onDragSuccessCallback: EventEmitter<DragDropData>;
    dragData: any;
    isDragged: boolean;
}

@Injectable()
export class DragDropSortableService {
    index: number;
    sortableContainer: SortableContainer;
    isDragged: boolean;

    private _elem: HTMLElement;
    public get elem(): HTMLElement {
        return this._elem;
    }

    constructor(private _config:DragDropConfig) {}

    markSortable(elem: HTMLElement) {
        if (isPresent(this._elem)) {
            this._elem.classList.remove(this._config.onSortableDragClass);
        }
        if (isPresent(elem)) {
            this._elem = elem;
            this._elem.classList.add(this._config.onSortableDragClass);
        }
    }
}
--- 
+++ 
@@ -6,7 +6,7 @@
 
 import {DragDropConfig} from './dnd.config';
 import {isPresent} from './dnd.utils';
-import {SortableContainer} from './dnd.sortable';
+import {SortableContainer} from './sortable.component';
 
 export interface DragDropData {
     dragData: any;
Fix wrong import (still using old name)
