From 7a0e32c3f90fe7ca814dd33f5258de3cbdbbf98d Mon Sep 17 00:00:00 2001 From: adirhno <94399027+adirhno@users.noreply.github.com> Date: Thu, 18 Nov 2021 19:58:43 +0200 Subject: [PATCH 01/11] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index a633185..cfe8a91 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,3 @@ # JBFullStack29 Lets start with GitHub !! +hello From 62a89e085a685e01ba8baf520f1200bed9e3826e Mon Sep 17 00:00:00 2001 From: adirhno <94399027+adirhno@users.noreply.github.com> Date: Thu, 2 Dec 2021 19:16:26 +0200 Subject: [PATCH 02/11] new update new --- Ex/2021-12-02/hanuka.html | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Ex/2021-12-02/hanuka.html b/Ex/2021-12-02/hanuka.html index 4612421..f888c73 100644 --- a/Ex/2021-12-02/hanuka.html +++ b/Ex/2021-12-02/hanuka.html @@ -44,4 +44,6 @@

חנוכה שמח

- \ No newline at end of file + + +
\ No newline at end of file From 3eb1d3e4a1a37043ae73611c0513fee24a82b6fc Mon Sep 17 00:00:00 2001 From: adirhno <94399027+adirhno@users.noreply.github.com> Date: Thu, 2 Dec 2021 19:20:28 +0200 Subject: [PATCH 03/11] new update --- project/project.css | 0 project/project.html | 0 project/project.js | 0 3 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 project/project.css create mode 100644 project/project.html create mode 100644 project/project.js diff --git a/project/project.css b/project/project.css new file mode 100644 index 0000000..e69de29 diff --git a/project/project.html b/project/project.html new file mode 100644 index 0000000..e69de29 diff --git a/project/project.js b/project/project.js new file mode 100644 index 0000000..e69de29 From edd978fa2d7d33b8fa0d00e55434f65fbce3b4d9 Mon Sep 17 00:00:00 2001 From: adirhno <94399027+adirhno@users.noreply.github.com> Date: Thu, 2 Dec 2021 19:22:20 +0200 Subject: [PATCH 04/11] new update --- project/project.css | 46 +++++++++++++++++++++++++++++++++++ project/project.html | 57 ++++++++++++++++++++++++++++++++++++++++++++ project/project.js | 55 ++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 158 insertions(+) diff --git a/project/project.css b/project/project.css index e69de29..337d154 100644 --- a/project/project.css +++ b/project/project.css @@ -0,0 +1,46 @@ + + +body{background-image: url('tile.jpg');} + +h1 img { + + display: block; + margin-left: auto; + margin-right: auto;} + + + h1{text-align: center; + font-family: Brush Script MT, Brush Script Std, cursive; + font-size: 80px;} + + form{text-align: center; + + position: absolute; + top: 40%; + left: 50%; + transform: translate(-50%, -50%); + + + } + + + #taskDiv div{float: left; + + + padding: 25px; + + background-image: url(notebg.png); + + width:180px; + height:220px; + + + margin-left: 30px; + + display: block; + top: 50%; + left: 50%;} + + p{margin-bottom: 100px;} + + \ No newline at end of file diff --git a/project/project.html b/project/project.html index e69de29..9e83ed4 100644 --- a/project/project.html +++ b/project/project.html @@ -0,0 +1,57 @@ + + + + project + + + + + + + + + + + + +

My Task Board

+
+

+ + + +
+ +
+

+ + + +

+ + +
+

+ + +
+ + + + + + + + + + + + + + + + + + + + diff --git a/project/project.js b/project/project.js index e69de29..9036bf0 100644 --- a/project/project.js +++ b/project/project.js @@ -0,0 +1,55 @@ +function addTask(){ + + const task={ + + Name : this.Name, + dueDate : this.dueDate, + dueTime : this.dueTime + }; + + task.Name=document.getElementById('task').value + task.dueDate= document.getElementById('date').value + task.dueTime= document.getElementById('time').value; + + + + + let newTask= document.createElement("div"); + + let taskname= document.createElement("p"); + let taskdate= document.createElement("p"); + let tasktime= document.createElement("p"); + + newTask.appendChild(taskname); + newTask.appendChild(taskdate); + newTask.appendChild(tasktime); + + + let taskN=document.createTextNode(task.Name); + let taskD=document.createTextNode(task.dueDate); + let taskT=document.createTextNode(task.dueTime); + + taskname.appendChild(taskN); + taskdate.appendChild(taskD); + tasktime.appendChild(taskT); + + + let br = document.createElement("br"); + taskname.appendChild(br); + + + + + + + + + document.getElementById('taskDiv').appendChild(newTask); + + + + + } + + + \ No newline at end of file From 8aae02ad75e325cb3f0ff8e83e80ce058b8a761e Mon Sep 17 00:00:00 2001 From: adirhno <94399027+adirhno@users.noreply.github.com> Date: Thu, 2 Dec 2021 20:59:47 +0200 Subject: [PATCH 05/11] new update --- Ex/2021-12-02/hanuka.html | 13 ++++++++---- Ex/2021-12-02/js/hanuka_oop.js | 36 +++++++++++++++++++++++++++++++++- 2 files changed, 44 insertions(+), 5 deletions(-) diff --git a/Ex/2021-12-02/hanuka.html b/Ex/2021-12-02/hanuka.html index f888c73..8a45c95 100644 --- a/Ex/2021-12-02/hanuka.html +++ b/Ex/2021-12-02/hanuka.html @@ -11,10 +11,13 @@ bootstrap grid sample - +

חנוכה שמח

-
-
+ + +
+
+
@@ -36,7 +39,9 @@

חנוכה שמח

- הדלק נר + + +
diff --git a/Ex/2021-12-02/js/hanuka_oop.js b/Ex/2021-12-02/js/hanuka_oop.js index 17495fd..56d69b0 100644 --- a/Ex/2021-12-02/js/hanuka_oop.js +++ b/Ex/2021-12-02/js/hanuka_oop.js @@ -69,4 +69,38 @@ function initPage(){ function lightCandle(){ if (nextCandleIndex < candleDays.length) dayCandles[nextCandleIndex].show(); -} \ No newline at end of file + + disableButton() + + + +} + +function disableButton(){ + + if (nextCandleIndex == candleDays.length) + + {document.getElementById('newCandle').disabled=true;} + + +} + + + + + + +function eraseCandle(){ + + + let erase=document.getElementsByClassName('container'); + + erase.classList.remove("col-lg-1"); + + + } + + + + + From 8045b2de814a108bfcaac54a3b1d2d6f610cf236 Mon Sep 17 00:00:00 2001 From: adirhno <94399027+adirhno@users.noreply.github.com> Date: Thu, 9 Dec 2021 19:57:25 +0200 Subject: [PATCH 06/11] new update new --- Ex/2021-12-02/project.Fjs | 66 +++++++++++++++++++ Ex/2021-12-02/projectF.css | 128 ++++++++++++++++++++++++++++++++++++ Ex/2021-12-02/projectF.html | 57 ++++++++++++++++ project/project.js | 89 ++++++++++--------------- 4 files changed, 285 insertions(+), 55 deletions(-) create mode 100644 Ex/2021-12-02/project.Fjs create mode 100644 Ex/2021-12-02/projectF.css create mode 100644 Ex/2021-12-02/projectF.html diff --git a/Ex/2021-12-02/project.Fjs b/Ex/2021-12-02/project.Fjs new file mode 100644 index 0000000..7cb6a4f --- /dev/null +++ b/Ex/2021-12-02/project.Fjs @@ -0,0 +1,66 @@ +let tasks = []; +let deleteBtn = []; + +document.addEventListener("DOMContentLoaded", () => { + tasks = JSON.parse(window.localStorage.getItem("tasks")); + drawTaskCard(); +}); + +let task = { + name: "", + date: "", + time: "", +}; + +function addTask() { + const name = document.querySelector("textarea").value; + const date = document.getElementById("date").value; + const time = document.getElementById("time").value; + + task = { + name, + date, + time, + }; + + tasks.push({ ...task }); + localStorage.setItem("tasks", JSON.stringify(tasks)); +} + +function drawTaskCard() { + const taskContainer = document.querySelector(".col-3"); + taskContainer.innerHTML = ""; + tasks.forEach((task, index) => { + // drawing the card each time clicked on addTask with the task object values. + taskContainer.innerHTML += ` +
+ +
${task.name}
+

${task.time} ${task.date}

+
+ `; + }); + + const taskCards = document.querySelectorAll(".task_Id"); + const removeButton = document.querySelectorAll(".remove-btn"); + taskCards.forEach((_, index) => { + removeButton[index].addEventListener("click", () => { + tasks.splice(index, 1); // removing the exact index clicked + window.localStorage.setItem("tasks", JSON.stringify(tasks)); // saving the updated task to the localstorage + location.reload(); // reloading window to apply changes + }); + }); +} + +const form = document.querySelector("form"); +form.addEventListener("submit", (e) => { + e.preventDefault(); + addTask(); + drawTaskCard(); +}); + +function resetForm() { + document.getElementById("form").reset(); +} diff --git a/Ex/2021-12-02/projectF.css b/Ex/2021-12-02/projectF.css new file mode 100644 index 0000000..044c1a5 --- /dev/null +++ b/Ex/2021-12-02/projectF.css @@ -0,0 +1,128 @@ +body { + background-image: url("tile.jpg"); +} + +h1 img { + display: block; + margin-left: auto; + margin-right: auto; +} + +h1 { + text-align: center; + font-family: Brush Script MT, Brush Script Std, cursive; + font-size: 80px; +} + +input, +label { + font-family: "Lobster", cursive; + font-size: 15px; +} + +form { + position: absolute; + top: 40%; + left: 50%; + transform: translate(-50%, -50%); +} + +.task_Id { + float: left; + padding-top: 22px; + padding-right: 22px; + padding-bottom: 30px; + padding-left: 5px; + background-image: url(notebg.png); + width: 190px; + height: 220px; + margin-left: 4px; + display: block; + top: 50%; + left: 50%; + transition: 3s; + opacity: 1; + text-align: justify; + overflow: auto; + word-break: break-all; + overflow-y: auto; +} + +div.new_Task:active { + transition: height 4s; + opacity: 0.2; +} + +div.new_Task { + height: 20px; + padding-top: 22px; + padding-right: 22px; + padding-bottom: 30px; + padding-left: 17px; + text-align: center; + word-break: break-all; + width: 150px; + padding: 15px; + overflow: hidden; + margin-left: 10px; +} + +p { + top: 80%; + margin: 0; + padding: 0; + position: relative; + bottom: 0; +} + +#delButton { + opacity: 0.02; +} + +#delButton:hover { + opacity: 1; +} + +#delButton { + left: 190px; + top: -40px; + position: sticky; +} + +#content { + text-align: left; + padding-right: 10px; + width: 150px; + height: 110px; + padding-top: 1px; + position: absolute; + overflow: auto; + word-break: break-all; + overflow-y: auto; + padding: 5px; + margin-top: 15px; + margin-right: 5px; + margin-left: -10px; +} + +#textarea { + display: inline-block; + word-spacing: 0px; +} + +.task_Id- { + opacity: 1; + animation-name: fadeInOpacity; + animation-iteration-count: 1; + animation-timing-function: ease-in; + animation-duration: 0.3s; +} + +@keyframes fadeInOpacity { + 0% { + opacity: 0; + } + 100% { + opacity: 1; + } +} diff --git a/Ex/2021-12-02/projectF.html b/Ex/2021-12-02/projectF.html new file mode 100644 index 0000000..9e83ed4 --- /dev/null +++ b/Ex/2021-12-02/projectF.html @@ -0,0 +1,57 @@ + + + + project + + + + + + + + + + + + +

My Task Board

+
+

+ + + +
+ +
+

+ + + +

+ + +
+

+ + +
+ + + +
+
+ + + + + + + + + + + + + + + diff --git a/project/project.js b/project/project.js index 9036bf0..bcdd4c6 100644 --- a/project/project.js +++ b/project/project.js @@ -1,55 +1,34 @@ -function addTask(){ - - const task={ - - Name : this.Name, - dueDate : this.dueDate, - dueTime : this.dueTime - }; - - task.Name=document.getElementById('task').value - task.dueDate= document.getElementById('date').value - task.dueTime= document.getElementById('time').value; - - - - - let newTask= document.createElement("div"); - - let taskname= document.createElement("p"); - let taskdate= document.createElement("p"); - let tasktime= document.createElement("p"); - - newTask.appendChild(taskname); - newTask.appendChild(taskdate); - newTask.appendChild(tasktime); - - - let taskN=document.createTextNode(task.Name); - let taskD=document.createTextNode(task.dueDate); - let taskT=document.createTextNode(task.dueTime); - - taskname.appendChild(taskN); - taskdate.appendChild(taskD); - tasktime.appendChild(taskT); - - - let br = document.createElement("br"); - taskname.appendChild(br); - - - - - - - - - document.getElementById('taskDiv').appendChild(newTask); - - - - - } - - - \ No newline at end of file +function addTask() { + const task = { + Name: this.Name, + dueDate: this.dueDate, + dueTime: this.dueTime, + }; + + task.Name = document.getElementById("task").value; + task.dueDate = document.getElementById("date").value; + task.dueTime = document.getElementById("time").value; + + let newTask = document.createElement("div"); + + let taskname = document.createElement("p"); + let taskdate = document.createElement("p"); + let tasktime = document.createElement("p"); + + newTask.appendChild(taskname); + newTask.appendChild(taskdate); + newTask.appendChild(tasktime); + + let taskN = document.createTextNode(task.Name); + let taskD = document.createTextNode(task.dueDate); + let taskT = document.createTextNode(task.dueTime); + + taskname.appendChild(taskN); + taskdate.appendChild(taskD); + tasktime.appendChild(taskT); + + let br = document.createElement("br"); + taskname.appendChild(br); + + document.getElementById("taskDiv").appendChild(newTask); +} From 6c6f00f93519a6c5535ab16d55e294b766772489 Mon Sep 17 00:00:00 2001 From: adirhno <94399027+adirhno@users.noreply.github.com> Date: Thu, 9 Dec 2021 20:38:22 +0200 Subject: [PATCH 07/11] e --- project/new/formbg.jpg | Bin 0 -> 19365 bytes project/new/notebg.png | Bin 0 -> 15156 bytes project/new/projectF.css | 128 ++++++++++++++++++++++++++++++++++++++ project/new/projectF.html | 59 ++++++++++++++++++ project/new/projectF.js | 66 ++++++++++++++++++++ project/new/tile.jpg | Bin 0 -> 82147 bytes project/new/title.png | Bin 0 -> 13829 bytes project/newprojectF.html | 57 +++++++++++++++++ project/project.html | 4 +- 9 files changed, 312 insertions(+), 2 deletions(-) create mode 100644 project/new/formbg.jpg create mode 100644 project/new/notebg.png create mode 100644 project/new/projectF.css create mode 100644 project/new/projectF.html create mode 100644 project/new/projectF.js create mode 100644 project/new/tile.jpg create mode 100644 project/new/title.png create mode 100644 project/newprojectF.html diff --git a/project/new/formbg.jpg b/project/new/formbg.jpg new file mode 100644 index 0000000000000000000000000000000000000000..679020c8a4352547b8a8d0e8424872e412f95031 GIT binary patch literal 19365 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 OVx-shg?+`+JO2YPY{wM< literal 0 HcmV?d00001 diff --git a/project/new/notebg.png b/project/new/notebg.png new file mode 100644 index 0000000000000000000000000000000000000000..db1da24e2183a9187291e0e8b38719d4841a2c9b GIT binary patch literal 15156 zcmV-4JIln0P)KLZ*U+IBfRsybQWXdwQbLP>6pAqfylh#{fb6;Z(vMMVS~$e@S=j*ftg6;Uhf59&ghTmgWD0l;*T zI709Y^p6lP1rIRMx#05C~cW=H_Aw*bJ-5DT&Z2n+x)QHX^p z00esgV8|mQcmRZ%02D^@S3L16t`O%c004NIvOKvYIYoh62rY33S640`D9%Y2D-rV&neh&#Q1i z007~1e$oCcFS8neI|hJl{-P!B1ZZ9hpmq0)X0i`JwE&>$+E?>%_LC6RbVIkUx0b+_+BaR3cnT7Zv!AJxW zizFb)h!jyGOOZ85F;a?DAXP{m@;!0_IfqH8(HlgRxt7s3}k3K`kFu>>-2Q$QMFfPW!La{h336o>X zu_CMttHv6zR;&ZNiS=X8v3CR#fknUxHUxJ0uoBa_M6WNWeqIg~6QE69c9o#eyhGvpiOA@W-aonk<7r1(?fC{oI5N*U!4 zfg=2N-7=cNnjjOr{yriy6mMFgG#l znCF=fnQv8CDz++o6_Lscl}eQ+l^ZHARH>?_s@|##Rr6KLRFA1%Q+=*RRWnoLsR`7U zt5vFIcfW3@?wFpwUVxrVZ>QdQz32KIeJ}k~{cZZE^+ya? z2D1z#2HOnI7(B%_ac?{wFUQ;QQA1tBKtrWrm0_3Rgps+?Jfqb{jYbcQX~taRB;#$y zZN{S}1|}gUOHJxc?wV3fxuz+mJ4`!F$IZ;mqRrNsHJd##*D~ju=bP7?-?v~|cv>vB zsJ6IeNwVZxrdjT`yl#bBIa#GxRa#xMMy;K#CDyyGyQdMSxlWT#tDe?p!?5wT$+oGt z8L;Kp2HUQ-ZMJ=3XJQv;x5ci*?vuTfeY$;({XGW_huIFR9a(?@3)XSs8O^N5RyOM=TTmp(3=8^+zpz2r)C z^>JO{deZfso3oq3?Wo(Y?l$ge?uXo;%ru`Vo>?<<(8I_>;8Eq#KMS9gFl*neeosSB zfoHYnBQIkwkyowPu(zdms`p{<7e4kra-ZWq<2*OsGTvEV%s0Td$hXT+!*8Bnh2KMe zBmZRodjHV?r+_5^X9J0WL4jKW`}lf%A-|44I@@LTvf1rHjG(ze6+w@Jt%Bvjts!X0 z?2xS?_ve_-kiKB_KiJlZ$9G`c^=E@oNG)mWWaNo-3TIW8)$Hg0Ub-~8?KhvJ>$ z3*&nim@mj(aCxE5!t{lw7O5^0EIO7zOo&c6l<+|iDySBWCGrz@C5{St!X3hAA}`T4 z(TLbXTq+(;@<=L8dXnssyft|w#WSTW<++3>sgS%(4NTpeI-VAqb|7ssJvzNHgOZVu zaYCvgO_R1~>SyL=cFU|~g|hy|Zi}}s9+d~lYqOB71z9Z$wnC=pR9Yz4DhIM>Wmjgu z&56o6maCpC&F##y%G;1PobR9i?GnNg;gYtchD%p19a!eQtZF&3JaKv33gZ<8D~47E ztUS1iwkmDaPpj=$m#%)jCVEY4fnLGNg2A-`YwHVD3gv};>)hAvT~AmqS>Lr``i7kw zJ{5_It`yrBmlc25DBO7E8;5VoznR>Ww5hAaxn$2~(q`%A-YuS64wkBy=9dm`4cXeX z4c}I@?e+FW+b@^RDBHV(wnMq2zdX3SWv9u`%{xC-q*U}&`cyXV(%rRT*Z6MH?i+i& z_B8C(+grT%{XWUQ+f@NoP1R=AW&26{v-dx)iK^-Nmiuj8txj!m?Z*Ss1N{dh4z}01 z)YTo*JycSU)+_5r4#yw9{+;i4Ee$peRgIj+;v;ZGdF1K$3E%e~4LaI(jC-u%2h$&R z9cLXcYC@Xwnns&bn)_Q~Te?roKGD|d-g^8;+aC{{G(1^(O7m37Y1-+6)01cN&y1aw zoqc{T`P^XJqPBbIW6s}d4{z_f5Om?vMgNQEJG?v2T=KYd^0M3I6IZxbny)%vZR&LD zJpPl@Psh8QyPB@KTx+@RdcC!KX7}kEo;S|j^u2lU7XQ}Oo;f|;z4Ll+_r>@1-xl3| zawq-H%e&ckC+@AhPrP6BKT#_XdT7&;F71j}Joy zkC~6lh7E@6o;W@^IpRNZ{ptLtL(gQ-CY~4mqW;US7Zxvm_|@yz&e53Bp_lTPlfP|z zrTyx_>lv@x#=^!PzR7qqF<$gm`|ZJZ+;<)Cqu&ot2z=0000WV@Og>004R=004l4008;_004mL004C`008P>0026e000+nl3&F} z001ywNklFHTG6m5D$kRF+qWYeTTn}!Vw zlmr7dAefK=85RxOPqyI)zxY7{49kEm*|0D$!3PR@5FlBEDAS}UlIC#8k;s|pp6=)pS)Xko{J?Gz@sH&{2n>WvQ{wLxe5hp^-jD&=QcZQ}VNJvNo zNk~WpNk~WpNk~WpNk~WpNl19?;nNblH;i8cme|-6zYe&!9x;mLIpsIL(bAKn|J>cb z^9wqkJxRXkP!=QGzVf~5)1Uv}vrj+$f4OUik*xv5_~zG$zySESYYfHlAE$*+1lc&I z00K_lMi9IgIlccs$qRq{SJebUgb*Og6}|n&mF(85U$yCv{cAk+bN?CMmxS>dCKB zRd0UnBBDRK4PDO%%}@bR zq4@gm{H417$*&RW3#(*#z&)AK|LTBL(~tn6*6QS1 z6df}VGce=4jK?rg#gB$Pj_x!r7+@yIP8a{vU%*;^<;O`{>O_#uwIuWeekg(q#1|Eg zYS`ZW4qy3G|EvA(|NCExabZ2M=2r=USXS_-|IDvsdk0Vihz6fg++Tbe>3NL!4iSKa zM34;??D~ZWpWUVWwF%+H+i>;T-)Qv*{}JQy;rSOi6+|Jb=KQ&z{oC%Re)?~ldSt&u zo(-@afdaEC8IDAdPaa9ggzP8xvETkWJa_9rtGtg$qgjA_Sus31VfpkIf91xLf8xJr z`6==vf*dXpJjS_OmGHPCB?>>#63OaUeTznj=*}*!U;NV;@zcc6H3Sieb>zk8-{6(o zXDmkLKb!YnCw_T^9M-GXki?BmupoiI`NPWoUp6QVe*nv~$Z{rhdxD!p7zlCVh*`9b zAfXW4uEA|J^@80n8NY$`mL}~^U@~$x*cB;;(b_YRt0s$kVpr5;?jXZxMNiljRD$Jq zMOwRt<;MKXn|~@Y4n}cH<+B9NqEQqXds~s&nOSE`#PW!*lzvYwyJi$8Mmd9OJCaR6 zb0?jh!08x^ICFdG=`rkDUBUI)47_?MpQKOHc}gg+KwO5bMVJ zmbtN13yabnx}W8y2^NtUDHl`9q99YxlmFe%JhlHH{>YCTi$%n;2h+%{M#T?79HCO;Z$Ic&n&Rue^lh_FMjQ=o-so4^qwhNDLyq6`o_gLnng z*Fh?3ei&trqlH-kWFR#)_wZZ=B7qasu7Hd&woxLH5s?F+e`y4f82{GKBk}J(I2ql_ z>>FZ=QG*DEB4(@jz5tFWCE!q8^L4AgYo5LU0l@)^5fKzD0QJS^8w3o8VF7a@stPeQ zZ$!kfT96E^Fsv<58AOP_`FxCTPEM>7p?ROH&~0NOWc718>fe5i@U?H?@6V7jV0DGe zCe(lVukzim{auQG{`>q(fAl}n{nB-eaAj8?C&5BbD` ziLGRcG}~STyLiBc(r!YS7sP7FB^M9>fsZZczn2UwYhFj}q0OQQ;*bhV0Oydn`nR$Q z??`v`+HJXTdkko4vym?Y=ige+S7r72jOsUE!T!cSMXL%~W!NnS$TG5@{5Oza`g?>j z@bX{#CBE>rze0AS3)ByhWc9Pl!@}nAgk$kHn`bn`Fi|8sL6`i6YKJe=l$Ow{QKut-i$Gz6n_oQsP5|eJ_># zz*2pDXsoH-9%KKYa13jaMZv05_*;+eMc;6%z3Pvp~D$E zUoiTwevy7Y+$B86Ld36b|t zj>U0J;xvetu9A{P%Vw{CcTjG z-VayQ!(pHJtvhH}k-UO8ZelUr|lhZrFpLu(~&@X?%W z3O(1qe?9c3CYm1FhdjXCU-&ZNk8WefQzUc9-}+y$U;Y|QN07C#+E#+zh-OGpGdSF8 zB6$gG)JAb&O!}bHOR^x#VEAa5CX#$me$>ck_R;_T-@^Xq-$K592SJh18Dd5h2UJaH zxD0SMCq8>f=Rf&V&F9l`w7!!{bSbooOS2%6?hc%&q(Zq5sYGhr7Z0$%{&Up-_jA~< zJ_oNJ;qr(sOX_mb=+Ispe(Ec@U;Jt0*=w+g0{wB;gH!`>Js}%j5<#kkUW8QB$@bx7 zVvY12*x!F}Y23`?Zj!Jc}CHx5g_@bCXg{FlE9ELRl<#ihi8(kW$Ns>pc&>k=YJbw)?xl9HUChbIEqxut{XNysW!49`PN}bQ$^)9+Cir z4)c>^>Uv3cXNOBF4N7=u-D6Y!)NhJxvsW(3#mY{RI0v_#7X71H5JS=S8QmLWe&jFy z9Ic%`W+8c0m%Q#xWuPe>M7W$o$-}sB&`Hno(d0T>aqzh<;9n+Mk;w5eK%-!yZINnQ zm|ue~_>_+Rsp6t7r5s$;FbZ zUE`H3^<+xeSW6<>SGKs6C{`4X1RDulOAc1T<|&bgS?FGtj`l|Ig7^nMT|&YJIa;O& z^3;RdiR*T;Y>^8rOgMPZOdug)Qy8K|TL_$7k_C~SR^(n^X}zWSLPEl3Xb=-}W56Y4 z(q{{BBg6Jn6f0p9RS4+5ykqyBH4wy+Inb6RawKe?f7NIZ(NfvH919Z2O9*2%|71!O zCTyDZXm)IM*xb3f1cDgq#N2ig=Lwrg4-rL>!^^r6>y_=6*=dH>q-O648|Gj&mkOn> zBV#V>M&Vq<#vs?zk|%7OJ_igLz&4ju&D%jlHQj(q*i429ShjSR)SuZaliIL(TI__) zbFrZ5(_7uZ>MqD~?F7O0N|U1?@7QrXA>lE$9~WD-a!qe(w{|znM>(aLa`bK^3=$F^ zXBW#5vH@uOax4ftB8(gtEou@u5;lz{u`o{RO9}I0M~0Lo>Dq0=Mye12%mnW)hal45 zH=F*r$ooxnN=SJ8M2G-U^s{Pxe;Ey|z2S3#*MKjk6;IeuOY*x>?wrEY>nBKB+=NdG zlvW~0Lc)7d8yr4TYqTbE%$gr?LaAz@=JNDdyc9awW!uV0OSNd!sQWP%hz zMr3js76b$8w8#k?j0hf)-Su0Lm8eNYSP7d9ZGuflwss35L?c}%OxS3lZmWFWowXnI zer1x91xeUE7S zlJH5;ASUq=x+|WCd6Nc7*kqD8K$YHq2yet>?W@#v|bqAww?WO!IXUD?v1cc@sV{UKa4vKl2N~Vr?I*M4=^?By2uMR%o>k z*Cy0`BW^4vS1VyNA*%yk-sBjWt&1R5gQU)i37-h20C4^4)0l-d5rjIqSP7eKJ>JR> zp8wuIU#pAtkcmn>N!U!oA?O7|Zrr$mt;s1m7wJiWBy2cK8iM@VKmI!m27|Q{L|A1D z6B0HQ?z|eL*WD)b*&0Q9W1~80jT1H)opTFv|Kv4Vt@WMvUO+(lNq;14s{R1$ookRk z{~!F<{Kjv5ZJi=r1f_Jib(@%YFjT%H$K(e&V2^&li&qGnH)6;wF zBZwek>z-Scknr)Mdbow|m7VLvxVA*005VN$oUp+dKiqg^SufX_Ne5DA#e~hqoAz&i z`wB7EYb8iR!Y2kHED2$41lelC_}R3q2^)+jOn5T#Pfo%3%xBm4!oFr}Ea-13{7jlO zm9U90Yz#V9E@Q%!1w>?O5=p~!5;l|~{U+J1mp~AX5evJBV3+U>5)v*OVpJycRkmW? z1Q8)(V>Lx2BrB4zfrvecoq@=JwNJTK0?n-SkQ7M5Mk)~S6%?__p0C-02s^-Xt6^TM zdQaFic#zOCi3iYHzXgd_17WGjcqDA3{fLMK4E4$m>#myeA{pRo$kS>kY@+@E6rtWW zCYNAASRz&qC6&4-Y#d}o2*advs_d@cf*1}Fe>D~KCTyaEC9JOeG5b6m{o}P;5Z{=n zQKSBo6-n4cD1$v=NFODAGD7Y%D<(?W%OwFVckrU{Z&tpA|xl7Zf5;oe3NH&PpZG$YrNJWl?+2I>5qg>mg-OsVBT*E7S~9SAQPZmXlgl{u*noL5Ox&$tg{}= zE7yVXR!S5mY&Ju*9XRO;qxD)4SOCjOb5$`7oJ!bC7t5#?G3YpkHER%w3yipRG5J80 zG_o*Z^C+Twv$6e~i)s7sh_2DaqG?`z3&w~DmdKH?acC}ToSq#2=)JpR+!|Xe_(~m^ zW!{Wt%2W#XCTto%48$<(*=50c2?7xWF%!%TO$ozC_tKetUA;^=dZa|D_fgT_fP`m7;GVEKdpAc=JCUtc2&xtuETDt)t;EGjUbN3 zYtweRa+|Q33=zQ7QlDKpIF#+d0cPvzu;|sU0Q0^v_Gy4;!iI_vkccR~S6=__VY}74 zxi%LoumsAnAh|#%t#-m@k>gx8MfyDset$qS&~pt05$OVS1nDIADq%API)E}8 zRll9jt5-6u)<}?s6ceyHND}D@8w=lR&3fH!GM}+Fk!}Pax`r$X37hO~RqgvHuhD9) zFH`87p1g6kx{1|J%bc*W7R1R`zqjq$?N(TuNEa4B)s1E@Fp=bp&&x(MeX8%W7=|Sq;wV2#a1?IUvS$ zB?|crun-uf`D+OqZ9$yV{%Cs7xBI>IWzvoNKp7wuitC!mL$T$AgbkvIi><7?<@?)L zh;coW&AnO|@EXNuDNmTN(H2Bqrz(n82ung(6G5;p;7$-3BJ`W+4GV0C{xVW62kgzFe4)rWkKbZ`>&h^))L4+9)7GiGJlntjl=?RTm2?-lx zKSY3ldTpx{=`#k$72EGUX4J3BkX_~y zc`rU3I(6cmw(JAb6qNZv=ZH zN5bY>5%1YA%6Ye_YeJ~jp+OYDjF_hdPS|Ywp+H<#G4FT!Z9@I%QCSbgiXdic3dnS`SXv0Z=~8Qn8dt}tO!O^AR%=3I4pbTSy9PFCF&A1yNL zjdGud)QqO;$+L3Nuda- zMOMN_Ian9JDpJ?=GE-;mot>TKqq))mrAu zLBH3ft{*L%?xRcq#ZXPRK@v7yi-=kcD$C{BPN)N+eq;?&tn5adr0{OSrdtq~>5kKu z6~%lj&kI6)L<{o3rLw)WzzLfU?ofxRybj!Er|DS zTLtoR+Fcgb>2?S6M;WH$WtB)V+%PHhgiY5Vn479v2zAv}sdjg^`}0TX^zLhp8gaw2 z($useVZ#a1YRjH#=IeUt=d;u8X{USpkqFWxSOoC<$;C?8Yy`k6QD=y;EY1#Gb`8^y zF4VoU3n)S*Feha~5;j_-XKtV>8Dut@ogL1m%SW0O;&tU>8H=Lv;Sxs@HdKG$FpCfa zio|kR>|EXdRMu&?s`wFwx`!Q_L}9%xl!)o-Mq$c{By1842xPvMIWLaNDhv76qFDB& z)f#=&9&(E9(0p`WY`VK!B1gjJ(Zc{D&bgL2X^CpA>Z&uDjdu~jKH`7Ak^*oD^`Rqz zrE1=U$JE!fq&^vssu0L7;$_oWeqA-lWu!~Dm2?>uM zJp{!Nf;2nz;wFd~;7|?GImDtN8f-YackRg=U!>L1kK`D6Ppc6(IK@0j8iA1Tc!_T_ zLnHz%;%q^T1%7)EdxtS=s;fYq08!)&wTk&ZWsDy(1>Bgk#IhhClMs! zaX~~d#5}Qvc>0@2IKkxSVbE!Az*-HWD}pFKQ;&dH7R!9Hyn6kJ9bko2^_d zp^HS)2!w>kM{P7?$s-Yop8Du_@a0X+MZ)mc@vVQ4&@OTEkP9Y~IgL)hM5D!6wNH-k z9k$)z_@m@QE)s=Uxo3=$@kn?~$Z_rtDb6~Sr{6*IKSX>Ru?&jWiN{|@Z+w-g^VP8~ z2$argh%t&0A!d~M=7(S1I!{K(J&RmfQU*v&KAoZvSNEM z*cyLW9pa6Xm1!!PcO}VsBz(VRxq-D|cncZ*dK1o-7D9EQkp&}Y8y8NfPks;U{4CK0 zJR(`vUX_AE(Q$twHhEHC<`t)=4hwS+7Rpu)ft4s<# z;rlAfg@Dkmgg8&jZ-aEy(<4c$MB z_p&8XFK8gn#p!IcTNcH^!QQ9tewc2HK5)D;U6VRxKoUMqRy5U9f`~%xsn5QNOnw{h z4T)_aynoEe0Ik8dvHW=`eiYSK@gSUQsClzcw9ZcNJ@M(MK6m%S+%WXEa;pU2Ne?aI zFh%TnhIltQ}%TG>2(G ztcML>hqK?pF(mpfY5}zmS1fC$ppj^Xdc(;H13Bxd%idDHtFaE#UY?(P`g5QA(n#ck zWz{`)rO_ZVxd)TR9;IMb!X+RI1W{a}#Irwy+3%yS!svm0lsZ5|sSs0~4`#A|a{KI4 z|Lo7{6dUB@kd$9e?WrBd839(FqI~vm8?g?y1c5!#W5UMAD!I6 z&i*Mb+y>_f+CgGdv1{*fGK&e(M=Tl=6(=<~fvmll75gu}e(U=0J%7u+bmyd;iOqZ~ z6ZhtQY&f5V$#i^uGCkfq*uOfA;r*joK3uf@iKrPVo1U;v%@M?a4w4sy;UD5=zk_Ox z=@wB0vGRQfHrc9h#MJ^Cp)H}VuHC&i96a~J?VWGjIu7^8^E`+vedcI8(RU!5p;)ZK zqIdW1&1ZX^-EVx5&hM)mg#v^;jet&gbP>+QfeRU0XE3@&nEfWcK1Edtx`kLk?Lji{ z!M`(vxVqEonnT-Fs0haXc$n|J^vY{{zyH!*|Kjmvna6tSJ5F6UGiR&UdY7~!VlBK> z@!tJcpWWJd>KjejiM)@C#oo&In~KTEz$9@b;X@PS!t*eU46`=OCg|uJgynNcCPd%E zqBIwr-sN>_19C?o&@0+RRTrwzPfFH%ow(Hjxjh3o_rS?jODK%rnpa$e_Q~pT1WKytj))VZ87G6B0g% zOQqt8=7`G~Vf05x@hx0jfOwGpD$DH=v8KU-G@UzD419s;AXcG&`~LXgyRY88^6gje z<*&?U%Md7>7js=FZQQDNi5aGAx)LrfR`qiG_RU*g{L&Zxl|QieD1rCJ`HaGN3^6Fq zC6Xk(O?F#jH=;y@ZsSqang5)3|Q4we0Tqw)^Tla>$-+AMH z|Aja1>#fPm7DavEIVWB-^$uGVA-?rptf^X14Y3eThi`moS^oGpq4TajnrCG}ggO_P zHEk9X5*|_+tE<>ST1e$#_A1rlMf~z6B2!daz&22?ND;skbrtv;*c%pA=j8ry_xacE z559ZrsJ=HGv#f2ZEwA1=>9n=EEode*?Wf}9QQm62_Ug0I8`p2&`sTBr{qz@Jd^b1i zp&5nMK(MW}B@&3MP^)^tqbAhV5}Ce6oIQtxdt|n3M7irB(NGB(HA)V?4cZwkiru^S z&-Pw;`JVe1cTX5j=2b(=V6v@SXcdsV*kG}hrPu=+3 z_dYx9*>v?!ETPQSUo<&g|}JTo$FxB$Mc!(C%f@^w2eHwwN_!_$aME zFIQmIc$H_`Ipa6|;-7jmOSfya!aWYCb=?aW=gFBcJ*75B-Z)yT$p1Di8Np1gQD#CI>oV|+9zk?6Q;3~*kglvB_t+ro2xxe@AyCb=K=TuLQ zCe=KKD1?PmS2^Kd z52@NwwBx87-Xv_U!7zw)Kpe5G(b?;;d;wp*WFo=L4NhkDjr&KltFIg#x8AsS7VnNG zjHh`XwHC#R(=6|_bk%s1>_NL+wNG3g*)T+XC>OK6S6=z!fBmT^|KvaFbefVxFV7{hVCDD&x1UpTsdbbRmLoukvU#mRiBWnNp1Ryxt8%bd2{s!Uu_&VB5+ zKkK(zq#rEx=Dn|{ljG~({?>2))W7-@f9@Z8VX<147z9_@#gyA5)GzU*;(g~pnyyO1 z&nsA4!3gu^vbZ@M=66p|Codl#4^M{2)#-d$#^s`_>kx>FQ!g%qR_4y@%H7+2?jP`L zadL4uTueE{%(M)-SJ#fGqv7@2$J0G;oVUZW9Bf9S#>ew;tVz>}xF(z3C}6-DNHF5C z$nExcJij*_O^;5F$H%9qv$N4?F_}-Rx(cS^(9C-WqT*?{yso@s#U!pWGA2=>~uQH=d)>9S0RXCs?IB_-nHA_6Ia76AI?yp z_Y^qqX`b-Tj#TApi!KHy&Sm-b_O+YWu6_Qc{#O50B@CT*8BdC4PP*9k>ao=ovZx+p z(i1+?=_KJn;79afS_F_;h~ad(w3Eqba(6gf9-W?zPEL>KqscU1ESE(cLM>*dsHk^s zuTFf+`-enx1On$hpUje8d@oBa2EmX>;Vk0RwSsfq>Gsy{@xlIQUmNUfzmfUw@s%r2 zGMn9_F6Y#BeG#tnk=eN@j8KPk?!0%@sJRula*vReFK-WoGt}VbhE>bFygi>SZVgA% zqv3FQGCV2A!|`OgST5_bh%wZnW>HjC)#1dc&s>Z1-ee;7P+0Y$vW?VwX7xB$fs2cS zXjR~1QOu$Zd93Q=?NWlmic#27B>#?Il9 z!^SjIM;Hb90c{*-tIIwQPW`vKMbgwJ5t^%{v?7E>v@ptxaJrb5cPI13$?$A>JUW}7 z&E`ch9?$c9QP*W1uozXusneFKcbN#1wUl?hUeLI?F(xtnc2XFst4N+T!WyeITGU`s zL}T4*Z7+K5y-}+(I2sJD-s)|2&t{Y1>9xbp#Ih*JGS6aO6GDxh2TR^%nZ3pHVnuS1 zY=*plub@rY@*nu;Fu+>KMZe^8i-0wqUYLd$P8N&eY&k2JqsijVXgoiej`QJYyqGTL zd9|E}x(ZQ(m8v4D>P1ymMBA;_YHZl~-E3QhZ{O!l{lJpry!)*@aQ7o7Vu;14RWLQJ z1hUxn{e^G!m(KN1c6JZ%?GCOTxy+w*I$QI6Ikzn9Vp=k_Q$nbSvC(cHbZdCz;QU>6 zjNz7iLPETaYZ6x?R!~`mH{aH%OhMvOB!*DOv%HKai$!%j85j3w(|IwS&W@+!Vlr9e z`E0fPl!oWtnyZh?+wLaV&ziS^0f`*uMBOjgqk>|DTsMKOsQ zVl70|fQZvpbfUHMy69$uS*N`}?KM^O)lU()~cWsjEZvUC!2X z=?0)t#4w2#MI>qnD`P=KGz*w7qlUcOyE^T42jkvgXX>CJ!KsTu_DBp5bLHAcTLOh^`gt2L=#U__Wp4ru3V0l{*m}L7fBx8jH_|g%_9k` zZe!F&m{e6b&5N*HE{mh(d^wuU%js-Z6qE7nWU&m3*|aE%JXlrbv98UqOwp(a;#3up zmQzow(_9H{M4(_+^Zs{aHa!b{ekc5c{RrpQ*Y$j_vQCO8pocG*%_wCe7*^NyA2=|b1b!GD+AqN{)Ra}-;nB~iA zx|kQYmw8#tX3OznUgnEswVX|hd9jS;d|8IFu2!SyqFRiII45eNDo#a3v_;lFw>QlvvR)SFD!w3Xj8e> z?PqF`N%MMfSyz@9In$ylrg>i6Dwd|pJfF=Mi=!g1na{&=xh&?(MOhVP3}snasG^x^ zW2%X(^It?&R21jb$UHne*80thEN{v!n8{l{|6wgb)7(r}2ZCK35Fg#5G#Pf+Y}#|H z`nG-k@Li0ENORS-Sr-#oU3HCw^UEPkiUt!Al^D%p3?hh$WFn%`i9|&#daXo#?JNr} z^980wr`;=D=1ZYHi=ird{cgUq{i(^x@o_QO-dP?TTrW@ zo`$-nj$u(0@lI7rv6xrGyjU*EvI_HgwaoK!v|N^I82l zrKpOkh>D0az_;830j@19HiV8?vq_L-qg^ zd7G1c{z4)WS6{K3b8%j2d!d(_wrdZ4Hxb0lqC6PJx3XyB&QEO-f)L}%h>4g5%*0fk zL<>;`ahh2~5z!b!Fi|lRiHHUy#+GXZu`H6a$ zYvy%(5vx4TmgQ`3?`owI>;9l$6?qk}?mumda>!&lWjUWS7${c{pI|zkN8vZyDUt?xYMe(k7MD^<0 zZ4(pkJR#ONnv$dtmZIv-PzlyVzs(RcHHhNWQ&y#kiiiXYb){b0R#y>m0VJ5jmWUGz z7DU9GP>YCyshOFG5Y2*$i&oV&s))p9P@YQ5q7#Pom4SK@6=VQE-Eg1--=a?K`a-awJhTEmT%QnRnqD7 z^Ku?yf3RJct5NZFzqeCNr}LUngff(M)NV28WhGYAYV8zYQIybXb?R7JYF5$JUrov>(AhN1I+bVj=xQ18NxP|2(An`cYfL%w%YXPr+)KcO+LX^o8RmcRqE>R z-nn|=Zil-5>sZ`9JA11x^;N%Pb_DX)7I|JPOL2W80*Sw=JWhSyX{>K=8K{Z(rtNW z)3I)C?Zx5Q8`<9eL0FcU6SZz{ODEGIy>3UmcQT*Pt=}8SWHz>LZ`bnq9pC8;WWJ1* zSzv$vAe^4wb5{?pSy=}ys;YL9NeE?~wc2j6Jd;jmKQ3nz+v@gNl(|8x?sa@P8{f}9 z|Kyjd@`swi@;D=qHc`mR3x^fT;Uxls>C z$FzJqOr}R}XZuEda&l5{@9i@g-?fANgLwbwEIj$dGvVaqE>Ar1nR-4y)>fx&ncJ`H zd?bg5H^QrTkC=^~kGtD@l9!ncwsy#i8H4RTCMRPKuRcj2CxpPk!8LB)yh%PAAz?`= zEjrykv6|Cv_XwdxRx+>|Xt{D_BobqdS!gzQT>*{gjpk5^D;;oN@oM~_UZ9gy%af4s i?nu3T5)$46|Nj8JE#j?#u10PE0000 + + + project + + + + + + + + + + + + + + +

My Task Board

+
+

+ + + +
+ +
+

+ + + +

+ + +
+

+ + + +
+
+ + +
+ + + + + + + + + + + + + + + diff --git a/project/new/projectF.js b/project/new/projectF.js new file mode 100644 index 0000000..7cb6a4f --- /dev/null +++ b/project/new/projectF.js @@ -0,0 +1,66 @@ +let tasks = []; +let deleteBtn = []; + +document.addEventListener("DOMContentLoaded", () => { + tasks = JSON.parse(window.localStorage.getItem("tasks")); + drawTaskCard(); +}); + +let task = { + name: "", + date: "", + time: "", +}; + +function addTask() { + const name = document.querySelector("textarea").value; + const date = document.getElementById("date").value; + const time = document.getElementById("time").value; + + task = { + name, + date, + time, + }; + + tasks.push({ ...task }); + localStorage.setItem("tasks", JSON.stringify(tasks)); +} + +function drawTaskCard() { + const taskContainer = document.querySelector(".col-3"); + taskContainer.innerHTML = ""; + tasks.forEach((task, index) => { + // drawing the card each time clicked on addTask with the task object values. + taskContainer.innerHTML += ` +
+ +
${task.name}
+

${task.time} ${task.date}

+
+ `; + }); + + const taskCards = document.querySelectorAll(".task_Id"); + const removeButton = document.querySelectorAll(".remove-btn"); + taskCards.forEach((_, index) => { + removeButton[index].addEventListener("click", () => { + tasks.splice(index, 1); // removing the exact index clicked + window.localStorage.setItem("tasks", JSON.stringify(tasks)); // saving the updated task to the localstorage + location.reload(); // reloading window to apply changes + }); + }); +} + +const form = document.querySelector("form"); +form.addEventListener("submit", (e) => { + e.preventDefault(); + addTask(); + drawTaskCard(); +}); + +function resetForm() { + document.getElementById("form").reset(); +} diff --git a/project/new/tile.jpg b/project/new/tile.jpg new file mode 100644 index 0000000000000000000000000000000000000000..141cfdfe5cc3c438310fec8cd94343e839e013f5 GIT binary patch literal 82147 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 literal 0 HcmV?d00001 diff --git a/project/new/title.png b/project/new/title.png new file mode 100644 index 0000000000000000000000000000000000000000..23946caaa561a3cb53cce7b9fc1fd232a39d2969 GIT binary patch literal 13829 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 + + + project + + + + + + + + + + + + +

My Task Board

+
+

+ + + +
+ +
+

+ + + +

+ + +
+

+ + +
+ + + + + + + + + + + + + + + + + + + + diff --git a/project/project.html b/project/project.html index 9e83ed4..e58322d 100644 --- a/project/project.html +++ b/project/project.html @@ -7,9 +7,9 @@ - + - + From cf8bae2c751a7f9e021d67864433b0e5156aeac3 Mon Sep 17 00:00:00 2001 From: adirhno <94399027+adirhno@users.noreply.github.com> Date: Thu, 9 Dec 2021 20:43:06 +0200 Subject: [PATCH 08/11] A --- project/projectN.css | 128 ++++++++++++++++++++++++++++++++++++++++++ project/projectN.html | 59 +++++++++++++++++++ project/projectN.js | 66 ++++++++++++++++++++++ 3 files changed, 253 insertions(+) create mode 100644 project/projectN.css create mode 100644 project/projectN.html create mode 100644 project/projectN.js diff --git a/project/projectN.css b/project/projectN.css new file mode 100644 index 0000000..044c1a5 --- /dev/null +++ b/project/projectN.css @@ -0,0 +1,128 @@ +body { + background-image: url("tile.jpg"); +} + +h1 img { + display: block; + margin-left: auto; + margin-right: auto; +} + +h1 { + text-align: center; + font-family: Brush Script MT, Brush Script Std, cursive; + font-size: 80px; +} + +input, +label { + font-family: "Lobster", cursive; + font-size: 15px; +} + +form { + position: absolute; + top: 40%; + left: 50%; + transform: translate(-50%, -50%); +} + +.task_Id { + float: left; + padding-top: 22px; + padding-right: 22px; + padding-bottom: 30px; + padding-left: 5px; + background-image: url(notebg.png); + width: 190px; + height: 220px; + margin-left: 4px; + display: block; + top: 50%; + left: 50%; + transition: 3s; + opacity: 1; + text-align: justify; + overflow: auto; + word-break: break-all; + overflow-y: auto; +} + +div.new_Task:active { + transition: height 4s; + opacity: 0.2; +} + +div.new_Task { + height: 20px; + padding-top: 22px; + padding-right: 22px; + padding-bottom: 30px; + padding-left: 17px; + text-align: center; + word-break: break-all; + width: 150px; + padding: 15px; + overflow: hidden; + margin-left: 10px; +} + +p { + top: 80%; + margin: 0; + padding: 0; + position: relative; + bottom: 0; +} + +#delButton { + opacity: 0.02; +} + +#delButton:hover { + opacity: 1; +} + +#delButton { + left: 190px; + top: -40px; + position: sticky; +} + +#content { + text-align: left; + padding-right: 10px; + width: 150px; + height: 110px; + padding-top: 1px; + position: absolute; + overflow: auto; + word-break: break-all; + overflow-y: auto; + padding: 5px; + margin-top: 15px; + margin-right: 5px; + margin-left: -10px; +} + +#textarea { + display: inline-block; + word-spacing: 0px; +} + +.task_Id- { + opacity: 1; + animation-name: fadeInOpacity; + animation-iteration-count: 1; + animation-timing-function: ease-in; + animation-duration: 0.3s; +} + +@keyframes fadeInOpacity { + 0% { + opacity: 0; + } + 100% { + opacity: 1; + } +} diff --git a/project/projectN.html b/project/projectN.html new file mode 100644 index 0000000..b284d98 --- /dev/null +++ b/project/projectN.html @@ -0,0 +1,59 @@ + + + + project + + + + + + + + + + + + + + +

My Task Board

+
+

+ + + +
+ +
+

+ + + +

+ + +
+

+ + + +
+
+ + + + + + + + + + + + + + + + + + diff --git a/project/projectN.js b/project/projectN.js new file mode 100644 index 0000000..7cb6a4f --- /dev/null +++ b/project/projectN.js @@ -0,0 +1,66 @@ +let tasks = []; +let deleteBtn = []; + +document.addEventListener("DOMContentLoaded", () => { + tasks = JSON.parse(window.localStorage.getItem("tasks")); + drawTaskCard(); +}); + +let task = { + name: "", + date: "", + time: "", +}; + +function addTask() { + const name = document.querySelector("textarea").value; + const date = document.getElementById("date").value; + const time = document.getElementById("time").value; + + task = { + name, + date, + time, + }; + + tasks.push({ ...task }); + localStorage.setItem("tasks", JSON.stringify(tasks)); +} + +function drawTaskCard() { + const taskContainer = document.querySelector(".col-3"); + taskContainer.innerHTML = ""; + tasks.forEach((task, index) => { + // drawing the card each time clicked on addTask with the task object values. + taskContainer.innerHTML += ` +
+ +
${task.name}
+

${task.time} ${task.date}

+
+ `; + }); + + const taskCards = document.querySelectorAll(".task_Id"); + const removeButton = document.querySelectorAll(".remove-btn"); + taskCards.forEach((_, index) => { + removeButton[index].addEventListener("click", () => { + tasks.splice(index, 1); // removing the exact index clicked + window.localStorage.setItem("tasks", JSON.stringify(tasks)); // saving the updated task to the localstorage + location.reload(); // reloading window to apply changes + }); + }); +} + +const form = document.querySelector("form"); +form.addEventListener("submit", (e) => { + e.preventDefault(); + addTask(); + drawTaskCard(); +}); + +function resetForm() { + document.getElementById("form").reset(); +} From df93572372b8f8dddc8d8f7372a60341317f72f7 Mon Sep 17 00:00:00 2001 From: adirhno <94399027+adirhno@users.noreply.github.com> Date: Fri, 10 Dec 2021 17:07:04 +0200 Subject: [PATCH 09/11] new update --- Ex/2021-12-09/errorHandling.html | 31 ++++++++++------ Ex/2021-12-09/js/errorHandling.js | 60 ++++++++++++++++--------------- project/new/projectF.css | 32 +++++++++-------- project/new/projectF.html | 10 +++++- project/new/projectF.js | 6 ++-- 5 files changed, 81 insertions(+), 58 deletions(-) diff --git a/Ex/2021-12-09/errorHandling.html b/Ex/2021-12-09/errorHandling.html index 2ee51f8..bb9b4e1 100644 --- a/Ex/2021-12-09/errorHandling.html +++ b/Ex/2021-12-09/errorHandling.html @@ -1,29 +1,38 @@ - - + + -

JavaScript Errors handling

-
+

JavaScript Errors handling

+
  • - +
  • - +
  • - -
  • + +
  • - -
  • + +
  • - +
  • diff --git a/Ex/2021-12-09/js/errorHandling.js b/Ex/2021-12-09/js/errorHandling.js index b52f3c5..a451a0a 100644 --- a/Ex/2021-12-09/js/errorHandling.js +++ b/Ex/2021-12-09/js/errorHandling.js @@ -1,15 +1,14 @@ - -function initPage(){ - console.log("initPage"); -// window.addEventListener('error', (event) => { -// let errorMessage = `${event.type}: ${event.message}\n`; -// console.error(errorMessage); -// event.preventDefault(); -// }); +function initPage() { + console.log("initPage"); + // window.addEventListener('error', (event) => { + // let errorMessage = `${event.type}: ${event.message}\n`; + // console.error(errorMessage); + // event.preventDefault(); + // }); } -function handleImageError(event){ - console.log(event); - //this.onerror=null;this.src='images/imagenotfound.gif'; +function handleImageError(event) { + console.log(event); + //this.onerror=null;this.src='images/imagenotfound.gif'; } // window.onerror = function (msg, url, lineNo, columnNo, error) { // var string = msg.toLowerCase(); @@ -24,27 +23,30 @@ function handleImageError(event){ // 'Column: ' + columnNo, // 'Error object: ' + JSON.stringify(error) // ].join(' - '); - + // alert(message); // } - -// //returning true prevents the firing of the default event handler -// return false; + +// //returning true prevents the firing of the default event handler +// return false; // }; -function wrongArgument(param1){ - try{ - let result = param1.toLowerCase() - console.log(result); - }catch(error){ - console.log(error); - }finally{ - //TODO: Show result or error in "status" element - } +function wrongArgument(param1) { + try { + let result = param1.toLowerCase(); + console.log(result); + } catch (error) { + console.log(error); + } + // finally (dixT()){ } -function handleUserInput(){ - let userInput = document.getElementById("userInput").value; - let result = JSON.parse(userInput); - alert("result: " + JSON.stringify(result)); -} \ No newline at end of file +function dixT(param1) { + let letter = param1 * 2; +} + +function handleUserInput() { + let userInput = document.getElementById("userInput").value; + let result = JSON.parse(userInput); + alert("result: " + JSON.stringify(result)); +} diff --git a/project/new/projectF.css b/project/new/projectF.css index 044c1a5..9fd0f10 100644 --- a/project/new/projectF.css +++ b/project/new/projectF.css @@ -25,6 +25,7 @@ form { top: 40%; left: 50%; transform: translate(-50%, -50%); + text-align: center; } .task_Id { @@ -43,9 +44,7 @@ form { transition: 3s; opacity: 1; text-align: justify; - overflow: auto; word-break: break-all; - overflow-y: auto; } div.new_Task:active { @@ -73,36 +72,35 @@ p { padding: 0; position: relative; bottom: 0; + margin-left: 4px; } -#delButton { +.remove-btn { opacity: 0.02; } -#delButton:hover { +.remove-btn:hover { opacity: 1; } -#delButton { - left: 190px; - top: -40px; +.remove-btn { position: sticky; + margin-left: 139px; + margin-top: 0px; } #content { text-align: left; - padding-right: 10px; - width: 150px; - height: 110px; - padding-top: 1px; + width: 170px; + height: 118px; position: absolute; overflow: auto; word-break: break-all; overflow-y: auto; padding: 5px; - margin-top: 15px; - margin-right: 5px; - margin-left: -10px; + margin-top: 5px; + margin-right: 1px; + margin-left: 5 px; } #textarea { @@ -126,3 +124,9 @@ p { opacity: 1; } } +#button { + font-family: "Lobster", cursive; + font-size: 13px; + width: 70px; + height: 25px; +} diff --git a/project/new/projectF.html b/project/new/projectF.html index 4149f28..97e1710 100644 --- a/project/new/projectF.html +++ b/project/new/projectF.html @@ -30,8 +30,16 @@



    - + + + + +

    diff --git a/project/new/projectF.js b/project/new/projectF.js index 7cb6a4f..fc37932 100644 --- a/project/new/projectF.js +++ b/project/new/projectF.js @@ -37,8 +37,8 @@ function drawTaskCard() { -
    ${task.name}
    -

    ${task.time} ${task.date}

    +
    ${task.name}
    +

    ${task.date}
    ${task.time}

    `; }); @@ -62,5 +62,5 @@ form.addEventListener("submit", (e) => { }); function resetForm() { - document.getElementById("form").reset(); + document.querySelector(".form").reset(); } From eeda8f3ef9fa675416cbaea58e90fc80ee86e40a Mon Sep 17 00:00:00 2001 From: adirhno <94399027+adirhno@users.noreply.github.com> Date: Sat, 18 Dec 2021 00:08:42 +0200 Subject: [PATCH 10/11] new update --- Ex/2021-11-25/css/Ex2_solution.css | 158 +++++++++++--------- Ex/2021-11-25/formValidationOnSubmit.html | 77 ++++------ Ex/2021-11-25/js/formValidationOnSubmit.css | 3 + Ex/2021-11-25/js/formValidationOnSubmit.js | 143 +++++++++--------- Ex/2021-11-25/js/formValidationOnSubmit2.js | 30 ++++ Ex/2021-12-09/errorHandling.html | 3 +- Ex/2021-12-09/js/errorHandling.js | 10 +- Ex/2021-12-09/js/noErrorHandling.js | 25 +++- project/new/classTask.zip | Bin 0 -> 2265 bytes project/new/classTask/classTask.css | 40 +++++ project/new/classTask/classTask.html | 47 ++++++ project/new/classTask/classTask.js | 135 +++++++++++++++++ project/new/projectF.html | 6 +- project/new/projectF.js | 2 +- 14 files changed, 473 insertions(+), 206 deletions(-) create mode 100644 Ex/2021-11-25/js/formValidationOnSubmit.css create mode 100644 Ex/2021-11-25/js/formValidationOnSubmit2.js create mode 100644 project/new/classTask.zip create mode 100644 project/new/classTask/classTask.css create mode 100644 project/new/classTask/classTask.html create mode 100644 project/new/classTask/classTask.js diff --git a/Ex/2021-11-25/css/Ex2_solution.css b/Ex/2021-11-25/css/Ex2_solution.css index d9c0a18..78e669d 100644 --- a/Ex/2021-11-25/css/Ex2_solution.css +++ b/Ex/2021-11-25/css/Ex2_solution.css @@ -1,13 +1,13 @@ -.err { - background: #ffe6ee; +.err { + background: #ffe6ee; /*border: 1px solid #b1395f; */ } -.empty { - border: 1px solid #1f44eb; +.empty { + border: 1px solid #1f44eb; } -div{ +div { /* Center the form on the page */ margin: 0 auto; width: 450px; @@ -15,76 +15,92 @@ div{ padding: 1em; } -div.emsg{ - color: #c12020; - font-weight: bold; +div.emsg { + color: #c12020; + font-weight: bold; padding: 0; height: 1em; } form { - /* Center the form on the page */ - margin: 0 auto; - width: 450px; - /* Form outline */ - padding: 1em; - border: 1px solid #CCC; - border-radius: 1em; - } - - ul { - list-style: none; - padding: 0; - margin: 0; - } - - /*all li elements inside form and adjacent sibling li elements*/ - form li + li { - margin-top: 1em; - } - - label { - /* Uniform size & alignment */ - display: inline-block; - width: 100px; - text-align: right; - } - - input, - textarea { - /* To make sure that all text fields have the same font settings + /* Center the form on the page */ + margin: 0 auto; + width: 450px; + /* Form outline */ + padding: 1em; + border: 1px solid #ccc; + border-radius: 1em; +} + +ul { + list-style: none; + padding: 0; + margin: 0; +} + +/*all li elements inside form and adjacent sibling li elements*/ +form li + li { + margin-top: 1em; +} + +label { + /* Uniform size & alignment */ + display: inline-block; + width: 100px; + text-align: right; +} + +input, +textarea { + /* To make sure that all text fields have the same font settings By default, textareas have a monospace font */ - font: 1em sans-serif; - - /* Uniform text field size */ - width: 300px; - box-sizing: border-box; - - /* Match form field borders */ - border: 1px solid #999; - } - - input:focus, - textarea:focus { - /* Additional highlight for focused elements */ - border-color: #000; - } - - textarea { - /* Align multiline text fields with their labels */ - vertical-align: top; - - /* Provide space to type some text */ - height: 5em; - } - - .button { - /* Align buttons with the text fields */ - padding-left: 90px; /* same size as the label elements */ - } - - button { - /* This extra margin represent roughly the same space as the space + font: 1em sans-serif; + + /* Uniform text field size */ + width: 300px; + box-sizing: border-box; + + /* Match form field borders */ + border: 1px solid #999; +} + +input:focus, +textarea:focus { + /* Additional highlight for focused elements */ + border-color: #000; +} + +textarea { + /* Align multiline text fields with their labels */ + vertical-align: top; + + /* Provide space to type some text */ + height: 5em; +} + +.button { + /* Align buttons with the text fields */ + padding-left: 90px; /* same size as the label elements */ +} + +button { + /* This extra margin represent roughly the same space as the space between the labels and their text fields */ - margin-left: .5em; - } \ No newline at end of file + margin-left: 0.5em; +} + +#A { + border: solid black; + background-color: gray; + text-align: center; +} +#B { + border: solid black; + background-color: gray; + text-align: center; +} +#C { + border: solid black; + background-color: gray; + text-align: center; +} diff --git a/Ex/2021-11-25/formValidationOnSubmit.html b/Ex/2021-11-25/formValidationOnSubmit.html index 30eb502..aa1155f 100644 --- a/Ex/2021-11-25/formValidationOnSubmit.html +++ b/Ex/2021-11-25/formValidationOnSubmit.html @@ -1,62 +1,35 @@ - - - + + + Student details
    -

    פרטי סטודנט

    -
    +

    בדיקת חבילה

    +
    -
      -
    • - - -
      -
    • -
    • - - -
      -
    • -
    • - - -
      -
    • -
    • - - -
      -
    • -
    • - - -
      -
    • -
    • - - -
      -
    • -
    • - - -
    • -
    • - -
    • -
    -
    + +

    + +

    + + +
    -
      -
    • - -
    • -
    -
    +
      +
    • + + +
    • +
    + +
    +
    א
    +
    ב
    +
    ג
    +
    - \ No newline at end of file + diff --git a/Ex/2021-11-25/js/formValidationOnSubmit.css b/Ex/2021-11-25/js/formValidationOnSubmit.css new file mode 100644 index 0000000..51f54df --- /dev/null +++ b/Ex/2021-11-25/js/formValidationOnSubmit.css @@ -0,0 +1,3 @@ +#packages { + background-color: gray; +} diff --git a/Ex/2021-11-25/js/formValidationOnSubmit.js b/Ex/2021-11-25/js/formValidationOnSubmit.js index 6ef4310..f4c4ed5 100644 --- a/Ex/2021-11-25/js/formValidationOnSubmit.js +++ b/Ex/2021-11-25/js/formValidationOnSubmit.js @@ -1,110 +1,115 @@ -function saveStudent(){ - if (validateEducation()){ - let student = { - fname: document.getElementById('fname').value, - lname: document.getElementById('lname').value, - mail: document.getElementById('mail').value, - msg: document.getElementById('msg').value - } - window.localStorage.setItem("student",JSON.stringify(student)); - alert(`The following studen details were saved successfully:\n ${JSON.stringify(student, undefined, 2 )}`); - return true; - }else{ - return false; - } +function saveStudent() { + if (validateEducation()) { + let student = { + fname: document.getElementById("fname").value, + lname: document.getElementById("lname").value, + mail: document.getElementById("mail").value, + msg: document.getElementById("msg").value, + }; + window.localStorage.setItem("student", JSON.stringify(student)); + alert( + `The following studen details were saved successfully:\n ${JSON.stringify( + student, + undefined, + 2 + )}` + ); + return true; + } else { + return false; + } } -function getStudentFromLocalStorage(){ +function getStudentFromLocalStorage() { let studentStr = window.localStorage.getItem("student"); - if (studentStr != null){ + if (studentStr != null) { console.log(studentStr); let studentObj = JSON.parse(studentStr); - document.getElementById('fname').value = studentObj.fname; - document.getElementById('lname').value = studentObj.lname; - document.getElementById('mail').value = studentObj.mail; - document.getElementById('msg').value = studentObj.msg; - - setTimeout(function(){ - document.getElementById('fname').value = ""; - document.getElementById('lname').value = ""; - document.getElementById('mail').value = ""; - document.getElementById('msg').value = ""; + document.getElementById("fname").value = studentObj.fname; + document.getElementById("lname").value = studentObj.lname; + document.getElementById("mail").value = studentObj.mail; + document.getElementById("msg").value = studentObj.msg; + + setTimeout(function () { + document.getElementById("fname").value = ""; + document.getElementById("lname").value = ""; + document.getElementById("mail").value = ""; + document.getElementById("msg").value = ""; window.localStorage.removeItem("student"); }, 5000); - } - } -function validateEducation(){ - let birthDate = new Date(document.getElementById('birthDate').value); +function validateEducation() { + let birthDate = new Date(document.getElementById("birthDate").value); console.log("birthDate.getUTCFullYear() = " + birthDate.getUTCFullYear()); // diff = now (in ms since 1970) - birthday (in ms since 1970) - // diff = age in ms - console.log("Date.now().getUTCFullYear() = " + new Date(Date.now()).getUTCFullYear()); + // diff = age in ms + console.log( + "Date.now().getUTCFullYear() = " + new Date(Date.now()).getUTCFullYear() + ); var diff_ms = Date.now() - birthDate.getTime(); - var age_dt = new Date(diff_ms); + var age_dt = new Date(diff_ms); console.log("age_dt.getUTCFullYear() = " + age_dt.getUTCFullYear()); let age = Math.abs(age_dt.getUTCFullYear() - 1970); console.log("age = " + age); - let education = parseInt(document.getElementById('education').value); + let education = parseInt(document.getElementById("education").value); console.log("education = " + education); let field = document.getElementById("education"); let error = document.getElementById("education_err"); - if (education + 5 < age){ + if (education + 5 < age) { field.classList.remove("err"); - error.innerHTML = ""; - return true; - }else{ + error.innerHTML = ""; + return true; + } else { field.classList.add("err"); error.innerHTML = "חינוך פורמלי מתחיל מגיל 5"; return false; } } -function cleanEducationError(){ +function cleanEducationError() { document.getElementById("education").classList.remove("err"); - document.getElementById("education_err").innerHTML = ""; + document.getElementById("education_err").innerHTML = ""; } -function setSubmitButton(){ +function setSubmitButton() { let inputElements = document.querySelectorAll("input[required]"); document.getElementById("submitForm").disabled = false; inputElements.forEach((inputElement) => { - console.log("Checking value of " + inputElement.id) - if (inputElement.value == "") - { + console.log("Checking value of " + inputElement.id); + if (inputElement.value == "") { document.getElementById("submitForm").disabled = true; } }); } -function initiateForm(){ - //Limit maximum birth date to be 18 years ago - var today = new Date(); - var dd = today.getDate(); - var mm = today.getMonth() + 1; //January is 0! - var yyyy = today.getFullYear() - 18; +function initiateForm() { + //Limit maximum birth date to be 18 years ago + var today = new Date(); + var dd = today.getDate(); + var mm = today.getMonth() + 1; //January is 0! + var yyyy = today.getFullYear() - 18; - if (dd < 10) { - dd = '0' + dd; - } + if (dd < 10) { + dd = "0" + dd; + } + + if (mm < 10) { + mm = "0" + mm; + } - if (mm < 10) { - mm = '0' + mm; - } - - maxBirthDate = yyyy + '-' + mm + '-' + dd; - console.log("Maximum birth date is: " + maxBirthDate); - //document.getElementById('fname').setAttribute("class","empty"); - //document.getElementById('fname').classList.add("empty"); - //document.getElementById('fname').style.setProperty("background", "#afc2e94d"); - //document.getElementById('fname').style.background = "#afc2e94d"; - - document.getElementById("submitForm").disabled = true; - let inputElements = document.querySelectorAll("input"); - inputElements.forEach((inputElement) => { - inputElement.addEventListener("change", setSubmitButton); - }); + maxBirthDate = yyyy + "-" + mm + "-" + dd; + console.log("Maximum birth date is: " + maxBirthDate); + //document.getElementById('fname').setAttribute("class","empty"); + //document.getElementById('fname').classList.add("empty"); + //document.getElementById('fname').style.setProperty("background", "#afc2e94d"); + //document.getElementById('fname').style.background = "#afc2e94d"; + + //document.getElementById("submitForm").disabled = true; + let inputElements = document.querySelectorAll("input"); + inputElements.forEach((inputElement) => { + inputElement.addEventListener("change", setSubmitButton); + }); } diff --git a/Ex/2021-11-25/js/formValidationOnSubmit2.js b/Ex/2021-11-25/js/formValidationOnSubmit2.js new file mode 100644 index 0000000..e157f5c --- /dev/null +++ b/Ex/2021-11-25/js/formValidationOnSubmit2.js @@ -0,0 +1,30 @@ +let packages=[]; + + +let theChoise={ + + minutes="", + sms="", + giga="", + + +}; + +let theException= { + +minutes= "", +giga = "", +sms= "", + + +} + +function readData(){ + + theChoise.minutes=document.querySelectorAll("minutes"); + + + +} + + diff --git a/Ex/2021-12-09/errorHandling.html b/Ex/2021-12-09/errorHandling.html index bb9b4e1..1b51f5e 100644 --- a/Ex/2021-12-09/errorHandling.html +++ b/Ex/2021-12-09/errorHandling.html @@ -15,7 +15,7 @@

    JavaScript Errors handling

  • -
  • @@ -23,6 +23,7 @@

    JavaScript Errors handling

    +
  • ${task.name}
    -

    ${task.date}
    ${task.time}

    +

    ${task.date}
    [${task.time}

    `; }); From 9aff34e9c2e692bc20e635b18cf0b9a3d1a1d0d8 Mon Sep 17 00:00:00 2001 From: adirhno <94399027+adirhno@users.noreply.github.com> Date: Mon, 20 Dec 2021 17:59:23 +0200 Subject: [PATCH 11/11] new update --- Ex/2021-12-16/amigo2.html | 47 +++++++ Ex/2021-12-16/js/amigo3.js | 255 +++++++++++++++++++++++++++++++++++++ 2 files changed, 302 insertions(+) create mode 100644 Ex/2021-12-16/amigo2.html create mode 100644 Ex/2021-12-16/js/amigo3.js diff --git a/Ex/2021-12-16/amigo2.html b/Ex/2021-12-16/amigo2.html new file mode 100644 index 0000000..cd755d6 --- /dev/null +++ b/Ex/2021-12-16/amigo2.html @@ -0,0 +1,47 @@ + + + + + + + Amigo package calculator + + +
    +

    בדיקת חבילה

    +
    + +
      +
    • + + +
      +
    • +
    • + + +
      +
    • +
    • + + +
    • +
    • +
      +
    • +
    • + + + +
    • +
    + +
    +
      +
      חבילה א
      +
      חבילה ב
      +
      חבילה ג
      +
    +
    + + diff --git a/Ex/2021-12-16/js/amigo3.js b/Ex/2021-12-16/js/amigo3.js new file mode 100644 index 0000000..2f92814 --- /dev/null +++ b/Ex/2021-12-16/js/amigo3.js @@ -0,0 +1,255 @@ +A = { giga: 60, minutes: 2000, sms: 200 }; + +B = { giga: 30, minutes: 2400, sms: 350 }; + +C = { giga: 45, minutes: 1800, sms: 800 }; + +const bestPA = [A, B, C]; + +console.log(bestPA[0]); +const packages = { + packageA: { + giga: 60, + minutes: 2000, + sms: 200, + }, + packageB: { + giga: 30, + minutes: 2400, + sms: 350, + }, + packageC: { + giga: 45, + minutes: 1800, + sms: 800, + }, +}; +const deviationCost = { + giga: 20, + minutes: 0.5, + sms: 0.35, +}; + +function getDeviation(packageId, usage) { + let deviation = 0; + let gigaDeviation = usage.giga - packages[packageId].giga; + if (gigaDeviation > 0) { + deviation += gigaDeviation * deviationCost.giga; + } + let minuteDeviation = usage.minutes - packages[packageId].minutes; + if (minuteDeviation > 0) { + deviation += minuteDeviation * deviationCost.minutes; + } + let smsDeviation = usage.sms - packages[packageId].sms; + if (smsDeviation > 0) { + deviation += smsDeviation * deviationCost.sms; + } + + if (deviation <= 0) { + let gigaIm = ((60 - usage.giga) * 100) / 60; + let minutesIm = ((2400 - usage.minutes) * 100) / 2400; + let smsIm = ((800 - usage.sms) * 100) / 800; + + if ( + (gigaIm < minutesIm && minutesIm < smsIm) || + (gigaIm < smsIm && smsIm < minutesIm) + ) { + alert("A is the best for you"); + } + + if ( + (minutesIm < gigaIm && gigaIm < smsIm) || + (minutesIm < smsIm && smsIm < gigaIm) + ) { + alert("B is the best for you"); + } + + if ( + (smsIm < minutesIm && minutesIm < gigaIm) || + (smsIm < gigaIm && gigaIm < minutesIm) + ) { + alert("C is the best for you"); + } + } + + return deviation; +} + +function calculatePackage() { + if (validateInput()) { + let usage = { + minutes: parseInt(document.getElementById("minutes").value), + giga: parseInt(document.getElementById("giga").value), + sms: parseInt(document.getElementById("sms").value), + }; + console.log( + `Going to calculate best package for: \n${JSON.stringify( + usage, + undefined, + 2 + )}` + ); + let selectedPackageId = ""; + let selectedDeviation = -1; + for (let packageId in packages) { + let deviation = getDeviation(packageId, usage); + console.log("deviation for " + packageId + ": " + deviation); + if (selectedDeviation < 0 || selectedDeviation > deviation) { + selectedDeviation = deviation; + selectedPackageId = packageId; + } + } + console.log( + "selectedPackageId " + + selectedPackageId + + ", selectedDeviation: " + + selectedDeviation + ); + for (let packageId in packages) { + let packageDiv = document.getElementById(packageId); + if (packageId == selectedPackageId) { + packageDiv.classList.add("greenPackage"); + } else { + packageDiv.classList.add("redPackage"); + } + } + return true; + } else { + return false; + } +} + +function validatePositiveNumer(elementId) { + let inputElement = document.getElementById(elementId); + let inputNumber = parseInt(inputElement.value); + if (inputNumber < 0) { + inputElement.classList.add("err"); + let error = document.getElementById("form_err"); + error.innerHTML = "יש להכניס רק מספרים חיוביים"; + return false; + } + return true; +} + +function validateInput() { + if (!validatePositiveNumer("minutes")) return false; + if (!validatePositiveNumer("giga")) return false; + if (!validatePositiveNumer("sms")) return false; + return true; +} + +function cleanEducationError() { + document.getElementById("education").classList.remove("err"); + document.getElementById("education_err").innerHTML = ""; +} + +function setSubmitButton() { + let inputElements = document.querySelectorAll("input[required]"); + document.getElementById("submitForm").disabled = false; + inputElements.forEach((inputElement) => { + console.log("Checking value of " + inputElement.id); + if (inputElement.value == "") { + document.getElementById("submitForm").disabled = true; + } + }); +} + +function initiateForm() { + const formElement = document.querySelector("form"); + formElement.addEventListener("submit", (e) => { + e.preventDefault(); + calculatePackage(); + }); + //document.getElementById("submitForm").disabled = true; + let inputElements = document.querySelectorAll("input"); + inputElements.forEach((inputElement) => { + inputElement.addEventListener("change", (e) => { + //clean error presentation + if (e.target.classList.contains("err")) { + e.target.classList.remove("err"); + let error = document.getElementById("form_err"); + error.innerHTML = ""; + } + setSubmitButton(); + }); + }); +} + +/*if (deviation <= 0) { + let minSumA = bestPA[0].minutes - usage.minutes; + let smsSumA = bestPA[0].sms - usage.sms; + let gigaSumA = bestPA[0].giga - usage.giga; + + let minSumB = bestPA[1].minutes - usage.minutes; + let smsSumB = bestPA[1].sms - usage.sms; + let gigaSumB = bestPA[1].giga - usage.giga; + + let minSumC = bestPA[2].minutes - usage.minutes; + let smsSumC = bestPA[2].sms - usage.sms; + let gigaSumC = bestPA[2].giga - usage.giga; + + if ( + (minSumA > minSumB && minSumB > minSumC) || + (minSumA > minSumC && minSumC > minSumB) + ) { + alert("A is the best for minutes"); + } + if ( + (minSumB > minSumA && minSumA > minSumC) || + (minSumB > minSumC && minSumC > minSumA) + ) { + alert("B is the best for minutes"); + } + if ( + (minSumC > minSumB && minSumB > minSumA) || + (minSumC > minSumA && minSumA > minSumB) + ) { + alert("c is the best for minutes"); + } + + if (smsSumA >= 0 && smsSumB >= 0 && smsSumC >= 0) { + if ( + (smsSumA < smsSumB && smsSumB < smsSumC) || + (smsSumA < smsSumC && smsSumC < smsSumB) + ) { + alert("A is the best for sms"); + } + } + if (smsSumA >= 0 && smsSumB >= 0 && smsSumC >= 0) { + if ( + (smsSumB < smsSumA && smsSumA < smsSumC) || + (smsSumB < smsSumC && smsSumC < smsSumA) + ) { + alert("B is the best for sms"); + } + } + if (smsSumA > 0 && smsSumB > 0 && smsSumC > 0) { + if ( + (smsSumC < smsSumB && smsSumB < smsSumA) || + (smsSumC > smsSumA && smsSumA < smsSumB) + ) { + alert("c is the best for sms"); + } + } + + if ( + (gigaSumA > gigaSumB && gigaSumB > gigaSumC) || + (gigaSumA > gigaSumC && gigaSumC > gigaSumB) + ) { + alert("A is the best for giga"); + } + if ( + (gigaSumB > gigaSumA && gigaSumA > gigaSumC) || + (gigaSumB > gigaSumC && gigaSumC > gigaSumA) + ) { + alert("B is the best for giga"); + } + if ( + (gigaSumC > gigaSumB && gigaSumB > gigaSumA) || + (gigaSumC > gigaSumA && gigaSumA > gigaSumB) + ) { + alert("c is the best for giga"); + } +*/ + +//כשאין חריגה יש רק חבילה אחת מתאימה