[DE] Add tab Forms in the fill forms mode. Add prev/next, submit buttons
This commit is contained in:
parent
310c00b245
commit
85f899410d
|
@ -79,8 +79,10 @@ define([
|
||||||
|
|
||||||
setConfig: function(config) {
|
setConfig: function(config) {
|
||||||
this.toolbar = config.toolbar;
|
this.toolbar = config.toolbar;
|
||||||
|
this.appConfig = config.config;
|
||||||
this.view = this.createView('FormsTab', {
|
this.view = this.createView('FormsTab', {
|
||||||
toolbar: this.toolbar.toolbar
|
toolbar: this.toolbar.toolbar,
|
||||||
|
config: config.config
|
||||||
});
|
});
|
||||||
this.addListeners({
|
this.addListeners({
|
||||||
'FormsTab': {
|
'FormsTab': {
|
||||||
|
@ -89,7 +91,9 @@ define([
|
||||||
'forms:clear': this.onClearClick,
|
'forms:clear': this.onClearClick,
|
||||||
'forms:no-color': this.onNoControlsColor,
|
'forms:no-color': this.onNoControlsColor,
|
||||||
'forms:select-color': this.onSelectControlsColor,
|
'forms:select-color': this.onSelectControlsColor,
|
||||||
'forms:mode': this.onModeClick
|
'forms:mode': this.onModeClick,
|
||||||
|
'forms:goto': this.onGoTo,
|
||||||
|
'forms:submit': this.onSubmitClick
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
@ -98,6 +102,10 @@ define([
|
||||||
this.view && this.view.SetDisabled(state);
|
this.view && this.view.SetDisabled(state);
|
||||||
},
|
},
|
||||||
|
|
||||||
|
createToolbarPanel: function() {
|
||||||
|
return this.view.getPanel();
|
||||||
|
},
|
||||||
|
|
||||||
getView: function(name) {
|
getView: function(name) {
|
||||||
return !name && this.view ?
|
return !name && this.view ?
|
||||||
this.view : Backbone.Controller.prototype.getView.call(this, name);
|
this.view : Backbone.Controller.prototype.getView.call(this, name);
|
||||||
|
@ -108,7 +116,7 @@ define([
|
||||||
},
|
},
|
||||||
|
|
||||||
onApiFocusObject: function(selectedObjects) {
|
onApiFocusObject: function(selectedObjects) {
|
||||||
if (!this.toolbar.editMode) return;
|
if (!this.toolbar.editMode || this.appConfig.isRestrictedEdit) return;
|
||||||
|
|
||||||
var pr, i = -1, type,
|
var pr, i = -1, type,
|
||||||
paragraph_locked = false,
|
paragraph_locked = false,
|
||||||
|
@ -215,6 +223,16 @@ define([
|
||||||
Common.NotificationCenter.trigger('edit:complete', this.toolbar);
|
Common.NotificationCenter.trigger('edit:complete', this.toolbar);
|
||||||
},
|
},
|
||||||
|
|
||||||
|
onGoTo: function(type) {
|
||||||
|
// (type=='prev') ? this.api.asc_GoToPrevForm() : this.api.asc_GoToNextForm();
|
||||||
|
Common.NotificationCenter.trigger('edit:complete', this.toolbar);
|
||||||
|
},
|
||||||
|
|
||||||
|
onSubmitClick: function() {
|
||||||
|
// this.api.asc_SubmitForm();
|
||||||
|
Common.NotificationCenter.trigger('edit:complete', this.toolbar);
|
||||||
|
},
|
||||||
|
|
||||||
disableEditing: function(disable) {
|
disableEditing: function(disable) {
|
||||||
if (this._state.DisabledEditing != disable) {
|
if (this._state.DisabledEditing != disable) {
|
||||||
this._state.DisabledEditing = disable;
|
this._state.DisabledEditing = disable;
|
||||||
|
@ -242,7 +260,7 @@ define([
|
||||||
(new Promise(function (accept, reject) {
|
(new Promise(function (accept, reject) {
|
||||||
accept();
|
accept();
|
||||||
})).then(function(){
|
})).then(function(){
|
||||||
if (config.canEditContentControl) {
|
if (config.canEditContentControl && me.view.btnHighlight) {
|
||||||
var clr = me.api.asc_GetSpecialFormsHighlightColor();
|
var clr = me.api.asc_GetSpecialFormsHighlightColor();
|
||||||
clr && (clr = Common.Utils.ThemeColor.getHexColor(clr.get_r(), clr.get_g(), clr.get_b()));
|
clr && (clr = Common.Utils.ThemeColor.getHexColor(clr.get_r(), clr.get_g(), clr.get_b()));
|
||||||
me.view.btnHighlight.currentColor = clr;
|
me.view.btnHighlight.currentColor = clr;
|
||||||
|
|
|
@ -1291,6 +1291,7 @@ define([
|
||||||
this.appOptions.canProtect = (this.appOptions.isSignatureSupport || this.appOptions.isPasswordSupport);
|
this.appOptions.canProtect = (this.appOptions.isSignatureSupport || this.appOptions.isPasswordSupport);
|
||||||
this.appOptions.canEditContentControl = (this.permissions.modifyContentControl!==false);
|
this.appOptions.canEditContentControl = (this.permissions.modifyContentControl!==false);
|
||||||
this.appOptions.canHelp = !((typeof (this.editorConfig.customization) == 'object') && this.editorConfig.customization.help===false);
|
this.appOptions.canHelp = !((typeof (this.editorConfig.customization) == 'object') && this.editorConfig.customization.help===false);
|
||||||
|
this.appOptions.canSubmitForms = this.appOptions.canLicense && (typeof (this.editorConfig.customization) == 'object') && !!this.editorConfig.customization.submitForm;
|
||||||
this.appOptions.canFillForms = this.appOptions.canLicense && ((this.permissions.fillForms===undefined) ? this.appOptions.isEdit : this.permissions.fillForms) && (this.editorConfig.mode !== 'view');
|
this.appOptions.canFillForms = this.appOptions.canLicense && ((this.permissions.fillForms===undefined) ? this.appOptions.isEdit : this.permissions.fillForms) && (this.editorConfig.mode !== 'view');
|
||||||
this.appOptions.isRestrictedEdit = !this.appOptions.isEdit && (this.appOptions.canComments || this.appOptions.canFillForms);
|
this.appOptions.isRestrictedEdit = !this.appOptions.isEdit && (this.appOptions.canComments || this.appOptions.canFillForms);
|
||||||
if (this.appOptions.isRestrictedEdit && this.appOptions.canComments && this.appOptions.canFillForms) // must be one restricted mode, priority for filling forms
|
if (this.appOptions.isRestrictedEdit && this.appOptions.canComments && this.appOptions.canFillForms) // must be one restricted mode, priority for filling forms
|
||||||
|
|
|
@ -3098,15 +3098,19 @@ define([
|
||||||
var links = me.getApplication().getController('Links');
|
var links = me.getApplication().getController('Links');
|
||||||
links.setApi(me.api).setConfig({toolbar: me});
|
links.setApi(me.api).setConfig({toolbar: me});
|
||||||
Array.prototype.push.apply(me.toolbar.toolbarControls, links.getView('Links').getButtons());
|
Array.prototype.push.apply(me.toolbar.toolbarControls, links.getView('Links').getButtons());
|
||||||
|
}
|
||||||
if (config.canFeatureContentControl) {
|
if ( config.isEdit && config.canFeatureContentControl || config.isRestrictedEdit && config.canFillForms ) {
|
||||||
tab = {caption: me.textTabForms, action: 'forms'};
|
tab = {caption: me.textTabForms, action: 'forms'};
|
||||||
var forms = me.getApplication().getController('FormsTab');
|
var forms = me.getApplication().getController('FormsTab');
|
||||||
forms.setApi(me.api).setConfig({toolbar: me});
|
forms.setApi(me.api).setConfig({toolbar: me, config: config});
|
||||||
|
$panel = forms.createToolbarPanel();
|
||||||
|
if ($panel) {
|
||||||
me.toolbar.addTab(tab, $panel, 4);
|
me.toolbar.addTab(tab, $panel, 4);
|
||||||
me.toolbar.setVisible('forms', true);
|
me.toolbar.setVisible('forms', true);
|
||||||
Array.prototype.push.apply(me.toolbar.toolbarControls, forms.getView('FormsTab').getButtons());
|
if (config.isEdit && config.canFeatureContentControl) {
|
||||||
me.onChangeSdtGlobalSettings();
|
Array.prototype.push.apply(me.toolbar.toolbarControls, forms.getView('FormsTab').getButtons());
|
||||||
|
me.onChangeSdtGlobalSettings();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
|
@ -174,29 +174,6 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</section>
|
</section>
|
||||||
<section class="panel" data-tab="forms">
|
|
||||||
<div class="group">
|
|
||||||
<span class="btn-slot text x-huge" id="slot-btn-form-field"></span>
|
|
||||||
<span class="btn-slot text x-huge" id="slot-btn-form-combobox"></span>
|
|
||||||
<span class="btn-slot text x-huge" id="slot-btn-form-dropdown"></span>
|
|
||||||
<span class="btn-slot text x-huge" id="slot-btn-form-checkbox"></span>
|
|
||||||
<span class="btn-slot text x-huge" id="slot-btn-form-radiobox"></span>
|
|
||||||
<span class="btn-slot text x-huge" id="slot-btn-form-image"></span>
|
|
||||||
</div>
|
|
||||||
<div class="separator long"></div>
|
|
||||||
<div class="group no-group-mask form-view">
|
|
||||||
<div class="elset">
|
|
||||||
<span class="btn-slot text" id="slot-form-clear-fields"></span>
|
|
||||||
</div>
|
|
||||||
<div class="elset">
|
|
||||||
<span class="btn-slot text" id="slot-form-highlight"></span>
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
<div class="separator long"></div>
|
|
||||||
<div class="group no-group-mask form-view">
|
|
||||||
<span class="btn-slot text x-huge" id="slot-btn-form-view"></span>
|
|
||||||
</div>
|
|
||||||
</section>
|
|
||||||
</section>
|
</section>
|
||||||
</section>
|
</section>
|
||||||
</div>
|
</div>
|
|
@ -47,33 +47,67 @@ define([
|
||||||
'use strict';
|
'use strict';
|
||||||
|
|
||||||
DE.Views.FormsTab = Common.UI.BaseView.extend(_.extend((function(){
|
DE.Views.FormsTab = Common.UI.BaseView.extend(_.extend((function(){
|
||||||
|
var template =
|
||||||
|
'<section class="panel" data-tab="forms">' +
|
||||||
|
'<div class="group">' +
|
||||||
|
'<span class="btn-slot text x-huge" id="slot-btn-form-field"></span>' +
|
||||||
|
'<span class="btn-slot text x-huge" id="slot-btn-form-combobox"></span>' +
|
||||||
|
'<span class="btn-slot text x-huge" id="slot-btn-form-dropdown"></span>' +
|
||||||
|
'<span class="btn-slot text x-huge" id="slot-btn-form-checkbox"></span>' +
|
||||||
|
'<span class="btn-slot text x-huge" id="slot-btn-form-radiobox"></span>' +
|
||||||
|
'<span class="btn-slot text x-huge" id="slot-btn-form-image"></span>' +
|
||||||
|
'</div>' +
|
||||||
|
'<div class="separator long forms"></div>' +
|
||||||
|
'<div class="group no-group-mask form-view">' +
|
||||||
|
'<div class="elset">' +
|
||||||
|
'<span class="btn-slot text" id="slot-form-clear-fields"></span>' +
|
||||||
|
'</div>' +
|
||||||
|
'<div class="elset">' +
|
||||||
|
'<span class="btn-slot text" id="slot-form-highlight"></span>' +
|
||||||
|
'</div>' +
|
||||||
|
'</div>' +
|
||||||
|
'<div class="group no-group-mask form-view">' +
|
||||||
|
'<span class="btn-slot text x-huge" id="slot-btn-form-clear"></span>' +
|
||||||
|
'<span class="btn-slot text x-huge" id="slot-btn-form-prev"></span>' +
|
||||||
|
'<span class="btn-slot text x-huge" id="slot-btn-form-next"></span>' +
|
||||||
|
'</div>' +
|
||||||
|
'<div class="separator long submit"></div>' +
|
||||||
|
'<div class="group no-group-mask form-view">' +
|
||||||
|
'<span class="btn-slot text x-huge" id="slot-btn-form-view"></span>' +
|
||||||
|
'<span class="btn-slot text x-huge" id="slot-btn-form-submit"></span>' +
|
||||||
|
'</div>' +
|
||||||
|
'</section>';
|
||||||
|
|
||||||
function setEvents() {
|
function setEvents() {
|
||||||
var me = this;
|
var me = this;
|
||||||
this.btnTextField.on('click', function (b, e) {
|
this.btnTextField && this.btnTextField.on('click', function (b, e) {
|
||||||
me.fireEvent('forms:insert', ['text']);
|
me.fireEvent('forms:insert', ['text']);
|
||||||
});
|
});
|
||||||
this.btnComboBox.on('click', function (b, e) {
|
this.btnComboBox && this.btnComboBox.on('click', function (b, e) {
|
||||||
me.fireEvent('forms:insert', ['combobox']);
|
me.fireEvent('forms:insert', ['combobox']);
|
||||||
});
|
});
|
||||||
this.btnDropDown.on('click', function (b, e) {
|
this.btnDropDown && this.btnDropDown.on('click', function (b, e) {
|
||||||
me.fireEvent('forms:insert', ['dropdown']);
|
me.fireEvent('forms:insert', ['dropdown']);
|
||||||
});
|
});
|
||||||
this.btnCheckBox.on('click', function (b, e) {
|
this.btnCheckBox && this.btnCheckBox.on('click', function (b, e) {
|
||||||
me.fireEvent('forms:insert', ['checkbox']);
|
me.fireEvent('forms:insert', ['checkbox']);
|
||||||
});
|
});
|
||||||
this.btnRadioBox.on('click', function (b, e) {
|
this.btnRadioBox && this.btnRadioBox.on('click', function (b, e) {
|
||||||
me.fireEvent('forms:insert', ['radiobox']);
|
me.fireEvent('forms:insert', ['radiobox']);
|
||||||
});
|
});
|
||||||
this.btnImageField.on('click', function (b, e) {
|
this.btnImageField && this.btnImageField.on('click', function (b, e) {
|
||||||
me.fireEvent('forms:insert', ['picture']);
|
me.fireEvent('forms:insert', ['picture']);
|
||||||
});
|
});
|
||||||
this.btnViewForm.on('click', function (b, e) {
|
this.btnViewForm && this.btnViewForm.on('click', function (b, e) {
|
||||||
me.fireEvent('forms:mode', [b.pressed]);
|
me.fireEvent('forms:mode', [b.pressed]);
|
||||||
});
|
});
|
||||||
|
this.btnClearFields && this.btnClearFields.on('click', function (b, e) {
|
||||||
|
me.fireEvent('forms:clear');
|
||||||
|
});
|
||||||
|
this.btnClear && this.btnClear.on('click', function (b, e) {
|
||||||
|
me.fireEvent('forms:clear');
|
||||||
|
});
|
||||||
if (this.mnuFormsColorPicker) {
|
if (this.mnuFormsColorPicker) {
|
||||||
this.btnClearFields.on('click', function (b, e) {
|
|
||||||
me.fireEvent('forms:clear');
|
|
||||||
});
|
|
||||||
$('#id-toolbar-menu-new-form-color').on('click', function (b, e) {
|
$('#id-toolbar-menu-new-form-color').on('click', function (b, e) {
|
||||||
me.fireEvent('forms:new-color');
|
me.fireEvent('forms:new-color');
|
||||||
});
|
});
|
||||||
|
@ -87,6 +121,15 @@ define([
|
||||||
me.fireEvent('forms:open-color', [color]);
|
me.fireEvent('forms:open-color', [color]);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
this.btnPrevForm && this.btnPrevForm.on('click', function (b, e) {
|
||||||
|
me.fireEvent('forms:goto', ['prev']);
|
||||||
|
});
|
||||||
|
this.btnNextForm && this.btnNextForm.on('click', function (b, e) {
|
||||||
|
me.fireEvent('forms:goto', ['next']);
|
||||||
|
});
|
||||||
|
this.btnSubmit && this.btnSubmit.on('click', function (b, e) {
|
||||||
|
me.fireEvent('forms:submit');
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
return {
|
return {
|
||||||
|
@ -96,100 +139,124 @@ define([
|
||||||
initialize: function (options) {
|
initialize: function (options) {
|
||||||
Common.UI.BaseView.prototype.initialize.call(this);
|
Common.UI.BaseView.prototype.initialize.call(this);
|
||||||
this.toolbar = options.toolbar;
|
this.toolbar = options.toolbar;
|
||||||
|
this.appConfig = options.config;
|
||||||
|
|
||||||
this.paragraphControls = [];
|
this.paragraphControls = [];
|
||||||
|
|
||||||
var me = this,
|
var me = this;
|
||||||
$host = me.toolbar.$el;
|
|
||||||
|
|
||||||
this.btnTextField = new Common.UI.Button({
|
if (this.appConfig.isRestrictedEdit && this.appConfig.canFillForms) {
|
||||||
parentEl: $host.find('#slot-btn-form-field'),
|
this.btnClear = new Common.UI.Button({
|
||||||
|
cls: 'btn-toolbar x-huge icon-top',
|
||||||
|
iconCls: 'toolbar__icon btn-clear',
|
||||||
|
caption: this.textClear
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
this.btnTextField = new Common.UI.Button({
|
||||||
|
cls: 'btn-toolbar x-huge icon-top',
|
||||||
|
iconCls: 'toolbar__icon btn-text-field',
|
||||||
|
caption: this.capBtnText,
|
||||||
|
disabled: true
|
||||||
|
});
|
||||||
|
this.paragraphControls.push(this.btnTextField);
|
||||||
|
|
||||||
|
this.btnComboBox = new Common.UI.Button({
|
||||||
|
cls: 'btn-toolbar x-huge icon-top',
|
||||||
|
iconCls: 'toolbar__icon btn-combo-box',
|
||||||
|
caption: this.capBtnComboBox,
|
||||||
|
disabled: true
|
||||||
|
});
|
||||||
|
this.paragraphControls.push(this.btnComboBox);
|
||||||
|
|
||||||
|
this.btnDropDown = new Common.UI.Button({
|
||||||
|
cls: 'btn-toolbar x-huge icon-top',
|
||||||
|
iconCls: 'toolbar__icon btn-dropdown',
|
||||||
|
caption: this.capBtnDropDown,
|
||||||
|
disabled: true
|
||||||
|
});
|
||||||
|
this.paragraphControls.push(this.btnDropDown);
|
||||||
|
|
||||||
|
this.btnCheckBox = new Common.UI.Button({
|
||||||
|
cls: 'btn-toolbar x-huge icon-top',
|
||||||
|
iconCls: 'toolbar__icon btn-checkbox',
|
||||||
|
caption: this.capBtnCheckBox,
|
||||||
|
disabled: true
|
||||||
|
});
|
||||||
|
this.paragraphControls.push(this.btnCheckBox);
|
||||||
|
|
||||||
|
this.btnRadioBox = new Common.UI.Button({
|
||||||
|
cls: 'btn-toolbar x-huge icon-top',
|
||||||
|
iconCls: 'toolbar__icon btn-radio-button',
|
||||||
|
caption: this.capBtnRadioBox,
|
||||||
|
disabled: true
|
||||||
|
});
|
||||||
|
this.paragraphControls.push(this.btnRadioBox);
|
||||||
|
|
||||||
|
this.btnImageField = new Common.UI.Button({
|
||||||
|
cls: 'btn-toolbar x-huge icon-top',
|
||||||
|
iconCls: 'toolbar__icon btn-insertimage',
|
||||||
|
caption: this.capBtnImage,
|
||||||
|
disabled: true
|
||||||
|
});
|
||||||
|
this.paragraphControls.push(this.btnImageField);
|
||||||
|
|
||||||
|
this.btnViewForm = new Common.UI.Button({
|
||||||
|
cls: 'btn-toolbar x-huge icon-top',
|
||||||
|
iconCls: 'toolbar__icon btn-sheet-view',
|
||||||
|
caption: this.capBtnView,
|
||||||
|
enableToggle: true,
|
||||||
|
disabled: true
|
||||||
|
});
|
||||||
|
this.paragraphControls.push(this.btnViewForm);
|
||||||
|
|
||||||
|
this.btnClearFields = new Common.UI.Button({
|
||||||
|
cls : 'btn-toolbar',
|
||||||
|
iconCls : 'toolbar__icon btn-clearstyle',
|
||||||
|
caption : this.textClearFields,
|
||||||
|
disabled: true
|
||||||
|
});
|
||||||
|
this.paragraphControls.push(this.btnClearFields);
|
||||||
|
|
||||||
|
this.btnHighlight = new Common.UI.ButtonColored({
|
||||||
|
cls : 'btn-toolbar',
|
||||||
|
iconCls : 'toolbar__icon btn-highlight',
|
||||||
|
caption : this.textHighlight,
|
||||||
|
menu : true,
|
||||||
|
disabled: true
|
||||||
|
});
|
||||||
|
this.paragraphControls.push(this.btnHighlight);
|
||||||
|
}
|
||||||
|
|
||||||
|
this.btnPrevForm = new Common.UI.Button({
|
||||||
cls: 'btn-toolbar x-huge icon-top',
|
cls: 'btn-toolbar x-huge icon-top',
|
||||||
iconCls: 'toolbar__icon btn-text-field',
|
iconCls: 'toolbar__icon btn-review-prev',
|
||||||
caption: this.capBtnText,
|
caption: this.capBtnPrev
|
||||||
disabled: true
|
|
||||||
});
|
});
|
||||||
this.paragraphControls.push(this.btnTextField);
|
this.paragraphControls.push(this.btnPrevForm);
|
||||||
|
|
||||||
this.btnComboBox = new Common.UI.Button({
|
this.btnNextForm = new Common.UI.Button({
|
||||||
parentEl: $host.find('#slot-btn-form-combobox'),
|
|
||||||
cls: 'btn-toolbar x-huge icon-top',
|
cls: 'btn-toolbar x-huge icon-top',
|
||||||
iconCls: 'toolbar__icon btn-combo-box',
|
iconCls: 'toolbar__icon btn-review-next',
|
||||||
caption: this.capBtnComboBox,
|
caption: this.capBtnNext
|
||||||
disabled: true
|
|
||||||
});
|
});
|
||||||
this.paragraphControls.push(this.btnComboBox);
|
this.paragraphControls.push(this.btnNextForm);
|
||||||
|
|
||||||
this.btnDropDown = new Common.UI.Button({
|
if (this.appConfig.canSubmitForms) {
|
||||||
parentEl: $host.find('#slot-btn-form-dropdown'),
|
this.btnSubmit = new Common.UI.Button({
|
||||||
cls: 'btn-toolbar x-huge icon-top',
|
cls: 'btn-toolbar x-huge icon-top',
|
||||||
iconCls: 'toolbar__icon btn-dropdown',
|
iconCls: 'toolbar__icon btn-form-submit',
|
||||||
caption: this.capBtnDropDown,
|
caption: this.capBtnSubmit
|
||||||
disabled: true
|
});
|
||||||
});
|
this.paragraphControls.push(this.btnSubmit);
|
||||||
this.paragraphControls.push(this.btnDropDown);
|
}
|
||||||
|
|
||||||
this.btnCheckBox = new Common.UI.Button({
|
|
||||||
parentEl: $host.find('#slot-btn-form-checkbox'),
|
|
||||||
cls: 'btn-toolbar x-huge icon-top',
|
|
||||||
iconCls: 'toolbar__icon btn-checkbox',
|
|
||||||
caption: this.capBtnCheckBox,
|
|
||||||
disabled: true
|
|
||||||
});
|
|
||||||
this.paragraphControls.push(this.btnCheckBox);
|
|
||||||
|
|
||||||
this.btnRadioBox = new Common.UI.Button({
|
|
||||||
parentEl: $host.find('#slot-btn-form-radiobox'),
|
|
||||||
cls: 'btn-toolbar x-huge icon-top',
|
|
||||||
iconCls: 'toolbar__icon btn-radio-button',
|
|
||||||
caption: this.capBtnRadioBox,
|
|
||||||
disabled: true
|
|
||||||
});
|
|
||||||
this.paragraphControls.push(this.btnRadioBox);
|
|
||||||
|
|
||||||
this.btnImageField = new Common.UI.Button({
|
|
||||||
parentEl: $host.find('#slot-btn-form-image'),
|
|
||||||
cls: 'btn-toolbar x-huge icon-top',
|
|
||||||
iconCls: 'toolbar__icon btn-insertimage',
|
|
||||||
caption: this.capBtnImage,
|
|
||||||
disabled: true
|
|
||||||
});
|
|
||||||
this.paragraphControls.push(this.btnImageField);
|
|
||||||
|
|
||||||
this.btnViewForm = new Common.UI.Button({
|
|
||||||
parentEl: $host.find('#slot-btn-form-view'),
|
|
||||||
cls: 'btn-toolbar x-huge icon-top',
|
|
||||||
iconCls: 'toolbar__icon btn-sheet-view',
|
|
||||||
caption: this.capBtnView,
|
|
||||||
enableToggle: true,
|
|
||||||
disabled: true
|
|
||||||
});
|
|
||||||
this.paragraphControls.push(this.btnViewForm);
|
|
||||||
|
|
||||||
this.btnClearFields = new Common.UI.Button({
|
|
||||||
parentEl : $host.find('#slot-form-clear-fields'),
|
|
||||||
cls : 'btn-toolbar',
|
|
||||||
iconCls : 'toolbar__icon btn-clearstyle',
|
|
||||||
caption : this.textClearFields,
|
|
||||||
disabled: true
|
|
||||||
});
|
|
||||||
this.paragraphControls.push(this.btnClearFields);
|
|
||||||
|
|
||||||
this.btnHighlight = new Common.UI.ButtonColored({
|
|
||||||
parentEl : $host.find('#slot-form-highlight'),
|
|
||||||
cls : 'btn-toolbar',
|
|
||||||
iconCls : 'toolbar__icon btn-highlight',
|
|
||||||
caption : this.textHighlight,
|
|
||||||
menu : true,
|
|
||||||
disabled: true
|
|
||||||
});
|
|
||||||
this.paragraphControls.push(this.btnHighlight);
|
|
||||||
|
|
||||||
this._state = {disabled: false};
|
this._state = {disabled: false};
|
||||||
Common.NotificationCenter.on('app:ready', this.onAppReady.bind(this));
|
Common.NotificationCenter.on('app:ready', this.onAppReady.bind(this));
|
||||||
},
|
},
|
||||||
|
|
||||||
render: function (el) {
|
render: function (el) {
|
||||||
|
if ( el ) el.html( this.getPanel() );
|
||||||
|
|
||||||
return this;
|
return this;
|
||||||
},
|
},
|
||||||
|
|
||||||
|
@ -198,46 +265,85 @@ define([
|
||||||
(new Promise(function (accept, reject) {
|
(new Promise(function (accept, reject) {
|
||||||
accept();
|
accept();
|
||||||
})).then(function(){
|
})).then(function(){
|
||||||
if (config.canEditContentControl) {
|
if (config.isEdit && config.canFeatureContentControl) {
|
||||||
me.btnHighlight.setMenu(new Common.UI.Menu({
|
if (config.canEditContentControl) {
|
||||||
items: [
|
me.btnHighlight.setMenu(new Common.UI.Menu({
|
||||||
me.mnuNoFormsColor = new Common.UI.MenuItem({
|
items: [
|
||||||
id: 'id-toolbar-menu-no-highlight-form',
|
me.mnuNoFormsColor = new Common.UI.MenuItem({
|
||||||
caption: me.textNoHighlight,
|
id: 'id-toolbar-menu-no-highlight-form',
|
||||||
checkable: true,
|
caption: me.textNoHighlight,
|
||||||
checked: me.btnHighlight.currentColor === null
|
checkable: true,
|
||||||
}),
|
checked: me.btnHighlight.currentColor === null
|
||||||
{caption: '--'},
|
}),
|
||||||
{template: _.template('<div id="id-toolbar-menu-form-color" style="width: 169px; height: 94px; margin: 10px;"></div>')},
|
{caption: '--'},
|
||||||
{template: _.template('<a id="id-toolbar-menu-new-form-color" style="padding-left:12px;">' + me.textNewColor + '</a>')}
|
{template: _.template('<div id="id-toolbar-menu-form-color" style="width: 169px; height: 94px; margin: 10px;"></div>')},
|
||||||
]
|
{template: _.template('<a id="id-toolbar-menu-new-form-color" style="padding-left:12px;">' + me.textNewColor + '</a>')}
|
||||||
}));
|
]
|
||||||
me.mnuFormsColorPicker = new Common.UI.ThemeColorPalette({
|
}));
|
||||||
el: $('#id-toolbar-menu-form-color'),
|
me.mnuFormsColorPicker = new Common.UI.ThemeColorPalette({
|
||||||
colors: ['000000', '993300', '333300', '003300', '003366', '000080', '333399', '333333', '800000', 'FF6600',
|
el: $('#id-toolbar-menu-form-color'),
|
||||||
'808000', '00FF00', '008080', '0000FF', '666699', '808080', 'FF0000', 'FF9900', '99CC00', '339966',
|
colors: ['000000', '993300', '333300', '003300', '003366', '000080', '333399', '333333', '800000', 'FF6600',
|
||||||
'33CCCC', '3366FF', '800080', '999999', 'FF00FF', 'FFCC00', 'FFFF00', '00FF00', '00FFFF', '00CCFF',
|
'808000', '00FF00', '008080', '0000FF', '666699', '808080', 'FF0000', 'FF9900', '99CC00', '339966',
|
||||||
'993366', 'C0C0C0', 'FF99CC', 'FFCC99', 'FFFF99', 'CCFFCC', 'CCFFFF', '99CCFF', 'CC99FF', 'FFFFFF'
|
'33CCCC', '3366FF', '800080', '999999', 'FF00FF', 'FFCC00', 'FFFF00', '00FF00', '00FFFF', '00CCFF',
|
||||||
],
|
'993366', 'C0C0C0', 'FF99CC', 'FFCC99', 'FFFF99', 'CCFFCC', 'CCFFFF', '99CCFF', 'CC99FF', 'FFFFFF'
|
||||||
value: me.btnHighlight.currentColor
|
],
|
||||||
});
|
value: me.btnHighlight.currentColor
|
||||||
me.btnHighlight.setColor(me.btnHighlight.currentColor || 'transparent');
|
});
|
||||||
} else {
|
me.btnHighlight.setColor(me.btnHighlight.currentColor || 'transparent');
|
||||||
me.btnHighlight.cmpEl.parents('.group').hide().prev('.separator').hide();
|
} else {
|
||||||
}
|
me.btnHighlight.cmpEl.parents('.group').hide().prev('.separator').hide();
|
||||||
|
}
|
||||||
|
|
||||||
me.btnTextField.updateHint(me.tipTextField);
|
me.btnTextField.updateHint(me.tipTextField);
|
||||||
me.btnComboBox.updateHint(me.tipComboBox);
|
me.btnComboBox.updateHint(me.tipComboBox);
|
||||||
me.btnDropDown.updateHint(me.tipDropDown);
|
me.btnDropDown.updateHint(me.tipDropDown);
|
||||||
me.btnCheckBox.updateHint(me.tipCheckBox);
|
me.btnCheckBox.updateHint(me.tipCheckBox);
|
||||||
me.btnRadioBox.updateHint(me.tipRadioBox);
|
me.btnRadioBox.updateHint(me.tipRadioBox);
|
||||||
me.btnImageField.updateHint(me.tipImageField);
|
me.btnImageField.updateHint(me.tipImageField);
|
||||||
me.btnViewForm.updateHint(me.tipViewForm);
|
me.btnViewForm.updateHint(me.tipViewForm);
|
||||||
|
} else {
|
||||||
|
me.btnClear.updateHint(me.textClearFields);
|
||||||
|
|
||||||
|
var separator_forms = me.$el.find('.separator.forms');
|
||||||
|
separator_forms.prev('.group').hide();
|
||||||
|
separator_forms.hide().next('.group').hide();
|
||||||
|
!me.btnSubmit && me.$el.find('.separator.submit').hide().next('.group').hide();
|
||||||
|
}
|
||||||
|
me.btnPrevForm.updateHint(me.tipPrevForm);
|
||||||
|
me.btnNextForm.updateHint(me.tipNextForm);
|
||||||
|
me.btnSubmit && me.btnSubmit.updateHint(me.tipSubmit);
|
||||||
|
|
||||||
setEvents.call(me);
|
setEvents.call(me);
|
||||||
});
|
});
|
||||||
},
|
},
|
||||||
|
|
||||||
|
getPanel: function () {
|
||||||
|
this.$el = $(_.template(template)( {} ));
|
||||||
|
var $host = this.$el;
|
||||||
|
|
||||||
|
if (this.appConfig.isRestrictedEdit && this.appConfig.canFillForms) {
|
||||||
|
this.btnClear.render($host.find('#slot-btn-form-clear'));
|
||||||
|
} else {
|
||||||
|
this.btnTextField.render($host.find('#slot-btn-form-field'));
|
||||||
|
this.btnComboBox.render($host.find('#slot-btn-form-combobox'));
|
||||||
|
this.btnDropDown.render($host.find('#slot-btn-form-dropdown'));
|
||||||
|
this.btnCheckBox.render($host.find('#slot-btn-form-checkbox'));
|
||||||
|
this.btnRadioBox.render($host.find('#slot-btn-form-radiobox'));
|
||||||
|
this.btnImageField.render($host.find('#slot-btn-form-image'));
|
||||||
|
this.btnViewForm.render($host.find('#slot-btn-form-view'));
|
||||||
|
this.btnClearFields.render($host.find('#slot-form-clear-fields'));
|
||||||
|
this.btnHighlight.render($host.find('#slot-form-highlight'));
|
||||||
|
}
|
||||||
|
this.btnPrevForm.render($host.find('#slot-btn-form-prev'));
|
||||||
|
this.btnNextForm.render($host.find('#slot-btn-form-next'));
|
||||||
|
|
||||||
|
if (this.appConfig.canSubmitForms) {
|
||||||
|
this.btnSubmit.render($host.find('#slot-btn-form-submit'));
|
||||||
|
}
|
||||||
|
|
||||||
|
return this.$el;
|
||||||
|
},
|
||||||
|
|
||||||
show: function () {
|
show: function () {
|
||||||
Common.UI.BaseView.prototype.show.call(this);
|
Common.UI.BaseView.prototype.show.call(this);
|
||||||
this.fireEvent('show', this);
|
this.fireEvent('show', this);
|
||||||
|
@ -273,7 +379,14 @@ define([
|
||||||
tipImageField: 'Insert image',
|
tipImageField: 'Insert image',
|
||||||
tipViewForm: 'Fill form mode',
|
tipViewForm: 'Fill form mode',
|
||||||
textNoHighlight: 'No highlighting',
|
textNoHighlight: 'No highlighting',
|
||||||
textNewColor: 'Add New Custom Color'
|
textNewColor: 'Add New Custom Color',
|
||||||
|
textClear: 'Clear Fields',
|
||||||
|
capBtnPrev: 'Previous Field',
|
||||||
|
capBtnNext: 'Next Field',
|
||||||
|
capBtnSubmit: 'Submit',
|
||||||
|
tipPrevForm: 'Go to the previous field',
|
||||||
|
tipNextForm: 'Go to the next field',
|
||||||
|
tipSubmit: 'Submit form'
|
||||||
}
|
}
|
||||||
}()), DE.Views.FormsTab || {}));
|
}()), DE.Views.FormsTab || {}));
|
||||||
});
|
});
|
|
@ -1739,6 +1739,13 @@
|
||||||
"DE.Views.FormsTab.tipRadioBox": "Insert radio button",
|
"DE.Views.FormsTab.tipRadioBox": "Insert radio button",
|
||||||
"DE.Views.FormsTab.tipTextField": "Insert text field",
|
"DE.Views.FormsTab.tipTextField": "Insert text field",
|
||||||
"DE.Views.FormsTab.tipViewForm": "Fill form mode",
|
"DE.Views.FormsTab.tipViewForm": "Fill form mode",
|
||||||
|
"DE.Views.FormsTab.textClear": "Clear Fields",
|
||||||
|
"DE.Views.FormsTab.capBtnPrev": "Previous Field",
|
||||||
|
"DE.Views.FormsTab.capBtnNext": "Next Field",
|
||||||
|
"DE.Views.FormsTab.capBtnSubmit": "Submit",
|
||||||
|
"DE.Views.FormsTab.tipPrevForm": "Go to the previous field",
|
||||||
|
"DE.Views.FormsTab.tipNextForm": "Go to the next field",
|
||||||
|
"DE.Views.FormsTab.tipSubmit": "Submit form",
|
||||||
"DE.Views.HeaderFooterSettings.textBottomCenter": "Bottom center",
|
"DE.Views.HeaderFooterSettings.textBottomCenter": "Bottom center",
|
||||||
"DE.Views.HeaderFooterSettings.textBottomLeft": "Bottom left",
|
"DE.Views.HeaderFooterSettings.textBottomLeft": "Bottom left",
|
||||||
"DE.Views.HeaderFooterSettings.textBottomPage": "Bottom of Page",
|
"DE.Views.HeaderFooterSettings.textBottomPage": "Bottom of Page",
|
||||||
|
|
Loading…
Reference in a new issue