Skip to content

Instantly share code, notes, and snippets.

@cerdman
Created June 3, 2015 03:22
Show Gist options
  • Save cerdman/103ece33f19ed16c2805 to your computer and use it in GitHub Desktop.
Save cerdman/103ece33f19ed16c2805 to your computer and use it in GitHub Desktop.
JS Bin // source http://jsbin.com/seqebu
<!DOCTYPE html>
<html>
<head>
<script src="http://d3js.org/d3.v3.min.js"></script>
<script src="https://cdn.rawgit.com/lodash/lodash/3.5.0/lodash.min.js"></script>
<script src="https://code.jquery.com/jquery.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css" rel="stylesheet" type="text/css" />
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.15/angular.min.js"></script>
<meta charset="utf-8">
<title>JS Bin</title>
</head>
<body ng-app="app.main">
<div id="root" ng-controller="BaseCtrl as base">
<div class="col-xs-12">
<!-- Base Ctrl Panel -->
<div class="panel panel-default">
<div class="panel-heading">
<h4 class="panel-title">
{{base.title}}
</h4>
</div>
<div class="panel-body">
<pre>{{base|json:prettyprint}}</pre>
</div>
</div>
<!-- End Base Ctrl -->
<!-- Detail panel -->
<!-- End Detail -->
</div>
</div>
<script id="jsbin-javascript">
// app.model
(function(){
angular.module('app.model',[]);
angular.module('app.model').factory('ModelService', ModelService);
function ModelService(){
var service = {
setup: function(){
var _model = new Model();
return _model;
}
};
function Model(){
var model = this;
this.data = [];
var name, data = [], tags = [];
function get(){
return model;
}
}
Model.prototype.getData = function(){
return this.data;
};
Model.prototype.addData = function(data){
model = this;
data.forEach(function(d){
model.data.push(d);
});
};
return service;
}
})();
// app.service.js
(function(){
angular.module('app.service',['app.model']);
angular.module('app.service').factory('DataService', DataService);
DataService.$inject = ['ModelService'];
function DataService(ModelService){
var model;
var service = {
getModel: getModel
};
return service;
function getModel(){
DataModel = ModelService;
return DataModel;
}
}
})();
// app.core.js
(function(){
angular.module('app.core', ['app.service', 'app.model']);
angular.module('app.core').controller('BaseCtrl', BaseCtrl);
BaseCtrl.$inject=['DataService', 'ModelService'];
function BaseCtrl(DataService, ModelService){
var vm = this;
vm.title = "Base Controller";
var Model = ModelService.setup();
Model.addData(['a','b','c','d']);
vm.model = Model;
}
})();
// app.module.js
(function(){
angular.module('app.main',['app.core']);
})();
</script>
<script id="jsbin-source-javascript" type="text/javascript">// app.model
(function(){
angular.module('app.model',[]);
angular.module('app.model').factory('ModelService', ModelService);
function ModelService(){
var service = {
setup: function(){
var _model = new Model();
return _model;
}
};
function Model(){
var model = this;
this.data = [];
var name, data = [], tags = [];
function get(){
return model;
}
}
Model.prototype.getData = function(){
return this.data;
};
Model.prototype.addData = function(data){
model = this;
data.forEach(function(d){
model.data.push(d);
});
};
return service;
}
})();
// app.service.js
(function(){
angular.module('app.service',['app.model']);
angular.module('app.service').factory('DataService', DataService);
DataService.$inject = ['ModelService'];
function DataService(ModelService){
var model;
var service = {
getModel: getModel
};
return service;
function getModel(){
DataModel = ModelService;
return DataModel;
}
}
})();
// app.core.js
(function(){
angular.module('app.core', ['app.service', 'app.model']);
angular.module('app.core').controller('BaseCtrl', BaseCtrl);
BaseCtrl.$inject=['DataService', 'ModelService'];
function BaseCtrl(DataService, ModelService){
var vm = this;
vm.title = "Base Controller";
var Model = ModelService.setup();
Model.addData(['a','b','c','d']);
vm.model = Model;
}
})();
// app.module.js
(function(){
angular.module('app.main',['app.core']);
})();</script></body>
</html>
// app.model
(function(){
angular.module('app.model',[]);
angular.module('app.model').factory('ModelService', ModelService);
function ModelService(){
var service = {
setup: function(){
var _model = new Model();
return _model;
}
};
function Model(){
var model = this;
this.data = [];
var name, data = [], tags = [];
function get(){
return model;
}
}
Model.prototype.getData = function(){
return this.data;
};
Model.prototype.addData = function(data){
model = this;
data.forEach(function(d){
model.data.push(d);
});
};
return service;
}
})();
// app.service.js
(function(){
angular.module('app.service',['app.model']);
angular.module('app.service').factory('DataService', DataService);
DataService.$inject = ['ModelService'];
function DataService(ModelService){
var model;
var service = {
getModel: getModel
};
return service;
function getModel(){
DataModel = ModelService;
return DataModel;
}
}
})();
// app.core.js
(function(){
angular.module('app.core', ['app.service', 'app.model']);
angular.module('app.core').controller('BaseCtrl', BaseCtrl);
BaseCtrl.$inject=['DataService', 'ModelService'];
function BaseCtrl(DataService, ModelService){
var vm = this;
vm.title = "Base Controller";
var Model = ModelService.setup();
Model.addData(['a','b','c','d']);
vm.model = Model;
}
})();
// app.module.js
(function(){
angular.module('app.main',['app.core']);
})();
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment