Browse Source

Add `multipleSelection` option

multiple-select
Artur Arseniev 8 years ago
parent
commit
808a1b47d5
  1. 3
      src/commands/index.js
  2. 3
      src/commands/view/MoveComponent.js
  3. 3
      src/commands/view/SelectComponent.js
  4. 3
      src/editor/config/config.js

3
src/commands/index.js

@ -185,11 +185,10 @@ module.exports = () => {
const cmdMove = ed.Commands.get('move-comp');
cmdMove.onEndMoveFromModel = onEnd;
// cmdMove.initSorterFromModel(sel);
cmdMove.initSorterFromModels(selAll);
}
sel.set('status', 'freezed-selected');
selAll.forEach(sel => sel.set('status', 'freezed-selected'));
}
};

3
src/commands/view/MoveComponent.js

@ -90,12 +90,11 @@ module.exports = _.extend({}, SelectPosition, SelectComponent, {
// TODO: if one only check for `draggable`
// Avoid badge showing on move
this.cacheEl = null;
models = [...models];
const lastModel = models[models.length - 1];
const doc = this.frameEl.contentDocument;
this.startSelectPosition(lastModel.view.el, doc);
this.sorter.draggable = lastModel.get('draggable');
this.sorter.toMove = models.reverse();
this.sorter.toMove = models;
this.sorter.onEndMove = this.onEndMoveFromModel.bind(this);
this.stopSelectComponent();
on(this.getContentWindow(), 'keydown', this.rollback);

3
src/commands/view/SelectComponent.js

@ -221,8 +221,9 @@ module.exports = {
const ctrlKey = event.ctrlKey || event.metaKey;
const shiftKey = event.shiftKey;
const { editor } = this;
const multiple = editor.getConfig('multipleSelection');
if (ctrlKey) {
if (ctrlKey && multiple) {
editor.selectToggle(model);
// else if (shiftKey) // multiple selection
} else {

3
src/editor/config/config.js

@ -105,6 +105,9 @@ module.exports = {
// Enable native HTML5 drag and drop
nativeDnD: 1,
// Enable multiple selection
multipleSelection: 1,
// Show the wrapper component in the final code, eg. in editor.getHtml()
exportWrapper: 0,

Loading…
Cancel
Save