Skip to content

Instantly share code, notes, and snippets.

View Danilo-Araujo-Silva's full-sized avatar

Danilo Araújo Silva Danilo-Araujo-Silva

View GitHub Profile
@Danilo-Araujo-Silva
Danilo-Araujo-Silva / Vee Validate - Validating Child components
Last active March 25, 2023 10:13
A strategy to validate child components with Vue and Vee Validate.
// Somewhere in the initialization:
import VeeValidate from "vee-validate";
Vue.use(VeeValidate);
// Then, in the parent component:
export default {
provide () {
return { parentValidator: this.$validator }
},
@Danilo-Araujo-Silva
Danilo-Araujo-Silva / install_octave_with_gui_and_gnuplot_on_macos_mojave.txt
Last active July 5, 2019 14:57
Install Octave with gui and gnuplot on macOS Mojave
# Install homebrew, if is not already installed:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
# Update and upgrade homebrew, if needed:
brew update && brew upgrade
# Install XCode (it is a long download, it is an Octave dependency)
# Go to Apple Store and install.
# Install Aquaterm
@Danilo-Araujo-Silva
Danilo-Araujo-Silva / Extension.kt
Created October 31, 2018 14:43
Kotlin: get a list of some property values from a collection / list of objects
import kotlin.reflect.KMutableProperty1
inline fun <reified T, Y> MutableList<T>.arrayListOfField(property: KMutableProperty1<T, Y?>): ArrayList<Y> {
val output = ArrayList<Y>()
this.forEach {t: T ->
@Suppress("UNCHECKED_CAST")
output.add(property.get(t) as Y)
}
@Danilo-Araujo-Silva
Danilo-Araujo-Silva / solution
Created October 30, 2018 11:23
Solution: xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun
To fix the error:
`xcrun: error: invalid active developer path (/Library/Developer/CommandLineTools), missing xcrun at: /Library/Developer/CommandLineTools/usr/bin/xcrun`
You can do:
`xcode-select --install`
More info on:
`https://apple.stackexchange.com/questions/254380/macos-mojave-invalid-active-developer-path`

For example, to override the AppBar (https://material-ui-next.com/api/app-bar/) root class we can do the following:

First method (override Material UI classnames):

1 - Add the property classes in the AppBar component:

    <AppBar classes={{root: 'my-root-class'}}
@Danilo-Araujo-Silva
Danilo-Araujo-Silva / class-utils.js
Last active December 24, 2017 01:21
hasClass, addClass, removeClass, toggleClass implementation in ES6
/**
*
* @param classNames
* @param className
* @returns {boolean}
*/
export function hasClass(classNames, className) {
return new RegExp(` ${className} `).test(` ${classNames} `)
}
@Danilo-Araujo-Silva
Danilo-Araujo-Silva / commands.txt
Last active March 20, 2017 13:06
Install Latest NPM and NodeJS and Update All Global NPM packages
# Official documentation: https://nodejs.org/en/download/package-manager/
# First install npm using the link above (if you don't have it yet). Then:
# sudo is needed for some OSes, if it is not required on yours then you can remove it from the commands.
sudo npm install npm@latest -g
#Important! The option -f is used to force clean the npm cache. Take care about it. Anyway, I usually do this when I would like to install the latest NodeJS.
sudo npm cache clean -f
sudo npm install -g n
sudo n stable
@Danilo-Araujo-Silva
Danilo-Araujo-Silva / commands.txt
Last active March 20, 2017 12:58
Install Latest Ruby, Rails and Update All Gems
# Official rvm documentation: https://rvm.io/
gpg --keyserver hkp://keys.gnupg.net --recv-keys 409B6B1796C275462A1703113804BB82D39DC0E3
\curl -sSL https://get.rvm.io | bash
rvm install ruby --latest
gem install rails
/// jQuery-style extend function
/// About `map-merge()`:
/// * only takes 2 arguments
/// * is not recursive
/// @param {Map} $object - first map
/// @param {ArgList} $objects - other maps
/// @param {Bool} $deep - recursive mode
/// @return {Map}
@function extend($object, $objects.../*, $deep */) {
$last: nth($objects, -1);
/// https://css-tricks.com/snippets/sass/deep-getset-maps/
/// Map deep get
/// @author Hugo Giraudel
/// @access public
/// @param {Map} $map - Map
/// @param {Arglist} $keys - Key chain
/// @return {*} - Desired value
@function map-deep-get($map, $keys...) {
@each $key in $keys {
$map: map-get($map, $key);