diff --git a/app/components/commander/context_menu/index.hbs b/app/components/commander/context_menu/index.hbs index 04808b2a34aad219a45e38a33ed3e1500d0fc383..c98e0157999e793e8fd0c98eb43723b8d75edad1 100644 --- a/app/components/commander/context_menu/index.hbs +++ b/app/components/commander/context_menu/index.hbs @@ -1,39 +1,45 @@ <ul class="dropdown-menu context-menu"> <li> - <a class="dropdown-item" {{on "click" @openNewFolderModal }}> + <a class="dropdown-item" + role='button' + {{on "click" @openNewFolderModal }}> <i class="fa fa-plus mx-2"></i>New Folder </a> </li> <li class="dropdown dropdown-submenu dropend"> <div class="dropdown"> - <a class="dropdown-item dropdown-toggle" data-toggle="dropdown"> + <a class="dropdown-item dropdown-toggle" role='button' data-toggle="dropdown"> <i class="fa fa-expand mx-2"></i> Selection </a> <ul class="dropdown-menu dropdown-menu-left"> - <li class="dropdown-item" + <li class="dropdown-item" role='button' {{on "click" this.onSelectAll}}>All</li> - <li class="dropdown-item" + <li class="dropdown-item" role='button' {{on "click" this.onSelectFolders}}>Folders</li> - <li class="dropdown-item" + <li class="dropdown-item" role='button' {{on "click" this.onSelectDocuments}}>Documents</li> - <li class="dropdown-item" + <li class="dropdown-item" role='button' {{on "click" this.onSelectNone}}>None</li> - <li class="dropdown-item" + <li class="dropdown-item" role='button' {{on "click" this.onInvertSelection}}>Invert Selection</li> </ul> </div> </li> {{#if this.one_node_selected}} <li> - <a class="dropdown-item" {{on "click" this.onRename }}> + <a class="dropdown-item" + role='button' + {{on "click" this.onRename }}> <i class="fa fa-edit mx-2"></i>Rename </a> </li> {{/if}} {{#if this.one_or_multiple_nodes_selected}} <li> - <a class="dropdown-item" {{on "click" this.onDownloadNodes}}> + <a class="dropdown-item" + role='button' + {{on "click" this.onDownloadNodes}}> {{#if this.download_in_progress}} <Spinner @inProgress={{this.download_in_progress}} /> {{else}} @@ -44,8 +50,10 @@ </li> <li><hr class="dropdown-divider"></li> <li> - <a class="dropdown-item" {{on "click" @openConfirmDeletionModal}}> - <i class="fa fa-times mx-2"></i>Delete + <a class="dropdown-item" + role='button' + {{on "click" @openConfirmDeletionModal}}> + <i class="bi bi-trash mx-2"></i>Delete </a> </li> {{/if}} diff --git a/app/components/viewer/action_buttons/index.hbs b/app/components/viewer/action_buttons/index.hbs index 88eea1656ee9c6e9d8ffe6ae73bf6e14428ec3a2..4ea435de08bb48a6a95c3f2f69bff0517cabc88f 100644 --- a/app/components/viewer/action_buttons/index.hbs +++ b/app/components/viewer/action_buttons/index.hbs @@ -53,38 +53,34 @@ <ul class="dropdown-menu" aria-expand="false" aria-labelledby="display-mode"> - <li class="dropdown-item"> - <button - class="btn" + <li> + <a class="dropdown-item" role='button' {{on "click" (fn @onRotateClockwise 270)}}> <i class="bi bi-arrow-clockwise"></i> Rotate 90 CW - </button> + </a> </li> - <li class="dropdown-item"> - <button - class="btn" + <li> + <a class="dropdown-item" role='button' {{on "click" (fn @onRotateClockwise 180)}}> <i class="bi bi-arrow-clockwise"></i> Rotate 180 CW - </button> + </a> </li> - - <li class="dropdown-item"> - <button - class="btn" + <li> + <a class="dropdown-item" role='button' {{on "click" (fn @onRotateClockwise 90)}}> <i class="bi bi-arrow-counterclockwise"></i> Rotate 90 CCW - </button> + </a> </li> - <li class="dropdown-item"> - <button - class="btn" + <li><hr class="dropdown-divider"></li> + <li> + <a class="dropdown-item" role='button' {{on "click" @openConfirmDeletionModal}}> - <i class="fa fa-times text-danger"></i> + <i class="bi bi-trash mx-2"></i> Delete Pages - </button> + </a> </li> </ul> {{/if}} diff --git a/app/components/viewer/context_menu/index.hbs b/app/components/viewer/context_menu/index.hbs index 22fd31f0f1e8e634a1c96b0cec360bd7272376ce..cd4f114fefc7205857ea782b48aed0b0f69875f1 100644 --- a/app/components/viewer/context_menu/index.hbs +++ b/app/components/viewer/context_menu/index.hbs @@ -1,19 +1,43 @@ <ul class="dropdown-menu context-menu"> <li> - <a class="dropdown-item" {{on "click" @openRenameDocumentModal}}> + <a class="dropdown-item" {{on "click" @openRenameDocumentModal}} role='button'> <i class="fa fa-edit mx-2"></i>Rename </a> </li> {{#if this.one_or_multiple_pages_selected}} - <li> - <a class="dropdown-item" {{on "click" @onExtractPages}}> - <i class="fa fa-cut mx-2"></i>Extract Pages - </a> + <li><hr class="dropdown-divider"></li> + <li class="dropdown dropdown-submenu dropend"> + <div class="dropdown"> + <a class="dropdown-item dropdown-toggle" role='button' data-toggle="dropdown"> + <i class="bi bi-arrow-clockwise mx-2"></i> + Rotate + </a> + <ul class="dropdown-menu dropdown-menu-left"> + <li> + <a class="dropdown-item" {{on "click" (fn @onRotateClockwise 270)}} role='button'> + <i class="bi bi-arrow-clockwise"></i> + 90° CW + </a> + </li> + <li> + <a class="dropdown-item" {{on "click" (fn @onRotateClockwise 180)}} role='button'> + <i class="bi bi-arrow-clockwise"></i> + 180° CW + </a> + </li> + <li> + <a class="dropdown-item" {{on "click" (fn @onRotateClockwise 90)}} role='button'> + <i class="bi bi-arrow-counterclockwise"></i> + 90° CCW + </a> + </li> + </ul> + </div> </li> <li><hr class="dropdown-divider"></li> <li> - <a class="dropdown-item" {{on "click" @openConfirmDeletionModal}}> - <i class="fa fa-times mx-2"></i>Delete Pages + <a class="dropdown-item" {{on "click" @openConfirmDeletionModal}} role='button'> + <i class="bi bi-trash mx-2"></i>Delete Pages </a> </li> {{/if}} diff --git a/app/components/viewer/index.hbs b/app/components/viewer/index.hbs index e63558b35310cb3ac78fcc138dc830ebb37a72f3..24bad363299f50403251f5055fc8b50937b7fbc6 100644 --- a/app/components/viewer/index.hbs +++ b/app/components/viewer/index.hbs @@ -24,9 +24,9 @@ <Viewer::ContextMenu @selectedPages={{this.selected_pages}} + @onRotateClockwise={{this.onRotateClockwise}} @openRenameDocumentModal={{this.openRenameDocumentModal}} - @openConfirmDeletionModal={{this.openConfirmDeletionModal}} - @onExtractPages={{this.onExtractPages}} /> + @openConfirmDeletionModal={{this.openConfirmDeletionModal}} /> <Modal::DeletePages id="delete-pages" diff --git a/app/components/viewer/index.js b/app/components/viewer/index.js index f006ad13137247343a0c37df22e84b0e42bf0496..1050fd7644f8c1cc88ae8c147ff7f1c79d69ef18 100644 --- a/app/components/viewer/index.js +++ b/app/components/viewer/index.js @@ -232,10 +232,6 @@ export default class ViewerComponent extends Component { this.show_rename_node_modal = false; } - @action - onExtractPages() { - } - @action async submitConfirmDeletionModal() { let page_ids = []; diff --git a/app/components/viewer/thumbnails/index.js b/app/components/viewer/thumbnails/index.js index 73905214f639dd0cd52b4f4ddd3706cb29a9d9bc..3cf855f93fc25dd930bcca97dc11debcd270edd5 100644 --- a/app/components/viewer/thumbnails/index.js +++ b/app/components/viewer/thumbnails/index.js @@ -23,6 +23,7 @@ export default class ViewerThumbnailsComponent extends Component { drop_placeholder_pos, source_doc_id; + event.preventDefault(); data = event.dataTransfer.getData('application/x.page'); if (!data) { @@ -67,7 +68,7 @@ export default class ViewerThumbnailsComponent extends Component { rect, cursor_before_child = 0, outside_all_thumbnails = true, - svg_element, + svg_or_img_element, data, json_data, original_pos; @@ -93,9 +94,10 @@ export default class ViewerThumbnailsComponent extends Component { // it may be a paceholder used as suggestion that it is OK to drop page here. // Real page thumbnail DOM element contains DOM element for image/svg // and DOM element denoting page number - svg_element = thumbnail_dom_item.querySelector('svg'); - if (svg_element) { // in case of thumbnail placeholder, there won't be SVG element - rect = svg_element.getBoundingClientRect(); + svg_or_img_element = thumbnail_dom_item.querySelector('svg') || + thumbnail_dom_item.querySelector('img'); + if (svg_or_img_element) { // in case of thumbnail placeholder, there won't be SVG element + rect = svg_or_img_element.getBoundingClientRect(); if (cursor_coord.y <= rect.bottom || cursor_coord.y <= rect.top) { cursor_before_child += 1;