Olga1108 před 4 roky
rodič
revize
9127dd1e2a

+ 1 - 1
js11/index.js

@@ -108,7 +108,7 @@ var sendMessage = message => new Promise (
 messages.forEach (
     ( message, index, arr ) => sendMessage ( message )
         .then (
-            mess => Object.assign ( log,
+          message => Object.assign ( log,
                 { [ arr.getKey() ] : message }
             ),
             console.log(message)

+ 0 - 17
js12/index.html

@@ -1,17 +0,0 @@
-!DOCTYPE html>
-<html lang='en'>
-    <head>
-        <meta charset='UTF-8' />
-        <meta name='viewport' content='width=device-width, initial-scale=1.0' />
-        <title>Home Work 12 JS</title>
-        <style type="text/css">
-            body {
-                color: red;
-            }
-        </style>
-    </head>
-    <body>
-        <h1>Home Work 12</h1>
-        <script src='index.js'></script>    
-    </body>
-</html>

+ 0 - 45
js12/index.js

@@ -1,45 +0,0 @@
-// Захостить на гитхабе приложение, которое:
-
-// читает куки на клиенте, и если там есть дата последнего посещения, выводит ее на страницу
-// пишет в куки на клиенте текущую дату посещения
-
-let p = document.body.appendChild(document.createElement('p'));
-var res = document.cookie
-    .split ( "; " )
-    .map ( x =>  {
-        var tmp = x.split ( "=" );
-        tmp[0] === 'Your last visit' ? p.innerText = tmp[0] + ' : '+ tmp[1].split( 'GMT' )[0]: p.innerText ='Hello! Your first visit!';
-})
- document.cookie =`Your last visit = ${new Date}`
-
-
-//  localStorage
-// Объявить функцию, которая будет вызываться в момент изменения хэш-части адреса страницы
-
-// и сохранять в localStorage клиента hash-часть адреса страницы как pageId
-// и время входа ( в секундах ) как startTime
-
-// Назначить эту функцию обработчиком события hashchange объекта window
-
-// Желательно, чтобы при изменении хеш-части адреса происходило обновление контента страницы без перезагрузки
-// ( например, изменялся заголовок и картинка, чтобы создать иллюзию перехода на новую страницу )
-
-// Отслеживать в панели разработчика изменения в localStorage
-
-
-
-
-let text =document.body.appendChild(document.createElement('p'));
-document.body.style.backgroundImage=`url(https://picsum.photos/900/900/?random)`;
-document.body.style.backgroundSize= 'cover';
-document.body.style.fontSize = '40px';
-const historyArr = [];
-change = function() {
-    historyArr.push( { 'pageId': location.hash, 'startTime': Math.round(new Date().getTime()/1000)});
-    localStorage.setItem ( 'history', JSON.stringify(historyArr));
-    document.body.style.backgroundImage=`url(https://picsum.photos/900/900/?random/${Math.round((Math.random())*1000)})`;
-    
-    text.innerHTML = 'This is page number :' + location.hash.substring(1);
-};
-
-window.addEventListener('hashchange', change);

+ 0 - 12
js13/index.html

@@ -1,12 +0,0 @@
-!DOCTYPE html>
-<html lang='en'>
-    <head>
-        <meta charset='UTF-8' />
-        <meta name='viewport' content='width=device-width, initial-scale=1.0' />
-        <title>Home Work 13 JS</title>
-    </head>
-    <body>
-        <h1>Home Work 13</h1>
-        <script src='index.js'></script>    
-    </body>
-</html>

+ 0 - 143
js13/index.js

@@ -1,143 +0,0 @@
-const studentsArr = [{
-    name: 'Сергей',
-    surname: 'Войлов',
-    ratingPoint: 1000,
-    schoolPoint: 1000,
-    course: 2,
-},
-{
-    name: 'Татьяна',
-    surname: 'Коваленко',
-    ratingPoint: 880,
-    schoolPoint: 700,
-    course: 1,
-},
-{
-    name: 'Анна',
-    surname: 'Кугир',
-    ratingPoint: 1430,
-    schoolPoint: 1200,
-    course: 3,
-},
-{
-    name: 'Станислав',
-    surname: 'Щелоков',
-    ratingPoint: 1130,
-    schoolPoint: 1060,
-    course: 2,
-},
-{
-    name: 'Денис',
-    surname: 'Хрущ',
-    ratingPoint: 1000,
-    schoolPoint: 990,
-    course: 4,
-},
-{
-    name: 'Татьяна',
-    surname: 'Капустник',
-    ratingPoint: 650,
-    schoolPoint: 500,
-    course: 3,
-},
-{
-    name: 'Максим',
-    surname: 'Меженский',
-    ratingPoint: 990,
-    schoolPoint: 1100,
-    course: 1,
-},
-{
-    name: 'Денис',
-    surname: 'Марченко',
-    ratingPoint: 570,
-    schoolPoint: 1300,
-    course: 4,
-},
-{
-    name: 'Антон',
-    surname: 'Завадский',
-    ratingPoint: 1090,
-    schoolPoint: 1010,
-    course: 3
-},
-{
-    name: 'Игорь',
-    surname: 'Куштым',
-    ratingPoint: 870,
-    schoolPoint: 790,
-    course: 1,
-},
-{
-    name: 'Инна',
-    surname: 'Скакунова',
-    ratingPoint: 1560,
-    schoolPoint: 200,
-    course: 2,
-},
-];
-
-
-const budgetLimit = 5;
-const allowRating = 800;
-let id = 1;
-
-class CreateStudent {
-    constructor(student) {
-        CreateStudent.id.call(this)
-        
-        this.name = student.name;
-        this.surname = student.surname;
-        this.ratingPoint = student.ratingPoint;
-        this.schoolPoint = student.schoolPoint;
-        this.isSelfPayment = (student.ratingPoint >= allowRating ) ? student.isSelfPayment = false : student.isSelfPayment = true;
-        this.course = student.course;
-    }
-static id = function() { return this.id = id++;};
-getTypeOfStudy() {if(this.isSelfPayment === false) {
-    return `бюджет`
-        }
-        return `контракт`
-    }
-getFullInfo() {return `Я - ${this.name} ${this.surname}, рейтинговый балл - ${this.ratingPoint}, форма обучения - ${this.getTypeOfStudy()}`};
- 
-     
-}; 
-
- 
-let contract = [];
-
-const setAllCreatedStudentsByConstructor = arrOfStudents => {
-   arrOfStudents = studentsArr.map((student) => new CreateStudent(student));
-    arrOfStudents.sort(function(currentStudent, nextStudent) {return nextStudent.ratingPoint - currentStudent.ratingPoint || nextStudent.schoolPoint - currentStudent.schoolPoint});
-    arrOfStudents.map(function(student, index) {
-        if(index >= budgetLimit) {
-            student.isSelfPayment = true;
-            if (student.isSelfPayment === true) {
-                contract.push(student)
-            }
-        }
-    })
- budget = arrOfStudents.filter(student => student.isSelfPayment === false) 
-  fullListStudents = [...budget,...contract].sort(function(currentStudent, nextStudent) {return nextStudent.ratingPoint - currentStudent.ratingPoint || nextStudent.schoolPoint - currentStudent.schoolPoint});
-}
-
-setAllCreatedStudentsByConstructor(studentsArr)
-console.log(budget)   
-console.log(contract)
-console.log(fullListStudents)
-console.log(contract[3].getFullInfo())
-  
-class Intern extends CreateStudent {
-
-    constructor(companyName) {
-        super(companyName);
-        this.companyName = companyName = 'Google';
-    }
-    getFullInternInfo() {return `Я - ${this.name} ${this.surname}, рейтинговый балл - ${this.ratingPoint}, форма обучения - ${this.getTypeOfStudy()}, интерн в компании ${this.companyName}`};
-}
-
-interns = fullListStudents.map((companyName) => new Intern(companyName, 'Google'))
-    
-
-console.log(interns[3].getFullInternInfo())

+ 0 - 11
js14.1await/index.html

@@ -1,11 +0,0 @@
-<html lang='en'>
-    <head>
-        <meta charset='UTF-8' />
-        <meta name='viewport' content='width=device-width, initial-scale=1.0' />
-        <title>Home Work 14.1 await JS</title>
-    </head>
-    <body>
-        <h1>Home Work 14.1 await</h1>
-        <script src='index.js'></script>    
-    </body>
-</html>

+ 0 - 21
js14.1await/index.js

@@ -1,21 +0,0 @@
-let count = 2;
-
-
-const calc1 = () => {
-    return new Promise((res, rej) => {
-        setTimeout(() => { count = count + 1; res(count) }, 2000)
-    })
-}
-
-const calc2 = () => {
-    return new Promise((res, rej) => {
-        setTimeout(() => { count = count * 2; res(count) }, 3000)
-    })
-}
-
-const calcNum = async() => {
-    count = await calc2();
-    count = await calc1();
-    console.log(count)
-}
-calcNum();

+ 0 - 11
js14.1then/index.html

@@ -1,11 +0,0 @@
-<html lang='en'>
-    <head>
-        <meta charset='UTF-8' />
-        <meta name='viewport' content='width=device-width, initial-scale=1.0' />
-        <title>Home Work 14.1 then JS</title>
-    </head>
-    <body>
-        <h1>Home Work 14.1 then</h1>
-        <script src='index.js'></script>    
-    </body>
-</html>

+ 0 - 21
js14.1then/index.js

@@ -1,21 +0,0 @@
-let count = 2;
-
-
-const calc1 = () => {
-    return new Promise((res, rej) => {
-        setTimeout(() => { count = count + 1; res(count) }, 2000)
-    })
-}
-
-const calc2 = () => {
-    return new Promise((res, rej) => {
-        setTimeout(() => { count = count * 2; res(count) }, 3000)
-    })
-}
-calc2().then(result => {
-    count = result;
-    calc1().then(result => {
-        count = result;
-        console.log(count);
-    })
-})

+ 0 - 11
js14.2/index.html

@@ -1,11 +0,0 @@
-<html lang='en'>
-    <head>
-        <meta charset='UTF-8' />
-        <meta name='viewport' content='width=device-width, initial-scale=1.0' />
-        <title>Home Work 14.2 JS</title>
-    </head>
-    <body>
-        <h1>Home Work 14.2</h1>
-        <script src='index.js'></script>    
-    </body>
-</html>

+ 0 - 10
js14.2/index.js

@@ -1,10 +0,0 @@
-const getBooks = async(n = 1) => {
-    let books = await fetch(`https://www.googleapis.com/books/v1/volumes?q=quilting=${n}`);
-    books = await books.json()
-    return books.items
-}
-
- fiftyBooks = () => {
-
-}
-getBooks(1).then(books => console.log(books))

+ 13 - 0
js15Danil12.2/index.html

@@ -0,0 +1,13 @@
+<!DOCTYPE html>
+<html lang='en'>
+    <head>
+        <meta charset='UTF-8' />
+        <meta name='viewport' content='width=device-width, initial-scale=1.0' />
+        <title>Home Work 15.2 JS</title>
+    </head>
+    <body>
+        <h1>Home Work 15.2</h1>
+        <script src='https://cdnjs.cloudflare.com/ajax/libs/axios/0.19.2/axios.js'></script> 
+        <script src='index.js'></script>  
+    </body>
+</html>

+ 87 - 0
js15Danil12.2/index.js

@@ -0,0 +1,87 @@
+//1 Создать функцию которая сохранит в глобальную переменную - массив всех пользователей из https://api-f22.herokuapp.com/. (GET)
+const url = 'https://api-f22.herokuapp.com/'
+const users = [];
+const films = [];
+
+
+// Home work 12.2 (HTTP, fetch)
+
+//1 Создать функцию которая будет создавать фильм
+// urn: /films
+//   method: POST
+//   body: {title: <название фильма>, author: <режисер>}
+function createFilm(filmTitle, filmAuthor) {
+    axios
+    .post(url + 'films', {title: filmTitle, author: filmAuthor})
+    .then(response => console.log(response.data))
+};
+createFilm('Hotel "Grand Budapest"', 'Wes Anderson');
+createFilm('Зелёный слоник"', 'Светлана Баскова');
+
+
+//2 Создать функцию которая будет добавлять id фильма для пользователя
+// urn: /users/addFilm
+//   method: POST
+//   body: {userId: <id пользовтеля>, filmId: <id фильма>}
+function addFilm(id, idOfFilm) {
+    axios
+    .post(url + 'users/addfilm' , {userId: id, filmId: idOfFilm})
+    .then(response => console.log(response.data))
+};
+addFilm(1, 2);
+
+//3 Создать функцию которая выведет на страницу (HTML) всех пользователей с фильмами в виде объектов (сделать то задание, которое делали в группе)
+function createUser() {
+    axios
+    .post(url + 'users/', {name: 'Kostya'})
+    .then(response => users.push(response.data))
+};
+ createUser();
+console.log(users)
+
+  function getFilms(id) {
+    const films = axios
+     .get(url + 'films/' + id)
+     .then(response => response.data)
+     return films;
+};
+getFilms('2').then(films => console.log(films))
+
+
+function getUsers() {
+    const users = axios
+     .get(url + 'users')
+     .then(response => response.data)
+     return users
+};
+getUsers().then(users => console.log(users))
+
+// function renderUsers() {
+//     document.body.innerHTML = '';
+//     for (let user of users) {                             НЕ РАБОТАЕТ ,  БУДУ ЕЩЁ ДУМАТЬ 
+//         document.body.innerHTML += `
+//         <div class = 'allUsers'>
+//         <h5>${user.name}<h5>
+//         <p>${user.id}</p>
+//         <div/>
+//         `
+//         for (let film of user.films) {
+//             document.body.innerHTML += `
+//             <div class = 'allUsers'>
+//             <h5>${user[film].author}<h5>
+//             <p>${user.films.title}</p>
+//             <p>${user.film.id}</p>
+//             <div/>
+//             `
+//         }
+//     }
+// }
+
+// getUsers().then((data) => {
+//     console.log(data)
+//     renderUsers(data.users)
+// })
+
+//4 Создать функцию которая возмет всех юзеров http://jsonplaceholder.typicode.com/users, 
+// потом запросит массив альбомов и добавит каждому юзеру в массив albums все эти альбомы http://jsonplaceholder.typicode.com/albums
+// смотрим на userId. После запрашиваем photos http://jsonplaceholder.typicode.com/photos и добавлем все фотки в альбомы по albumId каждому юзеру.

+ 12 - 36
js15Danil12/index.js

@@ -11,57 +11,33 @@ getUsers();
 console.log(allUsers)
 
 //2 Создать функцию которая создаст нового пользователя. После как бек его вернет с новым id, пушим в раннее созданную переменную его. (POST)
-function createUser() {
+function createUser(userName) {
     axios
-    .post(url + 'users/', {name: 'Kostya'})
+    .post(url + 'users/', {name: userName})
     .then(response => allUsers.push(response.data))
 };
- createUser();
+ createUser('Kostya');
 console.log(allUsers)
 
 //3 Создать функцию которая выводит в консоль пользователя по id. (GET with path-params)
-function getUserById() {
+function getUserById(id) {
     axios
-     .get(url + 'users/2')
+     .get(url + 'users/' + id)
      .then(response => console.log(response.data))
 }
-getUserById()
+getUserById(1)
 //4 Создать функцию которая удаляет пользователя по id. После когда удаление прошло, удалем этого пользователя из нашего локального массива. (DELETE with path-params)
-function deleteUserById() {
+function deleteUserById(id) {
     axios
-     .delete(url + 'users/2')
+     .delete(url + 'users/' + id)
      .then(response => console.log(response.data))
 }
-deleteUserById()
+deleteUserById(2)
 
 //5 Создать функцию которая обновляет пользователя по id. После когда обновление прошло, обновляем этого пользователя в нашем локальном массиве.
-function updateUserById() {
+function updateUserById(userId, userName) {
     axios
-     .patch(url + 'users/', {name: 'Ihor', id: 1})
+     .patch(url + 'users/', {name: userName, id: userId})
      .then(response => console.log(response.data))
 }
-updateUserById()
-
-
-// Home work 12.2 (HTTP, fetch)
-
-//1 Создать функцию которая будет создавать фильм
-// urn: /films
-//   method: POST
-//   body: {title: <название фильма>, author: <режисер>}
-
-
-
-//2 Создать функцию которая будет добавлять id фильма для пользователя
-// urn: /users/addFilm
-//   method: POST
-//   body: {userId: <id пользовтеля>, filmId: <id фильма>}
-
-
-//3 Создать функцию которая выведет на страницу (HTML) всех пользователей с фильмами в виде объектов (сделать то задание, которое делали в группе)
-
-
-
-//4 Создать функцию которая возмет всех юзеровhttp://jsonplaceholder.typicode.com/users, 
-// потом запросит массив альбомов и добавит каждому юзеру в массив albums все эти альбомы http://jsonplaceholder.typicode.com/albums
-// смотрим на userId. После запрашиваем photos http://jsonplaceholder.typicode.com/photos и добавлем все фотки в альбомы по albumId каждому юзеру.
+updateUserById(1, 'Ihor')