diff --git a/modules/docs/.prettierrc b/modules/docs/.prettierrc new file mode 100644 index 0000000000..7d1b8aa721 --- /dev/null +++ b/modules/docs/.prettierrc @@ -0,0 +1,4 @@ +{ + "singleQuote": true, + "useTabs": true +} 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 dc77bbc687..03d6fee850 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 @@ -1,164 +1,178 @@ $(function () { + var l = abp.localization.getResource('Docs'); + var service = window.volo.docs.admin.documentsAdmin; - var l = abp.localization.getResource('Docs'); - var service = window.volo.docs.admin.documentsAdmin; + var getFormattedDate = function ($datePicker) { + return $datePicker.data().datepicker.getFormattedDate('yyyy-mm-dd'); + }; - var getFormattedDate = function ($datePicker) { - return $datePicker.data().datepicker.getFormattedDate("yyyy-mm-dd"); - }; + var getFilter = function () { + return { + projectId: $('#ProjectId').val(), + name: $('#Name').val(), + version: $('#Version').val(), + languageCode: $('#LanguageCode').val(), + fileName: $('#FileName').val(), + format: $('#Format').val(), + creationTimeMin: getFormattedDate($('#CreationTimeMin')), + creationTimeMax: getFormattedDate($('#CreationTimeMax')), + lastUpdatedTimeMin: getFormattedDate($('#LastUpdatedTimeMin')), + lastUpdatedTimeMax: getFormattedDate($('#LastUpdatedTimeMax')), + lastSignificantUpdateTimeMin: getFormattedDate( + $('#LastSignificantUpdateTimeMin') + ), + lastSignificantUpdateTimeMax: getFormattedDate( + $('#LastSignificantUpdateTimeMax') + ), + lastCachedTimeMin: getFormattedDate($('#LastCachedTimeMin')), + lastCachedTimeMax: getFormattedDate($('#LastCachedTimeMax')), + }; + }; - var getFilter = function () { - return { - projectId: $("#ProjectId").val(), - name: $("#Name").val(), - version: $("#Version").val(), - languageCode: $("#LanguageCode").val(), - fileName: $("#FileName").val(), - format: $("#Format").val(), - creationTimeMin: getFormattedDate($("#CreationTimeMin")), - creationTimeMax: getFormattedDate($("#CreationTimeMax")), - lastUpdatedTimeMin: getFormattedDate($("#LastUpdatedTimeMin")), - lastUpdatedTimeMax: getFormattedDate($("#LastUpdatedTimeMax")), - lastSignificantUpdateTimeMin: getFormattedDate($("#LastSignificantUpdateTimeMin")), - lastSignificantUpdateTimeMax: getFormattedDate($("#LastSignificantUpdateTimeMax")), - lastCachedTimeMin: getFormattedDate($("#LastCachedTimeMin")), - lastCachedTimeMax: getFormattedDate($("#LastCachedTimeMax")) - }; - }; + var dataTable = $('#DocumentsTable').DataTable( + abp.libs.datatables.normalizeConfiguration({ + processing: true, + serverSide: true, + scrollX: true, + paging: true, + searching: false, + autoWidth: false, + scrollCollapse: true, + ajax: abp.libs.datatables.createAjax(service.getAll, getFilter), + columnDefs: [ + { + rowAction: { + items: [ + { + text: l('RemoveFromCache'), + visible: abp.auth.isGranted('Docs.Admin.Documents'), + confirmMessage: function (data) { + return l('RemoveFromCacheConfirmation'); + }, + action: function (data) { + service.removeFromCache(data.record.id).then(function () { + abp.message.success(l('RemovedFromCache')); + dataTable.ajax.reload(); + }); + }, + }, + { + text: l('ReIndex'), + visible: abp.auth.isGranted('Docs.Admin.Documents'), + confirmMessage: function (data) { + return l('ReIndexDocumentConfirmation'); + }, + action: function (data) { + service.reindex(data.record.id).then(function () { + abp.message.success(l('ReindexCompleted')); + dataTable.ajax.reload(); + }); + }, + }, + { + text: l('DeleteFromDatabase'), + visible: abp.auth.isGranted('Docs.Admin.Documents'), + confirmMessage: function (data) { + return l('DeleteDocumentFromDbConfirmation'); + }, + action: function (data) { + service.deleteFromDatabase(data.record.id).then(function () { + abp.message.success(l('Deleted')); + dataTable.ajax.reload(); + }); + }, + }, + ], + }, + }, + { + target: 1, + data: 'name', + }, + { + target: 2, + data: 'version', + }, + { + target: 3, + data: 'languageCode', + }, + { + target: 4, + data: 'fileName', + }, + { + target: 5, + data: 'format', + }, + { + target: 6, + data: 'creationTime', + render: function (creationTime) { + if (!creationTime) { + return ''; + } - var dataTable = $('#DocumentsTable').DataTable(abp.libs.datatables.normalizeConfiguration({ - processing: true, - serverSide: true, - scrollX: true, - paging: true, - searching: false, - autoWidth: false, - scrollCollapse: true, - ajax: abp.libs.datatables.createAjax(service.getAll, getFilter), - columnDefs: [ - { - rowAction: { - items: - [ - { - text: l('RemoveFromCache'), - visible: abp.auth.isGranted('Docs.Admin.Documents'), - confirmMessage: function (data) { return l('RemoveFromCacheConfirmation'); }, - action: function (data) { - service.removeFromCache(data.record.id) - .then(function () { - abp.message.success(l('RemovedFromCache')); - dataTable.ajax.reload(); - }); - } - }, - { - text: l('ReIndex'), - visible: abp.auth.isGranted('Docs.Admin.Documents'), - confirmMessage: function (data) { return l('ReIndexDocumentConfirmation'); }, - action: function (data) { - service.reindex(data.record.id) - .then(function () { - abp.message.success(l('ReindexCompleted')); - dataTable.ajax.reload(); - }); - } - }, - { - text: l('DeleteFromDatabase'), - visible: abp.auth.isGranted('Docs.Admin.Documents'), - confirmMessage: function (data) { return l('DeleteDocumentFromDbConfirmation'); }, - action: function (data) { - service.deleteFromDatabase(data.record.id) - .then(function () { - abp.message.success(l('Deleted')); - dataTable.ajax.reload(); - }); - } - } - ] - } - }, - { - target: 1, - data: "name" - }, - { - target: 2, - data: "version" - }, - { - target: 3, - data: "languageCode" - }, - { - target: 4, - data: "fileName" - }, - { - target: 5, - data: "format" - }, - { - target: 6, - data: "creationTime", - render: function (creationTime) { - if (!creationTime) { - return ""; - } + var date = Date.parse(creationTime); + return new Date(date).toLocaleDateString( + abp.localization.currentCulture.name + ); + }, + }, + { + target: 7, + data: 'lastUpdatedTime', + render: function (lastUpdatedTime) { + if (!lastUpdatedTime) { + return ''; + } - var date = Date.parse(creationTime); - return (new Date(date)).toLocaleDateString(abp.localization.currentCulture.name); - } - }, - { - target: 7, - data: "lastUpdatedTime", - render: function (lastUpdatedTime) { - if (!lastUpdatedTime) { - return ""; - } + var date = Date.parse(lastUpdatedTime); + return new Date(date).toLocaleDateString( + abp.localization.currentCulture.name + ); + }, + }, + { + target: 8, + data: 'lastSignificantUpdateTime', + render: function (lastSignificantUpdateTime) { + if (!lastSignificantUpdateTime) { + return ''; + } - var date = Date.parse(lastUpdatedTime); - return (new Date(date)).toLocaleDateString(abp.localization.currentCulture.name); - } - }, - { - target: 8, - data: "lastSignificantUpdateTime", - render: function (lastSignificantUpdateTime) { - if (!lastSignificantUpdateTime) { - return ""; - } + var date = Date.parse(lastSignificantUpdateTime); + return new Date(date).toLocaleDateString( + abp.localization.currentCulture.name + ); + }, + }, + { + target: 9, + data: 'lastCachedTime', + render: function (lastCachedTime) { + if (!lastCachedTime) { + return ''; + } - var date = Date.parse(lastSignificantUpdateTime); - return (new Date(date)).toLocaleDateString(abp.localization.currentCulture.name); - } - }, - { - target: 9, - data: "lastCachedTime", - render: function (lastCachedTime) { - if (!lastCachedTime) { - return ""; - } + var date = Date.parse(lastCachedTime); + return new Date(date).toLocaleDateString( + abp.localization.currentCulture.name + ); + }, + }, + ], + }) + ); - var date = Date.parse(lastCachedTime); - return (new Date(date)).toLocaleDateString(abp.localization.currentCulture.name); - } - } - ] - })); - - $("#FilterForm input[type='text']").keypress(function (e) { - if (e.which === 13) { - dataTable.ajax.reload(); - } - }); - - $("#SearchButton").click(function (e) { - e.preventDefault(); - dataTable.ajax.reload(); - }); + $("#FilterForm input[type='text']").keypress(function (e) { + if (e.which === 13) { + dataTable.ajax.reload(); + } + }); + $('#SearchButton').click(function (e) { + e.preventDefault(); + dataTable.ajax.reload(); + }); }); diff --git a/modules/docs/src/Volo.Docs.Admin.Web/Pages/Docs/Admin/Projects/Pull.js b/modules/docs/src/Volo.Docs.Admin.Web/Pages/Docs/Admin/Projects/Pull.js index 8c62b5de34..db4fa9b662 100644 --- a/modules/docs/src/Volo.Docs.Admin.Web/Pages/Docs/Admin/Projects/Pull.js +++ b/modules/docs/src/Volo.Docs.Admin.Web/Pages/Docs/Admin/Projects/Pull.js @@ -1,23 +1,23 @@ var abp = abp || {}; $(function () { - abp.modals.projectPull = function () { - var initModal = function (publicApi, args) { - var $form = publicApi.getForm(); - var fg = $form.find("#PullDocument_Name").parent(); - var nameInput = fg.html(); + abp.modals.projectPull = function () { + var initModal = function (publicApi, args) { + var $form = publicApi.getForm(); + var fg = $form.find('#PullDocument_Name').parent(); + var nameInput = fg.html(); - $form.find("input:checkbox").change(function() { - if ($(this).prop("checked")) { - fg.html(""); - } else { - fg.html(nameInput); - } - }); - }; + $form.find('input:checkbox').change(function () { + if ($(this).prop('checked')) { + fg.html(''); + } else { + fg.html(nameInput); + } + }); + }; - return { - initModal: initModal - }; - }; -}); \ No newline at end of file + return { + initModal: initModal, + }; + }; +}); diff --git a/modules/docs/src/Volo.Docs.Admin.Web/Pages/Docs/Admin/Projects/create.js b/modules/docs/src/Volo.Docs.Admin.Web/Pages/Docs/Admin/Projects/create.js index bf06d0750d..1b78f44791 100644 --- a/modules/docs/src/Volo.Docs.Admin.Web/Pages/Docs/Admin/Projects/create.js +++ b/modules/docs/src/Volo.Docs.Admin.Web/Pages/Docs/Admin/Projects/create.js @@ -1,14 +1,12 @@ var abp = abp || {}; $(function () { - abp.modals.projectCreate = function () { - var initModal = function (publicApi, args) { - var $form = publicApi.getForm(); + abp.modals.projectCreate = function () { + var initModal = function (publicApi, args) { + var $form = publicApi.getForm(); + }; - - }; - - return { - initModal: initModal - } - }; -}); \ No newline at end of file + return { + initModal: initModal, + }; + }; +}); diff --git a/modules/docs/src/Volo.Docs.Admin.Web/Pages/Docs/Admin/Projects/edit.js b/modules/docs/src/Volo.Docs.Admin.Web/Pages/Docs/Admin/Projects/edit.js index 14987552fb..287ea898d7 100644 --- a/modules/docs/src/Volo.Docs.Admin.Web/Pages/Docs/Admin/Projects/edit.js +++ b/modules/docs/src/Volo.Docs.Admin.Web/Pages/Docs/Admin/Projects/edit.js @@ -1,14 +1,12 @@ var abp = abp || {}; $(function () { - abp.modals.projectEdit = function () { - var initModal = function (publicApi, args) { - var $form = publicApi.getForm(); + abp.modals.projectEdit = function () { + var initModal = function (publicApi, args) { + var $form = publicApi.getForm(); + }; - - }; - - return { - initModal: initModal - } - }; -}); \ No newline at end of file + return { + initModal: initModal, + }; + }; +}); diff --git a/modules/docs/src/Volo.Docs.Admin.Web/Pages/Docs/Admin/Projects/index.js b/modules/docs/src/Volo.Docs.Admin.Web/Pages/Docs/Admin/Projects/index.js index baf4c6b646..e7b57b116e 100644 --- a/modules/docs/src/Volo.Docs.Admin.Web/Pages/Docs/Admin/Projects/index.js +++ b/modules/docs/src/Volo.Docs.Admin.Web/Pages/Docs/Admin/Projects/index.js @@ -1,146 +1,155 @@ $(function () { + var l = abp.localization.getResource('Docs'); - var l = abp.localization.getResource('Docs'); + var _createModal = new abp.ModalManager({ + viewUrl: abp.appPath + 'Docs/Admin/Projects/Create', + modalClass: 'projectCreate', + }); - var _createModal = new abp.ModalManager({ - viewUrl: abp.appPath + 'Docs/Admin/Projects/Create', - modalClass: 'projectCreate' - }); + var _editModal = new abp.ModalManager({ + viewUrl: abp.appPath + 'Docs/Admin/Projects/Edit', + modalClass: 'projectEdit', + }); - var _editModal = new abp.ModalManager({ - viewUrl: abp.appPath + 'Docs/Admin/Projects/Edit', - modalClass: 'projectEdit' - }); + var _pullModal = new abp.ModalManager({ + viewUrl: abp.appPath + 'Docs/Admin/Projects/Pull', + modalClass: 'projectPull', + }); - var _pullModal = new abp.ModalManager({ - viewUrl: abp.appPath + 'Docs/Admin/Projects/Pull', - modalClass: 'projectPull' - }); + var _dataTable = $('#ProjectsTable').DataTable( + abp.libs.datatables.normalizeConfiguration({ + processing: true, + serverSide: true, + scrollX: true, + paging: true, + searching: false, + autoWidth: false, + scrollCollapse: true, + order: [[2, 'desc']], + ajax: abp.libs.datatables.createAjax( + volo.docs.admin.projectsAdmin.getList + ), + columnDefs: [ + { + rowAction: { + items: [ + { + text: l('Edit'), + visible: abp.auth.isGranted('Docs.Admin.Projects.Update'), + action: function (data) { + _editModal.open({ + Id: data.record.id, + }); + }, + }, + { + text: l('Delete'), + visible: abp.auth.isGranted('Docs.Admin.Projects.Delete'), + confirmMessage: function (data) { + return l('ProjectDeletionWarningMessage'); + }, + action: function (data) { + volo.docs.admin.projectsAdmin + .delete(data.record.id) + .then(function () { + _dataTable.ajax.reload(); + }); + }, + }, + { + text: l('Pull'), + visible: abp.auth.isGranted('Docs.Admin.Documents'), + action: function (data) { + _pullModal.open({ + Id: data.record.id, + }); + }, + }, + { + text: l('ClearCache'), + visible: abp.auth.isGranted('Docs.Admin.Documents'), + confirmMessage: function (data) { + return l('ClearCacheConfirmationMessage', data.record.name); + }, + action: function (data) { + volo.docs.admin.documentsAdmin + .clearCache({ projectId: data.record.id }) + .then(function () { + _dataTable.ajax.reload(); + }); + }, + }, + { + text: l('ReIndexProject'), + visible: abp.auth.isGranted('Docs.Admin.Documents'), + confirmMessage: function (data) { + return l( + 'ReIndexProjectConfirmationMessage', + data.record.name + ); + }, + action: function (data) { + volo.docs.admin.projectsAdmin + .reindex({ projectId: data.record.id }) + .then(function () { + abp.message.success( + l('SuccessfullyReIndexProject', data.record.name) + ); + }); + }, + }, + ], + }, + }, + { + target: 1, + data: 'name', + }, + { + target: 2, + data: 'shortName', + }, + { + target: 3, + data: 'documentStoreType', + }, + { + target: 4, + data: 'format', + render: function (data) { + if (data === 'md') { + return 'markdown'; + } + return data; + }, + }, + ], + }) + ); - var _dataTable = $('#ProjectsTable').DataTable(abp.libs.datatables.normalizeConfiguration({ - processing: true, - serverSide: true, - scrollX: true, - paging: true, - searching: false, - autoWidth: false, - scrollCollapse: true, - order: [[2, "desc"]], - ajax: abp.libs.datatables.createAjax(volo.docs.admin.projectsAdmin.getList), - columnDefs: [ - { - rowAction: { - items: - [ - { - text: l('Edit'), - visible: abp.auth.isGranted('Docs.Admin.Projects.Update'), - action: function (data) { - _editModal.open({ - Id: data.record.id - }); - } - }, - { - text: l('Delete'), - visible: abp.auth.isGranted('Docs.Admin.Projects.Delete'), - confirmMessage: function (data) { return l('ProjectDeletionWarningMessage') }, - action: function (data) { - volo.docs.admin.projectsAdmin - .delete(data.record.id) - .then(function () { - _dataTable.ajax.reload(); - }); - } - }, - { - text: l('Pull'), - visible: abp.auth.isGranted('Docs.Admin.Documents'), - action: function (data) { - _pullModal.open({ - Id: data.record.id - }); - } - }, - { - text: l('ClearCache'), - visible: abp.auth.isGranted('Docs.Admin.Documents'), - confirmMessage: function (data) { return l('ClearCacheConfirmationMessage', data.record.name); }, - action: function (data) { - volo.docs.admin.documentsAdmin - .clearCache({ projectId: data.record.id}) - .then(function () { - _dataTable.ajax.reload(); - }); - } - }, - { - text: l('ReIndexProject'), - visible: abp.auth.isGranted('Docs.Admin.Documents'), - confirmMessage: function (data) { return l('ReIndexProjectConfirmationMessage', data.record.name); }, - action: function (data) { - volo.docs.admin.projectsAdmin - .reindex({ projectId: data.record.id}) - .then(function () { - abp.message.success(l('SuccessfullyReIndexProject', data.record.name)); - }); - } - } - ] - } - }, - { - target: 1, - data: "name" - }, - { - target: 2, - data: "shortName" - }, - { - target: 3, - data: "documentStoreType" - }, - { - target: 4, - data: "format", - render: function (data) { - if (data === 'md') { - return 'markdown'; - } + $('#CreateNewGithubProjectButtonId').click(function (event) { + event.preventDefault(); + _createModal.open({ source: 'GitHub' }); + }); - return data; - } - } - ] - })); + $('#ReIndexAllProjects').click(function (event) { + abp.message + .confirm(l('ReIndexAllProjectConfirmationMessage')) + .done(function (accepted) { + if (accepted) { + volo.docs.admin.projectsAdmin.reindexAll().then(function () { + abp.message.success(l('SuccessfullyReIndexAllProject')); + }); + } + }); + }); + _createModal.onClose(function () { + _dataTable.ajax.reload(); + }); - $("#CreateNewGithubProjectButtonId").click(function (event) { - event.preventDefault(); - _createModal.open({source:"GitHub"}); - }); - - $("#ReIndexAllProjects").click(function (event) { - abp.message.confirm(l('ReIndexAllProjectConfirmationMessage')) - .done(function (accepted) { - if (accepted) { - volo.docs.admin.projectsAdmin - .reindexAll() - .then(function () { - abp.message.success(l('SuccessfullyReIndexAllProject')); - }); - } - }); - }); - - _createModal.onClose(function () { - _dataTable.ajax.reload(); - }); - - _editModal.onResult(function () { - _dataTable.ajax.reload(); - }); - + _editModal.onResult(function () { + _dataTable.ajax.reload(); + }); }); diff --git a/modules/docs/src/Volo.Docs.Web/Pages/Documents/Project/index.js b/modules/docs/src/Volo.Docs.Web/Pages/Documents/Project/index.js index 71fb550539..915428048f 100644 --- a/modules/docs/src/Volo.Docs.Web/Pages/Documents/Project/index.js +++ b/modules/docs/src/Volo.Docs.Web/Pages/Documents/Project/index.js @@ -1,311 +1,343 @@ (function ($) { - - $(function () { - var initNavigationFilter = function (navigationContainerId) { - - var $navigation = $("#" + navigationContainerId); - - var getShownDocumentLinks = function () { - return $navigation.find(".mCSB_container > li a:visible").not(".tree-toggle"); - }; - - var gotoFilteredDocumentIfThereIsOnlyOne = function () { - var $links = getShownDocumentLinks(); - if ($links.length === 1) { - var url = $links.first().attr("href"); - if (url === "javascript:;") { - return; - } - - window.location = url; - } - }; - - var filterDocumentItems = function (filterText) { - $navigation.find(".mCSB_container .opened").removeClass("opened"); - $navigation.find(".mCSB_container > li, .mCSB_container > li ul").hide(); - - if (!filterText) { - $navigation.find(".mCSB_container > li").show(); - $navigation.find(".mCSB_container .selected-tree > ul").show(); - return; - } - - var filteredItems = $navigation.find("li > a").filter(function () { - return $(this).text().toUpperCase().indexOf(filterText.toUpperCase()) > -1; - }); - - filteredItems.each(function () { - - var $el = $(this); - $el.show(); - var $parent = $el.parent(); - - var hasParent = true; - while (hasParent) { - if ($parent.attr("id") === navigationContainerId) { - break; - } - - $parent.show(); - $parent.find("> li > label").not(".last-link").addClass("opened"); - - $parent = $parent.parent(); - hasParent = $parent.length > 0; - } - }); - }; - - $("#filter").keyup(function (e) { - filterDocumentItems(e.target.value); - - if (e.key === "Enter") { - gotoFilteredDocumentIfThereIsOnlyOne(); - } - }); - - $("#fullsearch").keyup(function (e) { - if (e.key === "Enter") { - window.open($(this).data("fullsearch-url") + this.value); - } - }); - }; - - var initAnchorTags = function (container) { - anchors.options = { - placement: 'left' - }; - - var anchorTags = ["h1", "h2", "h3", "h4", "h5", "h6"]; - anchorTags.forEach(function (tag) { - anchors.add(container + " " + tag); - }); - }; - - var initSocialShareLinks = function () { - var pageHeader = $(".docs-body").find("h1, h2").first().text(); - - var projectName = $('#ProjectName')[0].innerText; - - $('#TwitterShareLink').attr('href', - 'https://twitter.com/intent/tweet?text=' + encodeURI(pageHeader + " | " + projectName + " | " + window.location.href) - ); - - $('#LinkedinShareLink').attr('href', - 'https://www.linkedin.com/shareArticle?' - + 'url=' + encodeURI(window.location.href) + '&' - + 'mini=true&' - + "summary=" + encodeURI(projectName) + '&' - + "title=" + encodeURI(pageHeader) + '&' - + "source=" + encodeURI($('#GoToMainWebSite').attr('href')) - ); - - $('#EmailShareLink').attr('href', - 'mailto:?' - + 'body=' + encodeURI('I want you to look at ' + window.location.href) + '&' - + "subject=" + encodeURI(pageHeader + ' | ' + projectName) + '&' - ); - }; - - var initSections = function () { - var clearQueryString = function () { - var uri = window.location.href.toString(); - - if (uri.indexOf("?") > 0) { - uri = uri.substring(0, uri.indexOf("?")); - } - - window.history.replaceState({}, document.title, uri); - }; - - var setQueryString = function () { - var comboboxes = $(".doc-section-combobox"); - if (comboboxes.length < 1) { - return; - } - - var hash = document.location.hash; - - clearQueryString(); - - var uri = window.location.href.toString(); - - var new_uri = uri + "?"; - - for (var i = 0; i < comboboxes.length; i++) { - var key = $(comboboxes[i]).data('key'); - var value = comboboxes[i].value; - - new_uri += key + "=" + value; - - if (i !== comboboxes.length - 1) { - new_uri += "&"; - } - } - - window.history.replaceState({}, document.title, new_uri + hash); - }; - - var getTenYearsLater = function () { - var tenYearsLater = new Date(); - tenYearsLater.setTime(tenYearsLater.getTime() + (365 * 10 * 24 * 60 * 60 * 1000)); - return tenYearsLater; - }; - - var setCookies = function () { - var cookie = abp.utils.getCookieValue("AbpDocsPreferences"); - - if (!cookie || cookie == null || cookie === null) { - cookie = ""; - } - var keyValues = cookie.split("|"); - - var comboboxes = $(".doc-section-combobox"); - - for (var i = 0; i < comboboxes.length; i++) { - var key = $(comboboxes[i]).data('key'); - var value = comboboxes[i].value; - - var changed = false; - var keyValueslength = keyValues.length; - for (var k = 0; k < keyValueslength; k++) { - var splitted = keyValues[k].split("="); - - if (splitted.length > 0 && splitted[0] === key) { - keyValues[k] = key + "=" + value; - changed = true; - } - } - - if (!changed) { - keyValues.push(key + "=" + value); - } - } - - abp.utils.setCookieValue("AbpDocsPreferences", keyValues.join('|'), getTenYearsLater(), '/'); - }; - - $(".doc-section-combobox").change(function () { - setCookies(); - clearQueryString(); - location.reload(); - }); - - setQueryString(); - }; - - var initCrawlerLinks = function () { - - var isCrawler = function () { - var crawlers = [ - 'Google', - 'Googlebot', - 'YandexBot', - 'msnbot', - 'Rambler', - 'Yahoo', - 'AbachoBOT', - 'accoona', - 'AcoiRobot', - 'ASPSeek', - 'CrocCrawler', - 'Dumbot', - 'FAST-WebCrawler', - 'GeonaBot', - 'Gigabot', - 'Lycos', - 'MSRBOT', - 'Scooter', - 'AltaVista', - 'IDBot', - 'eStyle', - 'Scrubby', - 'Slurp', - 'DuckDuckBot', - 'Baiduspider', - 'VoilaBot', - 'ExaLead', - 'Search Dog', - 'MSN Bot', - 'BingBot' - ]; - - var agent = navigator.userAgent; - - for (var i = 0; i < crawlers.length; i++) { - - if (agent.indexOf(crawlers[i]) >= 0) { - return true; - } - } - - return false; - }; - - if (!isCrawler()) { - return; - } - - var comboboxes = $(".doc-section-combobox"); - - if (comboboxes.length <= 0) { - return; - } - - $("#crawler_link").show(); - - var html = ''; - - var currentUrl = window.location.href.toString(); - - if (currentUrl.indexOf("?") > 0) { - currentUrl = currentUrl.substring(0, currentUrl.indexOf("?")); - } - - var getQueryStringsFromComboboxes = function (x) { - if (x >= comboboxes.length) { - return []; - } - - var key = $(comboboxes[x]).data("key"); - - var queryStrings = getQueryStringsFromComboboxes(x + 1); - var returnList = []; - - $(comboboxes[x]).find("option").each(function () { - - if (queryStrings.length <= 0) { - returnList.push(key + "=" + $(this).val()); - - } else { - for (var k = 0; k < queryStrings.length; k++) { - returnList.push(key + "=" + $(this).val() + "&" + queryStrings[k]); - } - } - }); - - return returnList; - }; - - var queryStrings = getQueryStringsFromComboboxes(0); - - for (var i = 0; i < queryStrings.length; i++) { - html += "" + queryStrings[i] + " " - } - - $("#crawler_link").html(html); - }; - - initNavigationFilter("sidebar-scroll"); - - initAnchorTags(".docs-page .docs-body"); - - initSocialShareLinks(); - - initSections(); - - initCrawlerLinks(); - - }); - -})(jQuery); \ No newline at end of file + $(function () { + var initNavigationFilter = function (navigationContainerId) { + var $navigation = $('#' + navigationContainerId); + + var getShownDocumentLinks = function () { + return $navigation + .find('.mCSB_container > li a:visible') + .not('.tree-toggle'); + }; + + var gotoFilteredDocumentIfThereIsOnlyOne = function () { + var $links = getShownDocumentLinks(); + if ($links.length === 1) { + var url = $links.first().attr('href'); + if (url === 'javascript:;') { + return; + } + + window.location = url; + } + }; + + var filterDocumentItems = function (filterText) { + $navigation.find('.mCSB_container .opened').removeClass('opened'); + $navigation + .find('.mCSB_container > li, .mCSB_container > li ul') + .hide(); + + if (!filterText) { + $navigation.find('.mCSB_container > li').show(); + $navigation.find('.mCSB_container .selected-tree > ul').show(); + return; + } + + var filteredItems = $navigation.find('li > a').filter(function () { + return ( + $(this).text().toUpperCase().indexOf(filterText.toUpperCase()) > -1 + ); + }); + + filteredItems.each(function () { + var $el = $(this); + $el.show(); + var $parent = $el.parent(); + + var hasParent = true; + while (hasParent) { + if ($parent.attr('id') === navigationContainerId) { + break; + } + + $parent.show(); + $parent.find('> li > label').not('.last-link').addClass('opened'); + + $parent = $parent.parent(); + hasParent = $parent.length > 0; + } + }); + }; + + $('#filter').keyup(function (e) { + filterDocumentItems(e.target.value); + + if (e.key === 'Enter') { + gotoFilteredDocumentIfThereIsOnlyOne(); + } + }); + + $('#fullsearch').keyup(function (e) { + if (e.key === 'Enter') { + window.open($(this).data('fullsearch-url') + this.value); + } + }); + }; + + var initAnchorTags = function (container) { + anchors.options = { + placement: 'left', + }; + + var anchorTags = ['h1', 'h2', 'h3', 'h4', 'h5', 'h6']; + anchorTags.forEach(function (tag) { + anchors.add(container + ' ' + tag); + }); + }; + + var initSocialShareLinks = function () { + var pageHeader = $('.docs-body').find('h1, h2').first().text(); + + var projectName = $('#ProjectName')[0].innerText; + + $('#TwitterShareLink').attr( + 'href', + 'https://twitter.com/intent/tweet?text=' + + encodeURI( + pageHeader + ' | ' + projectName + ' | ' + window.location.href + ) + ); + + $('#LinkedinShareLink').attr( + 'href', + 'https://www.linkedin.com/shareArticle?' + + 'url=' + + encodeURI(window.location.href) + + '&' + + 'mini=true&' + + 'summary=' + + encodeURI(projectName) + + '&' + + 'title=' + + encodeURI(pageHeader) + + '&' + + 'source=' + + encodeURI($('#GoToMainWebSite').attr('href')) + ); + + $('#EmailShareLink').attr( + 'href', + 'mailto:?' + + 'body=' + + encodeURI('I want you to look at ' + window.location.href) + + '&' + + 'subject=' + + encodeURI(pageHeader + ' | ' + projectName) + + '&' + ); + }; + + var initSections = function () { + var clearQueryString = function () { + var uri = window.location.href.toString(); + + if (uri.indexOf('?') > 0) { + uri = uri.substring(0, uri.indexOf('?')); + } + + window.history.replaceState({}, document.title, uri); + }; + + var setQueryString = function () { + var comboboxes = $('.doc-section-combobox'); + if (comboboxes.length < 1) { + return; + } + + var hash = document.location.hash; + + clearQueryString(); + + var uri = window.location.href.toString(); + + var new_uri = uri + '?'; + + for (var i = 0; i < comboboxes.length; i++) { + var key = $(comboboxes[i]).data('key'); + var value = comboboxes[i].value; + + new_uri += key + '=' + value; + + if (i !== comboboxes.length - 1) { + new_uri += '&'; + } + } + + window.history.replaceState({}, document.title, new_uri + hash); + }; + + var getTenYearsLater = function () { + var tenYearsLater = new Date(); + tenYearsLater.setTime( + tenYearsLater.getTime() + 365 * 10 * 24 * 60 * 60 * 1000 + ); + return tenYearsLater; + }; + + var setCookies = function () { + var cookie = abp.utils.getCookieValue('AbpDocsPreferences'); + + if (!cookie || cookie == null || cookie === null) { + cookie = ''; + } + var keyValues = cookie.split('|'); + + var comboboxes = $('.doc-section-combobox'); + + for (var i = 0; i < comboboxes.length; i++) { + var key = $(comboboxes[i]).data('key'); + var value = comboboxes[i].value; + + var changed = false; + var keyValueslength = keyValues.length; + for (var k = 0; k < keyValueslength; k++) { + var splitted = keyValues[k].split('='); + + if (splitted.length > 0 && splitted[0] === key) { + keyValues[k] = key + '=' + value; + changed = true; + } + } + + if (!changed) { + keyValues.push(key + '=' + value); + } + } + + abp.utils.setCookieValue( + 'AbpDocsPreferences', + keyValues.join('|'), + getTenYearsLater(), + '/' + ); + }; + + $('.doc-section-combobox').change(function () { + setCookies(); + clearQueryString(); + location.reload(); + }); + + setQueryString(); + }; + + var initCrawlerLinks = function () { + var isCrawler = function () { + var crawlers = [ + 'Google', + 'Googlebot', + 'YandexBot', + 'msnbot', + 'Rambler', + 'Yahoo', + 'AbachoBOT', + 'accoona', + 'AcoiRobot', + 'ASPSeek', + 'CrocCrawler', + 'Dumbot', + 'FAST-WebCrawler', + 'GeonaBot', + 'Gigabot', + 'Lycos', + 'MSRBOT', + 'Scooter', + 'AltaVista', + 'IDBot', + 'eStyle', + 'Scrubby', + 'Slurp', + 'DuckDuckBot', + 'Baiduspider', + 'VoilaBot', + 'ExaLead', + 'Search Dog', + 'MSN Bot', + 'BingBot', + ]; + + var agent = navigator.userAgent; + + for (var i = 0; i < crawlers.length; i++) { + if (agent.indexOf(crawlers[i]) >= 0) { + return true; + } + } + + return false; + }; + + if (!isCrawler()) { + return; + } + + var comboboxes = $('.doc-section-combobox'); + + if (comboboxes.length <= 0) { + return; + } + + $('#crawler_link').show(); + + var html = ''; + + var currentUrl = window.location.href.toString(); + + if (currentUrl.indexOf('?') > 0) { + currentUrl = currentUrl.substring(0, currentUrl.indexOf('?')); + } + + var getQueryStringsFromComboboxes = function (x) { + if (x >= comboboxes.length) { + return []; + } + + var key = $(comboboxes[x]).data('key'); + + var queryStrings = getQueryStringsFromComboboxes(x + 1); + var returnList = []; + + $(comboboxes[x]) + .find('option') + .each(function () { + if (queryStrings.length <= 0) { + returnList.push(key + '=' + $(this).val()); + } else { + for (var k = 0; k < queryStrings.length; k++) { + returnList.push( + key + '=' + $(this).val() + '&' + queryStrings[k] + ); + } + } + }); + + return returnList; + }; + + var queryStrings = getQueryStringsFromComboboxes(0); + + for (var i = 0; i < queryStrings.length; i++) { + html += + '' + + queryStrings[i] + + ' '; + } + + $('#crawler_link').html(html); + }; + + initNavigationFilter('sidebar-scroll'); + + initAnchorTags('.docs-page .docs-body'); + + initSocialShareLinks(); + + initSections(); + + initCrawlerLinks(); + }); +})(jQuery); diff --git a/modules/docs/src/Volo.Docs.Web/Pages/Documents/Shared/ErrorComponent/error.js b/modules/docs/src/Volo.Docs.Web/Pages/Documents/Shared/ErrorComponent/error.js index edc010aa9f..6b4fc7a217 100644 --- a/modules/docs/src/Volo.Docs.Web/Pages/Documents/Shared/ErrorComponent/error.js +++ b/modules/docs/src/Volo.Docs.Web/Pages/Documents/Shared/ErrorComponent/error.js @@ -1,20 +1,18 @@ (function ($) { + $(function () { + var errorPageRedirect = function () { + var second = 3; + var close = setInterval(() => { + $('#ErrorRedirectSeconds').text(`(${--second})`); + if (second === 0) { + clearInterval(close); + $('#ErrorRedirect')[0].click(); + } + }, 1000); + }; - $(function () { - var errorPageRedirect = function () { - var second = 3; - var close = setInterval(() => { - $("#ErrorRedirectSeconds").text(`(${--second})`); - if (second === 0) { - clearInterval(close); - $("#ErrorRedirect")[0].click(); - } - }, 1000); - } - - if (document.getElementById("ErrorRedirect")) { - errorPageRedirect(); - } - }); - + if (document.getElementById('ErrorRedirect')) { + errorPageRedirect(); + } + }); })(jQuery); diff --git a/modules/docs/src/Volo.Docs.Web/Pages/Documents/Shared/Scripts/vs.js b/modules/docs/src/Volo.Docs.Web/Pages/Documents/Shared/Scripts/vs.js index aaffc53ddf..2d185498a1 100644 --- a/modules/docs/src/Volo.Docs.Web/Pages/Documents/Shared/Scripts/vs.js +++ b/modules/docs/src/Volo.Docs.Web/Pages/Documents/Shared/Scripts/vs.js @@ -1,152 +1,165 @@ (function ($) { - $(function () { - $('li:not(.last-link) a.tree-toggle').click(function () { - $(this).parent().children('ul.tree').toggle(100); - $(this).closest("li").toggleClass("selected-tree"); - }); - - $('li:not(.last-link) span.plus-icon i.fa-chevron-right').click(function () { - - var $element = $(this).parent(); - - $element.parent().children('ul.tree').toggle(100); - $element.closest("li").toggleClass("selected-tree"); - }); - - var scrollTopBtn = $(".scroll-top-btn"); - var enoughHeight = $(".docs-sidebar-wrapper > .docs-top").height() + 60; - var enoughHeightPlus = 500; - - $(window).scroll(function () { - var topPos = $(window).scrollTop(); - if (topPos > enoughHeight) { - $(scrollTopBtn).addClass("showup"); - $("body").addClass("scrolled"); - } else { - $(scrollTopBtn).removeClass("showup"); - $("body").removeClass("scrolled"); - } - if (topPos > enoughHeightPlus) { - $("body").addClass("scrolledMore"); - } else { - $("body").removeClass("scrolledMore"); - } - }); - - $(scrollTopBtn).click(function () { - $('html, body').animate({ - scrollTop: 0 - }, 500); - return false; - }); - - var scrollToHashLink = function () { - var hash = window.location.hash; - - if (!hash || hash === "#") { - return; - } - - var $targetElement = $(decodeURIComponent(hash)); - - $targetElement = $targetElement.length ? $targetElement : $('[name=' + this.hash.slice(1) + ']'); - - if (!$targetElement.length) { - return; - } - - $('html,body').stop().animate({ - scrollTop: $targetElement.offset().top - }, 200); - - return; - }; - - $(document).ready(function () { - handleCustomScrolls(); - - var $myNav = $("#docs-sticky-index"); - Toc.init($myNav); - - $("body").scrollspy({ - target: $myNav - }); - - $("#docs-sticky-index a").on('click', function (event) { - if (this.hash !== "") { - event.preventDefault(); - var hash = this.hash; - $('html, body').animate({ - scrollTop: $(decodeURIComponent(hash)).offset().top - }, 500, function () { - window.location.hash = hash; - }); - } - }); - - $(".btn-toggle").on("click", function () { - $(".toggle-row").slideToggle(400); - $(this).toggleClass("less"); - }); - - $(".close-mmenu").on("click", function () { - $(".navbar-collapse").removeClass("show"); - }); - - $(".open-dmenu").on("click", function () { - $(".docs-tree-list").slideToggle(); - }); - - scrollToHashLink(); - }); - - $(window).resize(function () { - handleCustomScrolls(); - }); - }); - - function handleCustomScrolls() { - var wWidth = $(window).width(); - if (wWidth > 766) { - $("#sidebar-scroll").mCustomScrollbar({ - theme: "minimal", - alwaysShowScrollbar: 0, - }); - - $("#scroll-index").mCustomScrollbar({ - theme: "minimal-dark", - alwaysShowScrollbar: 0, - }); - } - } - - window.Toc.helpers.createNavList = function () { - return $(''); - }; - - window.Toc.helpers.createChildNavList = function ($parent) { - var $childList = this.createNavList(); - $parent.append($childList); - return $childList; - }; - - window.Toc.helpers.generateNavEl = function (anchor, text) { - var $a = $(''); - $a.attr('href', '#' + anchor); - $a.text(text); - var $li = $(''); - $li.append($a); - return $li; - }; - - function docsCriteria() { - var docsContentWidth = $(".docs-content").width() - 20; - $(".alert-criteria").width(docsContentWidth); - } - $(document).ready(function () { - docsCriteria(); - }); - $(window).resize(function () { - docsCriteria(); - }); -})(jQuery); \ No newline at end of file + $(function () { + $('li:not(.last-link) a.tree-toggle').click(function () { + $(this).parent().children('ul.tree').toggle(100); + $(this).closest('li').toggleClass('selected-tree'); + }); + + $('li:not(.last-link) span.plus-icon i.fa-chevron-right').click( + function () { + var $element = $(this).parent(); + + $element.parent().children('ul.tree').toggle(100); + $element.closest('li').toggleClass('selected-tree'); + } + ); + + var scrollTopBtn = $('.scroll-top-btn'); + var enoughHeight = $('.docs-sidebar-wrapper > .docs-top').height() + 60; + var enoughHeightPlus = 500; + + $(window).scroll(function () { + var topPos = $(window).scrollTop(); + if (topPos > enoughHeight) { + $(scrollTopBtn).addClass('showup'); + $('body').addClass('scrolled'); + } else { + $(scrollTopBtn).removeClass('showup'); + $('body').removeClass('scrolled'); + } + if (topPos > enoughHeightPlus) { + $('body').addClass('scrolledMore'); + } else { + $('body').removeClass('scrolledMore'); + } + }); + + $(scrollTopBtn).click(function () { + $('html, body').animate( + { + scrollTop: 0, + }, + 500 + ); + return false; + }); + + var scrollToHashLink = function () { + var hash = window.location.hash; + + if (!hash || hash === '#') { + return; + } + + var $targetElement = $(decodeURIComponent(hash)); + + $targetElement = $targetElement.length + ? $targetElement + : $('[name=' + this.hash.slice(1) + ']'); + + if (!$targetElement.length) { + return; + } + + $('html,body').stop().animate( + { + scrollTop: $targetElement.offset().top, + }, + 200 + ); + + return; + }; + + $(document).ready(function () { + handleCustomScrolls(); + + var $myNav = $('#docs-sticky-index'); + Toc.init($myNav); + + $('body').scrollspy({ + target: $myNav, + }); + + $('#docs-sticky-index a').on('click', function (event) { + if (this.hash !== '') { + event.preventDefault(); + var hash = this.hash; + $('html, body').animate( + { + scrollTop: $(decodeURIComponent(hash)).offset().top, + }, + 500, + function () { + window.location.hash = hash; + } + ); + } + }); + + $('.btn-toggle').on('click', function () { + $('.toggle-row').slideToggle(400); + $(this).toggleClass('less'); + }); + + $('.close-mmenu').on('click', function () { + $('.navbar-collapse').removeClass('show'); + }); + + $('.open-dmenu').on('click', function () { + $('.docs-tree-list').slideToggle(); + }); + + scrollToHashLink(); + }); + + $(window).resize(function () { + handleCustomScrolls(); + }); + }); + + function handleCustomScrolls() { + var wWidth = $(window).width(); + if (wWidth > 766) { + $('#sidebar-scroll').mCustomScrollbar({ + theme: 'minimal', + alwaysShowScrollbar: 0, + }); + + $('#scroll-index').mCustomScrollbar({ + theme: 'minimal-dark', + alwaysShowScrollbar: 0, + }); + } + } + + window.Toc.helpers.createNavList = function () { + return $(''); + }; + + window.Toc.helpers.createChildNavList = function ($parent) { + var $childList = this.createNavList(); + $parent.append($childList); + return $childList; + }; + + window.Toc.helpers.generateNavEl = function (anchor, text) { + var $a = $(''); + $a.attr('href', '#' + anchor); + $a.text(text); + var $li = $(''); + $li.append($a); + return $li; + }; + + function docsCriteria() { + var docsContentWidth = $('.docs-content').width() - 20; + $('.alert-criteria').width(docsContentWidth); + } + $(document).ready(function () { + docsCriteria(); + }); + $(window).resize(function () { + docsCriteria(); + }); +})(jQuery);