From f09219cbfd620e04fd48539bd11eced20c81137b Mon Sep 17 00:00:00 2001 From: Nico Date: Thu, 9 Apr 2020 01:55:01 +0200 Subject: Remove export button if WITH_API is not enabled #2938 https://github.com/wekan/wekan/issues/2938#issuecomment-589782402 --- client/components/boards/boardHeader.js | 16 ---------------- client/components/sidebar/sidebar.jade | 20 +++++++++++--------- client/components/sidebar/sidebar.js | 19 +++++++++++++++---- 3 files changed, 26 insertions(+), 29 deletions(-) (limited to 'client') diff --git a/client/components/boards/boardHeader.js b/client/components/boards/boardHeader.js index dc553134..be0146ec 100644 --- a/client/components/boards/boardHeader.js +++ b/client/components/boards/boardHeader.js @@ -33,22 +33,6 @@ Template.boardMenuPopup.events({ 'click .js-card-settings': Popup.open('boardCardSettings'), }); -Template.boardMenuPopup.helpers({ - exportUrl() { - const params = { - boardId: Session.get('currentBoard'), - }; - const queryParams = { - authToken: Accounts._storedLoginToken(), - }; - return FlowRouter.path('/api/boards/:boardId/export', params, queryParams); - }, - exportFilename() { - const boardId = Session.get('currentBoard'); - return `wekan-export-board-${boardId}.json`; - }, -}); - Template.boardChangeTitlePopup.events({ submit(event, templateInstance) { const newTitle = templateInstance diff --git a/client/components/sidebar/sidebar.jade b/client/components/sidebar/sidebar.jade index 901fe99f..6bfedc9c 100644 --- a/client/components/sidebar/sidebar.jade +++ b/client/components/sidebar/sidebar.jade @@ -298,10 +298,11 @@ template(name="boardMenuPopup") if currentUser.isBoardAdmin hr ul.pop-over-list - li - a(href="{{exportUrl}}", download="{{exportFilename}}") - i.fa.fa-share-alt - | {{_ 'export-board'}} + if withApi + li + a(href="{{exportUrl}}", download="{{exportFilename}}") + i.fa.fa-share-alt + | {{_ 'export-board'}} li a.js-outgoing-webhooks i.fa.fa-globe @@ -326,11 +327,12 @@ template(name="boardMenuPopup") if isSandstorm hr ul.pop-over-list - li - a(href="{{exportUrl}}", download="{{exportFilename}}") - i.fa.fa-share-alt - i.fa.fa-sign-out - | {{_ 'export-board'}} + if withApi + li + a(href="{{exportUrl}}", download="{{exportFilename}}") + i.fa.fa-share-alt + i.fa.fa-sign-out + | {{_ 'export-board'}} li a.js-import-board i.fa.fa-share-alt diff --git a/client/components/sidebar/sidebar.js b/client/components/sidebar/sidebar.js index baf57114..78b47a48 100644 --- a/client/components/sidebar/sidebar.js +++ b/client/components/sidebar/sidebar.js @@ -196,14 +196,14 @@ Template.boardMenuPopup.events({ }, 'click .js-change-board-color': Popup.open('boardChangeColor'), 'click .js-change-language': Popup.open('changeLanguage'), - 'click .js-archive-board ': Popup.afterConfirm('archiveBoard', function() { + 'click .js-archive-board ': Popup.afterConfirm('archiveBoard', function () { const currentBoard = Boards.findOne(Session.get('currentBoard')); currentBoard.archive(); // XXX We should have some kind of notification on top of the page to // confirm that the board was successfully archived. FlowRouter.go('home'); }), - 'click .js-delete-board': Popup.afterConfirm('deleteBoard', function() { + 'click .js-delete-board': Popup.afterConfirm('deleteBoard', function () { const currentBoard = Boards.findOne(Session.get('currentBoard')); Popup.close(); Boards.remove(currentBoard._id); @@ -215,7 +215,18 @@ Template.boardMenuPopup.events({ 'click .js-card-settings': Popup.open('boardCardSettings'), }); + +Template.boardMenuPopup.onCreated(function () { + this.apiEnabled = new ReactiveVar(false); + Meteor.call('_isApiEnabled', (e, result) => { + this.apiEnabled.set(result) + }) +}) + Template.boardMenuPopup.helpers({ + withApi() { + return Template.instance().apiEnabled.get() + }, exportUrl() { const params = { boardId: Session.get('currentBoard'), @@ -237,7 +248,7 @@ Template.memberPopup.events({ Popup.close(); }, 'click .js-change-role': Popup.open('changePermissions'), - 'click .js-remove-member': Popup.afterConfirm('removeMember', function() { + 'click .js-remove-member': Popup.afterConfirm('removeMember', function () { const boardId = Session.get('currentBoard'); const memberId = this.userId; Cards.find({ boardId, members: memberId }).forEach(card => { @@ -578,7 +589,7 @@ BlazeComponent.extendComponent({ 'subtext-with-parent', 'no-parent', ]; - options.forEach(function(element) { + options.forEach(function (element) { if (element !== value) { $(`#${element} ${MCB}`).toggleClass(CKCLS, false); $(`#${element}`).toggleClass(CKCLS, false); -- cgit v1.2.3-1-g7c22