Edit rules for lock

This commit is contained in:
OVSharova 2021-08-03 02:06:03 +03:00
parent 6789977f04
commit 4869a9a604
4 changed files with 29 additions and 48 deletions

View file

@ -2414,7 +2414,7 @@ define([
var transitController = me.getApplication().getController('Transitions'); var transitController = me.getApplication().getController('Transitions');
transitController.setApi(me.api).setConfig({toolbar: me,mode:config}).createToolbarPanel(); transitController.setApi(me.api).setConfig({toolbar: me,mode:config}).createToolbarPanel();
Array.prototype.push.apply(me.toolbar.lockControls,transitController.getView().getButtons());
me.toolbar.btnSave.on('disabled', _.bind(me.onBtnChangeState, me, 'save:disabled')); me.toolbar.btnSave.on('disabled', _.bind(me.onBtnChangeState, me, 'save:disabled'));
if (!(config.customization && config.customization.compactHeader)) { if (!(config.customization && config.customization.compactHeader)) {

View file

@ -82,35 +82,26 @@ define([
}, },
setConfig: function (config) { setConfig: function (config) {
this.appConfig = config.mode; this.appConfig = config.mode;
//this.setApi(config.api);
this.view = this.createView('PE.Views.Transitions', { this.view = this.createView('PE.Views.Transitions', {
toolbar: config.toolbar, toolbar: config.toolbar,
mode: config.mode mode: config.mode
}); });
this.applyLayout();
return this; return this;
}, },
applyLayout: function () {
this.lockToolbar(PE.enumLock.disableOnStart, true);
},
setApi: function (api) { setApi: function (api) {
this.api = api; this.api = api;
this.api.asc_registerCallback('asc_onFocusObject', _.bind(this.onFocusObject, this)); this.api.asc_registerCallback('asc_onFocusObject', _.bind(this.onFocusObject, this));
this.api.asc_registerCallback('asc_onDocumentContentReady', _.bind(this.onDocumentContentReady, this)); this.api.asc_registerCallback('asc_onCountPages', _.bind(this.onApiCountPagesRestricted, this));
return this; return this;
}, },
onDocumentContentReady: function () onApiCountPagesRestricted: function (count){
{ if (this._state.no_slides !== (count<=0)) {
this.lockToolbar(PE.enumLock.disableOnStart, false); this._state.no_slides = (count<=0);
this._state.activated = true; this.lockToolbar(PE.enumLock.noSlides, this._state.no_slides);
}
}, },
/*setMode: function(mode) {
this.appConfig = mode;
//this.view = this.createView('PE.Views.Transitions', { mode: mode });
return this;
},*/
loadDocument: function(data) { loadDocument: function(data) {
this.document = data.doc; this.document = data.doc;
@ -211,16 +202,9 @@ define([
props.put_transition(transition); props.put_transition(transition);
this.api.SetSlideProps(props); this.api.SetSlideProps(props);
} }
}, },
onFocusObject:function(selectedObjects){ onFocusObject:function(selectedObjects){
var me = this, var me = this;
slides_none=me.view.toolbar._state.no_slides;
if(slides_none!=undefined && me._state.no_slides!== slides_none) {
me.lockToolbar(PE.enumLock.noSlides, slides_none);
me._state.no_slides!== slides_none;
//me.view.setDisabled(slides_note);
}
for (var i=0; i<selectedObjects.length; i++) { for (var i=0; i<selectedObjects.length; i++) {
@ -232,27 +216,21 @@ define([
if (eltype == Asc.c_oAscTypeSelectElement.Slide) { if (eltype == Asc.c_oAscTypeSelectElement.Slide) {
var slide_deleted = undefined, var slide_deleted = undefined,
slide_layout_lock = undefined, locked_transition=undefined,
locked_transition = undefined,
pr; pr;
me._state.activated=me.view.toolbar.activated; me._state.activated=me.view.toolbar.activated;
pr=selectedObjects[i].get_ObjectValue(); pr=selectedObjects[i].get_ObjectValue();
slide_deleted = pr.get_LockDelete(); slide_deleted = pr.get_LockDelete();
slide_layout_lock = pr.get_LockLayout(); locked_transition = pr.get_LockTransition();
//locked_transition = pr.get_LockTransition();
if (slide_deleted !== undefined && me._state.slidecontrolsdisable !== slide_deleted) { if (slide_deleted !== undefined && me._state.slidecontrolsdisable !== slide_deleted) {
if (me._state.activated) me._state.slidecontrolsdisable = slide_deleted; if (me._state.activated) me._state.slidecontrolsdisable = slide_deleted;
me.lockToolbar(PE.enumLock.slideDeleted, slide_deleted); me.lockToolbar(PE.enumLock.slideDeleted, slide_deleted);
} }
if (slide_layout_lock !== undefined && me._state.slidelayoutdisable !== slide_layout_lock ) { if (locked_transition !== undefined && me._state.lockedtransition !== locked_transition ) {
if (me._state.activated) me._state.slidelayoutdisable = slide_layout_lock;
me.lockToolbar(PE.enumLock.slideLock, slide_layout_lock);
}
/*if (locked_transition !== undefined && me._state.lockedtransition !== locked_transition ) {
if (me._state.activated) me._state.lockedtransition = locked_transition; if (me._state.activated) me._state.lockedtransition = locked_transition;
me.lockToolbar(PE.enumLock.slideLock, locked_transition); me.lockToolbar(PE.enumLock.transitLock, locked_transition);
}*/ }
} }
this.changeSettings(pr); this.changeSettings(pr);

View file

@ -82,7 +82,8 @@ define([
noTextSelected: 'no-text', noTextSelected: 'no-text',
inEquation: 'in-equation', inEquation: 'in-equation',
commentLock: 'can-comment', commentLock: 'can-comment',
noColumns: 'no-columns' noColumns: 'no-columns',
transitLock: 'transit-lock'
}; };
PE.Views.Toolbar = Common.UI.Mixtbar.extend(_.extend((function(){ PE.Views.Toolbar = Common.UI.Mixtbar.extend(_.extend((function(){

View file

@ -62,7 +62,6 @@ define([
me.listEffects.on('click', _.bind(function (combo,record){ me.listEffects.on('click', _.bind(function (combo,record){
me.fireEvent('transit:selecteffect',[combo,record]); me.fireEvent('transit:selecteffect',[combo,record]);
},me)); },me));
} }
if(me.btnPreview){ if(me.btnPreview){
me.btnPreview.on('click', _.bind(function(btn){ me.btnPreview.on('click', _.bind(function(btn){
@ -72,13 +71,11 @@ define([
if(me.btnParametrs) { if(me.btnParametrs) {
me.btnParametrs.on('click', function (e) { me.btnParametrs.on('click', function (e) {
me.fireEvent('transit:parametrs', ['current']); me.fireEvent('transit:parametrs', ['current']);
}); });
me.btnParametrs.menu.on('item:click', function (menu, item, e) { me.btnParametrs.menu.on('item:click', function (menu, item, e) {
me.fireEvent('transit:parametrs', [item]); me.fireEvent('transit:parametrs', [item]);
}); });
} }
if(me.btnApplyToAll){ if(me.btnApplyToAll){
me.btnApplyToAll.on('click', _.bind(function(btn){ me.btnApplyToAll.on('click', _.bind(function(btn){
@ -139,7 +136,7 @@ define([
itemHeight: 40, itemHeight: 40,
enableKeyEvents: true, enableKeyEvents: true,
disabled:true, disabled:true,
lock:[_set.slideDeleted,_set.slideLock,_set.disableOnStart], lock:[_set.slideDeleted,_set.noSlides,_set.disableOnStart,_set.transitLock],
beforeOpenHandler: function (e) { beforeOpenHandler: function (e) {
var cmp = this, var cmp = this,
menu = cmp.openButton.menu//, menu = cmp.openButton.menu//,
@ -184,7 +181,7 @@ define([
split: false, split: false,
disabled:true, disabled:true,
iconCls: 'toolbar__icon btn-preview', iconCls: 'toolbar__icon btn-preview',
lock:[_set.slideDeleted,_set.slideLock,_set.disableOnStart] lock:[_set.slideDeleted,_set.noSlides,_set.disableOnStart,_set.transitLock]
}); });
this.lockedControls.push(this.btnPreview); this.lockedControls.push(this.btnPreview);
@ -194,7 +191,7 @@ define([
iconCls: 'toolbar__icon icon btn-insertshape', iconCls: 'toolbar__icon icon btn-insertshape',
disabled:true, disabled:true,
menu: new Common.UI.Menu({items: this.createParametrsMenuItems()}), menu: new Common.UI.Menu({items: this.createParametrsMenuItems()}),
lock:[_set.slideDeleted,_set.slideLock,_set.disableOnStart] lock:[_set.slideDeleted,_set.noSlides,_set.disableOnStart,_set.transitLock]
}); });
this.lockedControls.push(this.btnParametrs); this.lockedControls.push(this.btnParametrs);
@ -204,7 +201,7 @@ define([
split: true, split: true,
disabled:true, disabled:true,
iconCls: 'toolbar__icon btn-changeslide', iconCls: 'toolbar__icon btn-changeslide',
lock:[_set.slideDeleted,_set.slideLock,_set.disableOnStart] lock:[_set.slideDeleted,_set.noSlides,_set.disableOnStart,_set.transitLock]
}); });
this.lockedControls.push(this.btnApplyToAll); this.lockedControls.push(this.btnApplyToAll);
@ -217,7 +214,7 @@ define([
maxValue: 300, maxValue: 300,
minValue: 0, minValue: 0,
disabled: true, disabled: true,
lock:[_set.slideDeleted,_set.slideLock,_set.disableOnStart] lock:[_set.slideDeleted,_set.noSlides,_set.disableOnStart,_set.transitLock]
}); });
this.lockedControls.push(this.numDuration); this.lockedControls.push(this.numDuration);
@ -230,7 +227,7 @@ define([
maxValue: 300, maxValue: 300,
minValue: 0, minValue: 0,
disabled: true, disabled: true,
lock:[_set.slideDeleted,_set.slideLock,_set.disableOnStart] lock:[_set.slideDeleted,_set.noSlides,_set.disableOnStart,_set.transitLock]
}); });
this.lockedControls.push(this.numDelay); this.lockedControls.push(this.numDelay);
@ -238,7 +235,7 @@ define([
el: this.$el.find('#transit-checkbox-startonclick'), el: this.$el.find('#transit-checkbox-startonclick'),
labelText: this.strStartOnClick, labelText: this.strStartOnClick,
disabled:true, disabled:true,
lock:[_set.slideDeleted,_set.slideLock,_set.disableOnStart] lock:[_set.slideDeleted,_set.noSlides,_set.disableOnStart,_set.transitLock]
}) })
this.lockedControls.push(this.chStartOnClick); this.lockedControls.push(this.chStartOnClick);
@ -246,7 +243,7 @@ define([
el: this.$el.find('#transit-checkbox-delay'), el: this.$el.find('#transit-checkbox-delay'),
labelText: this.strDelay, labelText: this.strDelay,
disabled:true, disabled:true,
lock:[_set.slideDeleted,_set.slideLock,_set.disableOnStart] lock:[_set.slideDeleted,_set.noSlides,_set.disableOnStart,_set.transitLock]
}); });
this.lockedControls.push(this.chDelay); this.lockedControls.push(this.chDelay);
@ -383,11 +380,16 @@ define([
} }
} }
}); });
if(selectedElement==undefined) if(selectedElement==undefined)
selectedElement=this.btnParametrs.menu.items[minMax[0]]; selectedElement=this.btnParametrs.menu.items[minMax[0]];
if(effect!=Asc.c_oAscSlideTransitionTypes.None) if(effect!=Asc.c_oAscSlideTransitionTypes.None)
selectedElement.setChecked(true); selectedElement.setChecked(true);
var n=Math.floor((minMax[1]-minMax[0])/4) + 1;
selectedElement.$el.parent().css('column-count',n);
if(!this.listEffects.isDisabled()) { if(!this.listEffects.isDisabled()) {
this.numDelay.setDisabled(this.chDelay.getValue()!=='checked'); this.numDelay.setDisabled(this.chDelay.getValue()!=='checked');
this.btnParametrs.setDisabled(effect === Asc.c_oAscSlideTransitionTypes.None); this.btnParametrs.setDisabled(effect === Asc.c_oAscSlideTransitionTypes.None);