[DE][SSE] Editing oleObjects.

This commit is contained in:
Julia Radzhabova 2016-07-07 16:33:13 +03:00
parent c144db698e
commit e51f4b5502
6 changed files with 86 additions and 10 deletions

View file

@ -39,17 +39,22 @@
</tr>
<tr>
<td colspan=2>
<label class="header"><%= scope.textInsert %></label>
<label class="header" id="image-lbl-replace" ><%= scope.textInsert %></label>
</td>
</tr>
<tr>
<td class="padding-small" width="50%">
<td width="50%">
<button type="button" class="btn btn-text-default" id="image-button-from-file" style="width:85px;"><%= scope.textFromFile %></button>
</td>
<td class="padding-small" width="50%">
<td width="50%">
<button type="button" class="btn btn-text-default" id="image-button-from-url" style="width:85px;"><%= scope.textFromUrl %></button>
</td>
</tr>
<tr>
<td class="padding-small" colspan=2>
<button type="button" class="btn btn-text-default hidden" id="image-button-edit-object" style="width:85px;"><%= scope.textEdit %></button>
</td>
</tr>
<tr>
<td class="padding-small" colspan=2>
<div class="separator horizontal"></div>

View file

@ -73,7 +73,8 @@ define([
Width: 0,
Height: 0,
FromGroup: false,
DisabledControls: false
DisabledControls: false,
isOleObject: false
};
this.lockedControls = [];
this._locked = false;
@ -133,12 +134,21 @@ define([
});
this.lockedControls.push(this.btnInsertFromUrl);
this.btnEditObject = new Common.UI.Button({
el: $('#image-button-edit-object')
});
this.lockedControls.push(this.btnEditObject);
this.btnOriginalSize.on('click', _.bind(this.setOriginalSize, this));
this.btnInsertFromFile.on('click', _.bind(function(btn){
if (this.api) this.api.ChangeImageFromFile();
this.fireEvent('editcomplete', this);
}, this));
this.btnInsertFromUrl.on('click', _.bind(this.insertFromUrl, this));
this.btnEditObject.on('click', _.bind(function(btn){
if (this.api) this.api.asc_pluginRun(this._originalProps.asc_getPluginGuid(), 0, this._originalProps.asc_getPluginData());
this.fireEvent('editcomplete', this);
}, this));
$(this.el).on('click', '#image-advanced-link', _.bind(this.openAdvancedSettings, this));
},
@ -149,6 +159,7 @@ define([
}));
this.linkAdvanced = $('#image-advanced-link');
this.lblReplace = $('#image-lbl-replace');
},
setApi: function(api) {
@ -215,6 +226,24 @@ define([
}
this.btnOriginalSize.setDisabled(props.get_ImageUrl()===null || props.get_ImageUrl()===undefined || this._locked);
var pluginGuid = props.asc_getPluginGuid();
value = (pluginGuid !== null && pluginGuid !== undefined);
if (this._state.isOleObject!==value) {
this.btnInsertFromUrl.setVisible(!value);
this.btnInsertFromFile.setVisible(!value);
this.btnEditObject.setVisible(value);
this.lblReplace.text(value ? this.textEditObject : this.textInsert);
this._state.isOleObject=value;
}
if (this._state.isOleObject) {
var plugin = DE.getCollection('Common.Collections.Plugins').findWhere({guid: pluginGuid});
this.btnEditObject.setDisabled(plugin===null || plugin ===undefined);
} else {
this.btnInsertFromUrl.setDisabled(pluginGuid===null);
this.btnInsertFromFile.setDisabled(pluginGuid===null);
}
}
},
@ -372,7 +401,7 @@ define([
textWidth: 'Width',
textHeight: 'Height',
textOriginalSize: 'Default Size',
textInsert: 'Insert Image',
textInsert: 'Replace Image',
textFromUrl: 'From URL',
textFromFile: 'From File',
textAdvanced: 'Show advanced settings',
@ -382,7 +411,9 @@ define([
txtThrough: 'Through',
txtTopAndBottom: 'Top and bottom',
txtBehind: 'Behind',
txtInFront: 'In front'
txtInFront: 'In front',
textEditObject: 'Edit Object',
textEdit: 'Edit'
}, DE.Views.ImageSettings || {}));
});

View file

@ -946,6 +946,8 @@
"DE.Views.HyperlinkSettingsDialog.txtEmpty": "This field is required",
"DE.Views.HyperlinkSettingsDialog.txtNotUrl": "This field should be a URL in the \"http://www.example.com\" format",
"DE.Views.ImageSettings.textAdvanced": "Show advanced settings",
"DE.Views.ImageSettings.textEdit": "Edit",
"DE.Views.ImageSettings.textEditObject": "Edit Object",
"DE.Views.ImageSettings.textFromFile": "From File",
"DE.Views.ImageSettings.textFromUrl": "From URL",
"DE.Views.ImageSettings.textHeight": "Height",

View file

@ -31,7 +31,7 @@
</tr>
<tr>
<td colspan=2>
<label class="header"><%= scope.textInsert %></label>
<label class="header" id="image-lbl-replace"><%= scope.textInsert %></label>
</td>
</tr>
<tr>
@ -42,5 +42,10 @@
<button type="button" class="btn btn-text-default" id="image-button-from-url" style="width:85px;"><%= scope.textFromUrl %></button>
</td>
</tr>
<tr>
<td colspan=2>
<button type="button" class="btn btn-text-default hidden" id="image-button-edit-object" style="width:85px;"><%= scope.textEdit %></button>
</td>
</tr>
<tr class="finish-cell"></tr>
</table>

View file

@ -72,7 +72,8 @@ define([
Width: 0,
Height: 0,
DisabledControls: false,
keepRatio: false
keepRatio: false,
isOleObject: false
};
this.spinners = [];
this.lockedControls = [];
@ -142,6 +143,11 @@ define([
});
this.lockedControls.push(this.btnInsertFromUrl);
this.btnEditObject = new Common.UI.Button({
el: $('#image-button-edit-object')
});
this.lockedControls.push(this.btnEditObject);
this.spnWidth.on('change', _.bind(this.onWidthChange, this));
this.spnHeight.on('change', _.bind(this.onHeightChange, this));
this.btnOriginalSize.on('click', _.bind(this.setOriginalSize, this));
@ -149,6 +155,10 @@ define([
if (this.api) this.api.asc_changeImageFromFile();
Common.NotificationCenter.trigger('edit:complete', this);
}, this));
this.btnEditObject.on('click', _.bind(function(btn){
if (this.api) this.api.asc_pluginRun(this._originalProps.asc_getPluginGuid(), 0, this._originalProps.asc_getPluginData());
Common.NotificationCenter.trigger('edit:complete', this);
}, this));
this.btnInsertFromUrl.on('click', _.bind(this.insertFromUrl, this));
},
@ -157,6 +167,7 @@ define([
el.html(this.template({
scope: this
}));
this.lblReplace = $('#image-lbl-replace');
},
setApi: function(api) {
@ -212,6 +223,24 @@ define([
}
this.btnOriginalSize.setDisabled(props.asc_getImageUrl()===null || props.asc_getImageUrl()===undefined || this._locked);
var pluginGuid = props.asc_getPluginGuid();
value = (pluginGuid !== null && pluginGuid !== undefined);
if (this._state.isOleObject!==value) {
this.btnInsertFromUrl.setVisible(!value);
this.btnInsertFromFile.setVisible(!value);
this.btnEditObject.setVisible(value);
this.lblReplace.text(value ? this.textEditObject : this.textInsert);
this._state.isOleObject=value;
}
if (this._state.isOleObject) {
var plugin = SSE.getCollection('Common.Collections.Plugins').findWhere({guid: pluginGuid});
this.btnEditObject.setDisabled(plugin===null || plugin ===undefined);
} else {
this.btnInsertFromUrl.setDisabled(pluginGuid===null);
this.btnInsertFromFile.setDisabled(pluginGuid===null);
}
}
},
@ -307,8 +336,10 @@ define([
textWidth: 'Width',
textHeight: 'Height',
textOriginalSize: 'Default Size',
textInsert: 'Insert Image',
textInsert: 'Replace Image',
textFromUrl: 'From URL',
textFromFile: 'From File'
textFromFile: 'From File',
textEditObject: 'Edit Object',
textEdit: 'Edit'
}, SSE.Views.ImageSettings || {}));
});

View file

@ -616,6 +616,8 @@
"SSE.Views.HyperlinkSettingsDialog.textTitle": "Hyperlink Settings",
"SSE.Views.HyperlinkSettingsDialog.txtEmpty": "This field is required",
"SSE.Views.HyperlinkSettingsDialog.txtNotUrl": "This field should be a URL in the \"http://www.example.com\" format",
"SSE.Views.ImageSettings.textEdit": "Edit",
"SSE.Views.ImageSettings.textEditObject": "Edit Object",
"SSE.Views.ImageSettings.textFromFile": "From File",
"SSE.Views.ImageSettings.textFromUrl": "From URL",
"SSE.Views.ImageSettings.textHeight": "Height",