bone_tree 0.5.6 → 0.9.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. data/.gitignore +26 -3
  2. data/Gemfile +5 -12
  3. data/Rakefile +7 -9
  4. data/bone_tree.gemspec +30 -14
  5. data/config.rb +8 -0
  6. data/lib/assets/javascripts/bone_tree.js +277 -981
  7. data/lib/assets/stylesheets/bone_tree.css +108 -0
  8. data/lib/bone_tree/rails.rb +5 -0
  9. data/lib/bone_tree/sprockets.rb +3 -0
  10. data/lib/{version.rb → bone_tree/version.rb} +1 -1
  11. data/lib/bone_tree.rb +11 -6
  12. data/source/index.html.haml +10 -382
  13. data/source/javascripts/{_backbone.js → backbone.js} +282 -142
  14. data/source/javascripts/bone_tree/models/directory.js.coffee +109 -0
  15. data/source/javascripts/bone_tree/models/file.js.coffee +12 -0
  16. data/source/javascripts/bone_tree/models/node.js.coffee +24 -0
  17. data/source/javascripts/bone_tree/models/settings.js.coffee +5 -0
  18. data/source/javascripts/bone_tree/{_namespace.js.coffee → namespace.js.coffee} +1 -1
  19. data/source/javascripts/bone_tree/views/directory.js.coffee +56 -0
  20. data/source/javascripts/bone_tree/views/file.js.coffee +25 -0
  21. data/source/javascripts/bone_tree/views/tree.js.coffee +87 -0
  22. data/source/javascripts/bone_tree.js.coffee +2 -1
  23. data/source/stylesheets/bone_tree.css.sass +0 -38
  24. data/spec/javascripts/directory_spec.coffee +26 -0
  25. data/spec/javascripts/helpers/spec_helper.coffee +3 -4
  26. data/spec/javascripts/sorting_spec.coffee +12 -0
  27. data/spec/javascripts/support/jasmine.yml +6 -4
  28. metadata +143 -36
  29. data/Gemfile.lock +0 -190
  30. data/docs/index.html +0 -222
  31. data/docs/resources/base.css +0 -70
  32. data/docs/resources/index.css +0 -20
  33. data/docs/resources/module.css +0 -24
  34. data/docs/source/javascripts/bone_tree/_namespace.js.html +0 -45
  35. data/docs/source/javascripts/bone_tree/models/_directory.js.html +0 -126
  36. data/docs/source/javascripts/bone_tree/models/_file.js.html +0 -112
  37. data/docs/source/javascripts/bone_tree/models/_nodes.js.html +0 -174
  38. data/docs/source/javascripts/bone_tree/models/_settings.js.html +0 -75
  39. data/docs/source/javascripts/bone_tree/views/_directory.js.html +0 -94
  40. data/docs/source/javascripts/bone_tree/views/_file.js.html +0 -82
  41. data/docs/source/javascripts/bone_tree/views/_menu.js.html +0 -110
  42. data/docs/source/javascripts/bone_tree/views/_tree.js.html +0 -432
  43. data/source/javascripts/_jquery.min.js +0 -5
  44. data/source/javascripts/_underscore.js +0 -999
  45. data/source/javascripts/bone_tree/models/_directory.js.coffee +0 -63
  46. data/source/javascripts/bone_tree/models/_file.js.coffee +0 -55
  47. data/source/javascripts/bone_tree/models/_nodes.js.coffee +0 -117
  48. data/source/javascripts/bone_tree/models/_settings.js.coffee +0 -25
  49. data/source/javascripts/bone_tree/views/_directory.js.coffee +0 -73
  50. data/source/javascripts/bone_tree/views/_file.js.coffee +0 -51
  51. data/source/javascripts/bone_tree/views/_menu.js.coffee +0 -97
  52. data/source/javascripts/bone_tree/views/_tree.js.coffee +0 -498
  53. data/spec/javascripts/directory_view_spec.coffee +0 -91
  54. data/spec/javascripts/file_view_spec.coffee +0 -70
  55. data/spec/javascripts/menu_view_spec.coffee +0 -42
  56. data/spec/javascripts/nodes_spec.coffee +0 -37
  57. data/spec/javascripts/tree_view_spec.coffee +0 -39
@@ -0,0 +1,108 @@
1
+ /* line 6, bone_tree.css.sass */
2
+ .tree {
3
+ -webkit-box-sizing: border-box;
4
+ -moz-box-sizing: border-box;
5
+ box-sizing: border-box;
6
+ -moz-user-select: none;
7
+ -khtml-user-select: none;
8
+ -webkit-user-select: none;
9
+ -o-user-select: none;
10
+ user-select: none;
11
+ color: black;
12
+ overflow-y: scroll; }
13
+ /* line 17, ../../../../.rvm/gems/ruby-1.9.2-p290@bone_tree/gems/compass-0.12.1/frameworks/compass/stylesheets/compass/reset/_utilities.scss */
14
+ .tree html, .tree body, .tree div, .tree span, .tree applet, .tree object, .tree iframe,
15
+ .tree h1, .tree h2, .tree h3, .tree h4, .tree h5, .tree h6, .tree p, .tree blockquote, .tree pre,
16
+ .tree a, .tree abbr, .tree acronym, .tree address, .tree big, .tree cite, .tree code,
17
+ .tree del, .tree dfn, .tree em, .tree img, .tree ins, .tree kbd, .tree q, .tree s, .tree samp,
18
+ .tree small, .tree strike, .tree strong, .tree sub, .tree sup, .tree tt, .tree var,
19
+ .tree b, .tree u, .tree i, .tree center,
20
+ .tree dl, .tree dt, .tree dd, .tree ol, .tree ul, .tree li,
21
+ .tree fieldset, .tree form, .tree label, .tree legend,
22
+ .tree table, .tree caption, .tree tbody, .tree tfoot, .tree thead, .tree tr, .tree th, .tree td,
23
+ .tree article, .tree aside, .tree canvas, .tree details, .tree embed,
24
+ .tree figure, .tree figcaption, .tree footer, .tree header, .tree hgroup,
25
+ .tree menu, .tree nav, .tree output, .tree ruby, .tree section, .tree summary,
26
+ .tree time, .tree mark, .tree audio, .tree video {
27
+ margin: 0;
28
+ padding: 0;
29
+ border: 0;
30
+ font-size: 100%;
31
+ font: inherit;
32
+ vertical-align: baseline; }
33
+ /* line 20, ../../../../.rvm/gems/ruby-1.9.2-p290@bone_tree/gems/compass-0.12.1/frameworks/compass/stylesheets/compass/reset/_utilities.scss */
34
+ .tree body {
35
+ line-height: 1; }
36
+ /* line 22, ../../../../.rvm/gems/ruby-1.9.2-p290@bone_tree/gems/compass-0.12.1/frameworks/compass/stylesheets/compass/reset/_utilities.scss */
37
+ .tree ol, .tree ul {
38
+ list-style: none; }
39
+ /* line 24, ../../../../.rvm/gems/ruby-1.9.2-p290@bone_tree/gems/compass-0.12.1/frameworks/compass/stylesheets/compass/reset/_utilities.scss */
40
+ .tree table {
41
+ border-collapse: collapse;
42
+ border-spacing: 0; }
43
+ /* line 26, ../../../../.rvm/gems/ruby-1.9.2-p290@bone_tree/gems/compass-0.12.1/frameworks/compass/stylesheets/compass/reset/_utilities.scss */
44
+ .tree caption, .tree th, .tree td {
45
+ text-align: left;
46
+ font-weight: normal;
47
+ vertical-align: middle; }
48
+ /* line 28, ../../../../.rvm/gems/ruby-1.9.2-p290@bone_tree/gems/compass-0.12.1/frameworks/compass/stylesheets/compass/reset/_utilities.scss */
49
+ .tree q, .tree blockquote {
50
+ quotes: none; }
51
+ /* line 101, ../../../../.rvm/gems/ruby-1.9.2-p290@bone_tree/gems/compass-0.12.1/frameworks/compass/stylesheets/compass/reset/_utilities.scss */
52
+ .tree q:before, .tree q:after, .tree blockquote:before, .tree blockquote:after {
53
+ content: "";
54
+ content: none; }
55
+ /* line 30, ../../../../.rvm/gems/ruby-1.9.2-p290@bone_tree/gems/compass-0.12.1/frameworks/compass/stylesheets/compass/reset/_utilities.scss */
56
+ .tree a img {
57
+ border: none; }
58
+ /* line 114, ../../../../.rvm/gems/ruby-1.9.2-p290@bone_tree/gems/compass-0.12.1/frameworks/compass/stylesheets/compass/reset/_utilities.scss */
59
+ .tree article, .tree aside, .tree details, .tree figcaption, .tree figure, .tree footer, .tree header, .tree hgroup, .tree menu, .tree nav, .tree section, .tree summary {
60
+ display: block; }
61
+ /* line 19, bone_tree.css.sass */
62
+ .tree ul, .tree li {
63
+ list-style-type: none; }
64
+ /* line 22, bone_tree.css.sass */
65
+ .tree .directory, .tree .file {
66
+ cursor: pointer; }
67
+ /* line 26, bone_tree.css.sass */
68
+ .tree .directory .directory {
69
+ padding-left: 20px; }
70
+ /* line 29, bone_tree.css.sass */
71
+ .tree .file {
72
+ background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAOCAYAAAAmL5yKAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAL5JREFUeNpi/P//PwMIrOp1gjBwgLDifYxYJUAGgPDKHsf/uMCVvTX/ofIM6JiJgUigbWiN1ZVEG4DLEBYMVXmFqPxJ/QzaTs1w7tXzTgz4DQBqIAVgGNC7YxGc/fnoPoaG5gUM2bnJDFMnz2UgOxaQAXpswF1w7YMcahgAvdJQm8Dw+gMzmAtzAVwdMWEAcj7JYXB1Xy3Djl+qcP7aS5fB9LGybuIMAEWZNhK/2AO/C0hKSARdAAo0UgFAgAEAldGhef3Bv88AAAAASUVORK5CYII=") no-repeat;
73
+ background-position: 1px 3px;
74
+ padding-left: 20px; }
75
+ /* line 34, bone_tree.css.sass */
76
+ .tree .file.coffee {
77
+ background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAILSURBVDjLrVM7ixNhFB2LFKJV+v0L24nabIogtmItin9ALBS3tXNt3CWgVlpMsAgrWRexkCSTd0KimYS8Q94vsnlrikAec7z34hSibON+cJjXPeee79xvFADK/0C5UIFyubxLUEulklooFNR8Pn+Sy+VOstmsmslk1HQ6raZSqd2/BCqVyh4RW/V6HePxGJPJRDCdTuU6Go0EZ2dnIFEkk8lWIpHYEwEi24lszGYzjHptfPvsgvbuEJ9ePMPH548Epwf70N4f4fuXY6rpYDgcIh6PG7FYzM62dSav12spfHXn2rk4fbmPxWIhIpFIRFfIzk+v1wvDMLAhka9vD+B88gCv79lxdPeG4M39W/jw9KF8q+oJzOdz2VIoFPqhOJ3O7mAwwHK5xGazketqtRKws3+Bto1arYZgMFhTHA6HC78XW6P0wYJmcAy2y+9arRYoPCHTpOD3+w8Vm8122xTgQhobqtUqms0mGo0GeDLckdOnESIcDqPdbnN3aJp2VbFarTfN7kxmUqfTkSLuyM8syB3pLMj7fr8Pn883kTFaLJbr1EHfbrdilwm9Xg/dblfABNMF3/NWisUiKPjHIkDrMou43e4CF+m6LkUMU4idcFc+WJwRkbU/TiKtS4QrgUDgmGZrcEcelXkKORsWJ9sGkV3n/kzRaHSHgtrQjEGCHJSAyBuPx7Nz4X/jL/ZqKRurPTy6AAAAAElFTkSuQmCC") no-repeat;
78
+ background-position: 1px 3px;
79
+ padding-left: 20px; }
80
+ /* line 39, bone_tree.css.sass */
81
+ .tree .directory {
82
+ background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAOCAYAAAAmL5yKAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAKJJREFUeNpi/P//PwMlgJGqBhzpMEUxzabiNCNBE0AGgPDaYt3/6AAqxoAPg10AstkmOgth6oenDA9ffAUzH5/dg2EpistABhxuN/lPLICqhbuABW7S4/lEBdqVy68ZbJD4TCDi1ZufRIe6mCQfCp+JgUIA9sKnr9/BAUcMAKtFd8GPT7+JthFdLdwL6xauoiwlLshUJSpNJ0y/zUjVvAAQYACWqqflysozQAAAAABJRU5ErkJggg==") no-repeat;
83
+ background-position: 0 4px;
84
+ padding-left: 20px; }
85
+ /* line 44, bone_tree.css.sass */
86
+ .tree .directory.open {
87
+ background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAOCAYAAAAmL5yKAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAMhJREFUeNpi/P//PwMlgJGqBhzpMEUxzabiNCNBE0AGgPDaYt3/6AAqxoAPg10AstkmOgth6oenDA9ffAUzH5/dg2EpistABhxuN/lPLICqhbuABW7S4/lEBdqVy68ZbJD4YANevfmJoXDdxH6sBohJ8jGsK9H7j2IANs1B+YX4nQIMp3ULV0EM+PT1O1gArBkoGBQfBufjAmB1PZcYmUCcH59+o2omAGCa4QlpRrTCf5DfSNWMkhIXZKoSlaYTpt9mpGpeAAgwAJYXxD0Qxy7tAAAAAElFTkSuQmCC") no-repeat;
88
+ background-position: 0 4px; }
89
+ /* line 48, bone_tree.css.sass */
90
+ .tree .json {
91
+ background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAQAAAC1+jfqAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAGSSURBVCjPVVFNSwJhEF78Ad79Cf6PvXQRsotUlzKICosuRYmR2RJR0KE6lBFFZVEbpFBSqKu2rum6llFS9HHI4iUhT153n6ZtIWMOM+/MM88z7wwH7s9Ub16SJcnbmrNcxVm2q7Z8/QPvEOtntpj92NkCqITLepEpjix7xQtiLOoQ2b6+E7YAN/5nfOEJ2WbKqOIOJ4bYVMEQx4LfBBQDsvFMhUcCVU1/CxVXmDBGA5ZETrhDCQVcYAPbyEJBhvrnBVPiSpNr6cYDNCQwo4zzU/ySckkgDYuNuVpI42T9k4gLKGMPs/xPzzovQiY2hQYe0jlJfyNNhTqiWDYBq/wBMcSRpnyPzu1oS7WtxjVBSthU1vgVksiQ3Dn6Gp5ah2YOKQo5GiuHPA6xT1EKpxQNCNYejgIR457KKio0S56YckjSa9jo//3mrj+BV0QQagqGTOo+Y7gZIf1puP3WHoLhEb2PjTlCTCWGXtbp8DCX3hZuOdaIc9A+aQvWk4ihq95p67a7nP+u+Ws+r0dql9z/zv0NCYhdCPKZ7oYAAAAASUVORK5CYII=") no-repeat;
92
+ background-position: 0 4px;
93
+ padding-left: 20px; }
94
+ /* line 53, bone_tree.css.sass */
95
+ .tree .png, .tree .jpeg, .tree .gif {
96
+ background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAHwSURBVDjLpZM9a1RBFIafM/fevfcmC7uQjWEjUZKAYBHEVEb/gIWFjVVSWEj6gI0/wt8gprPQykIsTP5BQLAIhBVBzRf52Gw22bk7c8YiZslugggZppuZ55z3nfdICIHrrBhg+ePaa1WZPyk0s+6KWwM1khiyhDcvns4uxQAaZOHJo4nRLMtEJPpnxY6Cd10+fNl4DpwBTqymaZrJ8uoBHfZoyTqTYzvkSRMXlP2jnG8bFYbCXWJGePlsEq8iPQmFA2MijEBhtpis7ZCWftC0LZx3xGnK1ESd741hqqUaqgMeAChgjGDDLqXkgMPTJtZ3KJzDhTZpmtK2OSO5IRB6xvQDRAhOsb5Lx1lOu5ZCHV4B6RLUExvh4s+ZntHhDJAxSqs9TCDBqsc6j0iJdqtMuTROFBkIcllCCGcSytFNfm1tU8k2GRo2pOI43h9ie6tOvTJFbORyDsJFQHKD8fw+P9dWqJZ/I96TdEa5Nb1AOavjVfti0dfB+t4iXhWvyh27y9zEbRRobG7z6fgVeqSoKvB5oIMQEODx7FLvIJo55KS9R7b5ldrDReajpC+Z5z7GAHJFXn1exedVbG36ijwOmJgl0kS7lXtjD0DkLyqc70uPnSuIIwk9QCmWd+9XGnOFDzP/M5xxBInhLYBcd5z/AAZv2pOvFcS/AAAAAElFTkSuQmCC") no-repeat;
97
+ background-position: 0 4px;
98
+ padding-left: 20px; }
99
+ /* line 58, bone_tree.css.sass */
100
+ .tree .js {
101
+ background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAJ+SURBVBgZBcExbFRlAADg7//fu7teC3elQEoMgeDkYDQ6oMQQTYyGxMHZuDA6Ypw0cWI20cHJUdl0cJLIiomR6OACGhUCpqGWtlzbu/b97/3v9/tCKQVc/e7RRXz+7OrSpUXbW7S9tu8ddv0M+3iCjF1s42v8WAP0XffKi2eOXfro9dMAYJ766SL1092jfDa17DfZgycHfvh7/hau1QB9161PhgE8epoNQlAHqprRIDo3iqoYDSpeOjv2zHRl7atfNj6LALltJys1Xc9+CmYtTxtmR8yO2D7kv4MMPr7x0KULK54/NThdA+S2XTs+jOYN86MsxqBGVRErKkEV6BHynp//2fXbw9lGDZBTWp+OK7PDzqIpYiyqSMxBFakUVYVS2dxrfHHrrz1crQG6lM6vTwZmR0UHhSoHsSBTKeoS9YU8yLrUXfj+w9d2IkBOzfkz05F5KkKkCkFERACEQil0TSOnJkMNV67fHNdVHI4GUcpZVFAUZAEExEibs4P5osMeROiadHoUiIEeCgFREAoRBOMB2weNrkmbNz+9UiBCTs1yrVdHqhgIkRL0EOj7QGG5jrZ2D+XUbADEy9dunOpSun7xuXMe7xUPNrOd/WyeyKUIoRgOGS8xWWZ7b6FLaROgzim9iXd+vXvf7mHtoCnaXDRtkLpel3t9KdamUx+8fcbj7YWc0hZAndv25XffeGH8yfuvAoBcaHOROhS+vLlhecD+wUJu222AOrft/cdPZr65ddfqsbHVyZLVlZHpysjx5aHRMBrV0XuX141qtnb25bb9F6Duu+7b23funb195955nMRJnMAJTJeGg8HS0sBkZWx1suz3Px79iZ8A/gd7ijssEaZF9QAAAABJRU5ErkJggg==") no-repeat;
102
+ background-position: 0 4px;
103
+ padding-left: 20px; }
104
+ /* line 63, bone_tree.css.sass */
105
+ .tree .wav, .tree .sfs, .tree .mp3, .tree .ogg {
106
+ background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAAK/INwWK6QAAABl0RVh0U29mdHdhcmUAQWRvYmUgSW1hZ2VSZWFkeXHJZTwAAAH0SURBVDjLxdPPS9tgGAfwgH/ATmPD0w5jMFa3IXOMFImsOKnbmCUTacW1WZM2Mf1ho6OBrohkIdJfWm9aLKhM6GF4Lz3No/+AMC/PYQXBXL1+95oxh1jGhsgOX/LywvN5n/fN+3IAuKuEuzagVFoO27b1/Z+BcrnUx4otx7FPLWsJvYpIM2SS9H4PqNWqfK1W8VKplHlW/G1zs4G9vS9YXPx4CaDkXOFES4Om4gceUK2WsbZWR72+gtXVFezsbKHVamF7ewtm/sMFgBJZhd6pvm4kDndaAo2KOmt5Gfv7X9HpdNBut9FsNmFZFgPrMHKZc4DkjHyi6KC3MZNehTOuGAH5Xx5ybK/Y3f0Mx3Fg2zaKxSIMw2DjT0inNQ84nogcUUQJHIfZquNT3hzx46DBALizg2o01qEoCqLRKERRRDAYhKYlWRK/AJdCMwH2BY28+Qk8fg667wdXKJjY2FiHaeaRzWYQCk1AEASGzSCZjP/ewtik5r6eBD0dM+nRSMb1j4LuPDnkFhZymJ/PsmLdazmV0jxEkqKsK+niIQ69mKUBwdd9OAx3SADdHtC53FyK12dVXlVlPpF4zytK7OgMyucNyHLs8m+8+2zJHRwG3fId9LxIbNU+OR6zWU57AR5y84FKN+71//EqM2iapfv/HtPf5gcdtKR8VW88PgAAAABJRU5ErkJggg==") no-repeat;
107
+ background-position: 0 4px;
108
+ padding-left: 20px; }
@@ -0,0 +1,5 @@
1
+ module BoneTree
2
+ class Rails < Rails::Engine
3
+ # auto wire assets
4
+ end
5
+ end
@@ -0,0 +1,3 @@
1
+ root_dir = File.expand_path(File.dirname(File.dirname(File.dirname(__FILE__))))
2
+ Sprockets.paths << File.join(root_dir, "vendor", "assets")
3
+ Sprockets.paths << File.join(root_dir, "lib", "assets")
@@ -1,4 +1,4 @@
1
1
  module BoneTree
2
- VERSION = "0.5.6"
2
+ VERSION = "0.9.2"
3
3
  end
4
4
 
data/lib/bone_tree.rb CHANGED
@@ -1,7 +1,12 @@
1
+ require "bone_tree/version"
2
+
3
+ # Sneaky require for Rails engine environment
4
+ if defined? ::Rails::Engine
5
+ require "bone_tree/rails"
6
+ elsif defined? ::Sprockets
7
+ require "bone_tree/sprockets"
8
+ end
9
+
1
10
  module BoneTree
2
- module Rails
3
- class Engine < ::Rails::Engine
4
- # Get rails to add app, lib, vendor to load path
5
- end
6
- end
7
- end
11
+
12
+ end
@@ -1,9 +1,10 @@
1
1
  - content_for :head do
2
2
  %title Bone Tree
3
3
 
4
- =javascript_include_tag "http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"
5
- =javascript_include_tag 'http://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.3.1/underscore-min.js'
6
- =javascript_include_tag "http://cdnjs.cloudflare.com/ajax/libs/backbone.js/0.9.0/backbone-min.js"
4
+ =javascript_include_tag 'jquery'
5
+ =javascript_include_tag 'underscore'
6
+ =javascript_include_tag 'backbone'
7
+ =javascript_include_tag "cornerstone"
7
8
  =javascript_include_tag 'bone_tree'
8
9
 
9
10
  .bone_tree.left
@@ -32,7 +33,7 @@
32
33
  tree = new BoneTree.Views.Tree
33
34
 
34
35
  # add a new file to the directory
35
- tree.file('source/main.js', {file: true})
36
+ tree.add('source/main.js', {file: true})
36
37
 
37
38
  # this creates the directory source if it doesn't already exist and puts the file main.js inside of it
38
39
 
@@ -56,385 +57,12 @@
56
57
  tree.bind 'openFile', (file) ->
57
58
  console.log file
58
59
 
59
- tree.file('file.coffee', {description: 'A CoffeeScript file'})
60
+ tree.add [
61
+ {path: 'file.coffee', description: 'A CoffeeScript file'}
62
+ {path: 'src/main.coffee', description: 'Main entry point'}
63
+ {path: 'src/nested/test.coffee', description: 'A nested file'}
64
+ ]
60
65
 
61
66
  $('.bone_tree').append tree.render().$el
62
67
 
63
- treeData = JSON.parse('{
64
- "name": "Pixteroids",
65
- "files": [
66
- {
67
- "name": "data",
68
- "files": [
69
- {
70
- "name": "asteroid",
71
- "contents": "super long JSON string",
72
- "extension": "animation",
73
- "lang": null,
74
- "type": "animation",
75
- "size": 645,
76
- "mtime": 1310024315,
77
- "path": "data/asteroid.animation"
78
- }, {
79
- "name": "asteroid_large",
80
- "contents": "super long JSON string",
81
- "extension": "animation",
82
- "lang": null,
83
- "type": "animation",
84
- "size": 1510,
85
- "mtime": 1307259412,
86
- "path": "data/asteroid_large.animation"
87
- }, {
88
- "name": "asteroid_small",
89
- "contents": "super long JSON string",
90
- "extension": "animation",
91
- "lang": null,
92
- "type": "animation",
93
- "size": 794,
94
- "mtime": 1307259338,
95
- "path": "data/asteroid_small.animation"
96
- }, {
97
- "name": "bullet",
98
- "contents": "super long JSON string",
99
- "extension": "animation",
100
- "lang": null,
101
- "type": "animation",
102
- "size": 467,
103
- "mtime": 1307427332,
104
- "path": "data/bullet.animation"
105
- }, {
106
- "name": "ship",
107
- "contents": "super long JSON string",
108
- "extension": "animation",
109
- "lang": null,
110
- "type": "animation",
111
- "size": 2200,
112
- "mtime": 1307584720,
113
- "path": "data/ship.animation"
114
- }
115
- ]
116
- }, {
117
- "name": "images",
118
- "files": [
119
- {
120
- "name": "background",
121
- "contents": null,
122
- "extension": "png",
123
- "lang": null,
124
- "type": "image",
125
- "size": 246772,
126
- "mtime": 1306478156,
127
- "path": "images/background.png"
128
- }, {
129
- "name": "black",
130
- "contents": null,
131
- "extension": "png",
132
- "lang": null,
133
- "type": "image",
134
- "size": 110,
135
- "mtime": 1316842913,
136
- "path": "images/black.png"
137
- }, {
138
- "name": "jh",
139
- "contents": null,
140
- "extension": "png",
141
- "lang": null,
142
- "type": "image",
143
- "size": 200,
144
- "mtime": 1313777010,
145
- "path": "images/jh.png"
146
- }
147
- ]
148
- }, {
149
- "name": "lib",
150
- "files": [
151
- {
152
- "name": "gamelib",
153
- "contents": "super long JSON string",
154
- "extension": "js",
155
- "lang": "javascript",
156
- "type": "text",
157
- "size": 715930,
158
- "mtime": 1307870400,
159
- "path": "lib/gamelib.js"
160
- }, {
161
- "name": "playtomic",
162
- "contents": "super long JSON string",
163
- "extension": "js",
164
- "lang": "javascript",
165
- "type": "text",
166
- "size": 75333,
167
- "mtime": 1318021411,
168
- "path": "lib/playtomic.js"
169
- }, {
170
- "name": "playtomic.v1.8.min",
171
- "contents": "super long JSON string",
172
- "extension": "js",
173
- "lang": "javascript",
174
- "type": "text",
175
- "size": 27346,
176
- "mtime": 1318021409,
177
- "path": "lib/playtomic.v1.8.min.js"
178
- }
179
- ]
180
- }, {
181
- "name": "sounds",
182
- "files": [
183
- {
184
- "name": "explode",
185
- "contents": "super long JSON string",
186
- "extension": "sfs",
187
- "hidden": true,
188
- "lang": null,
189
- "type": "sound",
190
- "size": 105,
191
- "mtime": 1310024363,
192
- "path": "sounds/explode.sfs"
193
- }, {
194
- "name": "explode",
195
- "contents": null,
196
- "extension": "wav",
197
- "hidden": true,
198
- "lang": null,
199
- "type": "binary",
200
- "size": 158270,
201
- "mtime": 1310024364,
202
- "path": "sounds/explode.wav"
203
- }, {
204
- "name": "kjkj",
205
- "contents": null,
206
- "extension": "wav",
207
- "lang": null,
208
- "type": "binary",
209
- "size": 189826,
210
- "mtime": 1313777037,
211
- "path": "sounds/kjkj.wav"
212
- }, {
213
- "name": "kjkj",
214
- "contents": "super long JSON string",
215
- "extension": "sfs",
216
- "lang": null,
217
- "type": "sound",
218
- "size": 105,
219
- "mtime": 1313777036,
220
- "path": "sounds/kjkj.sfs"
221
- }, {
222
- "name": "pew",
223
- "contents": null,
224
- "extension": "wav",
225
- "lang": null,
226
- "type": "binary",
227
- "size": 7682,
228
- "mtime": 1306994836,
229
- "path": "sounds/pew.wav"
230
- }, {
231
- "name": "pew",
232
- "contents": "super long JSON string",
233
- "extension": "sfs",
234
- "lang": null,
235
- "type": "sound",
236
- "size": 105,
237
- "mtime": 1306994830,
238
- "path": "sounds/pew.sfs"
239
- }, {
240
- "name": "thrust",
241
- "contents": "super long JSON string",
242
- "extension": "sfs",
243
- "lang": null,
244
- "type": "sound",
245
- "size": 105,
246
- "mtime": 1306995050,
247
- "path": "sounds/thrust.sfs"
248
- }, {
249
- "name": "thrust",
250
- "contents": null,
251
- "extension": "wav",
252
- "lang": null,
253
- "type": "binary",
254
- "size": 26582,
255
- "mtime": 1306995056,
256
- "path": "sounds/thrust.wav"
257
- }
258
- ]
259
- }, {
260
- "name": "src",
261
- "files": [
262
- {
263
- "name": "asteroid",
264
- "contents": "super long JSON string",
265
- "extension": "coffee",
266
- "lang": "coffeescript",
267
- "type": "text",
268
- "size": 2373,
269
- "mtime": 1307762048,
270
- "path": "src/asteroid.coffee"
271
- }, {
272
- "name": "base",
273
- "contents": "super long JSON string",
274
- "extension": "coffee",
275
- "lang": "coffeescript",
276
- "type": "text",
277
- "size": 302,
278
- "mtime": 1307711140,
279
- "path": "src/base.coffee"
280
- }, {
281
- "name": "bullet",
282
- "contents": "super long JSON string",
283
- "extension": "coffee",
284
- "lang": "coffeescript",
285
- "type": "text",
286
- "size": 106,
287
- "mtime": 1307712094,
288
- "path": "src/bullet.coffee"
289
- }, {
290
- "name": "main",
291
- "contents": "super long JSON string",
292
- "extension": "coffee",
293
- "lang": "coffeescript",
294
- "type": "text",
295
- "size": 543,
296
- "mtime": 1321258568,
297
- "path": "src/main.coffee"
298
- }, {
299
- "name": "ship",
300
- "contents": "super long JSON string",
301
- "extension": "coffee",
302
- "lang": "coffeescript",
303
- "type": "text",
304
- "size": 1602,
305
- "mtime": 1307783232,
306
- "path": "src/ship.coffee"
307
- }, {
308
- "name": "wrappable",
309
- "contents": "super long JSON string",
310
- "extension": "coffee",
311
- "lang": "coffeescript",
312
- "type": "text",
313
- "size": 110,
314
- "mtime": 1307601644,
315
- "path": "src/wrappable.coffee"
316
- }
317
- ]
318
- }, {
319
- "name": "webstore",
320
- "files": [
321
- {
322
- "name": "images",
323
- "files": [
324
- {
325
- "name": "icon_128",
326
- "contents": null,
327
- "extension": "png",
328
- "lang": null,
329
- "type": "image",
330
- "size": 7960,
331
- "mtime": 1324715561,
332
- "path": "webstore/images/icon_128.png"
333
- }, {
334
- "name": "icon_16",
335
- "contents": null,
336
- "extension": "png",
337
- "lang": null,
338
- "type": "image",
339
- "size": 892,
340
- "mtime": 1324715561,
341
- "path": "webstore/images/icon_16.png"
342
- }, {
343
- "name": "icon_96",
344
- "contents": null,
345
- "extension": "png",
346
- "lang": null,
347
- "type": "image",
348
- "size": 7164,
349
- "mtime": 1324715561,
350
- "path": "webstore/images/icon_96.png"
351
- }
352
- ]
353
- }, {
354
- "name": "jquery.min",
355
- "contents": "super long JSON string",
356
- "extension": "js",
357
- "lang": "javascript",
358
- "type": "text",
359
- "size": 91341,
360
- "mtime": 1324715561,
361
- "path": "webstore/jquery.min.js"
362
- }, {
363
- "name": "main",
364
- "contents": "super long JSON string",
365
- "extension": "html",
366
- "lang": "html",
367
- "type": "text",
368
- "size": 463,
369
- "mtime": 1324715561,
370
- "path": "webstore/main.html"
371
- }, {
372
- "name": "project",
373
- "contents": "super long JSON string",
374
- "extension": "css",
375
- "lang": "css",
376
- "type": "text",
377
- "size": 3356,
378
- "mtime": 1324715561,
379
- "path": "webstore/project.css"
380
- }
381
- ]
382
- }, {
383
- "name": "Documentation",
384
- "extension": "documentation",
385
- "path": "docs"
386
- }, {
387
- "name": "Pixteroids",
388
- "contents": null,
389
- "extension": "js",
390
- "lang": "javascript",
391
- "type": "binary",
392
- "size": 725960,
393
- "mtime": 1313777080,
394
- "path": "Pixteroids.js"
395
- }, {
396
- "name": "README",
397
- "contents": "super long JSON string",
398
- "extension": "",
399
- "lang": null,
400
- "type": "text",
401
- "size": 83,
402
- "mtime": 1305349550,
403
- "path": "README"
404
- }, {
405
- "name": "Tutorial",
406
- "contents": "http://blog.pixieengine.com/2011/06/asteroids/",
407
- "extension": "tutorial",
408
- "lang": null,
409
- "type": "tutorial",
410
- "size": 46,
411
- "mtime": 1307864630,
412
- "path": "Tutorial.tutorial"
413
- }, {
414
- "name": "manifest",
415
- "contents": "super long JSON string",
416
- "extension": "json",
417
- "lang": "javascript",
418
- "type": "json",
419
- "size": 363,
420
- "mtime": 1324715561,
421
- "path": "manifest.json"
422
- }, {
423
- "name": "pixie",
424
- "contents": "super long JSON string",
425
- "extension": "json",
426
- "lang": "javascript",
427
- "type": "json",
428
- "size": 254,
429
- "mtime": 1307595452,
430
- "path": "pixie.json"
431
- }
432
- ]
433
- }')
434
68
 
435
- tree.addFromJSON treeData, '', (fileName, fileData) ->
436
- allowFile = true
437
-
438
- allowFile = false if fileData.type is 'binary'
439
-
440
- return allowFile