Skip to content

Commit 080fd74

Browse files
authored
Merge pull request #89 from MitocGroup/dev
Merge dev
2 parents b4ace3c + aa0613d commit 080fd74

File tree

9 files changed

+175
-5
lines changed

9 files changed

+175
-5
lines changed
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
*.chunk.js
2+
*.chunk.js.map
3+
bootstrap.js
4+
bootstrap.js.map
5+
js/polyfills.js
6+
js/polyfills.js.map
7+
js/vendor.js
8+
js/vendor.js.map

src/deep-root-angular2/frontend/config/helpers.js

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,13 @@ function webpackDepsConfig() {
5858
}
5959

6060
function deeployConfig() {
61-
return require(path.join(__dirname, '..', '..', '..', DEEPLOY_FILE))
61+
try {
62+
return require(path.join(__dirname, '..', '..', '..', DEEPLOY_FILE))
63+
} catch (e) {
64+
console.warn('Returning a fake deeploy.json config object.', e);
65+
}
66+
67+
return { env: 'dev' };
6268
}
6369

6470
function getMicroservices() {

src/deep-root-angular2/frontend/js/app/app.module.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import { LocationStrategy, HashLocationStrategy } from '@angular/common';
44
import { SimpleNotificationsModule } from 'angular2-notifications';
55
import { RootAngular, DefaultRootAngular, routing } from './index';
66
import { DeepRouterService } from './services/deep-router.service';
7+
import { DeepEventService } from './services/deep-event.service';
78
import { DeepNotifierService } from './services/deep-notifier.service';
89

910
const imports = [
@@ -12,9 +13,10 @@ const imports = [
1213
routing
1314
].concat(DeepFramework.angularDependencies);
1415

15-
let providers = [
16+
let providers : Array<any> = [
1617
DeepRouterService,
17-
DeepNotifierService
18+
DeepNotifierService,
19+
DeepEventService,
1820
];
1921

2022
if (DeepFramework.Kernel.isLocalhost) {
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
'use strict';
2+
3+
import { Injectable } from '@angular/core';
4+
import { Event } from './deep-event/Event';
5+
import { LoggerInterface } from './deep-event/LoggerInterface';
6+
7+
@Injectable()
8+
export class DeepEventService implements LoggerInterface {
9+
readonly deepEvent: any = DeepFramework.Kernel.get('event');
10+
11+
constructor () {
12+
if (!this.deepEvent) {
13+
console.warn('DeepFramework missing or misconfigured event service');
14+
}
15+
}
16+
17+
/**
18+
*
19+
* @returns {Event|*}
20+
*/
21+
event(name, data : any = {}, context : any = {}) : Event {
22+
return new Event(name, data, context).setLogger(this);
23+
}
24+
25+
/**
26+
*
27+
* @param {Event|*} event
28+
*
29+
* @returns {Promise<T>}
30+
*/
31+
log(event : Event) : Promise<any> {
32+
let { name, data, context } = event.toObject();
33+
34+
return this._log(name, data, context);
35+
}
36+
37+
/**
38+
*
39+
* @param {String} name
40+
* @param {*} data
41+
* @param {*} context
42+
*
43+
* @returns {Promise<T>}
44+
*/
45+
_log(name : string, data : any, context : any) : Promise<any> {
46+
return this.deepEvent
47+
? this.deepEvent.log(name, data, context)
48+
: Promise.resolve();
49+
}
50+
}
51+
Lines changed: 86 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,86 @@
1+
'use strict';
2+
3+
import { LoggerInterface } from './LoggerInterface';
4+
5+
export class Event {
6+
private _name: string;
7+
private _data: any;
8+
private _context: any;
9+
private _logger: LoggerInterface;
10+
11+
/**
12+
*
13+
* @param {String} name
14+
* @param {*} data
15+
* @param {*} context
16+
*/
17+
constructor(name: string, data: any = {}, context: any = {}) {
18+
this._name = name;
19+
this._data = data;
20+
this._context = context;
21+
}
22+
23+
/**
24+
*
25+
* @param {LoggerInterface|*} logger
26+
*
27+
* @returns {Event|*}
28+
*/
29+
setLogger(logger : LoggerInterface) : Event {
30+
this._logger = logger;
31+
32+
return this;
33+
}
34+
35+
/**
36+
*
37+
* @returns {*}
38+
*/
39+
toObject() : any {
40+
let { name, data, context } = this;
41+
42+
return { name, data, context };
43+
}
44+
45+
/**
46+
*
47+
* @returns {Promise<T>}
48+
*/
49+
log() : Promise<any> {
50+
return this._logger
51+
? this._logger.log(this)
52+
: Promise.reject(new Error('Event logger is not set up'));
53+
}
54+
55+
/**
56+
*
57+
* @returns {LoggerInterface|*}
58+
*/
59+
get logger() : LoggerInterface {
60+
return this._logger;
61+
}
62+
63+
/**
64+
*
65+
* @returns {String}
66+
*/
67+
get name() : string {
68+
return this._name;
69+
}
70+
71+
/**
72+
*
73+
* @returns {*}
74+
*/
75+
get data() : any {
76+
return this._data;
77+
}
78+
79+
/**
80+
*
81+
* @returns {*}
82+
*/
83+
get context() : any {
84+
return this._context;
85+
}
86+
}
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
'use strict';
2+
3+
import { Event } from './Event';
4+
5+
export interface LoggerInterface {
6+
/**
7+
*
8+
* @param {Event|*} event
9+
*
10+
* @returns {Promise<T>}
11+
*/
12+
log(event : Event) : Promise<any>;
13+
}

src/deep-root-angular2/frontend/js/app/services/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,4 @@
44

55
export { DeepRouterService } from './deep-router.service';
66
export { DeepNotifierService } from './deep-notifier.service';
7+
export { DeepEventService } from './deep-event.service';
Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +0,0 @@
1-
export * from "../../../deep-account/frontend/bootstrap";

src/deep-root-angular2/frontend/webpack.config.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,11 @@ var webpackConfig = webpackMerge(helpers.webpackDepsConfig(), {
6262
test: /\.json$/,
6363
loader: 'json',
6464
},
65-
],
65+
],
66+
},
67+
68+
externals: {
69+
setimmediate: 'window.setImmediate',
6670
},
6771

6872
plugins: [

0 commit comments

Comments
 (0)