Skip to content

Instantly share code, notes, and snippets.

View cristoferdomingues's full-sized avatar

Cristofer Domingues cristoferdomingues

  • Florianópolis, Brazil
View GitHub Profile
// Usage:
// OfflineListener.init(true);
define(['angular', 'core'], function(angular){
// Some concepts from: https://github.com/HubSpot/offline
var module = angular.module('utils.offline', []);
module.service('OfflineListener', function ($rootScope, $window, $alert) {
var offlineAlert;
@cristoferdomingues
cristoferdomingues / AppController.js
Created April 26, 2017 11:57 — forked from BrianGenisio/AppController.js
Using Aphrodite in Angular
import angular from 'angular';
import { StyleSheet, css } from 'aphrodite';
import '../style/app.css';
const styles = StyleSheet.create({
red: {
backgroundColor: 'red'
},
@cristoferdomingues
cristoferdomingues / index.html
Created April 13, 2017 19:27
Angular DOM Mutation Observer
<!DOCTYPE html>
<html>
<head>
<script data-require="[email protected]" data-semver="1.2.4" src="http://code.angularjs.org/1.2.4/angular.js"></script>
<link rel="stylesheet" href="style.css" />
<script src="script.js"></script>
</head>
<body ng-app="myApp">
@cristoferdomingues
cristoferdomingues / angularFotosRest.js
Last active March 20, 2017 12:50
Creates a FormData and sends images to server
app.factory('fotosRest', function (ENV, $timeout, $cordovaFileTransfer, $q, $http, session) {
var _makeid = function () {
var text = "";
var possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";
for (var i = 0; i < 5; i++)
text += possible.charAt(Math.floor(Math.random() * possible.length));
return text;
@cristoferdomingues
cristoferdomingues / decorating.js
Last active March 10, 2017 19:20
Angular decorator to send exceptions to google analytics when $q error
import _ from 'lodash';
export default function decorating(AnalyticsProvider, $provide) {
'use strict';
AnalyticsProvider.setAccount('UA-64741631-1');
$provide.decorator('$q', function($delegate) {
var defer = $delegate.defer;
$delegate.defer = function() {
var deferred = defer();
@cristoferdomingues
cristoferdomingues / JS-error-tracking-with-GA.js
Last active November 18, 2021 21:54
Track JavaScript errors using Universal Analytics from Google.
/**
* Track JS error details in Universal Analytics
*/
function trackJavaScriptError(e) {
var ie = window.event || {},
errMsg = e.message || ie.errorMessage;
var errSrc = (e.filename || ie.errorUrl) + ': ' + (e.lineno || ie.errorLine);
ga('send', 'exception', {
'exDescription': errSrc + ': ' + errMsg,
@cristoferdomingues
cristoferdomingues / generic-crud.factory.js
Created January 24, 2017 23:53
Angular Generic Crud
'use strict';
var crudService = angular.module('crud.service', ['app.config', 'ngResource']);
crudService.factory('CrudService', function(ENV, $resource, $schemaFormWrapper) {
return $resource(
ENV.apiEndpoint + '/senha/:crud/:entity/:param', {
crud: '@crud',
entity: '@entity',
@cristoferdomingues
cristoferdomingues / gist:2968dff442fa1135451e073392f8f729
Last active January 19, 2017 18:17
Schemaform Custom Template
{
"type": "object",
"title": "Comment",
"properties": {
"name": {
"type": "object",
"x-schema-form":{
"type": "template",
"template": "<h1 ng-click=\"form.foo(form.name)\">Yo {{form.name}}!</h1>",
"name": "Ninja",
// custom directive to fade in the header bar after scrolling
(function() {
'use strict';
angular
.module('dbaq.ionCoverHeader', [])
.directive('ionCoverHeader', ['$document', '$timeout', '$ionicScrollDelegate', function($document, $timeout, $ionicScrollDelegate) {
/**
@cristoferdomingues
cristoferdomingues / README.md
Created September 5, 2016 13:11 — forked from nodesocket/README.md
The perfect Gulp.js

The perfect gulp.js file

Tasks

serve

Runs a connect web server, serving files from /client on port 3000.

uglify-js