Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>tags/v22.0.0beta1
@@ -4,4 +4,5 @@ node_modules/ | |||
**/vendor/ | |||
**/l10n/ | |||
**/js/* | |||
*.config.js | |||
*.config.js | |||
tests/lib/ |
@@ -1,5 +1,4 @@ | |||
import './app' | |||
import './templates' | |||
import './filesplugin' | |||
import './activitytabviewplugin' | |||
@@ -1,123 +0,0 @@ | |||
(function() { | |||
var template = Handlebars.template, templates = OCA.Comments.Templates = OCA.Comments.Templates || {}; | |||
templates['comment'] = template({"1":function(container,depth0,helpers,partials,data) { | |||
return " unread"; | |||
},"3":function(container,depth0,helpers,partials,data) { | |||
return " collapsed"; | |||
},"5":function(container,depth0,helpers,partials,data) { | |||
return " currentUser"; | |||
},"7":function(container,depth0,helpers,partials,data) { | |||
var helper; | |||
return "data-username=\"" | |||
+ container.escapeExpression(((helper = (helper = helpers.actorId || (depth0 != null ? depth0.actorId : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === "function" ? helper.call(depth0 != null ? depth0 : (container.nullContext || {}),{"name":"actorId","hash":{},"data":data}) : helper))) | |||
+ "\""; | |||
},"9":function(container,depth0,helpers,partials,data) { | |||
return " <a href=\"#\" class=\"action more icon icon-more has-tooltip\"></a>\n <div class=\"deleteLoading icon-loading-small hidden\"></div>\n"; | |||
},"11":function(container,depth0,helpers,partials,data) { | |||
return " <div class=\"message-overlay\"></div>\n"; | |||
},"compiler":[7,">= 4.0.0"],"main":function(container,depth0,helpers,partials,data) { | |||
var stack1, helper, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=helpers.helperMissing, alias3="function", alias4=container.escapeExpression; | |||
return "<li class=\"comment" | |||
+ ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.isUnread : depth0),{"name":"if","hash":{},"fn":container.program(1, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "") | |||
+ ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.isLong : depth0),{"name":"if","hash":{},"fn":container.program(3, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "") | |||
+ "\" data-id=\"" | |||
+ alias4(((helper = (helper = helpers.id || (depth0 != null ? depth0.id : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"id","hash":{},"data":data}) : helper))) | |||
+ "\">\n <div class=\"authorRow\">\n <div class=\"avatar" | |||
+ ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.isUserAuthor : depth0),{"name":"if","hash":{},"fn":container.program(5, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "") | |||
+ "\" " | |||
+ ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.actorId : depth0),{"name":"if","hash":{},"fn":container.program(7, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "") | |||
+ "> </div>\n <div class=\"author" | |||
+ ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.isUserAuthor : depth0),{"name":"if","hash":{},"fn":container.program(5, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "") | |||
+ "\">" | |||
+ alias4(((helper = (helper = helpers.actorDisplayName || (depth0 != null ? depth0.actorDisplayName : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"actorDisplayName","hash":{},"data":data}) : helper))) | |||
+ "</div>\n" | |||
+ ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.isUserAuthor : depth0),{"name":"if","hash":{},"fn":container.program(9, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "") | |||
+ " <div class=\"date has-tooltip live-relative-timestamp\" data-timestamp=\"" | |||
+ alias4(((helper = (helper = helpers.timestamp || (depth0 != null ? depth0.timestamp : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"timestamp","hash":{},"data":data}) : helper))) | |||
+ "\" title=\"" | |||
+ alias4(((helper = (helper = helpers.altDate || (depth0 != null ? depth0.altDate : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"altDate","hash":{},"data":data}) : helper))) | |||
+ "\">" | |||
+ alias4(((helper = (helper = helpers.date || (depth0 != null ? depth0.date : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"date","hash":{},"data":data}) : helper))) | |||
+ "</div>\n </div>\n <div class=\"message\">" | |||
+ ((stack1 = ((helper = (helper = helpers.formattedMessage || (depth0 != null ? depth0.formattedMessage : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"formattedMessage","hash":{},"data":data}) : helper))) != null ? stack1 : "") | |||
+ "</div>\n" | |||
+ ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.isLong : depth0),{"name":"if","hash":{},"fn":container.program(11, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "") | |||
+ "</li>\n"; | |||
},"useData":true}); | |||
templates['commentsmodifymenu'] = template({"1":function(container,depth0,helpers,partials,data) { | |||
var stack1, helper, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=helpers.helperMissing, alias3="function", alias4=container.escapeExpression; | |||
return " <li>\n <a href=\"#\" class=\"menuitem action " | |||
+ alias4(((helper = (helper = helpers.name || (depth0 != null ? depth0.name : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"name","hash":{},"data":data}) : helper))) | |||
+ " permanent\" data-action=\"" | |||
+ alias4(((helper = (helper = helpers.name || (depth0 != null ? depth0.name : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"name","hash":{},"data":data}) : helper))) | |||
+ "\">\n" | |||
+ ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.iconClass : depth0),{"name":"if","hash":{},"fn":container.program(2, data, 0),"inverse":container.program(4, data, 0),"data":data})) != null ? stack1 : "") | |||
+ " <span>" | |||
+ alias4(((helper = (helper = helpers.displayName || (depth0 != null ? depth0.displayName : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"displayName","hash":{},"data":data}) : helper))) | |||
+ "</span>\n </a>\n </li>\n"; | |||
},"2":function(container,depth0,helpers,partials,data) { | |||
var helper; | |||
return " <span class=\"icon " | |||
+ container.escapeExpression(((helper = (helper = helpers.iconClass || (depth0 != null ? depth0.iconClass : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === "function" ? helper.call(depth0 != null ? depth0 : (container.nullContext || {}),{"name":"iconClass","hash":{},"data":data}) : helper))) | |||
+ "\"></span>\n"; | |||
},"4":function(container,depth0,helpers,partials,data) { | |||
return " <span class=\"no-icon\"></span>\n"; | |||
},"compiler":[7,">= 4.0.0"],"main":function(container,depth0,helpers,partials,data) { | |||
var stack1; | |||
return "<ul>\n" | |||
+ ((stack1 = helpers.each.call(depth0 != null ? depth0 : (container.nullContext || {}),(depth0 != null ? depth0.items : depth0),{"name":"each","hash":{},"fn":container.program(1, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "") | |||
+ "</ul>\n"; | |||
},"useData":true}); | |||
templates['edit_comment'] = template({"1":function(container,depth0,helpers,partials,data) { | |||
var helper; | |||
return " <div class=\"action-container\">\n <a href=\"#\" class=\"action cancel icon icon-close has-tooltip\" title=\"" | |||
+ container.escapeExpression(((helper = (helper = helpers.cancelText || (depth0 != null ? depth0.cancelText : depth0)) != null ? helper : helpers.helperMissing),(typeof helper === "function" ? helper.call(depth0 != null ? depth0 : (container.nullContext || {}),{"name":"cancelText","hash":{},"data":data}) : helper))) | |||
+ "\"></a>\n </div>\n"; | |||
},"compiler":[7,">= 4.0.0"],"main":function(container,depth0,helpers,partials,data) { | |||
var stack1, helper, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=helpers.helperMissing, alias3="function", alias4=container.escapeExpression; | |||
return "<" | |||
+ alias4(((helper = (helper = helpers.tag || (depth0 != null ? depth0.tag : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"tag","hash":{},"data":data}) : helper))) | |||
+ " class=\"newCommentRow comment\" data-id=\"" | |||
+ alias4(((helper = (helper = helpers.id || (depth0 != null ? depth0.id : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"id","hash":{},"data":data}) : helper))) | |||
+ "\">\n <div class=\"authorRow\">\n <div class=\"avatar currentUser\" data-username=\"" | |||
+ alias4(((helper = (helper = helpers.actorId || (depth0 != null ? depth0.actorId : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"actorId","hash":{},"data":data}) : helper))) | |||
+ "\"></div>\n <div class=\"author currentUser\">" | |||
+ alias4(((helper = (helper = helpers.actorDisplayName || (depth0 != null ? depth0.actorDisplayName : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"actorDisplayName","hash":{},"data":data}) : helper))) | |||
+ "</div>\n" | |||
+ ((stack1 = helpers["if"].call(alias1,(depth0 != null ? depth0.isEditMode : depth0),{"name":"if","hash":{},"fn":container.program(1, data, 0),"inverse":container.noop,"data":data})) != null ? stack1 : "") | |||
+ " </div>\n <form class=\"newCommentForm\">\n <div contentEditable=\"true\" class=\"message\" data-placeholder=\"" | |||
+ alias4(((helper = (helper = helpers.newMessagePlaceholder || (depth0 != null ? depth0.newMessagePlaceholder : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"newMessagePlaceholder","hash":{},"data":data}) : helper))) | |||
+ "\">" | |||
+ alias4(((helper = (helper = helpers.message || (depth0 != null ? depth0.message : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"message","hash":{},"data":data}) : helper))) | |||
+ "</div>\n <input class=\"submit icon-confirm has-tooltip\" type=\"submit\" value=\"\" title=\"" | |||
+ alias4(((helper = (helper = helpers.submitText || (depth0 != null ? depth0.submitText : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"submitText","hash":{},"data":data}) : helper))) | |||
+ "\"/>\n <div class=\"submitLoading icon-loading-small hidden\"></div>\n </form>\n</" | |||
+ alias4(((helper = (helper = helpers.tag || (depth0 != null ? depth0.tag : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"tag","hash":{},"data":data}) : helper))) | |||
+ ">\n"; | |||
},"useData":true}); | |||
templates['filesplugin'] = template({"compiler":[7,">= 4.0.0"],"main":function(container,depth0,helpers,partials,data) { | |||
var helper, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=helpers.helperMissing, alias3="function", alias4=container.escapeExpression; | |||
return "<a class=\"action action-comment permanent\" title=\"" | |||
+ alias4(((helper = (helper = helpers.countMessage || (depth0 != null ? depth0.countMessage : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"countMessage","hash":{},"data":data}) : helper))) | |||
+ "\" href=\"#\">\n <img class=\"svg\" src=\"" | |||
+ alias4(((helper = (helper = helpers.iconUrl || (depth0 != null ? depth0.iconUrl : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"iconUrl","hash":{},"data":data}) : helper))) | |||
+ "\"/>\n</a>\n"; | |||
},"useData":true}); | |||
templates['view'] = template({"compiler":[7,">= 4.0.0"],"main":function(container,depth0,helpers,partials,data) { | |||
var helper, alias1=depth0 != null ? depth0 : (container.nullContext || {}), alias2=helpers.helperMissing, alias3="function", alias4=container.escapeExpression; | |||
return "<ul class=\"comments\">\n</ul>\n<div class=\"emptycontent hidden\"><div class=\"icon-comment\"></div>\n <p>" | |||
+ alias4(((helper = (helper = helpers.emptyResultLabel || (depth0 != null ? depth0.emptyResultLabel : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"emptyResultLabel","hash":{},"data":data}) : helper))) | |||
+ "</p></div>\n<input type=\"button\" class=\"showMore hidden\" value=\"" | |||
+ alias4(((helper = (helper = helpers.moreLabel || (depth0 != null ? depth0.moreLabel : depth0)) != null ? helper : alias2),(typeof helper === alias3 ? helper.call(alias1,{"name":"moreLabel","hash":{},"data":data}) : helper))) | |||
+ "\" name=\"show-more\" id=\"show-more\" />\n<div class=\"loading hidden\" style=\"height: 50px\"></div>\n"; | |||
},"useData":true}); | |||
})(); |
@@ -6,6 +6,6 @@ module.exports = { | |||
path: path.resolve(__dirname, './js'), | |||
publicPath: '/js/', | |||
filename: 'dashboard.js', | |||
jsonpFunction: 'webpackJsonpDashboard' | |||
} | |||
jsonpFunction: 'webpackJsonpDashboard', | |||
}, | |||
} |
@@ -29,7 +29,6 @@ import axios from '@nextcloud/axios' | |||
import Vue from 'vue' | |||
import TemplatePickerView from './views/TemplatePicker' | |||
import { getCurrentUser } from '@nextcloud/auth' | |||
import { showError } from '@nextcloud/dialogs' | |||
// Set up logger |
@@ -1,4 +1,4 @@ | |||
const path = require('path'); | |||
const path = require('path') | |||
module.exports = { | |||
entry: { | |||
@@ -11,6 +11,6 @@ module.exports = { | |||
path: path.resolve(__dirname, './js/dist/'), | |||
publicPath: '/js/', | |||
filename: '[name].js', | |||
chunkFilename: 'files.[id].js' | |||
} | |||
chunkFilename: 'files.[id].js', | |||
}, | |||
} |
@@ -20,80 +20,80 @@ | |||
*/ | |||
describe('OCA.Files_External.App tests', function() { | |||
var App = OCA.Files_External.App; | |||
var fileList; | |||
const App = OCA.Files_External.App | |||
let fileList | |||
beforeEach(function() { | |||
$('#testArea').append( | |||
'<div id="app-navigation">' + | |||
'<ul><li data-id="files"><a>Files</a></li>' + | |||
'<li data-id="sharingin"><a></a></li>' + | |||
'<li data-id="sharingout"><a></a></li>' + | |||
'</ul></div>' + | |||
'<div id="app-content">' + | |||
'<div id="app-content-files" class="hidden">' + | |||
'</div>' + | |||
'<div id="app-content-extstoragemounts" class="hidden">' + | |||
'</div>' + | |||
'</div>' + | |||
'</div>' | |||
); | |||
fileList = App.initList($('#app-content-extstoragemounts')); | |||
}); | |||
'<div id="app-navigation">' | |||
+ '<ul><li data-id="files"><a>Files</a></li>' | |||
+ '<li data-id="sharingin"><a></a></li>' | |||
+ '<li data-id="sharingout"><a></a></li>' | |||
+ '</ul></div>' | |||
+ '<div id="app-content">' | |||
+ '<div id="app-content-files" class="hidden">' | |||
+ '</div>' | |||
+ '<div id="app-content-extstoragemounts" class="hidden">' | |||
+ '</div>' | |||
+ '</div>' | |||
+ '</div>' | |||
) | |||
fileList = App.initList($('#app-content-extstoragemounts')) | |||
}) | |||
afterEach(function() { | |||
App.fileList = null; | |||
fileList.destroy(); | |||
fileList = null; | |||
}); | |||
App.fileList = null | |||
fileList.destroy() | |||
fileList = null | |||
}) | |||
describe('initialization', function() { | |||
it('inits external mounts list on show', function() { | |||
expect(App.fileList).toBeDefined(); | |||
}); | |||
}); | |||
expect(App.fileList).toBeDefined() | |||
}) | |||
}) | |||
describe('file actions', function() { | |||
it('provides default file actions', function() { | |||
var fileActions = fileList.fileActions; | |||
const fileActions = fileList.fileActions | |||
expect(fileActions.actions.all).toBeDefined(); | |||
expect(fileActions.actions.all.Delete).toBeDefined(); | |||
expect(fileActions.actions.all.Rename).toBeDefined(); | |||
expect(fileActions.actions.all.Download).toBeDefined(); | |||
expect(fileActions.actions.all).toBeDefined() | |||
expect(fileActions.actions.all.Delete).toBeDefined() | |||
expect(fileActions.actions.all.Rename).toBeDefined() | |||
expect(fileActions.actions.all.Download).toBeDefined() | |||
expect(fileActions.defaults.dir).toEqual('Open'); | |||
}); | |||
expect(fileActions.defaults.dir).toEqual('Open') | |||
}) | |||
it('redirects to files app when opening a directory', function() { | |||
var oldList = OCA.Files.App.fileList; | |||
const oldList = OCA.Files.App.fileList | |||
// dummy new list to make sure it exists | |||
OCA.Files.App.fileList = new OCA.Files.FileList($('<table><thead></thead><tbody></tbody></table>')); | |||
OCA.Files.App.fileList = new OCA.Files.FileList($('<table><thead></thead><tbody></tbody></table>')) | |||
var setActiveViewStub = sinon.stub(OCA.Files.App, 'setActiveView'); | |||
const setActiveViewStub = sinon.stub(OCA.Files.App, 'setActiveView') | |||
// create dummy table so we can click the dom | |||
var $table = '<table><thead></thead><tbody id="fileList"></tbody></table>'; | |||
$('#app-content-extstoragemounts').append($table); | |||
const $table = '<table><thead></thead><tbody id="fileList"></tbody></table>' | |||
$('#app-content-extstoragemounts').append($table) | |||
App._inFileList = null; | |||
fileList = App.initList($('#app-content-extstoragemounts')); | |||
App._inFileList = null | |||
fileList = App.initList($('#app-content-extstoragemounts')) | |||
fileList.setFiles([{ | |||
name: 'testdir', | |||
type: 'dir', | |||
path: '/somewhere/inside/subdir', | |||
counterParts: ['user2'], | |||
shareOwner: 'user2' | |||
}]); | |||
shareOwner: 'user2', | |||
}]) | |||
fileList.findFileEl('testdir').find('td a.name').click(); | |||
fileList.findFileEl('testdir').find('td a.name').click() | |||
expect(OCA.Files.App.fileList.getCurrentDirectory()).toEqual('/somewhere/inside/subdir/testdir'); | |||
expect(OCA.Files.App.fileList.getCurrentDirectory()).toEqual('/somewhere/inside/subdir/testdir') | |||
expect(setActiveViewStub.calledOnce).toEqual(true); | |||
expect(setActiveViewStub.calledWith('files')).toEqual(true); | |||
expect(setActiveViewStub.calledOnce).toEqual(true) | |||
expect(setActiveViewStub.calledWith('files')).toEqual(true) | |||
setActiveViewStub.restore(); | |||
setActiveViewStub.restore() | |||
// restore old list | |||
OCA.Files.App.fileList = oldList; | |||
}); | |||
}); | |||
}); | |||
OCA.Files.App.fileList = oldList | |||
}) | |||
}) | |||
}) |
@@ -39,5 +39,5 @@ Vue.use(Vuex) | |||
export { | |||
Vue, | |||
View | |||
View, | |||
} |
@@ -30,8 +30,8 @@ | |||
:menu-position="'left'" | |||
:url="share.shareWithAvatar" /> | |||
<component :is="share.shareWithLink ? 'a' : 'div'" | |||
:href="share.shareWithLink" | |||
v-tooltip.auto="tooltip" | |||
:href="share.shareWithLink" | |||
class="sharing-entry__desc"> | |||
<h5>{{ title }}<span v-if="!isUnique" class="sharing-entry__desc-unique"> ({{ share.shareWithDisplayNameUnique }})</span></h5> | |||
<p v-if="hasStatus"> |
@@ -33,7 +33,7 @@ import { CollectionList } from 'nextcloud-vue-collections' | |||
export default { | |||
name: 'CollaborationView', | |||
components: { | |||
CollectionList | |||
CollectionList, | |||
}, | |||
computed: { | |||
fileId() { | |||
@@ -47,7 +47,7 @@ export default { | |||
return '' + this.$root.model.name | |||
} | |||
return '' | |||
} | |||
} | |||
}, | |||
}, | |||
} | |||
</script> |
@@ -1,12 +1,12 @@ | |||
const path = require('path'); | |||
const path = require('path') | |||
module.exports = { | |||
entry: { | |||
'additionalScripts': path.join(__dirname, 'src', 'additionalScripts.js'), | |||
'collaboration': path.join(__dirname, 'src', 'collaborationresourceshandler.js'), | |||
'files_sharing_tab': path.join(__dirname, 'src', 'files_sharing_tab.js'), | |||
'files_sharing': path.join(__dirname, 'src', 'files_sharing.js'), | |||
'main': path.join(__dirname, 'src', 'index.js'), | |||
additionalScripts: path.join(__dirname, 'src', 'additionalScripts.js'), | |||
collaboration: path.join(__dirname, 'src', 'collaborationresourceshandler.js'), | |||
files_sharing_tab: path.join(__dirname, 'src', 'files_sharing_tab.js'), | |||
files_sharing: path.join(__dirname, 'src', 'files_sharing.js'), | |||
main: path.join(__dirname, 'src', 'index.js'), | |||
'personal-settings': path.join(__dirname, 'src', 'personal-settings.js'), | |||
}, | |||
output: { | |||
@@ -14,6 +14,6 @@ module.exports = { | |||
publicPath: '/js/', | |||
filename: '[name].js', | |||
chunkFilename: 'files_sharing.[id].js?v=[chunkhash]', | |||
jsonpFunction: 'webpackJsonpFilesSharing' | |||
} | |||
jsonpFunction: 'webpackJsonpFilesSharing', | |||
}, | |||
} |
@@ -6,6 +6,6 @@ module.exports = { | |||
path: path.resolve(__dirname, './js'), | |||
publicPath: '/js/', | |||
filename: 'files_trashbin.js', | |||
jsonpFunction: 'webpackJsonpFilesTrashbin' | |||
} | |||
jsonpFunction: 'webpackJsonpFilesTrashbin', | |||
}, | |||
} |
@@ -6,6 +6,6 @@ module.exports = { | |||
path: path.resolve(__dirname, 'js'), | |||
publicPath: '/js/', | |||
filename: 'files_versions.js', | |||
jsonpFunction: 'webpackJsonpFilesVersions' | |||
} | |||
jsonpFunction: 'webpackJsonpFilesVersions', | |||
}, | |||
} |
@@ -28,9 +28,7 @@ | |||
<table v-if="clients.length > 0" class="grid"> | |||
<thead> | |||
<tr> | |||
<th id="headerContent"> | |||
</th> | |||
<th id="headerContent" /> | |||
<th id="headerRemove"> | |||
| |||
</th> |
@@ -6,6 +6,6 @@ module.exports = { | |||
path: path.resolve(__dirname, './js'), | |||
publicPath: '/js', | |||
filename: 'oauth2.js', | |||
jsonpFunction: 'webpackJsonpOauth' | |||
} | |||
jsonpFunction: 'webpackJsonpOauth', | |||
}, | |||
} |
@@ -1,40 +0,0 @@ | |||
<!-- | |||
- @copyright Copyright (c) 2018 John Molakvoæ <skjnldsv@protonmail.com> | |||
- | |||
- @author John Molakvoæ <skjnldsv@protonmail.com> | |||
- | |||
- @license GNU AGPL version 3 or any later version | |||
- | |||
- This program is free software: you can redistribute it and/or modify | |||
- it under the terms of the GNU Affero General Public License as | |||
- published by the Free Software Foundation, either version 3 of the | |||
- License, or (at your option) any later version. | |||
- | |||
- This program is distributed in the hope that it will be useful, | |||
- but WITHOUT ANY WARRANTY; without even the implied warranty of | |||
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |||
- GNU Affero General Public License for more details. | |||
- | |||
- You should have received a copy of the GNU Affero General Public License | |||
- along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
- | |||
--> | |||
<template> | |||
<ul> | |||
<popover-item v-for="(item, key) in menu" :item="item" :key="key" /> | |||
</ul> | |||
</template> | |||
<script> | |||
import popoverItem from './popoverMenu/popoverItem'; | |||
export default { | |||
name: 'popoverMenu', | |||
props: ['menu'], | |||
components: { | |||
popoverItem | |||
} | |||
} | |||
</script> |
@@ -6,6 +6,6 @@ module.exports = { | |||
path: path.resolve(__dirname, './js'), | |||
publicPath: '/js/', | |||
filename: 'systemtags.js', | |||
jsonpFunction: 'webpackJsonpSystemtags' | |||
} | |||
jsonpFunction: 'webpackJsonpSystemtags', | |||
}, | |||
} |
@@ -6,6 +6,6 @@ module.exports = { | |||
path: path.resolve(__dirname, 'js'), | |||
publicPath: '/js', | |||
filename: 'settings.js', | |||
jsonpFunction: 'webpackJsonpTwofactorBackupcodes' | |||
} | |||
jsonpFunction: 'webpackJsonpTwofactorBackupcodes', | |||
}, | |||
} |
@@ -93,7 +93,7 @@ | |||
<span id="channel_save_msg" class="msg" /><br> | |||
<p> | |||
<em>{{ t('updatenotification', 'You can always update to a newer version. But you can never downgrade to a more stable version.') }}</em><br> | |||
<em v-html="noteDelayedStableString"></em> | |||
<em v-html="noteDelayedStableString" /> | |||
</p> | |||
<p id="oca_updatenotification_groups"> |
@@ -6,6 +6,6 @@ module.exports = { | |||
path: path.resolve(__dirname, './js'), | |||
publicPath: '/js/', | |||
filename: 'updatenotification.js', | |||
jsonpFunction: 'webpackJsonpUpdatenotification' | |||
} | |||
jsonpFunction: 'webpackJsonpUpdatenotification', | |||
}, | |||
} |
@@ -2,25 +2,25 @@ const path = require('path') | |||
module.exports = { | |||
entry: { | |||
'weather-status': path.join(__dirname, 'src', 'weather-status') | |||
'weather-status': path.join(__dirname, 'src', 'weather-status'), | |||
}, | |||
output: { | |||
path: path.resolve(__dirname, './js'), | |||
publicPath: '/js/', | |||
filename: '[name].js?v=[chunkhash]', | |||
jsonpFunction: 'webpackJsonpWeatherStatus' | |||
jsonpFunction: 'webpackJsonpWeatherStatus', | |||
}, | |||
optimization: { | |||
splitChunks: { | |||
automaticNameDelimiter: '-', | |||
} | |||
}, | |||
}, | |||
module: { | |||
rules: [ | |||
{ | |||
test: /\.(png|jpg|gif|svg|woff|woff2|eot|ttf)$/, | |||
loader: 'url-loader', | |||
}, | |||
], | |||
rules: [ | |||
{ | |||
test: /\.(png|jpg|gif|svg|woff|woff2|eot|ttf)$/, | |||
loader: 'url-loader', | |||
}, | |||
], | |||
}, | |||
} |
@@ -1,4 +1,4 @@ | |||
const path = require('path'); | |||
const path = require('path') | |||
module.exports = { | |||
entry: path.join(__dirname, 'src', 'workflowengine.js'), | |||
@@ -6,6 +6,6 @@ module.exports = { | |||
path: path.resolve(__dirname, './js'), | |||
publicPath: '/js/', | |||
filename: 'workflowengine.js', | |||
jsonpFunction: 'webpackJsonpWorkflowengine' | |||
} | |||
jsonpFunction: 'webpackJsonpWorkflowengine', | |||
}, | |||
} |
@@ -0,0 +1,9 @@ | |||
module.exports = { | |||
globals: { | |||
jsdom: true, | |||
sinon: true, | |||
}, | |||
rules: { | |||
"node/no-unpublished-import": 'off' | |||
} | |||
} |
@@ -1,4 +1,4 @@ | |||
/* | |||
/** | |||
* @copyright 2020 Christoph Wurst <christoph@winzerhof-wurst.at> | |||
* | |||
* @author 2020 Christoph Wurst <christoph@winzerhof-wurst.at> | |||
@@ -19,10 +19,10 @@ | |||
* along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
*/ | |||
import {JSDOM} from 'jsdom' | |||
import {subscribe, unsubscribe} from '@nextcloud/event-bus' | |||
import { JSDOM } from 'jsdom' | |||
import { subscribe, unsubscribe } from '@nextcloud/event-bus' | |||
import {manageToken, setToken} from '../../OC/requesttoken' | |||
import { manageToken, setToken } from '../../OC/requesttoken' | |||
describe('request token', () => { | |||
@@ -66,7 +66,7 @@ describe('request token', () => { | |||
it('fires off an event for @nextcloud/auth', () => { | |||
setToken('123') | |||
expect(listener).to.have.been.calledWith({token: '123'}) | |||
expect(listener).to.have.been.calledWith({ token: '123' }) | |||
}) | |||
}) | |||
@@ -21,8 +21,8 @@ | |||
require('jsdom-global')() | |||
const chai = require('chai') | |||
var sinon = require('sinon') | |||
var sinonChai = require('sinon-chai'); | |||
const sinon = require('sinon') | |||
const sinonChai = require('sinon-chai') | |||
chai.use(sinonChai) | |||
global.expect = chai.expect |
@@ -164,8 +164,8 @@ export default { | |||
}, | |||
hideLoginForm: { | |||
type: Boolean, | |||
default: false | |||
} | |||
default: false, | |||
}, | |||
}, | |||
data() { | |||
return { |
@@ -33,7 +33,7 @@ module.exports = [ | |||
}, | |||
plugins: [ | |||
new webpack.ProvidePlugin({ | |||
'_': 'underscore', | |||
_: 'underscore', | |||
$: 'jquery', | |||
jQuery: 'jquery', | |||
}), |
@@ -19,13 +19,13 @@ | |||
* along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
*/ | |||
const { merge } = require('webpack-merge'); | |||
const common = require('./webpack.js'); | |||
const { merge } = require('webpack-merge') | |||
const common = require('./webpack.js') | |||
// webpack.config.js | |||
const nodeExternals = require('webpack-node-externals') | |||
module.exports = merge(common[0], { | |||
mode: 'development', | |||
devtool: 'inline-cheap-module-source-map', | |||
externals: [nodeExternals()] | |||
externals: [nodeExternals()], | |||
}) |
@@ -37,7 +37,7 @@ const modules = { | |||
weather_status, | |||
twofactor_backupscodes, | |||
updatenotification, | |||
workflowengine | |||
workflowengine, | |||
} | |||
const modulesToBuild = () => { | |||
@@ -46,7 +46,7 @@ const modulesToBuild = () => { | |||
if (!modules[MODULE]) { | |||
throw new Error(`No module "${MODULE}" found`) | |||
} | |||
return [ modules[MODULE] ] | |||
return [modules[MODULE]] | |||
} | |||
return Object.values(modules) | |||
} |
@@ -1,5 +1,5 @@ | |||
const { merge } = require('webpack-merge'); | |||
const common = require('./webpack.common.js'); | |||
const { merge } = require('webpack-merge') | |||
const common = require('./webpack.common.js') | |||
module.exports = common.map( | |||
config => merge(config, { |
@@ -1,6 +1,6 @@ | |||
const { merge } = require('webpack-merge') | |||
const common = require('./webpack.common.js') | |||
const TerserPlugin = require('terser-webpack-plugin'); | |||
const TerserPlugin = require('terser-webpack-plugin') | |||
module.exports = common.map( | |||
config => merge(config, { |