← All changes
|
assets/js/packages/editor-current-user/editor-current-user.js
+2
-134
4.3.1
→
3.30.1
View file →
| @@ -1,134 +1,2 @@ | ||
| 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 | |
| 1 | +/*! For license information please see editor-current-user.js.LICENSE.txt */ | |
| 2 | +!function(){"use strict";var e={"@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}},t={};function r(n){var s=t[n];if(void 0!==s)return s.exports;var o=t[n]={exports:{}};return e[n](o,o.exports,r),o.exports}r.d=function(e,t){for(var n in t)r.o(t,n)&&!r.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var n={};!function(){r.r(n),r.d(n,{ensureCurrentUser:function(){return f},getCurrentUser:function(){return p},useCurrentUserCapabilities:function(){return m},useSuppressedMessage:function(){return y}});var e=r("@elementor/query"),t=r("@elementor/http-client"),s=r("@elementor/editor-v1-adapters"),o="/users/me",i={params:{context:"edit"}},u={get:()=>(0,t.httpService)().get("wp/v2"+o,i).then((e=>a(e.data))),update:e=>(0,t.httpService)().patch("wp/v2"+o,c(e))},a=e=>({suppressedMessages:Object.entries(e.elementor_introduction).filter((([,e])=>e)).map((([e])=>e)),capabilities:Object.keys(e.capabilities)}),c=e=>({elementor_introduction:e.suppressedMessages?.reduce(((e,t)=>(e[t]=!0,e)),{})}),p=()=>u.get(),d="editor-current-user",l=()=>(0,e.useQuery)({queryKey:[d],queryFn:p}),y=t=>{const{data:r}=l(),{mutate:n}=(()=>{const t=(0,e.useQueryClient)();return(0,e.useMutation)({mutationFn:u.update,onSuccess:()=>t.invalidateQueries({queryKey:[d]})})})(),s=!!r?.suppressedMessages.includes(t);return[s,()=>{s||n({suppressedMessages:[...r?.suppressedMessages??[],t]})}]},m=()=>{const{data:e}=l();return{canUser:t=>Boolean(e?.capabilities.includes(t)),capabilities:e?.capabilities}};function f({queryClient:e}){return(0,s.registerDataHook)("after","editor/documents/attach-preview",(async()=>{await e.ensureQueryData({queryKey:[d],queryFn:u.get})})),e.getQueryData([d])}}(),(window.elementorV2=window.elementorV2||{}).editorCurrentUser=n}(),window.elementorV2.editorCurrentUser?.init?.(); | |