Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
68 changes: 43 additions & 25 deletions app/admin_components/adf-application/dreamfactory-application.js
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ angular.module('dfApplication', ['dfUtility', 'dfUserManagement', 'ngResource'])

}])

.service('dfApplicationData', ['$q', '$http', 'INSTANCE_URL', 'dfObjectService', 'UserDataService', 'dfSystemData', '$rootScope', '$location', '$injector', function ($q, $http, INSTANCE_URL, dfObjectService, UserDataService, dfSystemData, $rootScope, $location, $injector) {
.service('dfApplicationData', ['$q', '$http', 'INSTANCE_URL', 'dfObjectService', 'UserDataService', 'dfSystemData', 'dfDataWrapper', '$rootScope', '$location', function ($q, $http, INSTANCE_URL, dfObjectService, UserDataService, dfSystemData, dfDataWrapper, $rootScope, $location) {

var dfApplicationObj = {
apis: {}
Expand Down Expand Up @@ -146,12 +146,7 @@ angular.module('dfApplication', ['dfUtility', 'dfUserManagement', 'ngResource'])

if (xhr.readyState == 4 && xhr.status == 200) {
if (Array.isArray(angular.fromJson(xhr.responseText))) {
var systemConfigDataService = $injector.get('SystemConfigDataService');
var resourcesWrapper = systemConfigDataService.getSystemConfig().config.resources_wrapper;
var result = {};

result[resourcesWrapper] = angular.fromJson(xhr.responseText);
dfApplicationObj.apis[api] = result;
dfApplicationObj.apis[api] = dfDataWrapper.wrapArrayResponse(xhr.responseText);
} else {
dfApplicationObj.apis[api] = angular.fromJson(xhr.responseText);
}
Expand Down Expand Up @@ -647,7 +642,7 @@ angular.module('dfApplication', ['dfUtility', 'dfUserManagement', 'ngResource'])
};
}])

.service('dfSystemData', ['INSTANCE_URL', '$resource', 'dfObjectService', '$injector', function (INSTANCE_URL, $resource, dfObjectService, $injector) {
.service('dfSystemData', ['INSTANCE_URL', '$resource', 'dfObjectService', 'dfDataWrapper', function (INSTANCE_URL, $resource, dfObjectService, dfDataWrapper) {

return {

Expand All @@ -658,8 +653,6 @@ angular.module('dfApplication', ['dfUtility', 'dfUserManagement', 'ngResource'])
var defaults = {
headers: ''
};
var systemConfigDataService = $injector.get('SystemConfigDataService');

options = dfObjectService.mergeObjects(options, defaults);
var url = options.url || INSTANCE_URL.url + '/system/:api/:id';
var queryParams = options.queryParams || { api: '@api', id: '@id' };
Expand All @@ -671,39 +664,64 @@ angular.module('dfApplication', ['dfUtility', 'dfUserManagement', 'ngResource'])
get: {
method: 'GET',
headers: options.headers,
transformResponse: function (data) {
var jsonData = angular.fromJson(data);
if (Array.isArray(jsonData)) {
var result = {};
var resourcesWrapper = systemConfigDataService.getSystemConfig().config.resources_wrapper;

result[resourcesWrapper] = jsonData;
return result;
}
return jsonData;
}
transformResponse: dfDataWrapper.wrapArrayResponse
},
post: {
method: 'POST',
headers: options.headers
headers: options.headers,
transformResponse: dfDataWrapper.wrapArrayResponse
},
put: {
method: 'PUT',
headers: options.headers
headers: options.headers,
transformResponse: dfDataWrapper.wrapArrayResponse
},
patch: {
method: 'PATCH',
headers: options.headers
headers: options.headers,
transformResponse: dfDataWrapper.wrapArrayResponse
},
delete: {
method: 'DELETE',
headers: options.headers
headers: options.headers,
transformResponse: dfDataWrapper.wrapArrayResponse
}
});
}
};
}])

.service('dfDataWrapper', ['$injector', '$http', function ($injector, $http) {

function _wrapArrayResponse(data) {
try {
angular.fromJson(data);
} catch (error) {
return data;
}
var jsonData = angular.fromJson(data);
try {
var systemConfigDataService = $injector.get('SystemConfigDataService');
var resourcesWrapper = systemConfigDataService.getSystemConfig().config.resources_wrapper;
} catch (error) {
return jsonData;
}

if (Array.isArray(jsonData)) {
var result = {};
result[resourcesWrapper] = jsonData;
return result;
}
return jsonData;
}

$http.defaults.transformResponse.push(_wrapArrayResponse);

return {
wrapArrayResponse: _wrapArrayResponse,
};
}])

// Intercepts outgoing http calls. Checks for valid session. If 401 will trigger a pop up login screen.
.factory('httpValidSession', ['$q', '$rootScope', '$location', 'INSTANCE_URL', '$injector', function ($q, $rootScope, $location, INSTANCE_URL, $injector) {

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ angular.module('dfPackageManager', ['ngRoute', 'dfUtility', 'ngclipboard'])
$scope.dataLoading = true;

// these are required
var primaryApis = ['service_list', 'service_type_list', 'environment', 'package'];
var primaryApis = ['service_list', 'service_type_list', 'package'];

// this one is optional, needed if we want to automatically add an app's storage service when the app is added
// the storage service must be in service_list, meaning user has access to it, for this to work
Expand Down Expand Up @@ -331,7 +331,7 @@ angular.module('dfPackageManager', ['ngRoute', 'dfUtility', 'ngclipboard'])
}
};
}])
.directive('dfSelectContent', ['$http', '$timeout', 'MOD_PACKAGE_MANAGER_ASSET_PATH', 'dfApplicationData', 'dfNotify', function ($http, $timeout, MOD_PACKAGE_MANAGER_ASSET_PATH, dfApplicationData, dfNotify) {
.directive('dfSelectContent', ['$http', '$timeout', 'MOD_PACKAGE_MANAGER_ASSET_PATH', 'dfApplicationData', 'dfNotify', 'SystemConfigDataService', function ($http, $timeout, MOD_PACKAGE_MANAGER_ASSET_PATH, dfApplicationData, dfNotify, SystemConfigDataService) {

return {
restrict: 'E',
Expand Down Expand Up @@ -376,7 +376,7 @@ angular.module('dfPackageManager', ['ngRoute', 'dfUtility', 'ngclipboard'])

scope.initVars();

var env = scope.apiData.environment;
var env = SystemConfigDataService.getSystemConfig();
scope.enablePassword = env['platform']['secured_package_export'];

var _serviceTypes = scope.apiData.service_type_list;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Here are a few basic Python3 examples.
# Requires Munch dictionary for dot notation, use PIP to install.
# Requires Munch dictionary for dot notation, use PIP3 to install.
# See wiki.dreamfactory.com for more examples.

# ****************** Pre-processing script on a table ******************
Expand Down Expand Up @@ -32,4 +32,4 @@
print(record);
record.extraField = 'Feed the dog';
print("extraField: ", end="");
print(record.extraField);
print(record.extraField);
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Here are a few basic Python3 examples.
# Requires Munch dictionary for dot notation, use PIP to install.
# Requires Munch dictionary for dot notation, use PIP3 to install.
# See wiki.dreamfactory.com for more examples.

# ****************** Pre-processing script on a table ******************
Expand Down Expand Up @@ -32,4 +32,4 @@
print(record);
record.extraField = 'Feed the dog';
print("extraField: ", end="");
print(record.extraField);
print(record.extraField);
2 changes: 1 addition & 1 deletion dist/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
<p class="browsehappy">You are using an <strong>outdated</strong> browser. Please <a href="http://browsehappy.com/">upgrade your browser</a> to improve your experience.</p>
<![endif]--> <!-- Add your site or application content here --> <div id="dreamfactoryApp" data-ng-controller="MainCtrl" df-popup-login> <div id="popup-login-container"></div> <!-- Top level Nav --> <df-top-level-nav-std data-ng-if="showHeader" data-options="topLevelNavOptions"></df-top-level-nav-std> <df-license-expired-banner data-ng-if="showLicenseExpiredBanner"></df-license-expired-banner> <div data-ng-if="showAdminComponentNav" style="margin: 10px auto;" class="df-menu"> <!-- Component nav and title --> <div class="container-fluid"> <div class="row"> <div class="col-xs-12"> <div class="col-md-2 df-menu-container df-menu-icon"> <df-component-title></df-component-title> </div> <div class="col-md-10 df-menu-container second-nav-menu-items"> <df-component-nav data-options="componentNavOptions"></df-component-nav> </div> </div> </div> </div> </div> <!-- Rendering Context --> <div class="container-fluid"> <div class="row"> <div class="col-xs-12"> <div data-ng-view=""></div> </div> </div> </div> <!--<df-main-loading></df-main-loading>--> <div id="mask"></div> </div> <!--[if lt IE 9]>
<script src="scripts/oldieshim.d41d8cd9.js"></script>
<![endif]--> <script src="scripts/vendor.85f12eba.js"></script> <script src="scripts/app.2799e212.js"></script> <!-- other deps --> <script src="vendor/ace/ace.js"></script> <script src="vendor/ace/mode-javascript.js"></script> <script src="vendor/ace/mode-json.js"></script> <script src="vendor/ace/mode-yaml.js"></script> <script> setTimeout(function(){
<![endif]--> <script src="scripts/vendor.0ee00e99.js"></script> <script src="scripts/app.36257113.js"></script> <!-- other deps --> <script src="vendor/ace/ace.js"></script> <script src="vendor/ace/mode-javascript.js"></script> <script src="vendor/ace/mode-json.js"></script> <script src="vendor/ace/mode-yaml.js"></script> <script> setTimeout(function(){

var _updateIntercom = function(userData) {
var host = $body.injector().get("$location").host();
Expand Down

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions dist/scripts/vendor.0ee00e99.js

Large diffs are not rendered by default.

1 change: 0 additions & 1 deletion dist/scripts/vendor.85f12eba.js

This file was deleted.