From 6620df9c65a2c4dffaff27d215fd9c2b65754008 Mon Sep 17 00:00:00 2001 From: Zachary Chai Date: Fri, 18 Nov 2016 13:59:20 -0500 Subject: [PATCH 1/5] update text strings --- app/assets/javascripts/recordings.coffee | 17 ++++++++++++----- app/assets/stylesheets/landing.scss | 3 +++ app/views/landing/rooms.html.erb | 5 ++--- config/locales/en-us.yml | 7 ++++--- 4 files changed, 21 insertions(+), 11 deletions(-) diff --git a/app/assets/javascripts/recordings.coffee b/app/assets/javascripts/recordings.coffee index 38426681..2e9dfff3 100644 --- a/app/assets/javascripts/recordings.coffee +++ b/app/assets/javascripts/recordings.coffee @@ -13,14 +13,14 @@ class @Recordings info: false, order: [[ 0, "desc" ]], language: { - emptyTable: " " + emptyTable: I18n.no_recordings }, columns: [ { data: "start_time" }, - { data: "previews" }, + { data: "previews", orderable: false }, { data: "duration" }, - { data: "playbacks" }, - { data: "id" } + { data: "playbacks", orderable: false }, + { data: "id", orderable: false } ], columnDefs: [ { @@ -61,7 +61,7 @@ class @Recordings roomName = Meeting.getInstance().getId() published = row.published icon = getPublishClass(published) - publishText = if published then 'publish' else 'unpublish' + publishText = if published then 'unpublish' else 'publish' recordingActions = $('.hidden-elements').find('.recording-actions') recordingActions.find('.recording-update > i') .removeClass() @@ -74,6 +74,13 @@ class @Recordings } ] }) + options = { + selector: '.delete-tooltip', + container: 'body', + placement: 'bottom', + title: I18n.delete_recording + }; + $('#recordings').tooltip(options); # Gets the current instance or creates a new one @getInstance: -> diff --git a/app/assets/stylesheets/landing.scss b/app/assets/stylesheets/landing.scss index 4fbbd5b1..4aba7683 100644 --- a/app/assets/stylesheets/landing.scss +++ b/app/assets/stylesheets/landing.scss @@ -25,6 +25,9 @@ content: none; //removes the sort icon in table header } } + .dataTables_empty { + text-align: center; + } } } diff --git a/app/views/landing/rooms.html.erb b/app/views/landing/rooms.html.erb index 4effe1a6..397cfaa1 100644 --- a/app/views/landing/rooms.html.erb +++ b/app/views/landing/rooms.html.erb @@ -14,7 +14,6 @@
-

<%= t('past_recordings') %>

@@ -49,8 +48,8 @@ - + diff --git a/config/locales/en-us.yml b/config/locales/en-us.yml index cab1ce4d..bed580f8 100644 --- a/config/locales/en-us.yml +++ b/config/locales/en-us.yml @@ -24,16 +24,18 @@ en-US: are_you: Are you %{name}? client: are_you_sure: Are you sure? + delete_recording: Delete recording meeting_ended: Meeting was ended meeting_started: Meeting was started + no_recordings: No recordings publish_recording: Publish recording recording_deleted: Recording was deleted recording_published: Recording was published recording_unpublished: Recording was unpublished - unpublish_recording: Unpublish recording + unpublish_recording: Hide recording copied: Copied copy_error: Use Ctrl-c to copy - date_recorded: Date Recorded + date_recorded: Date duration: Duration end: End enter_name: Enter your name @@ -52,7 +54,6 @@ en-US: powered_bigbluebutton: Powered by BigBlueButton presentation: Presentation refresh_html: Click refresh to generate a new meeting URL - delete_recording: Delete recording session_url_explanation: The session will be taking place using the following URL start: Start start_new_session: Start a new session From 25bccb7699ba160fdf2015ca0b01d9350df39f4d Mon Sep 17 00:00:00 2001 From: Zachary Chai Date: Fri, 18 Nov 2016 17:05:44 -0500 Subject: [PATCH 2/5] open recordings in new tab and hide from viewers when unpublished --- .../javascripts/channels/recording_update.js | 9 ++++-- app/assets/javascripts/recordings.coffee | 32 +++++++++++++------ app/views/landing/rooms.html.erb | 1 + 3 files changed, 30 insertions(+), 12 deletions(-) diff --git a/app/assets/javascripts/channels/recording_update.js b/app/assets/javascripts/channels/recording_update.js index 51c9d842..3beec545 100644 --- a/app/assets/javascripts/channels/recording_update.js +++ b/app/assets/javascripts/channels/recording_update.js @@ -7,17 +7,20 @@ }, { received: function(data) { - var table = $("#recordings").DataTable(); + var recordings = Recordings.getInstance(); + var table = recordings.table.api() var row = table.row("#"+data.record_id); if (data.action === 'update') { var rowData = row.data(); rowData.published = data.published - table.row("#"+data.record_id).data(rowData).draw(); + table.row("#"+data.record_id).data(rowData); + recordings.draw(); var published = (data.published) ? 'published' : 'unpublished'; showAlert(I18n['recording_'+published], 4000); } else if (data.action === 'delete') { - row.remove().draw(); + row.remove(); + recordings.draw(); showAlert(I18n.recording_deleted, 4000); } diff --git a/app/assets/javascripts/recordings.coffee b/app/assets/javascripts/recordings.coffee index 2e9dfff3..94f6ba52 100644 --- a/app/assets/javascripts/recordings.coffee +++ b/app/assets/javascripts/recordings.coffee @@ -9,17 +9,19 @@ class @Recordings data: [], rowId: 'id', paging: false, - searching: false, + dom: 'lrtip', info: false, order: [[ 0, "desc" ]], language: { - emptyTable: I18n.no_recordings + emptyTable: I18n.no_recordings, + zeroRecords: I18n.no_recordings }, columns: [ { data: "start_time" }, { data: "previews", orderable: false }, { data: "duration" }, { data: "playbacks", orderable: false }, + { data: "published", visible: false }, { data: "id", orderable: false } ], columnDefs: [ @@ -38,8 +40,9 @@ class @Recordings render: (data, type, row) -> if type == 'display' str = '' - for d in data - str += ''+d.alt+' ' + if row.published + for d in data + str += ''+d.alt+' ' return str return data }, @@ -50,7 +53,7 @@ class @Recordings str = '' if row.published for d in data - str += ''+d.type_i18n+' ' + str += ''+d.type_i18n+' ' return str return data }, @@ -95,12 +98,17 @@ class @Recordings @initialized: -> return $.fn.DataTable.isDataTable('#recordings') && _recordingsInstance + draw: -> + if !@isOwner() + @table.api().columns(4).search('true') + @table.api().columns.adjust().draw() + # refresh the recordings from the server refresh: -> - _this = this table_api = this.table.api() - $.get "/rooms/"+Meeting.getInstance().getId()+"/recordings", (data) -> - if !data.is_owner + $.get "/rooms/"+Meeting.getInstance().getId()+"/recordings", (data) => + @setOwner(data.is_owner) + if !@owner table_api.column(-1).visible(false) for recording in data.recordings totalMinutes = Math.round((new Date(recording.end_time) - new Date(recording.start_time)) / 1000 / 60) @@ -109,7 +117,7 @@ class @Recordings return new Date(b.start_time) - new Date(a.start_time) table_api.clear() table_api.rows.add(data.recordings) - table_api.columns.adjust().draw() + @draw() # setup click handlers for the action buttons setupActionHandlers: -> @@ -145,3 +153,9 @@ class @Recordings ).fail((data) -> btn.prop('disabled', false) ) + + isOwner: -> + @owner + + setOwner: (owner) -> + @owner = owner diff --git a/app/views/landing/rooms.html.erb b/app/views/landing/rooms.html.erb index 397cfaa1..6c82ba3a 100644 --- a/app/views/landing/rooms.html.erb +++ b/app/views/landing/rooms.html.erb @@ -20,6 +20,7 @@ +
<%= t('date_recorded') %> <%= t('thumbnails') %> <%= t('duration') %> <%= t('views') %>published <%= t('actions') %>
From 445de3886026bfef49bd3b2731c5eea344d38cd6 Mon Sep 17 00:00:00 2001 From: Zachary Chai Date: Fri, 18 Nov 2016 17:37:13 -0500 Subject: [PATCH 3/5] loading inidicator --- app/assets/images/loading-indicator.gif | Bin 0 -> 673 bytes app/assets/stylesheets/landing.scss | 4 ++++ app/views/landing/wait_for_moderator.html.erb | 4 ++++ 3 files changed, 8 insertions(+) create mode 100644 app/assets/images/loading-indicator.gif diff --git a/app/assets/images/loading-indicator.gif b/app/assets/images/loading-indicator.gif new file mode 100644 index 0000000000000000000000000000000000000000..f2a1bc0c6f545e20e631a96e8e92f9822e75d046 GIT binary patch literal 673 zcmZ?wbhEHb6krfw_{6~Q|Nnmm28Kh24mmkF0U1e2Nli^nlO|14{3qpHl$uzQnxasi zS(2fUn3Y(Olb@KPmzkHA&!G5|g@FsGT=74*pKD04vtxj(k)8oFBTz^Oh=E26FfcG1 zbL_hF&)}42ws10s6^G;;cE1^EoUR)U5A70}d2pLv!jVIT7j&Z~EblI3x0K*v_sV|m z0W=b9G$XP(CLnYCdK49;TX=SFc-G}o=oA=|U?{1O;Nu!CwW3C5Yw7*Bi4yD$3fCnb zwK+>}QdQ9sf*QnxY>*kpE+b{_Q;sJloS71)&(@kO!}mqf@1v(v;*8Y=G9S3kY~Cw# zY=t&c z;3~JK4HxB^lY(MD+sYeQ=t%XSSW;x^1M?dTvN=W^yNcAcy`HCte31C;)5xP%b~qs> zDP&4(%TBqBNGHwnryK;BdMI$fEg xd0mc!C@j^ZpLxYv4HmnPfI0THYuv<%+6iSmMn&w3dPGDfL1|=LY008wP(boU~ literal 0 HcmV?d00001 diff --git a/app/assets/stylesheets/landing.scss b/app/assets/stylesheets/landing.scss index 4aba7683..35ff5a10 100644 --- a/app/assets/stylesheets/landing.scss +++ b/app/assets/stylesheets/landing.scss @@ -12,6 +12,10 @@ cursor: default; } } + + .loading-wrapper { + text-align: center; + } } .rooms { diff --git a/app/views/landing/wait_for_moderator.html.erb b/app/views/landing/wait_for_moderator.html.erb index ab720cbb..91641566 100644 --- a/app/views/landing/wait_for_moderator.html.erb +++ b/app/views/landing/wait_for_moderator.html.erb @@ -5,7 +5,11 @@ <%= t('wait_for_mod_explanation') %> + <% end %> <%= render layout: 'shared/center_panel' do %> +
+ <%= image_tag "loading-indicator.gif", :alt => "" %> +
<% end %> From 62dbefcb682396e45a58ebaff7d0217c8c04945c Mon Sep 17 00:00:00 2001 From: Zachary Chai Date: Mon, 21 Nov 2016 12:12:20 -0500 Subject: [PATCH 4/5] remove my room from header --- app/views/layouts/application.html.erb | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/app/views/layouts/application.html.erb b/app/views/layouts/application.html.erb index 152c8571..830fb1be 100644 --- a/app/views/layouts/application.html.erb +++ b/app/views/layouts/application.html.erb @@ -21,8 +21,11 @@