← 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 |