Sha256: 95ff88ec7f3a0db72eaa28c932491dcd37e58326c28fcfd8f70b7c71e5f47734
Contents?: true
Size: 1.58 KB
Versions: 2
Compression:
Stored size: 1.58 KB
Contents
/* globals TetherBase */ const {getBounds, updateClasses, defer} = TetherBase.Utils; TetherBase.modules.push({ position({top, left}) { const {height, width} = this.cache('element-bounds', () => { return getBounds(this.element); }); const targetPos = this.getTargetBounds(); const bottom = top + height; const right = left + width; const abutted = []; if (top <= targetPos.bottom && bottom >= targetPos.top) { ['left', 'right'].forEach(side => { const targetPosSide = targetPos[side]; if (targetPosSide === left || targetPosSide === right) { abutted.push(side); } }); } if (left <= targetPos.right && right >= targetPos.left) { ['top', 'bottom'].forEach(side => { const targetPosSide = targetPos[side]; if (targetPosSide === top || targetPosSide === bottom) { abutted.push(side); } }); } const allClasses = []; const addClasses = []; const sides = ['left', 'top', 'right', 'bottom']; allClasses.push(this.getClass('abutted')); sides.forEach(side => { allClasses.push(`${ this.getClass('abutted') }-${ side }`); }); if (abutted.length) { addClasses.push(this.getClass('abutted')); } abutted.forEach(side => { addClasses.push(`${ this.getClass('abutted') }-${ side }`); }); defer(() => { if (!(this.options.addTargetClasses === false)) { updateClasses(this.target, addClasses, allClasses); } updateClasses(this.element, addClasses, allClasses); }); return true; } });
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
rails_modular_admin-1.0.0 | app/assets/node_modules/tether/src/js/abutment.js |
rails_modular_admin-0.4.0 | app/assets/node_modules/tether/src/js/abutment.js |