0
0
Fork 1
Spiegel von https://github.com/paviliondev/discourse-custom-wizard.git synchronisiert 2024-12-04 22:31:09 +01:00
discourse-custom-wizard/assets/javascripts/discourse/components/wizard-custom-field.js.es6

48 Zeilen
1,6 KiB
Text

2019-07-19 05:47:17 +02:00
import { default as computed, observes, on } from 'ember-addons/ember-computed-decorators';
2020-02-02 11:42:05 +01:00
import { generateSelectKitContent } from '../lib/custom-wizard';
2017-09-23 04:34:07 +02:00
export default Ember.Component.extend({
classNames: 'wizard-custom-field',
isDropdown: Ember.computed.equal('field.type', 'dropdown'),
2019-07-19 05:47:17 +02:00
isUpload: Ember.computed.equal('field.type', 'upload'),
isCategory: Ember.computed.equal('field.type', 'category'),
2017-10-17 15:17:53 +02:00
disableId: Ember.computed.not('field.isNew'),
2020-02-02 11:42:05 +01:00
choicesTypes: generateSelectKitContent(['translation', 'preset', 'custom']),
2017-11-08 09:52:50 +01:00
choicesTranslation: Ember.computed.equal('field.choices_type', 'translation'),
choicesPreset: Ember.computed.equal('field.choices_type', 'preset'),
choicesCustom: Ember.computed.equal('field.choices_type', 'custom'),
2020-02-02 11:42:05 +01:00
categoryPropertyTypes: generateSelectKitContent(['id', 'slug']),
2017-09-23 04:34:07 +02:00
2017-10-13 15:02:34 +02:00
@computed('field.type')
2020-03-23 19:40:11 +01:00
isInput: (type) => type === 'text' || type === 'textarea' || type === 'url',
2017-10-13 15:02:34 +02:00
@computed('field.type')
isCategoryOrTag: (type) => type === 'tag' || type === 'category',
2017-10-13 15:02:34 +02:00
@computed()
presetChoices() {
let presets = [
2019-07-01 04:31:50 +02:00
{
id: 'categories',
name: I18n.t('admin.wizard.field.choices_preset.categories')
},{
id: 'groups',
name: I18n.t('admin.wizard.field.choices_preset.groups')
2019-07-12 03:55:53 +02:00
},{
id: 'tags',
name: I18n.t('admin.wizard.field.choices_preset.tags')
2019-07-01 04:31:50 +02:00
}
2017-10-13 15:02:34 +02:00
];
return presets;
2017-10-30 07:24:51 +01:00
},
2019-07-19 05:47:17 +02:00
@on('didInsertElement')
@observes('isUpload')
setupFileType() {
if (this.get('isUpload') && !this.get('field.file_types')) {
this.set('field.file_types', '.jpg,.png');
}
}
2017-09-23 04:34:07 +02:00
});