Browse Source

TS ComponentEnter

ts-style-manager
Artur Arseniev 4 years ago
parent
commit
7d2a0b5727
  1. 5
      src/commands/view/CommandAbstract.ts
  2. 9
      src/commands/view/ComponentEnter.ts

5
src/commands/view/CommandAbstract.ts

@ -6,6 +6,7 @@ import EditorModel from '../../editor/model/Editor';
interface ICommand<O extends AnyObject = any> {
run?: CommandAbstract<O>['run'];
stop?: CommandAbstract<O>['stop'];
[key: string]: unknown;
}
type AnyObject = Record<string, any>;
@ -14,6 +15,10 @@ export type CustomCommand<O extends AnyObject = any, T extends AnyObject = {}> =
T &
ThisType<T & CommandAbstract<O>>;
export function defineCommand<O extends AnyObject = any, T extends AnyObject = {}>(def: CustomCommand<O, T>) {
return def;
}
export default class CommandAbstract<O extends AnyObject = any> extends Model {
config: any;
em: EditorModel;

9
src/commands/view/ComponentEnter.js → src/commands/view/ComponentEnter.ts

@ -1,14 +1,17 @@
import Component from '../../dom_components/model/Component';
import { CustomCommand } from './CommandAbstract';
export default {
run(ed) {
if (!ed.Canvas.hasFocus()) return;
const toSelect = [];
const toSelect: Component[] = [];
ed.getSelectedAll().forEach(component => {
const coll = component.components();
const next = coll && coll.filter(c => c.get('selectable'))[0];
const next = coll && coll.filter((c: any) => c.get('selectable'))[0];
next && toSelect.push(next);
});
toSelect.length && ed.select(toSelect);
},
};
} as CustomCommand;
Loading…
Cancel
Save