Skip to content
Snippets Groups Projects
index.js 1.26 KiB
Newer Older
  • Learn to ignore specific revisions
  • import Component from '@glimmer/component';
    import { action } from '@ember/object';
    
    
    import { get_pos_within_siblings } from 'papermerge/utils/dom';
    
    
    
    export default class ViewerThumbnailComponent extends Component {
    
      @action
      onDblClick() {
        this.args.onDblClick(this.args.page);
      }
    
    Eugen Ciur's avatar
    Eugen Ciur committed
    
      @action
      onCheckboxChange(event) {
        let is_checked = event.target.checked;
    
        this.args.onCheckboxChange({
          page: this.args.page,
          is_selected: is_checked
        });
      }
    
    
    Eugen Ciur's avatar
    Eugen Ciur committed
      @action
      onDragStart({event, model, items, canvas, element}) {
    
        let data, original_pos;
    
        original_pos = get_pos_within_siblings(element);
    
        console.log(`OnDragStart: original_pos = ${original_pos}`);
    
    Eugen Ciur's avatar
    Eugen Ciur committed
        data = {
          pages: items,
    
          page: model,
          original_pos: original_pos
    
    Eugen Ciur's avatar
    Eugen Ciur committed
        };
    
        event.dataTransfer.setData(
          'application/x.page',
          JSON.stringify(data)
        );
    
        event.dataTransfer.setDragImage(canvas, 0, -15);
      }
    
    
    Eugen Ciur's avatar
    Eugen Ciur committed
      get is_selected() {
        let page = this.args.page,
          selected_page_ids;
    
        if (!this.args.selectedPages) {
          return false;
        }
    
        selected_page_ids = this.args.selectedPages.map(
          page => page.id
        );
    
        if (selected_page_ids.includes(page.id)) {
          return true;
        }
    
        return false;
      }
    
    
      set is_selected(value) {
    
      }
    
    Eugen Ciur's avatar
    Eugen Ciur committed
    }