diff --git a/package.json b/package.json
index 6474628187..2d1ddae97c 100644
--- a/package.json
+++ b/package.json
@@ -90,6 +90,7 @@
"overrides": [
{
"test": [
+ "src/components/accessSchedule/accessSchedule.js",
"src/components/actionSheet/actionSheet.js",
"src/components/autoFocuser.js",
"src/components/cardbuilder/cardBuilder.js",
diff --git a/src/components/accessSchedule/accessSchedule.js b/src/components/accessSchedule/accessSchedule.js
index 768e310593..166460a025 100644
--- a/src/components/accessSchedule/accessSchedule.js
+++ b/src/components/accessSchedule/accessSchedule.js
@@ -1,9 +1,20 @@
-define(['dialogHelper', 'datetime', 'globalize', 'emby-select', 'paper-icon-button-light', 'formDialogStyle'], function (dialogHelper, datetime, globalize) {
- 'use strict';
+/* eslint-disable indent */
+
+/**
+ * Module for controlling user parental control from.
+ * @module components/accessSchedule/accessSchedule
+ */
+
+import dialogHelper from 'dialogHelper';
+import datetime from 'datetime';
+import globalize from 'globalize';
+import 'emby-select';
+import 'paper-icon-button-light';
+import 'formDialogStyle';
function getDisplayTime(hours) {
- var minutes = 0;
- var pct = hours % 1;
+ let minutes = 0;
+ const pct = hours % 1;
if (pct) {
minutes = parseInt(60 * pct);
@@ -13,25 +24,25 @@ define(['dialogHelper', 'datetime', 'globalize', 'emby-select', 'paper-icon-butt
}
function populateHours(context) {
- var html = '';
+ let html = '';
- for (var i = 0; i < 24; i++) {
- html += '';
+ for (let i = 0; i < 24; i++) {
+ html += ``;
}
- html += '';
+ html += ``;
context.querySelector('#selectStart').innerHTML = html;
context.querySelector('#selectEnd').innerHTML = html;
}
- function loadSchedule(context, schedule) {
- context.querySelector('#selectDay').value = schedule.DayOfWeek || 'Sunday';
- context.querySelector('#selectStart').value = schedule.StartHour || 0;
- context.querySelector('#selectEnd').value = schedule.EndHour || 0;
+ function loadSchedule(context, {DayOfWeek, StartHour, EndHour}) {
+ context.querySelector('#selectDay').value = DayOfWeek || 'Sunday';
+ context.querySelector('#selectStart').value = StartHour || 0;
+ context.querySelector('#selectEnd').value = EndHour || 0;
}
function submitSchedule(context, options) {
- var updatedSchedule = {
+ const updatedSchedule = {
DayOfWeek: context.querySelector('#selectDay').value,
StartHour: context.querySelector('#selectStart').value,
EndHour: context.querySelector('#selectEnd').value
@@ -46,44 +57,42 @@ define(['dialogHelper', 'datetime', 'globalize', 'emby-select', 'paper-icon-butt
dialogHelper.close(context);
}
- return {
- show: function (options) {
- return new Promise(function (resolve, reject) {
- var xhr = new XMLHttpRequest();
- xhr.open('GET', 'components/accessSchedule/accessSchedule.template.html', true);
-
- xhr.onload = function (e) {
- var template = this.response;
- var dlg = dialogHelper.createDialog({
- removeOnClose: true,
- size: 'small'
- });
- dlg.classList.add('formDialog');
- var html = '';
- html += globalize.translateDocument(template);
- dlg.innerHTML = html;
- populateHours(dlg);
- loadSchedule(dlg, options.schedule);
- dialogHelper.open(dlg);
- dlg.addEventListener('close', function () {
- if (dlg.submitted) {
- resolve(options.schedule);
- } else {
- reject();
- }
- });
- dlg.querySelector('.btnCancel').addEventListener('click', function () {
- dialogHelper.close(dlg);
- });
- dlg.querySelector('form').addEventListener('submit', function (event) {
- submitSchedule(dlg, options);
- event.preventDefault();
- return false;
- });
- };
-
- xhr.send();
+ export function show(options) {
+ return new Promise((resolve, reject) => {
+ // TODO: remove require
+ require(['text!./components/accessSchedule/accessSchedule.template.html'], template => {
+ const dlg = dialogHelper.createDialog({
+ removeOnClose: true,
+ size: 'small'
+ });
+ dlg.classList.add('formDialog');
+ let html = '';
+ html += globalize.translateDocument(template);
+ dlg.innerHTML = html;
+ populateHours(dlg);
+ loadSchedule(dlg, options.schedule);
+ dialogHelper.open(dlg);
+ dlg.addEventListener('close', () => {
+ if (dlg.submitted) {
+ resolve(options.schedule);
+ } else {
+ reject();
+ }
+ });
+ dlg.querySelector('.btnCancel').addEventListener('click', () => {
+ dialogHelper.close(dlg);
+ });
+ dlg.querySelector('form').addEventListener('submit', event => {
+ submitSchedule(dlg, options);
+ event.preventDefault();
+ return false;
+ });
});
- }
- };
-});
+ });
+ }
+
+/* eslint-enable indent */
+
+export default {
+ show: show
+};