dinocollab-core 2.1.42 → 2.1.44
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/http-service/base/service-base.js +1 -1
- package/dist/src/http-service/base/service-base.js.map +1 -1
- package/dist/src/http-service/graphql/graphql-request.js +1 -1
- package/dist/src/http-service/graphql/graphql-request.js.map +1 -1
- package/dist/src/table/create.table.js +1 -1
- package/dist/src/table/create.table.js.map +1 -1
- package/dist/types/http-service/base/service-base.d.ts +3 -1
- package/dist/types/http-service/base/types.d.ts +3 -0
- package/dist/types/http-service/graphql/graphql-request.d.ts +2 -0
- package/package.json +1 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{defineProperty as t,createClass as n,asyncToGenerator as r,regenerator as e,classCallCheck as a,inherits as u,wrapNativeSuper as
|
|
1
|
+
import{defineProperty as t,createClass as n,asyncToGenerator as r,regenerator as e,classCallCheck as a,inherits as u,wrapNativeSuper as i,callSuper as s,superPropGet as o}from"../../../_virtual/_rollupPluginBabelHelpers.js";import{authService as c}from"partner-oidc-auth";import h from"axios";import{HttpService as f}from"./gateway.js";import{createObjectSingleton as p}from"../../utils/singletone.js";import{ApiAlertContext as l,handleResponseError as v}from"./helpers.js";var d=function(){return n(function t(){a(this,t)},[{key:"getToken",value:(i=r(e().m(function t(){var n;return e().w(function(t){for(;;)switch(t.n){case 0:return t.n=1,c.getAccessToken();case 1:if(n=t.v){t.n=2;break}n=void 0;case 2:return t.a(2,n)}},t)})),function(){return i.apply(this,arguments)})},{key:"reSignIn",value:(u=r(e().m(function t(){return e().w(function(t){for(;;)switch(t.n){case 0:return t.n=1,c.signIn({});case 1:return t.a(2)}},t)})),function(){return u.apply(this,arguments)})},{key:"getRoles",value:(t=r(e().m(function t(){var n;return e().w(function(t){for(;;)switch(t.n){case 0:return t.n=1,c.getRoles();case 1:return n=t.v,t.a(2,n||void 0)}},t)})),function(){return t.apply(this,arguments)})}]);var t,u,i}(),y=function(){function u(n,i){var s=this;a(this,u),t(this,"mapResponse",function(){s._http.interceptors.response.use(function(t){return t},function(t){return s.tryFetchToken(t,v)}),s._http.interceptors.request.use(function(t){return s.interuptHeader(t)})}),t(this,"tryFetchToken",function(){var t=r(e().m(function t(n,r){var a,i;return e().w(function(t){for(;;)switch(t.n){case 0:if(i=n.config,401!==(null==n||null===(a=n.response)||void 0===a?void 0:a.status)||!i){t.n=3;break}return t.n=1,u.tokenProvider.reSignIn();case 1:return t.n=2,s.interuptHeader(i);case 2:return t.a(2,h(i));case 3:return t.a(2,r(n))}},t)}));return function(n,r){return t.apply(this,arguments)}}()),t(this,"getToken",r(e().m(function t(){var n,r;return e().w(function(t){for(;;)switch(t.n){case 0:if("guest"!==(null===(n=s.options)||void 0===n?void 0:n.permission)){t.n=1;break}return t.a(2,void 0);case 1:if(void 0!==s._token){t.n=3;break}return t.n=2,u.tokenProvider.getToken();case 2:r=t.v,t.n=4;break;case 3:r=s._token;case 4:return t.a(2,r)}},t)}))),t(this,"addtoken",function(){var t=r(e().m(function t(n){var r;return e().w(function(t){for(;;)switch(t.n){case 0:return t.n=1,s.getToken();case 1:return(r=t.v)&&null!=n&&n.headers&&(n.headers.Authorization="Bearer "+r),t.a(2,n)}},t)}));return function(n){return t.apply(this,arguments)}}()),this.options=i,this._http=n||f,this.mapResponse()}return n(u,[{key:"setToken",value:function(t){this._token=t}},{key:"addCustomHeader",value:(b=r(e().m(function t(n){return e().w(function(t){for(;;)if(0===t.n)return n||(n={headers:{}}),n.headers||(n.headers={}),t.a(2,n)},t)})),function(t){return b.apply(this,arguments)})},{key:"interuptHeader",value:(P=r(e().m(function t(n){return e().w(function(t){for(;;)switch(t.n){case 0:return t.n=1,this.addtoken(n);case 1:return t.a(2,n)}},t,this)})),function(t){return P.apply(this,arguments)})},{key:"get",value:(H=r(e().m(function t(n,r){var a,u,i;return e().w(function(t){for(;;)switch(t.n){case 0:return u=this._http,i=n,t.n=1,this.addCustomHeader(r);case 1:return t.n=2,u.get.call(u,i,t.v);case 2:return a=t.v,t.a(2,a.data)}},t,this)})),function(t,n){return H.apply(this,arguments)})},{key:"tryGet",value:(C=r(e().m(function t(n,r){return e().w(function(t){for(;;)switch(t.p=t.n){case 0:return t.p=0,t.a(2,this.get(n,r));case 1:return t.p=1,t.v,t.a(2,null)}},t,this,[[0,1]])})),function(t,n){return C.apply(this,arguments)})},{key:"post",value:(_=r(e().m(function t(n,r,a){var u,i,s,o;return e().w(function(t){for(;;)switch(t.n){case 0:return i=this._http,s=n,o=r,t.n=1,this.addCustomHeader(a);case 1:return t.n=2,i.post.call(i,s,o,t.v);case 2:return u=t.v,t.a(2,u.data)}},t,this)})),function(t,n,r){return _.apply(this,arguments)})},{key:"put",value:(g=r(e().m(function t(n,r,a){var u,i,s,o;return e().w(function(t){for(;;)switch(t.n){case 0:return i=this._http,s=n,o=r,t.n=1,this.addCustomHeader(a);case 1:return t.n=2,i.put.call(i,s,o,t.v);case 2:return u=t.v,t.a(2,u.data)}},t,this)})),function(t,n,r){return g.apply(this,arguments)})},{key:"tryPut",value:(m=r(e().m(function t(n,r,a){return e().w(function(t){for(;;)switch(t.p=t.n){case 0:return t.p=0,t.n=1,this.addCustomHeader(a);case 1:return t.n=2,this.put(n,r,a);case 2:return t.a(2,t.v);case 3:return t.p=3,t.v,t.a(2,null)}},t,this,[[0,3]])})),function(t,n,r){return m.apply(this,arguments)})},{key:"patch",value:(w=r(e().m(function t(n,r,a){var u,i,s,o;return e().w(function(t){for(;;)switch(t.n){case 0:return i=this._http,s=n,o=r,t.n=1,this.addCustomHeader(a);case 1:return t.n=2,i.patch.call(i,s,o,t.v);case 2:return u=t.v,t.a(2,u.data)}},t,this)})),function(t,n,r){return w.apply(this,arguments)})},{key:"tryPatch",value:(k=r(e().m(function t(n,r,a){return e().w(function(t){for(;;)switch(t.p=t.n){case 0:return t.p=0,t.n=1,this.addCustomHeader(a);case 1:return t.n=2,this.patch(n,r,a);case 2:return t.a(2,t.v);case 3:return t.p=3,t.v,t.a(2,null)}},t,this,[[0,3]])})),function(t,n,r){return k.apply(this,arguments)})},{key:"tryPost",value:(y=r(e().m(function t(n,r,a){return e().w(function(t){for(;;)switch(t.p=t.n){case 0:return t.p=0,t.n=1,this.post(n,r,a);case 1:return t.a(2,t.v);case 2:return t.p=2,t.v,t.a(2,null)}},t,this,[[0,2]])})),function(t,n,r){return y.apply(this,arguments)})},{key:"delete",value:(c=r(e().m(function t(n,r){var a,u,i;return e().w(function(t){for(;;)switch(t.n){case 0:return u=this._http,i=n,t.n=1,this.addCustomHeader(r);case 1:return t.n=2,u.delete.call(u,i,t.v);case 2:return a=t.v,t.a(2,a.data)}},t,this)})),function(t,n){return c.apply(this,arguments)})},{key:"tryDelete",value:(o=r(e().m(function t(n,r){var a,u;return e().w(function(t){for(;;)switch(t.p=t.n){case 0:return t.p=0,a=this,u=n,t.n=1,this.addCustomHeader(r);case 1:return t.n=2,a.delete.call(a,u,t.v);case 2:return t.a(2,t.v);case 3:return t.p=3,t.v,t.a(2,null)}},t,this,[[0,3]])})),function(t,n){return o.apply(this,arguments)})},{key:"tryPushNotify",value:(s=r(e().m(function t(n){var r,a,u,i=arguments;return e().w(function(t){for(;;)switch(t.p=t.n){case 0:for(t.p=0,r=i.length,a=new Array(r>1?r-1:0),u=1;u<r;u++)a[u-1]=i[u];return t.n=1,this.pushNotify.apply(this,[n].concat(a));case 1:return t.a(2,t.v);case 2:t.p=2,t.v;case 3:return t.a(2)}},t,this,[[0,2]])})),function(t){return s.apply(this,arguments)})},{key:"pushNotify",value:(i=r(e().m(function t(n){var r,a,u,i,s,o,c,h=arguments;return e().w(function(t){for(;;)switch(t.p=t.n){case 0:for(t.p=0,r=h.length,a=new Array(r>1?r-1:0),u=1;u<r;u++)a[u-1]=h[u];return t.n=1,n.bind(this).apply(void 0,a);case 1:return t.a(2,t.v);case 2:throw t.p=2,c=t.v,(o=null===(i=(s=c).response)||void 0===i?void 0:i.data)&&Object.keys(o).forEach(function(t){var n=o[t];Array.isArray(n)&&n.forEach(function(t){var n;null==l||null===(n=l.ApiAlert)||void 0===n||n.PushError(t)})}),s;case 3:return t.a(2)}},t,this,[[0,2]])})),function(t){return i.apply(this,arguments)})}],[{key:"tokenProvider",get:function(){var t;return null!==(t=p(u.key_token_provider).get())&&void 0!==t?t:new d}},{key:"setTokenProvider",value:function(t){p(u.key_token_provider).set(null!=t?t:new d)}}]);var i,s,o,c,y,k,w,m,g,_,C,H,P,b}();t(y,"key_token_provider","__t1_22zzz_t_pro_key__");var k=function(r){function e(){var n;a(this,e);for(var r=arguments.length,u=new Array(r),i=0;i<r;i++)u[i]=arguments[i];return n=s(this,e,[].concat(u)),t(n,"cancel",function(){n.trigger&&n.trigger(),o(e,"abort",n)([])}),n}return u(e,r),n(e)}(i(AbortController));export{k as CancelAction,y as default};
|
|
2
2
|
//# sourceMappingURL=service-base.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"service-base.js","sources":["../../../../src/http-service/base/service-base.ts"],"sourcesContent":["import { authService } from 'partner-oidc-auth'\r\nimport type { AxiosError, AxiosInstance, AxiosRequestConfig, InternalAxiosRequestConfig } from 'axios'\r\nimport axios from 'axios'\r\nimport { HttpService } from './gateway'\r\nimport { createObjectSingleton } from '../../utils/singletone'\r\nimport { handleResponseError, ApiAlertContext } from './helpers'\r\n\r\nexport interface ITokenProvider {\r\n getToken: () => Promise<string | undefined>\r\n reSignIn: () => Promise<void>\r\n getRoles: () => Promise<string[] | undefined>\r\n}\r\n\r\nclass TokenProviderDefault implements ITokenProvider {\r\n async getToken(): Promise<string | undefined> {\r\n return (await authService.getAccessToken()) || undefined\r\n }\r\n async reSignIn() {\r\n await authService.signIn({})\r\n }\r\n async getRoles(): Promise<string[] | undefined> {\r\n const roles = await authService.getRoles()\r\n return roles || undefined\r\n }\r\n}\r\n\r\n/**\r\n * Base service class for HTTP operations with authentication and error handling\r\n * Provides common CRUD operations with automatic token management and retry logic\r\n */\r\nexport default class ServiceBase {\r\n static key_token_provider = '__t1_22zzz_t_pro_key__'\r\n static get tokenProvider(): ITokenProvider {\r\n const ObjectProvider = createObjectSingleton<ITokenProvider>(ServiceBase.key_token_provider)\r\n return ObjectProvider.get() ?? new TokenProviderDefault()\r\n }\r\n static setTokenProvider(provider: ITokenProvider) {\r\n const ObjectProvider = createObjectSingleton<ITokenProvider>(ServiceBase.key_token_provider)\r\n ObjectProvider.set(provider ?? new TokenProviderDefault())\r\n }\r\n\r\n private _http: AxiosInstance\r\n constructor(http?: AxiosInstance) {\r\n this._http = http || HttpService\r\n this.mapResponse()\r\n }\r\n /**\r\n * Maps response and request interceptors for handling authentication and errors\r\n * Automatically adds authorization headers and retries requests on 401 errors\r\n */\r\n mapResponse = () => {\r\n this._http.interceptors.response.use(\r\n (res) => res,\r\n (err) => this.tryFetchToken(err, handleResponseError)\r\n )\r\n this._http.interceptors.request.use((req) => {\r\n return this.interuptHeader(req)\r\n })\r\n }\r\n /**\r\n * Tries to fetch a new token if the current one is expired\r\n * @param error - The axios error containing response data\r\n * @param next - The next middleware function to call\r\n * @returns A promise resolving to the response data or an error\r\n */\r\n tryFetchToken = async (error: AxiosError, next: (error: AxiosError) => Promise<any>): Promise<any> => {\r\n const originalRequest = error.config\r\n if (error?.response?.status === 401 && originalRequest) {\r\n await ServiceBase.tokenProvider.reSignIn()\r\n await this.interuptHeader(originalRequest)\r\n return axios(originalRequest)\r\n }\r\n return next(error)\r\n }\r\n private _token?: string\r\n /**\r\n * Sets the token to be used for authentication\r\n * @param token - The token string to set\r\n */\r\n setToken(token?: string) {\r\n this._token = token\r\n }\r\n /**\r\n * Gets the current token, fetching a new one if not set\r\n * @returns A promise resolving to the token string\r\n */\r\n getToken = async () => {\r\n return this._token === undefined ? await ServiceBase.tokenProvider.getToken() : this._token\r\n }\r\n /**\r\n * Adds custom headers to the request configuration\r\n * @param config - The Axios request configuration object\r\n * @returns A promise resolving to the updated configuration object\r\n */\r\n async addCustomHeader(config?: AxiosRequestConfig) {\r\n if (!config) {\r\n config = { headers: {} }\r\n }\r\n if (!config.headers) {\r\n config.headers = {}\r\n }\r\n return config\r\n }\r\n /**\r\n * Intercepts the request to add the authorization token\r\n * @param config - The Axios request configuration object\r\n * @returns The updated configuration object with the token added\r\n */\r\n private async interuptHeader(config: InternalAxiosRequestConfig) {\r\n await this.addtoken(config)\r\n return config\r\n }\r\n /**\r\n * Adds the authorization token to the request headers\r\n * @param config - The Axios request configuration object\r\n * @returns The updated configuration object with the token added\r\n */\r\n private addtoken = async (config?: AxiosRequestConfig) => {\r\n const _token = await this.getToken()\r\n if (_token && config?.headers) {\r\n config.headers.Authorization = 'Bearer ' + _token\r\n }\r\n return config\r\n }\r\n /**\r\n * HTTP GET request with automatic authentication\r\n * @param url - The request URL\r\n * @param config - Optional axios configuration\r\n * @returns Promise with the response data\r\n */\r\n async get<TModel>(url: string, config?: AxiosRequestConfig | undefined) {\r\n const response = await this._http.get<TModel>(url, await this.addCustomHeader(config))\r\n return response.data\r\n }\r\n /**\r\n * HTTP GET request with error handling\r\n * @param url - The request URL\r\n * @param config - Optional axios configuration\r\n * @returns Promise with the response data or null if an error occurs\r\n */\r\n async tryGet<TModel>(url: string, config?: AxiosRequestConfig | undefined) {\r\n try {\r\n return this.get<TModel>(url, config)\r\n } catch {\r\n return null\r\n }\r\n }\r\n /**\r\n * HTTP POST request with automatic authentication\r\n * @param url - The request URL\r\n * @param data - Optional data to send in the request body\r\n * @param config - Optional axios configuration\r\n * @returns Promise with the response data\r\n */\r\n async post<TModel>(url: string, data?: any, config?: AxiosRequestConfig | undefined) {\r\n const response = await this._http.post<TModel>(url, data, await this.addCustomHeader(config))\r\n return response.data\r\n }\r\n /**\r\n * HTTP PUT request with automatic authentication\r\n * @param url - The request URL\r\n * @param data - Optional data to send in the request body\r\n * @param config - Optional axios configuration\r\n * @returns Promise with the response data\r\n */\r\n async put<TModel>(url: string, data?: any, config?: AxiosRequestConfig | undefined) {\r\n const response = await this._http.put<TModel>(url, data, await this.addCustomHeader(config))\r\n return response.data\r\n }\r\n /**\r\n * HTTP PUT request with error handling\r\n * @param url - The request URL\r\n * @param data - Optional data to send in the request body\r\n * @param config - Optional axios configuration\r\n * @returns Promise with the response data or null if an error occurs\r\n */\r\n async tryPut<TModel>(url: string, data?: any, config?: AxiosRequestConfig | undefined) {\r\n try {\r\n await this.addCustomHeader(config)\r\n return await this.put<TModel>(url, data, config)\r\n } catch (error) {\r\n // processError(error as any)\r\n return null\r\n }\r\n }\r\n /**\r\n * HTTP PATCH request with automatic authentication\r\n * @param url - The request URL\r\n * @param data - Optional data to send in the request body\r\n * @param config - Optional axios configuration\r\n * @returns Promise with the response data\r\n */\r\n async patch<TModel>(url: string, data?: any, config?: AxiosRequestConfig | undefined) {\r\n const response = await this._http.patch<TModel>(url, data, await this.addCustomHeader(config))\r\n return response.data\r\n }\r\n /**\r\n * HTTP PATCH request with error handling\r\n * @param url - The request URL\r\n * @param data - Optional data to send in the request body\r\n * @param config - Optional axios configuration\r\n * @returns Promise with the response data or null if an error occurs\r\n */\r\n async tryPatch<TModel>(url: string, data?: any, config?: AxiosRequestConfig | undefined) {\r\n try {\r\n await this.addCustomHeader(config)\r\n return await this.patch<TModel>(url, data, config)\r\n } catch (error) {\r\n // processError(error as any)\r\n return null\r\n }\r\n }\r\n /**\r\n * HTTP POST request with error handling\r\n * @param url - The request URL\r\n * @param data - Optional data to send in the request body\r\n * @param config - Optional axios configuration\r\n * @returns Promise with the response data or null if an error occurs\r\n */\r\n async tryPost<TModel>(url: string, data?: any, config?: AxiosRequestConfig | undefined) {\r\n try {\r\n return await this.post<TModel>(url, data, config)\r\n } catch (error) {\r\n // processError(error as any)\r\n return null\r\n }\r\n }\r\n /**\r\n * HTTP DELETE request with automatic authentication\r\n * @param url - The request URL\r\n * @param config - Optional axios configuration\r\n * @returns Promise with the response data\r\n */\r\n async delete<TModel>(url: string, config?: AxiosRequestConfig | undefined) {\r\n const response = await this._http.delete<TModel>(url, await this.addCustomHeader(config))\r\n return response.data\r\n }\r\n /**\r\n * HTTP DELETE request with error handling\r\n * @param url - The request URL\r\n * @param config - Optional axios configuration\r\n * @returns Promise with the response data or null if an error occurs\r\n */\r\n async tryDelete<TModel>(url: string, config?: AxiosRequestConfig | undefined) {\r\n try {\r\n return await this.delete<TModel>(url, await this.addCustomHeader(config))\r\n } catch (error) {\r\n // processError(error as any)\r\n return null\r\n }\r\n }\r\n /**\r\n * Push notification with error handling\r\n * @param action - The function to execute\r\n * @param p - Parameters to pass to the function\r\n * @returns Promise with the result of the function execution\r\n */\r\n async tryPushNotify<TFunc extends (...param: any[]) => any>(action: TFunc, ...p: Parameters<TFunc>) {\r\n try {\r\n return await this.pushNotify(action, ...p)\r\n } catch (err) {}\r\n }\r\n /**\r\n * Push notification with error handling\r\n * @param action - The function to execute\r\n * @param p - Parameters to pass to the function\r\n * @returns Promise with the result of the function execution\r\n */\r\n async pushNotify<TFunc extends (...param: any[]) => any>(action: TFunc, ...p: Parameters<TFunc>): Promise<ReturnType<TFunc>> {\r\n try {\r\n return await action.bind(this)(...p)\r\n } catch (err) {\r\n const error = err as AxiosError\r\n const data = error.response?.data as any\r\n if (data) {\r\n const keys = Object.keys(data)\r\n keys.forEach((key) => {\r\n const errors = data[key] as string[]\r\n if (Array.isArray(errors)) {\r\n errors.forEach((message) => {\r\n ApiAlertContext?.ApiAlert?.PushError(message)\r\n })\r\n }\r\n })\r\n }\r\n throw error\r\n }\r\n }\r\n}\r\n/**\r\n * CancelAction class extends AbortController to provide a cancel method\r\n * This class can be used to cancel ongoing HTTP requests\r\n */\r\nexport class CancelAction extends AbortController {\r\n cancel = () => {\r\n this.trigger && this.trigger()\r\n super.abort()\r\n }\r\n trigger?: () => void\r\n}\r\n"],"names":["TokenProviderDefault","_createClass","_classCallCheck","key","value","_getToken","_asyncToGenerator","_regenerator","m","_callee","_t","w","_context","n","authService","getAccessToken","v","undefined","a","apply","this","arguments","_reSignIn","_callee2","_context2","signIn","_getRoles","_callee3","roles","_context3","getRoles","ServiceBase","http","_this","_defineProperty","_http","interceptors","response","use","res","err","tryFetchToken","handleResponseError","request","req","interuptHeader","_ref","_callee4","error","next","_error$response","originalRequest","_context4","config","status","tokenProvider","reSignIn","axios","_x","_x2","_callee5","_t2","_context5","_token","getToken","_ref3","_callee6","_context6","headers","Authorization","_x3","HttpService","mapResponse","token","_addCustomHeader","_callee7","_context7","_x4","_interuptHeader","_callee8","_context8","addtoken","_x5","_get","_callee9","url","_t3","_t4","_context9","addCustomHeader","get","call","data","_x6","_x7","_tryGet","_callee0","_context0","p","_x8","_x9","_post","_callee1","_t6","_t7","_t8","_context1","post","_x0","_x1","_x10","_put","_callee10","_t9","_t0","_t1","_context10","put","_x11","_x12","_x13","_tryPut","_callee11","_context11","_x14","_x15","_x16","_patch","_callee12","_t11","_t12","_t13","_context12","patch","_x17","_x18","_x19","_tryPatch","_callee13","_context13","_x20","_x21","_x22","_tryPost","_callee14","_context14","_x23","_x24","_x25","_delete2","_callee15","_t16","_t17","_context15","_x26","_x27","_tryDelete","_callee16","_t18","_t19","_context16","_x28","_x29","_tryPushNotify","_callee17","action","_len","_key","_args17","_context17","length","Array","pushNotify","concat","_x30","_pushNotify","_callee18","_len2","_key2","_error$response2","_t22","_args18","_context18","bind","Object","keys","forEach","errors","isArray","message","_ApiAlertContext$ApiA","ApiAlertContext","ApiAlert","PushError","_x31","_ObjectProvider$get","createObjectSingleton","key_token_provider","provider","set","CancelAction","_AbortController","_this2","_len3","args","_key3","_callSuper","trigger","_superPropGet","_inherits","_wrapNativeSuper","AbortController"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"service-base.js","sources":["../../../../src/http-service/base/service-base.ts"],"sourcesContent":["import { authService } from 'partner-oidc-auth'\r\nimport type { AxiosError, AxiosInstance, AxiosRequestConfig, InternalAxiosRequestConfig } from 'axios'\r\nimport axios from 'axios'\r\nimport { HttpService } from './gateway'\r\nimport { createObjectSingleton } from '../../utils/singletone'\r\nimport { handleResponseError, ApiAlertContext } from './helpers'\r\nimport { IServiceOptions } from './types'\r\n\r\nexport interface ITokenProvider {\r\n getToken: () => Promise<string | undefined>\r\n reSignIn: () => Promise<void>\r\n getRoles: () => Promise<string[] | undefined>\r\n}\r\n\r\nclass TokenProviderDefault implements ITokenProvider {\r\n async getToken(): Promise<string | undefined> {\r\n return (await authService.getAccessToken()) || undefined\r\n }\r\n async reSignIn() {\r\n await authService.signIn({})\r\n }\r\n async getRoles(): Promise<string[] | undefined> {\r\n const roles = await authService.getRoles()\r\n return roles || undefined\r\n }\r\n}\r\n\r\n/**\r\n * Base service class for HTTP operations with authentication and error handling\r\n * Provides common CRUD operations with automatic token management and retry logic\r\n */\r\nexport default class ServiceBase {\r\n static key_token_provider = '__t1_22zzz_t_pro_key__'\r\n static get tokenProvider(): ITokenProvider {\r\n const ObjectProvider = createObjectSingleton<ITokenProvider>(ServiceBase.key_token_provider)\r\n return ObjectProvider.get() ?? new TokenProviderDefault()\r\n }\r\n static setTokenProvider(provider: ITokenProvider) {\r\n const ObjectProvider = createObjectSingleton<ITokenProvider>(ServiceBase.key_token_provider)\r\n ObjectProvider.set(provider ?? new TokenProviderDefault())\r\n }\r\n\r\n private _http: AxiosInstance\r\n private options?: IServiceOptions\r\n constructor(http?: AxiosInstance, options?: IServiceOptions) {\r\n this.options = options\r\n this._http = http || HttpService\r\n this.mapResponse()\r\n }\r\n /**\r\n * Maps response and request interceptors for handling authentication and errors\r\n * Automatically adds authorization headers and retries requests on 401 errors\r\n */\r\n mapResponse = () => {\r\n this._http.interceptors.response.use(\r\n (res) => res,\r\n (err) => this.tryFetchToken(err, handleResponseError)\r\n )\r\n this._http.interceptors.request.use((req) => {\r\n return this.interuptHeader(req)\r\n })\r\n }\r\n /**\r\n * Tries to fetch a new token if the current one is expired\r\n * @param error - The axios error containing response data\r\n * @param next - The next middleware function to call\r\n * @returns A promise resolving to the response data or an error\r\n */\r\n tryFetchToken = async (error: AxiosError, next: (error: AxiosError) => Promise<any>): Promise<any> => {\r\n const originalRequest = error.config\r\n if (error?.response?.status === 401 && originalRequest) {\r\n await ServiceBase.tokenProvider.reSignIn()\r\n await this.interuptHeader(originalRequest)\r\n return axios(originalRequest)\r\n }\r\n return next(error)\r\n }\r\n private _token?: string\r\n /**\r\n * Sets the token to be used for authentication\r\n * @param token - The token string to set\r\n */\r\n setToken(token?: string) {\r\n this._token = token\r\n }\r\n /**\r\n * Gets the current token, fetching a new one if not set\r\n * @returns A promise resolving to the token string\r\n */\r\n getToken = async () => {\r\n if (this.options?.permission === 'guest') return undefined\r\n return this._token === undefined ? await ServiceBase.tokenProvider.getToken() : this._token\r\n }\r\n /**\r\n * Adds custom headers to the request configuration\r\n * @param config - The Axios request configuration object\r\n * @returns A promise resolving to the updated configuration object\r\n */\r\n async addCustomHeader(config?: AxiosRequestConfig) {\r\n if (!config) {\r\n config = { headers: {} }\r\n }\r\n if (!config.headers) {\r\n config.headers = {}\r\n }\r\n return config\r\n }\r\n /**\r\n * Intercepts the request to add the authorization token\r\n * @param config - The Axios request configuration object\r\n * @returns The updated configuration object with the token added\r\n */\r\n private async interuptHeader(config: InternalAxiosRequestConfig) {\r\n await this.addtoken(config)\r\n return config\r\n }\r\n /**\r\n * Adds the authorization token to the request headers\r\n * @param config - The Axios request configuration object\r\n * @returns The updated configuration object with the token added\r\n */\r\n private addtoken = async (config?: AxiosRequestConfig) => {\r\n const _token = await this.getToken()\r\n if (_token && config?.headers) {\r\n config.headers.Authorization = 'Bearer ' + _token\r\n }\r\n return config\r\n }\r\n /**\r\n * HTTP GET request with automatic authentication\r\n * @param url - The request URL\r\n * @param config - Optional axios configuration\r\n * @returns Promise with the response data\r\n */\r\n async get<TModel>(url: string, config?: AxiosRequestConfig | undefined) {\r\n const response = await this._http.get<TModel>(url, await this.addCustomHeader(config))\r\n return response.data\r\n }\r\n /**\r\n * HTTP GET request with error handling\r\n * @param url - The request URL\r\n * @param config - Optional axios configuration\r\n * @returns Promise with the response data or null if an error occurs\r\n */\r\n async tryGet<TModel>(url: string, config?: AxiosRequestConfig | undefined) {\r\n try {\r\n return this.get<TModel>(url, config)\r\n } catch {\r\n return null\r\n }\r\n }\r\n /**\r\n * HTTP POST request with automatic authentication\r\n * @param url - The request URL\r\n * @param data - Optional data to send in the request body\r\n * @param config - Optional axios configuration\r\n * @returns Promise with the response data\r\n */\r\n async post<TModel>(url: string, data?: any, config?: AxiosRequestConfig | undefined) {\r\n const response = await this._http.post<TModel>(url, data, await this.addCustomHeader(config))\r\n return response.data\r\n }\r\n /**\r\n * HTTP PUT request with automatic authentication\r\n * @param url - The request URL\r\n * @param data - Optional data to send in the request body\r\n * @param config - Optional axios configuration\r\n * @returns Promise with the response data\r\n */\r\n async put<TModel>(url: string, data?: any, config?: AxiosRequestConfig | undefined) {\r\n const response = await this._http.put<TModel>(url, data, await this.addCustomHeader(config))\r\n return response.data\r\n }\r\n /**\r\n * HTTP PUT request with error handling\r\n * @param url - The request URL\r\n * @param data - Optional data to send in the request body\r\n * @param config - Optional axios configuration\r\n * @returns Promise with the response data or null if an error occurs\r\n */\r\n async tryPut<TModel>(url: string, data?: any, config?: AxiosRequestConfig | undefined) {\r\n try {\r\n await this.addCustomHeader(config)\r\n return await this.put<TModel>(url, data, config)\r\n } catch (error) {\r\n // processError(error as any)\r\n return null\r\n }\r\n }\r\n /**\r\n * HTTP PATCH request with automatic authentication\r\n * @param url - The request URL\r\n * @param data - Optional data to send in the request body\r\n * @param config - Optional axios configuration\r\n * @returns Promise with the response data\r\n */\r\n async patch<TModel>(url: string, data?: any, config?: AxiosRequestConfig | undefined) {\r\n const response = await this._http.patch<TModel>(url, data, await this.addCustomHeader(config))\r\n return response.data\r\n }\r\n /**\r\n * HTTP PATCH request with error handling\r\n * @param url - The request URL\r\n * @param data - Optional data to send in the request body\r\n * @param config - Optional axios configuration\r\n * @returns Promise with the response data or null if an error occurs\r\n */\r\n async tryPatch<TModel>(url: string, data?: any, config?: AxiosRequestConfig | undefined) {\r\n try {\r\n await this.addCustomHeader(config)\r\n return await this.patch<TModel>(url, data, config)\r\n } catch (error) {\r\n // processError(error as any)\r\n return null\r\n }\r\n }\r\n /**\r\n * HTTP POST request with error handling\r\n * @param url - The request URL\r\n * @param data - Optional data to send in the request body\r\n * @param config - Optional axios configuration\r\n * @returns Promise with the response data or null if an error occurs\r\n */\r\n async tryPost<TModel>(url: string, data?: any, config?: AxiosRequestConfig | undefined) {\r\n try {\r\n return await this.post<TModel>(url, data, config)\r\n } catch (error) {\r\n // processError(error as any)\r\n return null\r\n }\r\n }\r\n /**\r\n * HTTP DELETE request with automatic authentication\r\n * @param url - The request URL\r\n * @param config - Optional axios configuration\r\n * @returns Promise with the response data\r\n */\r\n async delete<TModel>(url: string, config?: AxiosRequestConfig | undefined) {\r\n const response = await this._http.delete<TModel>(url, await this.addCustomHeader(config))\r\n return response.data\r\n }\r\n /**\r\n * HTTP DELETE request with error handling\r\n * @param url - The request URL\r\n * @param config - Optional axios configuration\r\n * @returns Promise with the response data or null if an error occurs\r\n */\r\n async tryDelete<TModel>(url: string, config?: AxiosRequestConfig | undefined) {\r\n try {\r\n return await this.delete<TModel>(url, await this.addCustomHeader(config))\r\n } catch (error) {\r\n // processError(error as any)\r\n return null\r\n }\r\n }\r\n /**\r\n * Push notification with error handling\r\n * @param action - The function to execute\r\n * @param p - Parameters to pass to the function\r\n * @returns Promise with the result of the function execution\r\n */\r\n async tryPushNotify<TFunc extends (...param: any[]) => any>(action: TFunc, ...p: Parameters<TFunc>) {\r\n try {\r\n return await this.pushNotify(action, ...p)\r\n } catch (err) {}\r\n }\r\n /**\r\n * Push notification with error handling\r\n * @param action - The function to execute\r\n * @param p - Parameters to pass to the function\r\n * @returns Promise with the result of the function execution\r\n */\r\n async pushNotify<TFunc extends (...param: any[]) => any>(action: TFunc, ...p: Parameters<TFunc>): Promise<ReturnType<TFunc>> {\r\n try {\r\n return await action.bind(this)(...p)\r\n } catch (err) {\r\n const error = err as AxiosError\r\n const data = error.response?.data as any\r\n if (data) {\r\n const keys = Object.keys(data)\r\n keys.forEach((key) => {\r\n const errors = data[key] as string[]\r\n if (Array.isArray(errors)) {\r\n errors.forEach((message) => {\r\n ApiAlertContext?.ApiAlert?.PushError(message)\r\n })\r\n }\r\n })\r\n }\r\n throw error\r\n }\r\n }\r\n}\r\n/**\r\n * CancelAction class extends AbortController to provide a cancel method\r\n * This class can be used to cancel ongoing HTTP requests\r\n */\r\nexport class CancelAction extends AbortController {\r\n cancel = () => {\r\n this.trigger && this.trigger()\r\n super.abort()\r\n }\r\n trigger?: () => void\r\n}\r\n"],"names":["TokenProviderDefault","_createClass","_classCallCheck","key","value","_getToken","_asyncToGenerator","_regenerator","m","_callee","_t","w","_context","n","authService","getAccessToken","v","undefined","a","apply","this","arguments","_reSignIn","_callee2","_context2","signIn","_getRoles","_callee3","roles","_context3","getRoles","ServiceBase","http","options","_this","_defineProperty","_http","interceptors","response","use","res","err","tryFetchToken","handleResponseError","request","req","interuptHeader","_ref","_callee4","error","next","_error$response","originalRequest","_context4","config","status","tokenProvider","reSignIn","axios","_x","_x2","_callee5","_this$options","_t2","_context5","permission","_token","getToken","_ref3","_callee6","_context6","headers","Authorization","_x3","HttpService","mapResponse","token","_addCustomHeader","_callee7","_context7","_x4","_interuptHeader","_callee8","_context8","addtoken","_x5","_get","_callee9","url","_t3","_t4","_context9","addCustomHeader","get","call","data","_x6","_x7","_tryGet","_callee0","_context0","p","_x8","_x9","_post","_callee1","_t6","_t7","_t8","_context1","post","_x0","_x1","_x10","_put","_callee10","_t9","_t0","_t1","_context10","put","_x11","_x12","_x13","_tryPut","_callee11","_context11","_x14","_x15","_x16","_patch","_callee12","_t11","_t12","_t13","_context12","patch","_x17","_x18","_x19","_tryPatch","_callee13","_context13","_x20","_x21","_x22","_tryPost","_callee14","_context14","_x23","_x24","_x25","_delete2","_callee15","_t16","_t17","_context15","_x26","_x27","_tryDelete","_callee16","_t18","_t19","_context16","_x28","_x29","_tryPushNotify","_callee17","action","_len","_key","_args17","_context17","length","Array","pushNotify","concat","_x30","_pushNotify","_callee18","_len2","_key2","_error$response2","_t22","_args18","_context18","bind","Object","keys","forEach","errors","isArray","message","_ApiAlertContext$ApiA","ApiAlertContext","ApiAlert","PushError","_x31","_ObjectProvider$get","createObjectSingleton","key_token_provider","provider","set","CancelAction","_AbortController","_this2","_len3","args","_key3","_callSuper","trigger","_superPropGet","_inherits","_wrapNativeSuper","AbortController"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{inherits as e,createClass as t,asyncToGenerator as r,objectSpread2 as n,classCallCheck as i,callSuper as a,defineProperty as s,regenerator as o,typeof as u,superPropGet as
|
|
1
|
+
import{inherits as e,createClass as t,asyncToGenerator as r,objectSpread2 as n,classCallCheck as i,callSuper as a,defineProperty as s,regenerator as o,typeof as u,superPropGet as c,toConsumableArray as l}from"../../../_virtual/_rollupPluginBabelHelpers.js";import{AppProfile as f}from"./app-profile.js";import{fetchDelay as p,ApiAlertContext as h}from"../base/helpers.js";import{createHttpService as v}from"../base/gateway.js";import d from"../base/service-base.js";var w=function(){function w(e){var t,n,c,l;(i(this,w),c=a(this,w,[v(e.baseUrl),e.serviceOptions]),s(c,"setSite",function(e){c.site=e}),s(c,"setGraphQLExecutor",function(){var e=r(o().m(function e(t,r,n,i){var a,s;return o().w(function(e){for(;;)switch(e.n){case 0:return a={signal:n},e.n=1,c.addCustomHeader(a,i);case 1:return s=e.v,e.a(2,c.post("",{query:t,variables:r},s))}},e)}));return function(t,r,n,i){return e.apply(this,arguments)}}()),s(c,"_getSite",r(o().m(function e(){var t;return o().w(function(e){for(;;)switch(e.n){case 0:if(void 0!==global.window){e.n=2;break}return e.n=1,f.getGraphqlSite();case 1:return e.a(2,e.v);case 2:if(t=global.window,"object"!==u(t.wwfd)&&(t.wwfd={}),t.wwfd.GraphqlSite){e.n=4;break}return e.n=3,f.getGraphqlSite();case 3:t.wwfd.GraphqlSite=e.v;case 4:return e.a(2,t.wwfd.GraphqlSite)}},e)}))),s(c,"autoDetectSite",r(o().m(function e(){var t;return o().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,c.getSite();case 1:t=e.v,c.setSite(t);case 2:return e.a(2)}},e)}))),s(c,"getParamExecutor",function(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];var n=t[0],i=t[1],a=t[2],s=t[3];if("string"!=typeof n||0===n.length)throw new Error("Request must be a non-empty string");if("object"!==u(i))throw new Error("Variables must be an object");if(a&&!(a instanceof AbortSignal))throw new Error("Signal must be an instance of AbortSignal");return[n,i,a,s]}),c._options=null!==(t=e.options)&&void 0!==t?t:{},c._execute=e.execute,c.getSite=c._getSite,null!==(n=e.options)&&void 0!==n&&n.site&&"function"==typeof e.options.site)?c.getSite=e.options.site:c.site=null===(l=e.options)||void 0===l?void 0:l.site;return c}return e(w,d),t(w,[{key:"addSite",value:function(e,t){return this.site&&null!=e&&e.headers&&!t&&(e.headers["graphql-site"]=this.site),null!=e?e:{}}},{key:"addCustomHeader",value:(m=r(o().m(function e(t,r){var n;return o().w(function(e){for(;;)switch(e.n){case 0:return e.n=1,c(w,"addCustomHeader",this)([t]);case 1:return n=e.v,e.a(2,this.addSite(n,r))}},e,this)})),function(e,t){return m.apply(this,arguments)})},{key:"query",value:(y=r(o().m(function e(t,r){var i,a,s,u,c=this;return o().w(function(e){for(;;)switch(e.n){case 0:if(i=this._options.autoDetectSite,a=this._options.ignoreSite,void 0!==(null==r?void 0:r.autoDetectSite)&&(i=r.autoDetectSite),void 0!==(null==r?void 0:r.ignoreSite)&&(a=r.ignoreSite),a||!1===i){e.n=2;break}return e.n=1,this.autoDetectSite();case 1:e.n=3;break;case 2:!a&&null!=r&&r.site&&this.setSite(null!==(s=r.site)&&void 0!==s?s:this._options.site);case 3:return e.n=4,this._execute(t,n({executor:function(){for(var e,t=arguments.length,n=new Array(t),i=0;i<t;i++)n[i]=arguments[i];var s=n[0],o=n[1],u=null==r?void 0:r.signal;return p(function(){return c.setGraphQLExecutor.apply(c,l(c.getParamExecutor(s,o,u,a)))},null!==(e=null==r?void 0:r.delay)&&void 0!==e?e:500)}},r||{}));case 4:return u=e.v,e.a(2,u)}},e,this)})),function(e,t){return y.apply(this,arguments)})},{key:"queryPushNotify",value:(g=r(o().m(function e(t,r){var n,i,a,s;return o().w(function(e){for(;;)switch(e.p=e.n){case 0:return e.p=0,e.n=1,this.query(t,r);case 1:return e.a(2,e.v);case 2:throw e.p=2,s=e.v,(a=null===(n=(i=s).response)||void 0===n?void 0:n.data)&&Object.keys(a).forEach(function(e){var t=a[e];if(Array.isArray(t))t.forEach(function(e){var t;null==h||null===(t=h.ApiAlert)||void 0===t||t.PushError(e)});else if("string"==typeof t.message){var r;null==h||null===(r=h.ApiAlert)||void 0===r||r.PushError(t.message)}}),i;case 3:return e.a(2)}},e,this,[[0,2]])})),function(e,t){return g.apply(this,arguments)})}]);var g,y,m}(),g=function(e){return new w(n({},e))};export{g as createGraphqlRequest,w as default};
|
|
2
2
|
//# sourceMappingURL=graphql-request.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graphql-request.js","sources":["../../../../src/http-service/graphql/graphql-request.ts"],"sourcesContent":["import { AxiosError, AxiosRequestConfig } from 'axios'\r\nimport type { Fetcher } from 'graphql-ts-client-api'\r\nimport { AppProfile } from './app-profile'\r\nimport { fetchDelay } from '../base/helpers'\r\nimport { ApiAlertContext } from '../base/helpers'\r\nimport { createHttpService } from '../base/gateway'\r\nimport type { IGraphqlQueryOptions, IGraphqlRequestOptions } from './types'\r\nimport ServiceBase from '../base/service-base'\r\n\r\nexport interface IGraphqlRequestParams {\r\n baseUrl: string\r\n execute: (...p: any[]) => Promise<any>\r\n options?: IGraphqlRequestOptions\r\n}\r\n\r\nclass GraphqlRequest extends ServiceBase {\r\n private _execute: (...p: any[]) => Promise<any>\r\n private _options: IGraphqlRequestOptions\r\n /**\r\n * Constructor for GraphqlRequest.\r\n * @param url The GraphQL endpoint URL.\r\n * @param executor Custom executor function for GraphQL requests.\r\n * @param options Additional options for the request.\r\n */\r\n constructor(params: IGraphqlRequestParams) {\r\n super(createHttpService(params.baseUrl))\r\n // const { autoDetectSite, site } = options ?? {}\r\n this._options = params.options ?? {}\r\n\r\n this._execute = params.execute\r\n\r\n // Initialize autoDetectSite and site getter\r\n this.getSite = this._getSite\r\n if (params.options?.site && typeof params.options.site === 'function') {\r\n this.getSite = params.options.site\r\n } else {\r\n this.site = params.options?.site as string | undefined\r\n }\r\n }\r\n private site?: string\r\n /**\r\n * Adds the site to the request configuration headers.\r\n * @param config Optional AxiosRequestConfig to modify.\r\n * @param ignoreSite If true, skips adding the site header.\r\n * @returns Modified AxiosRequestConfig with the site header.\r\n */\r\n addSite(config?: AxiosRequestConfig, ignoreSite?: boolean) {\r\n if (this.site && config?.headers && !ignoreSite) {\r\n config.headers['graphql-site'] = this.site\r\n }\r\n return config ?? {}\r\n }\r\n /**\r\n * Sets the current site for GraphQL requests.\r\n * @param site The site string to set.\r\n */\r\n setSite = (site: string) => {\r\n this.site = site\r\n }\r\n /**\r\n * Default executor for GraphQL requests using POST.\r\n * @param request GraphQL query string.\r\n * @param variables Variables for the query.\r\n * @param signal Optional AbortSignal for cancellation.\r\n * @param ignoreSite If true, skips adding the site header.\r\n * @returns Promise with the server response.\r\n */\r\n private setGraphQLExecutor = async (request: string, variables: object, signal?: AbortSignal, ignoreSite?: boolean) => {\r\n const config = { signal }\r\n const finalConfig = await this.addCustomHeader(config, ignoreSite)\r\n return this.post('', { query: request, variables }, finalConfig)\r\n }\r\n /**\r\n * Default implementation to get the current site.\r\n * Stores the site in global.window.wwfd.GraphqlSite for reuse.\r\n * @returns Promise resolving to the current site string.\r\n */\r\n getSite: () => Promise<string>\r\n private _getSite = async () => {\r\n const windowTemp = global.window as any\r\n if (typeof windowTemp['wwfd'] !== 'object') {\r\n windowTemp['wwfd'] = {}\r\n }\r\n if (!windowTemp['wwfd'].GraphqlSite) {\r\n windowTemp['wwfd'].GraphqlSite = await AppProfile.getGraphqlSite()\r\n }\r\n return windowTemp['wwfd'].GraphqlSite\r\n }\r\n /**\r\n * Automatically detects the site by calling getSite.\r\n * Sets the detected site using setSite.\r\n */\r\n private autoDetectSite = async () => {\r\n const site = await this.getSite()\r\n this.setSite(site)\r\n }\r\n /**\r\n * Adds a custom header to the request configuration.\r\n * @param config Optional AxiosRequestConfig to modify.\r\n * @param ignoreSite If true, skips adding the site header.\r\n * @returns Modified AxiosRequestConfig with the custom header.\r\n */\r\n async addCustomHeader(config?: AxiosRequestConfig, ignoreSite?: boolean) {\r\n const cfg = await super.addCustomHeader(config)\r\n return this.addSite(cfg, ignoreSite)\r\n }\r\n /**\r\n * Gets the current site for GraphQL requests.\r\n * @returns The current site string.\r\n */\r\n private getParamExecutor = (...p: any[]): Parameters<typeof this.setGraphQLExecutor> => {\r\n const [request, variables, signal, ignoreSite] = p\r\n if (typeof request !== 'string' || request.length === 0) {\r\n throw new Error('Request must be a non-empty string')\r\n }\r\n if (typeof variables !== 'object') {\r\n throw new Error('Variables must be an object')\r\n }\r\n if (signal && !(signal instanceof AbortSignal)) {\r\n throw new Error('Signal must be an instance of AbortSignal')\r\n }\r\n return [request, variables, signal, ignoreSite]\r\n }\r\n\r\n /**\r\n * Executes a GraphQL query or mutation with the provided fetcher.\r\n * Automatically detects the site if autoDetectSite is true.\r\n * @param fetcher The fetcher function for the query or mutation.\r\n * @param options Optional IGraphqlQueryOptions for the request.\r\n * @returns Promise with the result of the query or mutation.\r\n */\r\n async query<TData extends object, TVariables extends object>(\r\n fetcher: Fetcher<'Query' | 'Mutation', TData, TVariables>,\r\n options?: IGraphqlQueryOptions\r\n ): Promise<TData> {\r\n let autoDetectSite = this._options.autoDetectSite\r\n let ignoreSite = this._options.ignoreSite\r\n\r\n if (options?.autoDetectSite !== undefined) {\r\n autoDetectSite = options.autoDetectSite\r\n }\r\n if (options?.ignoreSite !== undefined) {\r\n ignoreSite = options.ignoreSite\r\n }\r\n\r\n if (!ignoreSite && autoDetectSite !== false) {\r\n await this.autoDetectSite()\r\n } else if (!ignoreSite && options?.site) {\r\n this.setSite(options.site ?? (this._options.site as string))\r\n }\r\n\r\n const res = await this._execute(fetcher, {\r\n executor: (...params: any[]) => {\r\n options?.signal && params.push(options?.signal)\r\n params.push(ignoreSite) // Thêm ignoreSite parameter\r\n return fetchDelay(() => this.setGraphQLExecutor(...this.getParamExecutor(...params)), options?.delay ?? 500)\r\n },\r\n ...(options ? options : {})\r\n })\r\n return res\r\n }\r\n /**\r\n * Executes a GraphQL query or mutation and handles errors by pushing them to ApiAlertContext.\r\n * @param fetcher The fetcher function for the query or mutation.\r\n * @param options Optional IGraphqlQueryOptions for the request.\r\n * @returns Promise with the result of the query or mutation.\r\n */\r\n async queryPushNotify<TData extends object, TVariables extends object>(\r\n fetcher: Fetcher<'Query' | 'Mutation', TData, TVariables>,\r\n options?: IGraphqlQueryOptions\r\n ) {\r\n try {\r\n return await this.query(fetcher, options)\r\n } catch (err) {\r\n const error = err as AxiosError\r\n const data = error.response?.data as any\r\n if (data) {\r\n const keys = Object.keys(data)\r\n keys.forEach((key) => {\r\n const errors = data[key] as any\r\n if (Array.isArray(errors)) {\r\n errors.forEach((message) => {\r\n ApiAlertContext?.ApiAlert?.PushError(message)\r\n })\r\n } else if (typeof errors.message === 'string') {\r\n ApiAlertContext?.ApiAlert?.PushError(errors.message)\r\n }\r\n })\r\n }\r\n throw error\r\n }\r\n }\r\n}\r\nexport default GraphqlRequest\r\n/*\r\n * Factory function to create a new GraphqlRequest instance.\r\n * @param args Arguments to pass to the GraphqlRequest constructor.\r\n * @returns A new instance of GraphqlRequest.\r\n */\r\nexport const createGraphqlRequest = (params: IGraphqlRequestParams) => {\r\n return new GraphqlRequest({ ...params })\r\n}\r\n"],"names":["GraphqlRequest","params","_params$options","_params$options2","_this","_params$options3","_classCallCheck","_callSuper","this","createHttpService","baseUrl","_defineProperty","site","_ref","_asyncToGenerator","_regenerator","m","_callee","request","variables","signal","ignoreSite","config","finalConfig","w","_context","n","addCustomHeader","v","a","post","query","_x","_x2","_x3","_x4","apply","arguments","_callee2","windowTemp","_context2","global","window","_typeof","GraphqlSite","AppProfile","getGraphqlSite","_callee3","_context3","getSite","setSite","_len","length","p","Array","_key","Error","AbortSignal","_options","options","_execute","execute","_getSite","_inherits","ServiceBase","_createClass","key","value","headers","_addCustomHeader","_callee4","cfg","_context4","_superPropGet","addSite","_x5","_x6","_query","_callee5","fetcher","autoDetectSite","_options$site","res","_this2","_context5","undefined","_objectSpread","executor","_options$delay","_len2","_key2","push","fetchDelay","setGraphQLExecutor","_toConsumableArray","getParamExecutor","delay","_x7","_x8","_queryPushNotify","_callee6","_error$response","error","data","_t","_context6","response","Object","keys","forEach","errors","isArray","message","_ApiAlertContext$ApiA","ApiAlertContext","ApiAlert","PushError","_ApiAlertContext$ApiA2","_x9","_x0","createGraphqlRequest"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"graphql-request.js","sources":["../../../../src/http-service/graphql/graphql-request.ts"],"sourcesContent":["import { AxiosError, AxiosRequestConfig } from 'axios'\r\nimport type { Fetcher } from 'graphql-ts-client-api'\r\nimport { AppProfile } from './app-profile'\r\nimport { fetchDelay } from '../base/helpers'\r\nimport { ApiAlertContext } from '../base/helpers'\r\nimport { createHttpService } from '../base/gateway'\r\nimport type { IGraphqlQueryOptions, IGraphqlRequestOptions } from './types'\r\nimport ServiceBase from '../base/service-base'\r\nimport { IServiceOptions } from '../base/types'\r\n\r\nexport interface IGraphqlRequestParams {\r\n baseUrl: string\r\n execute: (...p: any[]) => Promise<any>\r\n options?: IGraphqlRequestOptions\r\n serviceOptions?: IServiceOptions\r\n}\r\n\r\nclass GraphqlRequest extends ServiceBase {\r\n private _execute: (...p: any[]) => Promise<any>\r\n private _options: IGraphqlRequestOptions\r\n /**\r\n * Constructor for GraphqlRequest.\r\n * @param url The GraphQL endpoint URL.\r\n * @param executor Custom executor function for GraphQL requests.\r\n * @param options Additional options for the request.\r\n */\r\n constructor(params: IGraphqlRequestParams) {\r\n super(createHttpService(params.baseUrl), params.serviceOptions)\r\n // const { autoDetectSite, site } = options ?? {}\r\n this._options = params.options ?? {}\r\n\r\n this._execute = params.execute\r\n\r\n // Initialize autoDetectSite and site getter\r\n this.getSite = this._getSite\r\n if (params.options?.site && typeof params.options.site === 'function') {\r\n this.getSite = params.options.site\r\n } else {\r\n this.site = params.options?.site as string | undefined\r\n }\r\n }\r\n private site?: string\r\n /**\r\n * Adds the site to the request configuration headers.\r\n * @param config Optional AxiosRequestConfig to modify.\r\n * @param ignoreSite If true, skips adding the site header.\r\n * @returns Modified AxiosRequestConfig with the site header.\r\n */\r\n addSite(config?: AxiosRequestConfig, ignoreSite?: boolean) {\r\n if (this.site && config?.headers && !ignoreSite) {\r\n config.headers['graphql-site'] = this.site\r\n }\r\n return config ?? {}\r\n }\r\n /**\r\n * Sets the current site for GraphQL requests.\r\n * @param site The site string to set.\r\n */\r\n setSite = (site: string) => {\r\n this.site = site\r\n }\r\n /**\r\n * Default executor for GraphQL requests using POST.\r\n * @param request GraphQL query string.\r\n * @param variables Variables for the query.\r\n * @param signal Optional AbortSignal for cancellation.\r\n * @param ignoreSite If true, skips adding the site header.\r\n * @returns Promise with the server response.\r\n */\r\n private setGraphQLExecutor = async (request: string, variables: object, signal?: AbortSignal, ignoreSite?: boolean) => {\r\n const config = { signal }\r\n const finalConfig = await this.addCustomHeader(config, ignoreSite)\r\n return this.post('', { query: request, variables }, finalConfig)\r\n }\r\n /**\r\n * Default implementation to get the current site.\r\n * Stores the site in global.window.wwfd.GraphqlSite for reuse.\r\n * @returns Promise resolving to the current site string.\r\n */\r\n getSite: () => Promise<string>\r\n private _getSite = async () => {\r\n if (typeof global.window === 'undefined') {\r\n return await AppProfile.getGraphqlSite()\r\n }\r\n const windowTemp = global.window as any\r\n if (typeof windowTemp['wwfd'] !== 'object') {\r\n windowTemp['wwfd'] = {}\r\n }\r\n if (!windowTemp['wwfd'].GraphqlSite) {\r\n windowTemp['wwfd'].GraphqlSite = await AppProfile.getGraphqlSite()\r\n }\r\n return windowTemp['wwfd'].GraphqlSite\r\n }\r\n /**\r\n * Automatically detects the site by calling getSite.\r\n * Sets the detected site using setSite.\r\n */\r\n private autoDetectSite = async () => {\r\n const site = await this.getSite()\r\n this.setSite(site)\r\n }\r\n /**\r\n * Adds a custom header to the request configuration.\r\n * @param config Optional AxiosRequestConfig to modify.\r\n * @param ignoreSite If true, skips adding the site header.\r\n * @returns Modified AxiosRequestConfig with the custom header.\r\n */\r\n async addCustomHeader(config?: AxiosRequestConfig, ignoreSite?: boolean) {\r\n const cfg = await super.addCustomHeader(config)\r\n return this.addSite(cfg, ignoreSite)\r\n }\r\n /**\r\n * Gets the current site for GraphQL requests.\r\n * @returns The current site string.\r\n */\r\n private getParamExecutor = (...p: any[]): Parameters<typeof this.setGraphQLExecutor> => {\r\n const [request, variables, signal, ignoreSite] = p\r\n if (typeof request !== 'string' || request.length === 0) {\r\n throw new Error('Request must be a non-empty string')\r\n }\r\n if (typeof variables !== 'object') {\r\n throw new Error('Variables must be an object')\r\n }\r\n if (signal && !(signal instanceof AbortSignal)) {\r\n throw new Error('Signal must be an instance of AbortSignal')\r\n }\r\n return [request, variables, signal, ignoreSite]\r\n }\r\n\r\n /**\r\n * Executes a GraphQL query or mutation with the provided fetcher.\r\n * Automatically detects the site if autoDetectSite is true.\r\n * @param fetcher The fetcher function for the query or mutation.\r\n * @param options Optional IGraphqlQueryOptions for the request.\r\n * @returns Promise with the result of the query or mutation.\r\n */\r\n async query<TData extends object, TVariables extends object>(\r\n fetcher: Fetcher<'Query' | 'Mutation', TData, TVariables>,\r\n options?: IGraphqlQueryOptions\r\n ): Promise<TData> {\r\n let autoDetectSite = this._options.autoDetectSite\r\n let ignoreSite = this._options.ignoreSite\r\n\r\n if (options?.autoDetectSite !== undefined) {\r\n autoDetectSite = options.autoDetectSite\r\n }\r\n if (options?.ignoreSite !== undefined) {\r\n ignoreSite = options.ignoreSite\r\n }\r\n\r\n if (!ignoreSite && autoDetectSite !== false) {\r\n await this.autoDetectSite()\r\n } else if (!ignoreSite && options?.site) {\r\n this.setSite(options.site ?? (this._options.site as string))\r\n }\r\n\r\n const res = await this._execute(fetcher, {\r\n executor: (...params: any[]) => {\r\n // Ensure params always has signal and ignoreSite in correct positions\r\n const [request, variables] = params\r\n const signal = options?.signal\r\n return fetchDelay(() => this.setGraphQLExecutor(...this.getParamExecutor(request, variables, signal, ignoreSite)), options?.delay ?? 500)\r\n },\r\n ...(options ? options : {})\r\n })\r\n return res\r\n }\r\n /**\r\n * Executes a GraphQL query or mutation and handles errors by pushing them to ApiAlertContext.\r\n * @param fetcher The fetcher function for the query or mutation.\r\n * @param options Optional IGraphqlQueryOptions for the request.\r\n * @returns Promise with the result of the query or mutation.\r\n */\r\n async queryPushNotify<TData extends object, TVariables extends object>(\r\n fetcher: Fetcher<'Query' | 'Mutation', TData, TVariables>,\r\n options?: IGraphqlQueryOptions\r\n ) {\r\n try {\r\n return await this.query(fetcher, options)\r\n } catch (err) {\r\n const error = err as AxiosError\r\n const data = error.response?.data as any\r\n if (data) {\r\n const keys = Object.keys(data)\r\n keys.forEach((key) => {\r\n const errors = data[key] as any\r\n if (Array.isArray(errors)) {\r\n errors.forEach((message) => {\r\n ApiAlertContext?.ApiAlert?.PushError(message)\r\n })\r\n } else if (typeof errors.message === 'string') {\r\n ApiAlertContext?.ApiAlert?.PushError(errors.message)\r\n }\r\n })\r\n }\r\n throw error\r\n }\r\n }\r\n}\r\nexport default GraphqlRequest\r\n/*\r\n * Factory function to create a new GraphqlRequest instance.\r\n * @param args Arguments to pass to the GraphqlRequest constructor.\r\n * @returns A new instance of GraphqlRequest.\r\n */\r\nexport const createGraphqlRequest = (params: IGraphqlRequestParams) => {\r\n return new GraphqlRequest({ ...params })\r\n}\r\n"],"names":["GraphqlRequest","params","_params$options","_params$options2","_this","_params$options3","_classCallCheck","_callSuper","createHttpService","baseUrl","serviceOptions","_defineProperty","site","_ref","_asyncToGenerator","_regenerator","m","_callee","request","variables","signal","ignoreSite","config","finalConfig","w","_context","n","addCustomHeader","v","a","post","query","_x","_x2","_x3","_x4","apply","this","arguments","_callee2","windowTemp","_context2","global","window","AppProfile","getGraphqlSite","_typeof","GraphqlSite","_callee3","_context3","getSite","setSite","_len","length","p","Array","_key","Error","AbortSignal","_options","options","_execute","execute","_getSite","_inherits","ServiceBase","_createClass","key","value","headers","_addCustomHeader","_callee4","cfg","_context4","_superPropGet","addSite","_x5","_x6","_query","_callee5","fetcher","autoDetectSite","_options$site","res","_this2","_context5","undefined","_objectSpread","executor","_options$delay","_len2","_key2","fetchDelay","setGraphQLExecutor","_toConsumableArray","getParamExecutor","delay","_x7","_x8","_queryPushNotify","_callee6","_error$response","error","data","_t","_context6","response","Object","keys","forEach","errors","isArray","message","_ApiAlertContext$ApiA","ApiAlertContext","ApiAlert","PushError","_ApiAlertContext$ApiA2","_x9","_x0","createGraphqlRequest"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{objectWithoutProperties as e,objectSpread2 as o,defineProperty as i,inherits as r,createClass as t,classCallCheck as a,callSuper as l,toConsumableArray as n}from"../../_virtual/_rollupPluginBabelHelpers.js";import{jsx as s}from"react/jsx-runtime";import{Component as d,Fragment as u}from"react";import{styled as p,Box as c}from"@mui/material";import{DataGrid as m}from"@mui/x-data-grid";import{mergeObjects as g}from"../utils/helpers.js";import"../utils/dayjs-config.js";import"../utils/query-param.js";import{TableBaseContext as h}from"./context.js";import{customFilterOperators as f}from"./custom.filter-operators.js";import v,{dinoTableClasses as b}from"./helpers.js";import y from"./toolbar-pannel.js";import{GlobalModal as C,mapGlobalModalContext as P}from"../api-context/global-modal.js";var S=["children"];function M(e){return function(){function p(r){var t;return a(this,p),t=l(this,p,[r]),i(t,"setTableQueryParams",function(e){t.tableQueryParams=g({},t.tableQueryParams,e)}),i(t,"renderWrapContext",function(o){var i=e.disableGlobalModalProvider?u:C;return s(i,{children:P(function(e){return s(h.Provider,{value:{showModal:e.show,closeModal:e.close},children:o})})})}),i(t,"getDataGridProps",function(){var o,i,r,a,l=t.mergeConfig,n={getRowId:e.getRowId,columns:t.columns,rows:null!==(o=null===(i=t.props.data)||void 0===i?void 0:i.items)&&void 0!==o?o:[],checkboxSelection:!0,pagination:!0,density:null!==(r=null===(a=t.props.slots)||void 0===a?void 0:a.density)&&void 0!==r?r:"standard",initialState:v.mapInitialState(t.props.query,{columns:{columnVisibilityModel:e.columnVisibilityModel}}),filterDebounceMs:800,sx:{border:0},slots:{toolbar:l.toolbar},rowSelectionModel:t.rowSelecteds,onRowSelectionModelChange:t.handleRowSelectionChange};if("server"===e.featureMode){var s,d,u={filterMode:"server",sortingMode:"server",paginationMode:"server",onPaginationModelChange:t.onPaginationModelChange,onFilterModelChange:t.onFilterModelChange,onSortModelChange:t.onSortModelChange,rowCount:null!==(s=null===(d=t.props.data)||void 0===d?void 0:d.rowTotal)&&void 0!==s?s:0,paginationModel:t.tableQueryParams.pagination,filterModel:t.tableQueryParams.filter,sortModel:v.mapSortModel(t.tableQueryParams.sort),loading:t.mergeConfig.loading};Object.assign(n,u)}return g(n,t.mergeConfig.dataGridProps)}),i(t,"initialColumns",function(){var i,r,a=t.mergeConfig.ActionRow,l=[];return a&&l.push(o({field:"Actions",minWidth:100,headerAlign:"right",align:"right",filterable:!1,sortable:!1,renderCell:function(e){return s(a,{value:e.row})}},e.actionRow)),i=l,r=Object.keys(e.columns).map(function(i){var r=o({field:i},e.columns[i]);return r.filterOperators=e.filterOperators?e.filterOperators(r):f(r),r}),i&&i.length>0&&r.push.apply(r,n(i)),r}),i(t,"onPaginationModelChange",function(e,o){t.mergeConfig.loading||(t.setTableQueryParams({pagination:e,detail:"pagination"}),t.handleChange())}),i(t,"onFilterModelChange",function(e,o){var i;if(!t.mergeConfig.loading){var r=t.tableQueryParams.pagination;t.setTableQueryParams({filter:e,pagination:{page:0,pageSize:null!==(i=null==r?void 0:r.pageSize)&&void 0!==i?i:25},detail:v.detectSearchType(e)}),t.handleChange()}}),i(t,"onSortModelChange",function(e,o){if(!t.mergeConfig.loading){var i,r,a,l,n,s=e,d=t.tableQueryParams.sort;if(null!=d&&d.length&&!s.length)if((null==d||null===(i=d[0])||void 0===i?void 0:i.field)===(null===(r=t.defaultTableQueryParams.sort)||void 0===r||null===(r=r[0])||void 0===r?void 0:r.field))s=[{field:null===(a=d[0])||void 0===a?void 0:a.field,sort:"desc"===(null===(l=d[0])||void 0===l?void 0:l.sort)?"asc":"desc"}];else s=null!==(n=t.defaultTableQueryParams.sort)&&void 0!==n?n:[];t.setTableQueryParams({sort:s,detail:"sort"}),t.handleChange()}}),i(t,"handleChange",function(){t.changeTimeout&&clearTimeout(t.changeTimeout),t.changeTimeout=setTimeout(function(){t.props.onChange&&t.props.onChange(t.tableQueryParams)},300)}),i(t,"handleRowSelectionChange",function(e,o){t.mergeConfig.maxSelcion&&e.length>t.mergeConfig.maxSelcion?t.rowSelecteds=e.slice(0,t.mergeConfig.maxSelcion):t.rowSelecteds=e,t.props.onRowSelectionChange&&t.props.onRowSelectionChange(t.rowSelecteds,o),t.forceUpdate()}),t.columns=t.initialColumns(),t.tableQueryParams=o({},r.query),t.defaultTableQueryParams=t.tableQueryParams,t.rowSelecteds=[],t}return r(p,d),t(p,[{key:"mergeConfig",get:function(){var i,r,t,a,l,n,d,u=g({},null==e?void 0:e.toolbarProps,null===(i=this.props.slots)||void 0===i?void 0:i.toolbarProps);return{toolbar:null!==(r=null===(t=this.props.slots)||void 0===t?void 0:t.toolbar)&&void 0!==r?r:function(){return s(y,o({},
|
|
1
|
+
import{objectWithoutProperties as e,objectSpread2 as o,defineProperty as i,inherits as r,createClass as t,classCallCheck as a,callSuper as l,toConsumableArray as n}from"../../_virtual/_rollupPluginBabelHelpers.js";import{jsx as s}from"react/jsx-runtime";import{Component as d,Fragment as u}from"react";import{styled as p,Box as c}from"@mui/material";import{DataGrid as m}from"@mui/x-data-grid";import{mergeObjects as g}from"../utils/helpers.js";import"../utils/dayjs-config.js";import"../utils/query-param.js";import{TableBaseContext as h}from"./context.js";import{customFilterOperators as f}from"./custom.filter-operators.js";import v,{dinoTableClasses as b}from"./helpers.js";import y from"./toolbar-pannel.js";import{GlobalModal as C,mapGlobalModalContext as P}from"../api-context/global-modal.js";var S=["children"];function M(e){return function(){function p(r){var t;return a(this,p),t=l(this,p,[r]),i(t,"setTableQueryParams",function(e){t.tableQueryParams=g({},t.tableQueryParams,e)}),i(t,"renderWrapContext",function(o){var i=e.disableGlobalModalProvider?u:C;return s(i,{children:P(function(e){return s(h.Provider,{value:{showModal:e.show,closeModal:e.close},children:o})})})}),i(t,"getDataGridProps",function(){var o,i,r,a,l=t.mergeConfig,n={getRowId:e.getRowId,columns:t.columns,rows:null!==(o=null===(i=t.props.data)||void 0===i?void 0:i.items)&&void 0!==o?o:[],checkboxSelection:!0,pagination:!0,density:null!==(r=null===(a=t.props.slots)||void 0===a?void 0:a.density)&&void 0!==r?r:"standard",initialState:v.mapInitialState(t.props.query,{columns:{columnVisibilityModel:e.columnVisibilityModel}}),filterDebounceMs:800,sx:{border:0},slots:{toolbar:l.toolbar},rowSelectionModel:t.rowSelecteds,onRowSelectionModelChange:t.handleRowSelectionChange};if("server"===e.featureMode){var s,d,u={filterMode:"server",sortingMode:"server",paginationMode:"server",onPaginationModelChange:t.onPaginationModelChange,onFilterModelChange:t.onFilterModelChange,onSortModelChange:t.onSortModelChange,rowCount:null!==(s=null===(d=t.props.data)||void 0===d?void 0:d.rowTotal)&&void 0!==s?s:0,paginationModel:t.tableQueryParams.pagination,filterModel:t.tableQueryParams.filter,sortModel:v.mapSortModel(t.tableQueryParams.sort),loading:t.mergeConfig.loading};Object.assign(n,u)}return g(n,t.mergeConfig.dataGridProps)}),i(t,"initialColumns",function(){var i,r,a=t.mergeConfig.ActionRow,l=[];return a&&l.push(o({field:"Actions",minWidth:100,headerAlign:"right",align:"right",filterable:!1,sortable:!1,renderCell:function(e){return s(a,{value:e.row})}},e.actionRow)),i=l,r=Object.keys(e.columns).map(function(i){var r=o({field:i},e.columns[i]);return r.filterOperators=e.filterOperators?e.filterOperators(r):f(r),r}),i&&i.length>0&&r.push.apply(r,n(i)),r}),i(t,"onPaginationModelChange",function(e,o){t.mergeConfig.loading||(t.setTableQueryParams({pagination:e,detail:"pagination"}),t.handleChange())}),i(t,"onFilterModelChange",function(e,o){var i;if(!t.mergeConfig.loading){var r=t.tableQueryParams.pagination;t.setTableQueryParams({filter:e,pagination:{page:0,pageSize:null!==(i=null==r?void 0:r.pageSize)&&void 0!==i?i:25},detail:v.detectSearchType(e)}),t.handleChange()}}),i(t,"onSortModelChange",function(e,o){if(!t.mergeConfig.loading){var i,r,a,l,n,s=e,d=t.tableQueryParams.sort;if(null!=d&&d.length&&!s.length)if((null==d||null===(i=d[0])||void 0===i?void 0:i.field)===(null===(r=t.defaultTableQueryParams.sort)||void 0===r||null===(r=r[0])||void 0===r?void 0:r.field))s=[{field:null===(a=d[0])||void 0===a?void 0:a.field,sort:"desc"===(null===(l=d[0])||void 0===l?void 0:l.sort)?"asc":"desc"}];else s=null!==(n=t.defaultTableQueryParams.sort)&&void 0!==n?n:[];t.setTableQueryParams({sort:s,detail:"sort"}),t.handleChange()}}),i(t,"handleChange",function(){t.changeTimeout&&clearTimeout(t.changeTimeout),t.changeTimeout=setTimeout(function(){t.props.onChange&&t.props.onChange(t.tableQueryParams)},300)}),i(t,"handleRowSelectionChange",function(e,o){t.mergeConfig.maxSelcion&&e.length>t.mergeConfig.maxSelcion?t.rowSelecteds=e.slice(0,t.mergeConfig.maxSelcion):t.rowSelecteds=e,t.props.onRowSelectionChange&&t.props.onRowSelectionChange(t.rowSelecteds,o),t.forceUpdate()}),t.columns=t.initialColumns(),t.tableQueryParams=o({},r.query),t.defaultTableQueryParams=t.tableQueryParams,t.rowSelecteds=[],t}return r(p,d),t(p,[{key:"mergeConfig",get:function(){var i,r,t,a,l,n,d,u,p,c=g({},null==e?void 0:e.toolbarProps,null===(i=this.props.slots)||void 0===i?void 0:i.toolbarProps);return{toolbar:null!==(r=null===(t=this.props.slots)||void 0===t?void 0:t.toolbar)&&void 0!==r?r:function(){return s(y,o({},c))},ActionRow:null===(a=this.props.slots)||void 0===a?void 0:a.actionRow,columnVisibilityModel:e.columnVisibilityModel,maxSelcion:null!==(l=null===(n=this.props.slots)||void 0===n?void 0:n.maxSelection)&&void 0!==l?l:e.maxSelection,dataGridProps:g({},e.dataGridProps,null===(d=this.props.slots)||void 0===d?void 0:d.dataGridProps),loading:null!==(u=void 0!==this.props.loading?this.props.loading:null===(p=this.tableQueryParams)||void 0===p?void 0:p.loading)&&void 0!==u&&u}}},{key:"componentWillUnmount",value:function(){this.changeTimeout&&clearTimeout(this.changeTimeout)}},{key:"shouldComponentUpdate",value:function(o){var i;return"server"!==e.featureMode||(v.equalTableQueryParams(o.query,this.props.query)?JSON.stringify(o.data)!==JSON.stringify(this.props.data)||o.loading!==this.props.loading:(this.setTableQueryParams(null!==(i=o.query)&&void 0!==i?i:{}),!0))}},{key:"render",value:function(){return this.renderWrapContext(s(w,{children:s(m,o({loading:this.props.loading},this.getDataGridProps()))}))}}])}()}var w=p(function(i){var r=i.children,t=e(i,S);return s(c,o(o({},t),{},{children:s("div",{children:r})}))})(i({flex:1,position:"relative","& > div":{position:"absolute",top:0,left:0,width:"100%",height:"100%",overflowY:"auto"},"& .MuiDataGrid-root":{"--unstable_DataGrid-radius":0,overflow:"hidden"}},"& .MuiDataGrid-cell.".concat(b.whiteSpacePre," .MuiDataGrid-cellContent"),{whiteSpace:"pre"}));export{M as CreateTable,M as default};
|
|
2
2
|
//# sourceMappingURL=create.table.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.table.js","sources":["../../../src/table/create.table.tsx"],"sourcesContent":["import { Component, Fragment } from 'react'\r\nimport { Box, BoxProps, styled } from '@mui/material'\r\nimport { DataGrid, DataGridProps, GridColDef, GridFeatureMode, GridFilterOperator } from '@mui/x-data-grid'\r\nimport { GridSortModel, GridValidRowModel, GridRowIdGetter, GridRowSelectionModel } from '@mui/x-data-grid'\r\nimport { GridCallbackDetails, GridColumnVisibilityModel, GridDensity, GridFilterModel, GridPaginationModel } from '@mui/x-data-grid'\r\nimport type { ComponentType, ReactNode } from 'react'\r\nimport { mergeObjects } from '../utils'\r\nimport { TableBaseContext } from './context'\r\nimport { IActionRowProps } from './create.action-row'\r\nimport { customFilterOperators } from './custom.filter-operators'\r\nimport { GlobalModal, mapGlobalModalContext } from '../api-context'\r\nimport { ICustomGridColDef, ICustomGridFilterModel, ICustomGridSortModel, ITableData, ITableQueryParams } from './types'\r\nimport TableHelper, { dinoTableClasses } from './helpers'\r\nimport ToolbarPannel, { IToolbarPannelProps } from './toolbar-pannel'\r\n\r\nexport interface ITableSlots<T> {\r\n maxSelection?: number\r\n density?: GridDensity\r\n toolbar?: ComponentType<IToolbarPannelProps>\r\n actionRow?: ComponentType<IActionRowProps<T>>\r\n toolbarProps?: IToolbarPannelProps\r\n dataGridProps?: DataGridProps\r\n}\r\n\r\nexport type ITableParamsSlots<T> = Pick<ITableSlots<T>, 'maxSelection' | 'toolbarProps' | 'dataGridProps'>\r\n\r\nexport interface ITableProps<T> {\r\n data?: ITableData<T>\r\n query?: ITableQueryParams<T>\r\n loading?: boolean\r\n onChange?: (query: ITableQueryParams<T>) => void\r\n onRowSelectionChange?: DataGridProps['onRowSelectionModelChange']\r\n slots?: ITableSlots<T>\r\n}\r\n\r\nexport interface ITableParams<T extends GridValidRowModel> extends ITableParamsSlots<T> {\r\n featureMode?: GridFeatureMode\r\n getRowId: GridRowIdGetter<T>\r\n columns: ICustomGridColDef<T>\r\n filterOperators?: (config: GridColDef) => GridFilterOperator[]\r\n columnVisibilityModel?: Partial<Record<keyof T, boolean>>\r\n actionRow?: Omit<GridColDef, 'field'>\r\n disableGlobalModalProvider?: boolean\r\n}\r\n\r\nexport function CreateTable<T extends GridValidRowModel>(params: ITableParams<T>): ComponentType<ITableProps<T>> {\r\n const generateColumns = (extendColDefs?: GridColDef[]) => {\r\n const columns = Object.keys(params.columns).map<GridColDef>((key) => {\r\n const obj = { field: key, ...params.columns[key] }\r\n obj.filterOperators = params.filterOperators ? params.filterOperators(obj) : customFilterOperators(obj)\r\n return obj\r\n })\r\n\r\n if (!!extendColDefs && extendColDefs.length > 0) columns.push(...extendColDefs)\r\n return columns\r\n }\r\n\r\n class Table extends Component<ITableProps<T>> {\r\n private tableQueryParams: ITableQueryParams<T>\r\n // private tableQueryParamsCache: ITableQueryParams<T> = {}\r\n private defaultTableQueryParams: ITableQueryParams<T>\r\n private columns: GridColDef<T>[]\r\n private rowSelecteds: GridRowSelectionModel\r\n private changeTimeout?: ReturnType<typeof setTimeout>\r\n constructor(props: ITableProps<T>) {\r\n super(props)\r\n this.columns = this.initialColumns()\r\n this.tableQueryParams = { ...props.query }\r\n this.defaultTableQueryParams = this.tableQueryParams\r\n this.rowSelecteds = []\r\n }\r\n\r\n get mergeConfig() {\r\n const toolbarPannelProps = mergeObjects({}, params?.toolbarProps, this.props.slots?.toolbarProps)\r\n return {\r\n toolbar: this.props.slots?.toolbar ?? (() => <ToolbarPannel {...toolbarPannelProps} />),\r\n ActionRow: this.props.slots?.actionRow,\r\n columnVisibilityModel: params.columnVisibilityModel,\r\n maxSelcion: this.props.slots?.maxSelection ?? params.maxSelection,\r\n dataGridProps: mergeObjects({}, params.dataGridProps, this.props.slots?.dataGridProps),\r\n loading: this.props.loading !== undefined ? this.props.loading : this.tableQueryParams.loading\r\n }\r\n }\r\n\r\n setTableQueryParams = (value: Partial<ITableQueryParams<T>>) => {\r\n this.tableQueryParams = mergeObjects({}, this.tableQueryParams, value)\r\n }\r\n\r\n componentWillUnmount() {\r\n if (this.changeTimeout) {\r\n clearTimeout(this.changeTimeout)\r\n }\r\n }\r\n\r\n shouldComponentUpdate(nextProps: Readonly<ITableProps<T>>): boolean {\r\n if (params.featureMode === 'server') {\r\n // Check if query changed\r\n if (!TableHelper.equalTableQueryParams(nextProps.query, this.props.query)) {\r\n this.setTableQueryParams(nextProps.query ?? {})\r\n return true\r\n }\r\n // Check if data or loading changed\r\n if (JSON.stringify(nextProps.data) !== JSON.stringify(this.props.data) || nextProps.loading !== this.props.loading) {\r\n return true\r\n }\r\n return false\r\n } else {\r\n return true\r\n }\r\n }\r\n\r\n render() {\r\n return this.renderWrapContext(\r\n <Wrap>\r\n <DataGrid loading={this.props.loading} {...this.getDataGridProps()} />\r\n </Wrap>\r\n )\r\n }\r\n\r\n renderWrapContext = (children: ReactNode) => {\r\n const WrapComponent = params.disableGlobalModalProvider ? Fragment : GlobalModal\r\n return (\r\n <WrapComponent>\r\n {mapGlobalModalContext((context) => (\r\n <TableBaseContext.Provider value={{ showModal: context.show, closeModal: context.close }}>{children}</TableBaseContext.Provider>\r\n ))}\r\n </WrapComponent>\r\n )\r\n }\r\n\r\n getDataGridProps = (): DataGridProps<T> => {\r\n const mergeConfig = this.mergeConfig\r\n const obj: DataGridProps<T> = {\r\n getRowId: params.getRowId,\r\n columns: this.columns,\r\n rows: this.props.data?.items ?? [],\r\n checkboxSelection: true,\r\n pagination: true,\r\n density: this.props.slots?.density ?? 'standard',\r\n initialState: TableHelper.mapInitialState(this.props.query, {\r\n columns: { columnVisibilityModel: params.columnVisibilityModel as GridColumnVisibilityModel }\r\n }),\r\n filterDebounceMs: 800,\r\n sx: { border: 0 },\r\n slots: { toolbar: mergeConfig.toolbar },\r\n rowSelectionModel: this.rowSelecteds,\r\n onRowSelectionModelChange: this.handleRowSelectionChange\r\n }\r\n if (params.featureMode === 'server') {\r\n const objServer: Partial<DataGridProps<T>> = {\r\n filterMode: 'server',\r\n sortingMode: 'server',\r\n paginationMode: 'server',\r\n onPaginationModelChange: this.onPaginationModelChange,\r\n onFilterModelChange: this.onFilterModelChange,\r\n onSortModelChange: this.onSortModelChange,\r\n rowCount: this.props.data?.rowTotal ?? 0,\r\n paginationModel: this.tableQueryParams.pagination,\r\n filterModel: this.tableQueryParams.filter as GridFilterModel,\r\n sortModel: TableHelper.mapSortModel(this.tableQueryParams.sort),\r\n loading: this.mergeConfig.loading\r\n }\r\n Object.assign(obj, objServer)\r\n }\r\n return mergeObjects(obj, this.mergeConfig.dataGridProps)\r\n }\r\n\r\n initialColumns = (): GridColDef<T>[] => {\r\n const { ActionRow } = this.mergeConfig\r\n const list: GridColDef<T>[] = []\r\n if (!!ActionRow) {\r\n list.push({\r\n field: 'Actions',\r\n minWidth: 100,\r\n headerAlign: 'right',\r\n align: 'right',\r\n filterable: false,\r\n sortable: false,\r\n renderCell: (value) => <ActionRow value={value.row} />,\r\n ...params.actionRow\r\n })\r\n }\r\n return generateColumns(list)\r\n }\r\n\r\n onPaginationModelChange = (model: GridPaginationModel, details: GridCallbackDetails<'pagination'>) => {\r\n if (this.mergeConfig.loading) return\r\n this.setTableQueryParams({ pagination: model, detail: 'pagination' })\r\n this.handleChange()\r\n }\r\n\r\n onFilterModelChange = (model: GridFilterModel, details: GridCallbackDetails<'filter'>) => {\r\n if (this.mergeConfig.loading) return\r\n const { pagination } = this.tableQueryParams\r\n this.setTableQueryParams({\r\n filter: model as ICustomGridFilterModel<T>,\r\n pagination: { page: 0, pageSize: pagination?.pageSize ?? 25 },\r\n detail: TableHelper.detectSearchType(model)\r\n })\r\n this.handleChange()\r\n }\r\n\r\n onSortModelChange = (model: GridSortModel, details: GridCallbackDetails<any>) => {\r\n if (this.mergeConfig.loading) return\r\n let sortValue = model as ICustomGridSortModel<T>\r\n const { sort } = this.tableQueryParams\r\n if (!!sort?.length && !sortValue.length) {\r\n if (sort?.[0]?.field === this.defaultTableQueryParams.sort?.[0]?.field) {\r\n sortValue = [{ field: sort[0]?.field, sort: sort[0]?.sort === 'desc' ? 'asc' : 'desc' }]\r\n } else {\r\n sortValue = this.defaultTableQueryParams.sort ?? []\r\n }\r\n }\r\n this.setTableQueryParams({ sort: sortValue, detail: 'sort' })\r\n this.handleChange()\r\n }\r\n\r\n handleChange = () => {\r\n if (this.changeTimeout) clearTimeout(this.changeTimeout)\r\n this.changeTimeout = setTimeout(() => {\r\n this.props.onChange && this.props.onChange(this.tableQueryParams)\r\n }, 300)\r\n }\r\n\r\n handleRowSelectionChange = (value: GridRowSelectionModel, details: GridCallbackDetails) => {\r\n if (this.mergeConfig.maxSelcion && value.length > this.mergeConfig.maxSelcion) {\r\n this.rowSelecteds = value.slice(0, this.mergeConfig.maxSelcion)\r\n } else {\r\n this.rowSelecteds = value\r\n }\r\n this.props.onRowSelectionChange && this.props.onRowSelectionChange(this.rowSelecteds, details)\r\n this.forceUpdate()\r\n }\r\n }\r\n\r\n return Table\r\n}\r\n\r\nexport default CreateTable\r\n\r\nconst Wrap = styled(({ children, ...p }: BoxProps) => (\r\n <Box {...p}>\r\n <div>{children}</div>\r\n </Box>\r\n))({\r\n flex: 1,\r\n position: 'relative',\r\n '& > div': {\r\n position: 'absolute',\r\n top: 0,\r\n left: 0,\r\n width: '100%',\r\n height: '100%',\r\n overflowY: 'auto'\r\n },\r\n '& .MuiDataGrid-root': {\r\n '--unstable_DataGrid-radius': 0,\r\n overflow: 'hidden'\r\n },\r\n [`& .MuiDataGrid-cell.${dinoTableClasses.whiteSpacePre} .MuiDataGrid-cellContent`]: {\r\n whiteSpace: 'pre'\r\n }\r\n})\r\n"],"names":["CreateTable","params","Table","props","_this","_classCallCheck","_callSuper","_defineProperty","value","tableQueryParams","mergeObjects","children","WrapComponent","disableGlobalModalProvider","Fragment","GlobalModal","_jsx","mapGlobalModalContext","context","TableBaseContext","Provider","showModal","show","closeModal","close","_this$props$data$item","_this$props$data","_this$props$slots$den","_this$props$slots","mergeConfig","obj","getRowId","columns","rows","data","items","checkboxSelection","pagination","density","slots","initialState","TableHelper","mapInitialState","query","columnVisibilityModel","filterDebounceMs","sx","border","toolbar","rowSelectionModel","rowSelecteds","onRowSelectionModelChange","handleRowSelectionChange","featureMode","_this$props$data$rowT","_this$props$data2","objServer","filterMode","sortingMode","paginationMode","onPaginationModelChange","onFilterModelChange","onSortModelChange","rowCount","rowTotal","paginationModel","filterModel","filter","sortModel","mapSortModel","sort","loading","Object","assign","dataGridProps","extendColDefs","ActionRow","list","push","_objectSpread","field","minWidth","headerAlign","align","filterable","sortable","renderCell","row","actionRow","keys","map","key","filterOperators","customFilterOperators","length","apply","_toConsumableArray","model","details","setTableQueryParams","detail","handleChange","_pagination$pageSize","page","pageSize","detectSearchType","_sort$","_this$defaultTableQue","_sort$2","_sort$3","_this$defaultTableQue2","sortValue","defaultTableQueryParams","changeTimeout","clearTimeout","setTimeout","onChange","maxSelcion","slice","onRowSelectionChange","forceUpdate","initialColumns","_inherits","Component","_createClass","get","_this$props$slots2","_this$props$slots$too","_this$props$slots3","_this$props$slots4","_this$props$slots$max","_this$props$slots5","_this$props$slots6","toolbarPannelProps","toolbarProps","this","ToolbarPannel","maxSelection","undefined","nextProps","_nextProps$query","equalTableQueryParams","JSON","stringify","renderWrapContext","Wrap","DataGrid","getDataGridProps","styled","_ref","p","_objectWithoutProperties","_excluded","Box","flex","position","top","left","width","height","overflowY","overflow","concat","dinoTableClasses","whiteSpacePre","whiteSpace"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"create.table.js","sources":["../../../src/table/create.table.tsx"],"sourcesContent":["import { Component, Fragment } from 'react'\r\nimport { Box, BoxProps, styled } from '@mui/material'\r\nimport { DataGrid, DataGridProps, GridColDef, GridFeatureMode, GridFilterOperator } from '@mui/x-data-grid'\r\nimport { GridSortModel, GridValidRowModel, GridRowIdGetter, GridRowSelectionModel } from '@mui/x-data-grid'\r\nimport { GridCallbackDetails, GridColumnVisibilityModel, GridDensity, GridFilterModel, GridPaginationModel } from '@mui/x-data-grid'\r\nimport type { ComponentType, ReactNode } from 'react'\r\nimport { mergeObjects } from '../utils'\r\nimport { TableBaseContext } from './context'\r\nimport { IActionRowProps } from './create.action-row'\r\nimport { customFilterOperators } from './custom.filter-operators'\r\nimport { GlobalModal, mapGlobalModalContext } from '../api-context'\r\nimport { ICustomGridColDef, ICustomGridFilterModel, ICustomGridSortModel, ITableData, ITableQueryParams } from './types'\r\nimport TableHelper, { dinoTableClasses } from './helpers'\r\nimport ToolbarPannel, { IToolbarPannelProps } from './toolbar-pannel'\r\n\r\nexport interface ITableSlots<T> {\r\n maxSelection?: number\r\n density?: GridDensity\r\n toolbar?: ComponentType<IToolbarPannelProps>\r\n actionRow?: ComponentType<IActionRowProps<T>>\r\n toolbarProps?: IToolbarPannelProps\r\n dataGridProps?: DataGridProps\r\n}\r\n\r\nexport type ITableParamsSlots<T> = Pick<ITableSlots<T>, 'maxSelection' | 'toolbarProps' | 'dataGridProps'>\r\n\r\nexport interface ITableProps<T> {\r\n data?: ITableData<T>\r\n query?: ITableQueryParams<T>\r\n loading?: boolean\r\n onChange?: (query: ITableQueryParams<T>) => void\r\n onRowSelectionChange?: DataGridProps['onRowSelectionModelChange']\r\n slots?: ITableSlots<T>\r\n}\r\n\r\nexport interface ITableParams<T extends GridValidRowModel> extends ITableParamsSlots<T> {\r\n featureMode?: GridFeatureMode\r\n getRowId: GridRowIdGetter<T>\r\n columns: ICustomGridColDef<T>\r\n filterOperators?: (config: GridColDef) => GridFilterOperator[]\r\n columnVisibilityModel?: Partial<Record<keyof T, boolean>>\r\n actionRow?: Omit<GridColDef, 'field'>\r\n disableGlobalModalProvider?: boolean\r\n}\r\n\r\nexport function CreateTable<T extends GridValidRowModel>(params: ITableParams<T>): ComponentType<ITableProps<T>> {\r\n const generateColumns = (extendColDefs?: GridColDef[]) => {\r\n const columns = Object.keys(params.columns).map<GridColDef>((key) => {\r\n const obj = { field: key, ...params.columns[key] }\r\n obj.filterOperators = params.filterOperators ? params.filterOperators(obj) : customFilterOperators(obj)\r\n return obj\r\n })\r\n\r\n if (!!extendColDefs && extendColDefs.length > 0) columns.push(...extendColDefs)\r\n return columns\r\n }\r\n\r\n class Table extends Component<ITableProps<T>> {\r\n private tableQueryParams: ITableQueryParams<T>\r\n // private tableQueryParamsCache: ITableQueryParams<T> = {}\r\n private defaultTableQueryParams: ITableQueryParams<T>\r\n private columns: GridColDef<T>[]\r\n private rowSelecteds: GridRowSelectionModel\r\n private changeTimeout?: ReturnType<typeof setTimeout>\r\n constructor(props: ITableProps<T>) {\r\n super(props)\r\n this.columns = this.initialColumns()\r\n this.tableQueryParams = { ...props.query }\r\n this.defaultTableQueryParams = this.tableQueryParams\r\n this.rowSelecteds = []\r\n }\r\n\r\n get mergeConfig() {\r\n const toolbarPannelProps = mergeObjects({}, params?.toolbarProps, this.props.slots?.toolbarProps)\r\n return {\r\n toolbar: this.props.slots?.toolbar ?? (() => <ToolbarPannel {...toolbarPannelProps} />),\r\n ActionRow: this.props.slots?.actionRow,\r\n columnVisibilityModel: params.columnVisibilityModel,\r\n maxSelcion: this.props.slots?.maxSelection ?? params.maxSelection,\r\n dataGridProps: mergeObjects({}, params.dataGridProps, this.props.slots?.dataGridProps),\r\n loading: (this.props.loading !== undefined ? this.props.loading : this.tableQueryParams?.loading) ?? false\r\n }\r\n }\r\n\r\n setTableQueryParams = (value: Partial<ITableQueryParams<T>>) => {\r\n this.tableQueryParams = mergeObjects({}, this.tableQueryParams, value)\r\n }\r\n\r\n componentWillUnmount() {\r\n if (this.changeTimeout) {\r\n clearTimeout(this.changeTimeout)\r\n }\r\n }\r\n\r\n shouldComponentUpdate(nextProps: Readonly<ITableProps<T>>): boolean {\r\n if (params.featureMode === 'server') {\r\n // Check if query changed\r\n if (!TableHelper.equalTableQueryParams(nextProps.query, this.props.query)) {\r\n this.setTableQueryParams(nextProps.query ?? {})\r\n return true\r\n }\r\n // Check if data or loading changed\r\n if (JSON.stringify(nextProps.data) !== JSON.stringify(this.props.data) || nextProps.loading !== this.props.loading) {\r\n return true\r\n }\r\n return false\r\n } else {\r\n return true\r\n }\r\n }\r\n\r\n render() {\r\n return this.renderWrapContext(\r\n <Wrap>\r\n <DataGrid loading={this.props.loading} {...this.getDataGridProps()} />\r\n </Wrap>\r\n )\r\n }\r\n\r\n renderWrapContext = (children: ReactNode) => {\r\n const WrapComponent = params.disableGlobalModalProvider ? Fragment : GlobalModal\r\n return (\r\n <WrapComponent>\r\n {mapGlobalModalContext((context) => (\r\n <TableBaseContext.Provider value={{ showModal: context.show, closeModal: context.close }}>{children}</TableBaseContext.Provider>\r\n ))}\r\n </WrapComponent>\r\n )\r\n }\r\n\r\n getDataGridProps = (): DataGridProps<T> => {\r\n const mergeConfig = this.mergeConfig\r\n const obj: DataGridProps<T> = {\r\n getRowId: params.getRowId,\r\n columns: this.columns,\r\n rows: this.props.data?.items ?? [],\r\n checkboxSelection: true,\r\n pagination: true,\r\n density: this.props.slots?.density ?? 'standard',\r\n initialState: TableHelper.mapInitialState(this.props.query, {\r\n columns: { columnVisibilityModel: params.columnVisibilityModel as GridColumnVisibilityModel }\r\n }),\r\n filterDebounceMs: 800,\r\n sx: { border: 0 },\r\n slots: { toolbar: mergeConfig.toolbar },\r\n rowSelectionModel: this.rowSelecteds,\r\n onRowSelectionModelChange: this.handleRowSelectionChange\r\n }\r\n if (params.featureMode === 'server') {\r\n const objServer: Partial<DataGridProps<T>> = {\r\n filterMode: 'server',\r\n sortingMode: 'server',\r\n paginationMode: 'server',\r\n onPaginationModelChange: this.onPaginationModelChange,\r\n onFilterModelChange: this.onFilterModelChange,\r\n onSortModelChange: this.onSortModelChange,\r\n rowCount: this.props.data?.rowTotal ?? 0,\r\n paginationModel: this.tableQueryParams.pagination,\r\n filterModel: this.tableQueryParams.filter as GridFilterModel,\r\n sortModel: TableHelper.mapSortModel(this.tableQueryParams.sort),\r\n loading: this.mergeConfig.loading\r\n }\r\n Object.assign(obj, objServer)\r\n }\r\n return mergeObjects(obj, this.mergeConfig.dataGridProps)\r\n }\r\n\r\n initialColumns = (): GridColDef<T>[] => {\r\n const { ActionRow } = this.mergeConfig\r\n const list: GridColDef<T>[] = []\r\n if (!!ActionRow) {\r\n list.push({\r\n field: 'Actions',\r\n minWidth: 100,\r\n headerAlign: 'right',\r\n align: 'right',\r\n filterable: false,\r\n sortable: false,\r\n renderCell: (value) => <ActionRow value={value.row} />,\r\n ...params.actionRow\r\n })\r\n }\r\n return generateColumns(list)\r\n }\r\n\r\n onPaginationModelChange = (model: GridPaginationModel, details: GridCallbackDetails<'pagination'>) => {\r\n if (this.mergeConfig.loading) return\r\n this.setTableQueryParams({ pagination: model, detail: 'pagination' })\r\n this.handleChange()\r\n }\r\n\r\n onFilterModelChange = (model: GridFilterModel, details: GridCallbackDetails<'filter'>) => {\r\n if (this.mergeConfig.loading) return\r\n const { pagination } = this.tableQueryParams\r\n this.setTableQueryParams({\r\n filter: model as ICustomGridFilterModel<T>,\r\n pagination: { page: 0, pageSize: pagination?.pageSize ?? 25 },\r\n detail: TableHelper.detectSearchType(model)\r\n })\r\n this.handleChange()\r\n }\r\n\r\n onSortModelChange = (model: GridSortModel, details: GridCallbackDetails<any>) => {\r\n if (this.mergeConfig.loading) return\r\n let sortValue = model as ICustomGridSortModel<T>\r\n const { sort } = this.tableQueryParams\r\n if (!!sort?.length && !sortValue.length) {\r\n if (sort?.[0]?.field === this.defaultTableQueryParams.sort?.[0]?.field) {\r\n sortValue = [{ field: sort[0]?.field, sort: sort[0]?.sort === 'desc' ? 'asc' : 'desc' }]\r\n } else {\r\n sortValue = this.defaultTableQueryParams.sort ?? []\r\n }\r\n }\r\n this.setTableQueryParams({ sort: sortValue, detail: 'sort' })\r\n this.handleChange()\r\n }\r\n\r\n handleChange = () => {\r\n if (this.changeTimeout) clearTimeout(this.changeTimeout)\r\n this.changeTimeout = setTimeout(() => {\r\n this.props.onChange && this.props.onChange(this.tableQueryParams)\r\n }, 300)\r\n }\r\n\r\n handleRowSelectionChange = (value: GridRowSelectionModel, details: GridCallbackDetails) => {\r\n if (this.mergeConfig.maxSelcion && value.length > this.mergeConfig.maxSelcion) {\r\n this.rowSelecteds = value.slice(0, this.mergeConfig.maxSelcion)\r\n } else {\r\n this.rowSelecteds = value\r\n }\r\n this.props.onRowSelectionChange && this.props.onRowSelectionChange(this.rowSelecteds, details)\r\n this.forceUpdate()\r\n }\r\n }\r\n\r\n return Table\r\n}\r\n\r\nexport default CreateTable\r\n\r\nconst Wrap = styled(({ children, ...p }: BoxProps) => (\r\n <Box {...p}>\r\n <div>{children}</div>\r\n </Box>\r\n))({\r\n flex: 1,\r\n position: 'relative',\r\n '& > div': {\r\n position: 'absolute',\r\n top: 0,\r\n left: 0,\r\n width: '100%',\r\n height: '100%',\r\n overflowY: 'auto'\r\n },\r\n '& .MuiDataGrid-root': {\r\n '--unstable_DataGrid-radius': 0,\r\n overflow: 'hidden'\r\n },\r\n [`& .MuiDataGrid-cell.${dinoTableClasses.whiteSpacePre} .MuiDataGrid-cellContent`]: {\r\n whiteSpace: 'pre'\r\n }\r\n})\r\n"],"names":["CreateTable","params","Table","props","_this","_classCallCheck","_callSuper","_defineProperty","value","tableQueryParams","mergeObjects","children","WrapComponent","disableGlobalModalProvider","Fragment","GlobalModal","_jsx","mapGlobalModalContext","context","TableBaseContext","Provider","showModal","show","closeModal","close","_this$props$data$item","_this$props$data","_this$props$slots$den","_this$props$slots","mergeConfig","obj","getRowId","columns","rows","data","items","checkboxSelection","pagination","density","slots","initialState","TableHelper","mapInitialState","query","columnVisibilityModel","filterDebounceMs","sx","border","toolbar","rowSelectionModel","rowSelecteds","onRowSelectionModelChange","handleRowSelectionChange","featureMode","_this$props$data$rowT","_this$props$data2","objServer","filterMode","sortingMode","paginationMode","onPaginationModelChange","onFilterModelChange","onSortModelChange","rowCount","rowTotal","paginationModel","filterModel","filter","sortModel","mapSortModel","sort","loading","Object","assign","dataGridProps","extendColDefs","ActionRow","list","push","_objectSpread","field","minWidth","headerAlign","align","filterable","sortable","renderCell","row","actionRow","keys","map","key","filterOperators","customFilterOperators","length","apply","_toConsumableArray","model","details","setTableQueryParams","detail","handleChange","_pagination$pageSize","page","pageSize","detectSearchType","_sort$","_this$defaultTableQue","_sort$2","_sort$3","_this$defaultTableQue2","sortValue","defaultTableQueryParams","changeTimeout","clearTimeout","setTimeout","onChange","maxSelcion","slice","onRowSelectionChange","forceUpdate","initialColumns","_inherits","Component","_createClass","get","_this$props$slots2","_this$props$slots$too","_this$props$slots3","_this$props$slots4","_this$props$slots$max","_this$props$slots5","_this$props$slots6","_ref","_this$tableQueryParam","toolbarPannelProps","toolbarProps","this","ToolbarPannel","maxSelection","undefined","nextProps","_nextProps$query","equalTableQueryParams","JSON","stringify","renderWrapContext","Wrap","DataGrid","getDataGridProps","styled","_ref2","p","_objectWithoutProperties","_excluded","Box","flex","position","top","left","width","height","overflowY","overflow","concat","dinoTableClasses","whiteSpacePre","whiteSpace"],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { AxiosError, AxiosInstance, AxiosRequestConfig } from 'axios';
|
|
2
|
+
import { IServiceOptions } from './types';
|
|
2
3
|
export interface ITokenProvider {
|
|
3
4
|
getToken: () => Promise<string | undefined>;
|
|
4
5
|
reSignIn: () => Promise<void>;
|
|
@@ -13,7 +14,8 @@ export default class ServiceBase {
|
|
|
13
14
|
static get tokenProvider(): ITokenProvider;
|
|
14
15
|
static setTokenProvider(provider: ITokenProvider): void;
|
|
15
16
|
private _http;
|
|
16
|
-
|
|
17
|
+
private options?;
|
|
18
|
+
constructor(http?: AxiosInstance, options?: IServiceOptions);
|
|
17
19
|
/**
|
|
18
20
|
* Maps response and request interceptors for handling authentication and errors
|
|
19
21
|
* Automatically adds authorization headers and retries requests on 401 errors
|
|
@@ -2,10 +2,12 @@ import { AxiosRequestConfig } from 'axios';
|
|
|
2
2
|
import type { Fetcher } from 'graphql-ts-client-api';
|
|
3
3
|
import type { IGraphqlQueryOptions, IGraphqlRequestOptions } from './types';
|
|
4
4
|
import ServiceBase from '../base/service-base';
|
|
5
|
+
import { IServiceOptions } from '../base/types';
|
|
5
6
|
export interface IGraphqlRequestParams {
|
|
6
7
|
baseUrl: string;
|
|
7
8
|
execute: (...p: any[]) => Promise<any>;
|
|
8
9
|
options?: IGraphqlRequestOptions;
|
|
10
|
+
serviceOptions?: IServiceOptions;
|
|
9
11
|
}
|
|
10
12
|
declare class GraphqlRequest extends ServiceBase {
|
|
11
13
|
private _execute;
|