From 944d17e62ad3ea7b23e9297cb71a53714f55cc98 Mon Sep 17 00:00:00 2001 From: Hiroki Terashima Date: Fri, 4 Nov 2016 16:37:48 -0700 Subject: [PATCH] AT: fixed bug where assets were not retrieved correctly when switching between projects. --- .../webapp/wise5/services/projectAssetService.es6 | 11 +++++++---- .../webapp/wise5/services/projectAssetService.js | 13 +++++++++---- .../wise5/services/projectAssetService.js.map | 2 +- 3 files changed, 17 insertions(+), 9 deletions(-) diff --git a/src/main/webapp/wise5/services/projectAssetService.es6 b/src/main/webapp/wise5/services/projectAssetService.es6 index 309cbe70f9..4a366b6912 100644 --- a/src/main/webapp/wise5/services/projectAssetService.es6 +++ b/src/main/webapp/wise5/services/projectAssetService.es6 @@ -6,16 +6,16 @@ class ProjectAssetService { this.ConfigService = ConfigService; this.Upload = Upload; this.projectAssets = {}; - this.projectAssetURL = this.ConfigService.getConfigParam('projectAssetURL'); this.projectAssetTotalSizeMax = this.ConfigService.getConfigParam('projectAssetTotalSizeMax'); this.projectAssetUsagePercentage = 0; } deleteAssetItem(assetItem) { + var projectAssetURL = this.ConfigService.getConfigParam('projectAssetURL'); var httpParams = {}; httpParams.method = 'POST'; - httpParams.url = this.projectAssetURL; + httpParams.url = projectAssetURL; httpParams.headers = {'Content-Type': 'application/x-www-form-urlencoded'}; var params = {}; @@ -34,8 +34,9 @@ class ProjectAssetService { } retrieveProjectAssets() { + var projectAssetURL = this.ConfigService.getConfigParam('projectAssetURL'); - return this.$http.get(this.projectAssetURL).then((result) => { + return this.$http.get(projectAssetURL).then((result) => { var projectAssetsJSON = result.data; this.projectAssets = projectAssetsJSON; return projectAssetsJSON; @@ -43,9 +44,11 @@ class ProjectAssetService { } uploadAssets(files) { + var projectAssetURL = this.ConfigService.getConfigParam('projectAssetURL'); + var promises = files.map((file) => { return this.Upload.upload({ - url: this.projectAssetURL, + url: projectAssetURL, fields: { }, file: file diff --git a/src/main/webapp/wise5/services/projectAssetService.js b/src/main/webapp/wise5/services/projectAssetService.js index d2a68d4f71..4c3bd7ee72 100644 --- a/src/main/webapp/wise5/services/projectAssetService.js +++ b/src/main/webapp/wise5/services/projectAssetService.js @@ -20,7 +20,6 @@ var ProjectAssetService = function () { this.ConfigService = ConfigService; this.Upload = Upload; this.projectAssets = {}; - this.projectAssetURL = this.ConfigService.getConfigParam('projectAssetURL'); this.projectAssetTotalSizeMax = this.ConfigService.getConfigParam('projectAssetTotalSizeMax'); this.projectAssetUsagePercentage = 0; } @@ -30,9 +29,11 @@ var ProjectAssetService = function () { value: function deleteAssetItem(assetItem) { var _this = this; + var projectAssetURL = this.ConfigService.getConfigParam('projectAssetURL'); + var httpParams = {}; httpParams.method = 'POST'; - httpParams.url = this.projectAssetURL; + httpParams.url = projectAssetURL; httpParams.headers = { 'Content-Type': 'application/x-www-form-urlencoded' }; var params = {}; @@ -55,7 +56,9 @@ var ProjectAssetService = function () { value: function retrieveProjectAssets() { var _this2 = this; - return this.$http.get(this.projectAssetURL).then(function (result) { + var projectAssetURL = this.ConfigService.getConfigParam('projectAssetURL'); + + return this.$http.get(projectAssetURL).then(function (result) { var projectAssetsJSON = result.data; _this2.projectAssets = projectAssetsJSON; return projectAssetsJSON; @@ -66,9 +69,11 @@ var ProjectAssetService = function () { value: function uploadAssets(files) { var _this3 = this; + var projectAssetURL = this.ConfigService.getConfigParam('projectAssetURL'); + var promises = files.map(function (file) { return _this3.Upload.upload({ - url: _this3.projectAssetURL, + url: projectAssetURL, fields: {}, file: file }).progress(function (evt) { diff --git a/src/main/webapp/wise5/services/projectAssetService.js.map b/src/main/webapp/wise5/services/projectAssetService.js.map index ad8eab97e5..1ad4c23510 100644 --- a/src/main/webapp/wise5/services/projectAssetService.js.map +++ b/src/main/webapp/wise5/services/projectAssetService.js.map @@ -1 +1 @@ -{"version":3,"sources":["projectAssetService.es6"],"names":["ProjectAssetService","$q","$http","$rootScope","ConfigService","Upload","projectAssets","projectAssetURL","getConfigParam","projectAssetTotalSizeMax","projectAssetUsagePercentage","assetItem","httpParams","method","url","headers","params","assetFileName","fileName","data","$","param","then","result","projectAssetsJSON","get","files","promises","map","file","upload","fields","progress","evt","progressPercentage","parseInt","loaded","total","success","status","config","uploadedFilename","name","alert","all","$inject"],"mappings":"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","file":"projectAssetService.js","sourcesContent":["class ProjectAssetService {\n constructor($q, $http, $rootScope, ConfigService, Upload) {\n this.$q = $q;\n this.$http = $http;\n this.$rootScope = $rootScope;\n this.ConfigService = ConfigService;\n this.Upload = Upload;\n this.projectAssets = {};\n this.projectAssetURL = this.ConfigService.getConfigParam('projectAssetURL');\n this.projectAssetTotalSizeMax = this.ConfigService.getConfigParam('projectAssetTotalSizeMax');\n this.projectAssetUsagePercentage = 0;\n }\n\n deleteAssetItem(assetItem) {\n\n var httpParams = {};\n httpParams.method = 'POST';\n httpParams.url = this.projectAssetURL;\n httpParams.headers = {'Content-Type': 'application/x-www-form-urlencoded'};\n\n var params = {};\n params.assetFileName = assetItem.fileName;\n httpParams.data = $.param(params);\n\n return this.$http(httpParams).then((result) => {\n var projectAssetsJSON = result.data;\n this.projectAssets = projectAssetsJSON;\n return projectAssetsJSON;\n });\n }\n\n getFullAssetItemURL(assetItem) {\n return this.ConfigService.getConfigParam('projectBaseURL') + \"assets/\" + assetItem.fileName;\n }\n\n retrieveProjectAssets() {\n\n return this.$http.get(this.projectAssetURL).then((result) => {\n var projectAssetsJSON = result.data;\n this.projectAssets = projectAssetsJSON;\n return projectAssetsJSON;\n });\n }\n\n uploadAssets(files) {\n var promises = files.map((file) => {\n return this.Upload.upload({\n url: this.projectAssetURL,\n fields: {\n },\n file: file\n }).progress((evt) => {\n var progressPercentage = parseInt(100.0 * evt.loaded / evt.total);\n //console.log('progress: ' + progressPercentage + '% ' + evt.config.file.name);\n }).success((result, status, headers, config) => {\n // Only set the projectAssets if the result is an object.\n // Sometimes it's an error message string.\n if (typeof result === 'object') {\n // upload was successful.\n this.projectAssets = result;\n let uploadedFilename = config.file.name;\n return uploadedFilename;\n } else if (typeof result === 'string') {\n // This is an error and should be displayed to the user.\n alert(result);\n }\n\n return result;\n });\n });\n return this.$q.all(promises);\n }\n}\n\nProjectAssetService.$inject = ['$q', '$http', '$rootScope', 'ConfigService', 'Upload'];\n\nexport default ProjectAssetService;"]} \ No newline at end of file +{"version":3,"sources":["projectAssetService.es6"],"names":["ProjectAssetService","$q","$http","$rootScope","ConfigService","Upload","projectAssets","projectAssetTotalSizeMax","getConfigParam","projectAssetUsagePercentage","assetItem","projectAssetURL","httpParams","method","url","headers","params","assetFileName","fileName","data","$","param","then","result","projectAssetsJSON","get","files","promises","map","file","upload","fields","progress","evt","progressPercentage","parseInt","loaded","total","success","status","config","uploadedFilename","name","alert","all","$inject"],"mappings":";;;;;;;;;;;;IAAMA,mB;AACF,iCAAYC,EAAZ,EAAgBC,KAAhB,EAAuBC,UAAvB,EAAmCC,aAAnC,EAAkDC,MAAlD,EAA0D;AAAA;;AACtD,aAAKJ,EAAL,GAAUA,EAAV;AACA,aAAKC,KAAL,GAAaA,KAAb;AACA,aAAKC,UAAL,GAAkBA,UAAlB;AACA,aAAKC,aAAL,GAAqBA,aAArB;AACA,aAAKC,MAAL,GAAcA,MAAd;AACA,aAAKC,aAAL,GAAqB,EAArB;AACA,aAAKC,wBAAL,GAAgC,KAAKH,aAAL,CAAmBI,cAAnB,CAAkC,0BAAlC,CAAhC;AACA,aAAKC,2BAAL,GAAmC,CAAnC;AACH;;;;wCAEeC,S,EAAW;AAAA;;AACvB,gBAAIC,kBAAkB,KAAKP,aAAL,CAAmBI,cAAnB,CAAkC,iBAAlC,CAAtB;;AAEA,gBAAII,aAAa,EAAjB;AACAA,uBAAWC,MAAX,GAAoB,MAApB;AACAD,uBAAWE,GAAX,GAAiBH,eAAjB;AACAC,uBAAWG,OAAX,GAAqB,EAAC,gBAAgB,mCAAjB,EAArB;;AAEA,gBAAIC,SAAS,EAAb;AACAA,mBAAOC,aAAP,GAAuBP,UAAUQ,QAAjC;AACAN,uBAAWO,IAAX,GAAkBC,EAAEC,KAAF,CAAQL,MAAR,CAAlB;;AAEA,mBAAO,KAAKd,KAAL,CAAWU,UAAX,EAAuBU,IAAvB,CAA4B,UAACC,MAAD,EAAY;AAC3C,oBAAIC,oBAAoBD,OAAOJ,IAA/B;AACA,sBAAKb,aAAL,GAAqBkB,iBAArB;AACA,uBAAOA,iBAAP;AACH,aAJM,CAAP;AAKH;;;4CAEmBd,S,EAAW;AAC3B,mBAAO,KAAKN,aAAL,CAAmBI,cAAnB,CAAkC,gBAAlC,IAAsD,SAAtD,GAAkEE,UAAUQ,QAAnF;AACH;;;gDAEuB;AAAA;;AACpB,gBAAIP,kBAAkB,KAAKP,aAAL,CAAmBI,cAAnB,CAAkC,iBAAlC,CAAtB;;AAEA,mBAAO,KAAKN,KAAL,CAAWuB,GAAX,CAAed,eAAf,EAAgCW,IAAhC,CAAqC,UAACC,MAAD,EAAY;AACpD,oBAAIC,oBAAoBD,OAAOJ,IAA/B;AACA,uBAAKb,aAAL,GAAqBkB,iBAArB;AACA,uBAAOA,iBAAP;AACH,aAJM,CAAP;AAKH;;;qCAEYE,K,EAAO;AAAA;;AAChB,gBAAIf,kBAAkB,KAAKP,aAAL,CAAmBI,cAAnB,CAAkC,iBAAlC,CAAtB;;AAEA,gBAAImB,WAAWD,MAAME,GAAN,CAAU,UAACC,IAAD,EAAU;AAC/B,uBAAO,OAAKxB,MAAL,CAAYyB,MAAZ,CAAmB;AACtBhB,yBAAKH,eADiB;AAEtBoB,4BAAQ,EAFc;AAItBF,0BAAMA;AAJgB,iBAAnB,EAKJG,QALI,CAKK,UAACC,GAAD,EAAS;AACjB,wBAAIC,qBAAqBC,SAAS,QAAQF,IAAIG,MAAZ,GAAqBH,IAAII,KAAlC,CAAzB;AACA;AACH,iBARM,EAQJC,OARI,CAQI,UAACf,MAAD,EAASgB,MAAT,EAAiBxB,OAAjB,EAA0ByB,MAA1B,EAAqC;AAC5C;AACA;AACA,wBAAI,QAAOjB,MAAP,yCAAOA,MAAP,OAAkB,QAAtB,EAAgC;AAC5B;AACA,+BAAKjB,aAAL,GAAqBiB,MAArB;AACA,4BAAIkB,mBAAmBD,OAAOX,IAAP,CAAYa,IAAnC;AACA,+BAAOD,gBAAP;AACH,qBALD,MAKO,IAAI,OAAOlB,MAAP,KAAkB,QAAtB,EAAgC;AACnC;AACAoB,8BAAMpB,MAAN;AACH;;AAED,2BAAOA,MAAP;AACH,iBAtBM,CAAP;AAuBH,aAxBc,CAAf;AAyBA,mBAAO,KAAKtB,EAAL,CAAQ2C,GAAR,CAAYjB,QAAZ,CAAP;AACH;;;;;;AAGL3B,oBAAoB6C,OAApB,GAA8B,CAAC,IAAD,EAAO,OAAP,EAAgB,YAAhB,EAA8B,eAA9B,EAA+C,QAA/C,CAA9B;;kBAEe7C,mB","file":"projectAssetService.js","sourcesContent":["class ProjectAssetService {\n constructor($q, $http, $rootScope, ConfigService, Upload) {\n this.$q = $q;\n this.$http = $http;\n this.$rootScope = $rootScope;\n this.ConfigService = ConfigService;\n this.Upload = Upload;\n this.projectAssets = {};\n this.projectAssetTotalSizeMax = this.ConfigService.getConfigParam('projectAssetTotalSizeMax');\n this.projectAssetUsagePercentage = 0;\n }\n\n deleteAssetItem(assetItem) {\n var projectAssetURL = this.ConfigService.getConfigParam('projectAssetURL');\n\n var httpParams = {};\n httpParams.method = 'POST';\n httpParams.url = projectAssetURL;\n httpParams.headers = {'Content-Type': 'application/x-www-form-urlencoded'};\n\n var params = {};\n params.assetFileName = assetItem.fileName;\n httpParams.data = $.param(params);\n\n return this.$http(httpParams).then((result) => {\n var projectAssetsJSON = result.data;\n this.projectAssets = projectAssetsJSON;\n return projectAssetsJSON;\n });\n }\n\n getFullAssetItemURL(assetItem) {\n return this.ConfigService.getConfigParam('projectBaseURL') + \"assets/\" + assetItem.fileName;\n }\n\n retrieveProjectAssets() {\n var projectAssetURL = this.ConfigService.getConfigParam('projectAssetURL');\n\n return this.$http.get(projectAssetURL).then((result) => {\n var projectAssetsJSON = result.data;\n this.projectAssets = projectAssetsJSON;\n return projectAssetsJSON;\n });\n }\n\n uploadAssets(files) {\n var projectAssetURL = this.ConfigService.getConfigParam('projectAssetURL');\n\n var promises = files.map((file) => {\n return this.Upload.upload({\n url: projectAssetURL,\n fields: {\n },\n file: file\n }).progress((evt) => {\n var progressPercentage = parseInt(100.0 * evt.loaded / evt.total);\n //console.log('progress: ' + progressPercentage + '% ' + evt.config.file.name);\n }).success((result, status, headers, config) => {\n // Only set the projectAssets if the result is an object.\n // Sometimes it's an error message string.\n if (typeof result === 'object') {\n // upload was successful.\n this.projectAssets = result;\n let uploadedFilename = config.file.name;\n return uploadedFilename;\n } else if (typeof result === 'string') {\n // This is an error and should be displayed to the user.\n alert(result);\n }\n\n return result;\n });\n });\n return this.$q.all(promises);\n }\n}\n\nProjectAssetService.$inject = ['$q', '$http', '$rootScope', 'ConfigService', 'Upload'];\n\nexport default ProjectAssetService;"]} \ No newline at end of file