ang-readmore
Version:
This is a simple angular component to add "read more"/"read less" links to your long sentenses/paragraphs.
80 lines • 6.07 kB
JavaScript
/**
* @fileoverview added by tsickle
* Generated from: lib/ang-readmore.component.ts
* @suppress {checkTypes,constantProperty,extraRequire,missingOverride,missingReturn,unusedPrivateMembers,uselessCode} checked by tsc
*/
import { Component, Input } from "@angular/core";
var AngReadmoreComponent = /** @class */ (function () {
function AngReadmoreComponent() {
this.show = true;
this.showReadMore = true;
this.text = "NO-TEXT";
this.length = 20;
this.linkColor = "#26A69A";
this.isCollapsed = true;
}
/**
* @return {?}
*/
AngReadmoreComponent.prototype.ngOnInit = /**
* @return {?}
*/
function () {
this.stringToShow = this.text;
if (this.text.length > this.length) {
this.stringToShow = this.text.slice(0, this.length - 1) + "...";
}
else {
this.showReadMore = false;
}
if (this.text.length === 0) {
this.show = false;
}
};
/**
* @return {?}
*/
AngReadmoreComponent.prototype.toggle = /**
* @return {?}
*/
function () {
this.isCollapsed = !this.isCollapsed;
if (this.isCollapsed) {
this.stringToShow = this.text.slice(0, this.length - 1) + "...";
}
else {
this.stringToShow = this.text;
}
};
AngReadmoreComponent.decorators = [
{ type: Component, args: [{
selector: "ang-readmore",
template: "\n <p *ngIf=\"show\">\n {{ stringToShow }}\n <span *ngIf=\"showReadMore\" (click)=\"toggle()\" [style.color]=\"linkColor\">{{\n isCollapsed ? \"read more\" : \"read less\"\n }}</span>\n </p>\n ",
styles: ["span{cursor: pointer;} p{white-space: pre-line;}"]
}] }
];
AngReadmoreComponent.propDecorators = {
text: [{ type: Input }],
length: [{ type: Input }],
linkColor: [{ type: Input }]
};
return AngReadmoreComponent;
}());
export { AngReadmoreComponent };
if (false) {
/** @type {?} */
AngReadmoreComponent.prototype.show;
/** @type {?} */
AngReadmoreComponent.prototype.showReadMore;
/** @type {?} */
AngReadmoreComponent.prototype.stringToShow;
/** @type {?} */
AngReadmoreComponent.prototype.text;
/** @type {?} */
AngReadmoreComponent.prototype.length;
/** @type {?} */
AngReadmoreComponent.prototype.linkColor;
/** @type {?} */
AngReadmoreComponent.prototype.isCollapsed;
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5nLXJlYWRtb3JlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2FuZy1yZWFkbW9yZS8iLCJzb3VyY2VzIjpbImxpYi9hbmctcmVhZG1vcmUuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFekQ7SUFBQTtRQWFFLFNBQUksR0FBRyxJQUFJLENBQUM7UUFDWixpQkFBWSxHQUFHLElBQUksQ0FBQztRQUVYLFNBQUksR0FBRyxTQUFTLENBQUM7UUFDakIsV0FBTSxHQUFHLEVBQUUsQ0FBQztRQUNaLGNBQVMsR0FBRyxTQUFTLENBQUM7UUFDL0IsZ0JBQVcsR0FBRyxJQUFJLENBQUM7SUF3QnJCLENBQUM7Ozs7SUF0QkMsdUNBQVE7OztJQUFSO1FBQ0UsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQzlCLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNsQyxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQztTQUNqRTthQUFNO1lBQ0wsSUFBSSxDQUFDLFlBQVksR0FBRyxLQUFLLENBQUM7U0FDM0I7UUFFRCxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtZQUMxQixJQUFJLENBQUMsSUFBSSxHQUFHLEtBQUssQ0FBQztTQUNuQjtJQUNILENBQUM7Ozs7SUFFRCxxQ0FBTTs7O0lBQU47UUFDRSxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQztRQUVyQyxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDcEIsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUM7U0FDakU7YUFBTTtZQUNMLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztTQUMvQjtJQUNILENBQUM7O2dCQTFDRixTQUFTLFNBQUM7b0JBQ1QsUUFBUSxFQUFFLGNBQWM7b0JBQ3hCLFFBQVEsRUFBRSxnT0FPVDs2QkFDUSxrREFBa0Q7aUJBQzVEOzs7dUJBS0UsS0FBSzt5QkFDTCxLQUFLOzRCQUNMLEtBQUs7O0lBeUJSLDJCQUFDO0NBQUEsQUEzQ0QsSUEyQ0M7U0EvQlksb0JBQW9COzs7SUFDL0Isb0NBQVk7O0lBQ1osNENBQW9COztJQUNwQiw0Q0FBYTs7SUFDYixvQ0FBMEI7O0lBQzFCLHNDQUFxQjs7SUFDckIseUNBQStCOztJQUMvQiwyQ0FBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCwgSW5wdXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6IFwiYW5nLXJlYWRtb3JlXCIsXG4gIHRlbXBsYXRlOiBgXG4gICAgPHAgKm5nSWY9XCJzaG93XCI+XG4gICAgICB7eyBzdHJpbmdUb1Nob3cgfX1cbiAgICAgIDxzcGFuICpuZ0lmPVwic2hvd1JlYWRNb3JlXCIgKGNsaWNrKT1cInRvZ2dsZSgpXCIgW3N0eWxlLmNvbG9yXT1cImxpbmtDb2xvclwiPnt7XG4gICAgICAgIGlzQ29sbGFwc2VkID8gXCJyZWFkIG1vcmVcIiA6IFwicmVhZCBsZXNzXCJcbiAgICAgIH19PC9zcGFuPlxuICAgIDwvcD5cbiAgYCxcbiAgc3R5bGVzOiBbXCJzcGFue2N1cnNvcjogcG9pbnRlcjt9IHB7d2hpdGUtc3BhY2U6IHByZS1saW5lO31cIl0sXG59KVxuZXhwb3J0IGNsYXNzIEFuZ1JlYWRtb3JlQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcbiAgc2hvdyA9IHRydWU7XG4gIHNob3dSZWFkTW9yZSA9IHRydWU7XG4gIHN0cmluZ1RvU2hvdztcbiAgQElucHV0KCkgdGV4dCA9IFwiTk8tVEVYVFwiO1xuICBASW5wdXQoKSBsZW5ndGggPSAyMDtcbiAgQElucHV0KCkgbGlua0NvbG9yID0gXCIjMjZBNjlBXCI7XG4gIGlzQ29sbGFwc2VkID0gdHJ1ZTtcblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICB0aGlzLnN0cmluZ1RvU2hvdyA9IHRoaXMudGV4dDtcbiAgICBpZiAodGhpcy50ZXh0Lmxlbmd0aCA+IHRoaXMubGVuZ3RoKSB7XG4gICAgICB0aGlzLnN0cmluZ1RvU2hvdyA9IHRoaXMudGV4dC5zbGljZSgwLCB0aGlzLmxlbmd0aCAtIDEpICsgXCIuLi5cIjtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zaG93UmVhZE1vcmUgPSBmYWxzZTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy50ZXh0Lmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhpcy5zaG93ID0gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgdG9nZ2xlKCkge1xuICAgIHRoaXMuaXNDb2xsYXBzZWQgPSAhdGhpcy5pc0NvbGxhcHNlZDtcblxuICAgIGlmICh0aGlzLmlzQ29sbGFwc2VkKSB7XG4gICAgICB0aGlzLnN0cmluZ1RvU2hvdyA9IHRoaXMudGV4dC5zbGljZSgwLCB0aGlzLmxlbmd0aCAtIDEpICsgXCIuLi5cIjtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zdHJpbmdUb1Nob3cgPSB0aGlzLnRleHQ7XG4gICAgfVxuICB9XG59XG4iXX0=