npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

ng-text-truncate-2

v1.0.1

Published

Angular directive to truncate and expand text by it length

Downloads

47

Readme

ng-text-truncate

This is a simple, but fully functional, directive for truncating text in angularjs apps. This directive not only truncates your text, but also permits toggling the hidden part of the truncated text.

If you are using ng-text-truncate-2 in a project that already uses Twitter Boostrap, then the toggling elements (i.e. textual links with the texts "More" and "Less") shall inherit Bootstrap's styles for textual links. If you are not using Twitter Boostrap or if you want to customize some aspect of the toggling elements, then you can write your own CSS for the class ngTruncateToggleText.

This version fixes the explicit annotation issue.

DEMO 1 (Most of the use cases)

DEMO 2 (Custom CSS)

Usage Instructions

  1. Include the JS file

<script src="angular.min.js"></script>
...
<script src="ng-text-truncate.js"></script>

As usual, include this file after the inclusion of the angular.min.js file.

  1. Import ng-text-truncate in your app

angular.module( "TestApp", [ "ngTextTruncate" ] );
  1. Assign a text to some variable

$scope.longText = "Lorem ipsum dolor sit amet, and a possibly long remaining text.";
  1. Apply the directive to the element where you intend to put your text

Use the cs-truncate attribute to pass the variable holding your text. In the cs-truncate-threshould attribute you should indicate the maximum number of chars to be displayed before truncation. That is, any string bigger than cs-truncate-threshould will be truncated.

<p ng-text-truncate="longText"
   ng-tt-chars-threshold="40"></p>
  1. And...... that's all folks

Now open your HTML and everything should be working as intended.

  1. Ok, but, what are all this directive's features?

By using this directive you can:

  • Truncate your text based on the number of chars to be displayed;
  • Truncate your text based on the number of words to be displayed;
  • Toggle the hidden part of truncated text visible or not;
  • Customize the text of the toggling elements (the defaults are "More" and "Less");
  • If you want/need, you can just truncate the text (i.e., ommit the toggling elements);
  • Take a ride in Bootstrap's styles for the toggling elements;
  • Customize the appearance of the toggling elements by means of a custom CSS class (for the case you don't like Bootstrap's defaults or if you are not using Bootstrap).
  1. Nice. And how to use them?

Take a look at our live demos. There we have clear examples about using each of our features.

DEMO 1 (Most of the use cases)

DEMO 2 (Custom CSS)

Future Improvements

Get in touch if you have ideas for improvements. Bug reports and pull requests are welcome.