2015-01-08 120 views
0

在SharePoint Online中,库中有新文档的绿色符号。我发现这个类被称为'ms-newdocument-icon'。我如何检查文档库中有多少项具有ms-newdocument-icons类?如何计算SharePoint库/列表中新项目的数量?

<script type="text/javascript"> 
var clientContext = null; 
var web = null; 
var listItems = null; 
var list = null; 

ExecuteOrDelayUntilScriptLoaded(Initialize, "sp.js"); 
function Initialize() 
{ 
    clientContext = new SP.ClientContext.get_current(); 
    web = clientContext.get_web(); 
    list = web.get_lists().getByTitle("Document"); 

    var camlQuery = new SP.CamlQuery(); 
    var q = "<View></View>"; 
    camlQuery.set_viewXml(q); 
    listItems = list.getItems(camlQuery); 
    clientContext.load(listItems); 

    clientContext.executeQueryAsync(onListItemsLoadSuccess, onQueryFailed); 
} 

    function onListItemsLoadSuccess(sender, args) { 
     var listItemEnumerator = listItems.getEnumerator(); 
     while(listItemEnumerator.moveNext()) { 
      var newItemsCount = null; 
      if() { //$(this).hasClass('ms-newdocument-icon'); 
      newItemsCount++; 
     } 
     $('#newItems').html(newItemsCount); 
    } 

    function onQueryFailed(sender, args) { 
    alert('request failed ' + args.get_message() + '\n' + args.get_stackTrace()); 
} 
</script> 

<div class="newItemsContent"> 
    <h2>New items:</h2> <h2 id="newItems"></h2> 
</div> 

回答

0

您提到的类仅用于指示在页面中呈现的HTML中的新项目。该图标不存储在列表项目数据(字段)中。您可以设置多少天的图标将显示使用该PS脚本新项目:

$wa = Get-SPWebAppication -Identity:http://webappurl 
$wa.DaysToShowNewIndicator = {SomeInteger} 
$wa.Update() 

因此,如果你想知道有多少文件/项目已由此图标显示你需要阅读该参数,然后使用它在你的CAML查询中。读取所有项目,然后检查它们是否在过去N天内创建,这不是个好主意。更好的方法是使用当前日期和DaysToShowNewIndicator值构造CAML查询。