[SSE mobile] Add Formula Language
This commit is contained in:
parent
304baedd80
commit
744bef6f69
|
@ -76,7 +76,17 @@ define([
|
||||||
{ caption: 'A2', subtitle: Common.Utils.String.format('42{0} x 59,4{0}', txtCm), value: [420, 594] },
|
{ caption: 'A2', subtitle: Common.Utils.String.format('42{0} x 59,4{0}', txtCm), value: [420, 594] },
|
||||||
{ caption: 'A6', subtitle: Common.Utils.String.format('10,5{0} x 14,8{0}', txtCm), value: [105, 148] }
|
{ caption: 'A6', subtitle: Common.Utils.String.format('10,5{0} x 14,8{0}', txtCm), value: [105, 148] }
|
||||||
],
|
],
|
||||||
_metricText = Common.Utils.Metric.getMetricName(Common.Utils.Metric.getCurrentMetric())
|
_metricText = Common.Utils.Metric.getMetricName(Common.Utils.Metric.getCurrentMetric()),
|
||||||
|
_dataLang = [
|
||||||
|
{ value: 'en', displayValue: 'English', exampleValue: ' SUM; MIN; MAX; COUNT' },
|
||||||
|
{ value: 'de', displayValue: 'Deutsch', exampleValue: ' SUMME; MIN; MAX; ANZAHL' },
|
||||||
|
{ value: 'es', displayValue: 'Spanish', exampleValue: ' SUMA; MIN; MAX; CALCULAR' },
|
||||||
|
{ value: 'fr', displayValue: 'French', exampleValue: ' SOMME; MIN; MAX; NB' },
|
||||||
|
{ value: 'it', displayValue: 'Italian', exampleValue: ' SOMMA; MIN; MAX; CONTA.NUMERI' },
|
||||||
|
{ value: 'ru', displayValue: 'Russian', exampleValue: ' СУММ; МИН; МАКС; СЧЁТ' },
|
||||||
|
{ value: 'pl', displayValue: 'Polish', exampleValue: ' SUMA; MIN; MAX; ILE.LICZB' }
|
||||||
|
],
|
||||||
|
_indexLang = 0;
|
||||||
|
|
||||||
var mm2Cm = function(mm) {
|
var mm2Cm = function(mm) {
|
||||||
return parseFloat((mm/10.).toFixed(2));
|
return parseFloat((mm/10.).toFixed(2));
|
||||||
|
@ -205,6 +215,8 @@ define([
|
||||||
me.initSpreadsheetPageSize();
|
me.initSpreadsheetPageSize();
|
||||||
} else if ('#margins-view' == pageId) {
|
} else if ('#margins-view' == pageId) {
|
||||||
me.initSpreadsheetMargins();
|
me.initSpreadsheetMargins();
|
||||||
|
} else if ('#language-formula-view' == pageId) {
|
||||||
|
me.initFormulaLang();
|
||||||
} else {
|
} else {
|
||||||
var _userCount = SSE.getController('Main').returnUserCount();
|
var _userCount = SSE.getController('Main').returnUserCount();
|
||||||
if (_userCount > 0) {
|
if (_userCount > 0) {
|
||||||
|
@ -213,6 +225,21 @@ define([
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
||||||
|
initFormulaLang: function() {
|
||||||
|
var value = Common.localStorage.getItem('sse-settings-func-lang');
|
||||||
|
var item = _.findWhere(_dataLang, {value: value});
|
||||||
|
this.getView('Settings').renderFormLang(item ? _dataLang.indexOf(item) : 0, _dataLang);
|
||||||
|
$('.page[data-page=language-formula-view] input:radio[name=language-formula]').single('change', _.bind(this.onFormulaLangChange, this));
|
||||||
|
Common.Utils.addScrollIfNeed('.page[data-page=language-formula-view]', '.page[data-page=language-formula-view] .page-content');
|
||||||
|
},
|
||||||
|
|
||||||
|
onFormulaLangChange: function(e) {
|
||||||
|
var langValue = $(e.currentTarget).val();
|
||||||
|
Common.localStorage.setItem("sse-settings-func-lang", langValue);
|
||||||
|
this.initPageApplicationSettings();
|
||||||
|
SSE.getController('AddFunction').onDocumentReady();
|
||||||
|
},
|
||||||
|
|
||||||
onCollaboration: function() {
|
onCollaboration: function() {
|
||||||
SSE.getController('Collaboration').showModal();
|
SSE.getController('Collaboration').showModal();
|
||||||
},
|
},
|
||||||
|
@ -448,6 +475,16 @@ define([
|
||||||
var value = Common.localStorage.getItem('se-mobile-settings-unit');
|
var value = Common.localStorage.getItem('se-mobile-settings-unit');
|
||||||
value = (value!==null) ? parseInt(value) : Common.Utils.Metric.getDefaultMetric();
|
value = (value!==null) ? parseInt(value) : Common.Utils.Metric.getDefaultMetric();
|
||||||
$unitMeasurement.val([value]);
|
$unitMeasurement.val([value]);
|
||||||
|
|
||||||
|
//init formula language
|
||||||
|
value = Common.localStorage.getItem('sse-settings-func-lang');
|
||||||
|
var item = _.findWhere(_dataLang, {value: value});
|
||||||
|
if(!item) {
|
||||||
|
item = _dataLang[0];
|
||||||
|
}
|
||||||
|
var $pageLang = $('#language-formula');
|
||||||
|
$pageLang.find('.item-title').text(item.displayValue);
|
||||||
|
$pageLang.find('.item-example').text(item.exampleValue);
|
||||||
},
|
},
|
||||||
|
|
||||||
unitMeasurementChange: function (e) {
|
unitMeasurementChange: function (e) {
|
||||||
|
|
|
@ -86,7 +86,8 @@ define([
|
||||||
var me = this;
|
var me = this;
|
||||||
|
|
||||||
_.defer(function () {
|
_.defer(function () {
|
||||||
var editorLang = SSE.getController("Main").editorConfig.lang;
|
var editorLang = Common.localStorage.getItem('sse-settings-func-lang');
|
||||||
|
|
||||||
editorLang = (editorLang ? editorLang : 'en').split(/[\-\_]/)[0].toLowerCase();
|
editorLang = (editorLang ? editorLang : 'en').split(/[\-\_]/)[0].toLowerCase();
|
||||||
|
|
||||||
var localizationFunctions = function(data) {
|
var localizationFunctions = function(data) {
|
||||||
|
@ -105,8 +106,8 @@ define([
|
||||||
|
|
||||||
fillFunctions: function() {
|
fillFunctions: function() {
|
||||||
var me = this,
|
var me = this,
|
||||||
functions = {},
|
functions = {};
|
||||||
editorLang = SSE.getController("Main").editorConfig.lang;
|
var editorLang = Common.localStorage.getItem('sse-settings-func-lang');
|
||||||
|
|
||||||
editorLang = (editorLang ? editorLang : 'en').split(/[\-\_]/)[0].toLowerCase();
|
editorLang = (editorLang ? editorLang : 'en').split(/[\-\_]/)[0].toLowerCase();
|
||||||
|
|
||||||
|
@ -141,7 +142,7 @@ define([
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
view.setFunctions(functions);
|
view.setFunctions(functions, editorLang);
|
||||||
view.render();
|
view.render();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -414,7 +414,22 @@
|
||||||
</label>
|
</label>
|
||||||
</li>
|
</li>
|
||||||
</ul>
|
</ul>
|
||||||
</div>
|
</div>
|
||||||
|
<div class="content-block-title"><%= scope.textFormulaLanguage %></div>
|
||||||
|
<div class="list-block">
|
||||||
|
<ul>
|
||||||
|
<li class="media-item">
|
||||||
|
<a id="language-formula" class="item-link item-content" data-page="#language-formula-view">
|
||||||
|
<div class="item-inner">
|
||||||
|
<div class="item-title-row">
|
||||||
|
<div class="item-title"><%= scope.textCustom %></div>
|
||||||
|
</div>
|
||||||
|
<div class="item-subtitle"><%= scope.textExample + ": "%><span class="item-example"><%= scope.textCustomSize %></span></div>
|
||||||
|
</div>
|
||||||
|
</a>
|
||||||
|
</li>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -642,3 +657,23 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<!-- Language Formula View --->
|
||||||
|
<div id="language-formula-view">
|
||||||
|
<div class="navbar">
|
||||||
|
<div class="navbar-inner">
|
||||||
|
<div class="left sliding"><a href="#" class="back link"> <i class="icon icon-back"></i><% if (!android) { %><span><%= scope.textBack %></span><% } %></a></div>
|
||||||
|
<div class="center sliding"><%= scope.textFormulaLanguage %></div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div class="pages">
|
||||||
|
<div class="page" data-page="language-formula-view">
|
||||||
|
<div class="page-content">
|
||||||
|
<div class="list-block media-list">
|
||||||
|
<ul>
|
||||||
|
</ul>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
|
@ -168,6 +168,11 @@ define([
|
||||||
|
|
||||||
showSetApp: function() {
|
showSetApp: function() {
|
||||||
this.showPage('#settings-application-view');
|
this.showPage('#settings-application-view');
|
||||||
|
$('#language-formula').single('click', _.bind(this.showFormulaLanguage, this));
|
||||||
|
},
|
||||||
|
|
||||||
|
showFormulaLanguage: function () {
|
||||||
|
this.showPage('#language-formula-view');
|
||||||
},
|
},
|
||||||
|
|
||||||
showColorSchemes: function () {
|
showColorSchemes: function () {
|
||||||
|
@ -261,6 +266,38 @@ define([
|
||||||
$list.html(items.join(''));
|
$list.html(items.join(''));
|
||||||
},
|
},
|
||||||
|
|
||||||
|
renderFormLang: function(indexLang, languages) {
|
||||||
|
var $pageLang = $('.page[data-page=language-formula-view]'),
|
||||||
|
$list = $pageLang.find('ul'),
|
||||||
|
items = [],
|
||||||
|
textEx = this.textExample;
|
||||||
|
|
||||||
|
_.each(languages, function (lang, index) {
|
||||||
|
items.push(_.template([
|
||||||
|
'<li>',
|
||||||
|
'<label class="label-radio item-content">',
|
||||||
|
'<input type="radio" name="language-formula" value="<%= item.value %>" <% if (index == selectIndex) { %>checked="checked"<% } %> >',
|
||||||
|
'<% if (android) { %><div class="item-media"><i class="icon icon-form-radio"></i></div><% } %>',
|
||||||
|
'<div class="item-inner">',
|
||||||
|
'<div class="item-title-row">',
|
||||||
|
'<div class="item-title"><%= item.displayValue %></div>',
|
||||||
|
'</div>',
|
||||||
|
'<div class="item-subtitle"><%= textExamp + ": "%> <%= item.exampleValue %></div>',
|
||||||
|
'</div>',
|
||||||
|
'</label>',
|
||||||
|
'</li>'
|
||||||
|
].join(''))({
|
||||||
|
android: Framework7.prototype.device.android,
|
||||||
|
item: lang,
|
||||||
|
index: index,
|
||||||
|
selectIndex: indexLang,
|
||||||
|
textExamp: textEx
|
||||||
|
}));
|
||||||
|
});
|
||||||
|
|
||||||
|
$list.html(items.join(''));
|
||||||
|
},
|
||||||
|
|
||||||
unknownText: 'Unknown',
|
unknownText: 'Unknown',
|
||||||
textFindAndReplace: 'Find and Replace',
|
textFindAndReplace: 'Find and Replace',
|
||||||
textSettings: 'Settings',
|
textSettings: 'Settings',
|
||||||
|
@ -304,7 +341,9 @@ define([
|
||||||
textLeft: 'Left',
|
textLeft: 'Left',
|
||||||
textBottom: 'Bottom',
|
textBottom: 'Bottom',
|
||||||
textRight: 'Right',
|
textRight: 'Right',
|
||||||
textCollaboration: 'Collaboration'
|
textCollaboration: 'Collaboration',
|
||||||
|
textFormulaLanguage: 'Formula Language',
|
||||||
|
textExample: 'Example'
|
||||||
}
|
}
|
||||||
})(), SSE.Views.Settings || {}))
|
})(), SSE.Views.Settings || {}))
|
||||||
});
|
});
|
|
@ -109,17 +109,35 @@ define([
|
||||||
quickFunction.caption = me.functions[quickFunction.type].caption
|
quickFunction.caption = me.functions[quickFunction.type].caption
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
var lang = me.lang;
|
||||||
|
|
||||||
|
this.translatTable = {};
|
||||||
|
|
||||||
|
var name = '', translate = '',
|
||||||
|
descriptions = ['DateAndTime', 'Engineering', 'Financial', 'Information', 'Logical', 'LookupAndReference', 'Mathematic', 'Statistical', 'TextAndData' ];
|
||||||
|
for (var i=0; i<descriptions.length; i++) {
|
||||||
|
name = descriptions[i];
|
||||||
|
translate = 'sCat' + name;
|
||||||
|
this.translatTable[name] = {
|
||||||
|
en: this[translate],
|
||||||
|
de: this[translate+'_de'],
|
||||||
|
ru: this[translate+'_ru'],
|
||||||
|
pl: this[translate+'_pl'],
|
||||||
|
es: this[translate+'_es'],
|
||||||
|
fr: this[translate+'_fr']
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
me.groups = {
|
me.groups = {
|
||||||
'DateAndTime': me.sCatDateAndTime,
|
'DateAndTime': me.translatTable['DateAndTime'][lang] || me.translatTable['DateAndTime']['en'],
|
||||||
'Engineering': me.sCatEngineering,
|
'Engineering': me.translatTable['Engineering'][lang] || me.translatTable['Engineering']['en'],
|
||||||
'TextAndData': me.sCatTextAndData,
|
'TextAndData': me.translatTable['TextAndData'][lang] || me.translatTable['TextAndData']['en'],
|
||||||
'Statistical': me.sCatStatistical,
|
'Statistical': me.translatTable['Statistical'][lang] || me.translatTable['Statistical']['en'],
|
||||||
'Financial': me.sCatFinancial,
|
'Financial': me.translatTable['Financial'][lang] || me.translatTable['Financial']['en'],
|
||||||
'Mathematic': me.sCatMathematic,
|
'Mathematic': me.translatTable['Mathematic'][lang] || me.translatTable['Mathematic']['en'],
|
||||||
'LookupAndReference': me.sCatLookupAndReference,
|
'LookupAndReference': me.translatTable['LookupAndReference'][lang] || me.translatTable['LookupAndReference']['en'],
|
||||||
'Information': me.sCatInformation,
|
'Information': me.translatTable['Information'][lang] || me.translatTable['Information']['en'],
|
||||||
'Logical': me.sCatLogical
|
'Logical': me.translatTable['Logical'][lang] || me.translatTable['Logical']['en']
|
||||||
};
|
};
|
||||||
|
|
||||||
me.layout = $('<div/>').append(_.template(me.template)({
|
me.layout = $('<div/>').append(_.template(me.template)({
|
||||||
|
@ -134,8 +152,9 @@ define([
|
||||||
return this;
|
return this;
|
||||||
},
|
},
|
||||||
|
|
||||||
setFunctions: function (arr) {
|
setFunctions: function (arr, lang) {
|
||||||
this.functions = arr;
|
this.functions = arr;
|
||||||
|
this.lang = lang;
|
||||||
},
|
},
|
||||||
|
|
||||||
rootLayout: function () {
|
rootLayout: function () {
|
||||||
|
@ -202,7 +221,57 @@ define([
|
||||||
sCatLookupAndReference: 'Lookup and Reference',
|
sCatLookupAndReference: 'Lookup and Reference',
|
||||||
sCatMathematic: 'Math and trigonometry',
|
sCatMathematic: 'Math and trigonometry',
|
||||||
sCatStatistical: 'Statistical',
|
sCatStatistical: 'Statistical',
|
||||||
sCatTextAndData: 'Text and data'
|
sCatTextAndData: 'Text and data',
|
||||||
|
|
||||||
|
sCatDateAndTime_ru: 'Дата и время',
|
||||||
|
sCatEngineering_ru: 'Инженерные',
|
||||||
|
sCatFinancial_ru: 'Финансовые',
|
||||||
|
sCatInformation_ru: 'Информационные',
|
||||||
|
sCatLogical_ru: 'Логические',
|
||||||
|
sCatLookupAndReference_ru: 'Поиск и ссылки',
|
||||||
|
sCatMathematic_ru: 'Математические',
|
||||||
|
sCatStatistical_ru: 'Статистические',
|
||||||
|
sCatTextAndData_ru: 'Текст и данные',
|
||||||
|
|
||||||
|
sCatLogical_es: 'Lógico',
|
||||||
|
sCatDateAndTime_es: 'Fecha y hora',
|
||||||
|
sCatEngineering_es: 'Ingenería',
|
||||||
|
sCatFinancial_es: 'Financial',
|
||||||
|
sCatInformation_es: 'Información',
|
||||||
|
sCatLookupAndReference_es: 'Búsqueda y referencia',
|
||||||
|
sCatMathematic_es: 'Matemáticas y trigonometría',
|
||||||
|
sCatStatistical_es: 'Estadístico',
|
||||||
|
sCatTextAndData_es: 'Texto y datos',
|
||||||
|
|
||||||
|
sCatLogical_fr: 'Logique',
|
||||||
|
sCatDateAndTime_fr: 'Date et heure',
|
||||||
|
sCatEngineering_fr: 'Ingénierie',
|
||||||
|
sCatFinancial_fr: 'Financier',
|
||||||
|
sCatInformation_fr: 'Information',
|
||||||
|
sCatLookupAndReference_fr: 'Recherche et référence',
|
||||||
|
sCatMathematic_fr: 'Maths et trigonométrie',
|
||||||
|
sCatStatistical_fr: 'Statistiques',
|
||||||
|
sCatTextAndData_fr: 'Texte et données',
|
||||||
|
|
||||||
|
sCatLogical_pl: 'Logiczny',
|
||||||
|
sCatDateAndTime_pl: 'Data i czas',
|
||||||
|
sCatEngineering_pl: 'Inżyniera',
|
||||||
|
sCatFinancial_pl: 'Finansowe',
|
||||||
|
sCatInformation_pl: 'Informacja',
|
||||||
|
sCatLookupAndReference_pl: 'Wyszukiwanie i odniesienie',
|
||||||
|
sCatMathematic_pl: 'Matematyczne i trygonometryczne',
|
||||||
|
sCatStatistical_pl: 'Statystyczny',
|
||||||
|
sCatTextAndData_pl: 'Tekst i data',
|
||||||
|
|
||||||
|
sCatDateAndTime_de: 'Datum und Uhrzeit',
|
||||||
|
sCatEngineering_de: 'Konstruktion',
|
||||||
|
sCatFinancial_de: 'Finanzmathematik',
|
||||||
|
sCatInformation_de: 'Information',
|
||||||
|
sCatLogical_de: 'Logisch',
|
||||||
|
sCatLookupAndReference_de: 'Suchen und Bezüge',
|
||||||
|
sCatMathematic_de: 'Mathematik und Trigonometrie',
|
||||||
|
sCatStatistical_de: 'Statistik',
|
||||||
|
sCatTextAndData_de: 'Text und Daten'
|
||||||
|
|
||||||
}
|
}
|
||||||
})(), SSE.Views.AddFunction || {}));
|
})(), SSE.Views.AddFunction || {}));
|
||||||
|
|
Loading…
Reference in a new issue