Skip to content

Commit a313feb

Browse files
authored
Merge pull request #381 from baoti/fix-issue-380
Fix response document didn't follow method changing
2 parents 245af9c + 13ca35b commit a313feb

File tree

4 files changed

+38
-26
lines changed

4 files changed

+38
-26
lines changed

dist/scripts/api-console.js

Lines changed: 19 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -126,11 +126,14 @@
126126
restrict: 'E',
127127
templateUrl: 'directives/documentation.tpl.html',
128128
controller: ['$scope', function($scope) {
129-
var defaultSchemaKey = Object.keys($scope.securitySchemes).sort()[0];
130-
var defaultSchema = $scope.securitySchemes[defaultSchemaKey];
131-
132129
$scope.markedOptions = RAML.Settings.marked;
133-
$scope.documentationSchemeSelected = defaultSchema;
130+
131+
$scope.$watch('securitySchemes', function() {
132+
var defaultSchemaKey = Object.keys($scope.securitySchemes).sort()[0];
133+
var defaultSchema = $scope.securitySchemes[defaultSchemaKey];
134+
135+
$scope.documentationSchemeSelected = defaultSchema;
136+
});
134137

135138
function mergeResponseCodes(methodCodes, schemas) {
136139
var extractSchema = function (key) { return schemas.hasOwnProperty(key) ? schemas[key] : undefined; };
@@ -169,8 +172,10 @@
169172
});
170173
}
171174
}
172-
$scope.fullResponses = mergeResponseCodes($scope.methodInfo.responses || {}, $scope.methodInfo.securitySchemes());
173-
$scope.fullResponseCodes = Object.keys($scope.fullResponses);
175+
$scope.$watch('methodInfo', function () {
176+
$scope.fullResponses = mergeResponseCodes($scope.methodInfo.responses || {}, $scope.methodInfo.securitySchemes());
177+
$scope.fullResponseCodes = Object.keys($scope.fullResponses);
178+
});
174179

175180
$scope.isSchemeSelected = function isSchemeSelected(scheme) {
176181
return scheme.id === $scope.documentationSchemeSelected.id;
@@ -403,17 +408,16 @@
403408
},
404409
controller: ['$scope', function($scope) {
405410
$scope.getBeatifiedExample = $scope.getBeatifiedExampleRef();
406-
$scope.examples = transformExample($scope.exampleContainer);
407-
$scope.currentExample = 0;
408-
409-
$scope.isXML = $scope.exampleContainer.name === 'application/xml';
410411

411412
$scope.changeExample = function(example) {
412413
$scope.currentExample = example;
413414
};
414415

415416
$scope.$watch('exampleContainer', function (value) {
416417
$scope.examples = transformExample(value);
418+
$scope.currentExample = 0;
419+
420+
$scope.isXML = value.name === 'application/xml';
417421
});
418422
}]
419423
};
@@ -2644,9 +2648,11 @@
26442648
type: '='
26452649
},
26462650
controller: ['$scope', function ($scope) {
2647-
$scope.properties = {
2648-
body: [$scope.type]
2649-
};
2651+
$scope.$watch('type', function () {
2652+
$scope.properties = {
2653+
body: [$scope.type]
2654+
};
2655+
});
26502656
}]
26512657
};
26522658
};

src/app/directives/documentation.js

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,14 @@
66
restrict: 'E',
77
templateUrl: 'directives/documentation.tpl.html',
88
controller: ['$scope', function($scope) {
9-
var defaultSchemaKey = Object.keys($scope.securitySchemes).sort()[0];
10-
var defaultSchema = $scope.securitySchemes[defaultSchemaKey];
11-
129
$scope.markedOptions = RAML.Settings.marked;
13-
$scope.documentationSchemeSelected = defaultSchema;
10+
11+
$scope.$watch('securitySchemes', function() {
12+
var defaultSchemaKey = Object.keys($scope.securitySchemes).sort()[0];
13+
var defaultSchema = $scope.securitySchemes[defaultSchemaKey];
14+
15+
$scope.documentationSchemeSelected = defaultSchema;
16+
});
1417

1518
function mergeResponseCodes(methodCodes, schemas) {
1619
var extractSchema = function (key) { return schemas.hasOwnProperty(key) ? schemas[key] : undefined; };
@@ -49,8 +52,10 @@
4952
});
5053
}
5154
}
52-
$scope.fullResponses = mergeResponseCodes($scope.methodInfo.responses || {}, $scope.methodInfo.securitySchemes());
53-
$scope.fullResponseCodes = Object.keys($scope.fullResponses);
55+
$scope.$watch('methodInfo', function () {
56+
$scope.fullResponses = mergeResponseCodes($scope.methodInfo.responses || {}, $scope.methodInfo.securitySchemes());
57+
$scope.fullResponseCodes = Object.keys($scope.fullResponses);
58+
});
5459

5560
$scope.isSchemeSelected = function isSchemeSelected(scheme) {
5661
return scheme.id === $scope.documentationSchemeSelected.id;

src/app/directives/examples.js

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -11,17 +11,16 @@
1111
},
1212
controller: ['$scope', function($scope) {
1313
$scope.getBeatifiedExample = $scope.getBeatifiedExampleRef();
14-
$scope.examples = transformExample($scope.exampleContainer);
15-
$scope.currentExample = 0;
16-
17-
$scope.isXML = $scope.exampleContainer.name === 'application/xml';
1814

1915
$scope.changeExample = function(example) {
2016
$scope.currentExample = example;
2117
};
2218

2319
$scope.$watch('exampleContainer', function (value) {
2420
$scope.examples = transformExample(value);
21+
$scope.currentExample = 0;
22+
23+
$scope.isXML = value.name === 'application/xml';
2524
});
2625
}]
2726
};

src/app/directives/type-properties.js

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,11 @@
1010
type: '='
1111
},
1212
controller: ['$scope', function ($scope) {
13-
$scope.properties = {
14-
body: [$scope.type]
15-
};
13+
$scope.$watch('type', function () {
14+
$scope.properties = {
15+
body: [$scope.type]
16+
};
17+
});
1618
}]
1719
};
1820
};

0 commit comments

Comments
 (0)