Skip to content

Commit

Permalink
fix: Revamp session-speaker custom forms, fix URLs (#3333)
Browse files Browse the repository at this point in the history
  • Loading branch information
abhinavk96 authored Jul 31, 2019
1 parent b46df94 commit 7d38728
Show file tree
Hide file tree
Showing 5 changed files with 46 additions and 19 deletions.
20 changes: 10 additions & 10 deletions app/components/forms/session-speaker-form.js
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,7 @@ export default Component.extend(FormMixin, {
},
{
type : 'regExp',
value : compulsoryProtocolValidUrlPattern,
value : protocolLessValidUrlPattern,
prompt : this.l10n.t('Please enter a valid url')
}
]
Expand All @@ -121,7 +121,7 @@ export default Component.extend(FormMixin, {
rules : [
{
type : 'regExp',
value : compulsoryProtocolValidUrlPattern,
value : protocolLessValidUrlPattern,
prompt : this.l10n.t('Please enter a valid url')
}
]
Expand All @@ -135,7 +135,7 @@ export default Component.extend(FormMixin, {
},
{
type : 'regExp',
value : compulsoryProtocolValidUrlPattern,
value : protocolLessValidUrlPattern,
prompt : this.l10n.t('Please enter a valid url')
}
]
Expand All @@ -146,7 +146,7 @@ export default Component.extend(FormMixin, {
rules : [
{
type : 'regExp',
value : compulsoryProtocolValidUrlPattern,
value : protocolLessValidUrlPattern,
prompt : this.l10n.t('Please enter a valid url')
}
]
Expand All @@ -160,7 +160,7 @@ export default Component.extend(FormMixin, {
},
{
type : 'regExp',
value : compulsoryProtocolValidUrlPattern,
value : protocolLessValidUrlPattern,
prompt : this.l10n.t('Please enter a valid url')
}
]
Expand All @@ -171,7 +171,7 @@ export default Component.extend(FormMixin, {
rules : [
{
type : 'regExp',
value : compulsoryProtocolValidUrlPattern,
value : protocolLessValidUrlPattern,
prompt : this.l10n.t('Please enter a valid url')
}
]
Expand Down Expand Up @@ -437,7 +437,7 @@ export default Component.extend(FormMixin, {
rules : [
{
type : 'empty',
prompt : this.l10n.t('Please enter GitHub link')
prompt : this.l10n.t('Please enter your GitHub profile url')
},
{
type : 'regExp',
Expand All @@ -462,12 +462,12 @@ export default Component.extend(FormMixin, {
rules : [
{
type : 'empty',
prompt : this.l10n.t('Please enter linkedin link')
prompt : this.l10n.t('Please enter Linkedin profile url')
},
{
type : 'regExp',
value : validLinkedinProfileUrlPattern,
prompt : this.l10n.t('Please enter a valid linkedin profile url')
prompt : this.l10n.t('Please enter a valid Linkedin profile url')
}
]
},
Expand All @@ -478,7 +478,7 @@ export default Component.extend(FormMixin, {
{
type : 'regExp',
value : validLinkedinProfileUrlPattern,
prompt : this.l10n.t('Please enter a valid linkedin profile url')
prompt : this.l10n.t('Please enter a valid Linkedin profile url')
}
]
}
Expand Down
9 changes: 9 additions & 0 deletions app/models/custom-form.js
Original file line number Diff line number Diff line change
Expand Up @@ -102,6 +102,15 @@ export default ModelBase.extend({
}
}),

isUrlField: computed('type', 'fieldIdentifier', function() {
return this.type === 'text'
&& (['website', 'twitter', 'github', 'facebook', 'linkedin', 'slidesUrl', 'videoUrl', 'audioUrl'].includes(this.fieldIdentifier));
}),

segmentedLinkName: computed('fieldIdentifier', function() {
return `segmentedLink${this.fieldIdentifier.charAt(0).toUpperCase() + this.fieldIdentifier.slice(1)}`;
}),

isRequiredObserver: observer('isRequired', function() {
if (!this.isIncluded && this.isRequired) {
this.set('isIncluded', true);
Expand Down
11 changes: 9 additions & 2 deletions app/models/session.js
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import attr from 'ember-data/attr';
import moment from 'moment';
import ModelBase from 'open-event-frontend/models/base';
import { belongsTo, hasMany } from 'ember-data/relationships';
import { computedDateTimeSplit } from 'open-event-frontend/utils/computed-helpers';
import { computedDateTimeSplit, computedSegmentedLink } from 'open-event-frontend/utils/computed-helpers';
import { computed } from '@ember/object';

const detectedTimezone = moment.tz.guess();
Expand Down Expand Up @@ -51,5 +51,12 @@ export default ModelBase.extend({
startAtDate : computedDateTimeSplit.bind(this)('startsAt', 'date'),
startAtTime : computedDateTimeSplit.bind(this)('startsAt', 'time'),
endsAtDate : computedDateTimeSplit.bind(this)('endsAt', 'date'),
endsAtTime : computedDateTimeSplit.bind(this)('endsAt', 'time')
endsAtTime : computedDateTimeSplit.bind(this)('endsAt', 'time'),

segmentedLinkSlidesUrl : computedSegmentedLink.bind(this)('slidesUrl'),
segmentedLinkAudioUrl : computedSegmentedLink.bind(this)('audioUrl'),
segmentedLinkVideoUrl : computedSegmentedLink.bind(this)('videoUrl'),
segmentedLinkSignUpUrl : computedSegmentedLink.bind(this)('signUpUrl')


});
8 changes: 5 additions & 3 deletions app/models/speaker.js
Original file line number Diff line number Diff line change
Expand Up @@ -33,9 +33,11 @@ export default ModelBase.extend({
gender : attr('string'),
heardFrom : attr('string'),

segmentedLinkWebsite : computedSegmentedLink.bind(this)('website'),
segmentedLinkTwitter : computedSegmentedLink.bind(this)('twitter'),

segmentedLinkWebsite : computedSegmentedLink.bind(this)('website'),
segmentedLinkTwitter : computedSegmentedLink.bind(this)('twitter'),
segmentedLinkGithub : computedSegmentedLink.bind(this)('github'),
segmentedLinkFacebook : computedSegmentedLink.bind(this)('facebook'),
segmentedLinkLinkedIn : computedSegmentedLink.bind(this)('linkedin'),
/**
* Relationships
*/
Expand Down
17 changes: 13 additions & 4 deletions app/templates/components/forms/session-speaker-form.hbs
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,17 @@
{{widgets/forms/rich-text-editor value=(mut (get data.session field.fieldIdentifier))
textareaId=(if field.isRequired (concat 'session_' field.fieldIdentifier '_required') (concat 'session_' field.fieldIdentifier))}}
{{else}}
{{input type=field.type value=(mut (get data.session field.fieldIdentifier))
id=(if field.isRequired (concat 'session_' field.fieldIdentifier '_required') (concat 'session_' field.fieldIdentifier))}}
{{#if field.isUrlField}}
{{widgets/forms/link-input
fixedName=true
inputId=(if field.isRequired (concat 'session_' field.fieldIdentifier '_required') (concat 'session_' field.fieldIdentifier))
segmentedLink=(get data.session field.segmentedLinkName)
canRemoveItem=false
}}
{{else}}
{{input type=field.type value=(mut (get data.session field.fieldIdentifier))
id=(if field.isRequired (concat 'session_' field.fieldIdentifier '_required') (concat 'session_' field.fieldIdentifier))}}
{{/if}}
{{/if}}
{{/if}}
{{#if (eq field.type 'image')}}
Expand Down Expand Up @@ -177,11 +186,11 @@
{{widgets/forms/rich-text-editor value=(mut (get data.speaker field.fieldIdentifier))
textareaId=(if field.isRequired (concat 'speaker_' field.fieldIdentifier '_required') (concat 'speaker_' field.fieldIdentifier))}}
{{else}}
{{#if (or (eq field.name 'Website') (eq field.name 'Twitter'))}}
{{#if field.isUrlField}}
{{widgets/forms/link-input
fixedName=true
inputId=(if field.isRequired (concat 'speaker_' field.fieldIdentifier '_required') (concat 'speaker_' field.fieldIdentifier))
segmentedLink=(if (eq field.name 'Website') data.speaker.segmentedLinkWebsite data.speaker.segmentedLinkTwitter)
segmentedLink=(get data.speaker field.segmentedLinkName)
canRemoveItem=false
}}
{{else}}
Expand Down

0 comments on commit 7d38728

Please sign in to comment.