Skip to content

Instantly share code, notes, and snippets.

View ry8806's full-sized avatar

Ryan Southgate ry8806

View GitHub Profile
@ry8806
ry8806 / jplayer-directive.js
Last active May 20, 2016 14:44
AngularJS and jPlayer directive
myApp.directive("jplayer", ['$window', 'PlayerService', function ($window, PlayerService) {
return {
restrict: "E",
// Have our own scope - we only want to watch the service and not conflict with other scopes
scope: {},
// Serve up some html with our player
templateUrl: "/jplayer-template.html",
link: function (scope, element, attrs) {
// An element on the page to attach the jPlayer to. Could also use "element" from linkFN ^
var jPlayer = angular.element("#jquery_jplayer_1").jPlayer();
@ry8806
ry8806 / jplayer-template.html
Last active January 2, 2016 00:04
AngularJS and jPlayer directive template
<div id="jquery_jplayer_1" class="jp-jplayer"></div>
<div id="jp_container_1" class="jp-audio" role="application" aria-label="media player">
<div class="jp-type-single">
<div class="jp-gui jp-interface">
<div class="jp-volume-controls">
<button class="jp-mute" role="button" tabindex="0">mute</button>
<button class="jp-volume-max" role="button" tabindex="0">max volume</button>
<div class="jp-volume-bar">
<div class="jp-volume-bar-value"></div>
</div>
myApp.service("PlayerService", [function () {
this.IsPaused = false;
this.CurrentTrack = null;
this.Play = function (track) {
this.CurrentTrack = track;
this.IsPaused = false;
};
this.Pause = function () {
this.IsPaused = !this.IsPaused;
@ry8806
ry8806 / uploader-index.html
Created December 24, 2015 21:44
Amazon S3 Upload to Bucket html page
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
<meta name="description" content="">
<meta name="author" content="">
<!--<link rel="icon" href="../../favicon.ico">-->
@ry8806
ry8806 / uploader-controller.js
Last active November 13, 2019 04:37
Amazon S3 Upload to Bucket angularJS app and controller
// JavaScript source code
var uploaderApp = angular.module('uploaderApp', ['ngFileUpload']);
uploaderApp.run();
uploaderApp.controller('UploadController', ['$scope', 'Upload', 'S3UploadService', function ($scope, Upload, S3UploadService) {
$scope.uploadFiles = function (files) {
$scope.Files = files;
if (files && files.length > 0) {
uploaderApp.service('S3UploadService', ['$q', function ($q) {
// Us standard region
AWS.config.region = 'us-east-1';
AWS.config.update({ accessKeyId: '**myAccessKeyId**', secretAccessKey: '**mySecretAccessKey**' });
var bucket = new AWS.S3({ params: { Bucket: 'myTempBucket', maxRetries: 10 }, httpOptions: { timeout: 360000 } });
this.Progress = 0;
this.Upload = function (file) {
var deferred = $q.defer();
@ry8806
ry8806 / error-module.js
Last active January 20, 2016 13:13
An Angular Module for handling errors
angular.module('Errors', ['jqueryDialog'])
.service('ErrorService', ['$templateRequest', 'dialogService', function ($templateRequest, dialogService) {
// The template (which references the controller)
var templateUrl = "../error-template.html";
// Request the template and do nothing - so it's in the cache in case we lose internet connection later
$templateRequest(templateUrl);
// Now show the template in a dialog box
this.ShowError = function (info) {
<div ng-controller="ErrorController">
<div>
<span>{{::model.Message}}</span>
</div>
<div>
<div>
<input ng-click="Ok()" value="OK" type="button" ok />
</div>
</div>
</div>
@ry8806
ry8806 / upload.js
Last active February 11, 2016 17:59
C# server-side rendering with Highcharts
// Build the chart with our options
var chart = Highcharts.Chart(options);
var svg = chart.getSVGForExport();
// Post the svg to our server (using jQuery)
$.post("http://myserver.com/api/savesvg", svg, function(result){
});
@ry8806
ry8806 / rendersvg.cs
Created February 11, 2016 19:14
C# server-side rendering with Highcharts
using Svg;
using System.Drawing;
using System.Drawing.Imaging;
using System.IO;
namespace SvgRenderer
{
public class Renderer
{
public void Render(string svg)