From 28e0cfb23945f61c9adac46653457129a94f137e Mon Sep 17 00:00:00 2001 From: RakVhalate Date: Thu, 24 Nov 2022 12:54:59 +1000 Subject: [PATCH] Added threads listing. --- src/app/BoardThreads/op/op.component.css | 12 +++++++ src/app/BoardThreads/op/op.component.html | 10 ++++++ src/app/BoardThreads/op/op.component.spec.ts | 23 ++++++++++++ src/app/BoardThreads/op/op.component.ts | 18 ++++++++++ src/app/BoardThreads/threads.component.css | 0 src/app/BoardThreads/threads.component.html | 12 +++++++ .../BoardThreads/threads.component.spec.ts | 23 ++++++++++++ src/app/BoardThreads/threads.component.ts | 35 +++++++++++++++++++ .../boards.component.css | 0 .../boards.component.html | 0 .../boards.component.spec.ts | 0 .../boards.component.ts | 2 +- .../post/post.component.css | 0 .../post/post.component.html | 0 .../post/post.component.ts | 0 src/app/app.component.ts | 7 ++-- src/app/app.module.ts | 19 +++++----- src/app/send-post/send-post.component.ts | 5 +-- src/app/services/api-chat.service.ts | 5 +++ src/app/services/min-io.service..ts | 25 ------------- src/app/services/min-io.service.spec.ts | 16 --------- 21 files changed, 155 insertions(+), 57 deletions(-) create mode 100644 src/app/BoardThreads/op/op.component.css create mode 100644 src/app/BoardThreads/op/op.component.html create mode 100644 src/app/BoardThreads/op/op.component.spec.ts create mode 100644 src/app/BoardThreads/op/op.component.ts create mode 100644 src/app/BoardThreads/threads.component.css create mode 100644 src/app/BoardThreads/threads.component.html create mode 100644 src/app/BoardThreads/threads.component.spec.ts create mode 100644 src/app/BoardThreads/threads.component.ts rename src/app/{boards => SingleThread}/boards.component.css (100%) rename src/app/{boards => SingleThread}/boards.component.html (100%) rename src/app/{boards => SingleThread}/boards.component.spec.ts (100%) rename src/app/{boards => SingleThread}/boards.component.ts (96%) rename src/app/{boards => SingleThread}/post/post.component.css (100%) rename src/app/{boards => SingleThread}/post/post.component.html (100%) rename src/app/{boards => SingleThread}/post/post.component.ts (100%) delete mode 100644 src/app/services/min-io.service..ts delete mode 100644 src/app/services/min-io.service.spec.ts diff --git a/src/app/BoardThreads/op/op.component.css b/src/app/BoardThreads/op/op.component.css new file mode 100644 index 0000000..06d5517 --- /dev/null +++ b/src/app/BoardThreads/op/op.component.css @@ -0,0 +1,12 @@ +.op { + border-width: 1px; + border-color: rgb(190,190,190); + border-style: solid; + background-color: #F0D0B6; + border-radius: 5px; + padding:20px; + width: 500px; + word-break: break-word; + word-wrap: break-word; + margin-top: 6px; +} diff --git a/src/app/BoardThreads/op/op.component.html b/src/app/BoardThreads/op/op.component.html new file mode 100644 index 0000000..d3427b1 --- /dev/null +++ b/src/app/BoardThreads/op/op.component.html @@ -0,0 +1,10 @@ +
+

Тред номер {{op.Thread_Id}}

+

# {{op.Id}} {{op.Timestamp}}

+
+ + + +
+

{{op.Text}}

+
diff --git a/src/app/BoardThreads/op/op.component.spec.ts b/src/app/BoardThreads/op/op.component.spec.ts new file mode 100644 index 0000000..f8674ed --- /dev/null +++ b/src/app/BoardThreads/op/op.component.spec.ts @@ -0,0 +1,23 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { OPComponent } from './op.component'; + +describe('OPComponent', () => { + let component: OPComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ OPComponent ] + }) + .compileComponents(); + + fixture = TestBed.createComponent(OPComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/BoardThreads/op/op.component.ts b/src/app/BoardThreads/op/op.component.ts new file mode 100644 index 0000000..ca61e2b --- /dev/null +++ b/src/app/BoardThreads/op/op.component.ts @@ -0,0 +1,18 @@ +import {Component, Input, OnInit} from '@angular/core'; +import { SinglePost } from '../../models/post'; + +@Component({ + selector: 'op-single', + templateUrl: './op.component.html', + styleUrls: ['./op.component.css'] +}) +export class OPComponent implements OnInit { + + constructor() { } + + @Input() op: SinglePost + + ngOnInit(): void { + } + +} diff --git a/src/app/BoardThreads/threads.component.css b/src/app/BoardThreads/threads.component.css new file mode 100644 index 0000000..e69de29 diff --git a/src/app/BoardThreads/threads.component.html b/src/app/BoardThreads/threads.component.html new file mode 100644 index 0000000..60ad16c --- /dev/null +++ b/src/app/BoardThreads/threads.component.html @@ -0,0 +1,12 @@ +

Вы находитесь на доске {{boardName}}

+ Что это и как это работает? +
+
+ Добро пожаловать в список доступных тредов. Выберите подходящий для вас тред, затем введите его номер во вкладке "Тред" выше и нажмите "обновить" чтобы перейти в этот тред. +
+
+ + + diff --git a/src/app/BoardThreads/threads.component.spec.ts b/src/app/BoardThreads/threads.component.spec.ts new file mode 100644 index 0000000..6cfe7f5 --- /dev/null +++ b/src/app/BoardThreads/threads.component.spec.ts @@ -0,0 +1,23 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { ThreadsComponent } from './threads.component'; + +describe('ThreadsComponent', () => { + let component: ThreadsComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ ThreadsComponent ] + }) + .compileComponents(); + + fixture = TestBed.createComponent(ThreadsComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/BoardThreads/threads.component.ts b/src/app/BoardThreads/threads.component.ts new file mode 100644 index 0000000..d0701d9 --- /dev/null +++ b/src/app/BoardThreads/threads.component.ts @@ -0,0 +1,35 @@ +import { Component, OnInit } from '@angular/core'; +import * as vars from "../var/api"; +import {SinglePost} from "../models/post"; +import {ApiChatService} from "../services/api-chat.service"; + +@Component({ + selector: 'app-BoardThreads', + templateUrl: './threads.component.html', + styleUrls: ['./threads.component.css'] +}) +export class ThreadsComponent implements OnInit { + + boardName:string = 'b' + command: string = ""; + response: any; + opsToShow: SinglePost[] = [] + displayed_thread_number = vars.displayed_thread; + showGuide: boolean = false; + + constructor(public apiChatService: ApiChatService) { + } + + refreshOPs(boardName: string) { + this.apiChatService.getThreads(boardName).subscribe(response => { + this.opsToShow = response + vars.setDisplayedThread(this.displayed_thread_number); + }) + } + + ngOnInit(): void { + this.apiChatService.getThreads(this.boardName).subscribe(response => { + this.opsToShow = response + }) + } +} diff --git a/src/app/boards/boards.component.css b/src/app/SingleThread/boards.component.css similarity index 100% rename from src/app/boards/boards.component.css rename to src/app/SingleThread/boards.component.css diff --git a/src/app/boards/boards.component.html b/src/app/SingleThread/boards.component.html similarity index 100% rename from src/app/boards/boards.component.html rename to src/app/SingleThread/boards.component.html diff --git a/src/app/boards/boards.component.spec.ts b/src/app/SingleThread/boards.component.spec.ts similarity index 100% rename from src/app/boards/boards.component.spec.ts rename to src/app/SingleThread/boards.component.spec.ts diff --git a/src/app/boards/boards.component.ts b/src/app/SingleThread/boards.component.ts similarity index 96% rename from src/app/boards/boards.component.ts rename to src/app/SingleThread/boards.component.ts index e00ae63..cfb68d3 100644 --- a/src/app/boards/boards.component.ts +++ b/src/app/SingleThread/boards.component.ts @@ -4,7 +4,7 @@ import { SinglePost } from '../models/post' import * as vars from '../var/api' @Component({ - selector: 'app-boards', + selector: 'app-SingleThread', templateUrl: `./boards.component.html`, styleUrls: [`./boards.component.css`] }) diff --git a/src/app/boards/post/post.component.css b/src/app/SingleThread/post/post.component.css similarity index 100% rename from src/app/boards/post/post.component.css rename to src/app/SingleThread/post/post.component.css diff --git a/src/app/boards/post/post.component.html b/src/app/SingleThread/post/post.component.html similarity index 100% rename from src/app/boards/post/post.component.html rename to src/app/SingleThread/post/post.component.html diff --git a/src/app/boards/post/post.component.ts b/src/app/SingleThread/post/post.component.ts similarity index 100% rename from src/app/boards/post/post.component.ts rename to src/app/SingleThread/post/post.component.ts diff --git a/src/app/app.component.ts b/src/app/app.component.ts index b2a418b..67729d2 100644 --- a/src/app/app.component.ts +++ b/src/app/app.component.ts @@ -5,9 +5,10 @@ import { Component } from '@angular/core'; template: `

Welcome, traveler.

` diff --git a/src/app/app.module.ts b/src/app/app.module.ts index 2b3ce08..5272f87 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -7,19 +7,21 @@ import { HttpClientModule } from '@angular/common/http'; import { AppComponent } from './app.component'; import { HomeComponent } from './home/home.component'; import { AboutComponent } from './about/about.component'; -import { BoardsComponent } from './boards/boards.component'; +import { BoardsComponent } from './SingleThread/boards.component'; import { NotFoundComponent } from './not-found/not-found.component'; import { ApiChatService } from './services/api-chat.service'; import { FormsModule } from '@angular/forms'; import { SendPostComponent } from './send-post/send-post.component'; -import { PostComponent } from './boards/post/post.component' -import { MinIoService } from "./services/min-io.service."; +import { PostComponent } from './SingleThread/post/post.component' +import { ThreadsComponent } from './BoardThreads/threads.component'; +import { OPComponent } from './BoardThreads/op/op.component'; const appRoutes: Routes = [ { path: '', component: HomeComponent }, - { path: 'boards', component: BoardsComponent }, + { path: 'threads', component: ThreadsComponent}, + { path: 'board', component: BoardsComponent }, { path: 'about', component: AboutComponent }, - { path: '**', component: NotFoundComponent }, + { path: '**', component: NotFoundComponent } ] @NgModule({ @@ -30,7 +32,9 @@ const appRoutes: Routes = [ BoardsComponent, NotFoundComponent, PostComponent, - SendPostComponent + SendPostComponent, + ThreadsComponent, + OPComponent ], imports: [ BrowserModule, @@ -39,8 +43,7 @@ const appRoutes: Routes = [ FormsModule ], providers: [ - ApiChatService, - MinIoService + ApiChatService ], bootstrap: [AppComponent] }) diff --git a/src/app/send-post/send-post.component.ts b/src/app/send-post/send-post.component.ts index ef63357..6372e1e 100644 --- a/src/app/send-post/send-post.component.ts +++ b/src/app/send-post/send-post.component.ts @@ -1,7 +1,5 @@ import { Component, EventEmitter, OnInit, Output } from '@angular/core'; import { ApiChatService } from '../services/api-chat.service'; -import { MinIoService } from '../services/min-io.service.' -import {IPicresponse} from "../models/picResponse"; import * as vars from "../var/api"; @@ -17,8 +15,7 @@ export class SendPostComponent implements OnInit { filename: string[] = []; constructor( - public apiChatService: ApiChatService, - public minIoService: MinIoService, + public apiChatService: ApiChatService ) { } diff --git a/src/app/services/api-chat.service.ts b/src/app/services/api-chat.service.ts index f19985d..4ea180f 100644 --- a/src/app/services/api-chat.service.ts +++ b/src/app/services/api-chat.service.ts @@ -36,5 +36,10 @@ export class ApiChatService { return this.http.post(globals.api_endpoint +'UploadPic', PostPicture) } + getThreads(boardName:string): Observable { + //console.log("Получаю посты и картинки"); + return this.http.get(globals.api_endpoint +'Threads/', {params:{board: boardName}}) ; + } + } diff --git a/src/app/services/min-io.service..ts b/src/app/services/min-io.service..ts deleted file mode 100644 index f2729a0..0000000 --- a/src/app/services/min-io.service..ts +++ /dev/null @@ -1,25 +0,0 @@ -import { Injectable } from '@angular/core'; -import { HttpClient } from "@angular/common/http"; -import * as Minio from 'minio'; - - -@Injectable({ - providedIn: 'root' -}) -export class MinIoService { - picToSend = null; - - - - constructor(private http: HttpClient) { - - } - - //SendPicture(event: any): void { - //console.log(event.target.files[0].name); - //console.log('Отправляю картинку сервисом...'); - - //} - - -} diff --git a/src/app/services/min-io.service.spec.ts b/src/app/services/min-io.service.spec.ts deleted file mode 100644 index dd91e66..0000000 --- a/src/app/services/min-io.service.spec.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { TestBed } from '@angular/core/testing'; - -import { MinIoService } from './min-io.service.'; - -describe('MinIoServiceService', () => { - let service: MinIoService; - - beforeEach(() => { - TestBed.configureTestingModule({}); - service = TestBed.inject(MinIoService); - }); - - it('should be created', () => { - expect(service).toBeTruthy(); - }); -});