diff options
author | Armen Kesablyan | 2012-02-22 16:26:41 -0800 |
---|---|---|
committer | Armen Kesablyan | 2012-02-22 16:26:41 -0800 |
commit | 0bd1cefea2ab350fad1a891bdc926053b799aafc (patch) | |
tree | 962f559fcc02a3dfeb297d59907e40fa153453f3 /js/lib/NJUtils.js | |
parent | 695bc5082f48dddf66ce31480a4faefc067b38bd (diff) | |
parent | 2d2b1af8b5c0d506fe6a1cf65614101fec145970 (diff) | |
download | ninja-0bd1cefea2ab350fad1a891bdc926053b799aafc.tar.gz |
Merge branch 'refs/heads/master' into new-tool-icons
Diffstat (limited to 'js/lib/NJUtils.js')
-rwxr-xr-x[-rw-r--r--] | js/lib/NJUtils.js | 40 |
1 files changed, 39 insertions, 1 deletions
diff --git a/js/lib/NJUtils.js b/js/lib/NJUtils.js index 0e886ae7..887743c5 100644..100755 --- a/js/lib/NJUtils.js +++ b/js/lib/NJUtils.js | |||
@@ -5,6 +5,7 @@ No rights, expressed or implied, whatsoever to this software are provided by Mot | |||
5 | </copyright> */ | 5 | </copyright> */ |
6 | 6 | ||
7 | var Montage = require("montage/core/core").Montage, | 7 | var Montage = require("montage/core/core").Montage, |
8 | Uuid = require("montage/core/uuid").Uuid, | ||
8 | ElementModel = require("js/models/element-model").ElementModel, | 9 | ElementModel = require("js/models/element-model").ElementModel, |
9 | Properties3D = require("js/models/properties-3d").Properties3D, | 10 | Properties3D = require("js/models/properties-3d").Properties3D, |
10 | ShapeModel = require("js/models/shape-model").ShapeModel, | 11 | ShapeModel = require("js/models/shape-model").ShapeModel, |
@@ -56,13 +57,18 @@ exports.NJUtils = Object.create(Object.prototype, { | |||
56 | 57 | ||
57 | ///// Quick "createElement" function "attr" can be classname or object | 58 | ///// Quick "createElement" function "attr" can be classname or object |
58 | ///// with attribute key/values | 59 | ///// with attribute key/values |
60 | ///// Suppor for data attributes | ||
59 | make : { | 61 | make : { |
60 | value: function(tag, attr) { | 62 | value: function(tag, attr) { |
61 | var el = document.createElement(tag); | 63 | var el = document.createElement(tag); |
62 | if (typeof attr === 'object') { | 64 | if (typeof attr === 'object') { |
63 | for (var a in attr) { | 65 | for (var a in attr) { |
64 | if (attr.hasOwnProperty(a)) { | 66 | if (attr.hasOwnProperty(a)) { |
65 | el[a] = attr[a]; | 67 | if(a.indexOf("data-") > -1) { |
68 | el.setAttribute(a, attr[a]); | ||
69 | } else { | ||
70 | el[a] = attr[a]; | ||
71 | } | ||
66 | } | 72 | } |
67 | } | 73 | } |
68 | } else if (typeof attr === 'string') { | 74 | } else if (typeof attr === 'string') { |
@@ -227,8 +233,40 @@ exports.NJUtils = Object.create(Object.prototype, { | |||
227 | ///// Return the last part of a path (e.g. filename) | 233 | ///// Return the last part of a path (e.g. filename) |
228 | getFileNameFromPath : { | 234 | getFileNameFromPath : { |
229 | value: function(path) { | 235 | value: function(path) { |
236 | path = path.replace(/[/\\]$/g,""); | ||
237 | path = path.replace(/\\/g,"/"); | ||
230 | return path.substr(path.lastIndexOf('/') + 1); | 238 | return path.substr(path.lastIndexOf('/') + 1); |
231 | } | 239 | } |
240 | }, | ||
241 | /*** | ||
242 | * file name validation | ||
243 | */ | ||
244 | isValidFileName:{ | ||
245 | value: function(fileName){ | ||
246 | var status = false; | ||
247 | if(fileName !== ""){ | ||
248 | fileName = fileName.replace(/^\s+|\s+$/g,""); | ||
249 | status = !(/[/\\]/g.test(fileName)); | ||
250 | if(status && navigator.userAgent.indexOf("Macintosh") != -1){//for Mac files beginning with . are hidden | ||
251 | status = !(/^\./g.test(fileName)); | ||
252 | } | ||
253 | } | ||
254 | return status; | ||
255 | } | ||
256 | }, | ||
257 | |||
258 | /* ================= misc methods ================= */ | ||
259 | |||
260 | // Generates an alpha-numeric random number | ||
261 | // len: number of chars | ||
262 | // default length is '8' | ||
263 | generateRandom: { | ||
264 | value: function(len) { | ||
265 | var length; | ||
266 | len ? length = len : length = 8; | ||
267 | |||
268 | return Uuid.generate().substring(0,length); | ||
269 | } | ||
232 | } | 270 | } |
233 | 271 | ||
234 | }); | 272 | }); |