PluginProbe
Elementor Website Builder – more than just a page builder / 4.3.0
Elementor Website Builder – more than just a page builder v4.3.0
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 4.0.8 All 454 releases
elementor / assets / js / packages / editor-current-user / editor-current-user.js

editor-current-user.js in Elementor Website Builder – more than just a page builder 4.3.0, at assets/js/packages/editor-current-user/editor-current-user.js

134 lines 4.5 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
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?.();
134 //# sourceMappingURL=editor-current-user.js.map