This blog is late published, and there is a funny story behind it.
I used to use Microsoft Windows for my entire life, although I know Linux is more Secure and Faster, I kept using Windows for a while, not a big deal. But finally I decided to buy an SSD Hard, and use Linux, both in the same time, Sounds Great! right?! WRONG!! This was the beginning of my worst week.
My laptop had a small crack (real physical one) in its base, It wasn't a big deal, but I decided that I would fix it one day. I bought the SSD hard, and got the laptop opened to put the Hard, but the crack was getting worse and worse, seems the worst, right?! WRONG!! It was just the beginning. Three or four of the nails in the Laptop was broken (and don't ask me how:) ) and the base of the lap was really badly broken then. Seems bad but it not the worst, I can just but on the Desk, and use it carefully. With the most enthusiasm in the world, I installed Linux on the SSD, and forgot to remove Windows10 from the old HDD Hard. Working on Linux is pretty cool and fine, until a new error appeared. I had a problem with dealing with Phabricator and the SSH for Gerrit, but both of them were solved using a VPN, well, now the VPN doesn't help at all. I cannot clone the repository or enter phabricator, sounds the worst!
I entered the Windows (by mistake, by the way) and I found out the vpn works fine, sounds great, right?! but as we say in Arab (لا تأتي الرياح بما تشتهي السفن), (
Winds blow counter to what ships desire) (والمنحوس منحوس ولو علقوا على راسه فانوس). The windows was crashed, and xampp doesn't work in Linux, and I am not a php developer any more. but wait!! the worst scene didn't happen yet! I decided to fix the base of the laptop, may take 2 or 3 hours, it is not bad. I send it to someone who will buy a new base for it, and it would cost about 200 L.E (about 15$), after three hours I found him had found it very expensive, it would cost more than 500 L.E, so, simple as that, he decided to send it to another workshop to weld it, and told me to go to him the next day, sounds a good day to have a rest, but only one day, right?! WROOOONG! When I went to him the next day he told me it wasn't fixed yet, and I need to wait another day. Anyway I managed to get my laptop again, but the monitor was broken (LOL), and I needed to wait about three or four days to get it fixed, because this was the weekend.
But finally, the laptop was completely fixed, I switched back to windows, and every thing is good now.
In a long conversations with my mentors (who cared a lot about my laptop, by the way), and we discussed a lot of ideas about my first task.
The First two Tasks were about the Auto completion inputs. PageForms has five input types which comes with autocompletion. Two of them uses Select2.js, Tokens and Combobox. Tokens holds multiple values, but Combobox holds only single value. And the other three input types uses jQuery UI, thus they needed some handling.
The First two input types are text with autocomplete and textarea with autocomplete (can be referred to as [text(area) with autocomplete]). The used to call the function attachAutocomplete() which calls jQuery UI functions. The idea was to convert them into stubs for Tokens and Combobox.
As mentioned before, the Tokens holds multiple values and Combobox holds single value, but text(area) with autocomplete can hold either single or multiple values, depending on the parameter |list in the definition of of the input. So, converting them into stubs needed checking whether or nor the |list parameter exists. If it exist, convert the input into Tokens, otherwise, convert it into Combobox.
The last input type coming with auto completion is #forminput, the input that refers to a specific form. This input must always holds a single value, so it can be simply converted into combobox.