在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查询。