diff options
author | Bernhard Posselt <dev@bernhard-posselt.com> | 2014-09-11 03:55:52 +0200 |
---|---|---|
committer | Bernhard Posselt <dev@bernhard-posselt.com> | 2014-09-11 03:55:52 +0200 |
commit | ea9ebd4826fe9807af5bc17e786b3dc58f163970 (patch) | |
tree | 2894b40614ebe977797cea5745b215e2a2851f61 /js/service/FolderResource.js | |
parent | 594b92f649d8ed8a705f1af23639463078170d46 (diff) |
port to es5 and add es6 shims for object prototypes instead
Diffstat (limited to 'js/service/FolderResource.js')
-rw-r--r-- | js/service/FolderResource.js | 133 |
1 files changed, 65 insertions, 68 deletions
diff --git a/js/service/FolderResource.js b/js/service/FolderResource.js index 2e67fa690..6453f33b8 100644 --- a/js/service/FolderResource.js +++ b/js/service/FolderResource.js @@ -7,100 +7,97 @@ * @author Bernhard Posselt <dev@bernhard-posselt.com> * @copyright Bernhard Posselt 2014 */ -app.factory('FolderResource', (Resource, $http, BASE_URL) => { +app.factory('FolderResource', function (Resource, $http, BASE_URL) { 'use strict'; - class FolderResource extends Resource { + var FolderResource = function ($http, BASE_URL) { + Resource.call(this, $http, BASE_URL, 'name'); + this.deleted = null; + }; - constructor ($http, BASE_URL) { - super($http, BASE_URL, 'name'); - this.deleted = null; - } + FolderResource.prototype = Object.create(Resource.prototype); + FolderResource.prototype.delete = function (folderName) { + var folder = this.get(folderName); + this.deleted = folder; - delete (folderName) { - let folder = this.get(folderName); - this.deleted = folder; + Resource.prototype.delete.call(this, folderName); - super.delete(folderName); + return this.http.delete(this.BASE_URL + '/folders/' + folder.id); + }; - return this.http.delete(`${this.BASE_URL}/folders/${folder.id}`); - } + FolderResource.prototype.toggleOpen = function (folderName) { + var folder = this.get(folderName); + folder.opened = !folder.opened; - toggleOpen (folderName) { - let folder = this.get(folderName); - folder.opened = !folder.opened; + return this.http({ + url: this.BASE_URL + '/folders/' + folder.id + '/open', + method: 'POST', + data: { + folderId: folder.id, + open: folder.opened + } + }); + }; - return this.http({ - url: `${this.BASE_URL}/folders/${folder.id}/open`, - method: 'POST', - data: { - folderId: folder.id, - open: folder.opened - } - }); - } + FolderResource.prototype.rename = function (folderName, toFolderName) { + toFolderName = toFolderName.toUpperCase(); + var folder = this.get(folderName); - rename (folderName, toFolderName) { - toFolderName = toFolderName.toUpperCase(); - let folder = this.get(folderName); + // still do http request if folder exists but dont change the name + // to have one point of failure + if (!this.get(toFolderName)) { + folder.name = toFolderName; - // still do http request if folder exists but dont change the name - // to have one point of failure - if (!this.get(toFolderName)) { - folder.name = toFolderName; + delete this.hashMap[folderName]; + this.hashMap[toFolderName] = folder; + } - delete this.hashMap[folderName]; - this.hashMap[toFolderName] = folder; + return this.http({ + url: this.BASE_URL + '/folders/' + folder.id + '/rename', + method: 'POST', + data: { + folderName: toFolderName } + }); + }; - return this.http({ - url: `${this.BASE_URL}/folders/${folder.id}/rename`, - method: 'POST', - data: { - folderName: toFolderName - } - }); - } + FolderResource.prototype.create = function (folderName) { + folderName = folderName.toUpperCase(); - create (folderName) { - folderName = folderName.toUpperCase(); + // still do http request if folder exists but dont change the name + // to have one point of failure + if (!this.get(folderName)) { + var folder = { + name: folderName + }; - // still do http request if folder exists but dont change the name - // to have one point of failure - if (!this.get(folderName)) { - let folder = { - name: folderName - }; + this.add(folder); + } - this.add(folder); + return this.http({ + url: this.BASE_URL + '/folders', + method: 'POST', + data: { + folderName: folderName } - - return this.http({ - url: `${this.BASE_URL}/folders`, - method: 'POST', - data: { - folderName: folderName - } - }); - } + }); + }; - undoDelete () { - if (this.deleted) { - this.add(this.deleted); + FolderResource.prototype.undoDelete = function () { + if (this.deleted) { + this.add(this.deleted); - return this.http.post( - `${this.BASE_URL}/folders/${this.deleted.id}/restore` - ); - } + return this.http.post( + this.BASE_URL + '/folders/' + this.deleted.id + '/restore' + ); } + }; - } - return new FolderResource($http, BASE_URL); });
\ No newline at end of file |