如何计算SharePoint库/列表中的新项目数?

时间:2015-01-08 13:24:18

标签: javascript css sharepoint

在SharePoint Online中,库中的新文档有一个绿色符号。我发现这个课被称为“ms-newdocument-icon'”。如何检查文档库中有多少项具有ms-newdocument-icons类?

<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>

1 个答案:

答案 0 :(得分:0)

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

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

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