/**
 * Copyright (c) Tiny Technologies, Inc. All rights reserved.
 * Licensed under the LGPL or a commercial license.
 * For LGPL see License.txt in the project root for license information.
 * For commercial licenses see https://www.tiny.cloud/
 */ import VK from 'tinymce/core/api/util/VK' ; import * as Settings from '../api/Settings' ; import * as Delete from './Delete' ; import { outdentListSelection , indentListSelection } from '../actions/Indendation' ; const setupTabKey = function ( editor ) { editor . on ( 'keydown' , function ( e ) { if ( e . keyCode !== VK . TAB || VK . metaKeyPressed ( e ) ) { return ; } editor . undoManager . transact ( ( ) => { if ( e . shiftKey ? outdentListSelection ( editor ) : indentListSelection ( editor ) ) { e . preventDefault ( ) ; } } ) ; } ) ; } ; const setup = function ( editor ) { if ( Settings . shouldIndentOnTab ( editor ) ) { setupTabKey ( editor ) ; } Delete . setup ( editor ) ; } ; export { setup } ;