PluginProbe
Elementor Website Builder – more than just a page builder / 4.3.2
Elementor Website Builder – more than just a page builder v4.3.2
4.3.2 4.3.1 4.3.0 4.3.0-beta3 4.3.0-beta2 4.3.0-beta1 4.2.4 4.2.3 4.2.2 4.2.1 4.2.0 4.1.5 4.2.0-beta2 4.2.0-dev2 4.2.0-beta1 4.1.4 4.1.3 4.1.2 4.1.1 4.1.0 4.1.0-beta3 4.1.0-dev3 4.0.9 4.1.0-beta2 4.1.0-dev2 All 455 releases
← All changes | assets/js/packages/editor-current-user/editor-current-user.js +133 -2 4.1.0-dev2 → 4.3.2 View file →
@@ -1,3 +1,134 @@
1 -/*! For license information please see editor-current-user.js.LICENSE.txt */
2 -!function(){"use strict";var e={"./packages/packages/libs/editor-current-user/src/api.ts":function(e,r,s){s.r(r),s.d(r,{apiClient:function(){return a}});var t=s("@elementor/http-client");const u="elementor/v1/user-data/current-user",n={params:{context:"edit"}},a={get:()=>(0,t.httpService)().get(u,n).then(e=>{const{capabilities:r=[],suppressedMessages:s=[]}=e.data;return{capabilities:r,suppressedMessages:s}}),update:e=>(0,t.httpService)().patch(u,{suppressedMessages:e.suppressedMessages})}},"./packages/packages/libs/editor-current-user/src/ensure-current-user.ts":function(e,r,s){s.r(r),s.d(r,{ensureUser:function(){return ensureUser}});var t=s("@elementor/query"),u=s("./packages/packages/libs/editor-current-user/src/api.ts"),n=s("./packages/packages/libs/editor-current-user/src/use-current-user.ts");async function ensureUser(){return(0,t.getQueryClient)().ensureQueryData({queryKey:[n.EDITOR_CURRENT_USER_QUERY_KEY],queryFn:u.apiClient.get,retry:!1})}},"./packages/packages/libs/editor-current-user/src/get-current-user.ts":function(e,r,s){s.r(r),s.d(r,{getCurrentUser:function(){return getCurrentUser}});var t=s("@elementor/query"),u=s("./packages/packages/libs/editor-current-user/src/use-current-user.ts");const getCurrentUser=()=>(0,t.getQueryClient)().getQueryData([u.EDITOR_CURRENT_USER_QUERY_KEY])},"./packages/packages/libs/editor-current-user/src/on-set-user.ts":function(e,r,s){s.r(r),s.d(r,{onSetUser:function(){return onSetUser}});var t=s("@elementor/editor-v1-adapters"),u=s("@elementor/query"),n=s("./packages/packages/libs/editor-current-user/src/use-current-user.ts");function onSetUser(e){let r;const s=(0,t.__privateListenTo)((0,t.v1ReadyEvent)(),()=>{const s=(0,u.getQueryClient)();r=s.getQueryCache().subscribe(r=>{r.query.queryKey.includes(n.EDITOR_CURRENT_USER_QUERY_KEY)&&e(r.query.state.data)})});return()=>{r(),s()}}},"./packages/packages/libs/editor-current-user/src/use-current-user-capabilities.ts":function(e,r,s){s.r(r),s.d(r,{ADMIN_CAPABILITY:function(){return u},useCurrentUserCapabilities:function(){return useCurrentUserCapabilities}});var t=s("./packages/packages/libs/editor-current-user/src/use-current-user.ts");const u="manage_options",useCurrentUserCapabilities=()=>{const{data:e}=(0,t.useCurrentUser)();return{canUser:r=>Boolean(e?.capabilities.includes(r)),isAdmin:Boolean(e?.capabilities.includes(u)),capabilities:e?.capabilities}}},"./packages/packages/libs/editor-current-user/src/use-current-user.ts":function(e,r,s){s.r(r),s.d(r,{EDITOR_CURRENT_USER_QUERY_KEY:function(){return n},useCurrentUser:function(){return useCurrentUser}});var t=s("@elementor/query"),u=s("./packages/packages/libs/editor-current-user/src/api.ts");const n="editor-current-user",useCurrentUser=()=>(0,t.useQuery)({queryKey:[n],queryFn:u.apiClient.get})},"./packages/packages/libs/editor-current-user/src/use-suppressed-message.ts":function(e,r,s){s.r(r),s.d(r,{useSuppressedMessage:function(){return useSuppressedMessage}});var t=s("./packages/packages/libs/editor-current-user/src/use-current-user.ts"),u=s("./packages/packages/libs/editor-current-user/src/use-update-current-user.ts");const useSuppressedMessage=e=>{const{data:r}=(0,t.useCurrentUser)(),{mutate:s}=(0,u.useUpdateCurrentUser)(),n=!!r?.suppressedMessages.includes(e);return[n,()=>{n||s({suppressedMessages:[...r?.suppressedMessages??[],e]})}]}},"./packages/packages/libs/editor-current-user/src/use-update-current-user.ts":function(e,r,s){s.r(r),s.d(r,{useUpdateCurrentUser:function(){return useUpdateCurrentUser}});var t=s("@elementor/query"),u=s("./packages/packages/libs/editor-current-user/src/api.ts"),n=s("./packages/packages/libs/editor-current-user/src/use-current-user.ts");const useUpdateCurrentUser=()=>{const e=(0,t.useQueryClient)();return(0,t.useMutation)({mutationFn:u.apiClient.update,onSuccess:()=>e.invalidateQueries({queryKey:[n.EDITOR_CURRENT_USER_QUERY_KEY]})})}},"@elementor/editor-v1-adapters":function(e){e.exports=window.elementorV2.editorV1Adapters},"@elementor/http-client":function(e){e.exports=window.elementorV2.httpClient},"@elementor/query":function(e){e.exports=window.elementorV2.query}},r={};function __webpack_require__(s){var t=r[s];if(void 0!==t)return t.exports;var u=r[s]={exports:{}};return e[s](u,u.exports,__webpack_require__),u.exports}__webpack_require__.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return __webpack_require__.d(r,{a:r}),r},__webpack_require__.d=function(e,r){for(var s in r)__webpack_require__.o(r,s)&&!__webpack_require__.o(e,s)&&Object.defineProperty(e,s,{enumerable:!0,get:r[s]})},__webpack_require__.o=function(e,r){return Object.prototype.hasOwnProperty.call(e,r)},__webpack_require__.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var s={};!function(){__webpack_require__.r(s),__webpack_require__.d(s,{ensureUser:function(){return u.ensureUser},getCurrentUser:function(){return t.getCurrentUser},onSetUser:function(){return n.onSetUser},useCurrentUser:function(){return a.useCurrentUser},useCurrentUserCapabilities:function(){return r.useCurrentUserCapabilities},useSuppressedMessage:function(){return e.useSuppressedMessage},useUpdateCurrentUser:function(){return c.useUpdateCurrentUser}});var e=__webpack_require__("./packages/packages/libs/editor-current-user/src/use-suppressed-message.ts"),r=__webpack_require__("./packages/packages/libs/editor-current-user/src/use-current-user-capabilities.ts"),t=__webpack_require__("./packages/packages/libs/editor-current-user/src/get-current-user.ts"),u=__webpack_require__("./packages/packages/libs/editor-current-user/src/ensure-current-user.ts"),n=__webpack_require__("./packages/packages/libs/editor-current-user/src/on-set-user.ts"),a=__webpack_require__("./packages/packages/libs/editor-current-user/src/use-current-user.ts"),c=__webpack_require__("./packages/packages/libs/editor-current-user/src/use-update-current-user.ts")}(),(window.elementorV2=window.elementorV2||{}).editorCurrentUser=s}(),window.elementorV2.editorCurrentUser?.init?.();
1 +(function(_elementor_query, _elementor_http_client, _elementor_editor_v1_adapters) {
2 +
3 +//#region \0rolldown/runtime.js
4 + var __defProp = Object.defineProperty;
5 + var __name = (target, value) => __defProp(target, "name", {
6 + value,
7 + configurable: true
8 + });
9 + var __exportAll = (all, no_symbols) => {
10 + let target = {};
11 + for (var name in all) {
12 + __defProp(target, name, {
13 + get: all[name],
14 + enumerable: true
15 + });
16 + }
17 + if (!no_symbols) {
18 + __defProp(target, Symbol.toStringTag, { value: "Module" });
19 + }
20 + return target;
21 + };
22 +
23 +//#endregion
24 +
25 +//#region packages/packages/libs/editor-current-user/src/api.ts
26 + var RESOURCE_URL = "elementor/v1/user-data/current-user";
27 + var getUserPayload = { params: { context: "edit" } };
28 + var apiClient = {
29 + get: () => (0, _elementor_http_client.httpService)().get(RESOURCE_URL, getUserPayload).then((res) => {
30 + const { capabilities = [], suppressedMessages = [] } = res.data;
31 + return {
32 + capabilities,
33 + suppressedMessages
34 + };
35 + }),
36 + update: (data) => (0, _elementor_http_client.httpService)().patch(RESOURCE_URL, { suppressedMessages: data.suppressedMessages })
37 + };
38 +
39 +//#endregion
40 +//#region packages/packages/libs/editor-current-user/src/use-current-user.ts
41 + var EDITOR_CURRENT_USER_QUERY_KEY = "editor-current-user";
42 + var useCurrentUser = () => (0, _elementor_query.useQuery)({
43 + queryKey: [EDITOR_CURRENT_USER_QUERY_KEY],
44 + queryFn: apiClient.get
45 + });
46 +
47 +//#endregion
48 +//#region packages/packages/libs/editor-current-user/src/use-update-current-user.ts
49 + var useUpdateCurrentUser = () => {
50 + const queryClient = (0, _elementor_query.useQueryClient)();
51 + return (0, _elementor_query.useMutation)({
52 + mutationFn: apiClient.update,
53 + onSuccess: () => queryClient.invalidateQueries({ queryKey: [EDITOR_CURRENT_USER_QUERY_KEY] })
54 + });
55 + };
56 +
57 +//#endregion
58 +//#region packages/packages/libs/editor-current-user/src/use-suppressed-message.ts
59 + var useSuppressedMessage = (messageKey) => {
60 + const { data } = useCurrentUser();
61 + const { mutate } = useUpdateCurrentUser();
62 + const isMessageSuppressed = !!data?.suppressedMessages.includes(messageKey);
63 + const suppressMessage = () => {
64 + if (!isMessageSuppressed) mutate({ suppressedMessages: [...data?.suppressedMessages ?? [], messageKey] });
65 + };
66 + return [isMessageSuppressed, suppressMessage];
67 + };
68 +
69 +//#endregion
70 +//#region packages/packages/libs/editor-current-user/src/use-current-user-capabilities.ts
71 + var ADMIN_CAPABILITY = "manage_options";
72 + var useCurrentUserCapabilities = () => {
73 + const { data } = useCurrentUser();
74 + const canUser = (capability) => {
75 + return Boolean(data?.capabilities.includes(capability));
76 + };
77 + return {
78 + canUser,
79 + isAdmin: Boolean(data?.capabilities.includes(ADMIN_CAPABILITY)),
80 + capabilities: data?.capabilities
81 + };
82 + };
83 +
84 +//#endregion
85 +//#region packages/packages/libs/editor-current-user/src/get-current-user.ts
86 + var getCurrentUser = () => {
87 + return (0, _elementor_query.getQueryClient)().getQueryData([EDITOR_CURRENT_USER_QUERY_KEY]);
88 + };
89 +
90 +//#endregion
91 +//#region packages/packages/libs/editor-current-user/src/ensure-current-user.ts
92 + async function ensureUser() {
93 + return (0, _elementor_query.getQueryClient)().ensureQueryData({
94 + queryKey: [EDITOR_CURRENT_USER_QUERY_KEY],
95 + queryFn: apiClient.get,
96 + retry: false
97 + });
98 + }
99 +
100 +//#endregion
101 +//#region packages/packages/libs/editor-current-user/src/on-set-user.ts
102 + function onSetUser(callback) {
103 + let unsubscribeQuery;
104 + const unsubscribeListener = (0, _elementor_editor_v1_adapters.__privateListenTo)((0, _elementor_editor_v1_adapters.v1ReadyEvent)(), () => {
105 + unsubscribeQuery = (0, _elementor_query.getQueryClient)().getQueryCache().subscribe((event) => {
106 + if (event.query.queryKey.includes("editor-current-user")) callback(event.query.state.data);
107 + });
108 + });
109 + return () => {
110 + unsubscribeQuery();
111 + unsubscribeListener();
112 + };
113 + }
114 +
115 +//#endregion
116 +//#region packages/packages/libs/editor-current-user/src/index.ts
117 + var src_exports = /* @__PURE__ */ __exportAll({
118 + ensureUser: () => ensureUser,
119 + getCurrentUser: () => getCurrentUser,
120 + onSetUser: () => onSetUser,
121 + useCurrentUser: () => useCurrentUser,
122 + useCurrentUserCapabilities: () => useCurrentUserCapabilities,
123 + useSuppressedMessage: () => useSuppressedMessage,
124 + useUpdateCurrentUser: () => useUpdateCurrentUser
125 + });
126 +
127 +//#endregion
128 +//#region \0elementor-package-library-entry
129 + (window.elementorV2 = window.elementorV2 || {}).editorCurrentUser = src_exports;
130 +
131 +//#endregion
132 +})(elementorV2.query, elementorV2.httpClient, elementorV2.editorV1Adapters);
133 +window.elementorV2.editorCurrentUser?.init?.();
3 134 //# sourceMappingURL=editor-current-user.js.map