Provide a default date for lists and cards creation date

See https://github.com/wekan/wekan/pull/362#issuecomment-149645497
for motivation.

This commit also contains cosmetic changes to the import Popup and
on the code style to be more consistent with the code base.
This commit is contained in:
Maxime Quandalle 2015-10-20 20:02:12 +02:00
parent 8e0ad91191
commit 118b434a5a
5 changed files with 59 additions and 45 deletions

View file

@ -2,7 +2,6 @@ template(name="importPopup")
if error.get
.warning {{_ error.get}}
form
label
| {{_ getLabel}}
textarea.js-card-json(placeholder="{{_ 'import-json-placeholder'}}" autofocus)
p: label(for='import-textarea') {{_ getLabel}}
textarea#import-textarea.js-import-json(placeholder="{{_ 'import-json-placeholder'}}" autofocus)
input.primary.wide(type="submit" value="{{_ 'import'}}")

View file

@ -1,20 +1,21 @@
/**
* Abstract root for all import popup screens.
* Descendants must define:
* - getMethodName(): return the Meteor method to call for import, passing json data decoded as object
* and additional data (see below)
* - getAdditionalData(): return object containing additional data passed to Meteor method
* (like list ID and position for a card import)
* - getLabel(): i18n key for the text displayed in the popup, usually to explain how to get the data out of the
* source system.
*/
/// Abstract root for all import popup screens.
/// Descendants must define:
/// - getMethodName(): return the Meteor method to call for import, passing json
/// data decoded as object and additional data (see below);
/// - getAdditionalData(): return object containing additional data passed to
/// Meteor method (like list ID and position for a card import);
/// - getLabel(): i18n key for the text displayed in the popup, usually to
/// explain how to get the data out of the source system.
const ImportPopup = BlazeComponent.extendComponent({
template() {return 'importPopup';},
template() {
return 'importPopup';
},
events() {
return [{
'submit': (evt) => {
evt.preventDefault();
const dataJson = $(evt.currentTarget).find('textarea').val();
const dataJson = $(evt.currentTarget).find('.js-import-json').val();
let dataObject;
try {
dataObject = JSON.parse(dataJson);
@ -52,7 +53,8 @@ const ImportPopup = BlazeComponent.extendComponent({
ImportPopup.extendComponent({
getAdditionalData() {
const listId = this.data()._id;
const firstCardDom = $(`#js-list-${this.currentData()._id} .js-minicard:first`).get(0);
const selector = `#js-list-${this.currentData()._id} .js-minicard:first`;
const firstCardDom = $(selector).get(0);
const sortIndex = Utils.calculateIndex(null, firstCardDom).base;
const result = {listId, sortIndex};
return result;