1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- import { on, observes, default as computed } from 'ember-addons/ember-computed-decorators';
- const PROFILE_FIELDS = [
- 'name',
- 'email',
- 'username',
- 'title',
- 'date_of_birth',
- 'muted_usernames',
- 'theme_key',
- 'locale',
- 'bio_raw',
- 'location',
- 'website',
- 'dismissed_banner_key',
- 'profile_background',
- 'card_background'
- ];
- export default Ember.Component.extend({
- classNames: 'wizard-custom-action',
- types: ['create_topic', 'update_profile', 'send_message'],
- profileFields: PROFILE_FIELDS,
- createTopic: Ember.computed.equal('action.type', 'create_topic'),
- updateProfile: Ember.computed.equal('action.type', 'update_profile'),
- sendMessage: Ember.computed.equal('action.type', 'send_message'),
- @on('init')
- @observes('action')
- setup() {
- if (!this.get('isNew')) this.set('existingId', this.get('action.id'));
- },
- @computed('steps')
- wizardFields(steps) {
- let fields = [];
- steps.forEach((s) => {
- let stepFields = s.fields.map((f) => `${f.id} (${s.id})`);
- fields.push(...stepFields);
- });
- return fields;
- },
- @computed('action.profile_updates.[]')
- profileUpdates: fields => fields,
- actions: {
- addProfileUpdate() {
- if (!this.get('action.profile_updates')) {
- this.set('action.profile_updates', Ember.A());
- }
- this.get('action.profile_updates').pushObject(Ember.Object.create());
- },
- removeProfileUpdate(f) {
- this.get('action.profile_updates').removeObject(f);
- }
- }
- });
|