# Javascript

# Kira beza masa

```javascript
var date1 = new Date("2021-11-30 09:48:00"); // ni date & time sekarang
var date2 = new Date("2021-12-01 00:00:00"); // ni date & time yang dia pilih
var masa = ((date2.getTime() - date1.getTime()) / 3600000);
console.log(masa);
```

```javascript
var DateDiff = {
  inSeconds: function(d1, d2) {
    var t2 = d2.getTime();
    var t1 = d1.getTime();
    return parseInt((t2-t1)/1000);
  },
  inMinutes: function(d1, d2) {
    var t2 = d2.getTime();
    var t1 = d1.getTime();
    return parseInt((t2-t1)/60000);
  },
  inHours: function(d1, d2) {
    var t2 = d2.getTime();
    var t1 = d1.getTime();
    return parseInt((t2-t1)/3600000);
  },
  inDays: function(d1, d2) {
    var t2 = d2.getTime();
    var t1 = d1.getTime();
    return parseInt((t2-t1)/(24*3600*1000));
  },
  inWeeks: function(d1, d2) {
    var t2 = d2.getTime();
    var t1 = d1.getTime();
    return parseInt((t2-t1)/(24*3600*1000*7));
  },
  inMonths: function(d1, d2) {
    var d1Y = d1.getFullYear();
    var d2Y = d2.getFullYear();
    var d1M = d1.getMonth();
    var d2M = d2.getMonth();
    return (d2M+12*d2Y)-(d1M+12*d1Y);
  },
  inYears: function(d1, d2) {
    return d2.getFullYear()-d1.getFullYear();
  }
}
```

# What is JavaScript

JavaScript is a dynamic programming language that's used for web development, in web application, for game development, and lots more. It allows you to implement dynamic features on web pages that cannot be done with only HTM and CSS

# ckeditor 5

https://www.jsdelivr.com/package/npm/ckeditor5-classic-free-full-feature

[https://cdn.jsdelivr.net/npm/ckeditor5-classic-free-full-feature@35.4.1/build/ckeditor.min.js](https://cdn.jsdelivr.net/npm/ckeditor5-classic-free-full-feature@35.4.1/build/ckeditor.min.js)

 ClassicEditor.create(document.querySelector('#editor'))  
 .then(editor =&gt; {  
 window.editor = editor;  
 })  
 .catch(error =&gt; {  
 console.error('There was a problem initializing the editor.', error);  
 });

# limit keyin by number only

pada input, gunakan onkeypress

'onkeypress' =&gt; 'return isNumber(event)'

tambah function pada javascript

```js  
function isNumber(evt) {  
 evt = (evt) ? evt : window.event  
 var charCode = (evt.which) ? evt.which : evt.keyCode  
 if (charCode === 46) { // for .  
 return true  
 }  
 return !((charCode &gt; 31 &amp;&amp; charCode &lt; 48) || charCode &gt; 57)  
}  
```

# NuxtJS install

versi node terkini yang disokong adalah 12-16 (sila pastikan versi node adalah LTS yang disokong pada masa semasa)

untuk macos, digalakkan pasang node menggunakan nvm \[pasang node guna NVM\](https://www.newline.co/@Adele/how-to-install-nodejs-and-npm-on-macos--22782681#3-using-nvm-to-install-and-update-nodejs-recommended)

untuk create new project, digalakkan guna yarn. lebih pantas

refer pada tutorial \[tutorial nuxtjs\](https://nuxtjs.org/docs/get-started/installation)

# show password

\# jquery

```js  
$("body").on('click', '.toggle-password', function() {  
 $(this).toggleClass("fa-eye fa-eye-slash");  
 var input = $("#pass\_log\_id");  
 if (input.attr("type") === "password") {  
 input.attr("type", "text");  
 } else {  
 input.attr("type", "password");  
 }

});

&lt;script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"&gt;&lt;/script&gt;  
&lt;span toggle="#password-field" class="fa fa-fw fa-eye field\_icon toggle-password"&gt;Show/Hide&lt;/span&gt;  
&lt;input type="password" id="pass\_log\_id"/&gt;  
```