Skip to content

Commit

Permalink
Create an Angular NgAdminConfigurationFactoryProvider
Browse files Browse the repository at this point in the history
  • Loading branch information
jpetitcolas committed Mar 9, 2015
1 parent 8ae6d87 commit ef41bc1
Show file tree
Hide file tree
Showing 13 changed files with 55 additions and 87 deletions.
4 changes: 0 additions & 4 deletions Gruntfile.js
Original file line number Diff line number Diff line change
Expand Up @@ -147,10 +147,6 @@ module.exports = function (grunt) {
src: ['**/*.map'],
dest: 'examples/blog/build/',
expand: true
},
corejs: {
src: 'node_modules/core-js/build/core-stable.js',
dest: 'examples/blog/build/corejs.js'
}
},

Expand Down
6 changes: 0 additions & 6 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,3 @@ build:

test:
@grunt test:local

es6-test:
mocha --compilers js:mocha-traceur --recursive src/javascripts/ng-admin/es6/tests/

es6-watch:
./node_modules/watch/cli.js "./node_modules/jspm/jspm.js bundle-sfx src/javascripts/ng-admin/es6/lib/main" src/javascripts/ng-admin/es6/lib/
23 changes: 23 additions & 0 deletions UPGRADE-0.7.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,26 @@
# Upgrade to 0.7

## Field factory

ng-admin 0.7 breaks compatibility with 0.5 and makes the "factories" configuration API compulsory. If your configuration uses `nga.field()`, it will still work woth 0.7. If it uses `new Field()`, you'll need to follow [the 0.6 upgrade guide](https://github.com/marmelab/ng-admin/blob/b3c7b1afc6a52651df6ba4454d8461620339b4da/UPGRADE-0.6.md).

## Configuration factory

Configuration is now done through a `ConfigurationFactory`. You can retrieve it directly from Angular DI. You just have to retrieve your application from this factory instead of the `NgAdminConfigurationProvider` as previously:

``` js
- app.config(function (NgAdminConfigurationProvider, RestangularProvider) {
+ app.config(function (NgAdminConfigurationFactoryProvider, NgAdminConfigurationProvider, RestangularProvider) {
- var nga = NgAdminConfigurationProvider;
+ var nga = new NgAdminConfigurationFactoryProvider.$get();

// ...

- nga.configure(admin);
+ NgAdminConfigurationProvider.configure(admin);
});
```
## Entry constructor changes
`Entry` class constructor has changed. You shouldn't use it directly, but if it is the case, new constructor takes three parameters: entityName, values and identifierValue. Only the two first ones are required.
4 changes: 2 additions & 2 deletions examples/blog/config.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@

var app = angular.module('myApp', ['ng-admin']);

app.config(function (NgAdminConfigurationProvider, RestangularProvider) {
var nga = new window.ngaConfigurationFactory();
app.config(function (NgAdminConfigurationFactoryProvider, NgAdminConfigurationProvider, RestangularProvider) {
var nga = new NgAdminConfigurationFactoryProvider.$get();

function truncate(value) {
if (!value) {
Expand Down
1 change: 0 additions & 1 deletion examples/blog/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@
<link rel="stylesheet" href="build/ng-admin.css">
<script src="build/angular.js" type="text/javascript"></script>
<script src="build/ng-admin.js" type="text/javascript"></script>
<script src="build/ng-admin-configuration.min.js" type="text/javascript"></script>
<script src="config.js" type="text/javascript"></script>
</head>
<body ng-app="myApp">
Expand Down
15 changes: 2 additions & 13 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
"babel": "^4.6.0",
"chai": "^2.1.0",
"grunt": "~0.4.4",
"grunt-babel": "^4.0.0",
"grunt-concurrent": "^0.5.0",
"grunt-contrib-clean": "^0.6.0",
"grunt-contrib-compass": "~0.7.2",
Expand All @@ -32,7 +33,6 @@
"grunt-protractor-runner": "^1.1.4",
"jasmine-core": "~2.1.3",
"jshint-stylish": "~0.1.3",
"jspm": "^0.14.0",
"karma": "~0.12.14",
"karma-babel-preprocessor": "^4.0.0",
"karma-chrome-launcher": "^0.1.4",
Expand All @@ -44,23 +44,12 @@
"mocha": "^2.1.0",
"mocha-traceur": "^2.1.0",
"protractor": "~1.4.0",
"superagent": "^0.18.2",
"watch": "^0.14.0"
"superagent": "^0.18.2"
},
"engines": {
"node": ">=0.10.0"
},
"scripts": {
"test": "grunt test"
},
"jspm": {
"directories": {
"lib": "src/javascripts/ng-admin/es6",
"packages": "jspm_packages"
},
"configFile": "src/javascripts/ng-admin/es6/config.js",
"dependencies": {
"requirejs": "~2.1.14"
}
}
}
16 changes: 14 additions & 2 deletions src/javascripts/ng-admin.js
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,8 @@ require.config({
'textangular': 'bower_components/textAngular/dist/textAngular.min',
'angular-ui-codemirror': 'bower_components/angular-ui-codemirror/ui-codemirror.min',
'MainModule': 'ng-admin/Main/MainModule',
'CrudModule': 'ng-admin/Crud/CrudModule'
'CrudModule': 'ng-admin/Crud/CrudModule',
'NgAdminConfigurationFactory': '../../build/ng-admin-configuration'
},
shim: {
'restangular': {
Expand All @@ -49,5 +50,16 @@ define(function (require) {
require('MainModule');
require('CrudModule');

angular.module('ng-admin', ['main', 'crud']);
var configurationFactory = require('NgAdminConfigurationFactory');

var factory = angular.module('NgAdminConfigurationFactory', []);
factory.provider('NgAdminConfigurationFactory', function() {
return {
$get: function() {
return new configurationFactory();
}
};
});

angular.module('ng-admin', ['main', 'crud', 'NgAdminConfigurationFactory']);
});
8 changes: 0 additions & 8 deletions src/javascripts/ng-admin/es6/config.js

This file was deleted.

39 changes: 13 additions & 26 deletions src/javascripts/ng-admin/es6/lib/Application.js
Original file line number Diff line number Diff line change
Expand Up @@ -48,41 +48,28 @@ class Application {
return url;
}

layout() {
if (arguments.length) {
this._layout = arguments[0];
return this;
}

return this._layout;
layout(layout) {
if (!arguments.length) return this._layout;
this._layout = layout;
return this;
}

title() {
if (arguments.length) {
this._title= arguments[0];
return this;
}

return this._title;
title(title) {
if (!arguments.length) return this._title;
this._title = title;
return this;
}

customTemplate(customTemplate) {
if (!arguments.length) {
return this._customTemplate;
}

if (!arguments.length) return this._customTemplate;
this._customTemplate = customTemplate;

return this;
}

baseApiUrl() {
if (arguments.length) {
this._baseApiUrl = arguments[0];
return this;
}

return this._baseApiUrl;
baseApiUrl(url) {
if (!arguments.length) return this._baseApiUrl;
this._baseApiUrl = url;
return this;
}

addEntity(entity) {
Expand Down
3 changes: 0 additions & 3 deletions src/javascripts/ng-admin/es6/lib/Field/Field.js
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,6 @@ class Field {
return this._label;
}

/** @deprecated */
type() {
if (arguments.length) {
this._type = arguments[0];
Expand All @@ -42,7 +41,6 @@ class Field {
return this._type;
}

/** @deprecated */
name() {
if (arguments.length) {
this._name = arguments[0];
Expand All @@ -53,7 +51,6 @@ class Field {
}


/** @deprecated */
order() {
if (arguments.length) {
this._order = arguments[0];
Expand Down
15 changes: 0 additions & 15 deletions src/javascripts/ng-admin/es6/nga-configuration.js

This file was deleted.

4 changes: 0 additions & 4 deletions src/javascripts/ng-admin/es6/tests/lib/ApplicationTest.js
Original file line number Diff line number Diff line change
Expand Up @@ -27,10 +27,6 @@ describe('Application', function() {
});
});

describe('getRouteFor', function() {
// @TODO
});

describe('layout', function() {
it('using function without argument should be as getter', function() {
var application = new Application();
Expand Down
4 changes: 1 addition & 3 deletions src/javascripts/test/app-test.js
Original file line number Diff line number Diff line change
Expand Up @@ -35,9 +35,7 @@ requirejs.config({
'nprogress': 'bower_components/nprogress/nprogress',

'MainModule': 'ng-admin/Main/MainModule',
'CrudModule': 'ng-admin/Crud/CrudModule',

'Field': 'ng-admin/es6/lib/Field/Field'
'CrudModule': 'ng-admin/Crud/CrudModule'
},
shim: {
'angular': {
Expand Down

0 comments on commit ef41bc1

Please sign in to comment.