Allow to have mutliple buttons on the filepicker

Signed-off-by: Joas Schilling <coding@schilljs.com>
This commit is contained in:
Joas Schilling 2019-09-25 14:55:13 +02:00 committed by Roeland Jago Douma
parent e35a31f53b
commit aa790a3961
No known key found for this signature in database
GPG key ID: F941078878347C0C
7 changed files with 25 additions and 12 deletions

BIN
core/js/dist/login.js vendored

Binary file not shown.

Binary file not shown.

BIN
core/js/dist/main.js vendored

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -41,6 +41,7 @@ const Dialogs = {
FILEPICKER_TYPE_MOVE: 2,
FILEPICKER_TYPE_COPY: 3,
FILEPICKER_TYPE_COPY_MOVE: 4,
FILEPICKER_TYPE_CUSTOM: 5,
// used to name each dialog
dialogsCounter: 0,
@ -446,6 +447,16 @@ const Dialogs = {
click: chooseCallback,
defaultButton: true
})
} else if (type === Dialogs.FILEPICKER_TYPE_CUSTOM) {
options.buttons.forEach(function(button) {
buttonlist.push({
text: button.text,
click: function() {
functionToCall(button.type)
},
defaultButton: button.defaultButton
})
})
} else {
if (type === Dialogs.FILEPICKER_TYPE_COPY || type === Dialogs.FILEPICKER_TYPE_COPY_MOVE) {
buttonlist.push({
@ -1253,18 +1264,20 @@ const Dialogs = {
var moveText = dir === '' ? t('core', 'Move') : t('core', 'Move to {folder}', { folder: dir })
var buttons = $('.oc-dialog-buttonrow button')
switch (type) {
case this.FILEPICKER_TYPE_CHOOSE:
break
case this.FILEPICKER_TYPE_COPY:
buttons.text(copyText)
break
case this.FILEPICKER_TYPE_MOVE:
buttons.text(moveText)
break
case this.FILEPICKER_TYPE_COPY_MOVE:
buttons.eq(0).text(copyText)
buttons.eq(1).text(moveText)
break
case this.FILEPICKER_TYPE_CHOOSE:
break
case this.FILEPICKER_TYPE_CUSTOM:
break
case this.FILEPICKER_TYPE_COPY:
buttons.text(copyText)
break
case this.FILEPICKER_TYPE_MOVE:
buttons.text(moveText)
break
case this.FILEPICKER_TYPE_COPY_MOVE:
buttons.eq(0).text(copyText)
buttons.eq(1).text(moveText)
break
}
}
}