From fa99c2a70717e3b3897e59187984ccb414eb947c Mon Sep 17 00:00:00 2001 From: guofeilong Date: Tue, 18 Apr 2023 14:40:13 +0800 Subject: [PATCH] * Code for task #91379 . --- module/doc/css/view.css | 6 ++++ module/doc/js/view.js | 61 +++++++++++++++++++++++++++++--- module/doc/view/content.html.php | 10 ++++-- 3 files changed, 69 insertions(+), 8 deletions(-) diff --git a/module/doc/css/view.css b/module/doc/css/view.css index be5fe10053..5e62f6160e 100644 --- a/module/doc/css/view.css +++ b/module/doc/css/view.css @@ -98,3 +98,9 @@ .user-time .icon-star {font-size: 12px; line-height: 1.8;} .user-time .icon-star:before {vertical-align: top;} +.btn-limit {position: relative;} +.btn-group {display: flex; align-items: center;} +#exchangeDiffBtn {font-size: 24px;} +.exchangeDiffGroup .right-dom {display: none;} +.exchangeDiffGroup.show-diff .right-dom {display: unset;} +.btn-limit {padding-left: 10px; padding-right: 20px;} diff --git a/module/doc/js/view.js b/module/doc/js/view.js index 56f8d9cf17..512f4cbbee 100644 --- a/module/doc/js/view.js +++ b/module/doc/js/view.js @@ -217,6 +217,27 @@ $(function() } else if(data.id == 'confirm') { + if(arrVersionDiff.length == 2) + { + var $btnGroup = $('#diffBtnGroup'); + $btnGroup.addClass('show-diff'); + var oldV = arrVersionDiff[0].version; + var newV = arrVersionDiff[1].version; + if(newV < oldV) + { + var tmpArr = [newV, oldV]; + newV = tmpArr[1]; + oldV = tmpArr[0]; + } + if(isVersionDiff) + { + var tmpArr = [newV, oldV]; + newV = tmpArr[1]; + oldV = tmpArr[0]; + } + var leftDom = $btnGroup.find('a.left-dom').html('V' + oldV + ''); + var rightDom = $btnGroup.find('a.right-dom').html('V' + newV + ''); + } $(this.closest('.open.btn-group')).removeClass('open'); } }).on('click', '#docVersionMenu .checkbox-primary', function() @@ -226,11 +247,24 @@ $(function() var data = $input.data(); if(isCheck) { - arrVersionDiff.push(data); + if(arrVersionDiff.length) + { + if(arrVersionDiff[0].version != data.version) arrVersionDiff.push(data); + } + else + { + arrVersionDiff[0] = data; + } } else { - if(arrVersionDiff[0].version === data.version) + if(arrVersionDiff.length == 0) return; + if(arrVersionDiff.length == 1) + { + arrVersionDiff = []; + return; + } + else if(arrVersionDiff[0].version === data.version) { var pushItem = arrVersionDiff[1]; } @@ -238,12 +272,11 @@ $(function() { var pushItem = arrVersionDiff[0]; } - var newArr = []; + var newArr = []; newArr.push(pushItem); arrVersionDiff = newArr; } - - refreshCheckbox() + refreshCheckbox(); }).on('click', '#hisTrigger', function() { var $history = $('#history'); @@ -262,6 +295,24 @@ $(function() { $('#history').addClass('hidden'); $('#hisTrigger').removeClass('text-primary'); + }).on('click', '#exchangeDiffBtn', function() + { + isVersionDiff = !isVersionDiff; + var $btn = $(this); + var $btnGroup = $btn.closest('#diffBtnGroup'); + var $leftBtn = $btnGroup.find('.btn-link.left-dom'); + var $rightBtn = $btnGroup.find('.btn-link.right-dom'); + var tmpArr = [$leftBtn.html(), $rightBtn.html()]; + $rightBtn.html(tmpArr[0]); + $leftBtn.html(tmpArr[1]); + if(isVersionDiff) + { + $btn.addClass('text-primary'); + } + else + { + $btn.removeClass('text-primary'); + } }); $('#outline li.has-list').addClass('open in'); diff --git a/module/doc/view/content.html.php b/module/doc/view/content.html.php index 7d3399812f..c2ed176b3e 100644 --- a/module/doc/view/content.html.php +++ b/module/doc/view/content.html.php @@ -14,9 +14,13 @@
version;?>