From a773863179045aecdb692ece98957d9e021ea8ba Mon Sep 17 00:00:00 2001 From: Joseph Ramos Date: Tue, 28 Jul 2015 17:36:38 -0500 Subject: [PATCH] Added params and query objects to pages and panels. --- .../extensions/form/public/js/form.controllers.js | 14 +++++++++++++- applications/default/public/js/controllers.js | 14 ++++++++++++-- 2 files changed, 25 insertions(+), 3 deletions(-) diff --git a/applications/default/extensions/form/public/js/form.controllers.js b/applications/default/extensions/form/public/js/form.controllers.js index d26d657..2079e4c 100644 --- a/applications/default/extensions/form/public/js/form.controllers.js +++ b/applications/default/extensions/form/public/js/form.controllers.js @@ -85,6 +85,16 @@ angular.module('choko') $scope: $scope }); + // Parse query reference params. + Object.keys($scope.element.reference.query || {}).forEach(function(param) { + $scope.element.reference.query[param] = Params.parse($scope.element.reference.query[param], $scope); + }); + + // Parse other reference params. + Object.keys($scope.element.reference.params || {}).forEach(function(param) { + $scope.element.reference.params[param] = Params.parse($scope.element.reference.params[param], $scope); + }); + var query = { type: $scope.element.reference.type }; @@ -95,7 +105,9 @@ angular.module('choko') } // Get reference items to make a options list. - Choko.get(query, function(response) { + $scope.element.options = Choko.get(query); + + $scope.element.options.$promise.then(function(response) { $scope.element.options = response; // Use radios if less then 5 options. diff --git a/applications/default/public/js/controllers.js b/applications/default/public/js/controllers.js index b8c49ed..4084065 100644 --- a/applications/default/public/js/controllers.js +++ b/applications/default/public/js/controllers.js @@ -160,11 +160,16 @@ angular.module('choko') $scope.view.itemKey = Params.parse($scope.view.itemKey, $scope); } - // Parse other params. - Object.keys($scope.view.query || {}).forEach(function (param) { + // Parse query params. + Object.keys($scope.view.query || {}).forEach(function(param) { $scope.view.query[param] = Params.parse($scope.view.query[param], $scope); }); + // Parse other params. + Object.keys($scope.view.params || {}).forEach(function(param) { + $scope.view.params[param] = Params.parse($scope.view.params[param], $scope); + }); + // Replace tokens in title. if ($scope.view.title) { $scope.view.title = Token.replace($scope.view.title, $scope); @@ -258,6 +263,11 @@ angular.module('choko') url += '/' + $scope.view.itemKey; } + // Add params to data if any. + Object.keys($scope.view.params || {}).forEach(function(param) { + $scope.data[param] = $scope.data[param] || $scope.view.params[param]; + }); + $http.post(url, $scope.data) .success(function(data, status, headers, config) { $scope.data = data;