May 9, 2019

RePost: Ajax helper (ES6) Axios

https://medium.com/@MinimalGhost/what-is-axios-js-and-why-should-i-care-7eb72b111dc0

Apr 19, 2019

Bootstrap 4 checkbox change jquery javascript

        isCreditCardPaymentSelector: "input[name = 'IsCreditCardPayment']",
        isCreditCardPaymentIdSelector: "input[name='IsCreditCardPayment'][type='hidden']",

form.find(options.isCreditCardPaymentSelector).removeAttr('checked');        form.find(options.isCreditCardPaymentSelector).parent('label').removeClass('active');
form.find(options.isCreditCardPaymentIdSelector).val(false);

Feb 8, 2019

RePost: Git concepts

Very good point about Git architecture.

https://stackoverflow.com/questions/292357/what-is-the-difference-between-git-pull-and-git-fetch

Git was designed to support a more distributed model with no need for a central repository (though you can certainly use one if you like). Also git was designed so that the client and the "server" don't need to be online at the same time. Git was designed so that people on an unreliable link could exchange code via email, even. It is possible to work completely disconnected and burn a CD to exchange code via git.
In order to support this model git maintains a local repository with your code and also an additional local repository that mirrors the state of the remote repository. By keeping a copy of the remote repository locally, git can figure out the changes needed even when the remote repository is not reachable. Later when you need to send the changes to someone else, git can transfer them as a set of changes from a point in time known to the remote repository.
git fetch is the command that says "bring my local copy of the remote repository up to date."
git pull says "bring the changes in the remote repository to where I keep my own code."
Normally git pull does this by doing a git fetch to bring the local copy of the remote repository up to date, and then merging the changes into your own code repository and possibly your working copy.
The take away is to keep in mind that there are often at least three copies of a project on your workstation. One copy is your own repository with your own commit history. The second copy is your working copy where you are editing and building. The third copy is your local "cached" copy of a remote repository.

Dec 17, 2018

Javascript OOP - Example of inheritance with closure (module pattern)

//This is just wrapper function! Not a constructor! It's sole purpose is to provide
//closure for hiding private members. Module?
function Vehicle(type, registration){
//Private members
var defaultType = 'car';
var calcRegistration = function (registration){
return registration ? 'REG-'+registration : 'REG-UNKNOWN';
}
//(Public) Constructor
function Vehicle(type, registration){
this.Type = type || defaultType;
this.Registration = calcRegistration(registration);
}
//Public method
Vehicle.prototype.DumpData = function(){
console.log(this.Type,' ',this.Registration);
}
//object instantiation using constructor and provided params
return new Vehicle(type, registration);
}
function Bus(type, registration, passengers){
function Bus(type, registration, passengers){
//Call base constructor with params
Vehicle.call(this,type,registration);
this.Passengers = passengers;
this.Driver = "";
}
//Inherit methods from prototype of Parent
Bus.prototype = new Vehicle(type, registration, passengers);
//Revert to child constructor
Bus.prototype.constructor = Bus;
//Create new method on child prototype
//Note! Parent method DumpData is inheried/exists on child->prototype->prototoype
Bus.prototype.AssignDriver = function(){
if (this.Passengers>30)
{
this.Driver= "Jack";
}
else
{
this.Driver = "Jenny";
}
}
return new Bus(type, registration, passengers);
}

//new is not needed since Bus function is used to create instance.
var cityBus = new Bus('bus','ZZX23-1',10);
cityBus.AssignDriver();
console.log(cityBus);
var fordTransit = Vehicle('van','');
console.log(fordTransit);
fordTransit.DumpData();

Nov 6, 2018

JavaScript - How to get request url parts (segments)

 Extracting url parts:

var urlParts = window.location.pathname.split('/');
var lastSegment = urlParts.pop() || urlParts.pop();

window.location.href = window.location.pathname.replace(lastSegment, myQueryPath);