예제 #1
0
def containerListJson(treeItemToPopulate, checkedItems = []):
    #print 'list in dirlist:',treeItemToPopulate.listNamedChildren()
    en = libs.platform.services.getEncodingService()
    r=[]
    try:
        d = treeItemToPopulate.listNamedChildren()
        for f in d:
            #print f, r
            itemId = f
            #not needed if jstree support ":"
            itemId = stringTools.jsIdEncoding(f)
            ff=treeItemToPopulate.getChildAbsPath(f)
            #print 'before get is container'
            
            if itemId in checkedItems:
                item["class"] = "jstree-checked"
            else:
                item = {}
            item["attr"] = {"id":itemId}
            item["data"] = d[f]
            item["fullPath"] = f
            if treeItemToPopulate.isContainer(ff):
                #r.append(u'<li id="%s" class="%s">%s</li>' % (itemId,itemClassWithCheckState,i))
                item["children"] = []
                item["state"] = "closed"

            r.append(item)
           #break
    except IOError:#Exception,e:
        r.append(u'<li id="%s" class="jstree-closed">Could not load directory: %s</a></li>' % str(e))
    #print json.dumps(r, indent = 4)
    return json.dumps(r, indent = 4)
예제 #2
0
def containerList(treeItemToPopulate, content = None, itemClass = "jstree-closed", checkedItems = []):
    print 'list in dirlist:',treeItemToPopulate.listNamedChildren()
    en = libs.platform.services.getEncodingService()
    try:
        r=[]
        d = treeItemToPopulate.listNamedChildren()
        for f in d:
            itemId = f
            #not needed if jstree support ":"
            itemId = stringTools.jsIdEncoding(f)
            ff=treeItemToPopulate.getChildAbsPath(f)
            if content is None:
                i = u'<a href="#">%s</a>'%d[f]
            else:
                i = content%{'id':itemId, 'name':d[f]}
            #print 'before get is container'
            if itemId in checkedItems:
                itemClassWithCheckState = itemClass + " jstree-checked"
            else:
                itemClassWithCheckState = itemClass
            if treeItemToPopulate.isContainer(ff):
                r.append(u'<li id="%s" class="%s">%s</li>' % (itemId,itemClassWithCheckState,i))
            else:
                #e=treeItemToPopulate.getChildType(ff)
                r.append(u'<li id="%s">%s</li>' % (itemId,i))
            #break
    except IOError:#Exception,e:
        r.append(u'<li id="%s" class="jstree-closed">Could not load directory: %s</a></li>' % str(e))
    return u''.join(r)
예제 #3
0
def containerListJson(treeItemToPopulate, start, cnt, isTree = False, req = None, checkedItems = []):
    #print 'list in dirlist:',treeItemToPopulate.listNamedChildren(start, cnt, isTree)
    #en = libs.platform.services.getEncodingService()
    r=[]
    dbSys = req.getDbSys()
    t = tagSys.getTagSysObj(dbSys)
    try:
        d = treeItemToPopulate.listNamedChildren(start, cnt, isTree)
        ncl("list children: ", start, cnt)
        for f in d:
            #print f, r
            itemId = f
            #not needed if jstree support ":"
            itemId = stringTools.jsIdEncoding(f)
            #print 'before get is container'
            encoded = urllib.quote(encodingTools.translateToPageEncoding(f))
            item = {}
            if itemId in checkedItems:
                item["class"] = "jstree-checked"
            else:
                item = {}
            item["attr"] = {"id":itemId}
            item["data"] = d[f]
            item["fullPath"] = f
            item["utf8FullPath"] = encoded
            if treeItemToPopulate.isChildContainer(f):
                #r.append(u'<li id="%s" class="%s">%s</li>' % (itemId,itemClassWithCheckState,i))
                item["children"] = []
                item["state"] = "closed"
            if not isTree:
                #print f
                #print 'getting tree --------------------------', f
                try:
                    tList = t.getTags(f)
                except:
                    tList = []
                item["tags"] = tList
            r.append(item)
            #break
    except IOError, e:#Exception,e:
        item = {}
        item["data"] = str(e)
        r.append(item)
예제 #4
0
def containerListJson(treeItemToPopulate, start, cnt, isTree = False, req = None, checkedItems = []):
    #print 'list in dirlist:',treeItemToPopulate.listNamedChildren()
    #en = libs.platform.services.getEncodingService()
    r=[]
    try:
        d = treeItemToPopulate.listNamedChildren(start, cnt, isTree)
        for f in d:
            #print f, r
            itemId = f
            #not needed if jstree support ":"
            itemId = stringTools.jsIdEncoding(f)
            ff=treeItemToPopulate.getChildAbsPath(f)
            #print 'before get is container'
            encoded = urllib.quote(encodingTools.translateToPageEncoding(f))
            if itemId in checkedItems:
                item["class"] = "jstree-checked"
            else:
                item = {}
            item["attr"] = {"id":itemId}
            item["data"] = d[f]
            item["fullPath"] = f
            item["utf8FullPath"] = encoded
            if treeItemToPopulate.isContainer(ff):
                #r.append(u'<li id="%s" class="%s">%s</li>' % (itemId,itemClassWithCheckState,i))
                item["children"] = []
                item["state"] = "closed"
            if not isTree:
                t = tagSys.getTagSysObj(req.getDbSys())
                tList = t.getTags(f)
                item["tags"] = tList
            r.append(item)
            #break
    except IOError:#Exception,e:
        r.append(u'<li id="%s" class="jstree-closed">Could not load directory: %s</a></li>' % str(e))
    #print json.dumps(r, indent = 4)
    return json.dumps(r, indent = 4)