Spiegel von
https://github.com/paviliondev/discourse-custom-wizard.git
synchronisiert 2024-11-29 20:20:29 +01:00
51 Zeilen
1,6 KiB
JavaScript
51 Zeilen
1,6 KiB
JavaScript
import { default as computed, observes, on } from 'ember-addons/ember-computed-decorators';
|
|
|
|
export default Ember.Component.extend({
|
|
classNames: 'wizard-custom-field',
|
|
isDropdown: Ember.computed.equal('field.type', 'dropdown'),
|
|
isUpload: Ember.computed.equal('field.type', 'upload'),
|
|
isCategory: Ember.computed.equal('field.type', 'category'),
|
|
disableId: Ember.computed.not('field.isNew'),
|
|
choicesTypes: ['translation', 'preset', 'custom'],
|
|
choicesTranslation: Ember.computed.equal('field.choices_type', 'translation'),
|
|
choicesPreset: Ember.computed.equal('field.choices_type', 'preset'),
|
|
choicesCustom: Ember.computed.equal('field.choices_type', 'custom'),
|
|
categoryPropertyTypes: ['id', 'slug'],
|
|
|
|
@computed('field.type')
|
|
isInput: (type) => type === 'text' || type === 'textarea',
|
|
|
|
@computed('field.type')
|
|
isCategoryOrTag: (type) => type === 'tag' || type === 'category',
|
|
|
|
@computed()
|
|
presetChoices() {
|
|
let presets = [
|
|
{
|
|
id: 'categories',
|
|
name: I18n.t('admin.wizard.field.choices_preset.categories')
|
|
},{
|
|
id: 'groups',
|
|
name: I18n.t('admin.wizard.field.choices_preset.groups')
|
|
},{
|
|
id: 'tags',
|
|
name: I18n.t('admin.wizard.field.choices_preset.tags')
|
|
}
|
|
];
|
|
if (Discourse.SiteSettings.nationalflag_enabled) {
|
|
presets.push({
|
|
id: 'flags',
|
|
name: I18n.t('admin.wizard.field.choices_preset.flags')
|
|
})
|
|
}
|
|
return presets;
|
|
},
|
|
|
|
@on('didInsertElement')
|
|
@observes('isUpload')
|
|
setupFileType() {
|
|
if (this.get('isUpload') && !this.get('field.file_types')) {
|
|
this.set('field.file_types', '.jpg,.png');
|
|
}
|
|
}
|
|
});
|