Merge pull request #1430 from ONLYOFFICE/feature/from-ver-6-4-3

Feature/from ver 6 4 3
This commit is contained in:
catbasilio 2021-12-21 17:36:33 +03:00 committed by GitHub
commit d6cab36185
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
15 changed files with 141 additions and 64 deletions

View file

@ -97,10 +97,13 @@ class SearchView extends Component {
componentDidMount(){
this.$replace = $$('#idx-replace-val');
const $editor = $$('#editor_sdk');
$editor.on('pointerdown', this.onEditorTouchStart.bind(this));
$editor.on('pointerup', this.onEditorTouchEnd.bind(this));
this.onEditorTouchStart = this.onEditorTouchStart.bind(this);
this.onEditorTouchEnd = this.onEditorTouchEnd.bind(this);
$editor.on('pointerdown', this.onEditorTouchStart);
$editor.on('pointerup', this.onEditorTouchEnd);
if( !this.searchbar ) {
this.searchbar = f7.searchbar.get('.searchbar');
@ -123,11 +126,8 @@ class SearchView extends Component {
}
componentWillUnmount() {
const $$ = Dom7;
const $editor = $$('#editor_sdk');
$editor.off('pointerdown', this.onEditorTouchStart.bind(this));
$editor.off('pointerup', this.onEditorTouchEnd.bind(this));
$$('#editor_sdk').off('pointerdown', this.onEditorTouchStart)
.off('pointerup', this.onEditorTouchEnd);
}
onSettingsClick(e) {
@ -192,6 +192,7 @@ class SearchView extends Component {
}
onEditorTouchStart(e) {
console.log('taouch start');
this.startPoint = this.pointerPosition(e);
}

View file

@ -27,6 +27,15 @@
}
}
.settings-about-logo {
display: flex;
justify-content: center;
img {
max-width: 100%;
height: auto;
}
}
h3 {
font-weight: normal;
margin: 0;

View file

@ -4,10 +4,9 @@ import { f7 } from 'framework7-react';
import { useTranslation } from 'react-i18next';
import ToolbarView from "../view/Toolbar";
const ToolbarController = inject('storeAppOptions', 'users', 'storeReview', 'storeFocusObjects', 'storeToolbarSettings')(observer(props => {
const ToolbarController = inject('storeAppOptions', 'users', 'storeReview', 'storeFocusObjects', 'storeToolbarSettings','storeDocumentInfo')(observer(props => {
const {t} = useTranslation();
const _t = t("Toolbar", { returnObjects: true });
const appOptions = props.storeAppOptions;
const isDisconnected = props.users.isDisconnected;
const displayMode = props.storeReview.displayMode;
@ -20,11 +19,16 @@ const ToolbarController = inject('storeAppOptions', 'users', 'storeReview', 'sto
const storeToolbarSettings = props.storeToolbarSettings;
const isCanUndo = storeToolbarSettings.isCanUndo;
const isCanRedo = storeToolbarSettings.isCanRedo;
const disabledControls = storeToolbarSettings.disabledControls;
const disabledEditControls = storeToolbarSettings.disabledEditControls;
const disabledSettings = storeToolbarSettings.disabledSettings;
const showEditDocument = !appOptions.isEdit && appOptions.canEdit && appOptions.canRequestEditRights;
const docInfo = props.storeDocumentInfo;
const docTitle = docInfo.dataDoc ? docInfo.dataDoc.title : '';
useEffect(() => {
Common.Notifications.on('setdoctitle', setDocTitle);
Common.Gateway.on('init', loadConfig);
Common.Notifications.on('toolbar:activatecontrols', activateControls);
Common.Notifications.on('toolbar:deactivateeditcontrols', deactivateEditControls);
@ -37,24 +41,19 @@ const ToolbarController = inject('storeAppOptions', 'users', 'storeReview', 'sto
}
return () => {
Common.Notifications.off('setdoctitle', setDocTitle);
Common.Notifications.off('toolbar:activatecontrols', activateControls);
Common.Notifications.off('toolbar:deactivateeditcontrols', deactivateEditControls);
Common.Notifications.off('goback', goBack);
}
});
const [docTitle, resetDocTitle] = useState('');
const setDocTitle = (title) => {
resetDocTitle(title);
}
// Back button
const [isShowBack, setShowBack] = useState(false);
const [isShowBack, setShowBack] = useState(appOptions.canBackToFolder);
const loadConfig = (data) => {
if (data && data.config && data.config.canBackToFolder !== false &&
data.config.customization && data.config.customization.goback &&
(data.config.customization.goback.url || data.config.customization.goback.requestClose && data.config.canRequestClose)) {
(data.config.customization.goback.url || data.config.customization.goback.requestClose && data.config.canRequestClose))
{
setShowBack(true);
}
};
@ -108,20 +107,17 @@ const ToolbarController = inject('storeAppOptions', 'users', 'storeReview', 'sto
}
}
const [disabledEditControls, setDisabledEditControls] = useState(false);
const [disabledSettings, setDisabledSettings] = useState(false);
const deactivateEditControls = (enableDownload) => {
setDisabledEditControls(true);
storeToolbarSettings.setDisabledEditControls(true);
if (enableDownload) {
//DE.getController('Settings').setMode({isDisconnected: true, enableDownload: enableDownload});
} else {
setDisabledSettings(true);
storeToolbarSettings.setDisabledSettings(true);
}
};
const [disabledControls, setDisabledControls] = useState(true);
const activateControls = () => {
setDisabledControls(false);
storeToolbarSettings.setDisabledControls(false);
};
const onEditDocument = () => {

View file

@ -97,7 +97,7 @@ class MainPage extends Component {
<Page name="home" className={`editor${ showLogo ? ' page-with-logo' : ''}`}>
{/* Top Navbar */}
<Navbar id='editor-navbar' className={`main-navbar${showLogo ? ' navbar-with-logo' : ''}`}>
{showLogo && <div className="main-logo"><Icon icon="icon-logo"></Icon></div>}
{showLogo && appOptions.canBranding !== undefined && <div className="main-logo"><Icon icon="icon-logo"></Icon></div>}
<Subnavbar>
<Toolbar openOptions={this.handleClickToOpenOptions} closeOptions={this.handleOptionsViewClosed}/>
<Search useSuspense={false}/>

View file

@ -6,10 +6,34 @@ export class storeToolbarSettings {
isCanUndo: observable,
setCanUndo: action,
isCanRedo: observable,
setCanRedo: action
setCanRedo: action,
disabledControls: observable,
setDisabledControls: action,
disabledEditControls: observable,
setDisabledEditControls: action,
disabledSettings: observable,
setDisabledSettings: action
})
}
disabledControls = true;
setDisabledControls(value) {
this.disabledControls = value;
}
disabledEditControls = false;
setDisabledEditControls(value) {
this.disabledEditControls = value;
}
disabledSettings = false;
setDisabledSettings(value) {
this.disabledSettings = value;
}
isCanUndo = false;
setCanUndo(can) {

View file

@ -4,7 +4,7 @@ import { f7 } from 'framework7-react';
import { useTranslation } from 'react-i18next';
import ToolbarView from "../view/Toolbar";
const ToolbarController = inject('storeAppOptions', 'users', 'storeFocusObjects', 'storeToolbarSettings')(observer(props => {
const ToolbarController = inject('storeAppOptions', 'users', 'storeFocusObjects', 'storeToolbarSettings', 'storePresentationInfo')(observer(props => {
const {t} = useTranslation();
const _t = t("Toolbar", { returnObjects: true });
@ -20,9 +20,14 @@ const ToolbarController = inject('storeAppOptions', 'users', 'storeFocusObjects'
const isCanUndo = storeToolbarSettings.isCanUndo;
const isCanRedo = storeToolbarSettings.isCanRedo;
const disabledPreview = storeToolbarSettings.countPages <= 0;
const disabledControls = storeToolbarSettings.disabledControls;
const disabledEditControls = storeToolbarSettings.disabledEditControls;
const disabledSettings = storeToolbarSettings.disabledSettings;
const docInfo = props.storePresentationInfo;
const docTitle = docInfo.dataDoc ? docInfo.dataDoc.title : '';
useEffect(() => {
Common.Notifications.on('setdoctitle', setDocTitle);
Common.Gateway.on('init', loadConfig);
Common.Notifications.on('toolbar:activatecontrols', activateControls);
Common.Notifications.on('toolbar:deactivateeditcontrols', deactivateEditControls);
@ -35,24 +40,19 @@ const ToolbarController = inject('storeAppOptions', 'users', 'storeFocusObjects'
}
return () => {
Common.Notifications.off('setdoctitle', setDocTitle);
Common.Notifications.off('toolbar:activatecontrols', activateControls);
Common.Notifications.off('toolbar:deactivateeditcontrols', deactivateEditControls);
Common.Notifications.off('goback', goBack);
}
});
const [docTitle, resetDocTitle] = useState('');
const setDocTitle = (title) => {
resetDocTitle(title);
}
// Back button
const [isShowBack, setShowBack] = useState(false);
const [isShowBack, setShowBack] = useState(appOptions.canBackToFolder);
const loadConfig = (data) => {
if (data && data.config && data.config.canBackToFolder !== false &&
data.config.customization && data.config.customization.goback &&
(data.config.customization.goback.url || data.config.customization.goback.requestClose && data.config.canRequestClose)) {
(data.config.customization.goback.url || data.config.customization.goback.requestClose && data.config.canRequestClose))
{
setShowBack(true);
}
};
@ -108,21 +108,17 @@ const ToolbarController = inject('storeAppOptions', 'users', 'storeFocusObjects'
}
}
const [disabledEditControls, setDisabledEditControls] = useState(false);
const [disabledSettings, setDisabledSettings] = useState(false);
const deactivateEditControls = (enableDownload) => {
setDisabledEditControls(true);
storeToolbarSettings.setDisabledEditControls(true);
if (enableDownload) {
//DE.getController('Settings').setMode({isDisconnected: true, enableDownload: enableDownload});
} else {
setDisabledSettings(true);
storeToolbarSettings.setDisabledSettings(true);
}
};
const [disabledControls, setDisabledControls] = useState(true);
const activateControls = () => {
setDisabledControls(false);
storeToolbarSettings.setDisabledControls(false);
};
const onEditDocument = () => {

View file

@ -139,4 +139,4 @@
z-index: 1;
.encoded-svg-background('<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" viewBox="0 0 22 22" fill="#aa5252"><g><circle fill="#fff" cx="11" cy="11" r="11"/><path d="M11,21A10,10,0,1,1,21,11,10,10,0,0,1,11,21h0ZM17.4,7.32L17.06,7a0.48,0.48,0,0,0-.67,0l-7,6.84L6.95,11.24a0.51,0.51,0,0,0-.59.08L6,11.66a0.58,0.58,0,0,0,0,.65l3.19,3.35a0.38,0.38,0,0,0,.39,0L17.4,8a0.48,0.48,0,0,0,0-.67h0Z"/></g></svg>');
}
}
}

View file

@ -105,7 +105,7 @@ class MainPage extends Component {
<Page name="home" className={`editor${ showLogo ? ' page-with-logo' : ''}`}>
{/* Top Navbar */}
<Navbar id='editor-navbar' className={`main-navbar${showLogo ? ' navbar-with-logo' : ''}`}>
{showLogo && <div className="main-logo"><Icon icon="icon-logo"></Icon></div>}
{showLogo && appOptions.canBranding && <div className="main-logo"><Icon icon="icon-logo"></Icon></div>}
<Subnavbar>
<Toolbar openOptions={this.handleClickToOpenOptions} closeOptions={this.handleOptionsViewClosed}/>
<Search useSuspense={false}/>

View file

@ -11,6 +11,7 @@ export class storeAppOptions {
lostEditingRights: observable,
changeEditingRights: action,
canBrandingExt: observable,
isDocReady: observable,
changeDocReady: action
@ -19,6 +20,7 @@ export class storeAppOptions {
isEdit = false;
canViewComments = false;
canBrandingExt = false;
config = {};
lostEditingRights = false;

View file

@ -8,10 +8,34 @@ export class storeToolbarSettings {
isCanRedo: observable,
setCanRedo: action,
countPages: observable,
setCountPages: action
setCountPages: action,
disabledControls: observable,
setDisabledControls: action,
disabledEditControls: observable,
setDisabledEditControls: action,
disabledSettings: observable,
setDisabledSettings: action
})
}
disabledControls = true;
setDisabledControls(value) {
this.disabledControls = value;
}
disabledEditControls = false;
setDisabledEditControls(value) {
this.disabledEditControls = value;
}
disabledSettings = false;
setDisabledSettings(value) {
this.disabledSettings = value;
}
isCanUndo = false;
setCanUndo(can) {

View file

@ -29,10 +29,12 @@ const ToolbarController = inject('storeAppOptions', 'users', 'storeSpreadsheetIn
const storeToolbarSettings = props.storeToolbarSettings;
const isCanUndo = storeToolbarSettings.isCanUndo;
const isCanRedo = storeToolbarSettings.isCanRedo;
const disabledControls = storeToolbarSettings.disabledControls;
const disabledEditControls = storeToolbarSettings.disabledEditControls;
const disabledSettings = storeToolbarSettings.disabledSettings;
useEffect(() => {
Common.Gateway.on('init', loadConfig);
Common.Notifications.on('toolbar:activatecontrols', activateControls);
Common.Notifications.on('toolbar:deactivateeditcontrols', deactivateEditControls);
Common.Notifications.on('goback', goBack);
@ -53,11 +55,12 @@ const ToolbarController = inject('storeAppOptions', 'users', 'storeSpreadsheetIn
});
// Back button
const [isShowBack, setShowBack] = useState(false);
const [isShowBack, setShowBack] = useState(appOptions.canBackToFolder);
const loadConfig = (data) => {
if (data && data.config && data.config.canBackToFolder !== false &&
data.config.customization && data.config.customization.goback &&
(data.config.customization.goback.url || data.config.customization.goback.requestClose && data.config.canRequestClose)) {
(data.config.customization.goback.url || data.config.customization.goback.requestClose && data.config.canRequestClose))
{
setShowBack(true);
}
};
@ -113,26 +116,21 @@ const ToolbarController = inject('storeAppOptions', 'users', 'storeSpreadsheetIn
}
}
const [disabledEditControls, setDisabledEditControls] = useState(false);
const onApiActiveSheetChanged = (index) => {
Common.Notifications.trigger('comments:filterchange', ['doc', 'sheet' + Common.EditorApi.get().asc_getWorksheetId(index)], false );
};
const [disabledSettings, setDisabledSettings] = useState(false);
const deactivateEditControls = (enableDownload) => {
setDisabledEditControls(true);
storeToolbarSettings.setDisabledEditControls(true);
if (enableDownload) {
//DE.getController('Settings').setMode({isDisconnected: true, enableDownload: enableDownload});
} else {
setDisabledSettings(true);
storeToolbarSettings.setDisabledSettings(true);
}
};
const [disabledControls, setDisabledControls] = useState(true);
const activateControls = () => {
setDisabledControls(false);
storeToolbarSettings.setDisabledControls(false);
};
const onEditDocument = () => {

View file

@ -104,7 +104,7 @@ class MainPage extends Component {
<Page name="home" className={`editor${ showLogo ? ' page-with-logo' : ''}`}>
{/* Top Navbar */}
<Navbar id='editor-navbar' className={`main-navbar${showLogo ? ' navbar-with-logo' : ''}`}>
{showLogo && <div className="main-logo"><Icon icon="icon-logo"></Icon></div>}
{showLogo && appOptions.canBranding !== undefined && <div className="main-logo"><Icon icon="icon-logo"></Icon></div>}
<Subnavbar>
<Toolbar openOptions={this.handleClickToOpenOptions} closeOptions={this.handleOptionsViewClosed}/>
<Search useSuspense={false}/>

View file

@ -11,6 +11,7 @@ export class storeAppOptions {
lostEditingRights: observable,
changeEditingRights: action,
canBranding: observable,
isDocReady: observable,
changeDocReady: action
@ -25,6 +26,7 @@ export class storeAppOptions {
this.canViewComments = value;
}
canBranding = undefined;
lostEditingRights = false;
changeEditingRights (value) {
this.lostEditingRights = value;
@ -76,6 +78,8 @@ export class storeAppOptions {
setPermissionOptions (document, licType, params, permissions, isSupportEditFeature) {
if (params.asc_getRights() !== Asc.c_oRights.Edit)
permissions.edit = false;
this.canBranding = params.asc_getCustomization();
this.canBrandingExt = params.asc_getCanBranding() && (typeof this.customization == 'object');
this.canAutosave = true;
this.canAnalytics = params.asc_getIsAnalyticsEnable();
this.canLicense = (licType === Asc.c_oLicenseResult.Success || licType === Asc.c_oLicenseResult.SuccessLimit);
@ -98,8 +102,6 @@ export class storeAppOptions {
this.trialMode = params.asc_getLicenseMode();
this.canDownloadOrigin = permissions.download !== false;
this.canDownload = permissions.download !== false;
this.canBranding = params.asc_getCustomization();
this.canBrandingExt = params.asc_getCanBranding() && (typeof this.customization == 'object');
this.canUseReviewPermissions = this.canLicense && (!!permissions.reviewGroups || this.customization
&& this.customization.reviewPermissions && (typeof (this.customization.reviewPermissions) == 'object'));
this.canUseCommentPermissions = this.canLicense && !!permissions.commentGroups;

View file

@ -6,10 +6,34 @@ export class storeToolbarSettings {
isCanUndo: observable,
setCanUndo: action,
isCanRedo: observable,
setCanRedo: action
setCanRedo: action,
disabledControls: observable,
setDisabledControls: action,
disabledEditControls: observable,
setDisabledEditControls: action,
disabledSettings: observable,
setDisabledSettings: action
})
}
disabledControls = true;
setDisabledControls(value) {
this.disabledControls = value;
}
disabledEditControls = false;
setDisabledEditControls(value) {
this.disabledEditControls = value;
}
disabledSettings = false;
setDisabledSettings(value) {
this.disabledSettings = value;
}
isCanUndo = false;
setCanUndo(can) {

View file

@ -173,7 +173,8 @@ module.exports = {
__PUBLISHER_NAME__: JSON.stringify(process.env.PUBLISHER_NAME || 'Ascensio System SIA'),
__APP_TITLE_TEXT__: JSON.stringify(process.env.APP_TITLE_TEXT ? process.env.APP_TITLE_TEXT : 'ONLYOFFICE'),
__COMPANY_NAME__: JSON.stringify(process.env.COMPANY_NAME ? process.env.COMPANY_NAME : 'ONLYOFFICE'),
__HELP_URL__: JSON.stringify(process.env.HELP_URL || 'https://helpcenter.onlyoffice.com')
__HELP_URL__: JSON.stringify(process.env.HELP_URL || 'https://helpcenter.onlyoffice.com'),
__SALES_EMAIL__: JSON.stringify(process.env.__SALES_EMAIL__ || 'sales@onlyoffice.com'),
}),
new webpack.BannerPlugin(`\n* Version: ${process.env.PRODUCT_VERSION} (build: ${process.env.BUILD_NUMBER})\n`),