@univerjs/sheets-crosshair-highlight 0.5.0-nightly.202411281606 → 0.5.0-nightly.202411291606
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 +2 -2
- package/lib/es/index.js +68 -68
- package/lib/types/controllers/config.schema.d.ts +1 -1
- package/lib/types/plugin.d.ts +1 -1
- package/lib/umd/index.js +2 -2
- package/package.json +6 -6
package/lib/cjs/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";var K=Object.defineProperty;var z=(n,e,t)=>e in n?K(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var g=(n,e,t)=>z(n,typeof e!="symbol"?e+"":e,t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("@univerjs/core"),M=require("@univerjs/engine-render"),m=require("@univerjs/ui"),_=require("rxjs"),C=require("react"),P=require("@univerjs/sheets-ui"),$=require("@univerjs/sheets");var u=function(){return u=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},u.apply(this,arguments)},
|
|
1
|
+
"use strict";var K=Object.defineProperty;var z=(n,e,t)=>e in n?K(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var g=(n,e,t)=>z(n,typeof e!="symbol"?e+"":e,t);Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const a=require("@univerjs/core"),M=require("@univerjs/engine-render"),m=require("@univerjs/ui"),_=require("rxjs"),C=require("react"),P=require("@univerjs/sheets-ui"),$=require("@univerjs/sheets"),Q="sheets-crosshair-highlight.config",ee={};var u=function(){return u=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},u.apply(this,arguments)},te=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},U=C.forwardRef(function(n,e){var t=n.icon,r=n.id,i=n.className,s=n.extend,o=te(n,["icon","id","className","extend"]),c="univerjs-icon univerjs-icon-".concat(r," ").concat(i||"").trim(),l=C.useRef("_".concat(ie()));return D(t,"".concat(r),{defIds:t.defIds,idSuffix:l.current},u({ref:e,className:c},o),s)});function D(n,e,t,r,i){return C.createElement(n.tag,u(u({key:e},re(n,t,i)),r),(ne(n,t).children||[]).map(function(s,o){return D(s,"".concat(e,"-").concat(n.tag,"-").concat(o),t,void 0,i)}))}function re(n,e,t){var r=u({},n.attrs);t!=null&&t.colorChannel1&&r.fill==="colorChannel1"&&(r.fill=t.colorChannel1);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 ne(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)?u(u({},n),{children:n.children.map(function(i){return typeof i.attrs.id=="string"&&r&&r.indexOf(i.attrs.id)>-1?u(u({},i),{attrs:u(u({},i.attrs),{id:i.attrs.id+e.idSuffix})}):i})}):n}function ie(){return Math.random().toString(36).substring(2,8)}U.displayName="UniverIcon";var se={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"}}]},q=C.forwardRef(function(n,e){return C.createElement(U,Object.assign({},n,{id:"cross-highlighting-single",ref:e,icon:se}))});q.displayName="CrossHighlightingSingle";const j=["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 p extends a.Disposable{constructor(){super(...arguments);g(this,"_enabled$",new _.BehaviorSubject(!1));g(this,"enabled$",this._enabled$.asObservable());g(this,"_color$",new _.BehaviorSubject(j[0]));g(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 y={id:"sheet.operation.toggle-crosshair-highlight",type:a.CommandType.OPERATION,handler(n){const e=n.get(p),t=e.enabled;return e.setEnabled(!t),!0}},N={id:"sheet.operation.set-crosshair-highlight-color",type:a.CommandType.OPERATION,handler(n,{value:e}){const t=n.get(p);return t.enabled||t.setEnabled(!0),t.setColor(e),!0}},Y={id:"sheet.operation.enable-crosshair-highlight",type:a.CommandType.OPERATION,handler(n){const e=n.get(p);return e.enabled?!1:(e.setEnabled(!0),!0)}},k={id:"sheet.operation.disable-crosshair-highlight",type:a.CommandType.OPERATION,handler(n){const e=n.get(p);return e.enabled?(e.setEnabled(!1),!0):!1}};var E={exports:{}},R={};/**
|
|
2
2
|
* @license React
|
|
3
3
|
* react-jsx-runtime.production.min.js
|
|
4
4
|
*
|
|
@@ -6,4 +6,4 @@
|
|
|
6
6
|
*
|
|
7
7
|
* This source code is licensed under the MIT license found in the
|
|
8
8
|
* LICENSE file in the root directory of this source tree.
|
|
9
|
-
*/var A;function
|
|
9
|
+
*/var A;function oe(){if(A)return R;A=1;var n=C,e=Symbol.for("react.element"),t=Symbol.for("react.fragment"),r=Object.prototype.hasOwnProperty,i=n.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,s={key:!0,ref:!0,__self:!0,__source:!0};function o(c,l,S){var h,f={},v=null,d=null;S!==void 0&&(v=""+S),l.key!==void 0&&(v=""+l.key),l.ref!==void 0&&(d=l.ref);for(h in l)r.call(l,h)&&!s.hasOwnProperty(h)&&(f[h]=l[h]);if(c&&c.defaultProps)for(h in l=c.defaultProps,l)f[h]===void 0&&(f[h]=l[h]);return{$$typeof:e,type:c,key:v,ref:d,props:f,_owner:i.current}}return R.Fragment=t,R.jsx=o,R.jsxs=o,R}var L;function ae(){return L||(L=1,E.exports=oe()),E.exports}var G=ae();function B(n){var e,t,r="";if(typeof n=="string"||typeof n=="number")r+=n;else if(typeof n=="object")if(Array.isArray(n)){var i=n.length;for(e=0;e<i;e++)n[e]&&(t=B(n[e]))&&(r&&(r+=" "),r+=t)}else for(t in n)n[t]&&(r&&(r+=" "),r+=t);return r}function ce(){for(var n,e,t=0,r="",i=arguments.length;t<i;t++)(n=arguments[t])&&(e=B(n))&&(r&&(r+=" "),r+=e);return r}const le="univer-crosshair-highlight-overlay",he="univer-crosshair-highlight-item",ge="univer-crosshair-highlight-item-selected",T={crosshairHighlightOverlay:le,crosshairHighlightItem:he,crosshairHighlightItemSelected:ge};function ue(n){const{onChange:e}=n,t=a.useDependency(p),r=a.useObservable(t.color$),i=C.useCallback(s=>{e==null||e(s)},[e]);return G.jsx("div",{className:T.crosshairHighlightOverlay,children:j.map(s=>G.jsx("div",{className:ce(T.crosshairHighlightItem,{[T.crosshairHighlightItemSelected]:s===r}),style:{backgroundColor:s},onClick:()=>i(s)},s))})}const Z="CROSSHAIR_HIGHLIGHT_OVERLAY_COMPONENT";function de(n){const e=n.get(p);return{id:y.id,tooltip:"crosshair.button.tooltip",type:m.MenuItemType.BUTTON_SELECTOR,icon:"CrossHighlightingSingle",selections:[{label:{name:Z,hoverable:!1}}],selectionsCommandId:N.id,activated$:e.enabled$,hidden$:m.getMenuHiddenObservable(n,a.UniverInstanceType.UNIVER_SHEET)}}const fe={[m.ContextMenuPosition.FOOTER_MENU]:{[m.ContextMenuGroup.OTHERS]:{[y.id]:{order:0,menuItemFactory:de}}}};var _e=Object.defineProperty,Se=Object.getOwnPropertyDescriptor,ve=(n,e,t,r)=>{for(var i=r>1?void 0:r?Se(e,t):e,s=n.length-1,o;s>=0;s--)(o=n[s])&&(i=(r?o(e,t,i):o(i))||i);return r&&i&&_e(e,t,i),i},w=(n,e)=>(t,r)=>e(t,r,n);let O=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(){[y,N,Y,k].forEach(n=>this._cmdSrv.registerCommand(n))}_initMenus(){this._menuManagerService.mergeMenu(fe)}_initComponents(){this._componentMgr.register(Z,ue),this._componentMgr.register("CrossHighlightingSingle",q)}};O=ve([w(0,a.Inject(m.ComponentManager)),w(1,m.IMenuManagerService),w(2,a.ICommandService)],O);const pe=1;class Ce{constructor(){g(this,"_selectedRanges",[]);g(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 me extends M.Shape{constructor(t,r){super(t,r);g(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){const r=`rgba(${this._color.r}, ${this._color.g}, ${this._color.b}, ${this._color.a})`;M.Rect.drawWith(t,{width:this.width,height:this.height,fill:r,stroke:void 0,strokeWidth:0,evented:!1})}}var Re=Object.defineProperty,be=Object.getOwnPropertyDescriptor,He=(n,e,t,r)=>{for(var i=r>1?void 0:r?be(e,t):e,s=n.length-1,o;s>=0;s--)(o=n[s])&&(i=(r?o(e,t,i):o(i))||i);return r&&i&&Re(e,t,i),i},b=(n,e)=>(t,r)=>e(t,r,n);let I=class extends a.Disposable{constructor(e,t,r,i,s,o){super();g(this,"_shapes",[]);g(this,"_rangeCollection",new Ce);g(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:l,startColumn:S,endColumn:h}=o.range;l-c+1===r||h-S+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(_.combineLatest([this._contextService.subscribeContextValue$($.DISABLE_NORMAL_SELECTIONS).pipe(_.startWith(!1)),this._sheetSkeletonManagerService.currentSkeleton$,this._sheetsCrosshairHighlightService.enabled$,this._sheetsCrosshairHighlightService.color$.pipe(_.tap(t=>this._color=t)),_.merge(this._sheetsSelectionsService.selectionMoveStart$,this._sheetsSelectionsService.selectionMoving$,this._sheetsSelectionsService.selectionMoveEnd$,e.activeSheet$.pipe(_.map(()=>this._sheetsSelectionsService.getCurrentSelections()))),_.merge(this._refSelectionsService.selectionMoveStart$,this._refSelectionsService.selectionMoving$,this._refSelectionsService.selectionMoveEnd$,e.activeSheet$.pipe(_.map(()=>this._refSelectionsService.getCurrentSelections())))]).subscribe(([t,r,i,s,o,c])=>{if(this._clear(),!i)return;const l=t?c:o;this._rangeCollection.reset(),this._transformSelection(l,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:l}=e,S={startRow:s,endRow:o,startColumn:0,endColumn:c-1},h={startRow:s,endRow:o,startColumn:l+1,endColumn:i},f={startRow:0,endRow:s-1,startColumn:c,endColumn:l},v={startRow:o+1,endRow:r,startColumn:c,endColumn:l};for(const d of[S,h,f,v])d.startRow<=d.endRow&&d.startColumn<=d.endColumn&&this._rangeCollection.addRange(d)}_clear(){this._shapes.forEach(e=>{e.dispose()}),this._shapes=[]}_addShapes(e,t,r,i){const{startRow:s,endRow:o,startColumn:c,endColumn:l}=e,S=P.getCoordByCell(s,c,r,i),h=P.getCoordByCell(o,l,r,i),{startX:f,startY:v}=S,{endX:d,endY:W}=h,F=d-f,J=W-v,X={left:f,top:v,color:new a.ColorKit(this._color).toRgb(),width:F,height:J,zIndex:pe,evented:!1},V=new me(`crosshair-${t}`,X);this._shapes.push(V),r.addObject(V)}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()}};I=He([b(1,a.Inject(P.SheetSkeletonManagerService)),b(2,a.Inject($.SheetsSelectionsService)),b(3,a.Inject(p)),b(4,a.Inject(a.IContextService)),b(5,$.IRefSelectionsService)],I);var Oe=Object.defineProperty,Ie=Object.getOwnPropertyDescriptor,ye=(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=(r?o(e,t,i):o(i))||i);return r&&i&&Oe(e,t,i),i},x=(n,e)=>(t,r)=>e(t,r,n),H;exports.UniverSheetsCrosshairHighlightPlugin=(H=class extends a.Plugin{constructor(e=ee,t,r,i){super(),this._config=e,this._injector=t,this._renderManagerService=r,this._configService=i;const{...s}=this._config;this._configService.setConfig(Q,s)}onStarting(){[[p],[O]].forEach(e=>this._injector.add(e))}onReady(){[[I]].forEach(e=>this._injector.add(e)),this._injector.get(O),this._renderManagerService.registerRenderModule(a.UniverInstanceType.UNIVER_SHEET,[I])}},g(H,"pluginName","SHEET_CROSSHAIR_HIGHLIGHT_PLUGIN"),g(H,"type",a.UniverInstanceType.UNIVER_SHEET),H);exports.UniverSheetsCrosshairHighlightPlugin=ye([x(1,a.Inject(a.Injector)),x(2,M.IRenderManagerService),x(3,a.IConfigService)],exports.UniverSheetsCrosshairHighlightPlugin);exports.CROSSHAIR_HIGHLIGHT_COLORS=j;exports.DisableCrosshairHighlightOperation=k;exports.EnableCrosshairHighlightOperation=Y;exports.SetCrosshairHighlightColorOperation=N;exports.ToggleCrosshairHighlightOperation=y;
|
package/lib/es/index.js
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
var te = Object.defineProperty;
|
|
2
2
|
var re = (n, e, t) => e in n ? te(n, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : n[e] = t;
|
|
3
3
|
var h = (n, e, t) => re(n, typeof e != "symbol" ? e + "" : e, t);
|
|
4
|
-
import { Disposable as M, CommandType as
|
|
4
|
+
import { Disposable as M, CommandType as O, useDependency as ne, useObservable as se, UniverInstanceType as x, Inject as S, ICommandService as ie, RANGE_TYPE as p, Rectangle as T, IContextService as oe, ColorKit as ae, Plugin as ce, Injector as le, IConfigService as he } from "@univerjs/core";
|
|
5
5
|
import { Shape as ge, Rect as ue, IRenderManagerService as de } from "@univerjs/engine-render";
|
|
6
|
-
import { MenuItemType as fe, getMenuHiddenObservable as _e, ContextMenuPosition as ve, ContextMenuGroup as
|
|
6
|
+
import { MenuItemType as fe, getMenuHiddenObservable as _e, ContextMenuPosition as ve, ContextMenuGroup as Se, ComponentManager as pe, IMenuManagerService as me } from "@univerjs/ui";
|
|
7
7
|
import { BehaviorSubject as N, combineLatest as Ce, startWith as Re, tap as be, merge as j, map as V } from "rxjs";
|
|
8
|
-
import
|
|
8
|
+
import He, { forwardRef as k, useRef as Oe, createElement as Z, useCallback as Ie } from "react";
|
|
9
9
|
import { SheetSkeletonManagerService as ye, getCoordByCell as L } from "@univerjs/sheets-ui";
|
|
10
10
|
import { SheetsSelectionsService as Ee, DISABLE_NORMAL_SELECTIONS as we, IRefSelectionsService as xe } from "@univerjs/sheets";
|
|
11
|
+
const Me = "sheets-crosshair-highlight.config", $e = {};
|
|
11
12
|
var g = function() {
|
|
12
13
|
return g = Object.assign || function(n) {
|
|
13
14
|
for (var e, t = 1, r = arguments.length; t < r; t++) {
|
|
@@ -16,7 +17,7 @@ var g = function() {
|
|
|
16
17
|
}
|
|
17
18
|
return n;
|
|
18
19
|
}, g.apply(this, arguments);
|
|
19
|
-
},
|
|
20
|
+
}, Pe = function(n, e) {
|
|
20
21
|
var t = {};
|
|
21
22
|
for (var r in n) Object.prototype.hasOwnProperty.call(n, r) && e.indexOf(r) < 0 && (t[r] = n[r]);
|
|
22
23
|
if (n != null && typeof Object.getOwnPropertySymbols == "function")
|
|
@@ -24,15 +25,15 @@ var g = function() {
|
|
|
24
25
|
e.indexOf(r[s]) < 0 && Object.prototype.propertyIsEnumerable.call(n, r[s]) && (t[r[s]] = n[r[s]]);
|
|
25
26
|
return t;
|
|
26
27
|
}, B = k(function(n, e) {
|
|
27
|
-
var t = n.icon, r = n.id, s = n.className, i = n.extend, o =
|
|
28
|
+
var t = n.icon, r = n.id, s = n.className, i = n.extend, o = Pe(n, ["icon", "id", "className", "extend"]), a = "univerjs-icon univerjs-icon-".concat(r, " ").concat(s || "").trim(), c = Oe("_".concat(je()));
|
|
28
29
|
return W(t, "".concat(r), { defIds: t.defIds, idSuffix: c.current }, g({ ref: e, className: a }, o), i);
|
|
29
30
|
});
|
|
30
31
|
function W(n, e, t, r, s) {
|
|
31
|
-
return Z(n.tag, g(g({ key: e },
|
|
32
|
+
return Z(n.tag, g(g({ key: e }, Te(n, t, s)), r), (Ne(n, t).children || []).map(function(i, o) {
|
|
32
33
|
return W(i, "".concat(e, "-").concat(n.tag, "-").concat(o), t, void 0, s);
|
|
33
34
|
}));
|
|
34
35
|
}
|
|
35
|
-
function
|
|
36
|
+
function Te(n, e, t) {
|
|
36
37
|
var r = g({}, n.attrs);
|
|
37
38
|
t != null && t.colorChannel1 && r.fill === "colorChannel1" && (r.fill = t.colorChannel1);
|
|
38
39
|
var s = e.defIds;
|
|
@@ -41,21 +42,21 @@ function $e(n, e, t) {
|
|
|
41
42
|
typeof a == "string" && (r[o] = a.replace(/url\(#(.*)\)/, "url(#$1".concat(e.idSuffix, ")")));
|
|
42
43
|
})), r;
|
|
43
44
|
}
|
|
44
|
-
function
|
|
45
|
+
function Ne(n, e) {
|
|
45
46
|
var t, r = e.defIds;
|
|
46
47
|
return !r || r.length === 0 ? n : n.tag === "defs" && (!((t = n.children) === null || t === void 0) && t.length) ? g(g({}, n), { children: n.children.map(function(s) {
|
|
47
48
|
return typeof s.attrs.id == "string" && r && r.indexOf(s.attrs.id) > -1 ? g(g({}, s), { attrs: g(g({}, s.attrs), { id: s.attrs.id + e.idSuffix }) }) : s;
|
|
48
49
|
}) }) : n;
|
|
49
50
|
}
|
|
50
|
-
function
|
|
51
|
+
function je() {
|
|
51
52
|
return Math.random().toString(36).substring(2, 8);
|
|
52
53
|
}
|
|
53
54
|
B.displayName = "UniverIcon";
|
|
54
|
-
var
|
|
55
|
+
var Ve = { 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" } }] }, Y = k(function(n, e) {
|
|
55
56
|
return Z(B, Object.assign({}, n, {
|
|
56
57
|
id: "cross-highlighting-single",
|
|
57
58
|
ref: e,
|
|
58
|
-
icon:
|
|
59
|
+
icon: Ve
|
|
59
60
|
}));
|
|
60
61
|
});
|
|
61
62
|
Y.displayName = "CrossHighlightingSingle";
|
|
@@ -103,28 +104,28 @@ class v extends M {
|
|
|
103
104
|
}
|
|
104
105
|
const $ = {
|
|
105
106
|
id: "sheet.operation.toggle-crosshair-highlight",
|
|
106
|
-
type:
|
|
107
|
+
type: O.OPERATION,
|
|
107
108
|
handler(n) {
|
|
108
109
|
const e = n.get(v), t = e.enabled;
|
|
109
110
|
return e.setEnabled(!t), !0;
|
|
110
111
|
}
|
|
111
112
|
}, F = {
|
|
112
113
|
id: "sheet.operation.set-crosshair-highlight-color",
|
|
113
|
-
type:
|
|
114
|
+
type: O.OPERATION,
|
|
114
115
|
handler(n, { value: e }) {
|
|
115
116
|
const t = n.get(v);
|
|
116
117
|
return t.enabled || t.setEnabled(!0), t.setColor(e), !0;
|
|
117
118
|
}
|
|
118
|
-
},
|
|
119
|
+
}, Le = {
|
|
119
120
|
id: "sheet.operation.enable-crosshair-highlight",
|
|
120
|
-
type:
|
|
121
|
+
type: O.OPERATION,
|
|
121
122
|
handler(n) {
|
|
122
123
|
const e = n.get(v);
|
|
123
124
|
return e.enabled ? !1 : (e.setEnabled(!0), !0);
|
|
124
125
|
}
|
|
125
|
-
},
|
|
126
|
+
}, Ae = {
|
|
126
127
|
id: "sheet.operation.disable-crosshair-highlight",
|
|
127
|
-
type:
|
|
128
|
+
type: O.OPERATION,
|
|
128
129
|
handler(n) {
|
|
129
130
|
const e = n.get(v);
|
|
130
131
|
return e.enabled ? (e.setEnabled(!1), !0) : !1;
|
|
@@ -141,10 +142,10 @@ var I = { exports: {} }, m = {};
|
|
|
141
142
|
* LICENSE file in the root directory of this source tree.
|
|
142
143
|
*/
|
|
143
144
|
var A;
|
|
144
|
-
function
|
|
145
|
+
function Ge() {
|
|
145
146
|
if (A) return m;
|
|
146
147
|
A = 1;
|
|
147
|
-
var n =
|
|
148
|
+
var n = He, e = Symbol.for("react.element"), t = Symbol.for("react.fragment"), r = Object.prototype.hasOwnProperty, s = n.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner, i = { key: !0, ref: !0, __self: !0, __source: !0 };
|
|
148
149
|
function o(a, c, f) {
|
|
149
150
|
var l, d = {}, _ = null, u = null;
|
|
150
151
|
f !== void 0 && (_ = "" + f), c.key !== void 0 && (_ = "" + c.key), c.ref !== void 0 && (u = c.ref);
|
|
@@ -155,10 +156,10 @@ function Le() {
|
|
|
155
156
|
return m.Fragment = t, m.jsx = o, m.jsxs = o, m;
|
|
156
157
|
}
|
|
157
158
|
var G;
|
|
158
|
-
function
|
|
159
|
-
return G || (G = 1, I.exports =
|
|
159
|
+
function Ue() {
|
|
160
|
+
return G || (G = 1, I.exports = Ge()), I.exports;
|
|
160
161
|
}
|
|
161
|
-
var U =
|
|
162
|
+
var U = Ue();
|
|
162
163
|
function J(n) {
|
|
163
164
|
var e, t, r = "";
|
|
164
165
|
if (typeof n == "string" || typeof n == "number") r += n;
|
|
@@ -168,23 +169,23 @@ function J(n) {
|
|
|
168
169
|
} else for (t in n) n[t] && (r && (r += " "), r += t);
|
|
169
170
|
return r;
|
|
170
171
|
}
|
|
171
|
-
function
|
|
172
|
+
function De() {
|
|
172
173
|
for (var n, e, t = 0, r = "", s = arguments.length; t < s; t++) (n = arguments[t]) && (e = J(n)) && (r && (r += " "), r += e);
|
|
173
174
|
return r;
|
|
174
175
|
}
|
|
175
|
-
const
|
|
176
|
-
crosshairHighlightOverlay:
|
|
177
|
-
crosshairHighlightItem:
|
|
178
|
-
crosshairHighlightItemSelected:
|
|
176
|
+
const ke = "univer-crosshair-highlight-overlay", Ze = "univer-crosshair-highlight-item", Be = "univer-crosshair-highlight-item-selected", y = {
|
|
177
|
+
crosshairHighlightOverlay: ke,
|
|
178
|
+
crosshairHighlightItem: Ze,
|
|
179
|
+
crosshairHighlightItemSelected: Be
|
|
179
180
|
};
|
|
180
|
-
function
|
|
181
|
+
function We(n) {
|
|
181
182
|
const { onChange: e } = n, t = ne(v), r = se(t.color$), s = Ie((i) => {
|
|
182
183
|
e == null || e(i);
|
|
183
184
|
}, [e]);
|
|
184
185
|
return /* @__PURE__ */ U.jsx("div", { className: y.crosshairHighlightOverlay, children: q.map((i) => /* @__PURE__ */ U.jsx(
|
|
185
186
|
"div",
|
|
186
187
|
{
|
|
187
|
-
className:
|
|
188
|
+
className: De(y.crosshairHighlightItem, {
|
|
188
189
|
[y.crosshairHighlightItemSelected]: i === r
|
|
189
190
|
}),
|
|
190
191
|
style: { backgroundColor: i },
|
|
@@ -194,7 +195,7 @@ function Ze(n) {
|
|
|
194
195
|
)) });
|
|
195
196
|
}
|
|
196
197
|
const X = "CROSSHAIR_HIGHLIGHT_OVERLAY_COMPONENT";
|
|
197
|
-
function
|
|
198
|
+
function Ye(n) {
|
|
198
199
|
const e = n.get(v);
|
|
199
200
|
return {
|
|
200
201
|
id: $.id,
|
|
@@ -214,20 +215,20 @@ function Be(n) {
|
|
|
214
215
|
hidden$: _e(n, x.UNIVER_SHEET)
|
|
215
216
|
};
|
|
216
217
|
}
|
|
217
|
-
const
|
|
218
|
+
const qe = {
|
|
218
219
|
[ve.FOOTER_MENU]: {
|
|
219
|
-
[
|
|
220
|
+
[Se.OTHERS]: {
|
|
220
221
|
[$.id]: {
|
|
221
222
|
order: 0,
|
|
222
|
-
menuItemFactory:
|
|
223
|
+
menuItemFactory: Ye
|
|
223
224
|
}
|
|
224
225
|
}
|
|
225
226
|
}
|
|
226
227
|
};
|
|
227
|
-
var
|
|
228
|
-
for (var s = r > 1 ? void 0 : r ?
|
|
228
|
+
var Fe = Object.defineProperty, Je = Object.getOwnPropertyDescriptor, Xe = (n, e, t, r) => {
|
|
229
|
+
for (var s = r > 1 ? void 0 : r ? Je(e, t) : e, i = n.length - 1, o; i >= 0; i--)
|
|
229
230
|
(o = n[i]) && (s = (r ? o(e, t, s) : o(s)) || s);
|
|
230
|
-
return r && s &&
|
|
231
|
+
return r && s && Fe(e, t, s), s;
|
|
231
232
|
}, E = (n, e) => (t, r) => e(t, r, n);
|
|
232
233
|
let b = class extends M {
|
|
233
234
|
constructor(n, e, t) {
|
|
@@ -237,30 +238,30 @@ let b = class extends M {
|
|
|
237
238
|
[
|
|
238
239
|
$,
|
|
239
240
|
F,
|
|
240
|
-
|
|
241
|
-
|
|
241
|
+
Le,
|
|
242
|
+
Ae
|
|
242
243
|
].forEach((n) => this._cmdSrv.registerCommand(n));
|
|
243
244
|
}
|
|
244
245
|
_initMenus() {
|
|
245
|
-
this._menuManagerService.mergeMenu(
|
|
246
|
+
this._menuManagerService.mergeMenu(qe);
|
|
246
247
|
}
|
|
247
248
|
_initComponents() {
|
|
248
|
-
this._componentMgr.register(X,
|
|
249
|
+
this._componentMgr.register(X, We), this._componentMgr.register("CrossHighlightingSingle", Y);
|
|
249
250
|
}
|
|
250
251
|
};
|
|
251
|
-
b =
|
|
252
|
-
E(0,
|
|
252
|
+
b = Xe([
|
|
253
|
+
E(0, S(pe)),
|
|
253
254
|
E(1, me),
|
|
254
255
|
E(2, ie)
|
|
255
256
|
], b);
|
|
256
|
-
const
|
|
257
|
-
class
|
|
257
|
+
const Ke = 1;
|
|
258
|
+
class ze {
|
|
258
259
|
constructor() {
|
|
259
260
|
h(this, "_selectedRanges", []);
|
|
260
261
|
h(this, "_ranges", []);
|
|
261
262
|
}
|
|
262
263
|
addRange(e) {
|
|
263
|
-
if (e.rangeType ===
|
|
264
|
+
if (e.rangeType === p.COLUMN || e.rangeType === p.ROW || e.rangeType === p.ALL)
|
|
264
265
|
return;
|
|
265
266
|
const t = this._getIntersects(e), r = this._getSplitRanges(e, t);
|
|
266
267
|
r.length > 0 && this._ranges.push(...r);
|
|
@@ -295,7 +296,7 @@ class Xe {
|
|
|
295
296
|
this._ranges = [], this._selectedRanges = [];
|
|
296
297
|
}
|
|
297
298
|
}
|
|
298
|
-
class
|
|
299
|
+
class Qe extends ge {
|
|
299
300
|
constructor(t, r) {
|
|
300
301
|
super(t, r);
|
|
301
302
|
// protected _showHighLight = false;
|
|
@@ -320,16 +321,16 @@ class Ke extends ge {
|
|
|
320
321
|
});
|
|
321
322
|
}
|
|
322
323
|
}
|
|
323
|
-
var
|
|
324
|
-
for (var s = r > 1 ? void 0 : r ?
|
|
324
|
+
var et = Object.defineProperty, tt = Object.getOwnPropertyDescriptor, rt = (n, e, t, r) => {
|
|
325
|
+
for (var s = r > 1 ? void 0 : r ? tt(e, t) : e, i = n.length - 1, o; i >= 0; i--)
|
|
325
326
|
(o = n[i]) && (s = (r ? o(e, t, s) : o(s)) || s);
|
|
326
|
-
return r && s &&
|
|
327
|
+
return r && s && et(e, t, s), s;
|
|
327
328
|
}, C = (n, e) => (t, r) => e(t, r, n);
|
|
328
|
-
let
|
|
329
|
+
let H = class extends M {
|
|
329
330
|
constructor(e, t, r, s, i, o) {
|
|
330
331
|
super();
|
|
331
332
|
h(this, "_shapes", []);
|
|
332
|
-
h(this, "_rangeCollection", new
|
|
333
|
+
h(this, "_rangeCollection", new ze());
|
|
333
334
|
h(this, "_color", "rgba(255,0,0,0.5)");
|
|
334
335
|
this._context = e, this._sheetSkeletonManagerService = t, this._sheetsSelectionsService = r, this._sheetsCrosshairHighlightService = s, this._contextService = i, this._refSelectionsService = o, this._initRenderListener();
|
|
335
336
|
}
|
|
@@ -371,7 +372,7 @@ let O = class extends M {
|
|
|
371
372
|
}));
|
|
372
373
|
}
|
|
373
374
|
addSelection(e, t) {
|
|
374
|
-
if (e.rangeType ===
|
|
375
|
+
if (e.rangeType === p.COLUMN || e.rangeType === p.ROW || e.rangeType === p.ALL)
|
|
375
376
|
return;
|
|
376
377
|
const r = t.getRowCount(), s = t.getColumnCount(), { startRow: i, endRow: o, startColumn: a, endColumn: c } = e, f = {
|
|
377
378
|
startRow: i,
|
|
@@ -409,9 +410,9 @@ let O = class extends M {
|
|
|
409
410
|
color: new ae(this._color).toRgb(),
|
|
410
411
|
width: z,
|
|
411
412
|
height: Q,
|
|
412
|
-
zIndex:
|
|
413
|
+
zIndex: Ke,
|
|
413
414
|
evented: !1
|
|
414
|
-
}, P = new
|
|
415
|
+
}, P = new Qe(`crosshair-${t}`, ee);
|
|
415
416
|
this._shapes.push(P), r.addObject(P);
|
|
416
417
|
}
|
|
417
418
|
render(e) {
|
|
@@ -430,24 +431,23 @@ let O = class extends M {
|
|
|
430
431
|
super.dispose();
|
|
431
432
|
}
|
|
432
433
|
};
|
|
433
|
-
|
|
434
|
-
C(1,
|
|
435
|
-
C(2,
|
|
436
|
-
C(3,
|
|
437
|
-
C(4,
|
|
434
|
+
H = rt([
|
|
435
|
+
C(1, S(ye)),
|
|
436
|
+
C(2, S(Ee)),
|
|
437
|
+
C(3, S(v)),
|
|
438
|
+
C(4, S(oe)),
|
|
438
439
|
C(5, xe)
|
|
439
|
-
],
|
|
440
|
-
const tt = "sheets-crosshair-highlight.config", rt = {};
|
|
440
|
+
], H);
|
|
441
441
|
var nt = Object.defineProperty, st = Object.getOwnPropertyDescriptor, it = (n, e, t, r) => {
|
|
442
442
|
for (var s = r > 1 ? void 0 : r ? st(e, t) : e, i = n.length - 1, o; i >= 0; i--)
|
|
443
443
|
(o = n[i]) && (s = (r ? o(e, t, s) : o(s)) || s);
|
|
444
444
|
return r && s && nt(e, t, s), s;
|
|
445
445
|
}, w = (n, e) => (t, r) => e(t, r, n), R;
|
|
446
446
|
let D = (R = class extends ce {
|
|
447
|
-
constructor(n =
|
|
447
|
+
constructor(n = $e, e, t, r) {
|
|
448
448
|
super(), this._config = n, this._injector = e, this._renderManagerService = t, this._configService = r;
|
|
449
449
|
const { ...s } = this._config;
|
|
450
|
-
this._configService.setConfig(
|
|
450
|
+
this._configService.setConfig(Me, s);
|
|
451
451
|
}
|
|
452
452
|
onStarting() {
|
|
453
453
|
[
|
|
@@ -457,19 +457,19 @@ let D = (R = class extends ce {
|
|
|
457
457
|
}
|
|
458
458
|
onReady() {
|
|
459
459
|
[
|
|
460
|
-
[
|
|
461
|
-
].forEach((n) => this._injector.add(n)), this._injector.get(b), this._renderManagerService.registerRenderModule(x.UNIVER_SHEET, [
|
|
460
|
+
[H]
|
|
461
|
+
].forEach((n) => this._injector.add(n)), this._injector.get(b), this._renderManagerService.registerRenderModule(x.UNIVER_SHEET, [H]);
|
|
462
462
|
}
|
|
463
463
|
}, h(R, "pluginName", "SHEET_CROSSHAIR_HIGHLIGHT_PLUGIN"), h(R, "type", x.UNIVER_SHEET), R);
|
|
464
464
|
D = it([
|
|
465
|
-
w(1,
|
|
465
|
+
w(1, S(le)),
|
|
466
466
|
w(2, de),
|
|
467
467
|
w(3, he)
|
|
468
468
|
], D);
|
|
469
469
|
export {
|
|
470
470
|
q as CROSSHAIR_HIGHLIGHT_COLORS,
|
|
471
|
-
|
|
472
|
-
|
|
471
|
+
Ae as DisableCrosshairHighlightOperation,
|
|
472
|
+
Le as EnableCrosshairHighlightOperation,
|
|
473
473
|
F as SetCrosshairHighlightColorOperation,
|
|
474
474
|
$ as ToggleCrosshairHighlightOperation,
|
|
475
475
|
D as UniverSheetsCrosshairHighlightPlugin
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { MenuConfig } from '@univerjs/ui';
|
|
2
|
-
export declare const
|
|
2
|
+
export declare const SHEETS_CROSSHAIR_HIGHLIGHT_PLUGIN_CONFIG_KEY = "sheets-crosshair-highlight.config";
|
|
3
3
|
export declare const configSymbol: unique symbol;
|
|
4
4
|
export interface IUniverSheetsCrosshairHighlightConfig {
|
|
5
5
|
menu?: MenuConfig;
|
package/lib/types/plugin.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import { IUniverSheetsCrosshairHighlightConfig } from './controllers/config.schema';
|
|
1
2
|
import { IConfigService, Injector, Plugin, UniverInstanceType } from '@univerjs/core';
|
|
2
3
|
import { IRenderManagerService } from '@univerjs/engine-render';
|
|
3
|
-
import { IUniverSheetsCrosshairHighlightConfig } from './controllers/config.schema';
|
|
4
4
|
export declare class UniverSheetsCrosshairHighlightPlugin extends Plugin {
|
|
5
5
|
private readonly _config;
|
|
6
6
|
protected readonly _injector: Injector;
|
package/lib/umd/index.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
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"),require("@univerjs/sheets-ui"),require("@univerjs/sheets")):typeof define=="function"&&define.amd?define(["exports","@univerjs/core","@univerjs/engine-render","@univerjs/ui","rxjs","react","@univerjs/sheets-ui","@univerjs/sheets"],o):(c=typeof globalThis<"u"?globalThis:c||self,o(c.UniverSheetsCrosshairHighlight={},c.UniverCore,c.UniverEngineRender,c.UniverUi,c.rxjs,c.React,c.UniverSheetsUi,c.UniverSheets))})(this,function(c,o,S,H,_,R,w,M){"use strict";var
|
|
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"),require("@univerjs/sheets-ui"),require("@univerjs/sheets")):typeof define=="function"&&define.amd?define(["exports","@univerjs/core","@univerjs/engine-render","@univerjs/ui","rxjs","react","@univerjs/sheets-ui","@univerjs/sheets"],o):(c=typeof globalThis<"u"?globalThis:c||self,o(c.UniverSheetsCrosshairHighlight={},c.UniverCore,c.UniverEngineRender,c.UniverUi,c.rxjs,c.React,c.UniverSheetsUi,c.UniverSheets))})(this,function(c,o,S,H,_,R,w,M){"use strict";var Oe=Object.defineProperty;var be=(c,o,S)=>o in c?Oe(c,o,{enumerable:!0,configurable:!0,writable:!0,value:S}):c[o]=S;var u=(c,o,S)=>be(c,typeof o!="symbol"?o+"":o,S);var T;const F="sheets-crosshair-highlight.config",J={};var d=function(){return d=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},d.apply(this,arguments)},X=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=R.forwardRef(function(n,e){var t=n.icon,r=n.id,i=n.className,s=n.extend,a=X(n,["icon","id","className","extend"]),l="univerjs-icon univerjs-icon-".concat(r," ").concat(i||"").trim(),h=R.useRef("_".concat(Q()));return L(t,"".concat(r),{defIds:t.defIds,idSuffix:h.current},d({ref:e,className:l},a),s)});function L(n,e,t,r,i){return R.createElement(n.tag,d(d({key:e},K(n,t,i)),r),(z(n,t).children||[]).map(function(s,a){return L(s,"".concat(e,"-").concat(n.tag,"-").concat(a),t,void 0,i)}))}function K(n,e,t){var r=d({},n.attrs);t!=null&&t.colorChannel1&&r.fill==="colorChannel1"&&(r.fill=t.colorChannel1);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 a=s[0],l=s[1];typeof l=="string"&&(r[a]=l.replace(/url\(#(.*)\)/,"url(#$1".concat(e.idSuffix,")")))})),r}function z(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)?d(d({},n),{children:n.children.map(function(i){return typeof i.attrs.id=="string"&&r&&r.indexOf(i.attrs.id)>-1?d(d({},i),{attrs:d(d({},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"}}]},U=R.forwardRef(function(n,e){return R.createElement(A,Object.assign({},n,{id:"cross-highlighting-single",ref:e,icon:ee}))});U.displayName="CrossHighlightingSingle";const P=["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 p extends o.Disposable{constructor(){super(...arguments);u(this,"_enabled$",new _.BehaviorSubject(!1));u(this,"enabled$",this._enabled$.asObservable());u(this,"_color$",new _.BehaviorSubject(P[0]));u(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:o.CommandType.OPERATION,handler(n){const e=n.get(p),t=e.enabled;return e.setEnabled(!t),!0}},j={id:"sheet.operation.set-crosshair-highlight-color",type:o.CommandType.OPERATION,handler(n,{value:e}){const t=n.get(p);return t.enabled||t.setEnabled(!0),t.setColor(e),!0}},G={id:"sheet.operation.enable-crosshair-highlight",type:o.CommandType.OPERATION,handler(n){const e=n.get(p);return e.enabled?!1:(e.setEnabled(!0),!0)}},D={id:"sheet.operation.disable-crosshair-highlight",type:o.CommandType.OPERATION,handler(n){const e=n.get(p);return e.enabled?(e.setEnabled(!1),!0):!1}};var N={exports:{}},O={};/**
|
|
2
2
|
* @license React
|
|
3
3
|
* react-jsx-runtime.production.min.js
|
|
4
4
|
*
|
|
@@ -6,4 +6,4 @@
|
|
|
6
6
|
*
|
|
7
7
|
* This source code is licensed under the MIT license found in the
|
|
8
8
|
* LICENSE file in the root directory of this source tree.
|
|
9
|
-
*/var Y;function
|
|
9
|
+
*/var Y;function te(){if(Y)return O;Y=1;var n=R,e=Symbol.for("react.element"),t=Symbol.for("react.fragment"),r=Object.prototype.hasOwnProperty,i=n.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,s={key:!0,ref:!0,__self:!0,__source:!0};function a(l,h,C){var g,v={},m=null,f=null;C!==void 0&&(m=""+C),h.key!==void 0&&(m=""+h.key),h.ref!==void 0&&(f=h.ref);for(g in h)r.call(h,g)&&!s.hasOwnProperty(g)&&(v[g]=h[g]);if(l&&l.defaultProps)for(g in h=l.defaultProps,h)v[g]===void 0&&(v[g]=h[g]);return{$$typeof:e,type:l,key:m,ref:f,props:v,_owner:i.current}}return O.Fragment=t,O.jsx=a,O.jsxs=a,O}var k;function re(){return k||(k=1,N.exports=te()),N.exports}var B=re();function Z(n){var e,t,r="";if(typeof n=="string"||typeof n=="number")r+=n;else if(typeof n=="object")if(Array.isArray(n)){var i=n.length;for(e=0;e<i;e++)n[e]&&(t=Z(n[e]))&&(r&&(r+=" "),r+=t)}else for(t in n)n[t]&&(r&&(r+=" "),r+=t);return r}function ne(){for(var n,e,t=0,r="",i=arguments.length;t<i;t++)(n=arguments[t])&&(e=Z(n))&&(r&&(r+=" "),r+=e);return r}const x={crosshairHighlightOverlay:"univer-crosshair-highlight-overlay",crosshairHighlightItem:"univer-crosshair-highlight-item",crosshairHighlightItemSelected:"univer-crosshair-highlight-item-selected"};function ie(n){const{onChange:e}=n,t=o.useDependency(p),r=o.useObservable(t.color$),i=R.useCallback(s=>{e==null||e(s)},[e]);return B.jsx("div",{className:x.crosshairHighlightOverlay,children:P.map(s=>B.jsx("div",{className:ne(x.crosshairHighlightItem,{[x.crosshairHighlightItemSelected]:s===r}),style:{backgroundColor:s},onClick:()=>i(s)},s))})}const W="CROSSHAIR_HIGHLIGHT_OVERLAY_COMPONENT";function se(n){const e=n.get(p);return{id:I.id,tooltip:"crosshair.button.tooltip",type:H.MenuItemType.BUTTON_SELECTOR,icon:"CrossHighlightingSingle",selections:[{label:{name:W,hoverable:!1}}],selectionsCommandId:j.id,activated$:e.enabled$,hidden$:H.getMenuHiddenObservable(n,o.UniverInstanceType.UNIVER_SHEET)}}const oe={[H.ContextMenuPosition.FOOTER_MENU]:{[H.ContextMenuGroup.OTHERS]:{[I.id]:{order:0,menuItemFactory:se}}}};var ae=Object.defineProperty,ce=Object.getOwnPropertyDescriptor,le=(n,e,t,r)=>{for(var i=r>1?void 0:r?ce(e,t):e,s=n.length-1,a;s>=0;s--)(a=n[s])&&(i=(r?a(e,t,i):a(i))||i);return r&&i&&ae(e,t,i),i},V=(n,e)=>(t,r)=>e(t,r,n);let y=class extends o.Disposable{constructor(n,e,t){super(),this._componentMgr=n,this._menuManagerService=e,this._cmdSrv=t,this._initCommands(),this._initMenus(),this._initComponents()}_initCommands(){[I,j,G,D].forEach(n=>this._cmdSrv.registerCommand(n))}_initMenus(){this._menuManagerService.mergeMenu(oe)}_initComponents(){this._componentMgr.register(W,ie),this._componentMgr.register("CrossHighlightingSingle",U)}};y=le([V(0,o.Inject(H.ComponentManager)),V(1,H.IMenuManagerService),V(2,o.ICommandService)],y);const he=1;class ge{constructor(){u(this,"_selectedRanges",[]);u(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),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 a of r){const l=o.Rectangle.subtract(a,i);l&&l.length>0&&s.push(...l)}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=o.Rectangle.getIntersects(r,e);i&&t.push(i)}return t}getRanges(){return this._ranges}reset(){this._ranges=[],this._selectedRanges=[]}}class ue extends S.Shape{constructor(t,r){super(t,r);u(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){const r=`rgba(${this._color.r}, ${this._color.g}, ${this._color.b}, ${this._color.a})`;S.Rect.drawWith(t,{width:this.width,height:this.height,fill:r,stroke:void 0,strokeWidth:0,evented:!1})}}var de=Object.defineProperty,fe=Object.getOwnPropertyDescriptor,_e=(n,e,t,r)=>{for(var i=r>1?void 0:r?fe(e,t):e,s=n.length-1,a;s>=0;s--)(a=n[s])&&(i=(r?a(e,t,i):a(i))||i);return r&&i&&de(e,t,i),i},b=(n,e)=>(t,r)=>e(t,r,n);let E=class extends o.Disposable{constructor(e,t,r,i,s,a){super();u(this,"_shapes",[]);u(this,"_rangeCollection",new ge);u(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=a,this._initRenderListener()}_transformSelection(e,t){if(!e)return;const r=t.getRowCount(),i=t.getColumnCount(),s=[];for(const a of e){const{startRow:l,endRow:h,startColumn:C,endColumn:g}=a.range;h-l+1===r||g-C+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(_.combineLatest([this._contextService.subscribeContextValue$(M.DISABLE_NORMAL_SELECTIONS).pipe(_.startWith(!1)),this._sheetSkeletonManagerService.currentSkeleton$,this._sheetsCrosshairHighlightService.enabled$,this._sheetsCrosshairHighlightService.color$.pipe(_.tap(t=>this._color=t)),_.merge(this._sheetsSelectionsService.selectionMoveStart$,this._sheetsSelectionsService.selectionMoving$,this._sheetsSelectionsService.selectionMoveEnd$,e.activeSheet$.pipe(_.map(()=>this._sheetsSelectionsService.getCurrentSelections()))),_.merge(this._refSelectionsService.selectionMoveStart$,this._refSelectionsService.selectionMoving$,this._refSelectionsService.selectionMoveEnd$,e.activeSheet$.pipe(_.map(()=>this._refSelectionsService.getCurrentSelections())))]).subscribe(([t,r,i,s,a,l])=>{if(this._clear(),!i)return;const h=t?l:a;this._rangeCollection.reset(),this._transformSelection(h,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 r=t.getRowCount(),i=t.getColumnCount(),{startRow:s,endRow:a,startColumn:l,endColumn:h}=e,C={startRow:s,endRow:a,startColumn:0,endColumn:l-1},g={startRow:s,endRow:a,startColumn:h+1,endColumn:i},v={startRow:0,endRow:s-1,startColumn:l,endColumn:h},m={startRow:a+1,endRow:r,startColumn:l,endColumn:h};for(const f of[C,g,v,m])f.startRow<=f.endRow&&f.startColumn<=f.endColumn&&this._rangeCollection.addRange(f)}_clear(){this._shapes.forEach(e=>{e.dispose()}),this._shapes=[]}_addShapes(e,t,r,i){const{startRow:s,endRow:a,startColumn:l,endColumn:h}=e,C=w.getCoordByCell(s,l,r,i),g=w.getCoordByCell(a,h,r,i),{startX:v,startY:m}=C,{endX:f,endY:Ce}=g,me=f-v,Re=Ce-m,He={left:v,top:m,color:new o.ColorKit(this._color).toRgb(),width:me,height:Re,zIndex:he,evented:!1},q=new ue(`crosshair-${t}`,He);this._shapes.push(q),r.addObject(q)}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()}};E=_e([b(1,o.Inject(w.SheetSkeletonManagerService)),b(2,o.Inject(M.SheetsSelectionsService)),b(3,o.Inject(p)),b(4,o.Inject(o.IContextService)),b(5,M.IRefSelectionsService)],E);var ve=Object.defineProperty,Se=Object.getOwnPropertyDescriptor,pe=(n,e,t,r)=>{for(var i=r>1?void 0:r?Se(e,t):e,s=n.length-1,a;s>=0;s--)(a=n[s])&&(i=(r?a(e,t,i):a(i))||i);return r&&i&&ve(e,t,i),i},$=(n,e)=>(t,r)=>e(t,r,n);c.UniverSheetsCrosshairHighlightPlugin=(T=class extends o.Plugin{constructor(e=J,t,r,i){super(),this._config=e,this._injector=t,this._renderManagerService=r,this._configService=i;const{...s}=this._config;this._configService.setConfig(F,s)}onStarting(){[[p],[y]].forEach(e=>this._injector.add(e))}onReady(){[[E]].forEach(e=>this._injector.add(e)),this._injector.get(y),this._renderManagerService.registerRenderModule(o.UniverInstanceType.UNIVER_SHEET,[E])}},u(T,"pluginName","SHEET_CROSSHAIR_HIGHLIGHT_PLUGIN"),u(T,"type",o.UniverInstanceType.UNIVER_SHEET),T),c.UniverSheetsCrosshairHighlightPlugin=pe([$(1,o.Inject(o.Injector)),$(2,S.IRenderManagerService),$(3,o.IConfigService)],c.UniverSheetsCrosshairHighlightPlugin),c.CROSSHAIR_HIGHLIGHT_COLORS=P,c.DisableCrosshairHighlightOperation=D,c.EnableCrosshairHighlightOperation=G,c.SetCrosshairHighlightColorOperation=j,c.ToggleCrosshairHighlightOperation=I,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.5.0-nightly.
|
|
3
|
+
"version": "0.5.0-nightly.202411291606",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "",
|
|
6
6
|
"author": "DreamNum <developer@univer.ai>",
|
|
@@ -59,11 +59,11 @@
|
|
|
59
59
|
"dependencies": {
|
|
60
60
|
"@univerjs/icons": "^0.2.7",
|
|
61
61
|
"clsx": "^2.1.1",
|
|
62
|
-
"@univerjs/core": "0.5.0-nightly.
|
|
63
|
-
"@univerjs/engine-render": "0.5.0-nightly.
|
|
64
|
-
"@univerjs/sheets
|
|
65
|
-
"@univerjs/ui": "0.5.0-nightly.
|
|
66
|
-
"@univerjs/
|
|
62
|
+
"@univerjs/core": "0.5.0-nightly.202411291606",
|
|
63
|
+
"@univerjs/engine-render": "0.5.0-nightly.202411291606",
|
|
64
|
+
"@univerjs/sheets": "0.5.0-nightly.202411291606",
|
|
65
|
+
"@univerjs/sheets-ui": "0.5.0-nightly.202411291606",
|
|
66
|
+
"@univerjs/ui": "0.5.0-nightly.202411291606"
|
|
67
67
|
},
|
|
68
68
|
"devDependencies": {
|
|
69
69
|
"less": "^4.2.1",
|