PageRenderTime 40ms CodeModel.GetById 13ms RepoModel.GetById 0ms app.codeStats 0ms

/DocDoku-ear/DocDoku-war/src/main/webapp/js/collections/folder.js

http://docdoku.googlecode.com/
JavaScript | 40 lines | 37 code | 1 blank | 2 comment | 7 complexity | 5dc49fc14b0a1ff1cde2485169aca5e1 MD5 | raw file
Possible License(s): GPL-3.0
  1. define([
  2. "models/folder"
  3. ], function (
  4. Folder
  5. ) {
  6. var FolderList = Backbone.Collection.extend({
  7. model: Folder,
  8. parse: function(data) {
  9. if (!this.parent) {
  10. // inject the user home folder
  11. data.unshift({
  12. id: APP_CONFIG.workspaceId + ":~" + APP_CONFIG.login,
  13. name: "~" + APP_CONFIG.login,
  14. path: APP_CONFIG.workspaceId,
  15. home: true
  16. });
  17. }
  18. return data;
  19. },
  20. comparator: function (folderA, folderB) {
  21. // sort folders by name
  22. nameA = folderA.get("name");
  23. nameB = folderB.get("name");
  24. if (folderB.get("home")) return 1;
  25. if (folderA.get("home")) return -1;
  26. if (nameA == nameB) return 0;
  27. return (nameA < nameB) ? -1 : 1;
  28. }
  29. });
  30. FolderList.prototype.__defineGetter__("url", function () {
  31. var baseUrl = "/api/workspaces/" + APP_CONFIG.workspaceId + "/folders"
  32. if (this.parent) {
  33. return baseUrl + "/" + this.parent.get("id") + "/folders";
  34. } else {
  35. return baseUrl;
  36. }
  37. });
  38. return FolderList;
  39. });