socialnetworknews-web

A open-source Paper.li clone
git clone git://archive.git.mtrnord.blog/SocialNetworkNews/socialnetworknews-web.git
Log | Files | Refs | README | LICENSE

commit cd6bb20de2b36fd59bb7c0c856c4c725d15ba076
parent c155b6d02ea224abc0b58587650e0805ed4a80b8
Author: MTRNord <mtrnord1@gmail.com>
Date:   Sun, 11 Feb 2018 23:06:35 +0100

Fix list components

Signed-off-by: MTRNord <mtrnord1@gmail.com>

Diffstat:
M.angular-cli.json | 10++++++++--
Msrc/app/app.module.ts | 2+-
Msrc/app/paper/paper.component.html | 2+-
Msrc/app/paper/paper.component.ts | 12+++++++++++-
Msrc/app/papers-list/papers-list.component.html | 2+-
Msrc/app/papers-list/papers-list.component.ts | 13+------------
Msrc/app/papers/papers.component.html | 4++--
Msrc/app/papers/papers.component.ts | 11++++++++++-
Msrc/app/tweet-list/tweet-list.component.html | 2+-
Msrc/app/tweet-list/tweet-list.component.ts | 12+-----------
Msrc/main.ts | 6++++--
Mtslint.json | 2+-
12 files changed, 42 insertions(+), 36 deletions(-)

diff --git a/.angular-cli.json b/.angular-cli.json @@ -50,9 +50,15 @@ "testTsconfig": "tsconfig.spec.json", "prefix": "app", "styles": [ - "styles.scss" + "../node_modules/font-awesome/scss/font-awesome.scss", + "../node_modules/angular-bootstrap-md/scss/bootstrap/bootstrap.scss", + "../node_modules/angular-bootstrap-md/scss/mdb-free.scss", + "./styles.scss" + ], + "scripts": [ + "../node_modules/chart.js/dist/Chart.js", + "../node_modules/hammerjs/hammer.min.js" ], - "scripts": [], "environmentSource": "environments/environment.ts", "environments": { "dev": "environments/environment.ts", diff --git a/src/app/app.module.ts b/src/app/app.module.ts @@ -47,6 +47,6 @@ export const config: GalleryConfig = { providers: [ ], bootstrap: [AppComponent], - schemas: [ NO_ERRORS_SCHEMA ] + // schemas: [ NO_ERRORS_SCHEMA ] }) export class AppModule { } diff --git a/src/app/paper/paper.component.html b/src/app/paper/paper.component.html @@ -35,7 +35,7 @@ <main class="text-center py-5"> <div class="container" *ngIf="isBrowser" gallerize> - <app-tweet-list [tweetData]="testData"></app-tweet-list> + <app-tweet-list [data]="chunkedData"></app-tweet-list> </div> </main> diff --git a/src/app/paper/paper.component.ts b/src/app/paper/paper.component.ts @@ -1,5 +1,6 @@ import {Component, Inject, PLATFORM_ID, ViewEncapsulation} from '@angular/core'; import {isPlatformBrowser} from '@angular/common'; +import {TweetListComponent} from '../tweet-list/tweet-list.component'; @Component({ selector: 'app-paper', @@ -10,10 +11,19 @@ import {isPlatformBrowser} from '@angular/common'; export class PaperComponent { paperTitle = 'Test Paper'; paperSubtitle = 'Something to test'; - testData = [{title: 'Simon Wüllhorst', 'userLink': 'https://twitter.com/des_cilla', text: 'Yaay, neue LTE-Antennen sind da. Es gibt bald endlich wieder schnelles Internet auf dem Dorf. :) #Freifunk', imageURL: 'https://pbs.twimg.com/media/DVmb2UCWsAA8oTD.jpg', createdAt: '09.02.2018', replies: 0, favs: 2, retweets: 1}, {title: 'Jason Scott', retweet: true, 'userLink': 'https://twitter.com/textfiles', imageURL: 'https://pbs.twimg.com/media/DVZ5gw0U0AA_mOu.jpg', createdAt: '07.02.2018', replies: 75, favs: 8003, retweets: 2813}, {title: 'Christian Dresel', 'userLink': 'https://twitter.com/DreselChristian', text: 'Soviel Richtfunk (blaue Linien)... soooo geiiiilllll :) @freifunk @FreifunkFranken #freifunk', imageURL: 'https://pbs.twimg.com/media/DViJcIRX0AAk1TT.jpg:large', createdAt: '08.02.2018', replies: 1, favs: 3, retweets: 0}]; + testData: Array<object> = [{title: 'Simon Wüllhorst', 'userLink': 'https://twitter.com/des_cilla', text: 'Yaay, neue LTE-Antennen sind da. Es gibt bald endlich wieder schnelles Internet auf dem Dorf. :) #Freifunk', imageURL: 'https://pbs.twimg.com/media/DVmb2UCWsAA8oTD.jpg', createdAt: '09.02.2018', replies: 0, favs: 2, retweets: 1}, {title: 'Jason Scott', retweet: true, 'userLink': 'https://twitter.com/textfiles', imageURL: 'https://pbs.twimg.com/media/DVZ5gw0U0AA_mOu.jpg', createdAt: '07.02.2018', replies: 75, favs: 8003, retweets: 2813}, {title: 'Christian Dresel', 'userLink': 'https://twitter.com/DreselChristian', text: 'Soviel Richtfunk (blaue Linien)... soooo geiiiilllll :) @freifunk @FreifunkFranken #freifunk', imageURL: 'https://pbs.twimg.com/media/DViJcIRX0AAk1TT.jpg:large', createdAt: '08.02.2018', replies: 1, favs: 3, retweets: 0}]; + public chunkedData = this.chunk(this.testData, 3); isBrowser: boolean; constructor(@Inject(PLATFORM_ID) platformId: Object) { this.isBrowser = isPlatformBrowser(platformId); } + + chunk(arr, size) { + const newArr = []; + for (let i = 0; i < arr.length; i += size) { + newArr.push(arr.slice(i, i + size)); + } + return newArr; + } } diff --git a/src/app/papers-list/papers-list.component.html b/src/app/papers-list/papers-list.component.html @@ -1,4 +1,4 @@ -<div class="card-deck row" *ngFor="let rows of chunkedData"> +<div class="card-deck row" *ngFor="let rows of data"> <div class="card mx-auto" *ngFor="let item of rows" style="max-width: 33.33%"> <!--Card image--> <div class="overlay hm-white-slight waves-light card-img-top" *ngIf="item.logoURL"> diff --git a/src/app/papers-list/papers-list.component.ts b/src/app/papers-list/papers-list.component.ts @@ -1,5 +1,4 @@ import {Component, Input} from '@angular/core'; -import {TweetListComponent} from '../tweet-list/tweet-list.component'; @Component({ selector: 'app-papers-list', @@ -7,16 +6,6 @@ import {TweetListComponent} from '../tweet-list/tweet-list.component'; styleUrls: ['./papers-list.component.scss'] }) export class PapersListComponent { - @Input() papersData: object[]; - chunkedData = TweetListComponent.chunk(this.papersData, 3); - constructor() { } - - static chunk(arr, size) { - const newArr = []; - for (let i = 0; i < arr.length; i += size) { - newArr.push(arr.slice(i, i + size)); - } - return newArr; - } + @Input() data; } diff --git a/src/app/papers/papers.component.html b/src/app/papers/papers.component.html @@ -1,5 +1,5 @@ <header> - <mdb-navbar SideClass="navbar fixed-top navbar-expand-lg navbar-dark scrolling-navbar" [containerInside]="false"> + <mdb-navbar *ngIf="isBrowser" SideClass="navbar fixed-top navbar-expand-lg navbar-dark scrolling-navbar" [containerInside]="false"> <logo> <a class="logo navbar-brand" href="#"><strong>Social Networks News</strong></a> </logo> @@ -35,7 +35,7 @@ <main class="text-center py-5"> <div class="container"> - <app-papers-list [papersData]="testData"></app-papers-list> + <app-papers-list [data]="chunkedData"></app-papers-list> </div> </main> diff --git a/src/app/papers/papers.component.ts b/src/app/papers/papers.component.ts @@ -9,11 +9,20 @@ import {isPlatformBrowser} from '@angular/common'; export class PapersComponent { pageTitle = 'Find Papers'; pageSubtitle = 'Get the full blast of different Newspapers'; - testData = [{title: 'Freifunk News', uuid: 0, logoURL: 'https://blog.freifunk.net/wp-content/uploads/2017/03/Freifunk.net_.svg_.png', description: ''}]; + testData: Array<object> = [{title: 'Freifunk News', uuid: 0, logoURL: 'https://blog.freifunk.net/wp-content/uploads/2017/03/Freifunk.net_.svg_.png', description: ''}]; + public chunkedData = this.chunk(this.testData, 3); isBrowser: boolean; constructor( @Inject(PLATFORM_ID) platformId: Object) { this.isBrowser = isPlatformBrowser(platformId); } + chunk(arr, size) { + const newArr = []; + for (let i = 0; i < arr.length; i += size) { + newArr.push(arr.slice(i, i + size)); + } + return newArr; + } + } diff --git a/src/app/tweet-list/tweet-list.component.html b/src/app/tweet-list/tweet-list.component.html @@ -1,4 +1,4 @@ -<div class="card-deck row" *ngFor="let rows of chunkedData"> +<div class="card-deck row" *ngFor="let rows of data"> <div class="card card-cascade" *ngFor="let item of rows"> <!--Retweet Badge--> <div class="card-ribbon card-ribbon-top card-ribbon-left tblue" *ngIf="item.retweet == true"> diff --git a/src/app/tweet-list/tweet-list.component.ts b/src/app/tweet-list/tweet-list.component.ts @@ -6,16 +6,6 @@ import {Component, Input} from '@angular/core'; styleUrls: ['./tweet-list.component.scss'] }) export class TweetListComponent { - @Input() tweetData: object[]; - chunkedData = TweetListComponent.chunk(this.tweetData, 3); + @Input() data; - constructor() { } - - static chunk(arr, size) { - const newArr = []; - for (let i = 0; i < arr.length; i += size) { - newArr.push(arr.slice(i, i + size)); - } - return newArr; - } } diff --git a/src/main.ts b/src/main.ts @@ -10,5 +10,7 @@ if (environment.production) { enableProdMode(); } -platformBrowserDynamic().bootstrapModule(AppModule) - .catch(err => console.log(err)); +document.addEventListener('DOMContentLoaded', () => { + platformBrowserDynamic().bootstrapModule(AppModule) + .catch(err => console.log(err)); +}); diff --git a/tslint.json b/tslint.json @@ -134,7 +134,7 @@ "use-input-property-decorator": true, "use-output-property-decorator": true, "use-host-property-decorator": true, - "no-input-rename": true, + "no-input-rename": false, "no-output-rename": true, "use-life-cycle-interface": true, "use-pipe-transform-interface": true,