compact / angular-bootstrap-lightbox

An AngularJS lightbox built using UI Bootstrap Modal.
http://compact.github.io/angular-bootstrap-lightbox/
MIT License
306 stars 134 forks source link

naive assumption of default interpolateProvider #22

Open tommedema opened 9 years ago

tommedema commented 9 years ago

At https://github.com/compact/angular-bootstrap-lightbox/blob/master/src/lightbox.html it is assumed that the developer is using default interpolate start and end symbols. E.g. in ng-href="{{Lightbox.imageUrl}}"

However, many developer use different symbols for compatibility reasons (e.g. with server side templating engines).

There is a plunker to demonstrate this issue:

http://plnkr.co/edit/Rum0RqcqIsGNIvp6LQnS?p=preview

In demo1.js file you'll see commented lines 4,5 and 6 (the symbol interpolation we make for angular to prevent conflict with php syntax). If you remove the comment try to run it with interpolation of characters then it results in the same error I have in my code. This is due to the syntax symbols of the angular-bootstrap-lightbox.js library not being interpolated (e.g. lightbox modal html is with {{}} syntax).

Do you have any suggestions how to overcome this problem?

compact commented 9 years ago

I think the simplest solution is to create your own custom template with the correct symbols and use that template instead of the default.

Fork of your Plunker with an example: http://plnkr.co/edit/amZu2lhuQ5Y9jN9lthJJ?p=preview

tommedema commented 9 years ago

That makes sense, thanks.

There is no way to write plugin templates that do not assume a specific choice of symbols?