@netless/telebox-insider 0.3.0-beta.2 → 0.3.0-beta.4
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/index.d.ts +11 -5
- package/dist/telebox-insider.cjs.js +67 -30
- package/dist/telebox-insider.cjs.js.map +1 -1
- package/dist/telebox-insider.es.js +67 -30
- package/dist/telebox-insider.es.js.map +1 -1
- package/package.json +1 -1
- package/src/TeleBoxManager/MaxTitleBar/index.ts +18 -13
- package/src/TeleBoxManager/index.ts +61 -23
package/dist/index.d.ts
CHANGED
|
@@ -801,10 +801,10 @@ interface MaxTitleBarConfig extends DefaultTitleBarConfig {
|
|
|
801
801
|
boxes: MaxTitleBarTeleBox[];
|
|
802
802
|
containerRect: TeleBoxRect;
|
|
803
803
|
focusedBox?: MaxTitleBarTeleBox;
|
|
804
|
-
|
|
804
|
+
getBoxesStatus?: () => Map<string, TeleBoxState>;
|
|
805
805
|
}
|
|
806
806
|
declare class MaxTitleBar extends DefaultTitleBar {
|
|
807
|
-
|
|
807
|
+
getBoxesStatus?: MaxTitleBarConfig["getBoxesStatus"];
|
|
808
808
|
constructor(config: MaxTitleBarConfig);
|
|
809
809
|
hasMaximizedBoxInStatus(): boolean;
|
|
810
810
|
get MaximizedBoxes(): MaxTitleBarTeleBox[];
|
|
@@ -815,7 +815,7 @@ declare class MaxTitleBar extends DefaultTitleBar {
|
|
|
815
815
|
*/
|
|
816
816
|
focusBox(box?: MaxTitleBarTeleBox): void;
|
|
817
817
|
setContainerRect(rect: TeleBoxRect): void;
|
|
818
|
-
|
|
818
|
+
updateBoxesStatus(): void;
|
|
819
819
|
setBoxes(boxes: MaxTitleBarTeleBox[]): void;
|
|
820
820
|
setState(state: TeleBoxState): void;
|
|
821
821
|
setReadonly(readonly: boolean): void;
|
|
@@ -861,11 +861,17 @@ declare class TeleBoxManager {
|
|
|
861
861
|
/** @deprecated use setMaximized and setMinimized instead */
|
|
862
862
|
setState(state: TeleBoxState, skipUpdate?: boolean): this;
|
|
863
863
|
setBoxStatus(boxId: string, boxStatus?: TeleBoxState, skipUpdate?: boolean): void;
|
|
864
|
-
|
|
864
|
+
getBoxStatus(boxId: string): TeleBoxState | undefined;
|
|
865
|
+
getLastNotMinimizedBoxStatus(boxId: string): NotMinimizedBoxState | undefined;
|
|
866
|
+
get boxesStatus(): ReadonlyMap<string, TeleBoxState>;
|
|
867
|
+
get lastNotMinimizedBoxesStatus(): ReadonlyMap<string, NotMinimizedBoxState>;
|
|
868
|
+
setBoxesStatus(boxesStatus: Map<string, TeleBoxState>, skipUpdate?: boolean): void;
|
|
869
|
+
private effectBoxStatusChange;
|
|
865
870
|
hasBoxesStatus(): boolean;
|
|
866
871
|
hasMinimizedBox(): boolean;
|
|
867
872
|
setLastNotMinimizedBoxStatus(boxId: string, lastNotMinimizedBoxStatus?: NotMinimizedBoxState, skipUpdate?: boolean): void;
|
|
868
|
-
|
|
873
|
+
setLastNotMinimizedBoxesStatus(lastNotMinimizedBoxesStatus: Map<string, NotMinimizedBoxState>, skipUpdate?: boolean): void;
|
|
874
|
+
private effectLastNotMinimizedBoxStatusChange;
|
|
869
875
|
private getAllMinimizedBoxes;
|
|
870
876
|
create(config?: TeleBoxManagerCreateConfig, smartPosition?: boolean): ReadonlyTeleBox;
|
|
871
877
|
query(config?: TeleBoxManagerQueryConfig): ReadonlyTeleBox[];
|
|
@@ -2419,20 +2419,26 @@ class MaxTitleBar extends DefaultTitleBar {
|
|
|
2419
2419
|
this.focusedBox = config.focusedBox;
|
|
2420
2420
|
this.containerRect = config.containerRect;
|
|
2421
2421
|
this.darkMode = config.darkMode;
|
|
2422
|
-
this.
|
|
2422
|
+
this.getBoxesStatus = config.getBoxesStatus;
|
|
2423
2423
|
}
|
|
2424
2424
|
hasMaximizedBoxInStatus() {
|
|
2425
|
-
if (
|
|
2426
|
-
|
|
2425
|
+
if (this.getBoxesStatus) {
|
|
2426
|
+
const boxesStatus = this.getBoxesStatus();
|
|
2427
|
+
if (boxesStatus.size) {
|
|
2428
|
+
const hasMaximizedBox = [...boxesStatus.values()].find((state) => state === exports.TELE_BOX_STATE.Maximized);
|
|
2429
|
+
return !!hasMaximizedBox;
|
|
2430
|
+
}
|
|
2427
2431
|
}
|
|
2428
|
-
|
|
2429
|
-
return !!hasMaximizedBox;
|
|
2432
|
+
return false;
|
|
2430
2433
|
}
|
|
2431
2434
|
get MaximizedBoxes() {
|
|
2432
|
-
if (
|
|
2433
|
-
|
|
2435
|
+
if (this.getBoxesStatus) {
|
|
2436
|
+
const boxesStatus = this.getBoxesStatus();
|
|
2437
|
+
if (boxesStatus) {
|
|
2438
|
+
return this.boxes.filter((box) => boxesStatus && boxesStatus.get(box.id) === exports.TELE_BOX_STATE.Maximized);
|
|
2439
|
+
}
|
|
2434
2440
|
}
|
|
2435
|
-
return
|
|
2441
|
+
return [];
|
|
2436
2442
|
}
|
|
2437
2443
|
focusBox(box) {
|
|
2438
2444
|
var _a, _b;
|
|
@@ -2477,8 +2483,7 @@ class MaxTitleBar extends DefaultTitleBar {
|
|
|
2477
2483
|
this.$titleBar.style.width = width + "px";
|
|
2478
2484
|
}
|
|
2479
2485
|
}
|
|
2480
|
-
|
|
2481
|
-
this.boxesStatus = boxesStatus;
|
|
2486
|
+
updateBoxesStatus() {
|
|
2482
2487
|
if (this.hasMaximizedBoxInStatus()) {
|
|
2483
2488
|
this.setBoxStatus(exports.TELE_BOX_STATE.Maximized);
|
|
2484
2489
|
}
|
|
@@ -2686,6 +2691,7 @@ class TeleBoxManager {
|
|
|
2686
2691
|
this.setBoxStatus(box.id, exports.TELE_BOX_STATE.Normal);
|
|
2687
2692
|
}
|
|
2688
2693
|
});
|
|
2694
|
+
this.effectBoxStatusChange();
|
|
2689
2695
|
}
|
|
2690
2696
|
minimized$.setValue(false);
|
|
2691
2697
|
}
|
|
@@ -2771,13 +2777,16 @@ class TeleBoxManager {
|
|
|
2771
2777
|
state: state$.value,
|
|
2772
2778
|
boxes: this.boxes$.value,
|
|
2773
2779
|
containerRect: containerRect$.value,
|
|
2774
|
-
|
|
2780
|
+
getBoxesStatus: () => {
|
|
2781
|
+
return this.boxesStatus$;
|
|
2782
|
+
},
|
|
2775
2783
|
onEvent: (event) => {
|
|
2776
2784
|
var _a, _b, _c;
|
|
2777
2785
|
switch (event.type) {
|
|
2778
2786
|
case exports.TELE_BOX_DELEGATE_EVENT.Maximize: {
|
|
2779
2787
|
if (this.hasBoxesStatus() && ((_a = this.maxTitleBar.focusedBox) == null ? void 0 : _a.id)) {
|
|
2780
2788
|
this.setBoxStatus(this.maxTitleBar.focusedBox.id, exports.TELE_BOX_STATE.Normal);
|
|
2789
|
+
this.effectBoxStatusChange();
|
|
2781
2790
|
this.makeMaximizedTopBoxFocus();
|
|
2782
2791
|
} else {
|
|
2783
2792
|
maximized$.setValue(!maximized$.value);
|
|
@@ -2787,6 +2796,7 @@ class TeleBoxManager {
|
|
|
2787
2796
|
case exports.TELE_BOX_DELEGATE_EVENT.Minimize: {
|
|
2788
2797
|
if (this.hasBoxesStatus() && ((_b = this.maxTitleBar.focusedBox) == null ? void 0 : _b.id)) {
|
|
2789
2798
|
this.setBoxStatus(this.maxTitleBar.focusedBox.id, exports.TELE_BOX_STATE.Minimized);
|
|
2799
|
+
this.effectBoxStatusChange();
|
|
2790
2800
|
this.makeMaximizedTopBoxFocus();
|
|
2791
2801
|
} else {
|
|
2792
2802
|
minimized$.setValue(true);
|
|
@@ -2860,32 +2870,49 @@ class TeleBoxManager {
|
|
|
2860
2870
|
return this;
|
|
2861
2871
|
}
|
|
2862
2872
|
setBoxStatus(boxId, boxStatus, skipUpdate = false) {
|
|
2863
|
-
const boxesStatus = this.boxesStatus$;
|
|
2864
2873
|
if (boxStatus) {
|
|
2865
|
-
const oldBoxStatus = boxesStatus
|
|
2866
|
-
boxesStatus
|
|
2874
|
+
const oldBoxStatus = this.boxesStatus$.get(boxId);
|
|
2875
|
+
this.boxesStatus$.set(boxId, boxStatus);
|
|
2867
2876
|
if (boxStatus === exports.TELE_BOX_STATE.Minimized && oldBoxStatus !== exports.TELE_BOX_STATE.Minimized) {
|
|
2868
2877
|
this.setLastNotMinimizedBoxStatus(boxId, oldBoxStatus, skipUpdate);
|
|
2878
|
+
this.effectLastNotMinimizedBoxStatusChange();
|
|
2869
2879
|
} else if (oldBoxStatus === exports.TELE_BOX_STATE.Minimized && boxStatus !== exports.TELE_BOX_STATE.Minimized) {
|
|
2870
2880
|
this.setLastNotMinimizedBoxStatus(boxId, void 0, skipUpdate);
|
|
2881
|
+
this.effectLastNotMinimizedBoxStatusChange();
|
|
2871
2882
|
}
|
|
2872
2883
|
} else {
|
|
2873
|
-
boxesStatus
|
|
2884
|
+
this.boxesStatus$.delete(boxId);
|
|
2874
2885
|
this.setLastNotMinimizedBoxStatus(boxId, void 0, skipUpdate);
|
|
2886
|
+
this.effectLastNotMinimizedBoxStatusChange();
|
|
2875
2887
|
}
|
|
2876
|
-
this.setBoxesStatus(boxesStatus, skipUpdate);
|
|
2877
2888
|
if (!skipUpdate) {
|
|
2878
2889
|
this.events.emit(exports.TELE_BOX_MANAGER_EVENT.BoxStatus, { id: boxId, boxStatus });
|
|
2879
2890
|
}
|
|
2880
2891
|
}
|
|
2892
|
+
getBoxStatus(boxId) {
|
|
2893
|
+
return this.boxesStatus$.get(boxId);
|
|
2894
|
+
}
|
|
2895
|
+
getLastNotMinimizedBoxStatus(boxId) {
|
|
2896
|
+
return this.lastNotMinimizedBoxesStatus$.get(boxId);
|
|
2897
|
+
}
|
|
2898
|
+
get boxesStatus() {
|
|
2899
|
+
return this.boxesStatus$;
|
|
2900
|
+
}
|
|
2901
|
+
get lastNotMinimizedBoxesStatus() {
|
|
2902
|
+
return this.lastNotMinimizedBoxesStatus$;
|
|
2903
|
+
}
|
|
2881
2904
|
setBoxesStatus(boxesStatus, skipUpdate = false) {
|
|
2905
|
+
this.boxesStatus$ = boxesStatus;
|
|
2906
|
+
this.effectBoxStatusChange(skipUpdate);
|
|
2907
|
+
}
|
|
2908
|
+
effectBoxStatusChange(skipUpdate = false) {
|
|
2882
2909
|
var _a, _b, _c, _d;
|
|
2883
2910
|
let topBox;
|
|
2884
2911
|
const topBoxId = (_a = this.topBox) == null ? void 0 : _a.id;
|
|
2885
2912
|
let hasMinimizedBox = false;
|
|
2886
2913
|
this.boxes.forEach((box) => {
|
|
2887
2914
|
var _a2;
|
|
2888
|
-
const boxStatus = boxesStatus
|
|
2915
|
+
const boxStatus = this.boxesStatus$.get(box.id);
|
|
2889
2916
|
if (boxStatus) {
|
|
2890
2917
|
if (boxStatus !== exports.TELE_BOX_STATE.Minimized && box.zIndex > ((_a2 = topBox == null ? void 0 : topBox.zIndex) != null ? _a2 : 0)) {
|
|
2891
2918
|
topBox = box;
|
|
@@ -2910,7 +2937,7 @@ class TeleBoxManager {
|
|
|
2910
2937
|
this.focusTopBox();
|
|
2911
2938
|
}
|
|
2912
2939
|
if (this.maxTitleBar) {
|
|
2913
|
-
this.maxTitleBar.
|
|
2940
|
+
this.maxTitleBar.updateBoxesStatus();
|
|
2914
2941
|
}
|
|
2915
2942
|
}
|
|
2916
2943
|
hasBoxesStatus() {
|
|
@@ -2920,23 +2947,23 @@ class TeleBoxManager {
|
|
|
2920
2947
|
return this.boxes.some((box) => box.boxStatus && box.boxStatus === exports.TELE_BOX_STATE.Minimized);
|
|
2921
2948
|
}
|
|
2922
2949
|
setLastNotMinimizedBoxStatus(boxId, lastNotMinimizedBoxStatus, skipUpdate = false) {
|
|
2923
|
-
const boxesStatus = this.lastNotMinimizedBoxesStatus$;
|
|
2924
2950
|
if (lastNotMinimizedBoxStatus) {
|
|
2925
|
-
|
|
2951
|
+
this.lastNotMinimizedBoxesStatus$.set(boxId, lastNotMinimizedBoxStatus);
|
|
2926
2952
|
} else {
|
|
2927
|
-
|
|
2953
|
+
this.lastNotMinimizedBoxesStatus$.delete(boxId);
|
|
2928
2954
|
}
|
|
2929
|
-
this.setLastNotMinimizedBoxesStatus(boxesStatus, skipUpdate);
|
|
2930
2955
|
if (!skipUpdate) {
|
|
2931
2956
|
this.events.emit(exports.TELE_BOX_MANAGER_EVENT.LastNotMinimizedBoxStatus, { id: boxId, boxStatus: lastNotMinimizedBoxStatus });
|
|
2932
2957
|
}
|
|
2933
2958
|
}
|
|
2934
2959
|
setLastNotMinimizedBoxesStatus(lastNotMinimizedBoxesStatus, skipUpdate = false) {
|
|
2960
|
+
this.lastNotMinimizedBoxesStatus$ = lastNotMinimizedBoxesStatus;
|
|
2961
|
+
this.effectLastNotMinimizedBoxStatusChange(skipUpdate);
|
|
2962
|
+
}
|
|
2963
|
+
effectLastNotMinimizedBoxStatusChange(skipUpdate = false) {
|
|
2935
2964
|
this.boxes.forEach((box) => {
|
|
2936
|
-
const boxStatus = lastNotMinimizedBoxesStatus
|
|
2937
|
-
|
|
2938
|
-
box.setLastNotMinimizedBoxStatus(boxStatus, skipUpdate);
|
|
2939
|
-
}
|
|
2965
|
+
const boxStatus = this.lastNotMinimizedBoxesStatus$.get(box.id);
|
|
2966
|
+
box.setLastNotMinimizedBoxStatus(boxStatus, skipUpdate);
|
|
2940
2967
|
});
|
|
2941
2968
|
}
|
|
2942
2969
|
getAllMinimizedBoxes() {
|
|
@@ -2966,9 +2993,11 @@ class TeleBoxManager {
|
|
|
2966
2993
|
this.boxes$.setValue([...this.boxes, box]);
|
|
2967
2994
|
if (box.boxStatus) {
|
|
2968
2995
|
this.setBoxStatus(box.id, box.boxStatus, true);
|
|
2996
|
+
this.effectBoxStatusChange(true);
|
|
2969
2997
|
}
|
|
2970
2998
|
if (box._lastNotMinimizedBoxStatus$.value) {
|
|
2971
2999
|
this.setLastNotMinimizedBoxStatus(box.id, box._lastNotMinimizedBoxStatus$.value, true);
|
|
3000
|
+
this.effectLastNotMinimizedBoxStatusChange();
|
|
2972
3001
|
}
|
|
2973
3002
|
box._delegateEvents.on(exports.TELE_BOX_DELEGATE_EVENT.Maximize, () => {
|
|
2974
3003
|
if (box.boxStatus) {
|
|
@@ -2981,6 +3010,7 @@ class TeleBoxManager {
|
|
|
2981
3010
|
}
|
|
2982
3011
|
});
|
|
2983
3012
|
}
|
|
3013
|
+
this.effectBoxStatusChange();
|
|
2984
3014
|
this.makeMaximizedTopBoxFocus();
|
|
2985
3015
|
} else {
|
|
2986
3016
|
this.setMaximized(!this.maximized);
|
|
@@ -2990,6 +3020,7 @@ class TeleBoxManager {
|
|
|
2990
3020
|
if (box.boxStatus) {
|
|
2991
3021
|
const oldBoxStatus = box.boxStatus;
|
|
2992
3022
|
this.setBoxStatus(box.id, exports.TELE_BOX_STATE.Minimized);
|
|
3023
|
+
this.effectBoxStatusChange();
|
|
2993
3024
|
if (oldBoxStatus === exports.TELE_BOX_STATE.Maximized) {
|
|
2994
3025
|
this.makeMaximizedTopBoxFocus();
|
|
2995
3026
|
}
|
|
@@ -3062,16 +3093,20 @@ class TeleBoxManager {
|
|
|
3062
3093
|
}
|
|
3063
3094
|
remove(boxOrID, skipUpdate = false) {
|
|
3064
3095
|
const box = this.getBox(boxOrID);
|
|
3065
|
-
if (box) {
|
|
3066
|
-
this.setBoxStatus(box.id, void 0, skipUpdate);
|
|
3067
|
-
this.setLastNotMinimizedBoxStatus(box.id, void 0, skipUpdate);
|
|
3068
|
-
}
|
|
3069
3096
|
const index2 = this.getBoxIndex(boxOrID);
|
|
3070
3097
|
if (index2 >= 0) {
|
|
3071
3098
|
const boxes = this.boxes.slice();
|
|
3072
3099
|
const deletedBoxes = boxes.splice(index2, 1);
|
|
3073
3100
|
this.boxes$.setValue(boxes);
|
|
3074
3101
|
deletedBoxes.forEach((box2) => box2.destroy());
|
|
3102
|
+
if (box) {
|
|
3103
|
+
this.setBoxStatus(box.id, void 0, skipUpdate);
|
|
3104
|
+
this.boxesStatus$.delete(box.id);
|
|
3105
|
+
this.effectBoxStatusChange(skipUpdate);
|
|
3106
|
+
this.setLastNotMinimizedBoxStatus(box.id, void 0, skipUpdate);
|
|
3107
|
+
this.lastNotMinimizedBoxesStatus$.delete(box.id);
|
|
3108
|
+
this.effectLastNotMinimizedBoxStatusChange();
|
|
3109
|
+
}
|
|
3075
3110
|
if (!skipUpdate) {
|
|
3076
3111
|
if (this.boxes.length <= 0) {
|
|
3077
3112
|
this.setMaximized(false);
|
|
@@ -3226,9 +3261,11 @@ class TeleBoxManager {
|
|
|
3226
3261
|
}
|
|
3227
3262
|
if (config.boxStatus) {
|
|
3228
3263
|
this.setBoxStatus(box.id, config.boxStatus, skipUpdate);
|
|
3264
|
+
this.effectBoxStatusChange(skipUpdate);
|
|
3229
3265
|
}
|
|
3230
3266
|
if (config.lastNotMinimizedBoxStatus) {
|
|
3231
3267
|
this.setLastNotMinimizedBoxStatus(box.id, config.lastNotMinimizedBoxStatus, skipUpdate);
|
|
3268
|
+
this.effectLastNotMinimizedBoxStatusChange();
|
|
3232
3269
|
}
|
|
3233
3270
|
}
|
|
3234
3271
|
smartPosition(config = {}) {
|