How we can use drag n drop service for diagram using bower bundle bpmn-js?

I am trying to invoke Dragging capability from bmpn-viewer-custom.js but i see error Error: No provider for "Dragging"! (Resolving: Dragging) it pops up this error when I use drag function Can someone please help on this how we can achieve drag n drop using bower bundle ?


var BpmnViewer = window.BpmnJS;

    var bpmnModeler = new BpmnViewer({
      container: '#canvas',
        parent: '#js-properties-panel'
        elementTemplates: elementTemplates

$scope.dragDiagram= function(){

The Viewer does not contain the dragging functionality.

You may bundle it yourself in a custom bower bundle.

Coordinates of the Dragging service and module: diagram-js/lib/features/dragging.

Thanks for your quick response, we have added dragging module as you can see below we are still not able to invoke Dragging module , can you please provide some example or hint how to use Dragging module in custom.js and client side.


var camundaModdleDescriptor = require('camunda-bpmn-moddle/resources/camunda');

var additionalModules = [

  // 1. require camunda provider instead of the bpmn one (!)

BpmnViewer.prototype._modules = BpmnViewer.prototype._modules.concat(additionalModules);

// 2. include camunda moddle descriptor
BpmnViewer.prototype._moddleExtensions = { camunda: camundaModdleDescriptor };
//BpmnViewer.prototype.elementTemplates = { camunda: elementTemplates };


$scope.startDrag = function(){

The dragging service instance is published with the name dragging.

Lower + camel case is the naming convention for service names.