diff --git a/modules/docs/src/Volo.Docs.Admin.Web/Pages/Docs/Admin/Documents/index.js b/modules/docs/src/Volo.Docs.Admin.Web/Pages/Docs/Admin/Documents/index.js
index cbebb280cb..85c1ebc7be 100644
--- a/modules/docs/src/Volo.Docs.Admin.Web/Pages/Docs/Admin/Documents/index.js
+++ b/modules/docs/src/Volo.Docs.Admin.Web/Pages/Docs/Admin/Documents/index.js
@@ -5,122 +5,107 @@ $(function () {
var getFormattedDate = function ($datePicker) {
return $datePicker.data().datepicker.getFormattedDate('yyyy-mm-dd');
};
-
+
var comboboxItems = [];
+
service.getFilterItems()
.then(function (result) {
- comboboxItems = result;
- fillOptions();
+ comboboxItems = result;
+ fillOptions();
}).catch(function (error) {
- abp.message.error(error);
- });
+ abp.message.error(error);
+ });
+
+
+ var $projectId = $('#ProjectId');
+
+ $projectId.on('change', function () {
+ fillOptions();
+ });
+
+ var comboboxs = {
+ version: $('#Version'),
+ languageCode: $('#LanguageCode'),
+ format: $('#Format')
+ };
+ for (var key in comboboxs) {
+ comboboxs[key].on('change', function () {
+ fillOptions();
+ });
+ }
+
+
+ var selectedItem = getSelectedItem();
+
+ function emptyComboboxs() {
+ for (var key in comboboxs) {
+ comboboxs[key].empty();
+ }
+ }
+ function getSelectedItem() {
+ var item = {};
+ for (var key in comboboxs) {
+ item[key] = comboboxs[key].val();
+ }
+ return item;
+ }
- var $projectId = $('#ProjectId');
- var $version = $('#Version');
- var $languageCode = $('#LanguageCode');
- var $format = $('#Format');
+ function SetComboboxsValues(item) {
+ for (var key in comboboxs) {
+ comboboxs[key].val(item[key]);
+ }
+ }
+ function addComboboxsEmptyItem() {
+ for (var key in comboboxs) {
+ comboboxs[key].append($('').val('').text(''));
+ }
+ }
+
function fillOptions() {
- var selectedVersion = $version.val();
- var selectedLanguageCode = $languageCode.val();
- var selectedFormat = $format.val();
+
+ selectedItem = getSelectedItem();
+
var selectedProjectId = $projectId.val();
- $version.empty();
- $languageCode.empty();
- $format.empty();
+ emptyComboboxs();
- $version.append($('').val(''));
- $languageCode.append($('').val(''));
- $format.append($('').val(''));
+ addComboboxsEmptyItem();
+ var selectedProjectItems = comboboxItems.filter((item) => !selectedProjectId || item.projectId === selectedProjectId);
- comboboxItems.forEach(function (item) {
- if (!selectedProjectId || item.projectId === selectedProjectId) {
- appendVersion(item,selectedVersion,selectedLanguageCode,selectedFormat);
- appendLanguageCode(item,selectedLanguageCode,selectedVersion,selectedFormat);
- appendFormat(item,selectedFormat,selectedVersion,selectedLanguageCode);
+ for (var key in selectedItem) {
+ var item = selectedProjectItems.find((item) => item[key] === selectedItem[key]);
+ if (item) {
+ selectedItem[key] = item[key];
+ }else {
+ selectedItem[key] = '';
}
- });
-
- }
- function appendFormat(item,selectedFormat,selectedVersion,selectedLanguageCode) {
- if(selectedVersion && selectedVersion !== item.version) {
- return;
- }
- if(selectedLanguageCode && selectedLanguageCode !== item.languageCode) {
- return;
}
+
- if($format.find('option[value="' + item.format + '"]').length === 0) {
- var formatOption = $('').val(item[key]).text(item[key]));
}
}
- $projectId.on('change', function () {
- fillOptions();
- });
-
- $version.on('change', function () {
- fillOptions();
- });
-
- $languageCode.on('change', function () {
- fillOptions();
- });
-
- $format.on('change', function () {
- fillOptions();
- });
-
var getFilter = function () {
return {
projectId: $('#ProjectId').val(),