Skip to content

Instantly share code, notes, and snippets.

View mohandere's full-sized avatar
🎯
Focusing

Mohan Dere mohandere

🎯
Focusing
View GitHub Profile
@mohandere
mohandere / sortObject.js
Last active December 20, 2018 13:59
Sort plain js object based on custom order from Array
// Example -
// { category: 'Cloths', 'brand': 'Van H', collection: 'New' }.sortObject(['brand', 'category', 'collection']);
var sortingBasedOnArr = ['collection', 'brand', 'category'];
var targetObject = { category: 'Cloths', 'brand': 'Van H', collection: 'New' }
Object.prototype.sortObject = function(sortingArr) {
var targetObj = this;
var result = {}
if (!targetObj) {
return result;
@mohandere
mohandere / registerServiceWorker.js
Created August 10, 2018 16:27
Service worker working example
// Main service worker controller
function ServiceWorkerController() {
this._toastsView = new ToastsView();
this._register();
};
ServiceWorkerController.prototype._register = function() {
if (!navigator.serviceWorker) return;
var ServiceWorkerController = this;
var swUrl = "/${optportalName}/service-worker/service-worker.js";
@mohandere
mohandere / package.json
Created May 30, 2018 10:51
package.json - Obfuscate CSS class names in Create React App without eject
{
"name": "my-react-app",
"version": "0.1.0",
"private": true,
"dependencies": {
"babel-plugin-react-css-modules": "^3.4.2",
"react": "^16.3.2",
"react-dom": "^16.3.2",
"react-scripts": "1.1.4"
},
@mohandere
mohandere / App.js
Created May 30, 2018 10:50
App.js - Obfuscate CSS class names in Create React App without eject
// File - src/App.js
import React, { Component } from 'react';
import logo from './logo.svg';
import Link from './Link';
import styles from './App.css';
class App extends Component {
render() {
return (
<div className={styles.App}>
@mohandere
mohandere / App.css
Last active May 30, 2018 10:50
App.css - Obfuscate CSS class names in Create React App without eject
// File - src/App.css
.App {
text-align: center;
}
.AppLogo {
height: 80px;
}
import React, { Component } from 'react';
import{
Grid, Row, Col,
FormGroup, ControlLabel
} from 'react-bootstrap';
import { Field, reduxForm } from 'redux-form'
import { renderInputField, required, email } from 'utils/form-helpers'
let SettingsForm = props => {
const { handleSubmit, submitting } = props
@mohandere
mohandere / asyncRoutes.js
Created March 11, 2018 11:34
asyncRoutes in CRA
import React from 'react';
import {
Route,
Switch
} from 'react-router';
import Loadable from 'react-loadable';
import AppLoader from './common/components/AppLoader';
// Import modules/routes
import About from './about';
@mohandere
mohandere / App.js
Last active March 11, 2018 07:35
Code Splitting - dynamic import
import React, { Component } from 'react';
class App extends Component {
handleClick = () => {
import ('./moduleA')
.then(({
moduleA
}) => {
// Use moduleA
})
@mohandere
mohandere / vue-infinite-loader.vue
Created December 1, 2017 13:00
Infinite Loading with Vue.js
<template>
<main class="container">
<div>
<header>
<h3>Archives</h3>
</header>
<div v-if="posts && posts.length" class="postsList">
<ul class="row">
<li v-for="(post, index) in posts" class="postItem col-sm-4">
<div class="postContent">
@mohandere
mohandere / epicGetUserRepos.js
Last active February 19, 2018 14:53
Epic get github user repos
import { ajax } from 'rxjs/observable/dom/ajax';
import 'rxjs/add/operator/catch'
import {
REQUEST_USER_REPOS_START
} from '../actions/actionTypes';
import {
doUserReposFulfilled,
doUserReposFailed
} from '../actions/doUserRepos';