aboutsummaryrefslogtreecommitdiff
path: root/js/components/tree.reel
diff options
context:
space:
mode:
Diffstat (limited to 'js/components/tree.reel')
-rwxr-xr-xjs/components/tree.reel/tree.css26
-rwxr-xr-xjs/components/tree.reel/tree.html28
-rwxr-xr-xjs/components/tree.reel/tree.js789
-rwxr-xr-xjs/components/tree.reel/treeDisclosure.pngbin995 -> 0 bytes
-rwxr-xr-xjs/components/tree.reel/treeFolderClosed.pngbin1345 -> 0 bytes
-rwxr-xr-xjs/components/tree.reel/treeFolderOpen.pngbin1323 -> 0 bytes
-rwxr-xr-xjs/components/tree.reel/treeItem.pngbin2935 -> 0 bytes
7 files changed, 0 insertions, 843 deletions
diff --git a/js/components/tree.reel/tree.css b/js/components/tree.reel/tree.css
deleted file mode 100755
index 8872341f..00000000
--- a/js/components/tree.reel/tree.css
+++ /dev/null
@@ -1,26 +0,0 @@
1/* <copyright>
2 This file contains proprietary software owned by Motorola Mobility, Inc.<br/>
3 No rights, expressed or implied, whatsoever to this software are provided by Motorola Mobility, Inc. hereunder.<br/>
4 (c) Copyright 2011 Motorola Mobility, Inc. All Rights Reserved.
5 </copyright> */
6
7.tree
8{
9 -webkit-user-select:none;
10 cursor:default;
11 float: left;
12 padding-left: 0;
13}
14
15.tree li
16{
17 -webkit-margin-before: 0px;
18 -webkit-margin-after: 0px;
19 list-style-type:none;
20}
21
22.tree li > text > img
23{
24 margin-right:8px;
25 -webkit-transition: -webkit-transform 0.05s linear;
26} \ No newline at end of file
diff --git a/js/components/tree.reel/tree.html b/js/components/tree.reel/tree.html
deleted file mode 100755
index 66838d82..00000000
--- a/js/components/tree.reel/tree.html
+++ /dev/null
@@ -1,28 +0,0 @@
1<!DOCTYPE HTML>
2<!-- <copyright>
3 This file contains proprietary software owned by Motorola Mobility, Inc.<br/>
4 No rights, expressed or implied, whatsoever to this software are provided by Motorola Mobility, Inc. hereunder.<br/>
5 (c) Copyright 2011 Motorola Mobility, Inc. All Rights Reserved.
6 </copyright> -->
7<html>
8<head>
9 <meta http-equiv="content-type" content="text/html; charset=utf-8" />
10 <script type="text/montage-serialization">
11 {
12 "owner": {
13 "module": "js/components/tree.reel",
14 "name": "Tree",
15 "properties": {
16 "element": {"#": "tree"}
17 }
18 }
19
20 }
21 </script>
22
23</head>
24<body>
25<ul id="tree" class="tree">
26</ul>
27</body>
28</html> \ No newline at end of file
diff --git a/js/components/tree.reel/tree.js b/js/components/tree.reel/tree.js
deleted file mode 100755
index 7084ba99..00000000
--- a/js/components/tree.reel/tree.js
+++ /dev/null
@@ -1,789 +0,0 @@
1/* <copyright>
2This file contains proprietary software owned by Motorola Mobility, Inc.<br/>
3No rights, expressed or implied, whatsoever to this software are provided by Motorola Mobility, Inc. hereunder.<br/>
4(c) Copyright 2011 Motorola Mobility, Inc. All Rights Reserved.
5</copyright> */
6
7var Montage = require("montage/core/core").Montage;
8var Component = require("montage/ui/component").Component;
9var nj = require("js/lib/NJUtils").NJUtils;
10
11exports.Tree = Montage.create(Component, {
12
13 _treeDepth: {
14 value: 1
15 },
16 treeDepth: {
17 get: function() {
18 return this._treeDepth;
19 },
20 set: function(value) {
21 this._treeDepth = value;
22 }
23 },
24 _depthHash: {
25 value: ""
26 },
27 depthHash: {
28 get: function() {
29 return this._depthHash;
30 },
31 set: function(strValue) {
32 this._depthHash = strValue;
33 }
34 },
35 _firstLevel: {
36 value: true
37 },
38 firstLevel: {
39 get: function() {
40 return this._firstLevel;
41 },
42 set: function(value) {
43 this._firstLevel = value;
44 }
45 },
46
47 _hasFocus: {
48 enumerable: false,
49 value: false
50 },
51
52 _selectedNode: {
53 enumerable: false,
54 value: null
55 },
56
57 _selectedNodes: {
58 enumerable: false,
59 value: null
60 },
61
62 _dataProvider: {
63 enumerable: false,
64 value: null
65 },
66
67 dataProvider: {
68 enumerable: true,
69 get: function() {
70 return this._dataProvider;
71 },
72 set: function(dp) {
73 this._dataProvider = dp.documentElement;
74 this.needsDraw = true;
75 }
76 },
77
78 _jsonData: {
79 enumerable: false,
80 value: null
81 },
82
83 jsonData: {
84 enumerable: true,
85 get: function() {
86 return this._jsonData;
87 },
88 set: function(jsonObject) {
89 this._jsonData = jsonObject;
90 this.needsDraw = true;
91 }
92 },
93
94 _traverseJson: {
95 value: function(jsonObject, parentElement, intCounter) {
96 var newLi = document.createElement("li"),
97 fileSpan = document.createElement("span"),
98 spaceSpan = document.createElement("span"),
99 nameSpan = document.createElement("span"),
100 sizeSpan = document.createElement("span"),
101 dateSpan = document.createElement("span"),
102 clearSpan = document.createElement("span"),
103 containerSpan = document.createElement("span"),
104 textName = document.createTextNode(jsonObject.name),
105 textSize = "",
106 textDate = "",
107 textSpace = document.createTextNode("\u00A0"),
108 indent = this.treeDepth * 18,
109 strIndent = indent + "px",
110 extension = jsonObject.name.split(".").pop(),
111 makeFriendlySize = function(intSize) {
112 var strSize = false,
113 intRoundedSize = Math.round(intSize/1000);
114 strSize = intRoundedSize + " K";
115 return strSize;
116 },
117 makeFriendlyDate = function(intSeconds) {
118 // TODO: Localization.
119 var myDate = new Date(intSeconds),
120 strDate = "";
121 strDate = (myDate.getMonth() + 1) + "/"
122 + myDate.getDate() + "/"
123 + myDate.getFullYear() + " "
124 + myDate.toLocaleTimeString();
125 return strDate;
126 }
127
128 // File or directory?
129 if (jsonObject.type === "file") {
130 // Build file item:
131 // Create li, give it attributes and event listeners
132 // and then append it to the DOM
133 // Markup is a little complex in order to handle indention and columns.
134
135
136 textSize = document.createTextNode(makeFriendlySize(jsonObject.size));
137 fileSpan.setAttribute("class", "pp-col-files");
138 sizeSpan.setAttribute("class", "pp-col-size");
139 sizeSpan.appendChild(textSize);
140 spaceSpan.setAttribute("class", "span-space");
141 spaceSpan.appendChild(textSpace);
142 spaceSpan.style.width = strIndent;
143 clearSpan.setAttribute("class", "clear");
144 fileSpan.appendChild(spaceSpan);
145 fileSpan.appendChild(textName);
146
147 dateSpan.setAttribute("class", "pp-col-date");
148 textDate = document.createTextNode(makeFriendlyDate(parseInt(jsonObject.modifiedDate)));
149 dateSpan.appendChild(textDate);
150
151 // Append elements in order
152 containerSpan.appendChild(fileSpan);
153 containerSpan.appendChild(dateSpan);
154 containerSpan.appendChild(sizeSpan);
155
156 containerSpan.appendChild(clearSpan);
157 containerSpan.setAttribute("tabindex", 0);
158 containerSpan.setAttribute("class", "pp-span-all");
159 newLi.appendChild(containerSpan);
160
161 // Loop through the JSON properties and set them as data attributes on the element
162 for (var property in jsonObject) {
163 var newAttribute = "data-" + property;
164 newLi.setAttribute(newAttribute, jsonObject[property]);
165 }
166
167 // Set depth hash data
168 newLi.setAttribute("data-depthhash", this.depthHash + "" + intCounter);
169
170 // We also need to set the class of the element
171 newLi.setAttribute("class", jsonObject.type);