aboutsummaryrefslogtreecommitdiff
path: root/Main/wwwroot/scripts/main.ts
blob: e68bc9730b378937a4c9254d0a425195e8d74a69 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
class Article {
  Container: HTMLElement;
  Title: HTMLElement;
  Image: HTMLElement;

  constructor(title: string, description: string, article_link: string, image_link: string) {
    // object initialisation
    this.Container = document.createElement('div');
    this.Title = document.createElement('h1');
    this.Image = new Image();
    let link = document.createElement('a');

    // attributes
    link.innerText = title;
    link.setAttribute('href', article_link);
    this.Image.setAttribute('src', image_link);
    this.Image.setAttribute('title', description);
    this.Container.className = "Frame";

    // make unit
    this.Title.appendChild(link);
    this.Container.appendChild(this.Title);
    this.Container.appendChild(this.Image);
  }

  visualise(root: HTMLElement): void {
    // visualise the article for document
    root.appendChild(this.Container);
  }
}

let root = document.getElementById('root');

let title = "Amazon reconsiders building new headquarters in New York City: WaPo";
let description = "Description";
let article = "https://www.wikipedia.org/";
let image = "https://s.abcnews.com/images/Business/long-island-city-gty-jc-181112_hpMain_4x3t_384.jpg";

let articles: Array<Article> = [
  new Article(title, description, article, image),
  new Article(title, description, article, image),
  new Article(title, description, article, image),
  new Article(title, description, article, image),
  new Article(title, description, article, image),
  new Article(title, description, article, image),
  new Article(title, description, article, image)
];

articles.forEach(article => article.visualise(root));