2015-01-08 45 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查詢。