# Panel (calendar)

Calendar similar to inbox calendar view

# Description

Allow display multiple calendars (users, user groups, external) and many other options

# Config

calendar:

	config:

		# Required | Type: string | Default: null
		# Allow resolver to plan selected step within calendar
		planStep: "My Step"

		# Required | Type: string | Default: null
		# Allow resolver to rename calendar event of planned step
		planStepTitle: "My Title"

		# Optional | Type: bool | Default: false
		# Resolver can modify planned tasks from other processes
		#
		### Note
		### Option does not apply for ICal calendars from url
		edit: false

		# Optional | Type: bool | Default: true
		# Whether task expiration should be adapted when plan is changed
		modifyExpiration: true

		# Events
		events:

			# Optional | Type: array | Default: []
			# IDs of users whose calendars should be displayed
			users: [6, 36]

			# Optional | Type: array | Default: []
			# GIDs of groups whose user calendars should be displayed
			groups: [admins]

			# Import a remote calendar
			import:

				# Index (name1, name2, ...., nameN)
				# Remote calendars are cached for a brief time
				[name]:

					# Required | Type: string | Default: null
					# Calendar URL
					url: "https://www.example.com/calendar.ics"

					# Required | Type: string | Default: null
					# Calendar title
					title: "mycal"

					# Optional | Type: string | Default: null
					# Background color
					colorBackground: "#000"

					# Optional | Type: string | Default: null
					# Font color
					colorFont: "#fff"

		# Calendar
		calendar:

			# Optional | Type: string | Default: null
			# Calendar timezone. All available timezones: https://www.php.net/manual/en/timezones.php
			timezone: "Europe/Prague"

			# Optional | Type: string | Default: processAndId
			# Calendar layout
			#
			### Examples
			### - processAndId
			### - processAndStep
			### - detailOnly
			### - processAndData
			### - calendarMeta
			layout: "processAndId"

			# Optional | Type: bool | Default: false
			# Whether weekends should be shown
			weekends: false

			# Optional | Type: string | Default: 00:00
			# Determines the first time slot that will be displayed for each day
			#
			### Note
			### Format HH:MM
			startTime: "00:00"

			# Optional | Type: string | Default: 24:00
			# Determines the last time slot that will be displayed for each day
			#
			### Note
			### Format HH:MM
			endTime: "24:00"

			# Optional | Type: string | Default: 00:30
			# Event slot duration affects precision of drag and drop event editing
			#
			### Note
			### Format HH:MM
			slotDuration: "00:30"

			# Optional | Type: string | Default: 00:30
			# Frequency by which the time slots should be labelled with text
			#
			### Note
			### Format HH:MM
			slotLabelInterval: "00:30"

			# Optional | Type: string | Default: 06:00
			# Determines how far forward calendar is initially scrolled
			#
			### Note
			### Format HH:MM
			scrollTime: "06:00"

			# Optional | Type: int | Default: null
			# Height of calendar in pixels
			#
			### Note
			### Overflown time is scrollable By default is height unlimited (no scroll)
			height: false

			# Optional | Type: bool | Default: false
			# Whether week numbers should be shown
			weekNumbers: false

			# Optional | Type: string | Default: null
			# The initial date displayed when the calendar first loads
			#
			### Note
			### 2020-09-24 - exact date, 1603105270 - timestamp, null - leave blank or null for today
			focus: "1991-10-01"

			# Optional | Type: bool | Default: false
			# Whether completed steps should be included
			#
			### Note
			### False - show only active planned steps, True - show both active and complete planned steps
			history: false

			# Mobile
			mobile:

				# Optional | Type: string | Default: day
				# Default view on mobile
				#
				### Examples
				### - day: day view for mobile
				### - none: no special view for mobile
				view: "day"

		# Optional | Type: array | Default: []
		# Custom callbacks attached on event updated
		callbacks: []

		# Optional | Type: string | Default: null
		# Custom script attached on contract selected
		#
		### Note
		### This option is not lattenized
		script: "NULL"

		# UI
		ui:

			# Optional | Type: string | Default: null
			# Panel title
			title: "Panel title"

			# Optional | Type: string | Default: null
			# Panel description
			description: "Panel description"
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171