Merge remote-tracking branch 'origin/staging' into staging
commit
bee2a44c5a
|
@ -1044,7 +1044,6 @@ module.exports.create = function (conf, _cb) {
|
|||
|
||||
getWeakLock: function (channelName, _cb) {
|
||||
var cb = Util.once(Util.mkAsync(_cb));
|
||||
//if (!isValidChannelId(channelName)) { return void cb(new Error('EINVAL')); } // XXX
|
||||
schedule.unordered(channelName, cb);
|
||||
},
|
||||
|
||||
|
|
|
@ -2557,18 +2557,6 @@ define([
|
|||
|
||||
var $advanced;
|
||||
|
||||
var $advancedContainer = $('<div>');
|
||||
var priv = common.getMetadataMgr().getPrivateData();
|
||||
var c = (priv.settings.general && priv.settings.general.creation) || {};
|
||||
if (AppConfig.displayCreationScreen && common.isLoggedIn() && c.skip) {
|
||||
var $cboxLabel = $(UI.createCheckbox('cp-app-toolbar-creation-advanced',
|
||||
Messages.creation_newPadModalAdvanced, true))
|
||||
.appendTo($advancedContainer);
|
||||
$advanced = $cboxLabel.find('input');
|
||||
$description.append('<br>');
|
||||
$description.append(Messages.creation_newPadModalDescriptionAdvanced);
|
||||
}
|
||||
|
||||
var $container = $('<div>');
|
||||
var i = 0;
|
||||
var types = AppConfig.availablePadTypes.filter(function (p) {
|
||||
|
@ -2633,7 +2621,7 @@ define([
|
|||
});
|
||||
|
||||
|
||||
$modal.find('.cp-modal').append($container).append($advancedContainer);
|
||||
$modal.find('.cp-modal').append($container);
|
||||
window.setTimeout(function () {
|
||||
modal.show();
|
||||
$modal.focus();
|
||||
|
@ -2878,15 +2866,6 @@ define([
|
|||
right
|
||||
]);
|
||||
|
||||
var settings = h('div.cp-creation-remember', [
|
||||
UI.createCheckbox('cp-creation-remember', Messages.dontShowAgain, false),
|
||||
createHelper('/settings/#creation', Messages.creation_settings),
|
||||
h('div.cp-creation-remember-help.cp-creation-slider', [
|
||||
h('span.fa.fa-exclamation-circle.cp-creation-warning'),
|
||||
Messages.creation_rememberHelp
|
||||
])
|
||||
]);
|
||||
|
||||
var createDiv = h('div.cp-creation-create');
|
||||
var $create = $(createDiv);
|
||||
|
||||
|
@ -2895,7 +2874,6 @@ define([
|
|||
owned,
|
||||
expire,
|
||||
password,
|
||||
settings,
|
||||
templates,
|
||||
createDiv
|
||||
])).appendTo($creation);
|
||||
|
@ -3043,16 +3021,6 @@ define([
|
|||
$creation.focus();
|
||||
});
|
||||
|
||||
// Display settings help when checkbox checked
|
||||
$creation.find('#cp-creation-remember').on('change', function () {
|
||||
if ($(this).is(':checked')) {
|
||||
$creation.find('.cp-creation-remember-help:not(.active)').addClass('active');
|
||||
return;
|
||||
}
|
||||
$creation.find('.cp-creation-remember-help').removeClass('active');
|
||||
$creation.focus();
|
||||
});
|
||||
|
||||
// Keyboard shortcuts
|
||||
$creation.find('#cp-creation-expire-val').keydown(function (e) {
|
||||
if (e.which === 9) {
|
||||
|
@ -3070,9 +3038,6 @@ define([
|
|||
if (!cfg.owned && typeof cfg.owned !== "undefined") {
|
||||
$creation.find('#cp-creation-owned').prop('checked', false);
|
||||
}
|
||||
if (cfg.skip) {
|
||||
$creation.find('#cp-creation-remember').prop('checked', true).trigger('change');
|
||||
}
|
||||
UIElements.setExpirationValue(cfg.expire, $creation);
|
||||
|
||||
// Create the pad
|
||||
|
@ -3115,14 +3080,6 @@ define([
|
|||
var create = function () {
|
||||
var val = getFormValues();
|
||||
|
||||
var skip = $('#cp-creation-remember').is(':checked');
|
||||
common.setAttribute(['general', 'creation', 'skip'], skip, function (e) {
|
||||
if (e) { return void console.error(e); }
|
||||
});
|
||||
common.setAttribute(['general', 'creation', 'noTemplate'], skip, function (e) {
|
||||
if (e) { return void console.error(e); }
|
||||
});
|
||||
|
||||
common.setAttribute(['general', 'creation', 'owned'], val.owned, function (e) {
|
||||
if (e) { return void console.error(e); }
|
||||
});
|
||||
|
|
|
@ -402,12 +402,6 @@ define([
|
|||
Thumb.initPadThumbnails(common, options.thumbnail);
|
||||
}
|
||||
}
|
||||
|
||||
var skipTemp = Util.find(privateDat, ['settings', 'general', 'creation', 'noTemplate']);
|
||||
var skipCreation = Util.find(privateDat, ['settings', 'general', 'creation', 'skip']);
|
||||
if (newPad && (!AppConfig.displayCreationScreen || (!skipTemp && skipCreation))) {
|
||||
common.openTemplatePicker();
|
||||
}
|
||||
});
|
||||
};
|
||||
var onConnectionChange = function (info) {
|
||||
|
|
|
@ -296,10 +296,9 @@ define([
|
|||
var priv = ctx.metadataMgr.getPrivateData();
|
||||
if (priv.isNewFile) {
|
||||
var c = (priv.settings.general && priv.settings.general.creation) || {};
|
||||
var skip = !AppConfig.displayCreationScreen || (c.skip && !priv.forceCreationScreen);
|
||||
// If this is a new file but we have a hash in the URL and pad creation screen is
|
||||
// not displayed, then display an error...
|
||||
if (priv.isDeleted && (!funcs.isLoggedIn() || skip)) {
|
||||
if (priv.isDeleted && !funcs.isLoggedIn()) {
|
||||
UI.errorLoadingScreen(Messages.inactiveError, false, function () {
|
||||
UI.addLoadingScreen();
|
||||
return void funcs.createPad({}, waitFor());
|
||||
|
@ -308,7 +307,7 @@ define([
|
|||
}
|
||||
// Otherwise, if we don't display the screen, it means it is not a deleted pad
|
||||
// so we can continue and start realtime...
|
||||
if (!funcs.isLoggedIn() || skip) {
|
||||
if (!funcs.isLoggedIn()) {
|
||||
return void funcs.createPad(c, waitFor());
|
||||
}
|
||||
// If we display the pad creation screen, it will handle deleted pads directly
|
||||
|
|
|
@ -938,7 +938,7 @@
|
|||
"creation_expiration": "Ablaufdatum",
|
||||
"creation_passwordValue": "Passwort",
|
||||
"creation_propertiesTitle": "Verfügbarkeit",
|
||||
"creation_appMenuName": "Fortgeschrittener Modus (Strg + E)",
|
||||
"creation_appMenuName": "Neues Pad (Strg + E)",
|
||||
"creation_newPadModalDescription": "Klicke auf einen Pad-Typ, um das entsprechende Pad zu erstellen. Du kannst auch die <b>Tab</b>-Taste für die Auswahl und die <b>Enter</b>-Taste zum Bestätigen benutzen.",
|
||||
"creation_newPadModalDescriptionAdvanced": "Du kannst das Kästchen markieren (oder den Wert mit der Leertaste ändern), um den Dialog bei der Pad-Erstellung anzuzeigen (für eigene oder auslaufende Dokumente etc.).",
|
||||
"creation_newPadModalAdvanced": "Dialog bei der Pad-Erstellung anzeigen",
|
||||
|
|
|
@ -281,7 +281,7 @@
|
|||
"profile_description": "Kuvaus",
|
||||
"profile_fieldSaved": "Uusi arvo tallennettu: {0}",
|
||||
"profile_viewMyProfile": "Näytä oma profiili",
|
||||
"userlist_addAsFriendTitle": "Lähetä ystäväpyyntö käyttäjälle \"{0}\"",
|
||||
"userlist_addAsFriendTitle": "Lähetä kontaktipyyntö käyttäjälle \"{0}\"",
|
||||
"contacts_title": "Yhteystiedot",
|
||||
"contacts_addError": "Virhe lisätessä yhteystietoa listaan",
|
||||
"contacts_added": "Yhteystietopyyntö hyväksytty.",
|
||||
|
@ -301,7 +301,7 @@
|
|||
"contacts_confirmRemoveHistory": "Oletko varma, että haluat tyhjentää keskusteluhistorian pysyvästi? Tietoja ei voida palauttaa",
|
||||
"contacts_removeHistoryServerError": "Keskusteluhistorian poistamisessa tapahtui virhe. Yritä myöhemmin uudelleen",
|
||||
"contacts_fetchHistory": "Hae vanhempia viestejä",
|
||||
"contacts_friends": "Kaverit",
|
||||
"contacts_friends": "Kontaktit",
|
||||
"contacts_rooms": "Keskusteluhuoneet",
|
||||
"contacts_leaveRoom": "Lähde keskusteluhuoneesta",
|
||||
"contacts_online": "Toinen käyttäjä tästä keskusteluhuoneesta on online-tilassa",
|
||||
|
@ -354,7 +354,7 @@
|
|||
"fm_info_root": "Voit luoda haluamasi määrän sisäkkäisiä kansioita tiedostojesi järjestämiseen.",
|
||||
"fm_info_unsorted": "Sisältää kaikki käyttämäsi tiedostot, joita ei ole vielä lajiteltu \"Tiedostot\"-näkymässä tai siirretty roskakoriin.",
|
||||
"fm_info_template": "Sisältää kaikki mallipohjiksi tallennetut padit, joita voit käyttää uudelleen luodessasi uuden padin.",
|
||||
"fm_info_recent": "Näytä viimeksi muokatut tai avatut padit.",
|
||||
"fm_info_recent": "Tässä näytetään sinun tai yhteistyökumppaniesi äskettäin avaamat tai muokkaamat padit.",
|
||||
"fm_info_trash": "Tyhjennä roskakorisi vapauttaaksesi CryptDrive-tallennustilaa.",
|
||||
"fm_info_allFiles": "Sisältää kaikki tiedostot \"Dokumentit\"- \"Lajittelemattomat\"- ja \"Roskakori\"-näkymistä. Et voi siirtää tai poistaa tiedostoja täältä.",
|
||||
"fm_info_anonymous": "Et ole kirjautunut sisään. Padisi vanhenevat kolmen kuukauden kuluttua (<a href=\"https://blog.cryptpad.fr/2017/05/17/You-gotta-log-in/\" target=\"_blank\">(lue lisää)</a>). Padit säilytetään paikallisesti selaimessasi, joten selaimen historiatietojen tyhjentäminen saattaa hävittää ne.<br><a href=\"/register/\">Rekisteröidy</a> tai <a href=\"/login/\">kirjaudu sisään</a> säilyttääksesi padisi palvelimella.<br>",
|
||||
|
@ -513,7 +513,7 @@
|
|||
"settings_pinningError": "Jokin meni pieleen",
|
||||
"settings_usageAmount": "Kiinnitetyt padisi käyttävät {0}Mt",
|
||||
"settings_logoutEverywhereButton": "Kirjaudu ulos",
|
||||
"settings_logoutEverywhereTitle": "Kirjaudu ulos kaikkialta",
|
||||
"settings_logoutEverywhereTitle": "Sulje etäistunnot",
|
||||
"settings_logoutEverywhere": "Pakota uloskirjautuminen kaikista web-sessioista",
|
||||
"settings_logoutEverywhereConfirm": "Oletko varma? Joudut kirjautumaan kaikilla laitteillasi uudelleen sisään.",
|
||||
"settings_driveDuplicateTitle": "Omistettujen padien kaksoiskappaleet",
|
||||
|
@ -534,8 +534,8 @@
|
|||
"settings_creationSkipFalse": "Näytä",
|
||||
"settings_templateSkip": "Ohita mallipohjan valinta-dialogi",
|
||||
"settings_templateSkipHint": "Luodessasi uutta padia sinulta kysytään, haluatko käyttää mallipohjaa, jos sinulla on tallennettuja mallipohjia tälle padityypille. Tällä asetuksella voit valita, ettei mallipohjan valinta-dialogia näytetä ja siten mallipohjia ei koskaan käytetä.",
|
||||
"settings_ownDriveTitle": "Ota käyttöön viimeisimmät tiliominaisuudet",
|
||||
"settings_ownDriveHint": "Teknisistä syistä vanhemmilla käyttäjätileillä ei suoraan ole pääsyä CryptPadin uusimpiin ominaisuuksiin. Ilmainen päivitys uuteen käyttäjätiliin valmistelee CryptDrivesi tulevia ominaisuuksia varten häiritsemättä tavanomaista toimintaasi.",
|
||||
"settings_ownDriveTitle": "Päivitä käyttäjätili",
|
||||
"settings_ownDriveHint": "Vanhemmilla käyttäjätileillä ei ole teknisistä syistä pääsyä CryptPadin uusimpiin ominaisuuksiin. Ilmainen päivitys uuteen käyttäjätiliin valmistelee CryptDrivesi tulevia ominaisuuksia varten häiritsemättä tavanomaista toimintaasi.",
|
||||
"settings_ownDriveButton": "Päivitä käyttäjätilisi",
|
||||
"settings_ownDriveConfirm": "Käyttäjätilin päivitykseen voi mennä jonkin aikaa. Joudut kirjautumaan uudelleen sisään kaikilla laitteillasi. Oletko varma, että haluat aloittaa päivityksen?",
|
||||
"settings_ownDrivePending": "Käyttäjätiliäsi päivitetään. Ole hyvä, äläkä sulje tai lataa tätä sivua uudelleen, ennen kuin toimenpide on valmis.",
|
||||
|
@ -850,7 +850,7 @@
|
|||
"features_f_social": "Sosiaaliset sovellukset",
|
||||
"features_f_social_note": "Luo käyttäjäprofiili, käytä avatar-kuvaa, keskustele yhteystietojen kanssa",
|
||||
"features_f_file1": "Lataa ja jaa tiedostoja",
|
||||
"features_f_file1_note": "Jaa tiedostoja kavereidesi kanssa tai upota ne padeihisi",
|
||||
"features_f_file1_note": "Jaa tiedostoja kontaktiesi kanssa tai upota ne padeihisi",
|
||||
"features_f_storage1": "Pysyvä tallennustila (50Mt)",
|
||||
"features_f_storage1_note": "CryptDriveen tallennettuja padeja ei koskaan poisteta käyttämättömyyden takia",
|
||||
"features_f_register": "Rekisteröidy ilmaiseksi",
|
||||
|
@ -953,7 +953,7 @@
|
|||
"a": "Rekisteröityneille käyttäjille on tarjolla joitakin toimintoja, jotka eivät ole saatavilla rekisteröitymättömille käyttäjille. Löydät nämä toiminnot <a href='/features.html' target='_blank'>luomastamme kaaviosta</a>."
|
||||
},
|
||||
"share": {
|
||||
"q": "Miten jaan salattuja padeja kavereideni kanssa?",
|
||||
"q": "Miten jaan salattuja padeja kontaktieni kanssa?",
|
||||
"a": "CryptPad laittaa URL-osoitteessa padisi salaisen salausavaimen <em>#</em>-merkin jälkeen. Tämän merkin jälkeen laitettuja tietoja ei lähetetä palvelimelle, joten emme pääse koskaan käyttämään salausavaimiasi. Jakaessasi linkin padiin jaat oikeuden lukea ja käyttää sitä."
|
||||
},
|
||||
"remove": {
|
||||
|
@ -985,7 +985,7 @@
|
|||
"title": "Muita kysymyksiä",
|
||||
"pay": {
|
||||
"q": "Miksi minun täytyisi maksaa, kun niin monet toiminnot ovat ilmaisia?",
|
||||
"a": "Annamme tukijoillemme lisätallennustilaa ja mahdollisuuden kasvattaa kavereiden tallennustilakiintiöitä (<a href='https://accounts.cryptpad.fr/#/faq' target='_blank'>lue lisää</a>).<br><br>Näiden lyhytaikaisten etujen lisäksi premium-tilaus auttaa rahoittamaan CryptPadin jatkuvaa, aktiivista kehitystyötä. Tähän kuuluu bugien korjaamista, uusien ominaisuuksien lisäämistä ja CryptPad-instanssien pystyttämisen ja ylläpidon helpottamista. Lisäksi autat näyttämään muille palveluntarjoajille, että ihmiset ovat valmiita tukemaan yksityisyyttä parantavia teknologioita. Toivomme, että käyttäjätietojen myymiseen perustuvat liiketoimintamallit jäävät lopulta menneeseen.<br><br>Lopuksi, tarjoamme suurimman osan CryptPadin toiminnallisuudesta ilmaiseksi, koska uskomme yksityisyyden kuuluvan kaikille - ei vain niille, joilla on varaa maksaa siitä. Tukemalla meitä autat tarjoamaan heikommassa asemassa oleville väestöille pääsyn näihin peruspalveluihin."
|
||||
"a": "Annamme tukijoillemme lisätallennustilaa ja mahdollisuuden kasvattaa kontaktien tallennustilakiintiöitä (<a href='https://accounts.cryptpad.fr/#/faq' target='_blank'>lue lisää</a>).<br><br>Näiden lyhytaikaisten etujen lisäksi premium-tilaus auttaa rahoittamaan CryptPadin jatkuvaa, aktiivista kehitystyötä. Tähän kuuluu bugien korjaamista, uusien ominaisuuksien lisäämistä ja CryptPad-instanssien pystyttämisen ja ylläpidon helpottamista. Lisäksi autat näyttämään muille palveluntarjoajille, että ihmiset ovat valmiita tukemaan yksityisyyttä parantavia teknologioita. Toivomme, että käyttäjätietojen myymiseen perustuvat liiketoimintamallit jäävät lopulta menneeseen.<br><br>Lopuksi, tarjoamme suurimman osan CryptPadin toiminnallisuudesta ilmaiseksi, koska uskomme yksityisyyden kuuluvan kaikille - ei vain niille, joilla on varaa maksaa siitä. Tukemalla meitä autat tarjoamaan heikommassa asemassa oleville väestöille pääsyn näihin peruspalveluihin."
|
||||
},
|
||||
"goal": {
|
||||
"q": "Mitkä ovat tavoitteenne?",
|
||||
|
@ -1047,7 +1047,7 @@
|
|||
"colors": "Vaihda tekstin ja taustan väriä <span class=\"fa fa-i-cursor\"></span> ja <span class=\"fa fa-square\"></span> -painikkeilla"
|
||||
},
|
||||
"poll": {
|
||||
"decisions": "Tee päätöksiä luotettujen ystävien kesken",
|
||||
"decisions": "Tee päätöksiä luotettujen kontaktien kesken",
|
||||
"options": "Ehdota vaihtoehtoja ja tuo ilmi mielipiteesi",
|
||||
"choices": "Napsauta sarakkeesi soluja valitaksesi kyllä- (<strong>✔</strong>), ehkä- (<strong>~</strong>), tai ei (<strong>✖</strong>) -vaihtoehdon",
|
||||
"submit": "Napsauta <strong>Lähetä</strong> tehdäksesi valintasi näkyviksi muille"
|
||||
|
@ -1058,12 +1058,12 @@
|
|||
"embed": "Upota kuvia kovalevyltäsi <span class=\"fa fa-file-image-o\"></span> tai CryptDrivestasi <span class=\"fa fa-image\"></span> ja vie ne PNG-tiedostomuodossa kovalevyllesi <span class=\"fa fa-download\"></span> tai CryptDriveesi <span class=\"fa fa-cloud-upload\"></span>"
|
||||
},
|
||||
"kanban": {
|
||||
"add": "Lisää uusia tauluja oikeassa yläkulmassa olevalla <span class=\"fa fa-plus\"></span> -painikkeella",
|
||||
"task": "Siirrä kohtia raahaamalla ja pudottamalla ne yhdestä taulusta toiseen",
|
||||
"color": "Vaihda värejä napsauttamalla taulun otsikon vieressä olevaa värillistä osaa"
|
||||
"add": "Lisää uusia kortteja ja tauluja <span class=\"fa fa-plus\"></span> -painikkeella",
|
||||
"task": "Siirrä kohtia raahaamalla ja pudottamalla, raahaa <span class=\"fa fa-trash\"></span> roskakoriin poistaaksesi",
|
||||
"color": "Muokkaa otsikoita, sisältöä, tunnisteita ja värejä korttien ja taulujen otsikoiden vieressä olevalla span class=\"fa fa-pencil\"></span> -painikkeella"
|
||||
}
|
||||
},
|
||||
"driveReadmeTitle": "Mikä on CryptPad?",
|
||||
"readme_welcome": "Tervetuloa CryptPadiin!",
|
||||
"readme_p1": "Tervetuloa CryptPadiin, täällä voit tehdä muistiinpanoja yksin tai ystäviesi kanssa."
|
||||
"readme_p1": "Tervetuloa CryptPadiin, täällä voit tehdä muistiinpanoja yksin tai kontaktiesi kanssa."
|
||||
}
|
||||
|
|
|
@ -1066,13 +1066,6 @@ define([
|
|||
common.openPadChat(function () {});
|
||||
|
||||
UI.removeLoadingScreen();
|
||||
var privateDat = metadataMgr.getPrivateData();
|
||||
var skipTemp = Util.find(privateDat,
|
||||
['settings', 'general', 'creation', 'noTemplate']);
|
||||
var skipCreation = Util.find(privateDat, ['settings', 'general', 'creation', 'skip']);
|
||||
if (isNew && (!AppConfig.displayCreationScreen || (!skipTemp && skipCreation))) {
|
||||
common.openTemplatePicker();
|
||||
}
|
||||
};
|
||||
|
||||
var onError = function (info) {
|
||||
|
|
|
@ -62,12 +62,6 @@ define([
|
|||
'cp-settings-safe-links',
|
||||
'cp-settings-userfeedback',
|
||||
],
|
||||
'creation': [
|
||||
'cp-settings-creation-owned',
|
||||
'cp-settings-creation-expire',
|
||||
'cp-settings-creation-skip',
|
||||
'cp-settings-creation-template'
|
||||
],
|
||||
'drive': [
|
||||
'cp-settings-drive-duplicate',
|
||||
'cp-settings-thumbnails',
|
||||
|
@ -101,9 +95,6 @@ define([
|
|||
}
|
||||
};
|
||||
|
||||
if (!AppConfig.displayCreationScreen) {
|
||||
delete categories.creation;
|
||||
}
|
||||
if (AppConfig.disableFeedback) {
|
||||
var feedbackIdx = categories.account.indexOf('cp-settings-userfeedback');
|
||||
categories.account.splice(feedbackIdx, 1);
|
||||
|
@ -610,242 +601,6 @@ define([
|
|||
cb($cbox);
|
||||
}, true);
|
||||
|
||||
// Pad Creation settings
|
||||
|
||||
var setHTML = function (e, html) {
|
||||
e.innerHTML = html;
|
||||
return e;
|
||||
};
|
||||
create['creation-owned'] = function () {
|
||||
if (!common.isLoggedIn()) { return; }
|
||||
var owned = h('div.cp-settings-creation-owned.cp-sidebarlayout-element', [
|
||||
h('label', [
|
||||
Messages.creation_ownedTitle
|
||||
]),
|
||||
setHTML(h('p.cp-sidebarlayout-description'),
|
||||
Messages.creation_owned1 + '<br>' + Messages.creation_owned2),
|
||||
h('input#cp-creation-owned-true.cp-creation-owned-value', {
|
||||
type: 'radio',
|
||||
name: 'cp-creation-owned',
|
||||
value: 1,
|
||||
checked: 'checked'
|
||||
}),
|
||||
h('label', { 'for': 'cp-creation-owned-true' }, Messages.creation_ownedTrue),
|
||||
h('input#cp-creation-owned-false.cp-creation-owned-value', {
|
||||
type: 'radio',
|
||||
name: 'cp-creation-owned',
|
||||
value: 0,
|
||||
}),
|
||||
h('label', { 'for': 'cp-creation-owned-false' }, Messages.creation_ownedFalse),
|
||||
h('span.fa.fa-check', {title: Messages.saved}),
|
||||
h('span.fa.fa-spinner.fa-pulse'),
|
||||
]);
|
||||
|
||||
var $owned = $(owned);
|
||||
|
||||
var $ok = $owned.find('.fa-check').hide();
|
||||
var $spinner = $owned.find('.fa-spinner').hide();
|
||||
|
||||
$owned.find('input').change(function () {
|
||||
$spinner.show();
|
||||
$ok.hide();
|
||||
var val = parseInt($owned.find('[name="cp-creation-owned"]:checked').val());
|
||||
common.setAttribute(['general', 'creation', 'owned'], val, function (e) {
|
||||
if (e) { return void console.error(e); }
|
||||
$spinner.hide();
|
||||
$ok.show();
|
||||
});
|
||||
});
|
||||
common.getAttribute(['general', 'creation', 'owned'], function (e, val) {
|
||||
if (!val && typeof val !== "undefined") {
|
||||
$owned.find('#cp-creation-owned-false').attr('checked', true);
|
||||
}
|
||||
});
|
||||
|
||||
return $owned;
|
||||
};
|
||||
create['creation-expire'] = function () {
|
||||
if (!common.isLoggedIn()) { return; }
|
||||
var expire = h('div.cp-settings-creation-expire.cp-sidebarlayout-element', [
|
||||
h('label', [
|
||||
Messages.creation_expireTitle
|
||||
]),
|
||||
setHTML(h('p.cp-sidebarlayout-description'),
|
||||
Messages.creation_expire1 + '<br>' + Messages.creation_expire2),
|
||||
h('input#cp-creation-expire-false.cp-creation-expire-value', {
|
||||
type: 'radio',
|
||||
name: 'cp-creation-expire',
|
||||
value: 0,
|
||||
checked: 'checked'
|
||||
}),
|
||||
h('label', { 'for': 'cp-creation-expire-false' }, Messages.creation_expireFalse),
|
||||
h('input#cp-creation-expire-true.cp-creation-expire-value', {
|
||||
type: 'radio',
|
||||
name: 'cp-creation-expire',
|
||||
value: 1
|
||||
}),
|
||||
h('label', { 'for': 'cp-creation-expire-true' }, [
|
||||
Messages.creation_expireTrue,
|
||||
h('span.cp-creation-expire-picker', [
|
||||
h('input#cp-creation-expire-val', {
|
||||
type: "number",
|
||||
min: 1,
|
||||
max: 100,
|
||||
value: 3
|
||||
}),
|
||||
h('select#cp-creation-expire-unit', [
|
||||
h('option', { value: 'hour' }, Messages.creation_expireHours),
|
||||
h('option', { value: 'day' }, Messages.creation_expireDays),
|
||||
h('option', {
|
||||
value: 'month',
|
||||
selected: 'selected'
|
||||
}, Messages.creation_expireMonths)
|
||||
])
|
||||
])
|
||||
]),
|
||||
h('span.fa.fa-check', {title: Messages.saved}),
|
||||
h('span.fa.fa-spinner.fa-pulse'),
|
||||
]);
|
||||
|
||||
var $expire = $(expire);
|
||||
|
||||
var $ok = $expire.find('.fa-check').hide();
|
||||
var $spinner = $expire.find('.fa-spinner').hide();
|
||||
|
||||
var getValue = function () {
|
||||
if(!parseInt($expire.find('[name="cp-creation-expire"]:checked').val())) { return 0; }
|
||||
var unit = 0;
|
||||
switch ($expire.find('#cp-creation-expire-unit').val()) {
|
||||
case "hour" : unit = 3600; break;
|
||||
case "day" : unit = 3600 * 24; break;
|
||||
case "month": unit = 3600 * 24 * 30; break;
|
||||
default: unit = 0;
|
||||
}
|
||||
return ($expire.find('#cp-creation-expire-val').val() || 0) * unit;
|
||||
};
|
||||
$expire.find('input, select').change(function () {
|
||||
$spinner.show();
|
||||
$ok.hide();
|
||||
common.setAttribute(['general', 'creation', 'expire'], getValue(), function (e) {
|
||||
if (e) { return void console.error(e); }
|
||||
$spinner.hide();
|
||||
$ok.show();
|
||||
});
|
||||
});
|
||||
common.getAttribute(['general', 'creation', 'expire'], function (e, val) {
|
||||
UIElements.setExpirationValue(val, $expire);
|
||||
});
|
||||
|
||||
return $expire;
|
||||
};
|
||||
create['creation-skip'] = function () {
|
||||
if (!common.isLoggedIn()) { return; }
|
||||
var skip = h('div.cp-settings-creation-skip.cp-sidebarlayout-element', [
|
||||
h('label', [
|
||||
Messages.settings_creationSkip
|
||||
]),
|
||||
setHTML(h('p.cp-sidebarlayout-description'), Messages.settings_creationSkipHint),
|
||||
h('input#cp-creation-skip-true.cp-creation-skip-value', {
|
||||
type: 'radio',
|
||||
name: 'cp-creation-skip',
|
||||
value: 1,
|
||||
}),
|
||||
h('label', { 'for': 'cp-creation-skip-true' }, Messages.settings_creationSkipTrue),
|
||||
h('input#cp-creation-skip-false.cp-creation-skip-value', {
|
||||
type: 'radio',
|
||||
name: 'cp-creation-skip',
|
||||
value: 0,
|
||||
checked: 'checked'
|
||||
}),
|
||||
h('label', { 'for': 'cp-creation-skip-false' }, Messages.settings_creationSkipFalse),
|
||||
h('span.fa.fa-check', {title: Messages.saved}),
|
||||
h('span.fa.fa-spinner.fa-pulse'),
|
||||
]);
|
||||
|
||||
var $div = $(skip);
|
||||
|
||||
var $ok = $div.find('.fa-check').hide();
|
||||
var $spinner = $div.find('.fa-spinner').hide();
|
||||
|
||||
$div.find('input').change(function () {
|
||||
$spinner.show();
|
||||
$ok.hide();
|
||||
var val = parseInt($div.find('[name="cp-creation-skip"]:checked').val());
|
||||
// If we don't skip the pad creation screen, we dont' need settings to hide the templates
|
||||
// modal
|
||||
if (!val) {
|
||||
$('.cp-settings-creation-template').addClass('cp-settings-creation-skipped');
|
||||
} else {
|
||||
$('.cp-settings-creation-template').removeClass('cp-settings-creation-skipped');
|
||||
}
|
||||
common.setAttribute(['general', 'creation', 'skip'], val, function (e) {
|
||||
if (e) { return void console.error(e); }
|
||||
$spinner.hide();
|
||||
$ok.show();
|
||||
});
|
||||
});
|
||||
common.getAttribute(['general', 'creation', 'skip'], function (e, val) {
|
||||
if (val) {
|
||||
$div.find('#cp-creation-skip-true').attr('checked', true);
|
||||
return;
|
||||
}
|
||||
// If we don't skip the pad creation screen, we dont' need settings to hide the templates
|
||||
// modal
|
||||
$('.cp-settings-creation-template').addClass('cp-settings-creation-skipped');
|
||||
});
|
||||
|
||||
return $div;
|
||||
};
|
||||
create['creation-template'] = function () {
|
||||
var skip = h('div.cp-settings-creation-template.cp-sidebarlayout-element', [
|
||||
h('label', [
|
||||
Messages.settings_templateSkip
|
||||
]),
|
||||
setHTML(h('p.cp-sidebarlayout-description'), Messages.settings_templateSkipHint),
|
||||
h('input#cp-creation-template-true.cp-creation-template-value', {
|
||||
type: 'radio',
|
||||
name: 'cp-creation-template',
|
||||
value: 1,
|
||||
}),
|
||||
h('label', { 'for': 'cp-creation-template-true' }, Messages.settings_creationSkipTrue),
|
||||
h('input#cp-creation-template-false.cp-creation-template-value', {
|
||||
type: 'radio',
|
||||
name: 'cp-creation-template',
|
||||
value: 0,
|
||||
checked: 'checked'
|
||||
}),
|
||||
h('label', { 'for': 'cp-creation-template-false' }, Messages.settings_creationSkipFalse),
|
||||
h('span.fa.fa-check', {title: Messages.saved}),
|
||||
h('span.fa.fa-spinner.fa-pulse'),
|
||||
]);
|
||||
|
||||
var $div = $(skip);
|
||||
|
||||
var $ok = $div.find('.fa-check').hide();
|
||||
var $spinner = $div.find('.fa-spinner').hide();
|
||||
|
||||
$div.find('input').change(function () {
|
||||
$spinner.show();
|
||||
$ok.hide();
|
||||
var val = parseInt($div.find('[name="cp-creation-template"]:checked').val());
|
||||
common.setAttribute(['general', 'creation', 'noTemplate'], val, function (e) {
|
||||
if (e) { return void console.error(e); }
|
||||
$spinner.hide();
|
||||
$ok.show();
|
||||
});
|
||||
});
|
||||
common.getAttribute(['general', 'creation', 'noTemplate'], function (e, val) {
|
||||
if (val) {
|
||||
$div.find('#cp-creation-template-true').attr('checked', true);
|
||||
}
|
||||
});
|
||||
|
||||
return $div;
|
||||
};
|
||||
|
||||
|
||||
|
||||
|
||||
// Drive settings
|
||||
|
||||
create['drive-duplicate'] = function () {
|
||||
|
@ -1720,7 +1475,6 @@ define([
|
|||
if (key === 'cursor') { $category.append($('<span>', {'class': 'fa fa-i-cursor' })); }
|
||||
if (key === 'code') { $category.append($('<span>', {'class': 'fa fa-file-code-o' })); }
|
||||
if (key === 'pad') { $category.append($('<span>', {'class': 'fa fa-file-word-o' })); }
|
||||
if (key === 'creation') { $category.append($('<span>', {'class': 'fa fa-plus-circle' })); }
|
||||
if (key === 'security') { $category.append($('<span>', {'class': 'fa fa-lock' })); }
|
||||
if (key === 'subscription') { $category.append($('<span>', {'class': 'fa fa-star-o' })); }
|
||||
|
||||
|
|
Loading…
Reference in New Issue