Skip to content

Commit cc7bff3

Browse files
committed
WIP: config for webpack (needs cleanup badly)
1 parent 145f42b commit cc7bff3

File tree

79 files changed

+1839
-1309
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

79 files changed

+1839
-1309
lines changed

components/app.ts

+43-29
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,48 @@
1-
///<reference path="./references.ts"/>
1+
import * as angular from 'angular'
2+
3+
import '../node_modules/bootstrap/less/bootstrap.less'
4+
import form from '../components/form/form'
5+
require('angular-bootstrap');
6+
//require('angular-ui-bootstrap');
7+
require('angular-ui-validate');
8+
9+
declare var ON_TEST;
10+
declare var require: {
11+
<T>(path: string): T;
12+
(paths: string[], callback: (...modules: any[]) => void): void;
13+
ensure: (paths: string[], callback: (require: <T>(path: string) => T) => void) => void;
14+
};
15+
16+
if (ON_TEST) {
17+
require('angular-mocks/angular-mocks');
18+
}
219

320
angular.module('jsonforms', [
21+
// TODO
422
'ui.bootstrap',
523
'ui.validate',
6-
'ui.grid',
7-
'ui.grid.autoResize',
8-
'ui.grid.edit',
9-
'ui.grid.pagination',
10-
'jsonforms.form',
11-
'jsonforms.generators',
12-
'jsonforms.generators.schema',
13-
'jsonforms.generators.uischema',
14-
'jsonforms.pathresolver',
15-
'jsonforms.renderers',
16-
'jsonforms.renderers.controls',
17-
'jsonforms.renderers.controls.array',
18-
'jsonforms.renderers.controls.integer',
19-
'jsonforms.renderers.controls.boolean',
20-
'jsonforms.renderers.controls.reference',
21-
'jsonforms.renderers.controls.string',
22-
'jsonforms.renderers.controls.number',
23-
'jsonforms.renderers.controls.datetime',
24-
'jsonforms.renderers.controls.enum',
25-
'jsonforms.renderers.layouts',
26-
'jsonforms.renderers.layouts.vertical',
27-
'jsonforms.renderers.layouts.horizontal',
28-
'jsonforms.renderers.layouts.categories',
29-
'jsonforms.renderers.layouts.categories.categorization',
30-
'jsonforms.renderers.layouts.categories.category',
31-
'jsonforms.renderers.extras.label',
32-
'jsonforms.renderers.layouts.masterdetail',
33-
'jsonforms.filters.capitalize'
24+
form
25+
//'jsonforms.generators',
26+
//'jsonforms.generators.schema',
27+
//'jsonforms.generators.uischema',
28+
//'jsonforms.pathresolver',
29+
//'jsonforms.renderers',
30+
//'jsonforms.renderers.controls',
31+
//'jsonforms.renderers.controls.array',
32+
//'jsonforms.renderers.controls.integer',
33+
//'jsonforms.renderers.controls.boolean',
34+
//'jsonforms.renderers.controls.reference',
35+
//'jsonforms.renderers.controls.string',
36+
//'jsonforms.renderers.controls.number',
37+
//'jsonforms.renderers.controls.datetime',
38+
//'jsonforms.renderers.controls.enum',
39+
//'jsonforms.renderers.layouts',
40+
//'jsonforms.renderers.layouts.vertical',
41+
//'jsonforms.renderers.layouts.horizontal',
42+
//'jsonforms.renderers.layouts.categories',
43+
//'jsonforms.renderers.layouts.categories.categorization',
44+
//'jsonforms.renderers.layouts.categories.category',
45+
//'jsonforms.renderers.extras.label',
46+
//'jsonforms.renderers.layouts.masterdetail',
47+
//'jsonforms.filters.capitalize'
3448
]);

components/form/form-directive.ts

+41-20
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,28 @@
1-
///<reference path="../references.ts"/>
21

3-
import PathResolver = JSONForms.PathResolver;
2+
3+
4+
import * as angular from 'angular'
5+
6+
import {IRenderService} from "../renderers/jsonforms-renderers";
7+
import {IPathResolver} from "../services/pathresolver/jsonforms-pathresolver";
8+
import {IUISchemaGenerator} from "../generators/generators";
9+
import {ISchemaGenerator} from "../generators/generators";
10+
import {PathResolver} from "../services/pathresolver/jsonforms-pathresolver";
11+
import {IUiSchemaProvider} from "../services/services";
12+
import {ValidationService} from "../services/services";
13+
import {SchemaProvider} from "../services/services";
14+
import {ScopeProvider} from "../services/services";
15+
import {PathResolverService} from "../services/services";
16+
import {Services} from "../services/services";
17+
import {IDataProvider} from '../services/data/data-service';
18+
import {RuleService} from "../services/rule/rule-service";
19+
import {DefaultDataProvider} from "../services/data/data-services";
20+
21+
declare var require: {
22+
<T>(path: string): T;
23+
(paths: string[], callback: (...modules: any[]) => void): void;
24+
ensure: (paths: string[], callback: (require: <T>(path: string) => T) => void) => void;
25+
};
426

527
class FormController {
628

@@ -11,10 +33,10 @@ class FormController {
1133
public elements: IUISchemaElement[];
1234

1335
constructor(
14-
private RenderService: JSONForms.IRenderService,
15-
private PathResolver: JSONForms.IPathResolver,
16-
private UISchemaGenerator: JSONForms.IUISchemaGenerator,
17-
private SchemaGenerator: JSONForms.ISchemaGenerator,
36+
private RenderService: IRenderService,
37+
private PathResolver: IPathResolver,
38+
private UISchemaGenerator: IUISchemaGenerator,
39+
private SchemaGenerator: ISchemaGenerator,
1840
private $q: ng.IQService,
1941
private scope: JsonFormsDirectiveScope
2042
) { }
@@ -50,20 +72,20 @@ class FormController {
5072
var uiSchema = values[1];
5173
var data = values[2];
5274

53-
var services = new JSONForms.Services();
75+
var services = new Services();
5476

55-
services.add(new JSONForms.PathResolverService(new PathResolver()));
56-
services.add(new JSONForms.ScopeProvider(this.scope));
57-
services.add(new JSONForms.SchemaProvider(schema));
58-
services.add(new JSONForms.ValidationService());
59-
services.add(new JSONForms.RuleService(this.PathResolver));
77+
services.add(new PathResolverService(new PathResolver()));
78+
services.add(new ScopeProvider(this.scope));
79+
services.add(new SchemaProvider(schema));
80+
services.add(new ValidationService());
81+
services.add(new RuleService(this.PathResolver));
6082

61-
var dataProvider: JSONForms.IDataProvider;
83+
var dataProvider: IDataProvider;
6284

6385
if (FormController.isDataProvider(this.scope.data)) {
6486
dataProvider = this.scope.data;
6587
} else {
66-
dataProvider = new JSONForms.DefaultDataProvider(this.$q, data);
88+
dataProvider = new DefaultDataProvider(this.$q, data);
6789
}
6890

6991
services.add(dataProvider);
@@ -104,11 +126,11 @@ class FormController {
104126
throw new Error("The 'data' attribute must be specified.")
105127
}
106128

107-
private static isDataProvider(testMe: any): testMe is JSONForms.IDataProvider {
129+
private static isDataProvider(testMe: any): testMe is IDataProvider {
108130
return testMe !== undefined && testMe.hasOwnProperty('fetchData');
109131
}
110132

111-
private static isUiSchemaProvider(testMe: any): testMe is JSONForms.IUiSchemaProvider {
133+
private static isUiSchemaProvider(testMe: any): testMe is IUiSchemaProvider {
112134
return testMe !== undefined && testMe.hasOwnProperty('fetchUiSchema');
113135
}
114136
}
@@ -120,10 +142,11 @@ interface JsonFormsDirectiveScope extends ng.IScope {
120142
}
121143

122144

123-
class JsonFormsDirective implements ng.IDirective {
145+
export class JsonFormsDirective implements ng.IDirective {
124146
restrict = "E";
125147
replace = true;
126-
templateUrl = 'components/form/form.html';
148+
//templateUrl = formTemplate;
149+
template = require('./form.html');
127150
controller = FormController;
128151
controllerAs = 'vm';
129152
// we can't use bindToController because we want watchers
@@ -141,5 +164,3 @@ class JsonFormsDirective implements ng.IDirective {
141164
});
142165
}
143166
}
144-
145-
angular.module('jsonforms.form').directive('jsonforms', () => new JsonFormsDirective());

components/form/form.html

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<div>
2-
<form role="form" class="jsf-form rounded">
3-
<jsonforms-dynamic-widget ng-repeat="child in vm.elements" element="child">
2+
<form role='form' class='jsf-form rounded'>
3+
<jsonforms-dynamic-widget ng-repeat='child in vm.elements' element='child'>
44
</jsonforms-dynamic-widget>
55
</form>
66
</div>

components/form/form.ts

+82-22
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,84 @@
11
///<reference path="../references.ts"/>
22

3-
var app = angular.module('jsonforms.form', [
4-
'jsonforms.generators',
5-
'jsonforms.generators.schema',
6-
'jsonforms.generators.uischema',
7-
'jsonforms.pathresolver',
8-
'jsonforms.renderers',
9-
'jsonforms.renderers.controls',
10-
'jsonforms.renderers.controls.array',
11-
'jsonforms.renderers.controls.integer',
12-
'jsonforms.renderers.controls.boolean',
13-
'jsonforms.renderers.controls.string',
14-
'jsonforms.renderers.controls.number',
15-
'jsonforms.renderers.controls.datetime',
16-
'jsonforms.renderers.controls.enum',
17-
'jsonforms.renderers.layouts',
18-
'jsonforms.renderers.layouts.vertical',
19-
'jsonforms.renderers.layouts.group',
20-
'jsonforms.renderers.layouts.horizontal',
21-
'jsonforms.renderers.layouts.categories',
22-
'jsonforms.renderers.layouts.categories.categorization',
23-
'jsonforms.renderers.layouts.categories.category',
24-
'jsonforms.renderers.extras.label']);
3+
import * as angular from 'angular'
4+
import renderServices from '../renderers/renderers-service'
5+
import pathResolver from '../ng-services/pathresolver/pathresolver-service'
6+
import generators from '../generators/generators'
7+
import uiSchemaGenerator from '../generators/uischema/uischema-service'
8+
import schemaGenerator from '../generators/schema/schema-service'
9+
10+
import renderersDirective from '../renderers/renderers-directive'
11+
import layoutDirective from '../renderers/layouts/layout-directive'
12+
import controlDirective from '../renderers/controls/controls-directive'
13+
14+
import categories from '../renderers/layouts/categories/categories'
15+
import categorization from '../renderers/layouts/categories/categorization/categorization-renderer'
16+
import category from '../renderers/layouts/categories/category/category-renderer'
17+
import verticalLayout from '../renderers/layouts/vertical/vertical-renderer'
18+
import horizontalLayout from '../renderers/layouts/horizontal/horizontal-renderer'
19+
import masterDetail from '../renderers/layouts/masterdetail/masterdetail'
20+
import masterDetailDirectives from '../renderers/layouts/masterdetail/masterdetail-directives'
21+
import masterDetailLayout from '../renderers/layouts/masterdetail/masterdetail-renderer'
22+
import groupLayout from '../renderers/layouts/group/group-renderer'
23+
24+
import label from '../renderers/extras/label/label-renderer'
25+
26+
import stringControl from '../renderers/controls/string/string-renderer'
27+
import integerControl from '../renderers/controls/integer/integer-renderer'
28+
import numberControl from '../renderers/controls/number/number-renderer'
29+
import booleanControl from '../renderers/controls/boolean/boolean-renderer'
30+
import arrayControl from '../renderers/controls/array/array-renderer'
31+
32+
import {JsonFormsDirective} from "./form-directive";
33+
34+
export default angular.module('jsonforms.form', [
35+
renderServices,
36+
pathResolver,
37+
generators,
38+
uiSchemaGenerator,
39+
schemaGenerator,
40+
41+
renderersDirective,
42+
controlDirective,
43+
layoutDirective,
44+
45+
arrayControl,
46+
stringControl,
47+
integerControl,
48+
numberControl,
49+
booleanControl,
50+
51+
label,
52+
53+
groupLayout,
54+
verticalLayout,
55+
horizontalLayout,
56+
categories,
57+
categorization,
58+
category,
59+
masterDetail,
60+
masterDetailDirectives,
61+
masterDetailLayout
62+
63+
64+
//'jsonforms.generators.schema',
65+
//'jsonforms.generators.uischema',
66+
//'jsonforms.pathresolver',
67+
//'jsonforms.renderers',
68+
//'jsonforms.renderers.controls',
69+
//'jsonforms.renderers.controls.array',
70+
//'jsonforms.renderers.controls.integer',
71+
//'jsonforms.renderers.controls.boolean',
72+
//'jsonforms.renderers.controls.string',
73+
//'jsonforms.renderers.controls.number',
74+
//'jsonforms.renderers.controls.datetime',
75+
//'jsonforms.renderers.controls.enum',
76+
//'jsonforms.renderers.layouts',
77+
//'jsonforms.renderers.layouts.group',
78+
//'jsonforms.renderers.layouts.horizontal',
79+
//'jsonforms.renderers.layouts.categories',
80+
//'jsonforms.renderers.layouts.categories.categorization',
81+
//'jsonforms.renderers.layouts.categories.category',
82+
//'jsonforms.renderers.extras.label'
83+
]).directive('jsonforms', () => new JsonFormsDirective())
84+
.name;

components/generators/generators.ts

+12-2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,13 @@
1-
///<reference path="../references.ts"/>
1+
export interface ISchemaGenerator {
2+
generateDefaultSchema(instance:Object): Object
3+
generateDefaultSchemaWithOptions(instance:Object,
4+
allowAdditionalProperties:(properties:Object) => boolean,
5+
requiredProperties:(properties:string[]) => string[]) : Object
6+
}
27

3-
angular.module('jsonforms.generators', []);
8+
export interface IUISchemaGenerator {
9+
generateDefaultUISchema(jsonSchema:any): any
10+
}
11+
12+
13+
export default angular.module('jsonforms.generators', []).name;

components/generators/jsonforms-generators.d.ts

-13
This file was deleted.

0 commit comments

Comments
 (0)