diff --git a/scripts/controllers/cross-prompt.js b/scripts/controllers/cross-prompt.js new file mode 100644 index 00000000000..c57d6a64d8c --- /dev/null +++ b/scripts/controllers/cross-prompt.js @@ -0,0 +1,15 @@ +'use strict'; + +var _ = require('lodash'); +var angular = require('angular'); + +SwaggerEditor.controller('CrossOriginPromptCtrl', function FileImportCtrl($scope, + $uibModalInstance, $rootScope) { + + $scope.ok = function() { + + $uibModalInstance.close(); + }; + + $scope.cancel = $uibModalInstance.close; +}); diff --git a/scripts/controllers/header.js b/scripts/controllers/header.js index 1eea73835a2..c68b1814671 100644 --- a/scripts/controllers/header.js +++ b/scripts/controllers/header.js @@ -54,7 +54,23 @@ SwaggerEditor.controller('HeaderCtrl', function HeaderCtrl($scope, $uibModal, } $scope.getSDK = function(type, language) { - Codegen.getSDK(type, language).then(noop, showCodegenError); + if(!!Preferences.get('simpleYAML') && language === 'csharp') + { + Codegen.getSDK(type, language).then(noop, showCodegenError); + return; + } + $uibModal.open({ + template: require('templates/cross-origin-prompt.html'), + size: 'large', + controller: function CrossOriginPromptCtrl($scope, + $uibModalInstance, $rootScope) { + $scope.ok = function() { + $uibModalInstance.close(); + Codegen.getSDK(type, language).then(noop, showCodegenError); + }; + $scope.cancel = $uibModalInstance.close; + } + }); }; /** diff --git a/scripts/services/codegen.js b/scripts/services/codegen.js index acb394cbe5c..bc28bba60d9 100644 --- a/scripts/services/codegen.js +++ b/scripts/services/codegen.js @@ -6,7 +6,7 @@ var angular = require('angular'); * Code Generator service */ SwaggerEditor.service('Codegen', function Codegen($http, $location, defaults, simpleYaml, Preferences, Storage, - YAML) { + YAML, $rootScope) { this.getServers = function() { if (!defaults.codegen.servers) { return new Promise(function(resolve) { @@ -53,7 +53,7 @@ SwaggerEditor.service('Codegen', function Codegen($http, $location, defaults, si }, reject); } else { - Storage.load('yaml').then(function (yaml) { + Promise.resolve($rootScope.editorValue).then(function (yaml) { YAML.load(yaml, function (error, spec) { if (error) { return reject(error); diff --git a/scripts/services/local-storage.js b/scripts/services/local-storage.js index 913d510bc20..bea425e7788 100644 --- a/scripts/services/local-storage.js +++ b/scripts/services/local-storage.js @@ -26,7 +26,8 @@ SwaggerEditor.service('LocalStorage', function LocalStorage($localStorage, _.debounce(function() { window.requestAnimationFrame(function() { - $localStorage[storageKey][key] = value; + // Disable local storage + // $localStorage[storageKey][key] = value; }); if (key === 'yaml') { diff --git a/spec-files/guide.yaml b/spec-files/guide.yaml index b8c59622add..22fe9b8b598 100644 --- a/spec-files/guide.yaml +++ b/spec-files/guide.yaml @@ -34,12 +34,12 @@ root: # Required. disallowInsert: [navigationProperty] # Optional # Singleton - name: Singleton # Required. - type: EntityType # Required. + type: ChildType # Required. # Operation - name: QueryFunction # Required. params: # Optional - name: userId # Required. - type: int32 # Optional. Default string. + type: integer # Optional. Default string. returns: EntityType[] # Required. - name: ExecuteAction params: # Optional @@ -58,17 +58,16 @@ types: # Required. - name: enum2 value: 2 # Optional # Complex type - - name: BaseType + - name: ComplexType requiredProperties: # Optional - - name: price # Required. - type: decimal # Optional - isoCurrency: USD # Optional. The currency for this monetary amount as an ISO 4217 currency code - immutable: true # Optional. A value for this non-key property can be provided on insert and remains unchanged on update + - name: requiredProperty # Required. + type: string # Optional + optionalProperties: # Optional + - name: optionalProperty # Required. Default string type # Entity type - name: EntityType # Required. key: # Required. - name: id # Optional - baseType: BaseType # Optional dynamic: true # Optional. dynamic type allows clients to add properties dynamically to instances of the type by specifying uniquely named values in the payload used to insert or update an instance of the type. requiredProperties: # Optional - name: name # Required. @@ -84,6 +83,8 @@ types: # Required. - name: navigationProperty # Required. type: AnotherEntityType # Optional containsTarget: true # Optional. Containment navigation properties define an implicit entity set for each instance of its declaring entity type. This implicit entity set is identified by the read URL of the navigation property for that entity. + - name: complexTypeProperty # Required. + type: ComplexType # Required operations: # Optional - name: BoundOperation # Required. params: # Optional @@ -103,3 +104,10 @@ types: # Required. - name: parameterName # Required. type: string # Optional returns: AnotherEntityType # Optional + - name: ChildType + baseType: EntityType # Optional + requiredProperties: # Optional + - name: price # Required. + type: decimal # Optional + isoCurrency: USD # Optional. The currency for this monetary amount as an ISO 4217 currency code + immutable: true # Optional. A value for this non-key property can be provided on insert and remains unchanged on update diff --git a/templates/cross-origin-prompt.html b/templates/cross-origin-prompt.html new file mode 100644 index 00000000000..2e3c2080813 --- /dev/null +++ b/templates/cross-origin-prompt.html @@ -0,0 +1,12 @@ +