@univerjs/sheets-crosshair-highlight 0.7.0-nightly.202505081607 → 0.7.0-nightly.202505101606
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/lib/cjs/index.js +4 -4
- package/lib/es/index.js +51 -51
- package/lib/index.css +1 -1
- package/lib/index.js +51 -51
- package/lib/umd/index.js +4 -4
- package/package.json +8 -8
package/lib/cjs/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
"use strict";var
|
|
2
|
-
univer-box-border univer-size-5 univer-cursor-pointer univer-rounded univer-
|
|
3
|
-
univer-
|
|
1
|
+
"use strict";var W=Object.defineProperty;var F=(n,e,t)=>e in n?W(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var l=(n,e,t)=>F(n,typeof e!="symbol"?e+"":e,t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("@univerjs/core"),T=require("@univerjs/engine-render"),f=require("@univerjs/ui"),u=require("rxjs"),P=require("react/jsx-runtime"),j=require("@univerjs/design"),S=require("react"),w=require("@univerjs/sheets"),M=require("@univerjs/sheets-ui"),X="sheets-crosshair-highlight.config",V={};var h=function(){return h=Object.assign||function(n){for(var e,t=1,r=arguments.length;t<r;t++){e=arguments[t];for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(n[i]=e[i])}return n},h.apply(this,arguments)},z=function(n,e){var t={};for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&e.indexOf(r)<0&&(t[r]=n[r]);if(n!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,r=Object.getOwnPropertySymbols(n);i<r.length;i++)e.indexOf(r[i])<0&&Object.prototype.propertyIsEnumerable.call(n,r[i])&&(t[r[i]]=n[r[i]]);return t},A=S.forwardRef(function(n,e){var t=n.icon,r=n.id,i=n.className,s=n.extend,o=z(n,["icon","id","className","extend"]),c="univerjs-icon univerjs-icon-".concat(r," ").concat(i||"").trim(),g=S.useRef("_".concat(Q()));return L(t,"".concat(r),{defIds:t.defIds,idSuffix:g.current},h({ref:e,className:c},o),s)});function L(n,e,t,r,i){return S.createElement(n.tag,h(h({key:e},K(n,t,i)),r),(J(n,t).children||[]).map(function(s,o){return L(s,"".concat(e,"-").concat(n.tag,"-").concat(o),t,void 0,i)}))}function K(n,e,t){var r=h({},n.attrs);t!=null&&t.colorChannel1&&r.fill==="colorChannel1"&&(r.fill=t.colorChannel1),n.tag==="mask"&&r.id&&(r.id=r.id+e.idSuffix),Object.entries(r).forEach(function(s){var o=s[0],c=s[1];o==="mask"&&typeof c=="string"&&(r[o]=c.replace(/url\(#(.*)\)/,"url(#$1".concat(e.idSuffix,")")))});var i=e.defIds;return!i||i.length===0||(n.tag==="use"&&r["xlink:href"]&&(r["xlink:href"]=r["xlink:href"]+e.idSuffix),Object.entries(r).forEach(function(s){var o=s[0],c=s[1];typeof c=="string"&&(r[o]=c.replace(/url\(#(.*)\)/,"url(#$1".concat(e.idSuffix,")")))})),r}function J(n,e){var t,r=e.defIds;return!r||r.length===0?n:n.tag==="defs"&&(!((t=n.children)===null||t===void 0)&&t.length)?h(h({},n),{children:n.children.map(function(i){return typeof i.attrs.id=="string"&&r&&r.indexOf(i.attrs.id)>-1?h(h({},i),{attrs:h(h({},i.attrs),{id:i.attrs.id+e.idSuffix})}):i})}):n}function Q(){return Math.random().toString(36).substring(2,8)}A.displayName="UniverIcon";var ee={tag:"svg",attrs:{fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"#E5E5E5",d:"M1.6499 3.65002C1.6499 2.54545 2.54533 1.65002 3.6499 1.65002H12.3499C13.4545 1.65002 14.3499 2.54545 14.3499 3.65002V12.35C14.3499 13.4546 13.4545 14.35 12.3499 14.35H3.6499C2.54533 14.35 1.6499 13.4546 1.6499 12.35V3.65002Z"}},{tag:"path",attrs:{fill:"#fff",d:"M9.9998 1.65002H5.9998V6H1.6499V10H5.9998V14.35H9.9998V10H14.3499V6H9.9998V1.65002Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M3.6498 1.05005C2.21386 1.05005 1.0498 2.21411 1.0498 3.65005V12.35C1.0498 13.786 2.21386 14.95 3.6498 14.95H12.3498C13.7857 14.95 14.9498 13.786 14.9498 12.3501V3.65005C14.9498 2.21411 13.7857 1.05005 12.3498 1.05005H3.6498ZM5.4002 2.25005H3.6498C2.87661 2.25005 2.2498 2.87685 2.2498 3.65005V5.40002H5.4002V2.25005ZM2.2498 10.6V12.35C2.2498 13.1232 2.87661 13.75 3.6498 13.75H5.4002V10.6H2.2498ZM6.60019 13.75H9.4002V9.40002H13.7498V6.60002H9.4002V2.25005H6.60019V6.60002H2.25029V9.40002H6.60019V13.75ZM10.6002 2.25005V5.40002H13.7498V3.65005C13.7498 2.87685 13.123 2.25005 12.3498 2.25005H10.6002ZM13.7498 10.6H10.6002V13.75H12.3498C13.123 13.75 13.7498 13.1232 13.7498 12.3501V10.6Z",fillRule:"evenodd",clipRule:"evenodd"}}]},G=S.forwardRef(function(n,e){return S.createElement(A,Object.assign({},n,{id:"cross-highlighting-single",ref:e,icon:ee}))});G.displayName="CrossHighlightingSingle";const x=["rgba(158, 109, 227, 0.3)","rgba(254, 75, 75, 0.3)","rgba(255, 140, 81, 0.3)","rgba(164, 220, 22, 0.3)","rgba(45, 174, 255, 0.3)","rgba(58, 96, 247, 0.3)","rgba(242, 72, 166, 0.3)","rgba(153, 153, 153, 0.3)","rgba(158, 109, 227, 0.15)","rgba(254, 75, 75, 0.15)","rgba(255, 140, 81, 0.15)","rgba(164, 220, 22, 0.15)","rgba(45, 174, 255, 0.15)","rgba(58, 96, 247, 0.15)","rgba(242, 72, 166, 0.15)","rgba(153, 153, 153, 0.15)"];class d extends a.Disposable{constructor(){super(...arguments);l(this,"_enabled$",new u.BehaviorSubject(!1));l(this,"enabled$",this._enabled$.asObservable());l(this,"_color$",new u.BehaviorSubject(x[0]));l(this,"color$",this._color$.asObservable())}get enabled(){return this._enabled$.getValue()}get color(){return this._color$.getValue()}dispose(){this._enabled$.complete()}setEnabled(t){this._enabled$.next(t)}setColor(t){this._color$.next(t)}}const I={id:"sheet.operation.toggle-crosshair-highlight",type:a.CommandType.OPERATION,handler(n){const e=n.get(d),t=e.enabled;return e.setEnabled(!t),!0}},$={id:"sheet.operation.set-crosshair-highlight-color",type:a.CommandType.OPERATION,handler(n,{value:e}){const t=n.get(d);return t.enabled||t.setEnabled(!0),t.setColor(e),!0}},k={id:"sheet.operation.enable-crosshair-highlight",type:a.CommandType.OPERATION,handler(n){const e=n.get(d);return e.enabled?!1:(e.setEnabled(!0),!0)}},U={id:"sheet.operation.disable-crosshair-highlight",type:a.CommandType.OPERATION,handler(n){const e=n.get(d);return e.enabled?(e.setEnabled(!1),!0):!1}};function te(n){const{onChange:e}=n,t=f.useDependency(d),r=f.useObservable(t.color$),i=S.useCallback(s=>{e==null||e(s)},[e]);return P.jsx("div",{className:"univer-grid univer-grid-cols-8 univer-gap-x-2 univer-gap-y-3",children:x.map(s=>P.jsx("div",{className:j.clsx(`
|
|
2
|
+
univer-box-border univer-size-5 univer-cursor-pointer univer-rounded univer-ring-offset-1
|
|
3
|
+
univer-transition-shadow
|
|
4
4
|
hover:univer-ring-[1.5px] hover:univer-ring-primary-600/40
|
|
5
|
-
`,{"univer-ring-[1.5px] univer-ring-primary-600 hover:univer-ring-primary-600":s===r}),style:{backgroundColor:s},onClick:()=>i(s)},s))})}const
|
|
5
|
+
`,j.borderClassName,{"univer-ring-[1.5px] univer-ring-primary-600 hover:univer-ring-primary-600":s===r}),style:{backgroundColor:s},onClick:()=>i(s)},s))})}const D="CROSSHAIR_HIGHLIGHT_OVERLAY_COMPONENT";function re(n){const e=n.get(d);return{id:I.id,tooltip:"crosshair.button.tooltip",type:f.MenuItemType.BUTTON_SELECTOR,icon:"CrossHighlightingSingle",selections:[{label:{name:D,hoverable:!1,selectable:!1}}],selectionsCommandId:$.id,activated$:e.enabled$,hidden$:f.getMenuHiddenObservable(n,a.UniverInstanceType.UNIVER_SHEET)}}const ne={[f.ContextMenuPosition.FOOTER_MENU]:{[f.ContextMenuGroup.OTHERS]:{[I.id]:{order:0,menuItemFactory:re}}}};var ie=Object.getOwnPropertyDescriptor,se=(n,e,t,r)=>{for(var i=r>1?void 0:r?ie(e,t):e,s=n.length-1,o;s>=0;s--)(o=n[s])&&(i=o(i)||i);return i},E=(n,e)=>(t,r)=>e(t,r,n);let H=class extends a.Disposable{constructor(n,e,t){super(),this._componentMgr=n,this._menuManagerService=e,this._cmdSrv=t,this._initCommands(),this._initMenus(),this._initComponents()}_initCommands(){[I,$,k,U].forEach(n=>this._cmdSrv.registerCommand(n))}_initMenus(){this._menuManagerService.mergeMenu(ne)}_initComponents(){this._componentMgr.register(D,te),this._componentMgr.register("CrossHighlightingSingle",G)}};H=se([E(0,a.Inject(f.ComponentManager)),E(1,f.IMenuManagerService),E(2,a.ICommandService)],H);const oe=1;class ae{constructor(){l(this,"_selectedRanges",[]);l(this,"_ranges",[])}addRange(e){if(e.rangeType===a.RANGE_TYPE.COLUMN||e.rangeType===a.RANGE_TYPE.ROW||e.rangeType===a.RANGE_TYPE.ALL)return;const t=this._getIntersects(e),r=this._getSplitRanges(e,t);r.length>0&&this._ranges.push(...r)}setSelectedRanges(e){this._selectedRanges=e}_getSplitRanges(e,t){let r=[e];for(const i of t.concat(this._selectedRanges)){const s=[];for(const o of r){const c=a.Rectangle.subtract(o,i);c&&c.length>0&&s.push(...c)}r=s}return r.filter(i=>i.startRow<=i.endRow&&i.startColumn<=i.endColumn)}_getIntersects(e){const t=[];for(const r of this._ranges){const i=a.Rectangle.getIntersects(r,e);i&&t.push(i)}return t}getRanges(){return this._ranges}reset(){this._ranges=[],this._selectedRanges=[]}}class ce extends T.Shape{constructor(t,r){super(t,r);l(this,"_color");r&&this.setShapeProps(r)}setShapeProps(t){typeof t.color<"u"&&(this._color=t.color),this.transformByState({width:t.width,height:t.height})}_draw(t){var i,s;const r=`rgba(${this._color.r}, ${this._color.g}, ${this._color.b}, ${(s=(i=this._color)==null?void 0:i.a)!=null?s:.5})`;T.Rect.drawWith(t,{width:this.width,height:this.height,fill:r,stroke:void 0,strokeWidth:0,evented:!1})}}var le=Object.getOwnPropertyDescriptor,he=(n,e,t,r)=>{for(var i=r>1?void 0:r?le(e,t):e,s=n.length-1,o;s>=0;s--)(o=n[s])&&(i=o(i)||i);return i},p=(n,e)=>(t,r)=>e(t,r,n);let O=class extends a.Disposable{constructor(e,t,r,i,s,o){super();l(this,"_shapes",[]);l(this,"_rangeCollection",new ae);l(this,"_color","rgba(255,0,0,0.5)");this._context=e,this._sheetSkeletonManagerService=t,this._sheetsSelectionsService=r,this._sheetsCrosshairHighlightService=i,this._contextService=s,this._refSelectionsService=o,this._initRenderListener()}_transformSelection(e,t){if(!e)return;const r=t.getRowCount(),i=t.getColumnCount(),s=[];for(const o of e){const{startRow:c,endRow:g,startColumn:v,endColumn:C}=o.range;g-c+1===r||C-v+1===i||s.push(o.range)}this._rangeCollection.setSelectedRanges(s);for(const o of s)this.addSelection(o,t)}_initRenderListener(){const e=this._context.unit;this.disposeWithMe(u.combineLatest([this._contextService.subscribeContextValue$(w.REF_SELECTIONS_ENABLED).pipe(u.startWith(!1)),this._sheetSkeletonManagerService.currentSkeleton$,this._sheetsCrosshairHighlightService.enabled$,this._sheetsCrosshairHighlightService.color$.pipe(u.tap(t=>this._color=t)),u.merge(this._sheetsSelectionsService.selectionMoveStart$,this._sheetsSelectionsService.selectionMoving$,this._sheetsSelectionsService.selectionMoveEnd$,this._sheetsSelectionsService.selectionSet$,e.activeSheet$.pipe(u.map(()=>this._sheetsSelectionsService.getCurrentSelections()))),u.merge(this._refSelectionsService.selectionMoveStart$,this._refSelectionsService.selectionMoving$,this._refSelectionsService.selectionMoveEnd$,this._sheetsSelectionsService.selectionSet$,e.activeSheet$.pipe(u.map(()=>this._refSelectionsService.getCurrentSelections())))]).subscribe(([t,r,i,s,o,c])=>{if(this._clear(),!i)return;const g=t?c:o;this._rangeCollection.reset(),this._transformSelection(g,e.getActiveSheet()),this.render(this._rangeCollection.getRanges())}))}addSelection(e,t){if(e.rangeType===a.RANGE_TYPE.COLUMN||e.rangeType===a.RANGE_TYPE.ROW||e.rangeType===a.RANGE_TYPE.ALL)return;const r=t.getRowCount(),i=t.getColumnCount(),{startRow:s,endRow:o,startColumn:c,endColumn:g}=e,v={startRow:s,endRow:o,startColumn:0,endColumn:c-1},C={startRow:s,endRow:o,startColumn:g+1,endColumn:i},m={startRow:0,endRow:s-1,startColumn:c,endColumn:g},b={startRow:o+1,endRow:r,startColumn:c,endColumn:g};for(const _ of[v,C,m,b])_.startRow<=_.endRow&&_.startColumn<=_.endColumn&&this._rangeCollection.addRange(_)}_clear(){this._shapes.forEach(e=>{e.dispose()}),this._shapes=[]}_addShapes(e,t,r,i){const{startRow:s,endRow:o,startColumn:c,endColumn:g}=e,v=M.getCoordByCell(s,c,r,i),C=M.getCoordByCell(o,g,r,i),{startX:m,startY:b}=v,{endX:_,endY:Y}=C,q=_-m,B=Y-b,Z={left:m,top:b,color:new a.ColorKit(this._color).toRgb(),width:q,height:B,zIndex:oe,evented:!1},N=new ce(`crosshair-${t}`,Z);this._shapes.push(N),r.addObject(N)}render(e){const t=this._sheetSkeletonManagerService.getCurrentSkeleton();if(!t)return;const{scene:r}=this._context;this._clear();for(let i=0;i<e.length;i++){const s=e[i];this._addShapes(s,i,r,t)}r.makeDirty(!0)}async dispose(){super.dispose()}};O=he([p(1,a.Inject(M.SheetSkeletonManagerService)),p(2,a.Inject(w.SheetsSelectionsService)),p(3,a.Inject(d)),p(4,a.Inject(a.IContextService)),p(5,w.IRefSelectionsService)],O);var ge=Object.getOwnPropertyDescriptor,ue=(n,e,t,r)=>{for(var i=r>1?void 0:r?ge(e,t):e,s=n.length-1,o;s>=0;s--)(o=n[s])&&(i=o(i)||i);return i},y=(n,e)=>(t,r)=>e(t,r,n),R;exports.UniverSheetsCrosshairHighlightPlugin=(R=class extends a.Plugin{constructor(e=V,t,r,i){super(),this._config=e,this._injector=t,this._renderManagerService=r,this._configService=i;const{...s}=a.merge({},V,this._config);this._configService.setConfig(X,s)}onStarting(){[[d],[H]].forEach(e=>this._injector.add(e))}onReady(){[[O]].forEach(e=>this._injector.add(e)),this._injector.get(H),this._renderManagerService.registerRenderModule(a.UniverInstanceType.UNIVER_SHEET,[O])}},l(R,"pluginName","SHEET_CROSSHAIR_HIGHLIGHT_PLUGIN"),l(R,"type",a.UniverInstanceType.UNIVER_SHEET),R);exports.UniverSheetsCrosshairHighlightPlugin=ue([y(1,a.Inject(a.Injector)),y(2,T.IRenderManagerService),y(3,a.IConfigService)],exports.UniverSheetsCrosshairHighlightPlugin);exports.CROSSHAIR_HIGHLIGHT_COLORS=x;exports.DisableCrosshairHighlightOperation=U;exports.EnableCrosshairHighlightOperation=k;exports.SetCrosshairHighlightColorOperation=$;exports.SheetsCrosshairHighlightService=d;exports.ToggleCrosshairHighlightOperation=I;
|
package/lib/es/index.js
CHANGED
|
@@ -4,13 +4,13 @@ var c = (n, e, t) => q(n, typeof e != "symbol" ? e + "" : e, t);
|
|
|
4
4
|
import { Disposable as y, CommandType as H, UniverInstanceType as E, Inject as u, ICommandService as J, RANGE_TYPE as f, Rectangle as $, IContextService as Q, ColorKit as ee, Plugin as te, merge as re, Injector as ne, IConfigService as ie } from "@univerjs/core";
|
|
5
5
|
import { Shape as se, Rect as oe, IRenderManagerService as ae } from "@univerjs/engine-render";
|
|
6
6
|
import { useDependency as ce, useObservable as le, getMenuHiddenObservable as he, MenuItemType as ge, ContextMenuPosition as de, ContextMenuGroup as ue, ComponentManager as fe, IMenuManagerService as _e } from "@univerjs/ui";
|
|
7
|
-
import { BehaviorSubject as x, combineLatest as ve, merge as T, startWith as Se, tap as pe, map as
|
|
8
|
-
import { jsx as
|
|
9
|
-
import { clsx as Ce } from "@univerjs/design";
|
|
10
|
-
import { forwardRef as k, useRef as
|
|
11
|
-
import { SheetsSelectionsService as
|
|
12
|
-
import { SheetSkeletonManagerService as
|
|
13
|
-
const
|
|
7
|
+
import { BehaviorSubject as x, combineLatest as ve, merge as T, startWith as Se, tap as pe, map as N } from "rxjs";
|
|
8
|
+
import { jsx as V } from "react/jsx-runtime";
|
|
9
|
+
import { clsx as Ce, borderClassName as me } from "@univerjs/design";
|
|
10
|
+
import { forwardRef as k, useRef as be, createElement as A, useCallback as Re } from "react";
|
|
11
|
+
import { SheetsSelectionsService as He, IRefSelectionsService as Oe, REF_SELECTIONS_ENABLED as Ie } from "@univerjs/sheets";
|
|
12
|
+
import { SheetSkeletonManagerService as Ee, getCoordByCell as P } from "@univerjs/sheets-ui";
|
|
13
|
+
const ye = "sheets-crosshair-highlight.config", j = {};
|
|
14
14
|
var l = function() {
|
|
15
15
|
return l = Object.assign || function(n) {
|
|
16
16
|
for (var e, t = 1, r = arguments.length; t < r; t++) {
|
|
@@ -19,7 +19,7 @@ var l = function() {
|
|
|
19
19
|
}
|
|
20
20
|
return n;
|
|
21
21
|
}, l.apply(this, arguments);
|
|
22
|
-
},
|
|
22
|
+
}, we = function(n, e) {
|
|
23
23
|
var t = {};
|
|
24
24
|
for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && e.indexOf(r) < 0 && (t[r] = n[r]);
|
|
25
25
|
if (n != null && typeof Object.getOwnPropertySymbols == "function")
|
|
@@ -27,15 +27,15 @@ var l = function() {
|
|
|
27
27
|
e.indexOf(r[i]) < 0 && Object.prototype.propertyIsEnumerable.call(n, r[i]) && (t[r[i]] = n[r[i]]);
|
|
28
28
|
return t;
|
|
29
29
|
}, G = k(function(n, e) {
|
|
30
|
-
var t = n.icon, r = n.id, i = n.className, s = n.extend, o =
|
|
30
|
+
var t = n.icon, r = n.id, i = n.className, s = n.extend, o = we(n, ["icon", "id", "className", "extend"]), a = "univerjs-icon univerjs-icon-".concat(r, " ").concat(i || "").trim(), h = be("_".concat(xe()));
|
|
31
31
|
return U(t, "".concat(r), { defIds: t.defIds, idSuffix: h.current }, l({ ref: e, className: a }, o), s);
|
|
32
32
|
});
|
|
33
33
|
function U(n, e, t, r, i) {
|
|
34
|
-
return A(n.tag, l(l({ key: e },
|
|
34
|
+
return A(n.tag, l(l({ key: e }, Me(n, t, i)), r), ($e(n, t).children || []).map(function(s, o) {
|
|
35
35
|
return U(s, "".concat(e, "-").concat(n.tag, "-").concat(o), t, void 0, i);
|
|
36
36
|
}));
|
|
37
37
|
}
|
|
38
|
-
function
|
|
38
|
+
function Me(n, e, t) {
|
|
39
39
|
var r = l({}, n.attrs);
|
|
40
40
|
t != null && t.colorChannel1 && r.fill === "colorChannel1" && (r.fill = t.colorChannel1), n.tag === "mask" && r.id && (r.id = r.id + e.idSuffix), Object.entries(r).forEach(function(s) {
|
|
41
41
|
var o = s[0], a = s[1];
|
|
@@ -47,21 +47,21 @@ function we(n, e, t) {
|
|
|
47
47
|
typeof a == "string" && (r[o] = a.replace(/url\(#(.*)\)/, "url(#$1".concat(e.idSuffix, ")")));
|
|
48
48
|
})), r;
|
|
49
49
|
}
|
|
50
|
-
function
|
|
50
|
+
function $e(n, e) {
|
|
51
51
|
var t, r = e.defIds;
|
|
52
52
|
return !r || r.length === 0 ? n : n.tag === "defs" && (!((t = n.children) === null || t === void 0) && t.length) ? l(l({}, n), { children: n.children.map(function(i) {
|
|
53
53
|
return typeof i.attrs.id == "string" && r && r.indexOf(i.attrs.id) > -1 ? l(l({}, i), { attrs: l(l({}, i.attrs), { id: i.attrs.id + e.idSuffix }) }) : i;
|
|
54
54
|
}) }) : n;
|
|
55
55
|
}
|
|
56
|
-
function
|
|
56
|
+
function xe() {
|
|
57
57
|
return Math.random().toString(36).substring(2, 8);
|
|
58
58
|
}
|
|
59
59
|
G.displayName = "UniverIcon";
|
|
60
|
-
var
|
|
60
|
+
var Te = { tag: "svg", attrs: { fill: "none", viewBox: "0 0 16 16", width: "1em", height: "1em" }, children: [{ tag: "path", attrs: { fill: "#E5E5E5", d: "M1.6499 3.65002C1.6499 2.54545 2.54533 1.65002 3.6499 1.65002H12.3499C13.4545 1.65002 14.3499 2.54545 14.3499 3.65002V12.35C14.3499 13.4546 13.4545 14.35 12.3499 14.35H3.6499C2.54533 14.35 1.6499 13.4546 1.6499 12.35V3.65002Z" } }, { tag: "path", attrs: { fill: "#fff", d: "M9.9998 1.65002H5.9998V6H1.6499V10H5.9998V14.35H9.9998V10H14.3499V6H9.9998V1.65002Z" } }, { tag: "path", attrs: { fill: "currentColor", d: "M3.6498 1.05005C2.21386 1.05005 1.0498 2.21411 1.0498 3.65005V12.35C1.0498 13.786 2.21386 14.95 3.6498 14.95H12.3498C13.7857 14.95 14.9498 13.786 14.9498 12.3501V3.65005C14.9498 2.21411 13.7857 1.05005 12.3498 1.05005H3.6498ZM5.4002 2.25005H3.6498C2.87661 2.25005 2.2498 2.87685 2.2498 3.65005V5.40002H5.4002V2.25005ZM2.2498 10.6V12.35C2.2498 13.1232 2.87661 13.75 3.6498 13.75H5.4002V10.6H2.2498ZM6.60019 13.75H9.4002V9.40002H13.7498V6.60002H9.4002V2.25005H6.60019V6.60002H2.25029V9.40002H6.60019V13.75ZM10.6002 2.25005V5.40002H13.7498V3.65005C13.7498 2.87685 13.123 2.25005 12.3498 2.25005H10.6002ZM13.7498 10.6H10.6002V13.75H12.3498C13.123 13.75 13.7498 13.1232 13.7498 12.3501V10.6Z", fillRule: "evenodd", clipRule: "evenodd" } }] }, D = k(function(n, e) {
|
|
61
61
|
return A(G, Object.assign({}, n, {
|
|
62
62
|
id: "cross-highlighting-single",
|
|
63
63
|
ref: e,
|
|
64
|
-
icon:
|
|
64
|
+
icon: Te
|
|
65
65
|
}));
|
|
66
66
|
});
|
|
67
67
|
D.displayName = "CrossHighlightingSingle";
|
|
@@ -121,7 +121,7 @@ const w = {
|
|
|
121
121
|
const t = n.get(g);
|
|
122
122
|
return t.enabled || t.setEnabled(!0), t.setColor(e), !0;
|
|
123
123
|
}
|
|
124
|
-
},
|
|
124
|
+
}, Ne = {
|
|
125
125
|
id: "sheet.operation.enable-crosshair-highlight",
|
|
126
126
|
type: H.OPERATION,
|
|
127
127
|
handler(n) {
|
|
@@ -136,18 +136,18 @@ const w = {
|
|
|
136
136
|
return e.enabled ? (e.setEnabled(!1), !0) : !1;
|
|
137
137
|
}
|
|
138
138
|
};
|
|
139
|
-
function
|
|
140
|
-
const { onChange: e } = n, t = ce(g), r = le(t.color$), i =
|
|
139
|
+
function Pe(n) {
|
|
140
|
+
const { onChange: e } = n, t = ce(g), r = le(t.color$), i = Re((s) => {
|
|
141
141
|
e == null || e(s);
|
|
142
142
|
}, [e]);
|
|
143
|
-
return /* @__PURE__ */
|
|
143
|
+
return /* @__PURE__ */ V("div", { className: "univer-grid univer-grid-cols-8 univer-gap-x-2 univer-gap-y-3", children: Z.map((s) => /* @__PURE__ */ V(
|
|
144
144
|
"div",
|
|
145
145
|
{
|
|
146
146
|
className: Ce(`
|
|
147
|
-
univer-box-border univer-size-5 univer-cursor-pointer univer-rounded univer-
|
|
148
|
-
univer-
|
|
147
|
+
univer-box-border univer-size-5 univer-cursor-pointer univer-rounded univer-ring-offset-1
|
|
148
|
+
univer-transition-shadow
|
|
149
149
|
hover:univer-ring-[1.5px] hover:univer-ring-primary-600/40
|
|
150
|
-
`, {
|
|
150
|
+
`, me, {
|
|
151
151
|
"univer-ring-[1.5px] univer-ring-primary-600 hover:univer-ring-primary-600": s === r
|
|
152
152
|
}),
|
|
153
153
|
style: { backgroundColor: s },
|
|
@@ -157,7 +157,7 @@ function Ne(n) {
|
|
|
157
157
|
)) });
|
|
158
158
|
}
|
|
159
159
|
const W = "CROSSHAIR_HIGHLIGHT_OVERLAY_COMPONENT";
|
|
160
|
-
function
|
|
160
|
+
function je(n) {
|
|
161
161
|
const e = n.get(g);
|
|
162
162
|
return {
|
|
163
163
|
id: w.id,
|
|
@@ -178,18 +178,18 @@ function Pe(n) {
|
|
|
178
178
|
hidden$: he(n, E.UNIVER_SHEET)
|
|
179
179
|
};
|
|
180
180
|
}
|
|
181
|
-
const
|
|
181
|
+
const Le = {
|
|
182
182
|
[de.FOOTER_MENU]: {
|
|
183
183
|
[ue.OTHERS]: {
|
|
184
184
|
[w.id]: {
|
|
185
185
|
order: 0,
|
|
186
|
-
menuItemFactory:
|
|
186
|
+
menuItemFactory: je
|
|
187
187
|
}
|
|
188
188
|
}
|
|
189
189
|
}
|
|
190
190
|
};
|
|
191
|
-
var
|
|
192
|
-
for (var i = r > 1 ? void 0 : r ?
|
|
191
|
+
var ke = Object.getOwnPropertyDescriptor, Ae = (n, e, t, r) => {
|
|
192
|
+
for (var i = r > 1 ? void 0 : r ? ke(e, t) : e, s = n.length - 1, o; s >= 0; s--)
|
|
193
193
|
(o = n[s]) && (i = o(i) || i);
|
|
194
194
|
return i;
|
|
195
195
|
}, O = (n, e) => (t, r) => e(t, r, n);
|
|
@@ -201,24 +201,24 @@ let b = class extends y {
|
|
|
201
201
|
[
|
|
202
202
|
w,
|
|
203
203
|
B,
|
|
204
|
-
|
|
204
|
+
Ne,
|
|
205
205
|
Ve
|
|
206
206
|
].forEach((n) => this._cmdSrv.registerCommand(n));
|
|
207
207
|
}
|
|
208
208
|
_initMenus() {
|
|
209
|
-
this._menuManagerService.mergeMenu(
|
|
209
|
+
this._menuManagerService.mergeMenu(Le);
|
|
210
210
|
}
|
|
211
211
|
_initComponents() {
|
|
212
|
-
this._componentMgr.register(W,
|
|
212
|
+
this._componentMgr.register(W, Pe), this._componentMgr.register("CrossHighlightingSingle", D);
|
|
213
213
|
}
|
|
214
214
|
};
|
|
215
|
-
b =
|
|
215
|
+
b = Ae([
|
|
216
216
|
O(0, u(fe)),
|
|
217
217
|
O(1, _e),
|
|
218
218
|
O(2, J)
|
|
219
219
|
], b);
|
|
220
|
-
const
|
|
221
|
-
class
|
|
220
|
+
const Ge = 1;
|
|
221
|
+
class Ue {
|
|
222
222
|
constructor() {
|
|
223
223
|
c(this, "_selectedRanges", []);
|
|
224
224
|
c(this, "_ranges", []);
|
|
@@ -259,7 +259,7 @@ class Ge {
|
|
|
259
259
|
this._ranges = [], this._selectedRanges = [];
|
|
260
260
|
}
|
|
261
261
|
}
|
|
262
|
-
class
|
|
262
|
+
class De extends se {
|
|
263
263
|
constructor(t, r) {
|
|
264
264
|
super(t, r);
|
|
265
265
|
// protected _showHighLight = false;
|
|
@@ -285,8 +285,8 @@ class Ue extends se {
|
|
|
285
285
|
});
|
|
286
286
|
}
|
|
287
287
|
}
|
|
288
|
-
var
|
|
289
|
-
for (var i = r > 1 ? void 0 : r ?
|
|
288
|
+
var Ze = Object.getOwnPropertyDescriptor, Be = (n, e, t, r) => {
|
|
289
|
+
for (var i = r > 1 ? void 0 : r ? Ze(e, t) : e, s = n.length - 1, o; s >= 0; s--)
|
|
290
290
|
(o = n[s]) && (i = o(i) || i);
|
|
291
291
|
return i;
|
|
292
292
|
}, S = (n, e) => (t, r) => e(t, r, n);
|
|
@@ -294,7 +294,7 @@ let R = class extends y {
|
|
|
294
294
|
constructor(e, t, r, i, s, o) {
|
|
295
295
|
super();
|
|
296
296
|
c(this, "_shapes", []);
|
|
297
|
-
c(this, "_rangeCollection", new
|
|
297
|
+
c(this, "_rangeCollection", new Ue());
|
|
298
298
|
c(this, "_color", "rgba(255,0,0,0.5)");
|
|
299
299
|
this._context = e, this._sheetSkeletonManagerService = t, this._sheetsSelectionsService = r, this._sheetsCrosshairHighlightService = i, this._contextService = s, this._refSelectionsService = o, this._initRenderListener();
|
|
300
300
|
}
|
|
@@ -313,7 +313,7 @@ let R = class extends y {
|
|
|
313
313
|
_initRenderListener() {
|
|
314
314
|
const e = this._context.unit;
|
|
315
315
|
this.disposeWithMe(ve([
|
|
316
|
-
this._contextService.subscribeContextValue$(
|
|
316
|
+
this._contextService.subscribeContextValue$(Ie).pipe(Se(!1)),
|
|
317
317
|
this._sheetSkeletonManagerService.currentSkeleton$,
|
|
318
318
|
this._sheetsCrosshairHighlightService.enabled$,
|
|
319
319
|
this._sheetsCrosshairHighlightService.color$.pipe(pe((t) => this._color = t)),
|
|
@@ -322,14 +322,14 @@ let R = class extends y {
|
|
|
322
322
|
this._sheetsSelectionsService.selectionMoving$,
|
|
323
323
|
this._sheetsSelectionsService.selectionMoveEnd$,
|
|
324
324
|
this._sheetsSelectionsService.selectionSet$,
|
|
325
|
-
e.activeSheet$.pipe(
|
|
325
|
+
e.activeSheet$.pipe(N(() => this._sheetsSelectionsService.getCurrentSelections()))
|
|
326
326
|
),
|
|
327
327
|
T(
|
|
328
328
|
this._refSelectionsService.selectionMoveStart$,
|
|
329
329
|
this._refSelectionsService.selectionMoving$,
|
|
330
330
|
this._refSelectionsService.selectionMoveEnd$,
|
|
331
331
|
this._sheetsSelectionsService.selectionSet$,
|
|
332
|
-
e.activeSheet$.pipe(
|
|
332
|
+
e.activeSheet$.pipe(N(() => this._refSelectionsService.getCurrentSelections()))
|
|
333
333
|
)
|
|
334
334
|
]).subscribe(([t, r, i, s, o, a]) => {
|
|
335
335
|
if (this._clear(), !i) return;
|
|
@@ -376,9 +376,9 @@ let R = class extends y {
|
|
|
376
376
|
color: new ee(this._color).toRgb(),
|
|
377
377
|
width: F,
|
|
378
378
|
height: X,
|
|
379
|
-
zIndex:
|
|
379
|
+
zIndex: Ge,
|
|
380
380
|
evented: !1
|
|
381
|
-
}, M = new
|
|
381
|
+
}, M = new De(`crosshair-${t}`, z);
|
|
382
382
|
this._shapes.push(M), r.addObject(M);
|
|
383
383
|
}
|
|
384
384
|
render(e) {
|
|
@@ -397,15 +397,15 @@ let R = class extends y {
|
|
|
397
397
|
super.dispose();
|
|
398
398
|
}
|
|
399
399
|
};
|
|
400
|
-
R =
|
|
401
|
-
S(1, u(
|
|
402
|
-
S(2, u(
|
|
400
|
+
R = Be([
|
|
401
|
+
S(1, u(Ee)),
|
|
402
|
+
S(2, u(He)),
|
|
403
403
|
S(3, u(g)),
|
|
404
404
|
S(4, u(Q)),
|
|
405
|
-
S(5,
|
|
405
|
+
S(5, Oe)
|
|
406
406
|
], R);
|
|
407
|
-
var
|
|
408
|
-
for (var i = r > 1 ? void 0 : r ?
|
|
407
|
+
var We = Object.getOwnPropertyDescriptor, Ye = (n, e, t, r) => {
|
|
408
|
+
for (var i = r > 1 ? void 0 : r ? We(e, t) : e, s = n.length - 1, o; s >= 0; s--)
|
|
409
409
|
(o = n[s]) && (i = o(i) || i);
|
|
410
410
|
return i;
|
|
411
411
|
}, I = (n, e) => (t, r) => e(t, r, n), m;
|
|
@@ -417,7 +417,7 @@ let L = (m = class extends te {
|
|
|
417
417
|
j,
|
|
418
418
|
this._config
|
|
419
419
|
);
|
|
420
|
-
this._configService.setConfig(
|
|
420
|
+
this._configService.setConfig(ye, i);
|
|
421
421
|
}
|
|
422
422
|
onStarting() {
|
|
423
423
|
[
|
|
@@ -431,7 +431,7 @@ let L = (m = class extends te {
|
|
|
431
431
|
].forEach((n) => this._injector.add(n)), this._injector.get(b), this._renderManagerService.registerRenderModule(E.UNIVER_SHEET, [R]);
|
|
432
432
|
}
|
|
433
433
|
}, c(m, "pluginName", "SHEET_CROSSHAIR_HIGHLIGHT_PLUGIN"), c(m, "type", E.UNIVER_SHEET), m);
|
|
434
|
-
L =
|
|
434
|
+
L = Ye([
|
|
435
435
|
I(1, u(ne)),
|
|
436
436
|
I(2, ae),
|
|
437
437
|
I(3, ie)
|
|
@@ -439,7 +439,7 @@ L = We([
|
|
|
439
439
|
export {
|
|
440
440
|
Z as CROSSHAIR_HIGHLIGHT_COLORS,
|
|
441
441
|
Ve as DisableCrosshairHighlightOperation,
|
|
442
|
-
|
|
442
|
+
Ne as EnableCrosshairHighlightOperation,
|
|
443
443
|
B as SetCrosshairHighlightColorOperation,
|
|
444
444
|
g as SheetsCrosshairHighlightService,
|
|
445
445
|
w as ToggleCrosshairHighlightOperation,
|
package/lib/index.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.univer-box-border{box-sizing:border-box}.univer-grid{display:grid}.univer-size-5{width:20px;height:20px}.univer-cursor-pointer{cursor:pointer}.univer-grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.univer-gap-x-2{-moz-column-gap:8px;column-gap:8px}.univer-gap-y-3{row-gap:12px}.univer-rounded{border-radius:4px}.univer-
|
|
1
|
+
.univer-box-border{box-sizing:border-box}.univer-grid{display:grid}.univer-size-5{width:20px;height:20px}.univer-cursor-pointer{cursor:pointer}.univer-grid-cols-8{grid-template-columns:repeat(8,minmax(0,1fr))}.univer-gap-x-2{-moz-column-gap:8px;column-gap:8px}.univer-gap-y-3{row-gap:12px}.univer-rounded{border-radius:4px}.univer-ring-\[1\.5px\]{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1.5px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 #0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 rgba(0,0,0,0))}.univer-ring-primary-600{--tw-ring-color: var(--univer-primary-600) }.univer-ring-offset-1{--tw-ring-offset-width: 1px }.univer-transition-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.hover\:univer-ring-\[1\.5px\]:hover{--tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(1.5px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),0 0 #0000;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow, 0 0 rgba(0,0,0,0))}.hover\:univer-ring-primary-600:hover{--tw-ring-color: var(--univer-primary-600) }
|
package/lib/index.js
CHANGED
|
@@ -4,13 +4,13 @@ var c = (n, e, t) => q(n, typeof e != "symbol" ? e + "" : e, t);
|
|
|
4
4
|
import { Disposable as y, CommandType as H, UniverInstanceType as E, Inject as u, ICommandService as J, RANGE_TYPE as f, Rectangle as $, IContextService as Q, ColorKit as ee, Plugin as te, merge as re, Injector as ne, IConfigService as ie } from "@univerjs/core";
|
|
5
5
|
import { Shape as se, Rect as oe, IRenderManagerService as ae } from "@univerjs/engine-render";
|
|
6
6
|
import { useDependency as ce, useObservable as le, getMenuHiddenObservable as he, MenuItemType as ge, ContextMenuPosition as de, ContextMenuGroup as ue, ComponentManager as fe, IMenuManagerService as _e } from "@univerjs/ui";
|
|
7
|
-
import { BehaviorSubject as x, combineLatest as ve, merge as T, startWith as Se, tap as pe, map as
|
|
8
|
-
import { jsx as
|
|
9
|
-
import { clsx as Ce } from "@univerjs/design";
|
|
10
|
-
import { forwardRef as k, useRef as
|
|
11
|
-
import { SheetsSelectionsService as
|
|
12
|
-
import { SheetSkeletonManagerService as
|
|
13
|
-
const
|
|
7
|
+
import { BehaviorSubject as x, combineLatest as ve, merge as T, startWith as Se, tap as pe, map as N } from "rxjs";
|
|
8
|
+
import { jsx as V } from "react/jsx-runtime";
|
|
9
|
+
import { clsx as Ce, borderClassName as me } from "@univerjs/design";
|
|
10
|
+
import { forwardRef as k, useRef as be, createElement as A, useCallback as Re } from "react";
|
|
11
|
+
import { SheetsSelectionsService as He, IRefSelectionsService as Oe, REF_SELECTIONS_ENABLED as Ie } from "@univerjs/sheets";
|
|
12
|
+
import { SheetSkeletonManagerService as Ee, getCoordByCell as P } from "@univerjs/sheets-ui";
|
|
13
|
+
const ye = "sheets-crosshair-highlight.config", j = {};
|
|
14
14
|
var l = function() {
|
|
15
15
|
return l = Object.assign || function(n) {
|
|
16
16
|
for (var e, t = 1, r = arguments.length; t < r; t++) {
|
|
@@ -19,7 +19,7 @@ var l = function() {
|
|
|
19
19
|
}
|
|
20
20
|
return n;
|
|
21
21
|
}, l.apply(this, arguments);
|
|
22
|
-
},
|
|
22
|
+
}, we = function(n, e) {
|
|
23
23
|
var t = {};
|
|
24
24
|
for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && e.indexOf(r) < 0 && (t[r] = n[r]);
|
|
25
25
|
if (n != null && typeof Object.getOwnPropertySymbols == "function")
|
|
@@ -27,15 +27,15 @@ var l = function() {
|
|
|
27
27
|
e.indexOf(r[i]) < 0 && Object.prototype.propertyIsEnumerable.call(n, r[i]) && (t[r[i]] = n[r[i]]);
|
|
28
28
|
return t;
|
|
29
29
|
}, G = k(function(n, e) {
|
|
30
|
-
var t = n.icon, r = n.id, i = n.className, s = n.extend, o =
|
|
30
|
+
var t = n.icon, r = n.id, i = n.className, s = n.extend, o = we(n, ["icon", "id", "className", "extend"]), a = "univerjs-icon univerjs-icon-".concat(r, " ").concat(i || "").trim(), h = be("_".concat(xe()));
|
|
31
31
|
return U(t, "".concat(r), { defIds: t.defIds, idSuffix: h.current }, l({ ref: e, className: a }, o), s);
|
|
32
32
|
});
|
|
33
33
|
function U(n, e, t, r, i) {
|
|
34
|
-
return A(n.tag, l(l({ key: e },
|
|
34
|
+
return A(n.tag, l(l({ key: e }, Me(n, t, i)), r), ($e(n, t).children || []).map(function(s, o) {
|
|
35
35
|
return U(s, "".concat(e, "-").concat(n.tag, "-").concat(o), t, void 0, i);
|
|
36
36
|
}));
|
|
37
37
|
}
|
|
38
|
-
function
|
|
38
|
+
function Me(n, e, t) {
|
|
39
39
|
var r = l({}, n.attrs);
|
|
40
40
|
t != null && t.colorChannel1 && r.fill === "colorChannel1" && (r.fill = t.colorChannel1), n.tag === "mask" && r.id && (r.id = r.id + e.idSuffix), Object.entries(r).forEach(function(s) {
|
|
41
41
|
var o = s[0], a = s[1];
|
|
@@ -47,21 +47,21 @@ function we(n, e, t) {
|
|
|
47
47
|
typeof a == "string" && (r[o] = a.replace(/url\(#(.*)\)/, "url(#$1".concat(e.idSuffix, ")")));
|
|
48
48
|
})), r;
|
|
49
49
|
}
|
|
50
|
-
function
|
|
50
|
+
function $e(n, e) {
|
|
51
51
|
var t, r = e.defIds;
|
|
52
52
|
return !r || r.length === 0 ? n : n.tag === "defs" && (!((t = n.children) === null || t === void 0) && t.length) ? l(l({}, n), { children: n.children.map(function(i) {
|
|
53
53
|
return typeof i.attrs.id == "string" && r && r.indexOf(i.attrs.id) > -1 ? l(l({}, i), { attrs: l(l({}, i.attrs), { id: i.attrs.id + e.idSuffix }) }) : i;
|
|
54
54
|
}) }) : n;
|
|
55
55
|
}
|
|
56
|
-
function
|
|
56
|
+
function xe() {
|
|
57
57
|
return Math.random().toString(36).substring(2, 8);
|
|
58
58
|
}
|
|
59
59
|
G.displayName = "UniverIcon";
|
|
60
|
-
var
|
|
60
|
+
var Te = { tag: "svg", attrs: { fill: "none", viewBox: "0 0 16 16", width: "1em", height: "1em" }, children: [{ tag: "path", attrs: { fill: "#E5E5E5", d: "M1.6499 3.65002C1.6499 2.54545 2.54533 1.65002 3.6499 1.65002H12.3499C13.4545 1.65002 14.3499 2.54545 14.3499 3.65002V12.35C14.3499 13.4546 13.4545 14.35 12.3499 14.35H3.6499C2.54533 14.35 1.6499 13.4546 1.6499 12.35V3.65002Z" } }, { tag: "path", attrs: { fill: "#fff", d: "M9.9998 1.65002H5.9998V6H1.6499V10H5.9998V14.35H9.9998V10H14.3499V6H9.9998V1.65002Z" } }, { tag: "path", attrs: { fill: "currentColor", d: "M3.6498 1.05005C2.21386 1.05005 1.0498 2.21411 1.0498 3.65005V12.35C1.0498 13.786 2.21386 14.95 3.6498 14.95H12.3498C13.7857 14.95 14.9498 13.786 14.9498 12.3501V3.65005C14.9498 2.21411 13.7857 1.05005 12.3498 1.05005H3.6498ZM5.4002 2.25005H3.6498C2.87661 2.25005 2.2498 2.87685 2.2498 3.65005V5.40002H5.4002V2.25005ZM2.2498 10.6V12.35C2.2498 13.1232 2.87661 13.75 3.6498 13.75H5.4002V10.6H2.2498ZM6.60019 13.75H9.4002V9.40002H13.7498V6.60002H9.4002V2.25005H6.60019V6.60002H2.25029V9.40002H6.60019V13.75ZM10.6002 2.25005V5.40002H13.7498V3.65005C13.7498 2.87685 13.123 2.25005 12.3498 2.25005H10.6002ZM13.7498 10.6H10.6002V13.75H12.3498C13.123 13.75 13.7498 13.1232 13.7498 12.3501V10.6Z", fillRule: "evenodd", clipRule: "evenodd" } }] }, D = k(function(n, e) {
|
|
61
61
|
return A(G, Object.assign({}, n, {
|
|
62
62
|
id: "cross-highlighting-single",
|
|
63
63
|
ref: e,
|
|
64
|
-
icon:
|
|
64
|
+
icon: Te
|
|
65
65
|
}));
|
|
66
66
|
});
|
|
67
67
|
D.displayName = "CrossHighlightingSingle";
|
|
@@ -121,7 +121,7 @@ const w = {
|
|
|
121
121
|
const t = n.get(g);
|
|
122
122
|
return t.enabled || t.setEnabled(!0), t.setColor(e), !0;
|
|
123
123
|
}
|
|
124
|
-
},
|
|
124
|
+
}, Ne = {
|
|
125
125
|
id: "sheet.operation.enable-crosshair-highlight",
|
|
126
126
|
type: H.OPERATION,
|
|
127
127
|
handler(n) {
|
|
@@ -136,18 +136,18 @@ const w = {
|
|
|
136
136
|
return e.enabled ? (e.setEnabled(!1), !0) : !1;
|
|
137
137
|
}
|
|
138
138
|
};
|
|
139
|
-
function
|
|
140
|
-
const { onChange: e } = n, t = ce(g), r = le(t.color$), i =
|
|
139
|
+
function Pe(n) {
|
|
140
|
+
const { onChange: e } = n, t = ce(g), r = le(t.color$), i = Re((s) => {
|
|
141
141
|
e == null || e(s);
|
|
142
142
|
}, [e]);
|
|
143
|
-
return /* @__PURE__ */
|
|
143
|
+
return /* @__PURE__ */ V("div", { className: "univer-grid univer-grid-cols-8 univer-gap-x-2 univer-gap-y-3", children: Z.map((s) => /* @__PURE__ */ V(
|
|
144
144
|
"div",
|
|
145
145
|
{
|
|
146
146
|
className: Ce(`
|
|
147
|
-
univer-box-border univer-size-5 univer-cursor-pointer univer-rounded univer-
|
|
148
|
-
univer-
|
|
147
|
+
univer-box-border univer-size-5 univer-cursor-pointer univer-rounded univer-ring-offset-1
|
|
148
|
+
univer-transition-shadow
|
|
149
149
|
hover:univer-ring-[1.5px] hover:univer-ring-primary-600/40
|
|
150
|
-
`, {
|
|
150
|
+
`, me, {
|
|
151
151
|
"univer-ring-[1.5px] univer-ring-primary-600 hover:univer-ring-primary-600": s === r
|
|
152
152
|
}),
|
|
153
153
|
style: { backgroundColor: s },
|
|
@@ -157,7 +157,7 @@ function Ne(n) {
|
|
|
157
157
|
)) });
|
|
158
158
|
}
|
|
159
159
|
const W = "CROSSHAIR_HIGHLIGHT_OVERLAY_COMPONENT";
|
|
160
|
-
function
|
|
160
|
+
function je(n) {
|
|
161
161
|
const e = n.get(g);
|
|
162
162
|
return {
|
|
163
163
|
id: w.id,
|
|
@@ -178,18 +178,18 @@ function Pe(n) {
|
|
|
178
178
|
hidden$: he(n, E.UNIVER_SHEET)
|
|
179
179
|
};
|
|
180
180
|
}
|
|
181
|
-
const
|
|
181
|
+
const Le = {
|
|
182
182
|
[de.FOOTER_MENU]: {
|
|
183
183
|
[ue.OTHERS]: {
|
|
184
184
|
[w.id]: {
|
|
185
185
|
order: 0,
|
|
186
|
-
menuItemFactory:
|
|
186
|
+
menuItemFactory: je
|
|
187
187
|
}
|
|
188
188
|
}
|
|
189
189
|
}
|
|
190
190
|
};
|
|
191
|
-
var
|
|
192
|
-
for (var i = r > 1 ? void 0 : r ?
|
|
191
|
+
var ke = Object.getOwnPropertyDescriptor, Ae = (n, e, t, r) => {
|
|
192
|
+
for (var i = r > 1 ? void 0 : r ? ke(e, t) : e, s = n.length - 1, o; s >= 0; s--)
|
|
193
193
|
(o = n[s]) && (i = o(i) || i);
|
|
194
194
|
return i;
|
|
195
195
|
}, O = (n, e) => (t, r) => e(t, r, n);
|
|
@@ -201,24 +201,24 @@ let b = class extends y {
|
|
|
201
201
|
[
|
|
202
202
|
w,
|
|
203
203
|
B,
|
|
204
|
-
|
|
204
|
+
Ne,
|
|
205
205
|
Ve
|
|
206
206
|
].forEach((n) => this._cmdSrv.registerCommand(n));
|
|
207
207
|
}
|
|
208
208
|
_initMenus() {
|
|
209
|
-
this._menuManagerService.mergeMenu(
|
|
209
|
+
this._menuManagerService.mergeMenu(Le);
|
|
210
210
|
}
|
|
211
211
|
_initComponents() {
|
|
212
|
-
this._componentMgr.register(W,
|
|
212
|
+
this._componentMgr.register(W, Pe), this._componentMgr.register("CrossHighlightingSingle", D);
|
|
213
213
|
}
|
|
214
214
|
};
|
|
215
|
-
b =
|
|
215
|
+
b = Ae([
|
|
216
216
|
O(0, u(fe)),
|
|
217
217
|
O(1, _e),
|
|
218
218
|
O(2, J)
|
|
219
219
|
], b);
|
|
220
|
-
const
|
|
221
|
-
class
|
|
220
|
+
const Ge = 1;
|
|
221
|
+
class Ue {
|
|
222
222
|
constructor() {
|
|
223
223
|
c(this, "_selectedRanges", []);
|
|
224
224
|
c(this, "_ranges", []);
|
|
@@ -259,7 +259,7 @@ class Ge {
|
|
|
259
259
|
this._ranges = [], this._selectedRanges = [];
|
|
260
260
|
}
|
|
261
261
|
}
|
|
262
|
-
class
|
|
262
|
+
class De extends se {
|
|
263
263
|
constructor(t, r) {
|
|
264
264
|
super(t, r);
|
|
265
265
|
// protected _showHighLight = false;
|
|
@@ -285,8 +285,8 @@ class Ue extends se {
|
|
|
285
285
|
});
|
|
286
286
|
}
|
|
287
287
|
}
|
|
288
|
-
var
|
|
289
|
-
for (var i = r > 1 ? void 0 : r ?
|
|
288
|
+
var Ze = Object.getOwnPropertyDescriptor, Be = (n, e, t, r) => {
|
|
289
|
+
for (var i = r > 1 ? void 0 : r ? Ze(e, t) : e, s = n.length - 1, o; s >= 0; s--)
|
|
290
290
|
(o = n[s]) && (i = o(i) || i);
|
|
291
291
|
return i;
|
|
292
292
|
}, S = (n, e) => (t, r) => e(t, r, n);
|
|
@@ -294,7 +294,7 @@ let R = class extends y {
|
|
|
294
294
|
constructor(e, t, r, i, s, o) {
|
|
295
295
|
super();
|
|
296
296
|
c(this, "_shapes", []);
|
|
297
|
-
c(this, "_rangeCollection", new
|
|
297
|
+
c(this, "_rangeCollection", new Ue());
|
|
298
298
|
c(this, "_color", "rgba(255,0,0,0.5)");
|
|
299
299
|
this._context = e, this._sheetSkeletonManagerService = t, this._sheetsSelectionsService = r, this._sheetsCrosshairHighlightService = i, this._contextService = s, this._refSelectionsService = o, this._initRenderListener();
|
|
300
300
|
}
|
|
@@ -313,7 +313,7 @@ let R = class extends y {
|
|
|
313
313
|
_initRenderListener() {
|
|
314
314
|
const e = this._context.unit;
|
|
315
315
|
this.disposeWithMe(ve([
|
|
316
|
-
this._contextService.subscribeContextValue$(
|
|
316
|
+
this._contextService.subscribeContextValue$(Ie).pipe(Se(!1)),
|
|
317
317
|
this._sheetSkeletonManagerService.currentSkeleton$,
|
|
318
318
|
this._sheetsCrosshairHighlightService.enabled$,
|
|
319
319
|
this._sheetsCrosshairHighlightService.color$.pipe(pe((t) => this._color = t)),
|
|
@@ -322,14 +322,14 @@ let R = class extends y {
|
|
|
322
322
|
this._sheetsSelectionsService.selectionMoving$,
|
|
323
323
|
this._sheetsSelectionsService.selectionMoveEnd$,
|
|
324
324
|
this._sheetsSelectionsService.selectionSet$,
|
|
325
|
-
e.activeSheet$.pipe(
|
|
325
|
+
e.activeSheet$.pipe(N(() => this._sheetsSelectionsService.getCurrentSelections()))
|
|
326
326
|
),
|
|
327
327
|
T(
|
|
328
328
|
this._refSelectionsService.selectionMoveStart$,
|
|
329
329
|
this._refSelectionsService.selectionMoving$,
|
|
330
330
|
this._refSelectionsService.selectionMoveEnd$,
|
|
331
331
|
this._sheetsSelectionsService.selectionSet$,
|
|
332
|
-
e.activeSheet$.pipe(
|
|
332
|
+
e.activeSheet$.pipe(N(() => this._refSelectionsService.getCurrentSelections()))
|
|
333
333
|
)
|
|
334
334
|
]).subscribe(([t, r, i, s, o, a]) => {
|
|
335
335
|
if (this._clear(), !i) return;
|
|
@@ -376,9 +376,9 @@ let R = class extends y {
|
|
|
376
376
|
color: new ee(this._color).toRgb(),
|
|
377
377
|
width: F,
|
|
378
378
|
height: X,
|
|
379
|
-
zIndex:
|
|
379
|
+
zIndex: Ge,
|
|
380
380
|
evented: !1
|
|
381
|
-
}, M = new
|
|
381
|
+
}, M = new De(`crosshair-${t}`, z);
|
|
382
382
|
this._shapes.push(M), r.addObject(M);
|
|
383
383
|
}
|
|
384
384
|
render(e) {
|
|
@@ -397,15 +397,15 @@ let R = class extends y {
|
|
|
397
397
|
super.dispose();
|
|
398
398
|
}
|
|
399
399
|
};
|
|
400
|
-
R =
|
|
401
|
-
S(1, u(
|
|
402
|
-
S(2, u(
|
|
400
|
+
R = Be([
|
|
401
|
+
S(1, u(Ee)),
|
|
402
|
+
S(2, u(He)),
|
|
403
403
|
S(3, u(g)),
|
|
404
404
|
S(4, u(Q)),
|
|
405
|
-
S(5,
|
|
405
|
+
S(5, Oe)
|
|
406
406
|
], R);
|
|
407
|
-
var
|
|
408
|
-
for (var i = r > 1 ? void 0 : r ?
|
|
407
|
+
var We = Object.getOwnPropertyDescriptor, Ye = (n, e, t, r) => {
|
|
408
|
+
for (var i = r > 1 ? void 0 : r ? We(e, t) : e, s = n.length - 1, o; s >= 0; s--)
|
|
409
409
|
(o = n[s]) && (i = o(i) || i);
|
|
410
410
|
return i;
|
|
411
411
|
}, I = (n, e) => (t, r) => e(t, r, n), m;
|
|
@@ -417,7 +417,7 @@ let L = (m = class extends te {
|
|
|
417
417
|
j,
|
|
418
418
|
this._config
|
|
419
419
|
);
|
|
420
|
-
this._configService.setConfig(
|
|
420
|
+
this._configService.setConfig(ye, i);
|
|
421
421
|
}
|
|
422
422
|
onStarting() {
|
|
423
423
|
[
|
|
@@ -431,7 +431,7 @@ let L = (m = class extends te {
|
|
|
431
431
|
].forEach((n) => this._injector.add(n)), this._injector.get(b), this._renderManagerService.registerRenderModule(E.UNIVER_SHEET, [R]);
|
|
432
432
|
}
|
|
433
433
|
}, c(m, "pluginName", "SHEET_CROSSHAIR_HIGHLIGHT_PLUGIN"), c(m, "type", E.UNIVER_SHEET), m);
|
|
434
|
-
L =
|
|
434
|
+
L = Ye([
|
|
435
435
|
I(1, u(ne)),
|
|
436
436
|
I(2, ae),
|
|
437
437
|
I(3, ie)
|
|
@@ -439,7 +439,7 @@ L = We([
|
|
|
439
439
|
export {
|
|
440
440
|
Z as CROSSHAIR_HIGHLIGHT_COLORS,
|
|
441
441
|
Ve as DisableCrosshairHighlightOperation,
|
|
442
|
-
|
|
442
|
+
Ne as EnableCrosshairHighlightOperation,
|
|
443
443
|
B as SetCrosshairHighlightColorOperation,
|
|
444
444
|
g as SheetsCrosshairHighlightService,
|
|
445
445
|
w as ToggleCrosshairHighlightOperation,
|
package/lib/umd/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
(function(c,o){typeof exports=="object"&&typeof module<"u"?o(exports,require("@univerjs/core"),require("@univerjs/engine-render"),require("@univerjs/ui"),require("rxjs"),require("react/jsx-runtime"),require("@univerjs/design"),require("react"),require("@univerjs/sheets"),require("@univerjs/sheets-ui")):typeof define=="function"&&define.amd?define(["exports","@univerjs/core","@univerjs/engine-render","@univerjs/ui","rxjs","react/jsx-runtime","@univerjs/design","react","@univerjs/sheets","@univerjs/sheets-ui"],o):(c=typeof globalThis<"u"?globalThis:c||self,o(c.UniverSheetsCrosshairHighlight={},c.UniverCore,c.UniverEngineRender,c.UniverUi,c.rxjs,c.React,c.UniverDesign,c.React,c.UniverSheets,c.UniverSheetsUi))})(this,function(c,o,v,_,d,P,
|
|
2
|
-
univer-box-border univer-size-5 univer-cursor-pointer univer-rounded univer-
|
|
3
|
-
univer-
|
|
1
|
+
(function(c,o){typeof exports=="object"&&typeof module<"u"?o(exports,require("@univerjs/core"),require("@univerjs/engine-render"),require("@univerjs/ui"),require("rxjs"),require("react/jsx-runtime"),require("@univerjs/design"),require("react"),require("@univerjs/sheets"),require("@univerjs/sheets-ui")):typeof define=="function"&&define.amd?define(["exports","@univerjs/core","@univerjs/engine-render","@univerjs/ui","rxjs","react/jsx-runtime","@univerjs/design","react","@univerjs/sheets","@univerjs/sheets-ui"],o):(c=typeof globalThis<"u"?globalThis:c||self,o(c.UniverSheetsCrosshairHighlight={},c.UniverCore,c.UniverEngineRender,c.UniverUi,c.rxjs,c.React,c.UniverDesign,c.React,c.UniverSheets,c.UniverSheetsUi))})(this,function(c,o,v,_,d,P,V,C,T,w){"use strict";var ue=Object.defineProperty;var de=(c,o,v)=>o in c?ue(c,o,{enumerable:!0,configurable:!0,writable:!0,value:v}):c[o]=v;var h=(c,o,v)=>de(c,typeof o!="symbol"?o+"":o,v);var E;const q="sheets-crosshair-highlight.config",x={};var g=function(){return g=Object.assign||function(r){for(var e,t=1,n=arguments.length;t<n;t++){e=arguments[t];for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(r[i]=e[i])}return r},g.apply(this,arguments)},B=function(r,e){var t={};for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&e.indexOf(n)<0&&(t[n]=r[n]);if(r!=null&&typeof Object.getOwnPropertySymbols=="function")for(var i=0,n=Object.getOwnPropertySymbols(r);i<n.length;i++)e.indexOf(n[i])<0&&Object.prototype.propertyIsEnumerable.call(r,n[i])&&(t[n[i]]=r[n[i]]);return t},A=C.forwardRef(function(r,e){var t=r.icon,n=r.id,i=r.className,s=r.extend,a=B(r,["icon","id","className","extend"]),l="univerjs-icon univerjs-icon-".concat(n," ").concat(i||"").trim(),u=C.useRef("_".concat(F()));return L(t,"".concat(n),{defIds:t.defIds,idSuffix:u.current},g({ref:e,className:l},a),s)});function L(r,e,t,n,i){return C.createElement(r.tag,g(g({key:e},Z(r,t,i)),n),(W(r,t).children||[]).map(function(s,a){return L(s,"".concat(e,"-").concat(r.tag,"-").concat(a),t,void 0,i)}))}function Z(r,e,t){var n=g({},r.attrs);t!=null&&t.colorChannel1&&n.fill==="colorChannel1"&&(n.fill=t.colorChannel1),r.tag==="mask"&&n.id&&(n.id=n.id+e.idSuffix),Object.entries(n).forEach(function(s){var a=s[0],l=s[1];a==="mask"&&typeof l=="string"&&(n[a]=l.replace(/url\(#(.*)\)/,"url(#$1".concat(e.idSuffix,")")))});var i=e.defIds;return!i||i.length===0||(r.tag==="use"&&n["xlink:href"]&&(n["xlink:href"]=n["xlink:href"]+e.idSuffix),Object.entries(n).forEach(function(s){var a=s[0],l=s[1];typeof l=="string"&&(n[a]=l.replace(/url\(#(.*)\)/,"url(#$1".concat(e.idSuffix,")")))})),n}function W(r,e){var t,n=e.defIds;return!n||n.length===0?r:r.tag==="defs"&&(!((t=r.children)===null||t===void 0)&&t.length)?g(g({},r),{children:r.children.map(function(i){return typeof i.attrs.id=="string"&&n&&n.indexOf(i.attrs.id)>-1?g(g({},i),{attrs:g(g({},i.attrs),{id:i.attrs.id+e.idSuffix})}):i})}):r}function F(){return Math.random().toString(36).substring(2,8)}A.displayName="UniverIcon";var X={tag:"svg",attrs:{fill:"none",viewBox:"0 0 16 16",width:"1em",height:"1em"},children:[{tag:"path",attrs:{fill:"#E5E5E5",d:"M1.6499 3.65002C1.6499 2.54545 2.54533 1.65002 3.6499 1.65002H12.3499C13.4545 1.65002 14.3499 2.54545 14.3499 3.65002V12.35C14.3499 13.4546 13.4545 14.35 12.3499 14.35H3.6499C2.54533 14.35 1.6499 13.4546 1.6499 12.35V3.65002Z"}},{tag:"path",attrs:{fill:"#fff",d:"M9.9998 1.65002H5.9998V6H1.6499V10H5.9998V14.35H9.9998V10H14.3499V6H9.9998V1.65002Z"}},{tag:"path",attrs:{fill:"currentColor",d:"M3.6498 1.05005C2.21386 1.05005 1.0498 2.21411 1.0498 3.65005V12.35C1.0498 13.786 2.21386 14.95 3.6498 14.95H12.3498C13.7857 14.95 14.9498 13.786 14.9498 12.3501V3.65005C14.9498 2.21411 13.7857 1.05005 12.3498 1.05005H3.6498ZM5.4002 2.25005H3.6498C2.87661 2.25005 2.2498 2.87685 2.2498 3.65005V5.40002H5.4002V2.25005ZM2.2498 10.6V12.35C2.2498 13.1232 2.87661 13.75 3.6498 13.75H5.4002V10.6H2.2498ZM6.60019 13.75H9.4002V9.40002H13.7498V6.60002H9.4002V2.25005H6.60019V6.60002H2.25029V9.40002H6.60019V13.75ZM10.6002 2.25005V5.40002H13.7498V3.65005C13.7498 2.87685 13.123 2.25005 12.3498 2.25005H10.6002ZM13.7498 10.6H10.6002V13.75H12.3498C13.123 13.75 13.7498 13.1232 13.7498 12.3501V10.6Z",fillRule:"evenodd",clipRule:"evenodd"}}]},U=C.forwardRef(function(r,e){return C.createElement(A,Object.assign({},r,{id:"cross-highlighting-single",ref:e,icon:X}))});U.displayName="CrossHighlightingSingle";const M=["rgba(158, 109, 227, 0.3)","rgba(254, 75, 75, 0.3)","rgba(255, 140, 81, 0.3)","rgba(164, 220, 22, 0.3)","rgba(45, 174, 255, 0.3)","rgba(58, 96, 247, 0.3)","rgba(242, 72, 166, 0.3)","rgba(153, 153, 153, 0.3)","rgba(158, 109, 227, 0.15)","rgba(254, 75, 75, 0.15)","rgba(255, 140, 81, 0.15)","rgba(164, 220, 22, 0.15)","rgba(45, 174, 255, 0.15)","rgba(58, 96, 247, 0.15)","rgba(242, 72, 166, 0.15)","rgba(153, 153, 153, 0.15)"];class f extends o.Disposable{constructor(){super(...arguments);h(this,"_enabled$",new d.BehaviorSubject(!1));h(this,"enabled$",this._enabled$.asObservable());h(this,"_color$",new d.BehaviorSubject(M[0]));h(this,"color$",this._color$.asObservable())}get enabled(){return this._enabled$.getValue()}get color(){return this._color$.getValue()}dispose(){this._enabled$.complete()}setEnabled(t){this._enabled$.next(t)}setColor(t){this._color$.next(t)}}const R={id:"sheet.operation.toggle-crosshair-highlight",type:o.CommandType.OPERATION,handler(r){const e=r.get(f),t=e.enabled;return e.setEnabled(!t),!0}},$={id:"sheet.operation.set-crosshair-highlight-color",type:o.CommandType.OPERATION,handler(r,{value:e}){const t=r.get(f);return t.enabled||t.setEnabled(!0),t.setColor(e),!0}},G={id:"sheet.operation.enable-crosshair-highlight",type:o.CommandType.OPERATION,handler(r){const e=r.get(f);return e.enabled?!1:(e.setEnabled(!0),!0)}},k={id:"sheet.operation.disable-crosshair-highlight",type:o.CommandType.OPERATION,handler(r){const e=r.get(f);return e.enabled?(e.setEnabled(!1),!0):!1}};function z(r){const{onChange:e}=r,t=_.useDependency(f),n=_.useObservable(t.color$),i=C.useCallback(s=>{e==null||e(s)},[e]);return P.jsx("div",{className:"univer-grid univer-grid-cols-8 univer-gap-x-2 univer-gap-y-3",children:M.map(s=>P.jsx("div",{className:V.clsx(`
|
|
2
|
+
univer-box-border univer-size-5 univer-cursor-pointer univer-rounded univer-ring-offset-1
|
|
3
|
+
univer-transition-shadow
|
|
4
4
|
hover:univer-ring-[1.5px] hover:univer-ring-primary-600/40
|
|
5
|
-
`,{"univer-ring-[1.5px] univer-ring-primary-600 hover:univer-ring-primary-600":s===n}),style:{backgroundColor:s},onClick:()=>
|
|
5
|
+
`,V.borderClassName,{"univer-ring-[1.5px] univer-ring-primary-600 hover:univer-ring-primary-600":s===n}),style:{backgroundColor:s},onClick:()=>i(s)},s))})}const D="CROSSHAIR_HIGHLIGHT_OVERLAY_COMPONENT";function K(r){const e=r.get(f);return{id:R.id,tooltip:"crosshair.button.tooltip",type:_.MenuItemType.BUTTON_SELECTOR,icon:"CrossHighlightingSingle",selections:[{label:{name:D,hoverable:!1,selectable:!1}}],selectionsCommandId:$.id,activated$:e.enabled$,hidden$:_.getMenuHiddenObservable(r,o.UniverInstanceType.UNIVER_SHEET)}}const J={[_.ContextMenuPosition.FOOTER_MENU]:{[_.ContextMenuGroup.OTHERS]:{[R.id]:{order:0,menuItemFactory:K}}}};var Q=Object.getOwnPropertyDescriptor,ee=(r,e,t,n)=>{for(var i=n>1?void 0:n?Q(e,t):e,s=r.length-1,a;s>=0;s--)(a=r[s])&&(i=a(i)||i);return i},j=(r,e)=>(t,n)=>e(t,n,r);let b=class extends o.Disposable{constructor(r,e,t){super(),this._componentMgr=r,this._menuManagerService=e,this._cmdSrv=t,this._initCommands(),this._initMenus(),this._initComponents()}_initCommands(){[R,$,G,k].forEach(r=>this._cmdSrv.registerCommand(r))}_initMenus(){this._menuManagerService.mergeMenu(J)}_initComponents(){this._componentMgr.register(D,z),this._componentMgr.register("CrossHighlightingSingle",U)}};b=ee([j(0,o.Inject(_.ComponentManager)),j(1,_.IMenuManagerService),j(2,o.ICommandService)],b);const te=1;class ne{constructor(){h(this,"_selectedRanges",[]);h(this,"_ranges",[])}addRange(e){if(e.rangeType===o.RANGE_TYPE.COLUMN||e.rangeType===o.RANGE_TYPE.ROW||e.rangeType===o.RANGE_TYPE.ALL)return;const t=this._getIntersects(e),n=this._getSplitRanges(e,t);n.length>0&&this._ranges.push(...n)}setSelectedRanges(e){this._selectedRanges=e}_getSplitRanges(e,t){let n=[e];for(const i of t.concat(this._selectedRanges)){const s=[];for(const a of n){const l=o.Rectangle.subtract(a,i);l&&l.length>0&&s.push(...l)}n=s}return n.filter(i=>i.startRow<=i.endRow&&i.startColumn<=i.endColumn)}_getIntersects(e){const t=[];for(const n of this._ranges){const i=o.Rectangle.getIntersects(n,e);i&&t.push(i)}return t}getRanges(){return this._ranges}reset(){this._ranges=[],this._selectedRanges=[]}}class ie extends v.Shape{constructor(t,n){super(t,n);h(this,"_color");n&&this.setShapeProps(n)}setShapeProps(t){typeof t.color<"u"&&(this._color=t.color),this.transformByState({width:t.width,height:t.height})}_draw(t){var i,s;const n=`rgba(${this._color.r}, ${this._color.g}, ${this._color.b}, ${(s=(i=this._color)==null?void 0:i.a)!=null?s:.5})`;v.Rect.drawWith(t,{width:this.width,height:this.height,fill:n,stroke:void 0,strokeWidth:0,evented:!1})}}var re=Object.getOwnPropertyDescriptor,se=(r,e,t,n)=>{for(var i=n>1?void 0:n?re(e,t):e,s=r.length-1,a;s>=0;s--)(a=r[s])&&(i=a(i)||i);return i},p=(r,e)=>(t,n)=>e(t,n,r);let O=class extends o.Disposable{constructor(e,t,n,i,s,a){super();h(this,"_shapes",[]);h(this,"_rangeCollection",new ne);h(this,"_color","rgba(255,0,0,0.5)");this._context=e,this._sheetSkeletonManagerService=t,this._sheetsSelectionsService=n,this._sheetsCrosshairHighlightService=i,this._contextService=s,this._refSelectionsService=a,this._initRenderListener()}_transformSelection(e,t){if(!e)return;const n=t.getRowCount(),i=t.getColumnCount(),s=[];for(const a of e){const{startRow:l,endRow:u,startColumn:m,endColumn:H}=a.range;u-l+1===n||H-m+1===i||s.push(a.range)}this._rangeCollection.setSelectedRanges(s);for(const a of s)this.addSelection(a,t)}_initRenderListener(){const e=this._context.unit;this.disposeWithMe(d.combineLatest([this._contextService.subscribeContextValue$(T.REF_SELECTIONS_ENABLED).pipe(d.startWith(!1)),this._sheetSkeletonManagerService.currentSkeleton$,this._sheetsCrosshairHighlightService.enabled$,this._sheetsCrosshairHighlightService.color$.pipe(d.tap(t=>this._color=t)),d.merge(this._sheetsSelectionsService.selectionMoveStart$,this._sheetsSelectionsService.selectionMoving$,this._sheetsSelectionsService.selectionMoveEnd$,this._sheetsSelectionsService.selectionSet$,e.activeSheet$.pipe(d.map(()=>this._sheetsSelectionsService.getCurrentSelections()))),d.merge(this._refSelectionsService.selectionMoveStart$,this._refSelectionsService.selectionMoving$,this._refSelectionsService.selectionMoveEnd$,this._sheetsSelectionsService.selectionSet$,e.activeSheet$.pipe(d.map(()=>this._refSelectionsService.getCurrentSelections())))]).subscribe(([t,n,i,s,a,l])=>{if(this._clear(),!i)return;const u=t?l:a;this._rangeCollection.reset(),this._transformSelection(u,e.getActiveSheet()),this.render(this._rangeCollection.getRanges())}))}addSelection(e,t){if(e.rangeType===o.RANGE_TYPE.COLUMN||e.rangeType===o.RANGE_TYPE.ROW||e.rangeType===o.RANGE_TYPE.ALL)return;const n=t.getRowCount(),i=t.getColumnCount(),{startRow:s,endRow:a,startColumn:l,endColumn:u}=e,m={startRow:s,endRow:a,startColumn:0,endColumn:l-1},H={startRow:s,endRow:a,startColumn:u+1,endColumn:i},I={startRow:0,endRow:s-1,startColumn:l,endColumn:u},y={startRow:a+1,endRow:n,startColumn:l,endColumn:u};for(const S of[m,H,I,y])S.startRow<=S.endRow&&S.startColumn<=S.endColumn&&this._rangeCollection.addRange(S)}_clear(){this._shapes.forEach(e=>{e.dispose()}),this._shapes=[]}_addShapes(e,t,n,i){const{startRow:s,endRow:a,startColumn:l,endColumn:u}=e,m=w.getCoordByCell(s,l,n,i),H=w.getCoordByCell(a,u,n,i),{startX:I,startY:y}=m,{endX:S,endY:ce}=H,le=S-I,he=ce-y,ge={left:I,top:y,color:new o.ColorKit(this._color).toRgb(),width:le,height:he,zIndex:te,evented:!1},Y=new ie(`crosshair-${t}`,ge);this._shapes.push(Y),n.addObject(Y)}render(e){const t=this._sheetSkeletonManagerService.getCurrentSkeleton();if(!t)return;const{scene:n}=this._context;this._clear();for(let i=0;i<e.length;i++){const s=e[i];this._addShapes(s,i,n,t)}n.makeDirty(!0)}async dispose(){super.dispose()}};O=se([p(1,o.Inject(w.SheetSkeletonManagerService)),p(2,o.Inject(T.SheetsSelectionsService)),p(3,o.Inject(f)),p(4,o.Inject(o.IContextService)),p(5,T.IRefSelectionsService)],O);var oe=Object.getOwnPropertyDescriptor,ae=(r,e,t,n)=>{for(var i=n>1?void 0:n?oe(e,t):e,s=r.length-1,a;s>=0;s--)(a=r[s])&&(i=a(i)||i);return i},N=(r,e)=>(t,n)=>e(t,n,r);c.UniverSheetsCrosshairHighlightPlugin=(E=class extends o.Plugin{constructor(e=x,t,n,i){super(),this._config=e,this._injector=t,this._renderManagerService=n,this._configService=i;const{...s}=o.merge({},x,this._config);this._configService.setConfig(q,s)}onStarting(){[[f],[b]].forEach(e=>this._injector.add(e))}onReady(){[[O]].forEach(e=>this._injector.add(e)),this._injector.get(b),this._renderManagerService.registerRenderModule(o.UniverInstanceType.UNIVER_SHEET,[O])}},h(E,"pluginName","SHEET_CROSSHAIR_HIGHLIGHT_PLUGIN"),h(E,"type",o.UniverInstanceType.UNIVER_SHEET),E),c.UniverSheetsCrosshairHighlightPlugin=ae([N(1,o.Inject(o.Injector)),N(2,v.IRenderManagerService),N(3,o.IConfigService)],c.UniverSheetsCrosshairHighlightPlugin),c.CROSSHAIR_HIGHLIGHT_COLORS=M,c.DisableCrosshairHighlightOperation=k,c.EnableCrosshairHighlightOperation=G,c.SetCrosshairHighlightColorOperation=$,c.SheetsCrosshairHighlightService=f,c.ToggleCrosshairHighlightOperation=R,Object.defineProperty(c,Symbol.toStringTag,{value:"Module"})});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@univerjs/sheets-crosshair-highlight",
|
|
3
|
-
"version": "0.7.0-nightly.
|
|
3
|
+
"version": "0.7.0-nightly.202505101606",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "",
|
|
6
6
|
"author": "DreamNum <developer@univer.ai>",
|
|
@@ -63,12 +63,12 @@
|
|
|
63
63
|
},
|
|
64
64
|
"dependencies": {
|
|
65
65
|
"@univerjs/icons": "^0.3.24",
|
|
66
|
-
"@univerjs/core": "0.7.0-nightly.
|
|
67
|
-
"@univerjs/design": "0.7.0-nightly.
|
|
68
|
-
"@univerjs/
|
|
69
|
-
"@univerjs/
|
|
70
|
-
"@univerjs/
|
|
71
|
-
"@univerjs/ui": "0.7.0-nightly.
|
|
66
|
+
"@univerjs/core": "0.7.0-nightly.202505101606",
|
|
67
|
+
"@univerjs/design": "0.7.0-nightly.202505101606",
|
|
68
|
+
"@univerjs/sheets": "0.7.0-nightly.202505101606",
|
|
69
|
+
"@univerjs/engine-render": "0.7.0-nightly.202505101606",
|
|
70
|
+
"@univerjs/ui": "0.7.0-nightly.202505101606",
|
|
71
|
+
"@univerjs/sheets-ui": "0.7.0-nightly.202505101606"
|
|
72
72
|
},
|
|
73
73
|
"devDependencies": {
|
|
74
74
|
"postcss": "^8.5.3",
|
|
@@ -78,7 +78,7 @@
|
|
|
78
78
|
"typescript": "^5.8.3",
|
|
79
79
|
"vite": "^6.3.5",
|
|
80
80
|
"vitest": "^3.1.3",
|
|
81
|
-
"@univerjs-infra/shared": "0.7.0-beta.
|
|
81
|
+
"@univerjs-infra/shared": "0.7.0-beta.1"
|
|
82
82
|
},
|
|
83
83
|
"scripts": {
|
|
84
84
|
"test": "vitest run",
|