Skip to content

Commit

Permalink
Merge pull request #1 from hamrant/playlists
Browse files Browse the repository at this point in the history
Backport from YGBW: playlists + alerts
  • Loading branch information
hamrant authored Mar 15, 2019
2 parents f605c98 + be728b3 commit 374a772
Show file tree
Hide file tree
Showing 165 changed files with 11,249 additions and 223 deletions.
15 changes: 15 additions & 0 deletions config/install/user.role.digital_signage_admin.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,18 +19,24 @@ permissions:
- 'add OpenY Digital Signage Schedule Item entities'
- 'add OpenY Digital Signage Schedule entities'
- 'add OpenY Digital Signage Screen entities'
- 'add digital signage playlist entities'
- 'add digital signage playlist item entities'
- 'administer Digital Signage Classes Session entities'
- 'administer Digital Signage Room entities'
- 'administer OpenY Digital Signage Schedule Item entities'
- 'administer OpenY Digital Signage Schedule entities'
- 'administer OpenY Digital Signage Screen entities'
- 'administer blocks'
- 'administer digital signage playlist entities'
- 'administer digital signage playlist item entities'
- 'administer panelizer node screen_content content'
- 'administer panelizer node screen_content layout'
- 'clone openy_digital_signage_playlist entity'
- 'clone openy_digital_signage_sch_item entity'
- 'clone openy_digital_signage_schedule entity'
- 'clone openy_digital_signage_screen entity'
- 'clone openy_ds_classes_session entity'
- 'clone openy_ds_playlist_item entity'
- 'clone openy_ds_room entity'
- 'create screen_content content'
- 'delete Digital Signage Classes Session entities'
Expand All @@ -39,13 +45,17 @@ permissions:
- 'delete OpenY Digital Signage Schedule entities'
- 'delete OpenY Digital Signage Screen entities'
- 'delete any screen_content content'
- 'delete digital signage playlist entities'
- 'delete digital signage playlist item entities'
- 'delete own screen_content content'
- 'edit Digital Signage Classes Session entities'
- 'edit Digital Signage Room entities'
- 'edit OpenY Digital Signage Schedule Item entities'
- 'edit OpenY Digital Signage Schedule entities'
- 'edit OpenY Digital Signage Screen entities'
- 'edit any screen_content content'
- 'edit digital signage playlist entities'
- 'edit digital signage playlist item entities'
- 'edit own screen_content content'
- 'revert screen_content revisions'
- 'use text format digital_signage_html'
Expand All @@ -55,4 +65,9 @@ permissions:
- 'view OpenY Digital Signage Schedule Item entities'
- 'view OpenY Digital Signage Schedule entities'
- 'view OpenY Digital Signage Screen entities'
- 'view published digital signage playlist entities'
- 'view published digital signage playlist item entities'
- 'view screen_content revisions'
- 'view the administration theme'
- 'view unpublished digital signage playlist entities'
- 'view unpublished digital signage playlist item entities'
9 changes: 9 additions & 0 deletions config/install/user.role.digital_signage_editor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,11 @@ permissions:
- 'administer blocks'
- 'administer panelizer node screen_content content'
- 'administer panelizer node screen_content layout'
- 'clone openy_digital_signage_playlist entity'
- 'clone openy_digital_signage_sch_item entity'
- 'clone openy_digital_signage_schedule entity'
- 'clone openy_ds_classes_session entity'
- 'clone openy_ds_playlist_item entity'
- 'create screen_content content'
- 'delete Digital Signage Classes Session entities'
- 'delete OpenY Digital Signage Schedule Item entities'
Expand All @@ -34,6 +36,8 @@ permissions:
- 'edit OpenY Digital Signage Schedule Item entities'
- 'edit OpenY Digital Signage Schedule entities'
- 'edit any screen_content content'
- 'edit digital signage playlist entities'
- 'edit digital signage playlist item entities'
- 'edit own screen_content content'
- 'revert screen_content revisions'
- 'use text format digital_signage_html'
Expand All @@ -43,4 +47,9 @@ permissions:
- 'view OpenY Digital Signage Schedule Item entities'
- 'view OpenY Digital Signage Schedule entities'
- 'view OpenY Digital Signage Screen entities'
- 'view published digital signage playlist entities'
- 'view published digital signage playlist item entities'
- 'view screen_content revisions'
- 'view the administration theme'
- 'view unpublished digital signage playlist entities'
- 'view unpublished digital signage playlist item entities'
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
langcode: en
status: true
dependencies:
config:
- core.entity_view_mode.node.ds_alert
- field.field.node.alert.field_alert_belongs
- field.field.node.alert.field_alert_color
- field.field.node.alert.field_alert_description
- field.field.node.alert.field_alert_display_on_ds
- field.field.node.alert.field_alert_ds_description
- field.field.node.alert.field_alert_ds_screen
- field.field.node.alert.field_alert_icon_color
- field.field.node.alert.field_alert_link
- field.field.node.alert.field_alert_place
- field.field.node.alert.field_alert_text_color
- field.field.node.alert.field_alert_visibility_pages
- field.field.node.alert.field_alert_visibility_state
- field.field.node.alert.scheduled_status
- node.type.alert
module:
- link
- options
- text
- user
id: node.alert.ds_alert
targetEntityType: node
bundle: alert
mode: ds_alert
content:
field_alert_description:
weight: 0
label: hidden
settings: { }
third_party_settings: { }
type: text_default
region: content
field_alert_ds_description:
type: text_default
weight: 1
region: content
label: hidden
settings: { }
third_party_settings: { }
hidden:
addthis: true
content_moderation_control: true
field_alert_belongs: true
field_alert_color: true
field_alert_display_on_ds: true
field_alert_ds_screen: true
field_alert_icon_color: true
field_alert_link: true
field_alert_place: true
field_alert_text_color: true
field_alert_visibility_pages: true
field_alert_visibility_state: true
langcode: true
links: true
scheduled_status: true
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
langcode: en
status: true
dependencies:
module:
- node
id: node.ds_alert
label: 'DS Alert'
targetEntityType: node
cache: true
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
langcode: en
status: true
dependencies:
config:
- field.storage.node.field_alert_display_on_ds
- node.type.alert
enforced:
module:
- openy_digital_signage_alerts
id: node.alert.field_alert_display_on_ds
field_name: field_alert_display_on_ds
entity_type: node
bundle: alert
label: 'Display alert on a DS screen'
description: ''
required: false
translatable: false
default_value:
-
value: 0
default_value_callback: ''
settings:
on_label: 'On'
off_label: 'Off'
field_type: boolean
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
langcode: en
status: true
dependencies:
config:
- field.storage.node.field_alert_ds_description
- node.type.alert
enforced:
module:
- openy_digital_signage_alerts
module:
- allowed_formats
- text
third_party_settings:
allowed_formats:
plain_text: plain_text
full_html: '0'
digital_signage_html: '0'
digital_signage_inline_html: '0'
code: '0'
id: node.alert.field_alert_ds_description
field_name: field_alert_ds_description
entity_type: node
bundle: alert
label: 'DS description'
description: 'Alternative alert description specially for DS screens.'
required: false
translatable: false
default_value: { }
default_value_callback: ''
settings: { }
field_type: text_long
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
langcode: en
status: true
dependencies:
config:
- field.storage.node.field_alert_ds_screen
- node.type.alert
enforced:
module:
- openy_digital_signage_alerts
id: node.alert.field_alert_ds_screen
field_name: field_alert_ds_screen
entity_type: node
bundle: alert
label: Screen
description: 'Optionally you can specify the list DS screens to display this alert. Otherwise, the alert will be displayed on all screens.'
required: false
translatable: false
default_value: { }
default_value_callback: ''
settings:
handler: 'default:openy_digital_signage_screen'
handler_settings:
target_bundles: null
sort:
field: _none
auto_create: false
field_type: entity_reference
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
langcode: en
status: true
dependencies:
module:
- node
enforced:
module:
- openy_digital_signage_alerts
id: node.field_alert_display_on_ds
field_name: field_alert_display_on_ds
entity_type: node
type: boolean
settings: { }
module: core
locked: false
cardinality: 1
translatable: true
indexes: { }
persist_with_no_fields: false
custom_storage: false
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
langcode: en
status: true
dependencies:
module:
- node
- text
enforced:
module:
- openy_digital_signage_alerts
id: node.field_alert_ds_description
field_name: field_alert_ds_description
entity_type: node
type: text_long
settings: { }
module: text
locked: false
cardinality: 1
translatable: true
indexes: { }
persist_with_no_fields: false
custom_storage: false
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
langcode: en
status: true
dependencies:
module:
- node
- openy_digital_signage_screen
enforced:
module:
- openy_digital_signage_alerts
id: node.field_alert_ds_screen
field_name: field_alert_ds_screen
entity_type: node
type: entity_reference
settings:
target_type: openy_digital_signage_screen
module: core
locked: false
cardinality: -1
translatable: true
indexes: { }
persist_with_no_fields: false
custom_storage: false
13 changes: 13 additions & 0 deletions modules/openy_digital_signage_alerts/css/style.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
.openy-digital-signage-block-static-ticker.ds-alert {
position: absolute;
width: 100%;
z-index: 1000;
}

.ds-alert-header {
top: 0;
}

.ds-alert-footer {
bottom: 0;
}
47 changes: 47 additions & 0 deletions modules/openy_digital_signage_alerts/js/screen-alerts.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
/**
* @file
* Provides OpenY Digital Signage alerts related behavior.
*/
(function ($, window, Drupal, drupalSettings) {

'use strict';

/**
* Attaches the behavior to window object once.
*
* @type {Drupal~behavior}
*
* @prop {Drupal~behaviorAttach} attach
* Adds proper orientation classes to all the output layouts.
*/
Drupal.behaviors.ds_alerts = {
attach: function (context, settings) {
checkAlerts(settings.ds.screenId);
},
};

/**
* Checks and redraw DS alerts.
*
* @param screenId
* DS screen ID.
*/
function checkAlerts(screenId) {
if (typeof screenId !== 'undefined' && screenId) {
$.ajax({
url: "/ajax/screen-alerts/redraw-alert/" + screenId,
}).done(function(data) {
if (data) {
$('#openy-ds-alerts').replaceWith(data);
}
else {
$('#openy-ds-alerts').empty();
}
});
}

// Set the function to infinite loop.
setTimeout(checkAlerts, 60000);
}

})(jQuery, window, Drupal, drupalSettings);
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
name: Open Y Digital Signage Alerts
type: module
description: Digital Signage Alerts.
core: 8.x
package: "OpenY: Digital Signage"
dependencies:
- openy_digital_signage_screen
- openy_node_alert
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
ds_alerts:
version: VERSION
css:
theme:
css/style.css: {}
js:
js/screen-alerts.js: {}
dependencies:
- core/jquery
- core/drupalSettings
Loading

0 comments on commit 374a772

Please sign in to comment.