add custom field "stringtemplate"

This commit is contained in:
tod31 2021-04-07 16:11:19 +02:00
parent 769bb7a55d
commit b8dc7ff18e
8 changed files with 104 additions and 2 deletions

View file

@ -16,7 +16,7 @@ BlazeComponent.extendComponent({
}).register('customFieldsSidebar');
const CreateCustomFieldPopup = BlazeComponent.extendComponent({
_types: ['text', 'number', 'date', 'dropdown', 'currency', 'checkbox'],
_types: ['text', 'number', 'date', 'dropdown', 'currency', 'checkbox', 'stringtemplate'],
_currencyList: [
{
@ -77,6 +77,12 @@ const CreateCustomFieldPopup = BlazeComponent.extendComponent({
? this.data().settings.dropdownItems
: [],
);
this.stringtemplateFormat = new ReactiveVar(
this.data().settings && this.data().settings.stringtemplateFormat
? this.data().settings.stringtemplateFormat
: "",
);
},
types() {
@ -121,6 +127,10 @@ const CreateCustomFieldPopup = BlazeComponent.extendComponent({
return items;
},
getStringtemplateFormat() {
return this.stringtemplateFormat.get();
},
getSettings() {
const settings = {};
switch (this.type.get()) {
@ -136,6 +146,11 @@ const CreateCustomFieldPopup = BlazeComponent.extendComponent({
settings.dropdownItems = dropdownItems;
break;
}
case 'stringtemplate': {
const stringtemplateFormat = this.stringtemplateFormat.get();
settings.stringtemplateFormat = stringtemplateFormat;
break;
}
}
return settings;
},
@ -158,6 +173,10 @@ const CreateCustomFieldPopup = BlazeComponent.extendComponent({
evt.target.value = '';
}
},
'input .js-field-stringtemplate'(evt) {
const value = evt.target.value;
this.stringtemplateFormat.set(value);
},
'click .js-field-show-on-card'(evt) {
let $target = $(evt.target);
if (!$target.hasClass('js-field-show-on-card')) {