Remove vex from _switchToEditMode function in permission.js.

Signed-off-by: Gökay Şatır <gokaysatir@collabora.com>
Change-Id: I444ea61eb6cf6c92858833a30be92ee9a6a36509
This commit is contained in:
Gökay Şatır 2023-03-10 13:48:38 +03:00 committed by Szymon Kłos
parent 489a323742
commit 1ba537d8bf
3 changed files with 84 additions and 26 deletions

View file

@ -1006,6 +1006,65 @@ L.Control.UIManager = L.Control.extend({
}
},
// Opens a yesno modal with configurable buttons.
showYesNoButton: function(id, title, message, yesButtonText, noButtonText, yesFunction, noFunction, cancellable) {
var dialogId = this.generateModalId(id);
var json = this._modalDialogJSON(id, title, cancellable, [
{
id: dialogId + '-title',
type: 'fixedtext',
text: title,
hidden: !window.mode.isMobile()
},
{
id: dialogId + '-label',
type: 'fixedtext',
text: message
},
{
id: '',
type: 'buttonbox',
text: '',
enabled: true,
children: [
noButtonText ? {
id: dialogId + '-nobutton',
type: 'pushbutton',
text: noButtonText
} : { type: 'container' },
{
id: dialogId + '-yesbutton',
type: 'pushbutton',
text: yesButtonText,
}
],
vertical: false,
layoutstyle: 'end'
},
]);
this.showModal(json,
[
{
id: dialogId + '-nobutton',
func: function() {
if (typeof noFunction === 'function')
noFunction();
this.closeModal(dialogId);
}.bind(this)
},
{
id: dialogId + '-yesbutton',
func: function() {
if (typeof yesFunction === 'function')
yesFunction();
this.closeModal(dialogId);
}.bind(this)
}
]);
},
/// shows simple confirm modal (message + (cancel + ok) button)
/// id - id of a dialog
/// title - title of a dialog

View file

@ -2,7 +2,7 @@
/*
* Document permission handler
*/
/* global app $ _ vex */
/* global app $ _ */
L.Map.include({
readonlyStartingFormats: {
'txt': { canEdit: true, odfFormat: 'odt' },
@ -148,30 +148,31 @@ L.Map.include({
_switchToEditMode: function () {
// This will be handled by the native mobile app instead
if (this._shouldStartReadOnly() && !window.ThisIsAMobileApp) {
var that = this;
var fileName = this['wopi'].BaseFileName;
var extension = this._getFileExtension(fileName);
var extensionInfo = this.readonlyStartingFormats[extension];
var buttonList = [];
if (!this['wopi'].UserCanNotWriteRelative) {
buttonList.push($.extend({}, vex.dialog.buttons.YES, { text: _('Save as ODF format') }));
}
buttonList.push($.extend({}, vex.dialog.buttons.NO, { text: extensionInfo.canEdit ? _('Continue editing') : _('Continue read only')}));
var yesButtonText = !this['wopi'].UserCanNotWriteRelative ? _('Save as ODF format'): null;
var noButtonText = extensionInfo.canEdit ? _('Continue editing') : _('Continue read only');
vex.dialog.open({
message: _('This document may contain formatting or content that cannot be saved in the current file format.'),
overlayClosesOnClick: false,
callback: L.bind(function (value) {
if (value) {
// offer save-as instead
this._offerSaveAs();
} else {
this._proceedEditMode();
}
}, that),
buttons: buttonList
});
if (!yesButtonText) {
yesButtonText = noButtonText;
noButtonText = null;
}
var yesFunction = !noButtonText ? function() { this._proceedEditMode(); }.bind(this) : function() { this._offerSaveAs(); }.bind(this);
var noFunction = function() { this._proceedEditMode(); }.bind(this);
this.uiManager.showYesNoButton(
'switch-to-edit-mode-modal', // id.
'', // Title.
_('This document may contain formatting or content that cannot be saved in the current file format.'), // Message.
yesButtonText,
noButtonText,
yesFunction,
noFunction,
false // Cancellable.
);
} else {
this._proceedEditMode();
}

View file

@ -83,7 +83,7 @@ describe('Open different file types', function () {
.should('be.visible')
.click();
cy.get('.vex-content button').click();
cy.get('#modal-dialog-switch-to-edit-mode-modal-yesbutton').click();
assertData();
});
@ -94,19 +94,17 @@ describe('Open different file types', function () {
cy.get('#mobile-edit-button').should('be.visible')
.click();
cy.get('.vex-overlay').should('be.visible');
cy.get('#modal-dialog-switch-to-edit-mode-modal-overlay').should('be.visible');
cy.get('.vex-dialog-message')
cy.get('#modal-dialog-switch-to-edit-mode-modal-label')
.should('have.text', 'This document may contain formatting or content that cannot be saved in the current file format.');
cy.get('.vex-dialog-buttons button')
cy.get('#modal-dialog-switch-to-edit-mode-modal-yesbutton')
.should('have.text', 'Continue read only')
.click();
cy.get('#PermissionMode').should('be.visible')
.should('have.text', ' Read-only ');
cy.get('.vex-overlay').should('be.visible');
});
it('Open xlsm file' ,function() {