Browse Source

Retrive local el offset viewer

pull/2524/head
Artur Arseniev 7 years ago
parent
commit
a85025b40e
  1. 28
      src/canvas/index.js
  2. 14
      src/canvas/view/FrameView.js
  3. 2
      src/canvas/view/FrameWrapView.js
  4. 2
      src/commands/view/ShowOffset.js

28
src/canvas/index.js

@ -167,17 +167,21 @@ export default () => {
return compView && compView._getFrame(); return compView && compView._getFrame();
}, },
_getLocalEl(globalEl, compView, method) {
let result = globalEl;
const frameView = this._getCompFrame(compView);
result = frameView ? frameView[method]() : result;
return result;
},
/** /**
* Returns element containing all canvas tools * Returns element containing all canvas tools
* @return {HTMLElement} * @return {HTMLElement}
* @private * @private
*/ */
getToolsEl(compView) { getToolsEl(compView) {
let result = CanvasView.toolsEl; return this._getLocalEl(CanvasView.toolsEl, compView, 'getToolsEl');
const frameView = this._getCompFrame(compView);
result = frameView ? frameView.getToolsEl() : result;
return result;
}, },
/** /**
@ -186,11 +190,7 @@ export default () => {
* @private * @private
*/ */
getHighlighter(compView) { getHighlighter(compView) {
let result = CanvasView.hlEl; return this._getLocalEl(CanvasView.hlEl, compView, 'getHighlighter');
const frameView = this._getCompFrame(compView);
result = frameView ? frameView.getHighlighter() : result;
return result;
}, },
/** /**
@ -243,8 +243,12 @@ export default () => {
* @return {HTMLElement} * @return {HTMLElement}
* @private * @private
*/ */
getOffsetViewerEl() { getOffsetViewerEl(compView) {
return CanvasView.offsetEl; return this._getLocalEl(
CanvasView.offsetEl,
compView,
'getOffsetViewerEl'
);
}, },
/** /**

14
src/canvas/view/FrameView.js

@ -125,13 +125,21 @@ export default Backbone.View.extend({
}, },
getHighlighter() { getHighlighter() {
return this._getTool('[data-hl]');
},
getOffsetViewerEl() {
return this._getTool('[data-offset]');
},
_getTool(name) {
const toolsEl = this.getToolsEl(); const toolsEl = this.getToolsEl();
if (!this.elHighl) { if (!this[name]) {
this.elHighl = toolsEl.querySelector('[data-hl]'); this[name] = toolsEl.querySelector(name);
} }
return this.elHighl; return this[name];
}, },
remove() { remove() {

2
src/canvas/view/FrameWrapView.js

@ -68,7 +68,7 @@ export default Backbone.View.extend({
<div class="${ppfx}ghost"></div> <div class="${ppfx}ghost"></div>
<div class="${ppfx}toolbar" style="pointer-events:all"></div> <div class="${ppfx}toolbar" style="pointer-events:all"></div>
<div class="${ppfx}resizer"></div> <div class="${ppfx}resizer"></div>
<div class="${ppfx}offset-v"></div> <div class="${ppfx}offset-v" data-offset></div>
<div class="${ppfx}offset-fixed-v"></div> <div class="${ppfx}offset-fixed-v"></div>
` `
); );

2
src/commands/view/ShowOffset.js

@ -39,7 +39,7 @@ export default {
var ppfx = this.ppfx; var ppfx = this.ppfx;
var stateVar = state + 'State'; var stateVar = state + 'State';
var method = this.getOffsetMethod(state); var method = this.getOffsetMethod(state);
var offsetViewer = canvas[method](); var offsetViewer = canvas[method](opts.view);
offsetViewer.style.display = 'block'; offsetViewer.style.display = 'block';
var marginT = this['marginT' + state]; var marginT = this['marginT' + state];

Loading…
Cancel
Save