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

最佳答案

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

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


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

10-02 22:11