Sha256: 47e3668b29675e9462174bf03083df2f13609735003c02cca1c055d00348d721

Contents?: true

Size: 1.05 KB

Versions: 7

Compression:

Stored size: 1.05 KB

Contents

pageflow.sitemap.layout.LinkDraggingDecorator = function(selection, layout, options) {
  var decorator = function() {
    var targetPage, targetChapter;

    if (options.dragPosition) {
      targetPage = layout.pageFromPoint(options.dragPosition);

      this.chapterPlaceholder = layout.freeGridCellFromPoint(options.dragPosition);
    }

    this.linkTarget = function(page, link) {
      if (selection.contains(link) && options.dragPosition) {
        if (targetPage) {
          return layout.linkTarget(targetPage, link);
        }

        if (this.chapterPlaceholder) {
          return this.chapterPlaceholder;
        }

        return {
          x: options.dragPosition.x,
          y: options.dragPosition.y,
          width: 0,
          height: 0
        };
      }
      else {
        return layout.linkTarget(page, link);
      }
    };

    this.isDragging = function(target) {
      return (options.dragPosition && selection.contains(target)) ||
        layout.isDragging(target);
    };

  };

  decorator.prototype = layout;
  return new decorator();
};

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
pageflow-sitemap-1.5.0 app/assets/javascripts/pageflow/sitemap/editor/d3/layout/link_dragging_decorator.js
pageflow-sitemap-1.4.0 app/assets/javascripts/pageflow/sitemap/editor/d3/layout/link_dragging_decorator.js
pageflow-sitemap-1.3.0 app/assets/javascripts/pageflow/sitemap/editor/d3/layout/link_dragging_decorator.js
pageflow-sitemap-1.2.0 app/assets/javascripts/pageflow/sitemap/editor/d3/layout/link_dragging_decorator.js
pageflow-sitemap-1.1.0 app/assets/javascripts/pageflow/sitemap/editor/d3/layout/link_dragging_decorator.js
pageflow-sitemap-1.0.0 app/assets/javascripts/pageflow/sitemap/editor/d3/layout/link_dragging_decorator.js
pageflow-sitemap-0.1.0 app/assets/javascripts/pageflow/sitemap/editor/d3/layout/link_dragging_decorator.js