Browse Source

Merge branch 'dev' into up-style-manager

up-style-manager
Artur Arseniev 4 years ago
parent
commit
834dbbaf59
  1. 8
      src/commands/view/PasteComponent.js
  2. 45
      src/navigator/view/ItemView.js

8
src/commands/view/PasteComponent.js

@ -9,7 +9,10 @@ export default {
if (clp && selected) {
ed.getSelectedAll().forEach(comp => {
if (!comp) return;
const coll = comp.collection;
if (!coll) return;
const at = coll.indexOf(comp) + 1;
const copyable = clp.filter(cop => cop.get('copyable'));
let added;
@ -17,7 +20,10 @@ export default {
if (contains(clp, comp) && comp.get('copyable')) {
added = coll.add(comp.clone(), { at });
} else {
added = coll.add(copyable.map(cop => cop.clone()), { at });
added = coll.add(
copyable.map(cop => cop.clone()),
{ at }
);
}
added = isArray(added) ? added : [added];

45
src/navigator/view/ItemView.js

@ -7,6 +7,9 @@ import { eventDrag } from 'dom_components/model/Component';
const inputProp = 'contentEditable';
const styleOpts = { mediaText: '' };
const $ = Backbone.$;
const isStyleHidden = (style = {}) => {
return (style.display || '').trim().indexOf('none') === 0;
};
let ItemsView;
export default Backbone.View.extend({
@ -20,7 +23,7 @@ export default Backbone.View.extend({
'mouseout [data-toggle-select]': 'handleHoverOut',
'dblclick [data-name]': 'handleEdit',
'keydown [data-name]': 'handleEditKey',
'focusout [data-name]': 'handleEditEnd'
'focusout [data-name]': 'handleEditEnd',
},
template(model) {
@ -86,8 +89,8 @@ export default Backbone.View.extend({
['change:open', this.updateOpening],
['change:layerable', this.updateLayerable],
['change:style:display', this.updateVisibility],
['rerender:layer', this.render]
].forEach(item => this.listenTo(model, item[0], item[1]));
['rerender:layer', this.render],
].forEach((item) => this.listenTo(model, item[0], item[1]));
this.className = `${pfx}layer ${pfx}layer__t-${type} no-select ${ppfx}two-color`;
this.inputNameCls = `${ppfx}layer-name`;
this.clsTitleC = `${pfx}layer-title-c`;
@ -105,7 +108,7 @@ export default Backbone.View.extend({
onInit.bind(this)({
component: model,
render: this.__render,
listenTo: this.listenTo
listenTo: this.listenTo,
});
},
@ -122,7 +125,7 @@ export default Backbone.View.extend({
const model = this.model;
const hClass = `${pfx}layer-hidden`;
const hideIcon = 'fa-eye-slash';
const hidden = model.getStyle(styleOpts).display === 'none';
const hidden = isStyleHidden(model.getStyle(styleOpts));
const method = hidden ? 'addClass' : 'removeClass';
this.$el[method](hClass);
this.getVisibilityEl()[method](hideIcon);
@ -141,7 +144,7 @@ export default Backbone.View.extend({
const prevDisplay = model.get(prevDspKey);
const style = model.getStyle(styleOpts);
const { display } = style;
const hidden = display == 'none';
const hidden = isStyleHidden(style);
if (hidden) {
delete style.display;
@ -170,10 +173,7 @@ export default Backbone.View.extend({
inputEl.focus();
document.execCommand('selectAll', false, null);
em && em.setEditing(1);
$el
.find(`.${this.inputNameCls}`)
.removeClass(clsNoEdit)
.addClass(clsEdit);
$el.find(`.${this.inputNameCls}`).removeClass(clsNoEdit).addClass(clsEdit);
},
handleEditKey(ev) {
@ -193,10 +193,7 @@ export default Backbone.View.extend({
inputEl[inputProp] = false;
this.setName(name, { component: this.model, propName: 'custom-name' });
em && em.setEditing(0);
$el
.find(`.${this.inputNameCls}`)
.addClass(clsNoEdit)
.removeClass(clsEdit);
$el.find(`.${this.inputNameCls}`).addClass(clsNoEdit).removeClass(clsEdit);
},
setName(name, { propName }) {
@ -260,7 +257,7 @@ export default Backbone.View.extend({
if (em) {
em.setSelected(model, { fromLayers: 1, event: e });
const scroll = config.scrollCanvas;
scroll && model.views.forEach(view => view.scrollIntoView(scroll));
scroll && model.views.forEach((view) => view.scrollIntoView(scroll));
}
},
@ -290,8 +287,8 @@ export default Backbone.View.extend({
if (e.button && e.button !== 0) return;
if (sorter) {
sorter.onStart = data => em.trigger(`${eventDrag}:start`, data);
sorter.onMoveClb = data => em.trigger(eventDrag, data);
sorter.onStart = (data) => em.trigger(`${eventDrag}:start`, data);
sorter.onMoveClb = (data) => em.trigger(eventDrag, data);
sorter.startSort(e.target);
}
},
@ -321,8 +318,8 @@ export default Backbone.View.extend({
ComponentView.prototype.updateStatus.apply(this, [
{
avoidHover: !this.config.highlightHover,
noExtHl: 1
}
noExtHl: 1,
},
]);
},
@ -332,9 +329,7 @@ export default Backbone.View.extend({
* @return boolean
* */
isVisible() {
const { display } = this.model.getStyle();
return !(display && display === 'none');
return !isStyleHidden(this.model.getStyle());
},
/**
@ -368,7 +363,7 @@ export default Backbone.View.extend({
*/
countChildren(model) {
var count = 0;
model.get('components').each(function(m) {
model.get('components').each(function (m) {
var isCountable = this.opt.isCountable;
var hide = this.config.hideTextnode;
if (isCountable && !isCountable(m, hide)) return;
@ -436,7 +431,7 @@ export default Backbone.View.extend({
opened: this.opt.opened,
parentView: this,
parent: model,
level
level,
});
const children = this.items.render().$el;
@ -468,5 +463,5 @@ export default Backbone.View.extend({
const opt = { component: model, el };
onRender.bind(this)(opt);
this.em.trigger('layer:render', opt);
}
},
});

Loading…
Cancel
Save