Comments (4)
FWIW, I came up with this:
return {
restrict: 'AE',
scope: {
rDirections: '@',
// ...
},
link: function(scope, element, attr) {
// ...
scope.$watch("rDirections", function(directions) {
if(typeof directions === 'string') {
dir = directions.split(',');
}
var oldGrabbers = element[0].querySelectorAll('[class^="rg-"]');
var l = oldGrabbers.length;
for (i = 0; i < l; ++i) {
var grabber = oldGrabbers[i];
grabber.parentNode.removeChild(grabber)
}
dir.forEach(function (direction) {
var grabber = document.createElement('div');
// add class for styling purposes
grabber.setAttribute('class', 'rg-' + direction);
grabber.innerHTML = inner;
element[0].appendChild(grabber);
grabber.ondragstart = function() { return false; };
grabber.addEventListener('mousedown', function(e) {
var disabled = (scope.rDisabled === 'true');
if (!disabled && e.which === 1) {
// left mouse click
dragStart(e, direction);
}
}, false);
});
});
}
};
});
Which allows me to use this in the template: r-directions="{{editorOrientation()}}"
, where editorOrientation
performs the necessary property checking and returns a string for the desired direction. It works well enough for my purposes, but I'm still curious if there's a better, more "Angular" way to accomplish this.
from angular-resizable.
+1
from angular-resizable.
Hey @jedfoster ! Nice work :). Based on your concept, I built out a codepen that I think demonstrates what you're requesting. Take a look and let me know what you think! To toggle the resize directions, just click on the checkboxes in the upper left.
from angular-resizable.
That codepen looks good to me. Thanks!
from angular-resizable.
Related Issues (20)
- How to remove the grabber? HOT 1
- Please support touch screen from mobile devices HOT 2
- Resize a browser window HOT 1
- Disable resize HOT 2
- Bower missing files HOT 1
- Internet Explorer: top direction selected, section expanding bottom side
- General question
- Lot of open PRs HOT 2
- Is it compatible with Angular Material? HOT 1
- unbind handle
- Is it compatible with Angular 1.6.4 HOT 5
- "Usage" section of README not clear enough
- Is it possible resize table ?
- angular-resizable rNoThrottle doesn't work HOT 3
- Get current element of resize
- No Copyright notice HOT 4
- not an issue but a nice to have. Handles for resizing hidden by expression
- No unit tests HOT 1
- Rewritten for Angular 2+ ? HOT 1
- No license file
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from angular-resizable.