@ezuikit/player-theme 3.1.5-beta.4 → 3.1.6-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/constant.js +58 -56
- package/dist/index.cjs +124 -65
- package/dist/index.esm.js +124 -65
- package/dist/index.umd.js +127 -68
- package/dist/style.js +2 -2
- package/dist/types/index.d.ts +17 -4
- package/package.json +2 -2
package/dist/constant.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* @ezuikit/player-theme v3.1.
|
|
3
|
-
* Copyright (c) 2026-09-
|
|
2
|
+
* @ezuikit/player-theme v3.1.6-beta.1
|
|
3
|
+
* Copyright (c) 2026-09-16 19:24:27 Ezviz-OpenBiz
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
6
|
-
/**
|
|
7
|
-
* 播放器的类名前缀
|
|
6
|
+
/**
|
|
7
|
+
* 播放器的类名前缀
|
|
8
8
|
*/ var PREFIX_CLASS = 'ezplayer';
|
|
9
9
|
/** */ var DATE_PICKER_ICON_WIDTH = 36;
|
|
10
10
|
/** 填充模式 */ var THEME_SCALE_MODE_TYPE = {
|
|
@@ -37,26 +37,26 @@ var THEME_PROPS = [
|
|
|
37
37
|
// 播放区间(片段分享)。通过 props 下发而不是靠事件,避免主题异步渲染时错过初始化事件
|
|
38
38
|
'playbackRange'
|
|
39
39
|
];
|
|
40
|
-
/**
|
|
41
|
-
* 当移动端 picker 控件打开时需要关闭动画(定时器)
|
|
40
|
+
/**
|
|
41
|
+
* 当移动端 picker 控件打开时需要关闭动画(定时器)
|
|
42
42
|
*/ var CLEAR_TIMER_HEADER_FOOTER_ANIMATION = 'CLEAR_TIMER_HEADER_FOOTER_ANIMATION';
|
|
43
|
-
/**
|
|
44
|
-
* 'rec', 'cloudRec', 'cloudRecord' 是一个组,并且要在头部(移动端特殊处理)
|
|
45
|
-
*
|
|
46
|
-
* | rec | cloudRec | cloudRecord |
|
|
47
|
-
* |:---------------------:|:------------:|:---------------:|
|
|
48
|
-
* | 本地回放(SDK存储回放) | 云存储回放 | 云录制回放 |
|
|
43
|
+
/**
|
|
44
|
+
* 'rec', 'cloudRec', 'cloudRecord' 是一个组,并且要在头部(移动端特殊处理)
|
|
45
|
+
*
|
|
46
|
+
* | rec | cloudRec | cloudRecord |
|
|
47
|
+
* |:---------------------:|:------------:|:---------------:|
|
|
48
|
+
* | 本地回放(SDK存储回放) | 云存储回放 | 云录制回放 |
|
|
49
49
|
*/ var REC_GROUP = [
|
|
50
50
|
'rec',
|
|
51
51
|
'cloudRec',
|
|
52
52
|
'cloudRecord'
|
|
53
53
|
];
|
|
54
|
-
/**
|
|
55
|
-
* 设备信息
|
|
56
|
-
*
|
|
57
|
-
* | deviceID | deviceName |
|
|
58
|
-
* |:-------------------:|:-------------:|
|
|
59
|
-
* | 设备ID(唯一标识) | 设备名称 |
|
|
54
|
+
/**
|
|
55
|
+
* 设备信息
|
|
56
|
+
*
|
|
57
|
+
* | deviceID | deviceName |
|
|
58
|
+
* |:-------------------:|:-------------:|
|
|
59
|
+
* | 设备ID(唯一标识) | 设备名称 |
|
|
60
60
|
*/ var DEVICE_INFO_GROUP = [
|
|
61
61
|
'deviceID',
|
|
62
62
|
'deviceName'
|
|
@@ -69,8 +69,8 @@ var THEME_PROPS = [
|
|
|
69
69
|
// * 录像(录像)支持的控件
|
|
70
70
|
// */
|
|
71
71
|
// export const REC_CONTROL_GROUP_BOTTOM: string[] = [...REC_GROUP, 'play', 'capturePicture', 'volume', 'record', 'zoom', 'speed', 'fullscreen', 'globalFullscreen', 'date', 'timeLine'] as const;
|
|
72
|
-
/**
|
|
73
|
-
* 能在底部并放置到 More 中的控件
|
|
72
|
+
/**
|
|
73
|
+
* 能在底部并放置到 More 中的控件
|
|
74
74
|
*/ var FOOTER_MORE_GROUP = [
|
|
75
75
|
'play',
|
|
76
76
|
'capturePicture',
|
|
@@ -84,8 +84,8 @@ var THEME_PROPS = [
|
|
|
84
84
|
'fullscreen',
|
|
85
85
|
'globalFullscreen'
|
|
86
86
|
];
|
|
87
|
-
/**
|
|
88
|
-
* 暂停时能禁用的控件按钮
|
|
87
|
+
/**
|
|
88
|
+
* 暂停时能禁用的控件按钮
|
|
89
89
|
*/ var PAUSE_DISABLED_BTN = [
|
|
90
90
|
'capturePicture',
|
|
91
91
|
'volume',
|
|
@@ -96,9 +96,9 @@ var THEME_PROPS = [
|
|
|
96
96
|
'speed',
|
|
97
97
|
'globalFullscreen'
|
|
98
98
|
];
|
|
99
|
-
/**
|
|
100
|
-
* 移动端可以扩展的控件
|
|
101
|
-
* ['ptz', 'talk', 'record', 'capturePicture', 'timeLine', 'rec', 'date'];
|
|
99
|
+
/**
|
|
100
|
+
* 移动端可以扩展的控件
|
|
101
|
+
* ['ptz', 'talk', 'record', 'capturePicture', 'timeLine', 'rec', 'date'];
|
|
102
102
|
*/ var MOBILE_EXTENDS = [
|
|
103
103
|
'ptz',
|
|
104
104
|
'timeLine',
|
|
@@ -106,32 +106,32 @@ var THEME_PROPS = [
|
|
|
106
106
|
'date',
|
|
107
107
|
'segmentProgress'
|
|
108
108
|
];
|
|
109
|
-
/**
|
|
110
|
-
* 回放时间轴和日历
|
|
111
|
-
* 放置在最顶部
|
|
109
|
+
/**
|
|
110
|
+
* 回放时间轴和日历
|
|
111
|
+
* 放置在最顶部
|
|
112
112
|
*/ var REC_BOTTOM_GROUP = [
|
|
113
113
|
'timeLine',
|
|
114
114
|
'date'
|
|
115
115
|
];
|
|
116
|
-
/**
|
|
117
|
-
*
|
|
118
|
-
* 事件名
|
|
119
|
-
*
|
|
120
|
-
* --------------- ------------------
|
|
121
|
-
* - - theme.emit(EVENTS.xxxxx) - -
|
|
122
|
-
* - - -------------------------------------> - -
|
|
123
|
-
* - - - -
|
|
124
|
-
* - Theme - - Controls -
|
|
125
|
-
* - - control.emit(EVENTS.control.xxx) - -
|
|
126
|
-
* - - <-------------------------------------- - -
|
|
127
|
-
* --------------- ------------------
|
|
128
|
-
*
|
|
129
|
-
* @example
|
|
130
|
-
* ```ts
|
|
131
|
-
* theme.on(EVENTS.loading)
|
|
132
|
-
* theme.on(EVENTS.loading)
|
|
133
|
-
* ```
|
|
134
|
-
*
|
|
116
|
+
/**
|
|
117
|
+
*
|
|
118
|
+
* 事件名
|
|
119
|
+
*
|
|
120
|
+
* --------------- ------------------
|
|
121
|
+
* - - theme.emit(EVENTS.xxxxx) - -
|
|
122
|
+
* - - -------------------------------------> - -
|
|
123
|
+
* - - - -
|
|
124
|
+
* - Theme - - Controls -
|
|
125
|
+
* - - control.emit(EVENTS.control.xxx) - -
|
|
126
|
+
* - - <-------------------------------------- - -
|
|
127
|
+
* --------------- ------------------
|
|
128
|
+
*
|
|
129
|
+
* @example
|
|
130
|
+
* ```ts
|
|
131
|
+
* theme.on(EVENTS.loading)
|
|
132
|
+
* theme.on(EVENTS.loading)
|
|
133
|
+
* ```
|
|
134
|
+
*
|
|
135
135
|
*/ // 事件命名不要超过两层
|
|
136
136
|
var EVENTS = {
|
|
137
137
|
loading: 'loading',
|
|
@@ -146,11 +146,11 @@ var EVENTS = {
|
|
|
146
146
|
/** 首帧 */ firstFrameDisplay: 'firstFrameDisplay',
|
|
147
147
|
/** 全屏 */ fullscreen: 'fullscreen',
|
|
148
148
|
/** 退出全屏 */ exitFullscreen: 'exitFullscreen',
|
|
149
|
-
/**
|
|
150
|
-
* 全屏变化(移动端也支持触发, 不过移动端是模拟的web全屏 即旋转 180度)
|
|
151
|
-
* 当 isCurrentFullscreen 为 true 时,表示当前容器全局全屏状态
|
|
152
|
-
*
|
|
153
|
-
* 注意:同一个页面中只要有全屏的操作或取消全屏的操作,都会触发该事件 (移动端除外)
|
|
149
|
+
/**
|
|
150
|
+
* 全屏变化(移动端也支持触发, 不过移动端是模拟的web全屏 即旋转 180度)
|
|
151
|
+
* 当 isCurrentFullscreen 为 true 时,表示当前容器全局全屏状态
|
|
152
|
+
*
|
|
153
|
+
* 注意:同一个页面中只要有全屏的操作或取消全屏的操作,都会触发该事件 (移动端除外)
|
|
154
154
|
*/ fullscreenChange: 'fullscreenChange',
|
|
155
155
|
/** 重置容器尺寸 */ resize: 'resize',
|
|
156
156
|
/** 屏幕旋转方向变化 */ orientationChange: 'orientationChange',
|
|
@@ -177,8 +177,8 @@ var EVENTS = {
|
|
|
177
177
|
setAllDayRecTimes: 'setAllDayRecTimes',
|
|
178
178
|
getOSDTime: 'getOSDTime',
|
|
179
179
|
/** 播放区间播放结束(SDK 层 playbackRange 特性) */ playbackEnd: 'playbackEnd',
|
|
180
|
-
/**
|
|
181
|
-
* 控件相关
|
|
180
|
+
/**
|
|
181
|
+
* 控件相关
|
|
182
182
|
*/ control: {
|
|
183
183
|
/** 点击播放播放/暂停按钮 */ play: 'Control.play',
|
|
184
184
|
/** 播放控件销毁 */ playDestroy: 'Control.playDestroy',
|
|
@@ -233,6 +233,8 @@ var EVENTS = {
|
|
|
233
233
|
/** 日期面板展示隐藏变换 */ datePanelOpenChange: 'Control.datePanelOpenChange',
|
|
234
234
|
/** 日期改变 */ dateChange: 'Control.dateChange',
|
|
235
235
|
/** 日期改变 */ dateMonthChange: 'Control.dateMonthChange',
|
|
236
|
+
/** 日期面板展示的月份变化 */ datePanelMonthChange: 'Control.datePanelMonthChange',
|
|
237
|
+
/** 日期面板展示的年份变化 */ datePanelYearChange: 'Control.datePanelYearChange',
|
|
236
238
|
/** 日期销毁 */ dateDestroy: 'Control.datePanelDestroy',
|
|
237
239
|
/** 时间面板展示隐藏变换 */ timePanelOpenChange: 'Control.timePanelOpenChange',
|
|
238
240
|
/** 时间改变 */ timeChange: 'Control.timeChange',
|
|
@@ -249,8 +251,8 @@ var EVENTS = {
|
|
|
249
251
|
/** 播放器内容区域销毁 */ contentDestroy: 'Control.contentDestroy',
|
|
250
252
|
/** 播放器内容区域重新渲染 */ contentRerender: 'Control.contentRerender'
|
|
251
253
|
},
|
|
252
|
-
/**
|
|
253
|
-
* 主题控件相关
|
|
254
|
+
/**
|
|
255
|
+
* 主题控件相关
|
|
254
256
|
*/ theme: {
|
|
255
257
|
/** 销毁前 */ beforeDestroy: 'Theme.beforeDestroy',
|
|
256
258
|
/** 销毁后 */ destroyed: 'Theme.destroyed',
|
package/dist/index.cjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/*
|
|
2
|
-
* @ezuikit/player-theme v3.1.
|
|
3
|
-
* Copyright (c) 2026-09-
|
|
2
|
+
* @ezuikit/player-theme v3.1.6-beta.1
|
|
3
|
+
* Copyright (c) 2026-09-16 19:24:27 Ezviz-OpenBiz
|
|
4
4
|
* Released under the MIT License.
|
|
5
5
|
*/
|
|
6
6
|
'use strict';
|
|
@@ -20,8 +20,8 @@ var controlDatePicker = require('@ezuikit/control-date-picker');
|
|
|
20
20
|
var controlTimeLine = require('@ezuikit/control-time-line');
|
|
21
21
|
var SegmentProgress = require('@ezuikit/control-segment-progress');
|
|
22
22
|
|
|
23
|
-
/**
|
|
24
|
-
* 播放器的类名前缀
|
|
23
|
+
/**
|
|
24
|
+
* 播放器的类名前缀
|
|
25
25
|
*/ var PREFIX_CLASS = 'ezplayer';
|
|
26
26
|
/** 填充模式 */ var THEME_SCALE_MODE_TYPE = {
|
|
27
27
|
/** 画面完全填充canvas区域,画面会被拉伸 */ full: 0,
|
|
@@ -53,32 +53,32 @@ var THEME_PROPS = [
|
|
|
53
53
|
// 播放区间(片段分享)。通过 props 下发而不是靠事件,避免主题异步渲染时错过初始化事件
|
|
54
54
|
'playbackRange'
|
|
55
55
|
];
|
|
56
|
-
/**
|
|
57
|
-
* 当移动端 picker 控件打开时需要关闭动画(定时器)
|
|
56
|
+
/**
|
|
57
|
+
* 当移动端 picker 控件打开时需要关闭动画(定时器)
|
|
58
58
|
*/ var CLEAR_TIMER_HEADER_FOOTER_ANIMATION = 'CLEAR_TIMER_HEADER_FOOTER_ANIMATION';
|
|
59
|
-
/**
|
|
60
|
-
* 'rec', 'cloudRec', 'cloudRecord' 是一个组,并且要在头部(移动端特殊处理)
|
|
61
|
-
*
|
|
62
|
-
* | rec | cloudRec | cloudRecord |
|
|
63
|
-
* |:---------------------:|:------------:|:---------------:|
|
|
64
|
-
* | 本地回放(SDK存储回放) | 云存储回放 | 云录制回放 |
|
|
59
|
+
/**
|
|
60
|
+
* 'rec', 'cloudRec', 'cloudRecord' 是一个组,并且要在头部(移动端特殊处理)
|
|
61
|
+
*
|
|
62
|
+
* | rec | cloudRec | cloudRecord |
|
|
63
|
+
* |:---------------------:|:------------:|:---------------:|
|
|
64
|
+
* | 本地回放(SDK存储回放) | 云存储回放 | 云录制回放 |
|
|
65
65
|
*/ var REC_GROUP = [
|
|
66
66
|
'rec',
|
|
67
67
|
'cloudRec',
|
|
68
68
|
'cloudRecord'
|
|
69
69
|
];
|
|
70
|
-
/**
|
|
71
|
-
* 设备信息
|
|
72
|
-
*
|
|
73
|
-
* | deviceID | deviceName |
|
|
74
|
-
* |:-------------------:|:-------------:|
|
|
75
|
-
* | 设备ID(唯一标识) | 设备名称 |
|
|
70
|
+
/**
|
|
71
|
+
* 设备信息
|
|
72
|
+
*
|
|
73
|
+
* | deviceID | deviceName |
|
|
74
|
+
* |:-------------------:|:-------------:|
|
|
75
|
+
* | 设备ID(唯一标识) | 设备名称 |
|
|
76
76
|
*/ var DEVICE_INFO_GROUP = [
|
|
77
77
|
'deviceID',
|
|
78
78
|
'deviceName'
|
|
79
79
|
];
|
|
80
|
-
/**
|
|
81
|
-
* 暂停时能禁用的控件按钮
|
|
80
|
+
/**
|
|
81
|
+
* 暂停时能禁用的控件按钮
|
|
82
82
|
*/ var PAUSE_DISABLED_BTN = [
|
|
83
83
|
'capturePicture',
|
|
84
84
|
'volume',
|
|
@@ -89,9 +89,9 @@ var THEME_PROPS = [
|
|
|
89
89
|
'speed',
|
|
90
90
|
'globalFullscreen'
|
|
91
91
|
];
|
|
92
|
-
/**
|
|
93
|
-
* 移动端可以扩展的控件
|
|
94
|
-
* ['ptz', 'talk', 'record', 'capturePicture', 'timeLine', 'rec', 'date'];
|
|
92
|
+
/**
|
|
93
|
+
* 移动端可以扩展的控件
|
|
94
|
+
* ['ptz', 'talk', 'record', 'capturePicture', 'timeLine', 'rec', 'date'];
|
|
95
95
|
*/ var MOBILE_EXTENDS = [
|
|
96
96
|
'ptz',
|
|
97
97
|
'timeLine',
|
|
@@ -99,25 +99,25 @@ var THEME_PROPS = [
|
|
|
99
99
|
'date',
|
|
100
100
|
'segmentProgress'
|
|
101
101
|
];
|
|
102
|
-
/**
|
|
103
|
-
*
|
|
104
|
-
* 事件名
|
|
105
|
-
*
|
|
106
|
-
* --------------- ------------------
|
|
107
|
-
* - - theme.emit(EVENTS.xxxxx) - -
|
|
108
|
-
* - - -------------------------------------> - -
|
|
109
|
-
* - - - -
|
|
110
|
-
* - Theme - - Controls -
|
|
111
|
-
* - - control.emit(EVENTS.control.xxx) - -
|
|
112
|
-
* - - <-------------------------------------- - -
|
|
113
|
-
* --------------- ------------------
|
|
114
|
-
*
|
|
115
|
-
* @example
|
|
116
|
-
* ```ts
|
|
117
|
-
* theme.on(EVENTS.loading)
|
|
118
|
-
* theme.on(EVENTS.loading)
|
|
119
|
-
* ```
|
|
120
|
-
*
|
|
102
|
+
/**
|
|
103
|
+
*
|
|
104
|
+
* 事件名
|
|
105
|
+
*
|
|
106
|
+
* --------------- ------------------
|
|
107
|
+
* - - theme.emit(EVENTS.xxxxx) - -
|
|
108
|
+
* - - -------------------------------------> - -
|
|
109
|
+
* - - - -
|
|
110
|
+
* - Theme - - Controls -
|
|
111
|
+
* - - control.emit(EVENTS.control.xxx) - -
|
|
112
|
+
* - - <-------------------------------------- - -
|
|
113
|
+
* --------------- ------------------
|
|
114
|
+
*
|
|
115
|
+
* @example
|
|
116
|
+
* ```ts
|
|
117
|
+
* theme.on(EVENTS.loading)
|
|
118
|
+
* theme.on(EVENTS.loading)
|
|
119
|
+
* ```
|
|
120
|
+
*
|
|
121
121
|
*/ // 事件命名不要超过两层
|
|
122
122
|
var EVENTS = {
|
|
123
123
|
loading: 'loading',
|
|
@@ -132,11 +132,11 @@ var EVENTS = {
|
|
|
132
132
|
/** 首帧 */ firstFrameDisplay: 'firstFrameDisplay',
|
|
133
133
|
/** 全屏 */ fullscreen: 'fullscreen',
|
|
134
134
|
/** 退出全屏 */ exitFullscreen: 'exitFullscreen',
|
|
135
|
-
/**
|
|
136
|
-
* 全屏变化(移动端也支持触发, 不过移动端是模拟的web全屏 即旋转 180度)
|
|
137
|
-
* 当 isCurrentFullscreen 为 true 时,表示当前容器全局全屏状态
|
|
138
|
-
*
|
|
139
|
-
* 注意:同一个页面中只要有全屏的操作或取消全屏的操作,都会触发该事件 (移动端除外)
|
|
135
|
+
/**
|
|
136
|
+
* 全屏变化(移动端也支持触发, 不过移动端是模拟的web全屏 即旋转 180度)
|
|
137
|
+
* 当 isCurrentFullscreen 为 true 时,表示当前容器全局全屏状态
|
|
138
|
+
*
|
|
139
|
+
* 注意:同一个页面中只要有全屏的操作或取消全屏的操作,都会触发该事件 (移动端除外)
|
|
140
140
|
*/ fullscreenChange: 'fullscreenChange',
|
|
141
141
|
/** 重置容器尺寸 */ resize: 'resize',
|
|
142
142
|
/** 屏幕旋转方向变化 */ orientationChange: 'orientationChange',
|
|
@@ -163,8 +163,8 @@ var EVENTS = {
|
|
|
163
163
|
setAllDayRecTimes: 'setAllDayRecTimes',
|
|
164
164
|
getOSDTime: 'getOSDTime',
|
|
165
165
|
/** 播放区间播放结束(SDK 层 playbackRange 特性) */ playbackEnd: 'playbackEnd',
|
|
166
|
-
/**
|
|
167
|
-
* 控件相关
|
|
166
|
+
/**
|
|
167
|
+
* 控件相关
|
|
168
168
|
*/ control: {
|
|
169
169
|
/** 点击播放播放/暂停按钮 */ play: 'Control.play',
|
|
170
170
|
/** 播放控件销毁 */ playDestroy: 'Control.playDestroy',
|
|
@@ -219,6 +219,8 @@ var EVENTS = {
|
|
|
219
219
|
/** 日期面板展示隐藏变换 */ datePanelOpenChange: 'Control.datePanelOpenChange',
|
|
220
220
|
/** 日期改变 */ dateChange: 'Control.dateChange',
|
|
221
221
|
/** 日期改变 */ dateMonthChange: 'Control.dateMonthChange',
|
|
222
|
+
/** 日期面板展示的月份变化 */ datePanelMonthChange: 'Control.datePanelMonthChange',
|
|
223
|
+
/** 日期面板展示的年份变化 */ datePanelYearChange: 'Control.datePanelYearChange',
|
|
222
224
|
/** 日期销毁 */ dateDestroy: 'Control.datePanelDestroy',
|
|
223
225
|
/** 时间面板展示隐藏变换 */ timePanelOpenChange: 'Control.timePanelOpenChange',
|
|
224
226
|
/** 时间改变 */ timeChange: 'Control.timeChange',
|
|
@@ -235,8 +237,8 @@ var EVENTS = {
|
|
|
235
237
|
/** 播放器内容区域销毁 */ contentDestroy: 'Control.contentDestroy',
|
|
236
238
|
/** 播放器内容区域重新渲染 */ contentRerender: 'Control.contentRerender'
|
|
237
239
|
},
|
|
238
|
-
/**
|
|
239
|
-
* 主题控件相关
|
|
240
|
+
/**
|
|
241
|
+
* 主题控件相关
|
|
240
242
|
*/ theme: {
|
|
241
243
|
/** 销毁前 */ beforeDestroy: 'Theme.beforeDestroy',
|
|
242
244
|
/** 销毁后 */ destroyed: 'Theme.destroyed',
|
|
@@ -4848,6 +4850,12 @@ function debounce(func, wait) {
|
|
|
4848
4850
|
theme.controls.dateControl.on(EVENTS.control.dateChange, function(date) {
|
|
4849
4851
|
theme.emit(EVENTS.control.dateChange, date);
|
|
4850
4852
|
});
|
|
4853
|
+
theme.controls.dateControl.on(EVENTS.control.datePanelMonthChange, function(date, month) {
|
|
4854
|
+
theme.emit(EVENTS.control.datePanelMonthChange, date, month);
|
|
4855
|
+
});
|
|
4856
|
+
theme.controls.dateControl.on(EVENTS.control.datePanelYearChange, function(date, year) {
|
|
4857
|
+
theme.emit(EVENTS.control.datePanelYearChange, date, year);
|
|
4858
|
+
});
|
|
4851
4859
|
theme.controls.dateControl.on(EVENTS.control.dateDestroy, function() {
|
|
4852
4860
|
theme.emit(EVENTS.control.dateDestroy);
|
|
4853
4861
|
});
|
|
@@ -8390,9 +8398,9 @@ function _set_prototype_of$8(o, p) {
|
|
|
8390
8398
|
};
|
|
8391
8399
|
return _set_prototype_of$8(o, p);
|
|
8392
8400
|
}
|
|
8393
|
-
/**
|
|
8394
|
-
* 日历选择器控件
|
|
8395
|
-
* @category Control
|
|
8401
|
+
/**
|
|
8402
|
+
* 日历选择器控件
|
|
8403
|
+
* @category Control
|
|
8396
8404
|
*/ var DatePickerControl = /*#__PURE__*/ function(Control) {
|
|
8397
8405
|
_inherits$8(DatePickerControl, Control);
|
|
8398
8406
|
function DatePickerControl(options) {
|
|
@@ -8407,6 +8415,8 @@ function _set_prototype_of$8(o, p) {
|
|
|
8407
8415
|
})) || this;
|
|
8408
8416
|
_this.options = options;
|
|
8409
8417
|
_this._value = utilsTools.DateTime.format(((_this_options_props = _this.options.props) == null ? void 0 : (_this_options_props_urlInfo = _this_options_props.urlInfo) == null ? void 0 : (_this_options_props_urlInfo_searchParams = _this_options_props_urlInfo.searchParams) == null ? void 0 : _this_options_props_urlInfo_searchParams.begin) || new Date(), 'YYYY-MM-DD');
|
|
8418
|
+
// 面板首次展示的就是选中日期所在月份,初始化后不应触发年 / 月变化
|
|
8419
|
+
_this._renderMonth = _this._value.slice(0, 7);
|
|
8410
8420
|
_this._render();
|
|
8411
8421
|
// 日期上的点
|
|
8412
8422
|
_this.on(EVENTS.control.dateMonthChange, function(dates) {
|
|
@@ -8467,20 +8477,39 @@ function _set_prototype_of$8(o, p) {
|
|
|
8467
8477
|
_this.emit(EVENTS.control.dateChange, date);
|
|
8468
8478
|
}
|
|
8469
8479
|
},
|
|
8480
|
+
// 日历面板「上一月 / 上一年」,底层两种翻页都回调 onPrevMonth
|
|
8481
|
+
onPrevMonth: function onPrevMonth(current, prev) {
|
|
8482
|
+
_this.options.onPrevMonth == null ? void 0 : _this.options.onPrevMonth.call(_this.options, current, prev);
|
|
8483
|
+
_this._onPanelDateChange(prev);
|
|
8484
|
+
},
|
|
8485
|
+
// 日历面板「下一月 / 下一年」,底层两种翻页都回调 onNextMonth
|
|
8486
|
+
onNextMonth: function onNextMonth(current, next) {
|
|
8487
|
+
_this.options.onNextMonth == null ? void 0 : _this.options.onNextMonth.call(_this.options, current, next);
|
|
8488
|
+
_this._onPanelDateChange(next);
|
|
8489
|
+
},
|
|
8490
|
+
// 月 / 年面板中点选单元格同样会改变日历展示的年月,但底层不回调翻页钩子
|
|
8491
|
+
onCell: function onCell(date, mode) {
|
|
8492
|
+
_this.options.onCell == null ? void 0 : _this.options.onCell.call(_this.options, date, mode);
|
|
8493
|
+
if (mode !== 'date' && !_this._isPanelCellDisabled(date, mode)) _this._onPanelDateChange(date);
|
|
8494
|
+
},
|
|
8470
8495
|
onOpenChange: function onOpenChange(open) {
|
|
8471
8496
|
_this.options.onPanelChange == null ? void 0 : _this.options.onPanelChange.call(_this.options, open, _this.datePicker.current);
|
|
8472
8497
|
_this.emit(EVENTS.control.datePanelOpenChange, open, _this.datePicker.current);
|
|
8498
|
+
// 面板重新打开会跳回选中日期所在月份,且底层不会回调翻页钩子,这里补齐
|
|
8499
|
+
if (open) _this._onPanelDateChange(_this.datePicker.current);
|
|
8473
8500
|
}
|
|
8474
8501
|
}));
|
|
8475
8502
|
};
|
|
8476
|
-
/**
|
|
8477
|
-
* 设置日期, change = true 时触发 onChange 事件
|
|
8478
|
-
* @param date 设置的日期
|
|
8479
|
-
* @param change 是否触发 onChange 事件
|
|
8503
|
+
/**
|
|
8504
|
+
* 设置日期, change = true 时触发 onChange 事件
|
|
8505
|
+
* @param date 设置的日期
|
|
8506
|
+
* @param change 是否触发 onChange 事件
|
|
8480
8507
|
*/ _proto.setDate = function setDate(date, change) {
|
|
8481
8508
|
if (change === void 0) change = true;
|
|
8482
8509
|
var _this_datePicker;
|
|
8483
8510
|
(_this_datePicker = this.datePicker) == null ? void 0 : _this_datePicker.setCurrent(date, change);
|
|
8511
|
+
// 主动设值由调用方发起,同步展示月份但不触发年 / 月变化回调
|
|
8512
|
+
if (date) this._renderMonth = utilsTools.DateTime.format(date, 'YYYY-MM');
|
|
8484
8513
|
if (date && !change && this._value !== utilsTools.DateTime.format(date, 'YYYY-MM-DD')) {
|
|
8485
8514
|
this._value = utilsTools.DateTime.format(date, 'YYYY-MM-DD');
|
|
8486
8515
|
if (date && this.$container.querySelector("." + PREFIX_CLASS + "-mobile-date-filter-value")) {
|
|
@@ -8492,9 +8521,9 @@ function _set_prototype_of$8(o, p) {
|
|
|
8492
8521
|
if (this.datePicker) this.datePicker.open = false;
|
|
8493
8522
|
Control.prototype.reset.call(this);
|
|
8494
8523
|
};
|
|
8495
|
-
/**
|
|
8496
|
-
* 销毁控件
|
|
8497
|
-
* @override
|
|
8524
|
+
/**
|
|
8525
|
+
* 销毁控件
|
|
8526
|
+
* @override
|
|
8498
8527
|
*/ _proto.destroy = function destroy() {
|
|
8499
8528
|
if (this.datePicker) {
|
|
8500
8529
|
this.datePicker.destroy();
|
|
@@ -8507,9 +8536,39 @@ function _set_prototype_of$8(o, p) {
|
|
|
8507
8536
|
var arr = this._value.split('-');
|
|
8508
8537
|
return arr[1] + "." + arr[2];
|
|
8509
8538
|
};
|
|
8510
|
-
/**
|
|
8511
|
-
*
|
|
8512
|
-
*
|
|
8539
|
+
/**
|
|
8540
|
+
* 月 / 年面板中被点选的单元格是否已被调用方禁用
|
|
8541
|
+
*
|
|
8542
|
+
* 禁用的单元格底层不会切换展示的年月,因此不应派发变化
|
|
8543
|
+
* @param date 单元格日期
|
|
8544
|
+
* @param mode 当前面板模式
|
|
8545
|
+
*/ _proto._isPanelCellDisabled = function _isPanelCellDisabled(date, mode) {
|
|
8546
|
+
if (mode === 'month') return !!(this.options.disabledMonth == null ? void 0 : this.options.disabledMonth.call(this.options, date, utilsTools.DateTime.format(date, 'YYYY-MM')));
|
|
8547
|
+
if (mode === 'year') return !!(this.options.disabledYear == null ? void 0 : this.options.disabledYear.call(this.options, date, date.getFullYear()));
|
|
8548
|
+
return false;
|
|
8549
|
+
};
|
|
8550
|
+
/**
|
|
8551
|
+
* 日历面板展示的年月发生变化时,派发年份 / 月份变化
|
|
8552
|
+
*
|
|
8553
|
+
* 年份变化会先于月份变化派发;跨年翻页(如 2026-01 -> 2025-12)两者都会触发
|
|
8554
|
+
* @param renderDate 面板当前展示的日期
|
|
8555
|
+
*/ _proto._onPanelDateChange = function _onPanelDateChange(renderDate) {
|
|
8556
|
+
if (!renderDate) return;
|
|
8557
|
+
var month = utilsTools.DateTime.format(renderDate, 'YYYY-MM');
|
|
8558
|
+
if (!month || month === this._renderMonth) return;
|
|
8559
|
+
var prevYear = this._renderMonth.slice(0, 4);
|
|
8560
|
+
var year = month.slice(0, 4);
|
|
8561
|
+
this._renderMonth = month;
|
|
8562
|
+
if (year !== prevYear) {
|
|
8563
|
+
this.options.onYearChange == null ? void 0 : this.options.onYearChange.call(this.options, renderDate, year);
|
|
8564
|
+
this.emit(EVENTS.control.datePanelYearChange, renderDate, year);
|
|
8565
|
+
}
|
|
8566
|
+
this.options.onMonthChange == null ? void 0 : this.options.onMonthChange.call(this.options, renderDate, month);
|
|
8567
|
+
this.emit(EVENTS.control.datePanelMonthChange, renderDate, month);
|
|
8568
|
+
};
|
|
8569
|
+
/**
|
|
8570
|
+
* 点击 Control 会触发
|
|
8571
|
+
* @overload super._onControlClick(e: Event)
|
|
8513
8572
|
*/ _proto._onControlClick = function _onControlClick(e) {
|
|
8514
8573
|
Control.prototype._onControlClick.call(this, e);
|
|
8515
8574
|
};
|
|
@@ -11870,7 +11929,7 @@ var THEME_DEFAULT_OPTIONS = {
|
|
|
11870
11929
|
zh: zh,
|
|
11871
11930
|
en: en
|
|
11872
11931
|
};
|
|
11873
|
-
/** 版本号 @since 0.0.1 */ Theme.THEME_VERSION = '3.1.
|
|
11932
|
+
/** 版本号 @since 0.0.1 */ Theme.THEME_VERSION = '3.1.6-beta.1';
|
|
11874
11933
|
|
|
11875
11934
|
exports.Control = Control;
|
|
11876
11935
|
exports.EVENTS = EVENTS;
|