Skip to content

Commit e6b5e88

Browse files
authored
Merge pull request #478 from mulesoft/develop
Develop
2 parents 435dd66 + dc4e1d6 commit e6b5e88

File tree

10 files changed

+225
-94
lines changed

10 files changed

+225
-94
lines changed

dist/scripts/api-console-vendor.js

Lines changed: 63 additions & 65 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/scripts/api-console-vendor.min.js

Lines changed: 85 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/scripts/api-console.js

Lines changed: 17 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1400,8 +1400,11 @@
14001400
},
14011401
controller: ['$scope', function($scope) {
14021402
function getParamType(definition) {
1403-
if ($scope.types) {
1404-
var type = RAML.Inspector.Types.findType(definition.type[0], $scope.types);
1403+
var currentType = definition.type[0];
1404+
var isNative = RAML.Inspector.Types.isNativeType(currentType);
1405+
1406+
if (!isNative && $scope.types) {
1407+
var type = RAML.Inspector.Types.findType(currentType, $scope.types);
14051408
return type ? type : definition;
14061409
} else {
14071410
return definition;
@@ -1436,7 +1439,12 @@
14361439
}
14371440

14381441
$scope.isFile = function (param) {
1439-
return param.type === 'file';
1442+
if (!Array.isArray(param.type)) {
1443+
param.type = [param.type];
1444+
}
1445+
1446+
var rootType = getParamType(param);
1447+
return rootType.type[0] === 'file';
14401448
};
14411449

14421450
$scope.isArray = function (param) {
@@ -2970,15 +2978,10 @@
29702978

29712979
$scope.hasFormParameters = $scope.context.bodyContent && $scope.context.bodyContent.selected ? $scope.methodInfo.body[$scope.context.bodyContent.selected].hasOwnProperty('formParameters') : undefined;
29722980

2973-
2974-
$scope.getFormModel = function(param) {
2981+
$scope.getExample = function(param) {
29752982
var definitions = $scope.context.bodyContent.definitions[$scope.context.bodyContent.selected];
2976-
if ($scope.hasFormParameters) {
2977-
return definitions.values[param.definitions[0].id];
2978-
} else if (definitions.contentType && param.name) {
2979-
var example = definitions.contentType[param.name].example;
2980-
return example ? [example] : example;
2981-
}
2983+
var example = definitions.contentType[param.name].example;
2984+
return example ? [example] : example;
29822985
};
29832986
}]
29842987
};
@@ -8321,7 +8324,9 @@ angular.module('ramlConsoleApp').run(['$templateCache', function($templateCache)
83218324
" </span>\n" +
83228325
" </span>\n" +
83238326
"\n" +
8324-
" <raml-field context=\"context\" type=\"type\" types=\"types\" param=\"param\" model=\"getFormModel(param)\"></raml-field>\n" +
8327+
" <span ng-init=\"paramModel = getExample(param)\">\n" +
8328+
" <raml-field context=\"context\" type=\"type\" types=\"types\" param=\"param\" model=\"paramModel\"></raml-field>\n" +
8329+
" </span>\n" +
83258330
" </p>\n" +
83268331
" </div>\n" +
83278332
" </div>\n" +

dist/scripts/api-console.min.js

Lines changed: 7 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/app/directives/raml-field.js

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,11 @@
1616
},
1717
controller: ['$scope', function($scope) {
1818
function getParamType(definition) {
19-
if ($scope.types) {
20-
var type = RAML.Inspector.Types.findType(definition.type[0], $scope.types);
19+
var currentType = definition.type[0];
20+
var isNative = RAML.Inspector.Types.isNativeType(currentType);
21+
22+
if (!isNative && $scope.types) {
23+
var type = RAML.Inspector.Types.findType(currentType, $scope.types);
2124
return type ? type : definition;
2225
} else {
2326
return definition;
@@ -52,7 +55,12 @@
5255
}
5356

5457
$scope.isFile = function (param) {
55-
return param.type === 'file';
58+
if (!Array.isArray(param.type)) {
59+
param.type = [param.type];
60+
}
61+
62+
var rootType = getParamType(param);
63+
return rootType.type[0] === 'file';
5664
};
5765

5866
$scope.isArray = function (param) {

src/app/directives/sidebar.js

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -689,15 +689,10 @@
689689

690690
$scope.hasFormParameters = $scope.context.bodyContent && $scope.context.bodyContent.selected ? $scope.methodInfo.body[$scope.context.bodyContent.selected].hasOwnProperty('formParameters') : undefined;
691691

692-
693-
$scope.getFormModel = function(param) {
692+
$scope.getExample = function(param) {
694693
var definitions = $scope.context.bodyContent.definitions[$scope.context.bodyContent.selected];
695-
if ($scope.hasFormParameters) {
696-
return definitions.values[param.definitions[0].id];
697-
} else if (definitions.contentType && param.name) {
698-
var example = definitions.contentType[param.name].example;
699-
return example ? [example] : example;
700-
}
694+
var example = definitions.contentType[param.name].example;
695+
return example ? [example] : example;
701696
};
702697
}]
703698
};

src/app/directives/sidebar.tpl.html

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,9 @@ <h4 class="raml-console-sidebar-subhead">Body</h4>
135135
</span>
136136
</span>
137137

138-
<raml-field context="context" type="type" types="types" param="param" model="getFormModel(param)"></raml-field>
138+
<span ng-init="paramModel = getExample(param)">
139+
<raml-field context="context" type="type" types="types" param="param" model="paramModel"></raml-field>
140+
</span>
139141
</p>
140142
</div>
141143
</div>

test/regression/assertions/resource.js

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -171,12 +171,15 @@ function Resource (poName) {
171171
expect(panel.isPresent()).toBe(isOpen);
172172
};
173173

174-
this.ifDisplayingProperties = function (resource, properties) {
174+
this.ifDisplayingProperties = function (resource, propertiesName, propertiesType) {
175175
var bodyProperties = this.po.getTryItBodyPanelParameters(resource);
176176

177-
properties.forEach(function (name, index) {
177+
propertiesName.forEach(function (name, index) {
178178
var property = bodyProperties.get(index);
179179
expect(property.getText()).toContain(name);
180+
181+
var type = propertiesType[index];
182+
expect(property.getText()).toContain(type);
180183
});
181184
};
182185
}

test/regression/assets/raml/resource-bodies-10.raml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,12 @@
22
baseUri: http://localhost
33
title: Resource bodies
44

5+
types:
6+
userPicture:
7+
type: file
8+
fileTypes: ['image/jpeg', 'image/png']
9+
maxLength: 307200
10+
511
/test:
612
put:
713
body:
@@ -13,3 +19,11 @@ title: Resource bodies
1319
type: string
1420
required: true
1521
example: blah
22+
23+
/test-root-types:
24+
put:
25+
body:
26+
multipart/form-data:
27+
properties:
28+
one:
29+
type: userPicture

test/regression/standalone/directiveSpec.js

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -278,10 +278,24 @@ module.exports = function() {
278278
// Act
279279
browser.get('http://localhost:9000/directive-resource-bodies-10.html');
280280

281-
resourcePo.toggleResourceMethod(0, 0);
281+
resourcePo.toggleResourceMethod(1, 0);
282+
283+
//Assert
284+
assert.ifDisplayingProperties(1, ['one', 'two'], ['file', 'string']);
285+
});
286+
287+
it('should display properties inheriting from root types for raml 1.0', function () {
288+
// Arrange
289+
var assert = assertions.create('resource');
290+
var resourcePo = factory.create('resource');
291+
292+
// Act
293+
browser.get('http://localhost:9000/directive-resource-bodies-10.html');
294+
295+
resourcePo.toggleResourceMethod(2, 0);
282296

283297
//Assert
284-
assert.ifDisplayingProperties(0, ['one', 'two']);
298+
assert.ifDisplayingProperties(2, ['one'], ['userPicture']);
285299
});
286300

287301
it('should display formParameters for raml 0.8', function () {
@@ -295,7 +309,7 @@ module.exports = function() {
295309
resourcePo.toggleResourceMethod(0, 0);
296310

297311
//Assert
298-
assert.ifDisplayingProperties(0, ['one', 'two']);
312+
assert.ifDisplayingProperties(0, ['one', 'two'], ['file', 'string']);
299313
});
300314
});
301315
};

0 commit comments

Comments
 (0)