Merge branch 'develop' into hotfix/v4.2.7
This commit is contained in:
commit
1fdf278df6
5
.gitignore
vendored
5
.gitignore
vendored
|
@ -18,3 +18,8 @@ apps/presentationeditor/mobile/document
|
|||
apps/spreadsheeteditor/embed/offlinedocs
|
||||
apps/spreadsheeteditor/main/offlinedocs
|
||||
apps/spreadsheeteditor/mobile/offlinedocs
|
||||
|
||||
# tests
|
||||
selenium-debug.log
|
||||
**/test/bin
|
||||
**/test/reports
|
|
@ -363,7 +363,7 @@
|
|||
if (target && _checkConfigParams()) {
|
||||
iframe = createIframe(_config);
|
||||
target.parentNode && target.parentNode.replaceChild(iframe, target);
|
||||
this._msgDispatcher = new MessageDispatcher(_onMessage, this);
|
||||
var _msgDispatcher = new MessageDispatcher(_onMessage, this);
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -372,6 +372,18 @@
|
|||
data: <command specific data>
|
||||
}
|
||||
*/
|
||||
|
||||
var _destroyEditor = function(cmd) {
|
||||
var target = document.createElement("div");
|
||||
target.setAttribute('id', placeholderId);
|
||||
|
||||
if (iframe) {
|
||||
_msgDispatcher && _msgDispatcher.unbindEvents();
|
||||
_detachMouseEvents();
|
||||
iframe.parentNode && iframe.parentNode.replaceChild(target, iframe);
|
||||
}
|
||||
};
|
||||
|
||||
var _sendCommand = function(cmd) {
|
||||
if (iframe && iframe.contentWindow)
|
||||
postMessage(iframe.contentWindow, cmd);
|
||||
|
@ -538,7 +550,8 @@
|
|||
downloadAs : _downloadAs,
|
||||
serviceCommand : _serviceCommand,
|
||||
attachMouseEvents : _attachMouseEvents,
|
||||
detachMouseEvents : _detachMouseEvents
|
||||
detachMouseEvents : _detachMouseEvents,
|
||||
destroyEditor : _destroyEditor
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -558,23 +571,31 @@
|
|||
};
|
||||
|
||||
DocsAPI.DocEditor.version = function() {
|
||||
return '4.2.7';
|
||||
return '{{PRODUCT_VERSION}}';
|
||||
};
|
||||
|
||||
MessageDispatcher = function(fn, scope) {
|
||||
var _fn = fn,
|
||||
_scope = scope || window;
|
||||
_scope = scope || window,
|
||||
eventFn = function(msg) {
|
||||
_onMessage(msg);
|
||||
};
|
||||
|
||||
var _bindEvents = function() {
|
||||
if (window.addEventListener) {
|
||||
window.addEventListener("message", function(msg) {
|
||||
_onMessage(msg);
|
||||
}, false)
|
||||
window.addEventListener("message", eventFn, false)
|
||||
}
|
||||
else if (window.attachEvent) {
|
||||
window.attachEvent("onmessage", function(msg) {
|
||||
_onMessage(msg);
|
||||
});
|
||||
window.attachEvent("onmessage", eventFn);
|
||||
}
|
||||
};
|
||||
|
||||
var _unbindEvents = function() {
|
||||
if (window.removeEventListener) {
|
||||
window.removeEventListener("message", eventFn, false)
|
||||
}
|
||||
else if (window.detachEvent) {
|
||||
window.detachEvent("onmessage", eventFn);
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -592,6 +613,10 @@
|
|||
};
|
||||
|
||||
_bindEvents.call(this);
|
||||
|
||||
return {
|
||||
unbindEvents: _unbindEvents
|
||||
}
|
||||
};
|
||||
|
||||
function getBasePath() {
|
||||
|
|
|
@ -94,7 +94,7 @@
|
|||
mode : urlParams["mode"] || 'edit',
|
||||
lang : urlParams["lang"] || 'en',
|
||||
user: {
|
||||
id: urlParams["userid"], firstname: urlParams["userfname"], lastname: urlParams["userlname"]
|
||||
id: urlParams["userid"] || 'uid-901', name: urlParams["username"] || 'Chuk.Gek'
|
||||
}
|
||||
};
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2016
|
||||
* (c) Copyright Ascensio System Limited 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2016
|
||||
* (c) Copyright Ascensio System Limited 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
@ -30,6 +30,7 @@
|
|||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
|
||||
if (Common === undefined) {
|
||||
var Common = {};
|
||||
}
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2016
|
||||
* (c) Copyright Ascensio System Limited 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2016
|
||||
* (c) Copyright Ascensio System Limited 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
@ -53,7 +53,7 @@
|
|||
$dlgShare = common.view.modals.create('share');
|
||||
|
||||
var _encoded = encodeURIComponent(appConfig.shareUrl);
|
||||
var _mailto = 'mailto:?subject=I have shared a document with you: ' + appConfig.docTitle + '&body=I have shared a document with you: ' + _encoded + '"';
|
||||
var _mailto = 'mailto:?subject=I have shared a document with you: ' + appConfig.docTitle + '&body=I have shared a document with you: ' + _encoded;
|
||||
|
||||
$dlgShare.find('#btn-copyshort').on('click', copytext.bind(this, $dlgShare.find('#id-short-url')));
|
||||
$dlgShare.find('.share-buttons > span').on('click', function(e){
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2016
|
||||
* (c) Copyright Ascensio System Limited 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2016
|
||||
* (c) Copyright Ascensio System Limited 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2016
|
||||
* (c) Copyright Ascensio System Limited 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2016
|
||||
* (c) Copyright Ascensio System Limited 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2016
|
||||
* (c) Copyright Ascensio System Limited 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2016
|
||||
* (c) Copyright Ascensio System Limited 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2016
|
||||
* (c) Copyright Ascensio System Limited 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2016
|
||||
* (c) Copyright Ascensio System Limited 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2016
|
||||
* (c) Copyright Ascensio System Limited 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2016
|
||||
* (c) Copyright Ascensio System Limited 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2016
|
||||
* (c) Copyright Ascensio System Limited 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2016
|
||||
* (c) Copyright Ascensio System Limited 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2016
|
||||
* (c) Copyright Ascensio System Limited 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
@ -430,10 +430,11 @@ define([
|
|||
isGroup && decorateBtn(el.children('button'));
|
||||
}
|
||||
|
||||
if (disabled) {
|
||||
if (disabled || !Common.Utils.isGecko) {
|
||||
var tip = this.cmpEl.data('bs.tooltip');
|
||||
if (tip) {
|
||||
tip.hide();
|
||||
disabled && tip.hide();
|
||||
!Common.Utils.isGecko && (tip.enabled = !disabled);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -466,8 +467,10 @@ define([
|
|||
var cmpEl = this.cmpEl,
|
||||
modalParents = cmpEl.closest('.asc-window');
|
||||
|
||||
if (cmpEl.data('bs.tooltip'))
|
||||
cmpEl.removeData('bs.tooltip');
|
||||
cmpEl.attr('data-toggle', 'tooltip');
|
||||
cmpEl.tooltip('destroy').tooltip({
|
||||
cmpEl.tooltip({
|
||||
title : hint,
|
||||
placement : this.options.hintAnchor || 'cursor'
|
||||
});
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2016
|
||||
* (c) Copyright Ascensio System Limited 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2016
|
||||
* (c) Copyright Ascensio System Limited 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2016
|
||||
* (c) Copyright Ascensio System Limited 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2016
|
||||
* (c) Copyright Ascensio System Limited 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2016
|
||||
* (c) Copyright Ascensio System Limited 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2016
|
||||
* (c) Copyright Ascensio System Limited 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
@ -112,6 +112,7 @@ define([
|
|||
this.menuCls = me.options.menuCls;
|
||||
this.menuStyle = me.options.menuStyle;
|
||||
this.template = me.options.template || me.template;
|
||||
this.itemsTemplate = me.options.itemsTemplate;
|
||||
this.hint = me.options.hint;
|
||||
this.editable = me.options.editable;
|
||||
this.disabled = me.options.disabled;
|
||||
|
@ -134,15 +135,22 @@ define([
|
|||
var me = this;
|
||||
|
||||
if (!me.rendered) {
|
||||
var items = this.store.toJSON();
|
||||
this.cmpEl = $(this.template({
|
||||
id : this.id,
|
||||
cls : this.cls,
|
||||
style : this.style,
|
||||
menuCls : this.menuCls,
|
||||
menuStyle : this.menuStyle,
|
||||
items : this.store.toJSON(),
|
||||
items : items,
|
||||
scope : me
|
||||
}));
|
||||
if (this.itemsTemplate)
|
||||
this.cmpEl.find('ul').append(
|
||||
$(this.itemsTemplate({
|
||||
items : items,
|
||||
scope : me
|
||||
})));
|
||||
|
||||
if (parentEl) {
|
||||
this.setElement(parentEl, false);
|
||||
|
@ -274,7 +282,7 @@ define([
|
|||
}
|
||||
|
||||
if (this.scroller)
|
||||
this.scroller.update();
|
||||
this.scroller.update({alwaysVisibleY: this.scrollAlwaysVisible});
|
||||
|
||||
this.trigger('show:after', this, e);
|
||||
},
|
||||
|
@ -441,7 +449,7 @@ define([
|
|||
return this.rendered ? this._input.val() : null;
|
||||
},
|
||||
|
||||
setValue: function(value) {
|
||||
setValue: function(value, defValue) {
|
||||
if (!this.rendered)
|
||||
return;
|
||||
|
||||
|
@ -454,7 +462,7 @@ define([
|
|||
this.setRawValue(this._selectedItem.get(this.displayField));
|
||||
$('#' + this._selectedItem.get('id'), $(this.el)).addClass('selected');
|
||||
} else {
|
||||
this.setRawValue(value);
|
||||
this.setRawValue((defValue!==undefined) ? defValue : value);
|
||||
}
|
||||
},
|
||||
|
||||
|
@ -529,6 +537,12 @@ define([
|
|||
},
|
||||
|
||||
onResetItems: function() {
|
||||
if (this.itemsTemplate) {
|
||||
$(this.el).find('ul').html( $(this.itemsTemplate({
|
||||
items: this.store.toJSON(),
|
||||
scope: this
|
||||
})));
|
||||
} else {
|
||||
$(this.el).find('ul').html(_.template([
|
||||
'<% _.each(items, function(item) { %>',
|
||||
'<li id="<%= item.id %>" data-value="<%= item.value %>"><a tabindex="-1" type="menuitem"><%= scope.getDisplayValue(item) %></a></li>',
|
||||
|
@ -537,6 +551,7 @@ define([
|
|||
items: this.store.toJSON(),
|
||||
scope: this
|
||||
}));
|
||||
}
|
||||
|
||||
if (!_.isUndefined(this.scroller)) {
|
||||
this.scroller.destroy();
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2016
|
||||
* (c) Copyright Ascensio System Limited 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2016
|
||||
* (c) Copyright Ascensio System Limited 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2016
|
||||
* (c) Copyright Ascensio System Limited 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
@ -84,7 +84,9 @@ define([
|
|||
defaults: function() {
|
||||
return {
|
||||
id: Common.UI.getId(),
|
||||
caption: ''
|
||||
caption: '',
|
||||
inline: false,
|
||||
headername: undefined
|
||||
}
|
||||
}
|
||||
});
|
||||
|
@ -99,7 +101,8 @@ define([
|
|||
id: Common.UI.getId(),
|
||||
selected: false,
|
||||
allowSelected: true,
|
||||
value: null
|
||||
value: null,
|
||||
disabled: false
|
||||
}
|
||||
}
|
||||
});
|
||||
|
@ -140,6 +143,7 @@ define([
|
|||
el.off('click').on('click', _.bind(this.onClick, this));
|
||||
el.off('dblclick').on('dblclick', _.bind(this.onDblClick, this));
|
||||
el.off('contextmenu').on('contextmenu', _.bind(this.onContextMenu, this));
|
||||
el.toggleClass('disabled', this.model.get('disabled'));
|
||||
|
||||
if (!_.isUndefined(this.model.get('cls')))
|
||||
el.addClass(this.model.get('cls'));
|
||||
|
@ -157,10 +161,14 @@ define([
|
|||
},
|
||||
|
||||
onClick: function(e) {
|
||||
if (this.model.get('disabled')) return false;
|
||||
|
||||
this.trigger('click', this, this.model, e);
|
||||
},
|
||||
|
||||
onDblClick: function(e) {
|
||||
if (this.model.get('disabled')) return false;
|
||||
|
||||
this.trigger('dblclick', this, this.model, e);
|
||||
},
|
||||
|
||||
|
@ -190,10 +198,15 @@ define([
|
|||
template: _.template([
|
||||
'<div class="dataview inner" style="<%= style %>">',
|
||||
'<% _.each(groups, function(group) { %>',
|
||||
'<div class="grouped-data" id="<%= group.id %>">',
|
||||
'<% if (group.headername !== undefined) { %>',
|
||||
'<div class="header-name"><%= group.headername %></div>',
|
||||
'<% } %>',
|
||||
'<div class="grouped-data <% if (group.inline) { %> inline <% } %> <% if (!_.isEmpty(group.caption)) { %> margin <% } %>" id="<%= group.id %>">',
|
||||
'<% if (!_.isEmpty(group.caption)) { %>',
|
||||
'<div class="group-description">',
|
||||
'<span><b><%= group.caption %></b></span>',
|
||||
'<span><%= group.caption %></span>',
|
||||
'</div>',
|
||||
'<% } %>',
|
||||
'<div class="group-items-container">',
|
||||
'</div>',
|
||||
'</div>',
|
||||
|
@ -696,39 +709,29 @@ define([
|
|||
fillIndexesArray: function() {
|
||||
if (this.dataViewItems.length<=0) return;
|
||||
|
||||
var top, left,
|
||||
el = $(this.dataViewItems[0].el),
|
||||
itemW = el.outerWidth() + parseInt(el.css('margin-left')) + parseInt(el.css('margin-right')),
|
||||
itemH = el.outerHeight() + parseInt(el.css('margin-top')) + parseInt(el.css('margin-bottom')),
|
||||
offsetLeft = this.$el.offset().left,
|
||||
offsetTop = this.$el.offset().top,
|
||||
idxOffset = 0;
|
||||
|
||||
this._layoutParams = {
|
||||
itemsIndexes: [],
|
||||
columns: 0,
|
||||
rows: 0
|
||||
};
|
||||
|
||||
if (this.groups && this.groups.length > 0) {
|
||||
var group_desc = this.cmpEl.find('.group-description:first');
|
||||
if (group_desc.length>0)
|
||||
offsetLeft += group_desc.width();
|
||||
}
|
||||
var el = $(this.dataViewItems[0].el),
|
||||
itemW = el.outerWidth() + parseInt(el.css('margin-left')) + parseInt(el.css('margin-right')),
|
||||
offsetLeft = this.$el.offset().left,
|
||||
prevtop = -1, topIdx = 0, leftIdx = 0;
|
||||
|
||||
for (var i=0; i<this.dataViewItems.length; i++) {
|
||||
top = Math.floor(($(this.dataViewItems[i].el).offset().top - offsetTop)/itemH) + idxOffset;
|
||||
left = Math.floor(($(this.dataViewItems[i].el).offset().left - offsetLeft)/itemW);
|
||||
if (top<0) {
|
||||
idxOffset = -top;
|
||||
top += idxOffset;
|
||||
}
|
||||
if (top > this._layoutParams.itemsIndexes.length-1) {
|
||||
var top = $(this.dataViewItems[i].el).offset().top;
|
||||
leftIdx = Math.floor(($(this.dataViewItems[i].el).offset().left - offsetLeft)/itemW);
|
||||
if (top>prevtop) {
|
||||
prevtop = top;
|
||||
this._layoutParams.itemsIndexes.push([]);
|
||||
topIdx = this._layoutParams.itemsIndexes.length-1;
|
||||
}
|
||||
this._layoutParams.itemsIndexes[top][left] = i;
|
||||
this.dataViewItems[i].topIdx = top;
|
||||
this.dataViewItems[i].leftIdx = left;
|
||||
if (this._layoutParams.columns<left) this._layoutParams.columns = left;
|
||||
this._layoutParams.itemsIndexes[topIdx][leftIdx] = i;
|
||||
this.dataViewItems[i].topIdx = topIdx;
|
||||
this.dataViewItems[i].leftIdx = leftIdx;
|
||||
if (this._layoutParams.columns<leftIdx) this._layoutParams.columns = leftIdx;
|
||||
}
|
||||
this._layoutParams.rows = this._layoutParams.itemsIndexes.length;
|
||||
this._layoutParams.columns++;
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2016
|
||||
* (c) Copyright Ascensio System Limited 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2016
|
||||
* (c) Copyright Ascensio System Limited 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2016
|
||||
* (c) Copyright Ascensio System Limited 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2016
|
||||
* (c) Copyright Ascensio System Limited 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2016
|
||||
* (c) Copyright Ascensio System Limited 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2016
|
||||
* (c) Copyright Ascensio System Limited 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2016
|
||||
* (c) Copyright Ascensio System Limited 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2016
|
||||
* (c) Copyright Ascensio System Limited 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2016
|
||||
* (c) Copyright Ascensio System Limited 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2016
|
||||
* (c) Copyright Ascensio System Limited 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
@ -244,6 +244,10 @@ define([
|
|||
if (this.$input) this.$input.val(value);
|
||||
},
|
||||
|
||||
getRawValue: function () {
|
||||
return this.$input.val();
|
||||
},
|
||||
|
||||
setValue: function(value, suspendchange) {
|
||||
var showError = false;
|
||||
this._fromKeyDown = false;
|
||||
|
@ -290,6 +294,10 @@ define([
|
|||
}
|
||||
},
|
||||
|
||||
setMask: function(value) {
|
||||
this.options.maskExp = value;
|
||||
},
|
||||
|
||||
onMouseDown: function (type, e) {
|
||||
if ( this.disabled ) return;
|
||||
|
||||
|
@ -336,7 +344,7 @@ define([
|
|||
}
|
||||
} else if (e.keyCode==Common.UI.Keys.RETURN) {
|
||||
if (this.options.defaultUnit && this.options.defaultUnit.length) {
|
||||
var value = this.$input.val();
|
||||
var value = this.getRawValue();
|
||||
if (this.value != value) {
|
||||
this.onEnterValue();
|
||||
return false;
|
||||
|
@ -384,7 +392,7 @@ define([
|
|||
|
||||
onEnterValue: function() {
|
||||
if (this.$input) {
|
||||
var val = this.$input.val();
|
||||
var val = this.getRawValue();
|
||||
this.setValue((val==='') ? this.value : val );
|
||||
this.trigger('entervalue', this);
|
||||
}
|
||||
|
@ -392,7 +400,7 @@ define([
|
|||
|
||||
onBlur: function(e){
|
||||
if (this.$input) {
|
||||
var val = this.$input.val();
|
||||
var val = this.getRawValue();
|
||||
this.setValue((val==='') ? this.value : val );
|
||||
if (this.options.hold && this.switches.fromKeyDown)
|
||||
this._stopSpin();
|
||||
|
@ -430,7 +438,7 @@ define([
|
|||
if (!me.readOnly) {
|
||||
var val = me.options.step;
|
||||
if (me._fromKeyDown) {
|
||||
val = this.$input.val();
|
||||
val = this.getRawValue();
|
||||
val = _.isEmpty(val) ? me.oldValue : parseFloat(val);
|
||||
} else if(me.getValue() !== '') {
|
||||
if (me.options.allowAuto && me.getValue()==me.options.autoText) {
|
||||
|
@ -451,7 +459,7 @@ define([
|
|||
if (!me.readOnly) {
|
||||
var val = me.options.step;
|
||||
if (me._fromKeyDown) {
|
||||
val = this.$input.val();
|
||||
val = this.getRawValue();
|
||||
val = _.isEmpty(val) ? me.oldValue : parseFloat(val);
|
||||
} else if(me.getValue() !== '') {
|
||||
if (me.options.allowAuto && me.getValue()==me.options.autoText) {
|
||||
|
@ -520,4 +528,22 @@ define([
|
|||
return v_out;
|
||||
}
|
||||
});
|
||||
|
||||
Common.UI.CustomSpinner = Common.UI.MetricSpinner.extend(_.extend({
|
||||
initialize : function(options) {
|
||||
this.options.toCustomFormat = (options.toCustomFormat) ? options.toCustomFormat : function(value) { return value; };
|
||||
this.options.fromCustomFormat = (options.fromCustomFormat) ? options.fromCustomFormat : function(value) { return value; };
|
||||
|
||||
Common.UI.MetricSpinner.prototype.initialize.call(this, options);
|
||||
},
|
||||
|
||||
setRawValue: function (value) {
|
||||
if (this.$input) this.$input.val(this.options.toCustomFormat(value));
|
||||
},
|
||||
|
||||
getRawValue: function () {
|
||||
return this.options.fromCustomFormat(this.$input.val());
|
||||
}
|
||||
|
||||
}, Common.UI.CustomSpinner || {}));
|
||||
});
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2016
|
||||
* (c) Copyright Ascensio System Limited 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2016
|
||||
* (c) Copyright Ascensio System Limited 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2016
|
||||
* (c) Copyright Ascensio System Limited 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2016
|
||||
* (c) Copyright Ascensio System Limited 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2016
|
||||
* (c) Copyright Ascensio System Limited 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2016
|
||||
* (c) Copyright Ascensio System Limited 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2016
|
||||
* (c) Copyright Ascensio System Limited 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2016
|
||||
* (c) Copyright Ascensio System Limited 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2016
|
||||
* (c) Copyright Ascensio System Limited 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2016
|
||||
* (c) Copyright Ascensio System Limited 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2016
|
||||
* (c) Copyright Ascensio System Limited 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2016
|
||||
* (c) Copyright Ascensio System Limited 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
@ -120,8 +120,8 @@
|
|||
this.getBSTip().show(at);
|
||||
},
|
||||
|
||||
hide: function() {
|
||||
this.getBSTip().hide();
|
||||
hide: function(callback) {
|
||||
this.getBSTip().hide(callback);
|
||||
},
|
||||
|
||||
setTitle: function(title) {
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2016
|
||||
* (c) Copyright Ascensio System Limited 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2016
|
||||
* (c) Copyright Ascensio System Limited 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2016
|
||||
* (c) Copyright Ascensio System Limited 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2016
|
||||
* (c) Copyright Ascensio System Limited 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2016
|
||||
* (c) Copyright Ascensio System Limited 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2016
|
||||
* (c) Copyright Ascensio System Limited 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2016
|
||||
* (c) Copyright Ascensio System Limited 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2016
|
||||
* (c) Copyright Ascensio System Limited 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2016
|
||||
* (c) Copyright Ascensio System Limited 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2016
|
||||
* (c) Copyright Ascensio System Limited 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2016
|
||||
* (c) Copyright Ascensio System Limited 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2016
|
||||
* (c) Copyright Ascensio System Limited 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2016
|
||||
* (c) Copyright Ascensio System Limited 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2016
|
||||
* (c) Copyright Ascensio System Limited 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2016
|
||||
* (c) Copyright Ascensio System Limited 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2016
|
||||
* (c) Copyright Ascensio System Limited 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2016
|
||||
* (c) Copyright Ascensio System Limited 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2016
|
||||
* (c) Copyright Ascensio System Limited 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2016
|
||||
* (c) Copyright Ascensio System Limited 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2016
|
||||
* (c) Copyright Ascensio System Limited 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
@ -38,6 +38,7 @@
|
|||
*
|
||||
*/
|
||||
|
||||
define(['gateway'], function () {
|
||||
Common.localStorage = new (function() {
|
||||
var _storeName, _filter;
|
||||
var _store = {};
|
||||
|
@ -106,3 +107,4 @@ Common.localStorage = new (function() {
|
|||
save: _save
|
||||
};
|
||||
})();
|
||||
});
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2016
|
||||
* (c) Copyright Ascensio System Limited 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2016
|
||||
* (c) Copyright Ascensio System Limited 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2016
|
||||
* (c) Copyright Ascensio System Limited 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2016
|
||||
* (c) Copyright Ascensio System Limited 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
@ -86,8 +86,8 @@ Common.Utils = _.extend(new(function() {
|
|||
isSecure = /^https/i.test(window.location.protocol),
|
||||
emailRe = /^(mailto:)?([a-z0-9'\._-]+@[a-z0-9\.-]+\.[a-z0-9]{2,4})([a-яё0-9\._%+-=\? :&]*)/i,
|
||||
ipRe = /^(((https?)|(ftps?)):\/\/)?([\-\wа-яё]*:?[\-\wа-яё]*@)?(((1[0-9]{2}|2[0-4][0-9]|25[0-5]|[1-9][0-9]|[0-9])\.){3}(1[0-9]{2}|2[0-4][0-9]|25[0-5]|[1-9][0-9]|[0-9]))(:\d+)?(\/[%\-\wа-яё]*(\.[\wа-яё]{2,})?(([\wа-яё\-\.\?\\\/+@&#;:`~=%!,\(\)]*)(\.[\wа-яё]{2,})?)*)*\/?/i,
|
||||
hostnameRe = /^(((https?)|(ftps?)):\/\/)?([\-\wа-яё]*:?[\-\wа-яё]*@)?(([\-\wа-яё]+\.)+[\wа-яё\-]{2,}(:\d+)?(\/[%\-\wа-яё]*(\.[\wа-яё]{2,})?(([\wа-яё\-\.\?\\\/+@&#;:`~=%!,\(\)]*)(\.[\wа-яё]{2,})?)*)*\/?)/i,
|
||||
localRe = /^(((https?)|(ftps?)):\/\/)([\-\wа-яё]*:?[\-\wа-яё]*@)?(([\-\wа-яё]+)(:\d+)?(\/[%\-\wа-яё]*(\.[\wа-яё]{2,})?(([\wа-яё\-\.\?\\\/+@&#;:`~=%!,\(\)]*)(\.[\wа-яё]{2,})?)*)*\/?)/i,
|
||||
hostnameRe = /^(((https?)|(ftps?)):\/\/)?([\-\wа-яё]*:?[\-\wа-яё]*@)?(([\-\wа-яё]+\.)+[\wа-яё\-]{2,}(:\d+)?(\/[%\-\wа-яё]*(\.[\wа-яё]{2,})?(([\wа-яё\-\.\?\\\/+@&#;:`'~=%!,\(\)]*)(\.[\wа-яё]{2,})?)*)*\/?)/i,
|
||||
localRe = /^(((https?)|(ftps?)):\/\/)([\-\wа-яё]*:?[\-\wа-яё]*@)?(([\-\wа-яё]+)(:\d+)?(\/[%\-\wа-яё]*(\.[\wа-яё]{2,})?(([\wа-яё\-\.\?\\\/+@&#;:`'~=%!,\(\)]*)(\.[\wа-яё]{2,})?)*)*\/?)/i,
|
||||
emailStrongRe = /(mailto:)?([a-z0-9'\._-]+@[a-z0-9\.-]+\.[a-z0-9]{2,4})([a-яё0-9\._%+-=\?:&]*)/ig,
|
||||
ipStrongRe = /(((https?)|(ftps?)):\/\/([\-\wа-яё]*:?[\-\wа-яё]*@)?)(((1[0-9]{2}|2[0-4][0-9]|25[0-5]|[1-9][0-9]|[0-9])\.){3}(1[0-9]{2}|2[0-4][0-9]|25[0-5]|[1-9][0-9]|[0-9]))(:\d+)?(\/[%\-\wа-яё]*(\.[\wа-яё]{2,})?(([\wа-яё\-\.\?\\\/+@&#;:`~=%!,\(\)]*)(\.[\wа-яё]{2,})?)*)*\/?/ig,
|
||||
hostnameStrongRe = /((((https?)|(ftps?)):\/\/([\-\wа-яё]*:?[\-\wа-яё]*@)?)|(([\-\wа-яё]*:?[\-\wа-яё]*@)?www\.))((([\-\wа-яё]+\.)+[\wа-яё\-]{2,}|([\-\wа-яё]+))(:\d+)?(\/[%\-\wа-яё]*(\.[\wа-яё]{2,})?(([\wа-яё\-\.\?\\\/+@&#;:`~=%!,\(\)]*)(\.[\wа-яё]{2,})?)*)*\/?)/ig,
|
||||
|
@ -102,34 +102,11 @@ Common.Utils = _.extend(new(function() {
|
|||
Chart : 7,
|
||||
MailMerge : 8
|
||||
},
|
||||
isMobile = /android|avantgo|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od|ad)|iris|kindle|lge |maemo|midp|mmp|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(navigator.userAgent || navigator.vendor || window.opera),
|
||||
me = this,
|
||||
checkSize = function() {
|
||||
me.zoom = 1;
|
||||
if (isChrome && !isOpera && document && document.firstElementChild && document.body)
|
||||
{
|
||||
if (false)
|
||||
{
|
||||
// этот код - рабочий, но только если этот ифрейм открыт на весь размер браузера
|
||||
// (window.outerWidth и window.innerWidth зависимы)
|
||||
if (window.innerWidth > 300)
|
||||
me.zoom = window.outerWidth / window.innerWidth;
|
||||
|
||||
if (Math.abs(me.zoom - 1) < 0.1)
|
||||
me.zoom = 1;
|
||||
|
||||
me.zoom = window.outerWidth / window.innerWidth;
|
||||
|
||||
var _devicePixelRatio = window.devicePixelRatio / me.zoom;
|
||||
|
||||
// device pixel ratio: кратно 0.5
|
||||
_devicePixelRatio = (5 * (((2.5 + 10 * _devicePixelRatio) / 5) >> 0)) / 10;
|
||||
me.zoom = window.devicePixelRatio / _devicePixelRatio;
|
||||
|
||||
// chrome 54.x: zoom = "reset" - clear retina zoom (windows)
|
||||
//document.firstElementChild.style.zoom = "reset";
|
||||
document.firstElementChild.style.zoom = 1.0 / me.zoom;
|
||||
}
|
||||
else
|
||||
if (isChrome && !isOpera && !isMobile && document && document.firstElementChild && document.body)
|
||||
{
|
||||
// делаем простую проверку
|
||||
// считаем: 0 < window.devicePixelRatio < 2 => _devicePixelRatio = 1; zoom = window.devicePixelRatio / _devicePixelRatio;
|
||||
|
@ -153,7 +130,6 @@ Common.Utils = _.extend(new(function() {
|
|||
else
|
||||
document.firstElementChild.style.zoom = "normal";
|
||||
}
|
||||
}
|
||||
me.innerWidth = window.innerWidth * me.zoom;
|
||||
me.innerHeight = window.innerHeight * me.zoom;
|
||||
};
|
||||
|
@ -648,6 +624,48 @@ Common.Utils.applyCustomization = function(config, elmap) {
|
|||
}
|
||||
};
|
||||
|
||||
Common.Utils.applyCustomizationPlugins = function(plugins) {
|
||||
if (!plugins || plugins.length<1) return;
|
||||
|
||||
var _createXMLHTTPObject = function() {
|
||||
var xmlhttp;
|
||||
try {
|
||||
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
|
||||
}
|
||||
catch (e) {
|
||||
try {
|
||||
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
|
||||
}
|
||||
catch (E) {
|
||||
xmlhttp = false;
|
||||
}
|
||||
}
|
||||
if (!xmlhttp && typeof XMLHttpRequest != 'undefined') {
|
||||
xmlhttp = new XMLHttpRequest();
|
||||
}
|
||||
return xmlhttp;
|
||||
};
|
||||
|
||||
var _getPluginCode = function(url) {
|
||||
if (!url) return '';
|
||||
try {
|
||||
var xhrObj = _createXMLHTTPObject();
|
||||
if (xhrObj && url) {
|
||||
xhrObj.open('GET', url, false);
|
||||
xhrObj.send('');
|
||||
if (xhrObj.status == 200)
|
||||
eval(xhrObj.responseText);
|
||||
}
|
||||
}
|
||||
catch (e) {}
|
||||
return null;
|
||||
};
|
||||
|
||||
plugins.forEach(function(url){
|
||||
if (url) _getPluginCode(url);
|
||||
});
|
||||
};
|
||||
|
||||
Common.Utils.fillUserInfo = function(info, lang, defname) {
|
||||
var _user = info || {};
|
||||
!_user.id && (_user.id = ('uid-' + Date.now()));
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2016
|
||||
* (c) Copyright Ascensio System Limited 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
@ -52,7 +52,7 @@ define([
|
|||
initialize: function(options) {
|
||||
Common.UI.BaseView.prototype.initialize.call(this,arguments);
|
||||
|
||||
this.txtVersionNum = '4.2';
|
||||
this.txtVersionNum = '{{PRODUCT_VERSION}}';
|
||||
this.txtAscMail = 'support@onlyoffice.com';
|
||||
this.txtAscTelNum = '+371 660-16425';
|
||||
this.txtAscUrl = 'www.onlyoffice.com';
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2016
|
||||
* (c) Copyright Ascensio System Limited 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2016
|
||||
* (c) Copyright Ascensio System Limited 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2016
|
||||
* (c) Copyright Ascensio System Limited 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2016
|
||||
* (c) Copyright Ascensio System Limited 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2016
|
||||
* (c) Copyright Ascensio System Limited 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2016
|
||||
* (c) Copyright Ascensio System Limited 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2016
|
||||
* (c) Copyright Ascensio System Limited 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2016
|
||||
* (c) Copyright Ascensio System Limited 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2016
|
||||
* (c) Copyright Ascensio System Limited 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2016
|
||||
* (c) Copyright Ascensio System Limited 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2016
|
||||
* (c) Copyright Ascensio System Limited 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2016
|
||||
* (c) Copyright Ascensio System Limited 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2016
|
||||
* (c) Copyright Ascensio System Limited 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2016
|
||||
* (c) Copyright Ascensio System Limited 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2016
|
||||
* (c) Copyright Ascensio System Limited 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2016
|
||||
* (c) Copyright Ascensio System Limited 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2016
|
||||
* (c) Copyright Ascensio System Limited 2010-2017
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
|
|
|
@ -31,26 +31,43 @@
|
|||
clear: left;
|
||||
overflow: hidden;
|
||||
|
||||
& > div {
|
||||
&.inline {
|
||||
display: inline-block;
|
||||
&.margin .group-items-container {
|
||||
margin-right: 20px;
|
||||
}
|
||||
}
|
||||
|
||||
.group-items-container {
|
||||
overflow: hidden;
|
||||
margin-bottom: 5px;
|
||||
|
||||
& > div {
|
||||
display: inline-block;
|
||||
float: left;
|
||||
margin: 4px;
|
||||
margin: 2px 4px 4px;
|
||||
|
||||
&:not(.disabled) {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
&.disabled {
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
.box-shadow(0 0 0 1px @gray);
|
||||
|
||||
&:hover,
|
||||
&.selected {
|
||||
&:hover:not(.disabled),
|
||||
&.selected:not(.disabled) {
|
||||
.box-shadow(0 0 0 2px @primary);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.header-name {
|
||||
padding: 10px 2px 12px 4px;
|
||||
font-weight: bold;
|
||||
cursor: default;
|
||||
}
|
||||
}
|
|
@ -5,7 +5,7 @@
|
|||
background: @gray-light;
|
||||
border: 1px solid @gray-dark;
|
||||
height: 35px;
|
||||
z-index: 1000;
|
||||
z-index: @zindex-dropdown - 1;
|
||||
|
||||
.review-group {
|
||||
display: inline-block;
|
||||
|
|
|
@ -50,3 +50,7 @@
|
|||
word-wrap: break-word;
|
||||
max-width: 300px;
|
||||
}
|
||||
|
||||
.link-tooltip .tooltip-inner {
|
||||
max-width: 500px;
|
||||
}
|
|
@ -1,88 +0,0 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2016
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
|
||||
* EU, LV-1021.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
Ext.define('Common.component.PlanarSpinner', {
|
||||
extend: 'Ext.field.Spinner',
|
||||
xtype: 'planarspinnerfield',
|
||||
|
||||
config: {
|
||||
|
||||
},
|
||||
|
||||
constructor: function() {
|
||||
var me = this;
|
||||
me.callParent(arguments);
|
||||
me.addCls('planar-spinner');
|
||||
},
|
||||
|
||||
updateComponent: function(newComponent) {
|
||||
this.callParent(arguments);
|
||||
|
||||
var innerElement = this.innerElement,
|
||||
cls = this.getCls();
|
||||
|
||||
if (newComponent) {
|
||||
this.spinDownButton = Ext.widget('button', {
|
||||
cls : 'x-button x-button-base ' + cls + '-button ' + cls + '-button-down',
|
||||
iconCls : 'spinner-down'
|
||||
});
|
||||
|
||||
this.spinUpButton = Ext.widget('button', {
|
||||
cls : 'x-button x-button-base ' + cls + '-button ' + cls + '-button-up',
|
||||
iconCls : 'spinner-up'
|
||||
});
|
||||
|
||||
this.downRepeater = this.createRepeater(this.spinDownButton.element, this.onSpinDown);
|
||||
this.upRepeater = this.createRepeater(this.spinUpButton.element, this.onSpinUp);
|
||||
}
|
||||
},
|
||||
|
||||
updateGroupButtons: function(newGroupButtons, oldGroupButtons) {
|
||||
var me = this,
|
||||
innerElement = me.innerElement,
|
||||
cls = me.getBaseCls() + '-grouped-buttons';
|
||||
|
||||
me.getComponent();
|
||||
|
||||
if (newGroupButtons != oldGroupButtons) {
|
||||
if (newGroupButtons) {
|
||||
this.addCls(cls);
|
||||
innerElement.insertFirst(me.spinDownButton.element);
|
||||
innerElement.appendChild(me.spinUpButton.element);
|
||||
} else {
|
||||
this.removeCls(cls);
|
||||
innerElement.insertFirst(me.spinDownButton.element);
|
||||
innerElement.appendChild(me.spinUpButton.element);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
|
@ -1,96 +0,0 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2016
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
|
||||
* EU, LV-1021.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
Ext.define('Common.component.RepeatableButton', {
|
||||
extend: 'Ext.Button',
|
||||
xtype: 'repeatablebutton',
|
||||
requires: ['Ext.util.TapRepeater'],
|
||||
|
||||
initialize: function() {
|
||||
this.callParent(arguments);
|
||||
|
||||
this.repeater = this.createRepeater(this.element, this.onRepeatTap);
|
||||
},
|
||||
|
||||
// @private
|
||||
destroy: function() {
|
||||
var me = this;
|
||||
Ext.destroy(me.repeater);
|
||||
|
||||
me.callParent(arguments);
|
||||
},
|
||||
|
||||
// @private
|
||||
createRepeater: function(el, fn) {
|
||||
var me = this,
|
||||
repeater = Ext.create('Ext.util.TapRepeater', {
|
||||
el : el,
|
||||
accelerate : true,
|
||||
delay : 500
|
||||
});
|
||||
|
||||
repeater.on({
|
||||
tap : fn,
|
||||
touchstart : 'onTouchStart',
|
||||
touchend : 'onTouchEnd',
|
||||
scope : me
|
||||
});
|
||||
|
||||
return repeater;
|
||||
},
|
||||
|
||||
// @private
|
||||
onRepeatTap: function(e) {
|
||||
this.fireAction('tap', [this, e, true], 'doTap');
|
||||
},
|
||||
|
||||
// @private
|
||||
doTap: function(me, e, handle) {
|
||||
if (Ext.isBoolean(handle) && handle) {
|
||||
this.callParent(arguments);
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
},
|
||||
|
||||
// @private
|
||||
onTouchStart: function(repeater) {
|
||||
if (!this.getDisabled()) {
|
||||
this.element.addCls(Ext.baseCSSPrefix + 'button-pressing');
|
||||
}
|
||||
},
|
||||
|
||||
// @private
|
||||
onTouchEnd: function(repeater) {
|
||||
this.element.removeCls(Ext.baseCSSPrefix + 'button-pressing');
|
||||
}
|
||||
});
|
|
@ -1,67 +0,0 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2016
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
|
||||
* EU, LV-1021.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
Ext.define('Common.component.SettingsList', {
|
||||
extend: 'Ext.List',
|
||||
alias: 'widget.settingslist',
|
||||
|
||||
config: {
|
||||
disableSelection: true,
|
||||
pinHeaders : false,
|
||||
grouped : true,
|
||||
cls : 'settings',
|
||||
ui : 'round',
|
||||
itemTpl : Ext.create('Ext.XTemplate',
|
||||
'<tpl for=".">',
|
||||
'<tpl if="this.hasIcon(icon)">',
|
||||
'<span class="list-icon {icon}"></span>',
|
||||
'</tpl>',
|
||||
'<tpl if="this.hasIcon(icon)">',
|
||||
'<strong class="icon-offset">{setting}</strong>',
|
||||
'<tpl else>',
|
||||
'<strong>{setting}</strong>',
|
||||
'</tpl>',
|
||||
'<tpl if="this.hasChild(child)">',
|
||||
'<span class="list-icon disclosure"></span>',
|
||||
'</tpl>',
|
||||
'</tpl>',
|
||||
{
|
||||
hasIcon: function(icon){
|
||||
return !Ext.isEmpty(icon);
|
||||
},
|
||||
hasChild: function(child){
|
||||
return !Ext.isEmpty(child);
|
||||
}
|
||||
}
|
||||
)
|
||||
}
|
||||
});
|
209
apps/common/mobile/lib/component/ThemeColorPalette.js
Normal file
209
apps/common/mobile/lib/component/ThemeColorPalette.js
Normal file
|
@ -0,0 +1,209 @@
|
|||
/*
|
||||
*
|
||||
* (c) Copyright Ascensio System Limited 2010-2016
|
||||
*
|
||||
* This program is a free software product. You can redistribute it and/or
|
||||
* modify it under the terms of the GNU Affero General Public License (AGPL)
|
||||
* version 3 as published by the Free Software Foundation. In accordance with
|
||||
* Section 7(a) of the GNU AGPL its Section 15 shall be amended to the effect
|
||||
* that Ascensio System SIA expressly excludes the warranty of non-infringement
|
||||
* of any third-party rights.
|
||||
*
|
||||
* This program is distributed WITHOUT ANY WARRANTY; without even the implied
|
||||
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. For
|
||||
* details, see the GNU AGPL at: http://www.gnu.org/licenses/agpl-3.0.html
|
||||
*
|
||||
* You can contact Ascensio System SIA at Lubanas st. 125a-25, Riga, Latvia,
|
||||
* EU, LV-1021.
|
||||
*
|
||||
* The interactive user interfaces in modified source and object code versions
|
||||
* of the Program must display Appropriate Legal Notices, as required under
|
||||
* Section 5 of the GNU AGPL version 3.
|
||||
*
|
||||
* Pursuant to Section 7(b) of the License you must retain the original Product
|
||||
* logo when distributing the program. Pursuant to Section 7(e) we decline to
|
||||
* grant you any rights under trademark law for use of our trademarks.
|
||||
*
|
||||
* All the Product's GUI elements, including illustrations and icon sets, as
|
||||
* well as technical writing content are licensed under the terms of the
|
||||
* Creative Commons Attribution-ShareAlike 4.0 International. See the License
|
||||
* terms at http://creativecommons.org/licenses/by-sa/4.0/legalcode
|
||||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
* ThemeColorPalette.js
|
||||
*
|
||||
* Created by Alexander Yuzhin on 10/27/16
|
||||
* Copyright (c) 2016 Ascensio System SIA. All rights reserved.
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
if (Common === undefined)
|
||||
var Common = {};
|
||||
|
||||
Common.UI = Common.UI || {};
|
||||
|
||||
define([
|
||||
'jquery',
|
||||
'underscore',
|
||||
'backbone'
|
||||
], function ($, _, Backbone) {
|
||||
'use strict';
|
||||
|
||||
Common.UI.ThemeColorPalette = Backbone.View.extend(_.extend({
|
||||
options: {
|
||||
dynamiccolors: 10,
|
||||
standardcolors: 10,
|
||||
themecolors: 10,
|
||||
effects: 5,
|
||||
allowReselect: true,
|
||||
transparent: false,
|
||||
value: '000000',
|
||||
cls: '',
|
||||
style: ''
|
||||
},
|
||||
|
||||
template: _.template([
|
||||
'<% var me = this; %>',
|
||||
'<div class="list-block color-palette <%= me.options.cls %>" style="<%= me.options.style %>">',
|
||||
'<ul>',
|
||||
'<li class="theme-colors">',
|
||||
'<div style="padding: 15px 0 0 15px;"><%= me.textThemeColors %></div>',
|
||||
'<div class="item-content">',
|
||||
'<div class="item-inner">',
|
||||
'<% _.each(themeColors, function(row) { %>',
|
||||
'<div class="row">',
|
||||
'<% _.each(row, function(effect) { %>',
|
||||
'<a data-effectid="<%=effect.effectId%>" data-effectvalue="<%=effect.effectValue%>" data-color="<%=effect.color%>" style="background:#<%=effect.color%>"></a>',
|
||||
'<% }); %>',
|
||||
'</div>',
|
||||
'<% }); %>',
|
||||
'</div>',
|
||||
'</div>',
|
||||
'</li>',
|
||||
'<li class="standart-colors">',
|
||||
'<div style="padding: 15px 0 0 15px;"><%= me.textStandartColors %></div>',
|
||||
'<div class="item-content">',
|
||||
'<div class="item-inner">',
|
||||
'<% _.each(standartColors, function(color, index) { %>',
|
||||
'<% if (0 == index && me.options.transparent) { %>',
|
||||
'<a data-color="transparent" class="transparent"></a>',
|
||||
'<% } else { %>',
|
||||
'<a data-color="<%=color%>" style="background:#<%=color%>"></a>',
|
||||
'<% } %>',
|
||||
'<% }); %>',
|
||||
'</div>',
|
||||
'</div>',
|
||||
'</li>',
|
||||
'</ul>',
|
||||
'</div>'
|
||||
].join('')),
|
||||
|
||||
// colorRe: /(?:^|\s)color-(.{6})(?:\s|$)/,
|
||||
// selectedCls: 'selected',
|
||||
//
|
||||
initialize : function(options) {
|
||||
var me = this,
|
||||
el = $(me.el);
|
||||
|
||||
me.options = _({}).extend(me.options, options);
|
||||
me.render();
|
||||
|
||||
el.find('.color-palette a').on('click', _.bind(me.onColorClick, me));
|
||||
},
|
||||
|
||||
render: function () {
|
||||
var me = this,
|
||||
themeColors = [],
|
||||
row = -1,
|
||||
standartColors = Common.Utils.ThemeColor.getStandartColors();
|
||||
|
||||
_.each(Common.Utils.ThemeColor.getEffectColors(), function(effect, index) {
|
||||
if (0 == index % me.options.themecolors) {
|
||||
themeColors.push([]);
|
||||
row++
|
||||
}
|
||||
themeColors[row].push(effect);
|
||||
});
|
||||
|
||||
$(me.el).append(me.template({
|
||||
themeColors: themeColors,
|
||||
standartColors: standartColors
|
||||
}));
|
||||
|
||||
return me;
|
||||
},
|
||||
|
||||
isColor: function(val) {
|
||||
return typeof(val) == 'string' && (/[0-9A-Fa-f]{6}/).test(val);
|
||||
},
|
||||
isTransparent: function(val) {
|
||||
return typeof(val) == 'string' && (val=='transparent');
|
||||
},
|
||||
|
||||
isEffect: function(val) {
|
||||
return (typeof(val) == 'object' && val.effectId !== undefined);
|
||||
},
|
||||
|
||||
onColorClick:function (e) {
|
||||
var me = this,
|
||||
el = $(me.el),
|
||||
$target = $(e.currentTarget);
|
||||
|
||||
el.find('.color-palette a').removeClass('active');
|
||||
$target.addClass('active');
|
||||
|
||||
var color = $target.data('color').toString(),
|
||||
effectId = $target.data('effectid');
|
||||
|
||||
me.currentColor = color;
|
||||
|
||||
if (effectId) {
|
||||
me.currentColor = {color: color, effectId: effectId};
|
||||
}
|
||||
|
||||
me.trigger('select', me, me.currentColor);
|
||||
},
|
||||
|
||||
select: function(color) {
|
||||
var me = this,
|
||||
el = $(me.el);
|
||||
|
||||
if (color == me.currentColor) {
|
||||
return;
|
||||
}
|
||||
|
||||
me.currentColor = color;
|
||||
|
||||
me.clearSelection();
|
||||
|
||||
if (_.isObject(color)) {
|
||||
if (! _.isUndefined(color.effectId)) {
|
||||
el.find('a[data-effectid=' + color.effectId + ']').addClass('active');
|
||||
} else if (! _.isUndefined(color.effectValue)) {
|
||||
el.find('a[data-effectvalue=' + color.effectValue + '][data-color=' + color.color + ']').addClass('active');
|
||||
}
|
||||
} else {
|
||||
if (/#?[a-fA-F0-9]{6}/.test(color)) {
|
||||
color = /#?([a-fA-F0-9]{6})/.exec(color)[1];
|
||||
}
|
||||
|
||||
if (/^[a-fA-F0-9]{6}|transparent$/.test(color) || _.indexOf(Common.Utils.ThemeColor.getStandartColors(), color) > -1) {
|
||||
el.find('.standart-colors a[data-color=' + color + ']').addClass('active');
|
||||
} else {
|
||||
el.find('.custom-colors a[data-color=' + color + ']').addClass('active');
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
|
||||
clearSelection: function() {
|
||||
$(this.el).find('.color-palette a').removeClass('active');
|
||||
},
|
||||
|
||||
textThemeColors: 'Theme Colors',
|
||||
textStandartColors: 'Standard Colors'
|
||||
}, Common.UI.ThemeColorPalette || {}));
|
||||
});
|
Some files were not shown because too many files have changed in this diff Show more
Loading…
Reference in a new issue