mirror of
https://github.com/wekan/wekan.git
synced 2025-12-16 15:30:13 +01:00
Merge remote-tracking branch 'upstream/master'
This commit is contained in:
commit
545c72fca3
74 changed files with 55248 additions and 55042 deletions
25
CHANGELOG.md
25
CHANGELOG.md
|
|
@ -1,3 +1,28 @@
|
|||
# Upcoming Wekan release
|
||||
|
||||
This release adds the following new features:
|
||||
|
||||
- [Option to add custom field to all cards](https://github.com/wekan/wekan/pulls/3466).
|
||||
Thanks to jrsupplee.
|
||||
|
||||
and adds the following updates:
|
||||
|
||||
- Updated dependencies.
|
||||
[Part 1](https://github.com/wekan/wekan/commit/7a66cb46a0ec334f4e95a73322641ba029f770ad),
|
||||
[Part 2](https://github.com/wekan/wekan/commit/953cfd6ecd291196ce2ad1d4a5eac19ca21a20d9).
|
||||
Thanks to developers of dependencies.
|
||||
|
||||
and fixes the following bugs:
|
||||
|
||||
- [WIP Limit: Limited number of cards highlighting to true overbooking](https://github.com/wekan/wekan/pull/3468).
|
||||
Thanks to bronger.
|
||||
- [Revert table-cell back to inline-block at my-cards-list-wrapper](https://github.com/wekan/wekan/commit/da12c84609674bdf5121ad6b74c97c65b9fc0164).
|
||||
Thanks to jrsupplee and xet7.
|
||||
- [Fix for search operators with uppercase letters](https://github.com/wekan/wekan/pull/3470).
|
||||
Thanks to jrsupplee.
|
||||
|
||||
Thanks to above GitHub users for their contributions and translators for their translations.
|
||||
|
||||
# v4.84 2021-01-22 Wekan release
|
||||
|
||||
This release adds the following new features:
|
||||
|
|
|
|||
|
|
@ -239,7 +239,7 @@ BlazeComponent.extendComponent({
|
|||
.customFields()
|
||||
.fetch(),
|
||||
function(field) {
|
||||
if (field.automaticallyOnCard)
|
||||
if (field.automaticallyOnCard || field.alwaysOnCard)
|
||||
arr.push({ _id: field._id, value: null });
|
||||
},
|
||||
);
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ template(name="listHeader")
|
|||
= title
|
||||
if wipLimit.enabled
|
||||
| (
|
||||
span(class="{{#if reachedWipLimit}}highlight{{/if}}") {{cards.count}}
|
||||
span(class="{{#if exceededWipLimit}}highlight{{/if}}") {{cards.count}}
|
||||
|/#{wipLimit.value})
|
||||
|
||||
if showCardsCountForList cards.count
|
||||
|
|
|
|||
|
|
@ -72,6 +72,14 @@ BlazeComponent.extendComponent({
|
|||
);
|
||||
},
|
||||
|
||||
exceededWipLimit() {
|
||||
const list = Template.currentData();
|
||||
return (
|
||||
list.getWipLimit('enabled') &&
|
||||
list.getWipLimit('value') < list.cards().count()
|
||||
);
|
||||
},
|
||||
|
||||
showCardsCountForList(count) {
|
||||
const limit = this.limitToShowCardsCount();
|
||||
return limit > 0 && count > limit;
|
||||
|
|
|
|||
|
|
@ -193,25 +193,31 @@ BlazeComponent.extendComponent({
|
|||
const reText = /^(?<text>\S+)(\s+|$)/;
|
||||
const reQuotedText = /^(?<quote>["'])(?<text>\w+)\k<quote>(\s+|$)/;
|
||||
|
||||
const operators = {
|
||||
'operator-board': 'boards',
|
||||
'operator-board-abbrev': 'boards',
|
||||
'operator-swimlane': 'swimlanes',
|
||||
'operator-swimlane-abbrev': 'swimlanes',
|
||||
'operator-list': 'lists',
|
||||
'operator-list-abbrev': 'lists',
|
||||
'operator-label': 'labels',
|
||||
'operator-label-abbrev': 'labels',
|
||||
'operator-user': 'users',
|
||||
'operator-user-abbrev': 'users',
|
||||
'operator-member': 'members',
|
||||
'operator-member-abbrev': 'members',
|
||||
'operator-assignee': 'assignees',
|
||||
'operator-assignee-abbrev': 'assignees',
|
||||
'operator-is': 'is',
|
||||
'operator-due': 'dueAt',
|
||||
'operator-created': 'createdAt',
|
||||
'operator-modified': 'modifiedAt',
|
||||
};
|
||||
|
||||
const operatorMap = {};
|
||||
operatorMap[TAPi18n.__('operator-board')] = 'boards';
|
||||
operatorMap[TAPi18n.__('operator-board-abbrev')] = 'boards';
|
||||
operatorMap[TAPi18n.__('operator-swimlane')] = 'swimlanes';
|
||||
operatorMap[TAPi18n.__('operator-swimlane-abbrev')] = 'swimlanes';
|
||||
operatorMap[TAPi18n.__('operator-list')] = 'lists';
|
||||
operatorMap[TAPi18n.__('operator-list-abbrev')] = 'lists';
|
||||
operatorMap[TAPi18n.__('operator-label')] = 'labels';
|
||||
operatorMap[TAPi18n.__('operator-label-abbrev')] = 'labels';
|
||||
operatorMap[TAPi18n.__('operator-user')] = 'users';
|
||||
operatorMap[TAPi18n.__('operator-user-abbrev')] = 'users';
|
||||
operatorMap[TAPi18n.__('operator-member')] = 'members';
|
||||
operatorMap[TAPi18n.__('operator-member-abbrev')] = 'members';
|
||||
operatorMap[TAPi18n.__('operator-assignee')] = 'assignees';
|
||||
operatorMap[TAPi18n.__('operator-assignee-abbrev')] = 'assignees';
|
||||
operatorMap[TAPi18n.__('operator-is')] = 'is';
|
||||
operatorMap[TAPi18n.__('operator-due')] = 'dueAt';
|
||||
operatorMap[TAPi18n.__('operator-created')] = 'createdAt';
|
||||
operatorMap[TAPi18n.__('operator-modified')] = 'modifiedAt';
|
||||
for (const op in operators) {
|
||||
operatorMap[TAPi18n.__(op).toLowerCase()] = operators[op];
|
||||
}
|
||||
|
||||
// eslint-disable-next-line no-console
|
||||
console.log('operatorMap:', operatorMap);
|
||||
|
|
@ -247,7 +253,7 @@ BlazeComponent.extendComponent({
|
|||
} else {
|
||||
op = m.groups.abbrev;
|
||||
}
|
||||
if (op !== "__proto__") {
|
||||
if (op !== '__proto__') {
|
||||
if (op in operatorMap) {
|
||||
let value = m.groups.value;
|
||||
if (operatorMap[op] === 'labels') {
|
||||
|
|
@ -259,7 +265,9 @@ BlazeComponent.extendComponent({
|
|||
) {
|
||||
const days = parseInt(value, 10);
|
||||
if (isNaN(days)) {
|
||||
if (['day', 'week', 'month', 'quarter', 'year'].includes(value)) {
|
||||
if (
|
||||
['day', 'week', 'month', 'quarter', 'year'].includes(value)
|
||||
) {
|
||||
value = moment()
|
||||
.subtract(1, value)
|
||||
.format();
|
||||
|
|
|
|||
|
|
@ -49,7 +49,7 @@
|
|||
border-radius: 5px
|
||||
padding: 1.5rem
|
||||
padding-top: 0.75rem
|
||||
display: table-cell
|
||||
display: inline-block
|
||||
min-width: 250px
|
||||
max-width: 350px
|
||||
|
||||
|
|
|
|||
|
|
@ -59,6 +59,10 @@ template(name="createCustomFieldPopup")
|
|||
|
||||
span {{_ 'automatically-field-on-card'}}
|
||||
|
||||
a.flex.js-field-always-on-card(class="{{#if alwaysOnCard}}is-checked{{/if}}")
|
||||
.materialCheckBox(class="{{#if alwaysOnCard}}is-checked{{/if}}")
|
||||
span {{_ 'always-field-on-card'}}
|
||||
|
||||
a.flex.js-field-showLabel-on-card(class="{{#if showLabelOnMiniCard}}is-checked{{/if}}")
|
||||
.materialCheckBox(class="{{#if showLabelOnMiniCard}}is-checked{{/if}}")
|
||||
|
||||
|
|
|
|||
|
|
@ -174,6 +174,14 @@ const CreateCustomFieldPopup = BlazeComponent.extendComponent({
|
|||
$target.find('.materialCheckBox').toggleClass('is-checked');
|
||||
$target.toggleClass('is-checked');
|
||||
},
|
||||
'click .js-field-always-on-card'(evt) {
|
||||
let $target = $(evt.target);
|
||||
if (!$target.hasClass('js-field-always-on-card')) {
|
||||
$target = $target.parent();
|
||||
}
|
||||
$target.find('.materialCheckBox').toggleClass('is-checked');
|
||||
$target.toggleClass('is-checked');
|
||||
},
|
||||
'click .js-field-showLabel-on-card'(evt) {
|
||||
let $target = $(evt.target);
|
||||
if (!$target.hasClass('js-field-showLabel-on-card')) {
|
||||
|
|
@ -194,6 +202,8 @@ const CreateCustomFieldPopup = BlazeComponent.extendComponent({
|
|||
this.find('.js-field-showLabel-on-card.is-checked') !== null,
|
||||
automaticallyOnCard:
|
||||
this.find('.js-field-automatically-on-card.is-checked') !== null,
|
||||
alwaysOnCard:
|
||||
this.find('.js-field-always-on-card.is-checked') !== null,
|
||||
};
|
||||
|
||||
// insert or update
|
||||
|
|
|
|||
|
|
@ -601,7 +601,8 @@
|
|||
"minutes": "minutes",
|
||||
"seconds": "seconds",
|
||||
"show-field-on-card": "Show this field on card",
|
||||
"automatically-field-on-card": "Auto create field to all cards",
|
||||
"automatically-field-on-card": "Add field to new cards",
|
||||
"always-field-on-card": "Add field to all cards",
|
||||
"showLabel-field-on-card": "Show field label on minicard",
|
||||
"yes": "Yes",
|
||||
"no": "No",
|
||||
|
|
|
|||
|
|
@ -601,7 +601,8 @@
|
|||
"minutes": "الدقائق",
|
||||
"seconds": "الثواني",
|
||||
"show-field-on-card": "Show this field on card",
|
||||
"automatically-field-on-card": "Auto create field to all cards",
|
||||
"automatically-field-on-card": "Add field to new cards",
|
||||
"always-field-on-card": "Add field to all cards",
|
||||
"showLabel-field-on-card": "Show field label on minicard",
|
||||
"yes": "نعم",
|
||||
"no": "لا",
|
||||
|
|
|
|||
|
|
@ -601,7 +601,8 @@
|
|||
"minutes": "минути",
|
||||
"seconds": "секунди",
|
||||
"show-field-on-card": "Покажи това поле в картата",
|
||||
"automatically-field-on-card": "Създай автоматично поле към всички карти",
|
||||
"automatically-field-on-card": "Add field to new cards",
|
||||
"always-field-on-card": "Add field to all cards",
|
||||
"showLabel-field-on-card": "Покажи име на поле на мини-картата",
|
||||
"yes": "Да",
|
||||
"no": "Не",
|
||||
|
|
|
|||
|
|
@ -601,7 +601,8 @@
|
|||
"minutes": "minutes",
|
||||
"seconds": "seconds",
|
||||
"show-field-on-card": "Show this field on card",
|
||||
"automatically-field-on-card": "Auto create field to all cards",
|
||||
"automatically-field-on-card": "Add field to new cards",
|
||||
"always-field-on-card": "Add field to all cards",
|
||||
"showLabel-field-on-card": "Show field label on minicard",
|
||||
"yes": "Yes",
|
||||
"no": "No",
|
||||
|
|
|
|||
|
|
@ -601,7 +601,8 @@
|
|||
"minutes": "minuts",
|
||||
"seconds": "segons",
|
||||
"show-field-on-card": "Show this field on card",
|
||||
"automatically-field-on-card": "Auto create field to all cards",
|
||||
"automatically-field-on-card": "Add field to new cards",
|
||||
"always-field-on-card": "Add field to all cards",
|
||||
"showLabel-field-on-card": "Show field label on minicard",
|
||||
"yes": "Si",
|
||||
"no": "No",
|
||||
|
|
|
|||
|
|
@ -601,7 +601,8 @@
|
|||
"minutes": "minut",
|
||||
"seconds": "sekund",
|
||||
"show-field-on-card": "Ukázat toto pole na kartě",
|
||||
"automatically-field-on-card": "Automaticky vytvořit pole na všech kartách",
|
||||
"automatically-field-on-card": "Add field to new cards",
|
||||
"always-field-on-card": "Add field to all cards",
|
||||
"showLabel-field-on-card": "Ukázat štítek pole na minikartě",
|
||||
"yes": "Ano",
|
||||
"no": "Ne",
|
||||
|
|
|
|||
|
|
@ -601,7 +601,8 @@
|
|||
"minutes": "minutter",
|
||||
"seconds": "sekunder",
|
||||
"show-field-on-card": "Vis dette felt på kortet",
|
||||
"automatically-field-on-card": "Auto-opret felter på alle kort",
|
||||
"automatically-field-on-card": "Add field to new cards",
|
||||
"always-field-on-card": "Add field to all cards",
|
||||
"showLabel-field-on-card": "Vis feltetikette på minikort",
|
||||
"yes": "Ja",
|
||||
"no": "Nej",
|
||||
|
|
|
|||
|
|
@ -601,7 +601,8 @@
|
|||
"minutes": "Minuten",
|
||||
"seconds": "Sekunden",
|
||||
"show-field-on-card": "Zeige dieses Feld auf der Karte",
|
||||
"automatically-field-on-card": "Automatisch Label für alle Karten erzeugen",
|
||||
"automatically-field-on-card": "Add field to new cards",
|
||||
"always-field-on-card": "Add field to all cards",
|
||||
"showLabel-field-on-card": "Feldbezeichnung auf Minikarte anzeigen",
|
||||
"yes": "Ja",
|
||||
"no": "Nein",
|
||||
|
|
|
|||
|
|
@ -601,7 +601,8 @@
|
|||
"minutes": "λεπτά",
|
||||
"seconds": "δευτερόλεπτα",
|
||||
"show-field-on-card": "Προβολή αυτού του πεδίου στην κάρτα",
|
||||
"automatically-field-on-card": "Auto create field to all cards",
|
||||
"automatically-field-on-card": "Add field to new cards",
|
||||
"always-field-on-card": "Add field to all cards",
|
||||
"showLabel-field-on-card": "Show field label on minicard",
|
||||
"yes": "Ναι",
|
||||
"no": "Όχι",
|
||||
|
|
|
|||
|
|
@ -601,7 +601,8 @@
|
|||
"minutes": "minutes",
|
||||
"seconds": "seconds",
|
||||
"show-field-on-card": "Show this field on card",
|
||||
"automatically-field-on-card": "Auto create field to all cards",
|
||||
"automatically-field-on-card": "Add field to new cards",
|
||||
"always-field-on-card": "Add field to all cards",
|
||||
"showLabel-field-on-card": "Show field label on minicard",
|
||||
"yes": "Yes",
|
||||
"no": "No",
|
||||
|
|
|
|||
|
|
@ -601,7 +601,8 @@
|
|||
"minutes": "minutes",
|
||||
"seconds": "seconds",
|
||||
"show-field-on-card": "Show this field on card",
|
||||
"automatically-field-on-card": "Auto create field to all cards",
|
||||
"automatically-field-on-card": "Add field to new cards",
|
||||
"always-field-on-card": "Add field to all cards",
|
||||
"showLabel-field-on-card": "Show field label on minicard",
|
||||
"yes": "Yes",
|
||||
"no": "No",
|
||||
|
|
|
|||
|
|
@ -601,7 +601,8 @@
|
|||
"minutes": "minutes",
|
||||
"seconds": "seconds",
|
||||
"show-field-on-card": "Show this field on card",
|
||||
"automatically-field-on-card": "Auto create field to all cards",
|
||||
"automatically-field-on-card": "Add field to new cards",
|
||||
"always-field-on-card": "Add field to all cards",
|
||||
"showLabel-field-on-card": "Show field label on minicard",
|
||||
"yes": "Jes",
|
||||
"no": "Ne",
|
||||
|
|
|
|||
|
|
@ -601,7 +601,8 @@
|
|||
"minutes": "minutos",
|
||||
"seconds": "segundos",
|
||||
"show-field-on-card": "Show this field on card",
|
||||
"automatically-field-on-card": "Auto create field to all cards",
|
||||
"automatically-field-on-card": "Add field to new cards",
|
||||
"always-field-on-card": "Add field to all cards",
|
||||
"showLabel-field-on-card": "Show field label on minicard",
|
||||
"yes": "Si",
|
||||
"no": "No",
|
||||
|
|
|
|||
|
|
@ -601,7 +601,8 @@
|
|||
"minutes": "minutos",
|
||||
"seconds": "segundos",
|
||||
"show-field-on-card": "Mostrar este campo en la tarjeta",
|
||||
"automatically-field-on-card": "Crear campos automáticamente para todas las tarjetas.",
|
||||
"automatically-field-on-card": "Add field to new cards",
|
||||
"always-field-on-card": "Add field to all cards",
|
||||
"showLabel-field-on-card": "Mostrar etiquetas de campos en la minitarjeta.",
|
||||
"yes": "Sí",
|
||||
"no": "No",
|
||||
|
|
|
|||
|
|
@ -601,7 +601,8 @@
|
|||
"minutes": "minutes",
|
||||
"seconds": "seconds",
|
||||
"show-field-on-card": "Show this field on card",
|
||||
"automatically-field-on-card": "Auto create field to all cards",
|
||||
"automatically-field-on-card": "Add field to new cards",
|
||||
"always-field-on-card": "Add field to all cards",
|
||||
"showLabel-field-on-card": "Show field label on minicard",
|
||||
"yes": "Yes",
|
||||
"no": "No",
|
||||
|
|
|
|||
|
|
@ -601,7 +601,8 @@
|
|||
"minutes": "minutos",
|
||||
"seconds": "segundos",
|
||||
"show-field-on-card": "Mostrar este campo en la tarjeta",
|
||||
"automatically-field-on-card": "Crear campos automáticamente para todas las tarjetas.",
|
||||
"automatically-field-on-card": "Add field to new cards",
|
||||
"always-field-on-card": "Add field to all cards",
|
||||
"showLabel-field-on-card": "Mostrar etiquetas de campos en la minitarjeta.",
|
||||
"yes": "Sí",
|
||||
"no": "No",
|
||||
|
|
|
|||
|
|
@ -601,7 +601,8 @@
|
|||
"minutes": "minutes",
|
||||
"seconds": "seconds",
|
||||
"show-field-on-card": "Show this field on card",
|
||||
"automatically-field-on-card": "Auto create field to all cards",
|
||||
"automatically-field-on-card": "Add field to new cards",
|
||||
"always-field-on-card": "Add field to all cards",
|
||||
"showLabel-field-on-card": "Show field label on minicard",
|
||||
"yes": "Yes",
|
||||
"no": "No",
|
||||
|
|
|
|||
|
|
@ -601,7 +601,8 @@
|
|||
"minutes": "minutos",
|
||||
"seconds": "segundos",
|
||||
"show-field-on-card": "Mostrar este campo en la tarjeta",
|
||||
"automatically-field-on-card": "Crear campos automáticamente para todas las tarjetas.",
|
||||
"automatically-field-on-card": "Add field to new cards",
|
||||
"always-field-on-card": "Add field to all cards",
|
||||
"showLabel-field-on-card": "Mostrar etiquetas de campos en la minitarjeta.",
|
||||
"yes": "Sí",
|
||||
"no": "No",
|
||||
|
|
|
|||
|
|
@ -601,7 +601,8 @@
|
|||
"minutes": "minutu",
|
||||
"seconds": "segundo",
|
||||
"show-field-on-card": "Show this field on card",
|
||||
"automatically-field-on-card": "Auto create field to all cards",
|
||||
"automatically-field-on-card": "Add field to new cards",
|
||||
"always-field-on-card": "Add field to all cards",
|
||||
"showLabel-field-on-card": "Show field label on minicard",
|
||||
"yes": "Bai",
|
||||
"no": "Ez",
|
||||
|
|
|
|||
|
|
@ -601,7 +601,8 @@
|
|||
"minutes": "دقیقه",
|
||||
"seconds": "ثانیه",
|
||||
"show-field-on-card": "این فیلد را در کارت نمایش بده",
|
||||
"automatically-field-on-card": "این فیلد را اتوماتیک در همهٔ کارتها اضافه کن",
|
||||
"automatically-field-on-card": "Add field to new cards",
|
||||
"always-field-on-card": "Add field to all cards",
|
||||
"showLabel-field-on-card": "نمایش لیبل فیلد در کارتهای کوچک",
|
||||
"yes": "بله",
|
||||
"no": "خیر",
|
||||
|
|
|
|||
|
|
@ -601,7 +601,8 @@
|
|||
"minutes": "minuuttia",
|
||||
"seconds": "sekuntia",
|
||||
"show-field-on-card": "Näytä tämä kenttä kortilla",
|
||||
"automatically-field-on-card": "Luo kenttä automaattisesti kaikille korteille",
|
||||
"automatically-field-on-card": "Lisää kenttä uusille korteille",
|
||||
"always-field-on-card": "Lisää kenttä kaikille korteille",
|
||||
"showLabel-field-on-card": "Näytä kentän nimilappu minikortilla",
|
||||
"yes": "Kyllä",
|
||||
"no": "Ei",
|
||||
|
|
|
|||
|
|
@ -601,7 +601,8 @@
|
|||
"minutes": "minutes",
|
||||
"seconds": "secondes",
|
||||
"show-field-on-card": "Afficher ce champ sur la carte",
|
||||
"automatically-field-on-card": "Créer automatiquement le champ sur toutes les cartes",
|
||||
"automatically-field-on-card": "Add field to new cards",
|
||||
"always-field-on-card": "Add field to all cards",
|
||||
"showLabel-field-on-card": "Indiquer l'étiquette du champ sur la mini-carte",
|
||||
"yes": "Oui",
|
||||
"no": "Non",
|
||||
|
|
|
|||
|
|
@ -601,7 +601,8 @@
|
|||
"minutes": "minutes",
|
||||
"seconds": "seconds",
|
||||
"show-field-on-card": "Show this field on card",
|
||||
"automatically-field-on-card": "Auto create field to all cards",
|
||||
"automatically-field-on-card": "Add field to new cards",
|
||||
"always-field-on-card": "Add field to all cards",
|
||||
"showLabel-field-on-card": "Show field label on minicard",
|
||||
"yes": "Yes",
|
||||
"no": "No",
|
||||
|
|
|
|||
|
|
@ -601,7 +601,8 @@
|
|||
"minutes": "דקות",
|
||||
"seconds": "שניות",
|
||||
"show-field-on-card": "הצגת שדה זה בכרטיס",
|
||||
"automatically-field-on-card": "הוספת שדה לכל הכרטיסים",
|
||||
"automatically-field-on-card": "Add field to new cards",
|
||||
"always-field-on-card": "Add field to all cards",
|
||||
"showLabel-field-on-card": "הצגת תווית של השדה בכרטיס מוקטן",
|
||||
"yes": "כן",
|
||||
"no": "לא",
|
||||
|
|
@ -895,31 +896,31 @@
|
|||
"operator-assignee-abbrev": "א",
|
||||
"operator-is": "הוא",
|
||||
"operator-due": "תפוגה",
|
||||
"operator-created": "created",
|
||||
"operator-modified": "modified",
|
||||
"operator-unknown-error": "%s is not an operator",
|
||||
"operator-number-expected": "operator __operator__ expected a number, got '__value__'",
|
||||
"operator-created": "נוצר",
|
||||
"operator-modified": "נערך",
|
||||
"operator-unknown-error": "%s אינו סימון פעולה",
|
||||
"operator-number-expected": "סימון הפעולה __operator__ ציפה למספר, קיבל ‚__value__’",
|
||||
"heading-notes": "הערות",
|
||||
"globalSearch-instructions-heading": "Search Instructions",
|
||||
"globalSearch-instructions-description": "Searches can include operators to refine the search. Operators are specified by writing the operator name and value separated by a colon. For example, an operator specification of `list:Blocked` would limit the search to cards that are contained in a list named *Blocked*. If the value contains spaces or special characters it must be enclosed in quotation marks (e.g. `__operator_list__:\"To Review\"`).",
|
||||
"globalSearch-instructions-operators": "Available operators:",
|
||||
"globalSearch-instructions-operator-board": "`__operator_board__:title` - cards in boards matching the specified title",
|
||||
"globalSearch-instructions-operator-list": "`__operator_list__:title` - cards in lists matching the specified title",
|
||||
"globalSearch-instructions-operator-swimlane": "`__operator_swimlane__:title` - cards in swimlanes matching the specified title",
|
||||
"globalSearch-instructions-operator-label": "`__operator_label__:color` `__operator_label__:name` - cards that have a label matching the given color or name",
|
||||
"globalSearch-instructions-operator-hash": "`__operator_label_abbrev__label` - shorthand for `__operator_label__:label`",
|
||||
"globalSearch-instructions-operator-user": "`__operator_user__:username` - cards where the specified user is a *member* or *assignee*",
|
||||
"globalSearch-instructions-operator-at": "`__operator_user_abbrev__username` - shorthand for `user:username`",
|
||||
"globalSearch-instructions-operator-member": "`__operator_member__:username` - cards where the specified user is a *member*",
|
||||
"globalSearch-instructions-heading": "הנחיות לחיפוש",
|
||||
"globalSearch-instructions-description": "חיפושים יכולים לכלול סימוני פעולה כדי לחדד את החיפוש. ניתן לציין סימוני פעולה על ידי כתיבת שם הפעולה והערך מופרדים בנקודתיים. למשל, ציון סימון פעולה של `list:חסומים` יגביל את החיפוש לכרטיסים שבתוך רשימה בשם *חסומים*. אם הערך מכיל רווחים או תווים מיוחדים יש לתחום אותו בסימני ציטוט (למשל: `__operator_list__:\"לסקירה\"`).",
|
||||
"globalSearch-instructions-operators": "סימוני פעולה זמינים:",
|
||||
"globalSearch-instructions-operator-board": "`__operator_board__:כותרת` - כרטיסים בלוחות שתואמים לכותרת שצוינה",
|
||||
"globalSearch-instructions-operator-list": "`__operator_list__:כותרת` - כרטיסים ברשימות שתואמים לכותרת שצוינה",
|
||||
"globalSearch-instructions-operator-swimlane": "`__operator_swimlane__:כותרת` - כרטיסים במסלולים שתואמים לכותרת שצוינה",
|
||||
"globalSearch-instructions-operator-label": "`__operator_label__:צבע` `__operator_label__:שם` - כרטיסים עם תוויות שתואמות לצבע או לשם שצוינו",
|
||||
"globalSearch-instructions-operator-hash": "`__operator_label_abbrev__label` - קיצור של `__operator_label__:תווית`",
|
||||
"globalSearch-instructions-operator-user": "`__operator_user__:שם_משתמש` - כרטיסים ש*הוקצו* למשתמש או שהוא *חבר* בהם",
|
||||
"globalSearch-instructions-operator-at": "`__operator_user_abbrev__username` - קיצור של `user:שם_משתמש`",
|
||||
"globalSearch-instructions-operator-member": "`__operator_member__:שם_משתמש` - כרטיסים שהמשתמש המצוין *חבר* בהם",
|
||||
"globalSearch-instructions-operator-assignee": "`__operator_assignee__:username` - כרטיסים אליהם *הוקצה* המשתמש הנבחר",
|
||||
"globalSearch-instructions-notes-1": "Multiple operators may be specified.",
|
||||
"globalSearch-instructions-notes-2": "Similar operators are *OR*ed together. Cards that match any of the conditions will be returned.\n`__operator_list__:Available __operator_list__:Blocked` would return cards contained in any list named *Blocked* or *Available*.",
|
||||
"globalSearch-instructions-notes-3": "Differing operators are *AND*ed together. Only cards that match all of the differing operators are returned.\n`__operator_list__:Available __operator_label__:red` returns only cards in the list *Available* with a *red* label.",
|
||||
"globalSearch-instructions-notes-1": "אפשר לציין מגוון סימוני פעולה.",
|
||||
"globalSearch-instructions-notes-2": "על פעולות דומות חל שער לוגי *או* (*OR*). כרטיסים שתואמים אי אילו מהכללים יוחזרו.\n`__operator_list__:זמינים __operator_list__:חסומים` תחזרנה כרטיסים שמופיעים ברשימות עם השמות *חסומים* או *זמינים*.",
|
||||
"globalSearch-instructions-notes-3": "על פעולות שונות חל שער לוגי *וגם* (*AND*). רק כרטיסים שתואמים את שתי הפעולות השונות יוחזרו.\n`__operator_list__:זמינים __operator_label__:אדום` תחזיר רק כרטיסים מהרשימה *זמינים* עם תווית בצבע *אדום*.",
|
||||
"globalSearch-instructions-notes-4": "חיפושי טקסט הם תלויי רישיות.",
|
||||
"globalSearch-instructions-notes-5": "לא מתבצע חיפוש על הכרטיסיות שכרגע בארכיון.",
|
||||
"link-to-search": "קישור לחיפוש הזה",
|
||||
"excel-font": "Arial",
|
||||
"number": "מספר",
|
||||
"label-colors": "Label Colors",
|
||||
"label-names": "Label Names"
|
||||
"label-colors": "צבעי תוויות",
|
||||
"label-names": "שמות תוויות"
|
||||
}
|
||||
|
|
@ -601,7 +601,8 @@
|
|||
"minutes": "minutes",
|
||||
"seconds": "seconds",
|
||||
"show-field-on-card": "Show यह field on कार्ड",
|
||||
"automatically-field-on-card": "Auto create field to all cards",
|
||||
"automatically-field-on-card": "Add field to new cards",
|
||||
"always-field-on-card": "Add field to all cards",
|
||||
"showLabel-field-on-card": "Show field label on minicard",
|
||||
"yes": "Yes",
|
||||
"no": "No",
|
||||
|
|
|
|||
|
|
@ -601,7 +601,8 @@
|
|||
"minutes": "minute",
|
||||
"seconds": "sekunde",
|
||||
"show-field-on-card": "Show this field on card",
|
||||
"automatically-field-on-card": "Auto create field to all cards",
|
||||
"automatically-field-on-card": "Add field to new cards",
|
||||
"always-field-on-card": "Add field to all cards",
|
||||
"showLabel-field-on-card": "Show field label on minicard",
|
||||
"yes": "Da",
|
||||
"no": "Ne",
|
||||
|
|
|
|||
|
|
@ -601,7 +601,8 @@
|
|||
"minutes": "perc",
|
||||
"seconds": "másodperc",
|
||||
"show-field-on-card": "A mező megjelenítése a kártyán",
|
||||
"automatically-field-on-card": "Automatikusan hozzon létre mezőt minden Kártyához",
|
||||
"automatically-field-on-card": "Add field to new cards",
|
||||
"always-field-on-card": "Add field to all cards",
|
||||
"showLabel-field-on-card": "Mutassa a mező nevét a mini-kártyákon is",
|
||||
"yes": "Igen",
|
||||
"no": "Nem",
|
||||
|
|
|
|||
|
|
@ -601,7 +601,8 @@
|
|||
"minutes": "minutes",
|
||||
"seconds": "seconds",
|
||||
"show-field-on-card": "Show this field on card",
|
||||
"automatically-field-on-card": "Auto create field to all cards",
|
||||
"automatically-field-on-card": "Add field to new cards",
|
||||
"always-field-on-card": "Add field to all cards",
|
||||
"showLabel-field-on-card": "Show field label on minicard",
|
||||
"yes": "Yes",
|
||||
"no": "No",
|
||||
|
|
|
|||
|
|
@ -601,7 +601,8 @@
|
|||
"minutes": "menit",
|
||||
"seconds": "detik",
|
||||
"show-field-on-card": "Show this field on card",
|
||||
"automatically-field-on-card": "Auto create field to all cards",
|
||||
"automatically-field-on-card": "Add field to new cards",
|
||||
"always-field-on-card": "Add field to all cards",
|
||||
"showLabel-field-on-card": "Show field label on minicard",
|
||||
"yes": "Ya",
|
||||
"no": "Tidak",
|
||||
|
|
|
|||
|
|
@ -601,7 +601,8 @@
|
|||
"minutes": "nkeji",
|
||||
"seconds": "seconds",
|
||||
"show-field-on-card": "Show this field on card",
|
||||
"automatically-field-on-card": "Auto create field to all cards",
|
||||
"automatically-field-on-card": "Add field to new cards",
|
||||
"always-field-on-card": "Add field to all cards",
|
||||
"showLabel-field-on-card": "Show field label on minicard",
|
||||
"yes": "Ee",
|
||||
"no": "Mba",
|
||||
|
|
|
|||
|
|
@ -601,7 +601,8 @@
|
|||
"minutes": "minuti",
|
||||
"seconds": "secondi",
|
||||
"show-field-on-card": "Visualizza questo campo sulla scheda",
|
||||
"automatically-field-on-card": "Crea automaticamente i campi per tutte le schede",
|
||||
"automatically-field-on-card": "Add field to new cards",
|
||||
"always-field-on-card": "Add field to all cards",
|
||||
"showLabel-field-on-card": "Mostra l'etichetta di campo su minischeda",
|
||||
"yes": "Sì",
|
||||
"no": "No",
|
||||
|
|
|
|||
|
|
@ -601,7 +601,8 @@
|
|||
"minutes": "分",
|
||||
"seconds": "秒",
|
||||
"show-field-on-card": "このフィールドをカードに表示",
|
||||
"automatically-field-on-card": "全カードにフィールドを自動作成",
|
||||
"automatically-field-on-card": "Add field to new cards",
|
||||
"always-field-on-card": "Add field to all cards",
|
||||
"showLabel-field-on-card": "ミニカード上のフィールドラベル表示",
|
||||
"yes": "はい",
|
||||
"no": "いいえ",
|
||||
|
|
|
|||
|
|
@ -601,7 +601,8 @@
|
|||
"minutes": "წუთები",
|
||||
"seconds": "წამები",
|
||||
"show-field-on-card": "აჩვენეთ ეს ველი ბარათზე",
|
||||
"automatically-field-on-card": "Auto create field to all cards",
|
||||
"automatically-field-on-card": "Add field to new cards",
|
||||
"always-field-on-card": "Add field to all cards",
|
||||
"showLabel-field-on-card": "Show field label on minicard",
|
||||
"yes": "დიახ",
|
||||
"no": "არა",
|
||||
|
|
|
|||
|
|
@ -601,7 +601,8 @@
|
|||
"minutes": "minutes",
|
||||
"seconds": "seconds",
|
||||
"show-field-on-card": "Show this field on card",
|
||||
"automatically-field-on-card": "Auto create field to all cards",
|
||||
"automatically-field-on-card": "Add field to new cards",
|
||||
"always-field-on-card": "Add field to all cards",
|
||||
"showLabel-field-on-card": "Show field label on minicard",
|
||||
"yes": "Yes",
|
||||
"no": "No",
|
||||
|
|
|
|||
|
|
@ -601,7 +601,8 @@
|
|||
"minutes": "minutes",
|
||||
"seconds": "seconds",
|
||||
"show-field-on-card": "Show this field on card",
|
||||
"automatically-field-on-card": "Auto create field to all cards",
|
||||
"automatically-field-on-card": "Add field to new cards",
|
||||
"always-field-on-card": "Add field to all cards",
|
||||
"showLabel-field-on-card": "Show field label on minicard",
|
||||
"yes": "Yes",
|
||||
"no": "No",
|
||||
|
|
|
|||
|
|
@ -601,7 +601,8 @@
|
|||
"minutes": "minutes",
|
||||
"seconds": "seconds",
|
||||
"show-field-on-card": "Show this field on card",
|
||||
"automatically-field-on-card": "Auto create field to all cards",
|
||||
"automatically-field-on-card": "Add field to new cards",
|
||||
"always-field-on-card": "Add field to all cards",
|
||||
"showLabel-field-on-card": "Show field label on minicard",
|
||||
"yes": "Yes",
|
||||
"no": "No",
|
||||
|
|
|
|||
|
|
@ -601,7 +601,8 @@
|
|||
"minutes": "minūtes",
|
||||
"seconds": "sekundes",
|
||||
"show-field-on-card": "Rādīt šo lauku kartiņā",
|
||||
"automatically-field-on-card": "Automātiski izveidot lauku visām kartiņām",
|
||||
"automatically-field-on-card": "Add field to new cards",
|
||||
"always-field-on-card": "Add field to all cards",
|
||||
"showLabel-field-on-card": "Rādīt lauku nosaukumus mini kartiņā",
|
||||
"yes": "Jā",
|
||||
"no": "Nē",
|
||||
|
|
|
|||
|
|
@ -601,7 +601,8 @@
|
|||
"minutes": "минути",
|
||||
"seconds": "секунди",
|
||||
"show-field-on-card": "Покажи това поле в картата",
|
||||
"automatically-field-on-card": "Auto create field to all cards",
|
||||
"automatically-field-on-card": "Add field to new cards",
|
||||
"always-field-on-card": "Add field to all cards",
|
||||
"showLabel-field-on-card": "Show field label on minicard",
|
||||
"yes": "Да",
|
||||
"no": "Не",
|
||||
|
|
|
|||
|
|
@ -601,7 +601,8 @@
|
|||
"minutes": "minutes",
|
||||
"seconds": "seconds",
|
||||
"show-field-on-card": "Show this field on card",
|
||||
"automatically-field-on-card": "Auto create field to all cards",
|
||||
"automatically-field-on-card": "Add field to new cards",
|
||||
"always-field-on-card": "Add field to all cards",
|
||||
"showLabel-field-on-card": "Show field label on minicard",
|
||||
"yes": "Yes",
|
||||
"no": "No",
|
||||
|
|
|
|||
|
|
@ -601,7 +601,8 @@
|
|||
"minutes": "minuten",
|
||||
"seconds": "seconden",
|
||||
"show-field-on-card": "Toon dit veld op kaart",
|
||||
"automatically-field-on-card": "Maak veld automatisch aan op alle kaarten",
|
||||
"automatically-field-on-card": "Add field to new cards",
|
||||
"always-field-on-card": "Add field to all cards",
|
||||
"showLabel-field-on-card": "Toon veldnaam op minikaart",
|
||||
"yes": "Ja",
|
||||
"no": "Nee",
|
||||
|
|
|
|||
|
|
@ -601,7 +601,8 @@
|
|||
"minutes": "minutas",
|
||||
"seconds": "segondas",
|
||||
"show-field-on-card": "Show this field on card",
|
||||
"automatically-field-on-card": "Auto create field to all cards",
|
||||
"automatically-field-on-card": "Add field to new cards",
|
||||
"always-field-on-card": "Add field to all cards",
|
||||
"showLabel-field-on-card": "Show field label on minicard",
|
||||
"yes": "Òc",
|
||||
"no": "Non",
|
||||
|
|
|
|||
|
|
@ -601,7 +601,8 @@
|
|||
"minutes": "minutes",
|
||||
"seconds": "seconds",
|
||||
"show-field-on-card": "Show this field on card",
|
||||
"automatically-field-on-card": "Auto create field to all cards",
|
||||
"automatically-field-on-card": "Add field to new cards",
|
||||
"always-field-on-card": "Add field to all cards",
|
||||
"showLabel-field-on-card": "Show field label on minicard",
|
||||
"yes": "Yes",
|
||||
"no": "No",
|
||||
|
|
|
|||
|
|
@ -601,7 +601,8 @@
|
|||
"minutes": "minut",
|
||||
"seconds": "sekund",
|
||||
"show-field-on-card": "Pokaż te pole na karcie",
|
||||
"automatically-field-on-card": "Automatycznie stwórz pole dla wszystkich kart",
|
||||
"automatically-field-on-card": "Add field to new cards",
|
||||
"always-field-on-card": "Add field to all cards",
|
||||
"showLabel-field-on-card": "Pokaż pole etykiety w minikarcie",
|
||||
"yes": "Tak",
|
||||
"no": "Nie",
|
||||
|
|
|
|||
|
|
@ -601,7 +601,8 @@
|
|||
"minutes": "minutos",
|
||||
"seconds": "segundos",
|
||||
"show-field-on-card": "Mostrar este campo no cartão",
|
||||
"automatically-field-on-card": "Criar campo automaticamente para todos os cartões",
|
||||
"automatically-field-on-card": "Add field to new cards",
|
||||
"always-field-on-card": "Add field to all cards",
|
||||
"showLabel-field-on-card": "Mostrar etiqueta do campo no minicartão",
|
||||
"yes": "Sim",
|
||||
"no": "Não",
|
||||
|
|
@ -895,10 +896,10 @@
|
|||
"operator-assignee-abbrev": "a",
|
||||
"operator-is": "é",
|
||||
"operator-due": "prazo final",
|
||||
"operator-created": "created",
|
||||
"operator-modified": "modified",
|
||||
"operator-created": "criado",
|
||||
"operator-modified": "modificado",
|
||||
"operator-unknown-error": "%s não é um operador",
|
||||
"operator-number-expected": "operator __operator__ expected a number, got '__value__'",
|
||||
"operator-number-expected": "operador __operator__ esperava um número, obteve '__value__'",
|
||||
"heading-notes": "Notas",
|
||||
"globalSearch-instructions-heading": "Buscar instruções",
|
||||
"globalSearch-instructions-description": "Buscas podem incluir operadores para otimizar a consulta. Operadores são especificados para serem escritos com o nome do operador e o seu valor separados por sinal de dois pontos. Por exemplo, uma especificação de operador para `list:Blocked` poderia limitar a busca a cartões que estão em uma lista chamada *Blocked*. Se o valor contém espaços ou caracteres especiais deverá ser colocado entre aspas (por exemplo, `__operator_list__:\"To Review\"`).",
|
||||
|
|
@ -920,6 +921,6 @@
|
|||
"link-to-search": "Link para esta busca",
|
||||
"excel-font": "Arial",
|
||||
"number": "Número",
|
||||
"label-colors": "Label Colors",
|
||||
"label-names": "Label Names"
|
||||
"label-colors": "Cores de etiqueta",
|
||||
"label-names": "Nomes de etiqueta"
|
||||
}
|
||||
|
|
@ -601,7 +601,8 @@
|
|||
"minutes": "minutos",
|
||||
"seconds": "segundos",
|
||||
"show-field-on-card": "Mostrar este campo no cartão",
|
||||
"automatically-field-on-card": "Criar campo automaticamente para todos os cartões",
|
||||
"automatically-field-on-card": "Add field to new cards",
|
||||
"always-field-on-card": "Add field to all cards",
|
||||
"showLabel-field-on-card": "Mostrar etiqueta do campo no mini-cartão",
|
||||
"yes": "Sim",
|
||||
"no": "Não",
|
||||
|
|
|
|||
|
|
@ -601,7 +601,8 @@
|
|||
"minutes": "minutes",
|
||||
"seconds": "seconds",
|
||||
"show-field-on-card": "Show this field on card",
|
||||
"automatically-field-on-card": "Auto create field to all cards",
|
||||
"automatically-field-on-card": "Add field to new cards",
|
||||
"always-field-on-card": "Add field to all cards",
|
||||
"showLabel-field-on-card": "Show field label on minicard",
|
||||
"yes": "Yes",
|
||||
"no": "No",
|
||||
|
|
|
|||
|
|
@ -601,7 +601,8 @@
|
|||
"minutes": "минуты",
|
||||
"seconds": "секунды",
|
||||
"show-field-on-card": "Показать это поле на карточке",
|
||||
"automatically-field-on-card": "Cоздавать поле во всех новых карточках",
|
||||
"automatically-field-on-card": "Add field to new cards",
|
||||
"always-field-on-card": "Add field to all cards",
|
||||
"showLabel-field-on-card": "Показать имя поля на карточке",
|
||||
"yes": "Да",
|
||||
"no": "Нет",
|
||||
|
|
@ -895,10 +896,10 @@
|
|||
"operator-assignee-abbrev": "a",
|
||||
"operator-is": " ",
|
||||
"operator-due": "выполнить к",
|
||||
"operator-created": "created",
|
||||
"operator-modified": "modified",
|
||||
"operator-created": "создано",
|
||||
"operator-modified": "изменено",
|
||||
"operator-unknown-error": "%1 не оператор",
|
||||
"operator-number-expected": "operator __operator__ expected a number, got '__value__'",
|
||||
"operator-number-expected": "оператор __operator__ используется с числом, задано '__value__'",
|
||||
"heading-notes": "Заметки",
|
||||
"globalSearch-instructions-heading": "Инструкция по поиску",
|
||||
"globalSearch-instructions-description": "Поисковая строка может содержать операторы для уточнения запроса. Оператор задается именем оператора и значением разделенными двоеточием. Например, оператор 'list:Blocked' ограничит результат запроса карточками состоящими в списке 'Blocked'. Если значение содержит пробелы или специальные символы, то оно должно быть заключено в кавычки(__operator_list__:\"To Review\").",
|
||||
|
|
@ -911,15 +912,15 @@
|
|||
"globalSearch-instructions-operator-user": "`__operator_user__:username` - карточки, где указанный пользователь является участником или исполнителем",
|
||||
"globalSearch-instructions-operator-at": "`__operator_user_abbrev__username` - сокращенный вариант `user:username`",
|
||||
"globalSearch-instructions-operator-member": "`__operator_member__:username` - карточки, где указанный пользователь является участником",
|
||||
"globalSearch-instructions-operator-assignee": "`__operator_assignee__:username` - cards where the specified user is an *assignee*",
|
||||
"globalSearch-instructions-operator-assignee": "`__operator_assignee__:username` - карточка назначенная указанному пользователю",
|
||||
"globalSearch-instructions-notes-1": "Может быть задано несколько операторов.",
|
||||
"globalSearch-instructions-notes-2": "Similar operators are *OR*ed together. Cards that match any of the conditions will be returned.\n`__operator_list__:Available __operator_list__:Blocked` would return cards contained in any list named *Blocked* or *Available*.",
|
||||
"globalSearch-instructions-notes-3": "Differing operators are *AND*ed together. Only cards that match all of the differing operators are returned.\n`__operator_list__:Available __operator_label__:red` returns only cards in the list *Available* with a *red* label.",
|
||||
"globalSearch-instructions-notes-4": "Text searches are case insensitive.",
|
||||
"globalSearch-instructions-notes-5": "Currently archived cards are not searched.",
|
||||
"link-to-search": "Link to this search",
|
||||
"globalSearch-instructions-notes-2": "Одинаковые операторы объединяются логическим \"ИЛИ\", например:\n`__operator_list__:Available __operator_list__:Blocked` вернет карточки, которые содержатся в списке *Blocked* или *Available*.",
|
||||
"globalSearch-instructions-notes-3": "Разные операторы объединяются логическим \"И\". Возвращаются только объекты удовлетворяющие всем заданным условиям.\n`__operator_list__:Available __operator_label__:red` вернет карточки, которые содержатся в списке *Available* и имеют метку *red*.",
|
||||
"globalSearch-instructions-notes-4": "Текстовый поиск нечувствителен к регистру символов.",
|
||||
"globalSearch-instructions-notes-5": "В архивированных карточках поиск не производится.",
|
||||
"link-to-search": "Ссылка на этот поиск",
|
||||
"excel-font": "Arial",
|
||||
"number": "Номер",
|
||||
"label-colors": "Label Colors",
|
||||
"label-names": "Label Names"
|
||||
"label-colors": "Цвета меток",
|
||||
"label-names": "Названия меток"
|
||||
}
|
||||
|
|
@ -601,7 +601,8 @@
|
|||
"minutes": "minutes",
|
||||
"seconds": "seconds",
|
||||
"show-field-on-card": "Show this field on card",
|
||||
"automatically-field-on-card": "Auto create field to all cards",
|
||||
"automatically-field-on-card": "Add field to new cards",
|
||||
"always-field-on-card": "Add field to all cards",
|
||||
"showLabel-field-on-card": "Show field label on minicard",
|
||||
"yes": "Yes",
|
||||
"no": "No",
|
||||
|
|
|
|||
|
|
@ -601,7 +601,8 @@
|
|||
"minutes": "minute",
|
||||
"seconds": "sekunde",
|
||||
"show-field-on-card": "Prikaži to polje na kartici",
|
||||
"automatically-field-on-card": "Samodejno dodaj polja na vse kartice",
|
||||
"automatically-field-on-card": "Add field to new cards",
|
||||
"always-field-on-card": "Add field to all cards",
|
||||
"showLabel-field-on-card": "Prikaži oznako polja na mini kartici",
|
||||
"yes": "Da",
|
||||
"no": "Ne",
|
||||
|
|
|
|||
|
|
@ -601,7 +601,8 @@
|
|||
"minutes": "minuta",
|
||||
"seconds": "sekundi",
|
||||
"show-field-on-card": "Show this field on card",
|
||||
"automatically-field-on-card": "Auto create field to all cards",
|
||||
"automatically-field-on-card": "Add field to new cards",
|
||||
"always-field-on-card": "Add field to all cards",
|
||||
"showLabel-field-on-card": "Show field label on minicard",
|
||||
"yes": "Da",
|
||||
"no": "Ne",
|
||||
|
|
|
|||
|
|
@ -601,7 +601,8 @@
|
|||
"minutes": "minuter",
|
||||
"seconds": "sekunder",
|
||||
"show-field-on-card": "Visa detta fält på kort",
|
||||
"automatically-field-on-card": "Skapa automatiskt fält till alla kort",
|
||||
"automatically-field-on-card": "Add field to new cards",
|
||||
"always-field-on-card": "Add field to all cards",
|
||||
"showLabel-field-on-card": "Visa fältetikett på minikort",
|
||||
"yes": "Ja",
|
||||
"no": "Nej",
|
||||
|
|
|
|||
|
|
@ -601,7 +601,8 @@
|
|||
"minutes": "minutes",
|
||||
"seconds": "seconds",
|
||||
"show-field-on-card": "Show this field on card",
|
||||
"automatically-field-on-card": "Auto create field to all cards",
|
||||
"automatically-field-on-card": "Add field to new cards",
|
||||
"always-field-on-card": "Add field to all cards",
|
||||
"showLabel-field-on-card": "Show field label on minicard",
|
||||
"yes": "Yes",
|
||||
"no": "No",
|
||||
|
|
|
|||
|
|
@ -601,7 +601,8 @@
|
|||
"minutes": "minutes",
|
||||
"seconds": "seconds",
|
||||
"show-field-on-card": "Show this field on card",
|
||||
"automatically-field-on-card": "Auto create field to all cards",
|
||||
"automatically-field-on-card": "Add field to new cards",
|
||||
"always-field-on-card": "Add field to all cards",
|
||||
"showLabel-field-on-card": "Show field label on minicard",
|
||||
"yes": "Yes",
|
||||
"no": "No",
|
||||
|
|
|
|||
|
|
@ -601,7 +601,8 @@
|
|||
"minutes": "minutes",
|
||||
"seconds": "seconds",
|
||||
"show-field-on-card": "Show this field on card",
|
||||
"automatically-field-on-card": "Auto create field to all cards",
|
||||
"automatically-field-on-card": "Add field to new cards",
|
||||
"always-field-on-card": "Add field to all cards",
|
||||
"showLabel-field-on-card": "Show field label on minicard",
|
||||
"yes": "Yes",
|
||||
"no": "No",
|
||||
|
|
|
|||
|
|
@ -601,7 +601,8 @@
|
|||
"minutes": "dakika",
|
||||
"seconds": "saniye",
|
||||
"show-field-on-card": "Bu alanı kartta göster",
|
||||
"automatically-field-on-card": "Tüm kartlara otomatik alan oluştur",
|
||||
"automatically-field-on-card": "Add field to new cards",
|
||||
"always-field-on-card": "Add field to all cards",
|
||||
"showLabel-field-on-card": "Minikard üzerindeki alan etiketini göster",
|
||||
"yes": "Evet",
|
||||
"no": "Hayır",
|
||||
|
|
|
|||
|
|
@ -601,7 +601,8 @@
|
|||
"minutes": "minutes",
|
||||
"seconds": "seconds",
|
||||
"show-field-on-card": "Show this field on card",
|
||||
"automatically-field-on-card": "Auto create field to all cards",
|
||||
"automatically-field-on-card": "Add field to new cards",
|
||||
"always-field-on-card": "Add field to all cards",
|
||||
"showLabel-field-on-card": "Show field label on minicard",
|
||||
"yes": "Yes",
|
||||
"no": "No",
|
||||
|
|
|
|||
|
|
@ -601,7 +601,8 @@
|
|||
"minutes": "minutes",
|
||||
"seconds": "seconds",
|
||||
"show-field-on-card": "Show this field on card",
|
||||
"automatically-field-on-card": "Auto create field to all cards",
|
||||
"automatically-field-on-card": "Add field to new cards",
|
||||
"always-field-on-card": "Add field to all cards",
|
||||
"showLabel-field-on-card": "Show field label on minicard",
|
||||
"yes": "Yes",
|
||||
"no": "No",
|
||||
|
|
|
|||
|
|
@ -601,7 +601,8 @@
|
|||
"minutes": "分钟",
|
||||
"seconds": "秒",
|
||||
"show-field-on-card": "在卡片上显示此字段",
|
||||
"automatically-field-on-card": "自动创建所有卡片的字段",
|
||||
"automatically-field-on-card": "Add field to new cards",
|
||||
"always-field-on-card": "Add field to all cards",
|
||||
"showLabel-field-on-card": "在迷你卡片上显示字段标签",
|
||||
"yes": "是",
|
||||
"no": "否",
|
||||
|
|
|
|||
|
|
@ -601,7 +601,8 @@
|
|||
"minutes": "minutes",
|
||||
"seconds": "seconds",
|
||||
"show-field-on-card": "Show this field on card",
|
||||
"automatically-field-on-card": "Auto create field to all cards",
|
||||
"automatically-field-on-card": "Add field to new cards",
|
||||
"always-field-on-card": "Add field to all cards",
|
||||
"showLabel-field-on-card": "Show field label on minicard",
|
||||
"yes": "Yes",
|
||||
"no": "No",
|
||||
|
|
|
|||
|
|
@ -601,7 +601,8 @@
|
|||
"minutes": "分鐘",
|
||||
"seconds": "秒",
|
||||
"show-field-on-card": "在卡片上顯示這個欄位",
|
||||
"automatically-field-on-card": "自動在所有卡片建立欄位",
|
||||
"automatically-field-on-card": "Add field to new cards",
|
||||
"always-field-on-card": "Add field to all cards",
|
||||
"showLabel-field-on-card": "在迷你卡片中顯示欄位標籤",
|
||||
"yes": "是",
|
||||
"no": "否",
|
||||
|
|
|
|||
|
|
@ -147,6 +147,7 @@ export class CsvCreator {
|
|||
settings,
|
||||
showOnCard: false,
|
||||
automaticallyOnCard: false,
|
||||
alwaysOnCard: false,
|
||||
showLabelOnMiniCard: false,
|
||||
boardIds: [boardId],
|
||||
});
|
||||
|
|
|
|||
|
|
@ -76,6 +76,12 @@ CustomFields.attachSchema(
|
|||
*/
|
||||
type: Boolean,
|
||||
},
|
||||
alwaysOnCard: {
|
||||
/**
|
||||
* should the custom field be automatically added to all cards?
|
||||
*/
|
||||
type: Boolean,
|
||||
},
|
||||
showLabelOnMiniCard: {
|
||||
/**
|
||||
* should the label of the custom field be shown on minicards?
|
||||
|
|
@ -111,6 +117,19 @@ CustomFields.attachSchema(
|
|||
}),
|
||||
);
|
||||
|
||||
CustomFields.addToAllCards = cf => {
|
||||
Cards.update(
|
||||
{
|
||||
boardId: { $in: cf.boardIds },
|
||||
customFields: { $not: { $elemMatch: { _id: cf._id } } },
|
||||
},
|
||||
{
|
||||
$push: { customFields: { _id: cf._id, value: null } },
|
||||
},
|
||||
{ multi: true },
|
||||
);
|
||||
};
|
||||
|
||||
CustomFields.mutations({
|
||||
addBoard(boardId) {
|
||||
if (boardId) {
|
||||
|
|
@ -198,6 +217,10 @@ if (Meteor.isServer) {
|
|||
|
||||
CustomFields.after.insert((userId, doc) => {
|
||||
customFieldCreation(userId, doc);
|
||||
|
||||
if (doc.alwaysOnCard) {
|
||||
CustomFields.addToAllCards(doc);
|
||||
}
|
||||
});
|
||||
|
||||
CustomFields.before.update((userId, doc, fieldNames, modifier) => {
|
||||
|
|
@ -224,6 +247,11 @@ if (Meteor.isServer) {
|
|||
}
|
||||
});
|
||||
|
||||
CustomFields.after.update((userId, doc) => {
|
||||
if (doc.alwaysOnCard) {
|
||||
CustomFields.addToAllCards(doc);
|
||||
}
|
||||
});
|
||||
CustomFields.before.remove((userId, doc) => {
|
||||
customFieldDeletion(userId, doc);
|
||||
Activities.remove({
|
||||
|
|
|
|||
|
|
@ -243,6 +243,7 @@ export class TrelloCreator {
|
|||
showOnCard: field.display.cardFront,
|
||||
showLabelOnMiniCard: field.display.cardFront,
|
||||
automaticallyOnCard: true,
|
||||
alwaysOnCard: false,
|
||||
type: field.type,
|
||||
boardIds: [boardId],
|
||||
settings: {},
|
||||
|
|
|
|||
|
|
@ -537,6 +537,7 @@ export class WekanCreator {
|
|||
showOnCard: field.showOnCard,
|
||||
showLabelOnMiniCard: field.showLabelOnMiniCard,
|
||||
automaticallyOnCard: field.automaticallyOnCard,
|
||||
alwaysOnCard: field.alwaysOnCard,
|
||||
//use date "now" if now created at date is provided (e.g. for very old boards)
|
||||
createdAt: this._now(this.createdAt.customFields[field._id]),
|
||||
modifiedAt: field.modifiedAt,
|
||||
|
|
|
|||
1034
package-lock.json
generated
1034
package-lock.json
generated
File diff suppressed because it is too large
Load diff
30
package.json
30
package.json
|
|
@ -45,38 +45,38 @@
|
|||
"eslint-config-meteor": "0.0.9",
|
||||
"eslint-config-prettier": "^3.6.0",
|
||||
"eslint-import-resolver-meteor": "^0.4.0",
|
||||
"eslint-plugin-import": "^2.20.0",
|
||||
"eslint-plugin-import": "^2.22.1",
|
||||
"eslint-plugin-meteor": "^5.1.0",
|
||||
"eslint-plugin-prettier": "^3.1.2",
|
||||
"eslint-plugin-prettier": "^3.3.1",
|
||||
"lint-staged": "^7.3.0",
|
||||
"pre-commit": "^1.2.2",
|
||||
"prettier": "^1.19.1",
|
||||
"prettier-eslint": "^9.0.2"
|
||||
},
|
||||
"dependencies": {
|
||||
"@babel/core": "^7.9.6",
|
||||
"@babel/runtime": "^7.9.6",
|
||||
"@root/request": "^1.6.1",
|
||||
"ajv": "^6.12.4",
|
||||
"@babel/core": "^7.12.10",
|
||||
"@babel/runtime": "^7.12.5",
|
||||
"@root/request": "^1.7.0",
|
||||
"ajv": "^7.0.3",
|
||||
"babel-runtime": "^6.26.0",
|
||||
"bcrypt": "^5.0.0",
|
||||
"bson": "^4.0.3",
|
||||
"bunyan": "^1.8.12",
|
||||
"bson": "^4.2.2",
|
||||
"bunyan": "^1.8.15",
|
||||
"es6-promise": "^4.2.4",
|
||||
"exceljs": "^4.2.0",
|
||||
"fibers": "^5.0.0",
|
||||
"flatted": "^3.0.4",
|
||||
"flatted": "^3.1.1",
|
||||
"gridfs-stream": "https://github.com/wekan/gridfs-stream/tarball/master",
|
||||
"jszip": "^3.4.0",
|
||||
"ldapjs": "^2.1.1",
|
||||
"markdown-it": "^12.0.2",
|
||||
"jszip": "^3.5.0",
|
||||
"ldapjs": "^2.2.3",
|
||||
"markdown-it": "^12.0.4",
|
||||
"markdown-it-emoji": "^2.0.0",
|
||||
"meteor-node-stubs": "^1.0.1",
|
||||
"mongodb": "^3.6.2",
|
||||
"mongodb": "^3.6.3",
|
||||
"os": "^0.1.1",
|
||||
"page": "^1.11.5",
|
||||
"papaparse": "^5.2.0",
|
||||
"qs": "^6.9.4",
|
||||
"papaparse": "^5.3.0",
|
||||
"qs": "^6.9.6",
|
||||
"source-map-support": "^0.5.19",
|
||||
"xss": "^1.0.8"
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue