diff --git a/app/components/forms/add-tag-form.hbs b/app/components/forms/add-tag-form.hbs new file mode 100644 index 00000000000..2e8cbb7151e --- /dev/null +++ b/app/components/forms/add-tag-form.hbs @@ -0,0 +1,46 @@ +
+

+ {{t 'Tags'}} +

+
+
+
+ {{#each this.tagList as |tag index|}} +
+
+ +
+
+ + {{#unless tag.isReadOnly}} + + {{/unless}} + {{#if (eq index ( sub this.tagList.length 1 ) ) }} + + {{/if}} + +
+
+ +
+
+ {{/each}} +
+ +
+

{{t 'You need to hit "Submit" to save your changes.'}}

+
diff --git a/app/components/forms/add-tag-form.js b/app/components/forms/add-tag-form.js new file mode 100644 index 00000000000..33dd4058e50 --- /dev/null +++ b/app/components/forms/add-tag-form.js @@ -0,0 +1,69 @@ +import classic from 'ember-classic-decorator'; +import Component from '@ember/component'; +import { action, computed } from '@ember/object'; +import FormMixin from 'open-event-frontend/mixins/form'; +import { inject as service } from '@ember/service'; +import { tracked } from '@glimmer/tracking'; + +@classic +export default class AddTagForm extends Component.extend(FormMixin) { + @service errorHandler; + @tracked tagsDeleted = []; + + @computed('data.tags.@each.isDeleted', 'tagsDeleted.@each') + get tagList() { + return this.data.tags.filter(tag => !this.tagsDeleted.includes(tag)); + } + + willDestroyElement() { + const tagsNeedRemove = []; + this.data.tags.forEach(tag => { + if (!tag.id) { + tagsNeedRemove.pushObject(tag); + } else { + if (tag?.changedAttributes()) { + tag.rollbackAttributes(); + } + } + }); + if (tagsNeedRemove.length > 0) { + this.data.tags.removeObjects(tagsNeedRemove); + } + this._super(...arguments); + } + + @action + addItem() { + this.data.tags.pushObject(this.store.createRecord('tag')); + } + + @action + removeItem(tag) { + if (tag.id) { + this.tagsDeleted.pushObject(tag); + } else { + this.data.tags.removeObject(tag); + } + } + + @action + async submit() { + try { + this.data.tags.forEach(tag => { + if (this.tagsDeleted.includes(tag)) { + tag.deleteRecord(); + } + tag.save(); + }); + this.notify.success( + this.l10n.t('Your tag has been saved.'), + { id: 'tag_save' } + ); + } catch (error) { + this.notify.error( + this.l10n.t('Tag failed.'), + { id: 'tag_save' } + ); + } + } +} diff --git a/app/components/nav-bar.js b/app/components/nav-bar.js index 5764d4d4a31..1a736fd2fd3 100644 --- a/app/components/nav-bar.js +++ b/app/components/nav-bar.js @@ -86,6 +86,23 @@ export default class NavBar extends Component { return !(String(this.session.currentRouteName).includes('events.view')); } + @computed('isNotPublicPageRoute') + get checkShowClassCssPublic() { + if (this.session.isAuthenticated) { + if (this.isNotPublicPageRoute) { + return 'au-home-page'; + } else { + return 'au-public-page'; + } + } else { + if (this.isNotPublicPageRoute) { + return 'un-home-page'; + } else { + return 'un-public-page'; + } + } + } + @action handleKeyPress() { if (event.keyCode === 13 || event.which === 13) { @@ -120,6 +137,7 @@ export default class NavBar extends Component { }); } + @action handleClick() { this.router.replaceWith('public.index', this.globalData.idEvent); diff --git a/app/components/public/stream/join-video.ts b/app/components/public/stream/join-video.ts index cf57e04816c..bef2b557f39 100644 --- a/app/components/public/stream/join-video.ts +++ b/app/components/public/stream/join-video.ts @@ -26,6 +26,7 @@ export default class JoinVideo extends Component { openPanel(): void { if (this.args.canAccess) { this.args.showSidePanel?.(); + this.eventCheckIn(this.args.event.identifier) this.router.transitionTo({ queryParams: { side_panel: true } }); } else { if (this.session.isAuthenticated) { @@ -35,4 +36,16 @@ export default class JoinVideo extends Component { } } } + + async eventCheckIn(event_identifier: string) { + try { + const data:any = { + 'check_in_type' : 'event', + 'is_check_in' : true + }; + await this.loader.post(`events/${event_identifier}/virtual/check-in`, data); + } catch (e) { + // Ignore error to prevent stackoverflow + } + } } diff --git a/app/components/public/stream/side-panel.hbs b/app/components/public/stream/side-panel.hbs index 4f69d01352e..582416ee737 100644 --- a/app/components/public/stream/side-panel.hbs +++ b/app/components/public/stream/side-panel.hbs @@ -59,7 +59,7 @@
-
- -
+
+ {{yield}} + +
diff --git a/app/templates/components/tables/utilities/add-tag.hbs b/app/templates/components/tables/utilities/add-tag.hbs new file mode 100644 index 00000000000..46d5d1c95ef --- /dev/null +++ b/app/templates/components/tables/utilities/add-tag.hbs @@ -0,0 +1,13 @@ + +
+ {{t 'Select Tag'}} +
+ + +
diff --git a/app/templates/components/tables/utilities/add-tags.hbs b/app/templates/components/tables/utilities/add-tags.hbs new file mode 100644 index 00000000000..80608605e71 --- /dev/null +++ b/app/templates/components/tables/utilities/add-tags.hbs @@ -0,0 +1,5 @@ +
+ +
diff --git a/app/templates/components/tables/utilities/page-size-input.hbs b/app/templates/components/tables/utilities/page-size-input.hbs index bfe56330a85..b364738a469 100644 --- a/app/templates/components/tables/utilities/page-size-input.hbs +++ b/app/templates/components/tables/utilities/page-size-input.hbs @@ -1,7 +1,7 @@ {{t 'Show'}} -
{{this.pageSize}}
+
{{if (eq this.pageSize 0) 'All' this.pageSize}}