diff --git a/extscheduler/resources/views/weeklyScheduler.html b/extscheduler/resources/views/weeklyScheduler.html index 7ce084c6e..7959c6d2a 100644 --- a/extscheduler/resources/views/weeklyScheduler.html +++ b/extscheduler/resources/views/weeklyScheduler.html @@ -37,7 +37,8 @@

My Events

} else { - var schedulerAppLink = LABKEY.ActionURL.buildURL('extscheduler', 'weeklyTest', null, { + // var schedulerAppLink = LABKEY.ActionURL.buildURL('extscheduler', 'weeklyTest', null, { + var schedulerAppLink = LABKEY.ActionURL.buildURL('extscheduler', 'weekly_Radiology', null, { returnUrl: window.location.pathname + window.location.search }); Ext4.get('launch-link').update('Launch Scheduler'); @@ -75,6 +76,7 @@

My Events

items: [ {boxLabel: 'All', name: 'timeframe', inputValue: 'All', checked: true}, {boxLabel: 'Previous', name: 'timeframe', inputValue: 'Previous'}, + {boxLabel: 'Upcoming', name: 'timeframe', inputValue: 'Upcoming'} ], listeners: { diff --git a/extscheduler/resources/views/weekly_Radiology.html b/extscheduler/resources/views/weekly_Radiology.html new file mode 100644 index 000000000..4ca4d78f3 --- /dev/null +++ b/extscheduler/resources/views/weekly_Radiology.html @@ -0,0 +1,165 @@ + + + + + + + + + + + + + + + + + + + + + + + + Scheduler Week View + + + + + \ No newline at end of file diff --git a/extscheduler/resources/views/weekly_Radiology.view.xml b/extscheduler/resources/views/weekly_Radiology.view.xml new file mode 100644 index 000000000..340ce7333 --- /dev/null +++ b/extscheduler/resources/views/weekly_Radiology.view.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/extscheduler/resources/web/extscheduler/App/view/Scheduler_Radiology.js b/extscheduler/resources/web/extscheduler/App/view/Scheduler_Radiology.js new file mode 100644 index 000000000..ff95dbdf4 --- /dev/null +++ b/extscheduler/resources/web/extscheduler/App/view/Scheduler_Radiology.js @@ -0,0 +1,96 @@ +Ext.define('App.view.Scheduler', { + extend : 'Sch.panel.SchedulerGrid', + alias : 'widget.scheduler', + reference : 'scheduler', + startDate : new Date(), + //endDate : new Date(), + startTime : 6, + endTime : 20, + resourceStore : 'resource', + eventStore : 'event', + style : 'border: 1px solid #d0d0d0;', + + readOnly : true, // disables the ability to click in calendar to create event + showTodayLine : true, + calendarViewPreset : 'week', + mode : 'calendar', + eventResizeHandles : 'none', + eventBodyTemplate :'{Name:htmlEncode}
{ResourceName:htmlEncode}
{UserDisplayName:htmlEncode}
{Comments:htmlEncode}', + snapToIncrement : true, + allowOverlap : true, + highlightCurrentTime : true, + calendarTimeAxisCfg : { + height : 30 + }, + + tbar: [ + { + text : 'Previous', + iconCls: 'x-fa fa-arrow-circle-left', + handler: function (btn) { + var scheduler = btn.up('scheduler'); + scheduler.timeAxis.shift(-7, Sch.util.Date.DAY); + } + }, + { + text : 'Today', + handler: function (btn) { + var scheduler = btn.up('scheduler'); + // Clear time here so date adjustment wouldn't result in 2 days span + scheduler.setStart(Sch.util.Date.clearTime(new Date())); + } + }, + { + text : 'Next', + iconCls: 'x-fa fa-arrow-circle-right', + iconAlign: 'right', + handler: function (btn) { + var scheduler = btn.up('scheduler'); + scheduler.timeAxis.shift(7, Sch.util.Date.DAY); + } + }, + '', + { + text : 'Select Date...', + scope : this, + menu : Ext.create('Ext.menu.DatePicker', { + handler : function (dp, date) { + var scheduler = dp.up('scheduler'); + scheduler.setStart(Sch.util.Date.clearTime(date)); + } + }) + }, '->', + { + text : 'Create New Event', + iconCls: 'x-fa fa-plus-circle', + hidden: !LABKEY.user.canInsert, + scope: this, + handler: function (btn) { + var scheduler = btn.up('scheduler'); + + Ext.create('Ext.window.Window', { + title : 'Create New Event', + autoShow : true, + modal : true, + items : [{ + xtype: 'eventform', + editable : true, + scheduler : scheduler + }] + }); + } + } + ], + + eventRenderer : function (event, resource, data) { + data.style = 'border-color:' + resource.get('Color'); + event.data['ResourceName'] = resource.get('Name'); + var userRecord = Ext.getStore('users').findRecord('UserId', event.get('UserId')); + event.data['UserDisplayName'] = userRecord != null ? userRecord.get('DisplayName') : event.get('UserId'); + return event.data; + }, + + onEventCreated : function (newEventRecord) { + this.getEventSelectionModel().select(newEventRecord); + } +}); \ No newline at end of file