chunk-TQS4UFI4.js 9.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309
  1. import {
  2. Ex,
  3. Yx
  4. } from "./chunk-2MK3Q52E.js";
  5. import {
  6. Fe,
  7. J0,
  8. Ot,
  9. Ra,
  10. SE,
  11. Subject,
  12. nt,
  13. nu,
  14. ot,
  15. rr,
  16. xR
  17. } from "./chunk-23V3HWTR.js";
  18. // node_modules/.pnpm/@univerjs+watermark@0.5.5_@grpc+grpc-js@1.13.4_react@18.3.1_rxjs@7.8.1/node_modules/@univerjs/watermark/lib/es/index.js
  19. var j = Object.defineProperty;
  20. var N = (e, t, r) => t in e ? j(e, t, { enumerable: true, configurable: true, writable: true, value: r }) : e[t] = r;
  21. var l = (e, t, r) => N(e, typeof t != "symbol" ? t + "" : t, r);
  22. var h = "UNIVER_WATERMARK_STORAGE_KEY";
  23. var F = 10;
  24. var ue = ["image/png", "image/jpeg", "image/jpg", "image/bmp"];
  25. var q = {
  26. content: "",
  27. fontSize: 16,
  28. color: "rgb(0,0,0)",
  29. bold: false,
  30. italic: false,
  31. direction: "ltr",
  32. x: 60,
  33. y: 36,
  34. repeat: true,
  35. spacingX: 200,
  36. spacingY: 100,
  37. rotate: 0,
  38. opacity: 0.15
  39. };
  40. var J = {
  41. url: "",
  42. width: 100,
  43. height: 100,
  44. maintainAspectRatio: true,
  45. originRatio: 1,
  46. x: 60,
  47. y: 36,
  48. repeat: true,
  49. spacingX: 200,
  50. spacingY: 100,
  51. rotate: 0,
  52. opacity: 0.15
  53. };
  54. var Q = {
  55. name: true,
  56. email: false,
  57. phone: false,
  58. uid: false,
  59. fontSize: 16,
  60. color: "rgb(0,0,0)",
  61. bold: false,
  62. italic: false,
  63. direction: "ltr",
  64. x: 60,
  65. y: 60,
  66. repeat: true,
  67. spacingX: 200,
  68. spacingY: 100,
  69. rotate: -30,
  70. opacity: 0.15
  71. };
  72. var f = ((e) => (e.UserInfo = "userInfo", e.Text = "text", e.Image = "image", e))(f || {});
  73. var O = "watermark.config";
  74. var D = {};
  75. var Z = Object.defineProperty;
  76. var x = Object.getOwnPropertyDescriptor;
  77. var ee = (e, t, r, i) => {
  78. for (var a = i > 1 ? void 0 : i ? x(t, r) : t, n = e.length - 1, s; n >= 0; n--)
  79. (s = e[n]) && (a = (i ? s(t, r, a) : s(a)) || a);
  80. return i && a && Z(t, r, a), a;
  81. };
  82. var te = (e, t) => (r, i) => t(r, i, e);
  83. var R = class extends nt {
  84. constructor(t) {
  85. super();
  86. l(this, "_updateConfig$", new Subject());
  87. l(this, "updateConfig$", this._updateConfig$.asObservable());
  88. l(this, "_refresh$", new Subject());
  89. l(this, "refresh$", this._refresh$.asObservable());
  90. this._localStorageService = t;
  91. }
  92. async getWatermarkConfig() {
  93. return await this._localStorageService.getItem(h);
  94. }
  95. updateWatermarkConfig(t) {
  96. this._localStorageService.setItem(h, t), this._updateConfig$.next(t);
  97. }
  98. deleteWatermarkConfig() {
  99. this._localStorageService.removeItem(h), this._updateConfig$.next(null);
  100. }
  101. refresh() {
  102. this._refresh$.next(Math.random());
  103. }
  104. dispose() {
  105. this._refresh$.complete(), this._updateConfig$.complete();
  106. }
  107. };
  108. R = ee([
  109. te(0, ot(xR))
  110. ], R);
  111. function re(e, t, r, i) {
  112. const a = t.type, n = t.config;
  113. a === f.UserInfo && n.userInfo ? ae(e, n.userInfo, i) : a === f.Image && n.image ? ne(e, n.image, r) : a === f.Text && n.text && ie(e, n.text);
  114. }
  115. function ae(e, t, r) {
  116. const { x: i, y: a, repeat: n, spacingX: s, spacingY: S, rotate: v, opacity: p, name: m, fontSize: I, color: C, bold: W, italic: u, direction: o } = t;
  117. if (!r)
  118. return;
  119. let c = "";
  120. if (m && (c += `${r.name} `), !c)
  121. return;
  122. e.save(), e.globalAlpha = p, e.direction = o;
  123. let d = "";
  124. if (u && (d += "italic "), W && (d += "bold "), d += `${I}px Arial`, e.font = d, e.fillStyle = C, n) {
  125. const g = e.canvas.width, _ = e.canvas.height;
  126. for (let b = a; b < _; b += I + S)
  127. for (let P = i; P < g; P += e.measureText(c).width + s)
  128. e.save(), e.translate(P, b), e.rotate(Math.PI / 180 * v), e.fillText(c, 0, 0), e.restore();
  129. } else
  130. e.save(), e.translate(i, a), e.rotate(Math.PI / 180 * v), e.fillText(c, 0, 0), e.restore();
  131. e.restore();
  132. }
  133. function ie(e, t) {
  134. const { x: r, y: i, repeat: a, spacingX: n, spacingY: s, rotate: S, opacity: v, content: p, fontSize: m, color: I, bold: C, italic: W, direction: u } = t;
  135. e.save(), e.globalAlpha = v, e.direction = u;
  136. let o = "";
  137. if (W && (o += "italic "), C && (o += "bold "), o += `${m}px Arial`, e.font = o, e.fillStyle = I, p)
  138. if (a) {
  139. const c = e.canvas.width, d = e.canvas.height;
  140. for (let g = i; g < d; g += m + s)
  141. for (let _ = r; _ < c; _ += e.measureText(p).width + n)
  142. e.save(), e.translate(_, g), e.rotate(Math.PI / 180 * S), e.fillText(p, 0, 0), e.restore();
  143. } else
  144. e.save(), e.translate(r, i), e.rotate(Math.PI / 180 * S), e.fillText(p, 0, 0), e.restore();
  145. e.restore();
  146. }
  147. function ne(e, t, r) {
  148. const { x: i, y: a, repeat: n, spacingX: s, spacingY: S, rotate: v, opacity: p, width: m, height: I, maintainAspectRatio: C, originRatio: W } = t;
  149. if (!(r != null && r.complete))
  150. return;
  151. e.save(), e.globalAlpha = p;
  152. const u = m, o = C ? m / W : I;
  153. if (n) {
  154. const c = e.canvas.width, d = e.canvas.height;
  155. for (let g = a; g < d; g += o + S)
  156. for (let _ = i; _ < c; _ += u + s)
  157. e.save(), e.translate(_, g), e.rotate(Math.PI / 180 * v), e.drawImage(r, 0, 0, u, o), e.restore();
  158. } else
  159. e.save(), e.translate(i, a), e.rotate(Math.PI / 180 * v), e.drawImage(r, 0, 0, u, o), e.restore();
  160. e.restore();
  161. }
  162. var se = class extends Ex {
  163. constructor() {
  164. super(...arguments);
  165. l(this, "_config");
  166. l(this, "_image");
  167. l(this, "_user");
  168. }
  169. render(r, i = false) {
  170. var n;
  171. super.render(r, i);
  172. const a = r || ((n = this.scene.getEngine()) == null ? void 0 : n.getCanvas().getContext());
  173. return a && a.getId() && this._renderWatermark(a), this;
  174. }
  175. updateConfig(r, i) {
  176. var a;
  177. this._config = r, ((a = this._config) == null ? void 0 : a.type) === f.Image && this._config.config.image && (this._image = new Image(), this._image.src = this._config.config.image.url), i && (this._user = i);
  178. }
  179. _renderWatermark(r) {
  180. this._config && re(r, this._config, this._image, this._user);
  181. }
  182. };
  183. var oe = Object.defineProperty;
  184. var le = Object.getOwnPropertyDescriptor;
  185. var fe = (e, t, r, i) => {
  186. for (var a = i > 1 ? void 0 : i ? le(t, r) : t, n = e.length - 1, s; n >= 0; n--)
  187. (s = e[n]) && (a = (i ? s(t, r, a) : s(a)) || a);
  188. return i && a && oe(t, r, a), a;
  189. };
  190. var M = (e, t) => (r, i) => t(r, i, e);
  191. var k = class extends J0 {
  192. constructor(t, r, i, a) {
  193. super();
  194. l(this, "_watermarkLayer");
  195. this._context = t, this._watermarkService = r, this._localStorageService = i, this._userManagerService = a, this._watermarkLayer = new se(t.scene, [], F), this._initAddRender(), this._initWatermarkUpdate(), this._initWatermarkConfig();
  196. }
  197. _initAddRender() {
  198. const { scene: t } = this._context;
  199. t.addLayer(this._watermarkLayer);
  200. }
  201. async _initWatermarkConfig() {
  202. var r;
  203. const t = await this._localStorageService.getItem(h);
  204. t && (this._watermarkService.updateWatermarkConfig(t), (r = this._context.mainComponent) == null || r.makeDirty());
  205. }
  206. _initWatermarkUpdate() {
  207. this.disposeWithMe(
  208. this._watermarkService.updateConfig$.subscribe((t) => {
  209. var r, i;
  210. if (!t) {
  211. this._watermarkLayer.updateConfig(), (r = this._context.mainComponent) == null || r.makeDirty();
  212. return;
  213. }
  214. t.type === f.UserInfo ? this._watermarkLayer.updateConfig(t, this._userManagerService.getCurrentUser()) : this._watermarkLayer.updateConfig(t), (i = this._context.mainComponent) == null || i.makeDirty();
  215. })
  216. );
  217. }
  218. };
  219. k = fe([
  220. M(1, ot(R)),
  221. M(2, ot(xR)),
  222. M(3, ot(rr))
  223. ], k);
  224. var ce = Object.defineProperty;
  225. var ge = Object.getOwnPropertyDescriptor;
  226. var _e = (e, t, r, i) => {
  227. for (var a = i > 1 ? void 0 : i ? ge(t, r) : t, n = e.length - 1, s; n >= 0; n--)
  228. (s = e[n]) && (a = (i ? s(t, r, a) : s(a)) || a);
  229. return i && a && ce(t, r, a), a;
  230. };
  231. var A = (e, t) => (r, i) => t(r, i, e);
  232. var he = "UNIVER_WATERMARK_PLUGIN";
  233. var E;
  234. var L = (E = class extends Ra {
  235. constructor(e = D, t, r, i, a) {
  236. super(), this._config = e, this._injector = t, this._configService = r, this._renderManagerSrv = i, this._localStorageService = a;
  237. const { ...n } = nu(
  238. {},
  239. D,
  240. this._config
  241. );
  242. this._configService.setConfig(O, n), this._initWatermarkStorage(), this._initDependencies();
  243. }
  244. async _initWatermarkStorage() {
  245. const e = this._configService.getConfig(O);
  246. if (!e)
  247. return;
  248. const { userWatermarkSettings: t, textWatermarkSettings: r, imageWatermarkSettings: i } = e;
  249. if (t)
  250. this._localStorageService.setItem(h, {
  251. type: f.UserInfo,
  252. config: {
  253. userInfo: nu({}, Q, t)
  254. }
  255. });
  256. else if (r)
  257. this._localStorageService.setItem(h, {
  258. type: f.Text,
  259. config: {
  260. text: nu({}, q, r)
  261. }
  262. });
  263. else if (i)
  264. this._localStorageService.setItem(h, {
  265. type: f.Image,
  266. config: {
  267. image: nu({}, J, i)
  268. }
  269. });
  270. else {
  271. const a = await this._localStorageService.getItem(h);
  272. (a == null ? void 0 : a.type) === f.UserInfo && this._localStorageService.removeItem(h);
  273. }
  274. }
  275. _initDependencies() {
  276. [[R]].forEach((e) => {
  277. this._injector.add(e);
  278. });
  279. }
  280. onRendered() {
  281. this._injector.get(R), this._initRenderDependencies();
  282. }
  283. _initRenderDependencies() {
  284. [
  285. [k]
  286. ].forEach((e) => {
  287. this._renderManagerSrv.registerRenderModule(Fe.UNIVER_SHEET, e), this._renderManagerSrv.registerRenderModule(Fe.UNIVER_DOC, e);
  288. });
  289. }
  290. }, l(E, "pluginName", he), E);
  291. L = _e([
  292. A(1, ot(Ot)),
  293. A(2, SE),
  294. A(3, Yx),
  295. A(4, ot(xR))
  296. ], L);
  297. export {
  298. h,
  299. ue,
  300. q,
  301. J,
  302. Q,
  303. f,
  304. R,
  305. L
  306. };
  307. //# sourceMappingURL=chunk-TQS4UFI4.js.map