All language subtitles for 14. Move to Marker On Click

af Afrikaans
ak Akan
sq Albanian
am Amharic
ar Arabic
hy Armenian
az Azerbaijani
eu Basque
be Belarusian
bem Bemba
bn Bengali
bh Bihari
bs Bosnian
br Breton
bg Bulgarian
km Cambodian
ca Catalan
ceb Cebuano
chr Cherokee
ny Chichewa
zh-CN Chinese (Simplified)
zh-TW Chinese (Traditional)
co Corsican
hr Croatian
cs Czech
da Danish
nl Dutch
en English
eo Esperanto
et Estonian
ee Ewe
fo Faroese
tl Filipino
fi Finnish
fr French
fy Frisian
gaa Ga
gl Galician
ka Georgian
de German
el Greek
gn Guarani
gu Gujarati
ht Haitian Creole
ha Hausa
haw Hawaiian
iw Hebrew
hi Hindi
hmn Hmong
hu Hungarian
is Icelandic
ig Igbo
id Indonesian
ia Interlingua
ga Irish
it Italian
ja Japanese
jw Javanese
kn Kannada
kk Kazakh
rw Kinyarwanda
rn Kirundi
kg Kongo
ko Korean
kri Krio (Sierra Leone)
ku Kurdish
ckb Kurdish (Soranî)
ky Kyrgyz
lo Laothian
la Latin
lv Latvian
ln Lingala
lt Lithuanian
loz Lozi
lg Luganda
ach Luo
lb Luxembourgish
mk Macedonian
mg Malagasy
ms Malay
ml Malayalam
mt Maltese
mi Maori
mr Marathi
mfe Mauritian Creole
mo Moldavian
mn Mongolian
my Myanmar (Burmese)
sr-ME Montenegrin
ne Nepali
pcm Nigerian Pidgin
nso Northern Sotho
no Norwegian
nn Norwegian (Nynorsk)
oc Occitan
or Oriya
om Oromo
ps Pashto
fa Persian Download
pl Polish
pt-BR Portuguese (Brazil)
pt Portuguese (Portugal)
pa Punjabi
qu Quechua
ro Romanian
rm Romansh
nyn Runyakitara
ru Russian
sm Samoan
gd Scots Gaelic
sr Serbian
sh Serbo-Croatian
st Sesotho
tn Setswana
crs Seychellois Creole
sn Shona
sd Sindhi
si Sinhalese
sk Slovak
sl Slovenian
so Somali
es Spanish
es-419 Spanish (Latin American)
su Sundanese
sw Swahili
sv Swedish
tg Tajik
ta Tamil
tt Tatar
te Telugu
th Thai
ti Tigrinya
to Tonga
lua Tshiluba
tum Tumbuka
tr Turkish
tk Turkmen
tw Twi
ug Uighur
uk Ukrainian
ur Urdu
uz Uzbek
vi Vietnamese
cy Welsh
wo Wolof
xh Xhosa
yi Yiddish
yo Yoruba
zu Zulu
Would you like to inspect the original subtitles? These are the user uploaded subtitles that are being translated: 1 1 00:00:01,340 --> 00:00:02,600 And this lecture, 2 2 00:00:02,600 --> 00:00:04,118 we're gonna implement a feature 3 3 00:00:04,118 --> 00:00:06,305 that will basically move the map 4 4 00:00:06,305 --> 00:00:08,754 to the position of the workout 5 5 00:00:08,754 --> 00:00:11,223 that was clicked in the sidebar. 6 6 00:00:12,554 --> 00:00:16,940 So the feature that I'm in is this one. 7 7 00:00:16,940 --> 00:00:20,660 So when I click one of these, then as I said, 8 8 00:00:20,660 --> 00:00:24,340 the map will move to the position of that workout. 9 9 00:00:24,340 --> 00:00:27,924 And so this is a very nice touch to the user interface 10 10 00:00:27,924 --> 00:00:30,163 and so let's now do that. 11 11 00:00:31,470 --> 00:00:33,200 And let's say that we're starting 12 12 00:00:33,200 --> 00:00:35,970 with a blank page like this. 13 13 00:00:35,970 --> 00:00:38,540 So the initial stage of our application 14 14 00:00:38,540 --> 00:00:40,780 and so of course, right now, 15 15 00:00:40,780 --> 00:00:44,450 there are no workouts on which we could click 16 16 00:00:44,450 --> 00:00:45,600 and so in this case, 17 17 00:00:45,600 --> 00:00:48,553 where should we actually attach the event handler? 18 18 00:00:49,557 --> 00:00:51,530 So this is the situation 19 19 00:00:51,530 --> 00:00:54,036 that I actually had mentioned already earlier. 20 20 00:00:54,036 --> 00:00:55,470 So again, 21 21 00:00:55,470 --> 00:00:58,600 the situation in which we don't have the element 22 22 00:00:58,600 --> 00:01:02,080 on which we actually want to attach the event listener 23 23 00:01:02,080 --> 00:01:04,820 because it hasn't been created yet 24 24 00:01:04,820 --> 00:01:07,580 and so what we have to do here is one more time, 25 25 00:01:07,580 --> 00:01:10,220 basically, event delegation. 26 26 00:01:10,220 --> 00:01:13,760 So what we're gonna do is to add the event handler 27 27 00:01:13,760 --> 00:01:15,900 to the parent element. 28 28 00:01:15,900 --> 00:01:17,750 And so in our HTML, 29 29 00:01:17,750 --> 00:01:21,167 we can see that that is this workout's 30 30 00:01:21,167 --> 00:01:23,230 and element here. 31 31 00:01:23,230 --> 00:01:26,430 So basically the element with the class of workouts 32 32 00:01:27,570 --> 00:01:31,373 and so let's see here in the code, which one that is. 33 33 00:01:32,840 --> 00:01:36,270 Alright, so it's called container workouts. 34 34 00:01:36,270 --> 00:01:41,270 So let's add an event listener to that element there. 35 35 00:01:41,600 --> 00:01:44,912 And remember one more time we do that in the constructor 36 36 00:01:44,912 --> 00:01:48,763 so that event listener is added right in the beginning. 37 37 00:01:50,770 --> 00:01:55,770 So containerworkout.addEventListener on click, 38 38 00:01:59,374 --> 00:02:03,482 and then we're gonna create a method called 39 39 00:02:03,482 --> 00:02:05,732 moveToPopup just like this. 40 40 00:02:11,270 --> 00:02:12,103 So that's a copy it, 41 41 00:02:12,103 --> 00:02:14,753 and then add it here at the end. 42 42 00:02:17,780 --> 00:02:19,810 Now this methods that we have here, 43 43 00:02:19,810 --> 00:02:23,220 they are not really ordered in any particular way. 44 44 00:02:23,220 --> 00:02:26,243 So I'm just adding them as I go here. 45 45 00:02:27,330 --> 00:02:28,400 Now, anyway, 46 46 00:02:28,400 --> 00:02:30,730 here we are going to need the event 47 47 00:02:30,730 --> 00:02:33,620 because now we will have to match the object 48 48 00:02:33,620 --> 00:02:37,270 or actually the element that we're actually looking for. 49 49 00:02:37,270 --> 00:02:41,510 So what I will do here is to create the workout element 50 50 00:02:41,510 --> 00:02:43,888 and basically all that I'm gonna do 51 51 00:02:43,888 --> 00:02:46,420 is to look at e.target 52 52 00:02:47,580 --> 00:02:50,460 So that's the element that is actually clicked 53 53 00:02:50,460 --> 00:02:53,863 and then I will look for the closest workout parent, 54 54 00:02:55,290 --> 00:02:58,110 so closest, which is again, 55 55 00:02:58,110 --> 00:03:00,883 essentially the opposite of a query selector. 56 56 00:03:02,350 --> 00:03:04,610 And so, the element that I'm looking for 57 57 00:03:04,610 --> 00:03:07,420 is the one with the class workout. 58 58 00:03:07,420 --> 00:03:08,810 So like this, 59 59 00:03:08,810 --> 00:03:10,940 wherever the click happens 60 60 00:03:10,940 --> 00:03:12,340 here in the element. 61 61 00:03:12,340 --> 00:03:16,080 So no matter if it's in one of these divs or the spans, 62 62 00:03:16,080 --> 00:03:17,230 it doesn't matter. 63 63 00:03:17,230 --> 00:03:19,540 All of it will then basically end up 64 64 00:03:19,540 --> 00:03:23,500 in this Li element with the workout class, 65 65 00:03:23,500 --> 00:03:25,940 because from the element that is clicked, 66 66 00:03:25,940 --> 00:03:29,500 we will move up to this exact element here 67 67 00:03:29,500 --> 00:03:31,653 using the closest method. 68 68 00:03:33,623 --> 00:03:35,730 All right, so once again closest 69 69 00:03:35,730 --> 00:03:37,514 is a real life saver here. 70 70 00:03:37,514 --> 00:03:39,763 It is really, really helpful. 71 71 00:03:40,970 --> 00:03:43,010 And so now let's start by logging 72 72 00:03:43,010 --> 00:03:44,923 this element to the console. 73 73 00:03:47,720 --> 00:03:48,563 Now right, 74 74 00:03:50,340 --> 00:03:51,880 so let's wait for it 75 75 00:03:54,600 --> 00:03:57,043 as always any values here work. 76 76 00:03:59,020 --> 00:04:02,090 So of course we first need to have something here 77 77 00:04:02,090 --> 00:04:05,200 and now as I click it, let's see what happens, 78 78 00:04:05,200 --> 00:04:08,420 and indeed we get the entire element here 79 79 00:04:09,330 --> 00:04:12,320 and that works no matter if I click out here 80 80 00:04:12,320 --> 00:04:15,180 or here or on this emoji 81 81 00:04:15,180 --> 00:04:16,920 or really anywhere. 82 82 00:04:16,920 --> 00:04:19,550 So the closest method takes care of really 83 83 00:04:19,550 --> 00:04:22,560 then selecting this entire element. 84 84 00:04:22,560 --> 00:04:25,544 Now, why is that actually so important? 85 85 00:04:25,544 --> 00:04:28,360 Well it's because it is right there 86 86 00:04:28,360 --> 00:04:30,770 where I have this ID 87 87 00:04:30,770 --> 00:04:32,320 and it is this ID 88 88 00:04:32,320 --> 00:04:35,620 that I will now use to actually find the workout 89 89 00:04:35,620 --> 00:04:37,540 in the workouts array 90 90 00:04:37,540 --> 00:04:40,500 and so once again, we put this here, 91 91 00:04:40,500 --> 00:04:43,760 because with this, we can then basically build a bridge 92 92 00:04:43,760 --> 00:04:45,690 between the user interface 93 93 00:04:45,690 --> 00:04:49,400 and the data that we have actually in our application. 94 94 00:04:49,400 --> 00:04:52,960 So in this case our data in the workout's array, 95 95 00:04:52,960 --> 00:04:55,640 because if we didn't have this ID here 96 96 00:04:55,640 --> 00:04:57,870 stored in the user interface, 97 97 00:04:57,870 --> 00:05:01,250 then how would we know which is the objects in the workouts 98 98 00:05:01,250 --> 00:05:03,830 array that we need to scroll to? 99 99 00:05:03,830 --> 00:05:05,525 And so we need this ID here 100 100 00:05:05,525 --> 00:05:07,580 so that we can now read it 101 101 00:05:07,580 --> 00:05:09,960 and basically then select the element 102 102 00:05:09,960 --> 00:05:12,853 out of the workouts array using this ID. 103 103 00:05:13,700 --> 00:05:16,550 Now let's just happen when we click outside here 104 104 00:05:16,550 --> 00:05:17,833 in the same container. 105 105 00:05:19,160 --> 00:05:23,260 So you see that this here is still a container outside 106 106 00:05:23,260 --> 00:05:24,370 and so when we click this, 107 107 00:05:24,370 --> 00:05:26,570 now we of course get null 108 108 00:05:26,570 --> 00:05:31,200 because there is no closest parent with a workout class. 109 109 00:05:31,200 --> 00:05:35,110 All right, and so we will actually have to 110 110 00:05:35,110 --> 00:05:36,773 basically ignore that. 111 111 00:05:38,217 --> 00:05:40,870 And so this is the next step. 112 112 00:05:40,870 --> 00:05:45,870 So if basically there is no a workout element 113 113 00:05:45,930 --> 00:05:47,773 then simply return. 114 114 00:05:49,290 --> 00:05:52,373 And so again, this is a guard clause here 115 115 00:05:52,373 --> 00:05:55,200 so of course we could have done also 116 116 00:05:55,200 --> 00:05:57,397 if there is a workout element 117 117 00:05:57,397 --> 00:06:02,146 and then the if block, but this is a bit nicer. 118 118 00:06:02,146 --> 00:06:05,361 And so now it's time to actually get the workout data 119 119 00:06:05,361 --> 00:06:07,483 out of the workouts array. 120 120 00:06:08,570 --> 00:06:12,290 So workout=this.workouts 121 121 00:06:14,040 --> 00:06:16,740 and actually that's like this 122 122 00:06:16,740 --> 00:06:20,133 and now how do you think we will find this workout? 123 123 00:06:20,970 --> 00:06:24,540 Well, that's right , just like in the blank list application 124 124 00:06:24,540 --> 00:06:28,790 that we built before we are going to use the find method 125 125 00:06:28,790 --> 00:06:33,620 to, well, essentially find an element of the array. 126 126 00:06:33,620 --> 00:06:36,200 So that's create our callback function here 127 127 00:06:36,200 --> 00:06:38,838 and so each element in the workouts array, 128 128 00:06:38,838 --> 00:06:41,400 I will simply call work. 129 129 00:06:41,400 --> 00:06:46,400 And then I want the one which has work.id equal to that ID 130 130 00:06:48,333 --> 00:06:51,480 that I just showed you before in the dum. 131 131 00:06:51,480 --> 00:06:56,050 and so debts workoutEL.dataset.id 132 132 00:06:58,380 --> 00:07:01,670 so this is again, nothing new at this point 133 133 00:07:01,670 --> 00:07:04,104 we used this technique a couple of times before, 134 134 00:07:04,104 --> 00:07:07,723 but this is yet another really great use case of it. 135 135 00:07:12,000 --> 00:07:13,813 And so let's take a look now, 136 136 00:07:15,020 --> 00:07:18,263 if we are able to actually get the correct one, 137 137 00:07:20,424 --> 00:07:24,280 so any random data here works just fine, 138 138 00:07:24,280 --> 00:07:25,470 then I'm gonna click it 139 139 00:07:26,540 --> 00:07:28,890 and now we get this same error 140 140 00:07:28,890 --> 00:07:30,840 that we already had before 141 141 00:07:30,840 --> 00:07:33,510 and we actually could have predicted this already, 142 142 00:07:33,510 --> 00:07:34,970 couldn't we? 143 143 00:07:34,970 --> 00:07:37,920 Because remember that this method here 144 144 00:07:37,920 --> 00:07:41,310 is called by, "addEventListener() method," 145 145 00:07:41,310 --> 00:07:44,010 and so therefore the, "this" keyword in here 146 146 00:07:44,010 --> 00:07:46,928 is not what we want it to be. 147 147 00:07:46,928 --> 00:07:48,713 So let's move up there. 148 148 00:07:50,650 --> 00:07:54,580 So to the place where we had the event listener, 149 149 00:07:54,580 --> 00:07:56,250 so right here. 150 150 00:07:56,250 --> 00:07:59,900 And so just like before we need to bind the, "this" keyword 151 151 00:07:59,900 --> 00:08:01,483 to actually make it correct. 152 152 00:08:03,020 --> 00:08:05,740 Right, so I already explained before 153 153 00:08:05,740 --> 00:08:07,433 why that is necessary. 154 154 00:08:09,400 --> 00:08:13,540 So let's just try again now I'm clicking it 155 155 00:08:15,330 --> 00:08:18,793 and yeah, here it is actually. 156 156 00:08:20,930 --> 00:08:23,810 So you see that this one has exactly the same ID. 157 157 00:08:23,810 --> 00:08:26,030 Let's just add another one here 158 158 00:08:30,950 --> 00:08:34,580 and now we get this one here, but again, 159 159 00:08:34,580 --> 00:08:36,610 as I click this one, of course, 160 160 00:08:36,610 --> 00:08:40,773 we still find the correct workout from the array. 161 161 00:08:42,710 --> 00:08:46,420 And so now we can basically take the coordinates 162 162 00:08:46,420 --> 00:08:47,950 from this element 163 163 00:08:47,950 --> 00:08:52,040 and then move to map to that position. 164 164 00:08:52,040 --> 00:08:54,890 So in leaflet, there is actually a method 165 165 00:08:54,890 --> 00:08:56,830 to do exactly that 166 166 00:08:56,830 --> 00:09:00,143 and the method is available on all map objects. 167 167 00:09:01,110 --> 00:09:02,770 So we can take our map object 168 168 00:09:02,770 --> 00:09:05,870 that we already have, which is this one. 169 169 00:09:05,870 --> 00:09:10,040 And then we can call the, "setView method," 170 170 00:09:10,040 --> 00:09:13,390 and I really encourage you to go check out the documentation 171 171 00:09:13,390 --> 00:09:16,560 of this one, but I'm not gonna do that right now. 172 172 00:09:16,560 --> 00:09:21,090 So anyway, the setView method needs as a first argument, 173 173 00:09:21,090 --> 00:09:22,080 the coordinates 174 174 00:09:22,960 --> 00:09:26,553 and so that's at the workout.coords 175 175 00:09:29,300 --> 00:09:32,010 then the second one is the zoom level 176 176 00:09:32,010 --> 00:09:33,130 and to zoom level, 177 177 00:09:33,130 --> 00:09:36,845 we actually have already used before somewhere. 178 178 00:09:36,845 --> 00:09:39,623 So I think where we first loaded the map, 179 179 00:09:40,590 --> 00:09:42,370 so right here. 180 180 00:09:42,370 --> 00:09:44,330 And so it would be a bad practice 181 181 00:09:44,330 --> 00:09:46,930 to simply repeat the same number here 182 182 00:09:46,930 --> 00:09:50,223 and so instead I will create another field here. 183 183 00:09:51,300 --> 00:09:54,860 So basically another object property here. 184 184 00:09:54,860 --> 00:09:58,963 So that's gonna be called mapzoomlevel, let's say, 185 185 00:10:01,840 --> 00:10:04,153 and I will set it to 13. 186 186 00:10:05,750 --> 00:10:07,193 So let's a copy of this one. 187 187 00:10:09,380 --> 00:10:11,837 So here we need, "this." and now, 188 188 00:10:16,120 --> 00:10:18,523 then here the same thing down here. 189 189 00:10:21,540 --> 00:10:22,673 So this.mapzoomlevel, 190 190 00:10:24,830 --> 00:10:29,363 and finally we can pass in an object of options as always, 191 191 00:10:30,310 --> 00:10:33,373 then here we can set animate to true. 192 192 00:10:34,600 --> 00:10:37,540 And then we can also set the duration basically 193 193 00:10:37,540 --> 00:10:39,870 of this animation by saying, 194 194 00:10:39,870 --> 00:10:44,730 pen should be equal to yet another object 195 195 00:10:44,730 --> 00:10:47,780 which should have the duration of 1. 196 196 00:10:47,780 --> 00:10:50,910 So this is all a little bit confusing, 197 197 00:10:50,910 --> 00:10:52,290 but again, if you want, 198 198 00:10:52,290 --> 00:10:54,950 you can read the documentation of leaflet 199 199 00:10:54,950 --> 00:10:58,083 and then find out why exactly it works this way. 200 200 00:10:59,160 --> 00:11:01,700 So let me give it a save here now, 201 201 00:11:01,700 --> 00:11:03,450 and then let's go back here 202 202 00:11:05,420 --> 00:11:08,533 so we can get almost rid of the console here. 203 203 00:11:12,200 --> 00:11:14,523 Okay, and add another one here, 204 204 00:11:15,670 --> 00:11:17,270 just to make this a bit more fun 205 205 00:11:18,150 --> 00:11:20,380 and so now let me actually click here 206 206 00:11:21,530 --> 00:11:24,613 and yeah, beautiful, it works. 207 207 00:11:25,936 --> 00:11:28,060 And a click on this one and of course 208 208 00:11:28,060 --> 00:11:30,880 it then moves to that one, 209 209 00:11:30,880 --> 00:11:33,620 and of course, if I edit even more than 210 210 00:11:33,620 --> 00:11:35,683 that would just work all the same. 211 211 00:11:36,520 --> 00:11:39,940 Okay, and now just to finish this, 212 212 00:11:39,940 --> 00:11:43,370 I want to just add a very small touch here. 213 213 00:11:43,370 --> 00:11:46,440 And that will be to simply count the clicks 214 214 00:11:46,440 --> 00:11:49,450 that happen on each of the workouts. 215 215 00:11:49,450 --> 00:11:52,200 Now I will not display that number anywhere 216 216 00:11:52,200 --> 00:11:53,770 or something like that. 217 217 00:11:53,770 --> 00:11:57,405 This, just to show you something basically. 218 218 00:11:57,405 --> 00:12:02,405 So essentially it is to make the public interface 219 219 00:12:02,420 --> 00:12:05,680 of these classes here a little bit more complete, 220 220 00:12:05,680 --> 00:12:09,020 because right now we are actually not calling any of the 221 221 00:12:09,020 --> 00:12:14,020 methods outside of the classes themselves, right? 222 222 00:12:14,120 --> 00:12:17,130 So we are not really using any public interface 223 223 00:12:17,130 --> 00:12:19,270 here on any of these objects 224 224 00:12:19,270 --> 00:12:22,030 and so I want to just change that 225 225 00:12:22,030 --> 00:12:24,840 just so you can see how that would work. 226 226 00:12:24,840 --> 00:12:28,240 So basically here on all the workouts, 227 227 00:12:28,240 --> 00:12:31,240 let's add a property called clicks 228 228 00:12:32,229 --> 00:12:35,710 and we will start with zero clicks. 229 229 00:12:35,710 --> 00:12:38,920 And then we will also have a methods 230 230 00:12:38,920 --> 00:12:40,800 which will be called click 231 231 00:12:43,700 --> 00:12:48,233 and all it will do is to increase the number of clicks. 232 232 00:12:49,420 --> 00:12:52,000 All right, so very simple 233 233 00:12:52,000 --> 00:12:55,100 but now every object gets this method 234 234 00:12:55,100 --> 00:12:57,620 and so in each of the workouts, 235 235 00:12:57,620 --> 00:13:00,420 we can now increase that number of clicks 236 236 00:13:01,300 --> 00:13:03,230 and so that's very simple. 237 237 00:13:03,230 --> 00:13:06,330 All we have to do now is to well, 238 238 00:13:06,330 --> 00:13:08,760 is to take the object that we already have, 239 239 00:13:08,760 --> 00:13:10,420 which is the workout, 240 240 00:13:10,420 --> 00:13:12,513 and then using that public interface. 241 241 00:13:17,699 --> 00:13:20,116 So that's just workout.click. 242 242 00:13:23,380 --> 00:13:24,680 And that's actually it 243 243 00:13:24,680 --> 00:13:27,790 and let's just test this. 244 244 00:13:27,790 --> 00:13:30,320 And also actually, this will be helpful 245 245 00:13:30,320 --> 00:13:33,203 to show you something else in the next video. 246 246 00:13:34,940 --> 00:13:35,773 All right, 247 247 00:13:36,630 --> 00:13:39,011 and so, as I keep clicking here, 248 248 00:13:39,011 --> 00:13:43,100 the number of clicks should actually increase 249 249 00:13:43,100 --> 00:13:46,583 but for some reason that we get this error here. 250 250 00:13:47,740 --> 00:13:50,007 So let's see what happening in line 289. 251 251 00:13:51,980 --> 00:13:53,582 So that's right here 252 252 00:13:53,582 --> 00:13:58,250 telling us that the workout.click does not exist. 253 253 00:13:58,250 --> 00:13:59,603 So why is that? 254 254 00:14:01,390 --> 00:14:04,363 Well, let's take a look at the object here, actually. 255 255 00:14:06,880 --> 00:14:09,573 And so, in particular at the prototype, 256 256 00:14:10,600 --> 00:14:14,000 and so here of course click does not exist, 257 257 00:14:14,000 --> 00:14:16,790 but here it actually is. 258 258 00:14:16,790 --> 00:14:18,970 So indeed here it's a click method 259 259 00:14:18,970 --> 00:14:22,820 and so the workout should have access to this method. 260 260 00:14:22,820 --> 00:14:25,840 So that is exactly what we learned in the previous section 261 261 00:14:25,840 --> 00:14:27,525 about the prototype chain 262 262 00:14:27,525 --> 00:14:31,860 and about how all of this actually works behind the scenes. 263 263 00:14:31,860 --> 00:14:34,690 So hopefully you will remember that. 264 264 00:14:34,690 --> 00:14:38,463 But now I'm actually not sure why this isn't working. 265 265 00:14:39,900 --> 00:14:41,360 Let's go back here 266 266 00:14:41,360 --> 00:14:42,500 and bring back 267 267 00:14:42,500 --> 00:14:46,430 or fake workouts here basically. 268 268 00:14:46,430 --> 00:14:47,870 So these ones, 269 269 00:14:47,870 --> 00:14:50,773 so we can play around with them in the console. 270 270 00:14:52,110 --> 00:14:55,440 So you see that both of them have the clicks set to zero 271 271 00:14:56,450 --> 00:15:01,450 and so let's use run1.click like this 272 272 00:15:02,670 --> 00:15:06,920 and then as we look at run 1 again, 273 273 00:15:06,920 --> 00:15:09,543 then the clicks is still at zero. 274 274 00:15:10,490 --> 00:15:14,283 So something is clearly also wrong there. 275 275 00:15:15,900 --> 00:15:18,693 Okay, so here, this needs to be clicks, 276 276 00:15:19,770 --> 00:15:22,833 but I'm not sure if that was the actual error. 277 277 00:15:27,650 --> 00:15:32,070 Okay, so now the clicks increased to two here. 278 278 00:15:32,070 --> 00:15:33,120 So that's now check 279 279 00:15:35,190 --> 00:15:36,240 adding something here 280 280 00:15:37,680 --> 00:15:38,823 and then clicking it. 281 281 00:15:40,800 --> 00:15:43,380 Okay, and you see that it moved there. 282 282 00:15:43,380 --> 00:15:45,280 Let's click again. 283 283 00:15:45,280 --> 00:15:47,580 Oh, and now it's actually working. 284 284 00:15:47,580 --> 00:15:50,963 So now the clicks indeed increased to one. 285 285 00:15:52,130 --> 00:15:55,390 So great, that works just fine 286 286 00:15:55,390 --> 00:15:57,824 and again, this was just a way of showing you 287 287 00:15:57,824 --> 00:16:00,500 that we can of course then interact 288 288 00:16:00,500 --> 00:16:04,793 with each of the objects using their public interface. 289 289 00:16:06,270 --> 00:16:10,663 And in this case, we use that using the click method here. 290 290 00:16:12,250 --> 00:16:15,570 So that's it for this lecture in the next video, 291 291 00:16:15,570 --> 00:16:17,680 we will then fix the fact that 292 292 00:16:17,680 --> 00:16:21,430 when we reload the page, everything is gone. 293 293 00:16:21,430 --> 00:16:24,550 And so actually we want data to persist 294 294 00:16:24,550 --> 00:16:27,680 and so that is the missing piece in our application 295 295 00:16:27,680 --> 00:16:30,013 and we will fix it in the next lecture. 25054

Can't find what you're looking for?
Get subtitles in any language from opensubtitles.com, and translate them here.