1 $group
2 var itemUtils = {}
3 set itemUtils.cloneItem
4 function
5 param item
6 var cloned
7 {
8 @ name item.name
9 @ basename item.basename
10 @ dirname item.dirname
11 @ path item.path
12 @ isFolder item.isFolder
13 @ schema item.schema
14 @ isIttfDocument item.isIttfDocument
15 @ isFragment item.isFragment
16 @ content item.content
17 [ children
18 foreach child in item.children
19 _ cloned.children.push
20 _ itemUtils.cloneItem
21 @ child
22 return cloned
23 set itemUtils.setDirname
24 function
25 param item
26 param newDirname
27 set item.dirname = newDirname
28 set item.path = newDirname + '/' + item.basename
29 if item.children && item.children.length > 0
30 foreach child in item.children
31 _ itemUtils.setDirname
32 @ child
33 @ item.path
34 set itemUtils.rename
35 function
36 param item
37 param newName
38 var newItem
39 _ wz.fs.infoByPath
40 @ item.dirname + '/' + newName
41 @ item.isFolder
42 set item.name = newItem.name
43 set item.basename = newItem.basename
44 set item.dirname = newItem.dirname
45 set item.path = newItem.path
46 set item.isFolder = newItem.isFolder
47 if item.isFolder == false
48 set item.schema = newItem.schema
49 set item.isIttfDocument = newItem.isIttfDocument
50 set item.isFragment = newItem.isFragment
51 log 'itemUtils.rename.renamed', item