Sharepoint 2013 - Развернуть все / Свернуть все для группы по списку - PullRequest
0 голосов
/ 11 февраля 2020

У меня есть веб-часть списка с 2 уровнями Group By. Я пытаюсь добавить кнопку, чтобы развернуть или свернуть (переключить). Ожидание - даже если список частично расширен, нажатие на кнопку «Развернуть» должно развернуть все группы, а нажатие на «Свернуть» должно свернуть все группы.

Я пытался скопировать несколько кодов из net, но не являлся кодером, Я предполагаю, что не получаю желаемый результат.

Пример: использовал этот код, но он не переключает переключатель, а для частично открытого списка он закрывает открытые элементы и закрывает закрытые.

<script src="http://code.jquery.com/jquery-1.10.2.min.js" type="text/javascript"></script>
<script language="Javascript" type="text/Javascript">
    function collapseGroups() {
        $("img[id^='img_']").click();
    }
    function expandGroups() {
        $("img[id^='img_']").click();
    }
</script>
<input id="btnExpand1" onclick="expandGroups()" type="button" value="Expand All" />
<input id="btnExpand2" onclick="collapseGroups()" type="button" value="Collapse All" />

Ответы [ 2 ]

0 голосов
/ 11 февраля 2020

В SharePoint 2013 вы можете изменить код, как показано ниже.

<script src="https://code.jquery.com/jquery-1.12.4.min.js" type="text/javascript"></script>
<script type="text/javascript">
function collapseGroups() {
    $("img.ms-commentcollapse-icon").click();
}
function expandGroups() {
    $("img.ms-commentexpand-icon").click();
}
</script>
<input id="btnExpand1" onclick="expandGroups()" type="button" value="Expand All" />
<input id="btnExpand2" onclick="collapseGroups()" type="button" value="Collapse All" />
0 голосов
/ 11 февраля 2020

Все, что вам нужно, это получить все теги привязки, щелчок которых разворачивает или сворачивает группу (для определенной группы), затем итеративно вызывайте событие click (). Например,

$('.ms-listviewtable').find('tbody').each(function() {  //loop by id of your list view table
    if($(this).attr('id').indexOf('titl0-') > -1) { //for each 'tbody' with 'id' containing 'titl0' string, you can inspect the html of your list view table to see what id's are being formed' 
    //console.log($(this).attr('id'));
    var a = $(this).find('a');
    a.click();
     }
});

Вы можете установить флаг для отслеживания, если состояние в настоящее время 'Expanded' или 'Collapsed'.

...