From 1f642438bdd648557102178bb1c6265df5ea5174 Mon Sep 17 00:00:00 2001 From: ohsudev Date: Tue, 21 Oct 2025 22:26:37 -0700 Subject: [PATCH 1/4] Modified scheduler program for Radiology so that the comment information is viewable on the calendar interface. --- .../resources/views/weeklyScheduler.html | 4 +- .../resources/views/weekly_Radiology.html | 165 ++++++++++++++++++ .../resources/views/weekly_Radiology.view.xml | 6 + .../App/view/Scheduler_Radiology.js | 96 ++++++++++ 4 files changed, 270 insertions(+), 1 deletion(-) create mode 100644 extscheduler/resources/views/weekly_Radiology.html create mode 100644 extscheduler/resources/views/weekly_Radiology.view.xml create mode 100644 extscheduler/resources/web/extscheduler/App/view/Scheduler_Radiology.js 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 From 5d003ecf650a6cc312d7242b2639fc7b7767e112 Mon Sep 17 00:00:00 2001 From: blasar Date: Thu, 2 Jul 2026 12:22:05 -0700 Subject: [PATCH 2/4] Modified Surgical Rounds process to allow displaying of S2 on the Rounds input form --- onprc_ehr/resources/queries/study/clinremarks/.qview.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/onprc_ehr/resources/queries/study/clinremarks/.qview.xml b/onprc_ehr/resources/queries/study/clinremarks/.qview.xml index 9f5ac339e..1196a662a 100644 --- a/onprc_ehr/resources/queries/study/clinremarks/.qview.xml +++ b/onprc_ehr/resources/queries/study/clinremarks/.qview.xml @@ -10,6 +10,8 @@ + + From fa0ce8fb5e0d1f908c71e885ef9d1d9fbc9a50dd Mon Sep 17 00:00:00 2001 From: blasar Date: Mon, 20 Jul 2026 21:56:24 -0700 Subject: [PATCH 3/4] Modified Radiology scheduler program --- .../resources/views/weekly_Radiology.html | 2 +- .../App/view/Scheduler_Radiology.js | 14 ++++----- .../App/view/Viewport_Radiology.js | 29 +++++++++++++++++++ 3 files changed, 37 insertions(+), 8 deletions(-) create mode 100644 extscheduler/resources/web/extscheduler/App/view/Viewport_Radiology.js diff --git a/extscheduler/resources/views/weekly_Radiology.html b/extscheduler/resources/views/weekly_Radiology.html index 4ca4d78f3..2855e253d 100644 --- a/extscheduler/resources/views/weekly_Radiology.html +++ b/extscheduler/resources/views/weekly_Radiology.html @@ -43,7 +43,7 @@ 'ResourceCombo', 'Resources', 'Scheduler_Radiology', - 'Viewport' + 'Viewport_Radiology' ] }); }; diff --git a/extscheduler/resources/web/extscheduler/App/view/Scheduler_Radiology.js b/extscheduler/resources/web/extscheduler/App/view/Scheduler_Radiology.js index ff95dbdf4..156ba1e19 100644 --- a/extscheduler/resources/web/extscheduler/App/view/Scheduler_Radiology.js +++ b/extscheduler/resources/web/extscheduler/App/view/Scheduler_Radiology.js @@ -1,7 +1,7 @@ Ext.define('App.view.Scheduler', { extend : 'Sch.panel.SchedulerGrid', - alias : 'widget.scheduler', - reference : 'scheduler', + alias : 'widget.scheduler_Radiology', + reference : 'scheduler_Radiology', startDate : new Date(), //endDate : new Date(), startTime : 6, @@ -28,14 +28,14 @@ Ext.define('App.view.Scheduler', { text : 'Previous', iconCls: 'x-fa fa-arrow-circle-left', handler: function (btn) { - var scheduler = btn.up('scheduler'); + var scheduler = btn.up('scheduler_Radiology'); scheduler.timeAxis.shift(-7, Sch.util.Date.DAY); } }, { text : 'Today', handler: function (btn) { - var scheduler = btn.up('scheduler'); + var scheduler = btn.up('scheduler_Radiology'); // Clear time here so date adjustment wouldn't result in 2 days span scheduler.setStart(Sch.util.Date.clearTime(new Date())); } @@ -45,7 +45,7 @@ Ext.define('App.view.Scheduler', { iconCls: 'x-fa fa-arrow-circle-right', iconAlign: 'right', handler: function (btn) { - var scheduler = btn.up('scheduler'); + var scheduler = btn.up('scheduler_Radiology'); scheduler.timeAxis.shift(7, Sch.util.Date.DAY); } }, @@ -55,7 +55,7 @@ Ext.define('App.view.Scheduler', { scope : this, menu : Ext.create('Ext.menu.DatePicker', { handler : function (dp, date) { - var scheduler = dp.up('scheduler'); + var scheduler = dp.up('scheduler_Radiology'); scheduler.setStart(Sch.util.Date.clearTime(date)); } }) @@ -66,7 +66,7 @@ Ext.define('App.view.Scheduler', { hidden: !LABKEY.user.canInsert, scope: this, handler: function (btn) { - var scheduler = btn.up('scheduler'); + var scheduler = btn.up('scheduler_Radiology'); Ext.create('Ext.window.Window', { title : 'Create New Event', diff --git a/extscheduler/resources/web/extscheduler/App/view/Viewport_Radiology.js b/extscheduler/resources/web/extscheduler/App/view/Viewport_Radiology.js new file mode 100644 index 000000000..2b48ce6f7 --- /dev/null +++ b/extscheduler/resources/web/extscheduler/App/view/Viewport_Radiology.js @@ -0,0 +1,29 @@ +//This viewport takes a role of container that contains a scheduler. +//If you need more than one scheduler on the page, you need to wrap viewport items in your own view. +Ext.define('App.view.Viewport_Radiology', { + extend : 'Ext.Viewport', + requires : [ + 'App.view.ViewportController' + ], + controller : 'viewport', + viewModel : {}, + layout : 'border', + items : [ + { + xtype : 'navigationbar', + region : 'north' + }, + { + xtype : 'appheader', + region : 'north' + }, + { + xtype : 'infopanel', + region : 'east' + }, + { + xtype : 'scheduler_Radiology', + region : 'center' + } + ] +}); \ No newline at end of file From b2dd1864100bbe9662d96f891651e36e3f2f2231 Mon Sep 17 00:00:00 2001 From: blasar Date: Wed, 22 Jul 2026 10:20:16 -0700 Subject: [PATCH 4/4] Modified Radiology scheduler program --- .../resources/views/weekly_Radiology.html | 4 ++-- ...eduler_Radiology.js => SchedulerRadiology.js} | 16 ++++++++-------- ...iewport_Radiology.js => ViewportRadiology.js} | 4 ++-- 3 files changed, 12 insertions(+), 12 deletions(-) rename extscheduler/resources/web/extscheduler/App/view/{Scheduler_Radiology.js => SchedulerRadiology.js} (87%) rename extscheduler/resources/web/extscheduler/App/view/{Viewport_Radiology.js => ViewportRadiology.js} (88%) diff --git a/extscheduler/resources/views/weekly_Radiology.html b/extscheduler/resources/views/weekly_Radiology.html index 2855e253d..bbbd41974 100644 --- a/extscheduler/resources/views/weekly_Radiology.html +++ b/extscheduler/resources/views/weekly_Radiology.html @@ -42,8 +42,8 @@ 'NavigationBar', 'ResourceCombo', 'Resources', - 'Scheduler_Radiology', - 'Viewport_Radiology' + 'SchedulerRadiology', + 'Viewport' ] }); }; diff --git a/extscheduler/resources/web/extscheduler/App/view/Scheduler_Radiology.js b/extscheduler/resources/web/extscheduler/App/view/SchedulerRadiology.js similarity index 87% rename from extscheduler/resources/web/extscheduler/App/view/Scheduler_Radiology.js rename to extscheduler/resources/web/extscheduler/App/view/SchedulerRadiology.js index 156ba1e19..946e2b6f5 100644 --- a/extscheduler/resources/web/extscheduler/App/view/Scheduler_Radiology.js +++ b/extscheduler/resources/web/extscheduler/App/view/SchedulerRadiology.js @@ -1,7 +1,7 @@ -Ext.define('App.view.Scheduler', { +Ext.define('App.view.SchedulerRadiology', { extend : 'Sch.panel.SchedulerGrid', - alias : 'widget.scheduler_Radiology', - reference : 'scheduler_Radiology', + alias : 'widget.schedulerRadiology', + reference : 'schedulerRadiology', startDate : new Date(), //endDate : new Date(), startTime : 6, @@ -28,14 +28,14 @@ Ext.define('App.view.Scheduler', { text : 'Previous', iconCls: 'x-fa fa-arrow-circle-left', handler: function (btn) { - var scheduler = btn.up('scheduler_Radiology'); + var scheduler = btn.up('schedulerRadiology'); scheduler.timeAxis.shift(-7, Sch.util.Date.DAY); } }, { text : 'Today', handler: function (btn) { - var scheduler = btn.up('scheduler_Radiology'); + var scheduler = btn.up('schedulerRadiology'); // Clear time here so date adjustment wouldn't result in 2 days span scheduler.setStart(Sch.util.Date.clearTime(new Date())); } @@ -45,7 +45,7 @@ Ext.define('App.view.Scheduler', { iconCls: 'x-fa fa-arrow-circle-right', iconAlign: 'right', handler: function (btn) { - var scheduler = btn.up('scheduler_Radiology'); + var scheduler = btn.up('schedulerRadiology'); scheduler.timeAxis.shift(7, Sch.util.Date.DAY); } }, @@ -55,7 +55,7 @@ Ext.define('App.view.Scheduler', { scope : this, menu : Ext.create('Ext.menu.DatePicker', { handler : function (dp, date) { - var scheduler = dp.up('scheduler_Radiology'); + var scheduler = dp.up('schedulerRadiology'); scheduler.setStart(Sch.util.Date.clearTime(date)); } }) @@ -66,7 +66,7 @@ Ext.define('App.view.Scheduler', { hidden: !LABKEY.user.canInsert, scope: this, handler: function (btn) { - var scheduler = btn.up('scheduler_Radiology'); + var scheduler = btn.up('schedulerRadiology'); Ext.create('Ext.window.Window', { title : 'Create New Event', diff --git a/extscheduler/resources/web/extscheduler/App/view/Viewport_Radiology.js b/extscheduler/resources/web/extscheduler/App/view/ViewportRadiology.js similarity index 88% rename from extscheduler/resources/web/extscheduler/App/view/Viewport_Radiology.js rename to extscheduler/resources/web/extscheduler/App/view/ViewportRadiology.js index 2b48ce6f7..775298fce 100644 --- a/extscheduler/resources/web/extscheduler/App/view/Viewport_Radiology.js +++ b/extscheduler/resources/web/extscheduler/App/view/ViewportRadiology.js @@ -1,6 +1,6 @@ //This viewport takes a role of container that contains a scheduler. //If you need more than one scheduler on the page, you need to wrap viewport items in your own view. -Ext.define('App.view.Viewport_Radiology', { +Ext.define('App.view.ViewportRadiology', { extend : 'Ext.Viewport', requires : [ 'App.view.ViewportController' @@ -22,7 +22,7 @@ Ext.define('App.view.Viewport_Radiology', { region : 'east' }, { - xtype : 'scheduler_Radiology', + xtype : 'schedulerRadiology', region : 'center' } ]