dinocollab-core 1.1.15 → 2.0.1

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.
Files changed (174) hide show
  1. package/bin/codegen.js +66 -0
  2. package/dist/_virtual/_rollupPluginBabelHelpers.js +2 -2
  3. package/dist/api-context/index.js +2 -0
  4. package/dist/api-context/index.js.map +1 -0
  5. package/dist/components/create.multi-select-dropdown.js +1 -1
  6. package/dist/components/create.multi-select-dropdown.js.map +1 -1
  7. package/dist/components/help-tooltip.js +1 -1
  8. package/dist/components/index.js +2 -0
  9. package/dist/components/index.js.map +1 -0
  10. package/dist/data-view/convert-filter-to-graphql.js +1 -1
  11. package/dist/data-view/convert-filter-to-graphql.js.map +1 -1
  12. package/dist/data-view/create.active-filters-panel.js +1 -1
  13. package/dist/data-view/create.active-filters-panel.js.map +1 -1
  14. package/dist/data-view/create.filter-bar.js +1 -1
  15. package/dist/data-view/create.filter-bar.js.map +1 -1
  16. package/dist/data-view/dino.js +1 -1
  17. package/dist/data-view/dino.js.map +1 -1
  18. package/dist/data-view/filter-store.js +1 -1
  19. package/dist/data-view/filter-store.js.map +1 -1
  20. package/dist/data-view/index.js +2 -0
  21. package/dist/data-view/index.js.map +1 -0
  22. package/dist/data-view/query-param-url.js +1 -1
  23. package/dist/data-view/query-param-url.js.map +1 -1
  24. package/dist/form/create.date-expired.js +1 -1
  25. package/dist/form/create.date-expired.js.map +1 -1
  26. package/dist/form/create.date-picker.js +1 -1
  27. package/dist/form/create.date-picker.js.map +1 -1
  28. package/dist/form/create.form-comfirm.js +1 -1
  29. package/dist/form/create.form-comfirm.js.map +1 -1
  30. package/dist/form/create.form-grid-layout.js +1 -1
  31. package/dist/form/create.form-grid-layout.js.map +1 -1
  32. package/dist/form/create.input-file.csv-local-parser.js +1 -1
  33. package/dist/form/create.input-file.csv-local-parser.js.map +1 -1
  34. package/dist/form/create.input.js +1 -1
  35. package/dist/form/create.input.js.map +1 -1
  36. package/dist/form/create.select-simple.js +1 -1
  37. package/dist/form/create.select-simple.js.map +1 -1
  38. package/dist/form/create.select-with-api.js +1 -1
  39. package/dist/form/create.select-with-api.js.map +1 -1
  40. package/dist/form/create.text-editor.js +1 -1
  41. package/dist/form/create.text-editor.js.map +1 -1
  42. package/dist/form/index.js +2 -0
  43. package/dist/form/index.js.map +1 -0
  44. package/dist/form/modal-wrapper.js +1 -1
  45. package/dist/form/modal-wrapper.js.map +1 -1
  46. package/dist/form/validator.js +1 -1
  47. package/dist/form/validator.js.map +1 -1
  48. package/dist/http-service/base/crud-service-base.js +2 -0
  49. package/dist/http-service/base/crud-service-base.js.map +1 -0
  50. package/dist/http-service/base/gateway.js +2 -0
  51. package/dist/http-service/base/gateway.js.map +1 -0
  52. package/dist/http-service/base/helpers.js +2 -0
  53. package/dist/http-service/base/helpers.js.map +1 -0
  54. package/dist/http-service/base/service-base.js +2 -0
  55. package/dist/http-service/base/service-base.js.map +1 -0
  56. package/dist/http-service/base/types.js +2 -0
  57. package/dist/http-service/base/types.js.map +1 -0
  58. package/dist/http-service/graphql/app-profile.js +2 -0
  59. package/dist/http-service/graphql/app-profile.js.map +1 -0
  60. package/dist/http-service/graphql/graphql-request.js +2 -0
  61. package/dist/http-service/graphql/graphql-request.js.map +1 -0
  62. package/dist/http-service/graphql/key-converter.js.map +1 -0
  63. package/dist/http-service/graphql/request-param.js +2 -0
  64. package/dist/http-service/graphql/request-param.js.map +1 -0
  65. package/dist/http-service/graphql/types.js +2 -0
  66. package/dist/http-service/graphql/types.js.map +1 -0
  67. package/dist/http-service/index.js +2 -0
  68. package/dist/http-service/index.js.map +1 -0
  69. package/dist/index.js +1 -1
  70. package/dist/index.js.map +1 -1
  71. package/dist/mfe-auth/auth-enums.js +2 -0
  72. package/dist/mfe-auth/auth-enums.js.map +1 -0
  73. package/dist/mfe-auth/auth-mfe-manager.js +2 -0
  74. package/dist/mfe-auth/auth-mfe-manager.js.map +1 -0
  75. package/dist/mfe-auth/auth-mfe-provider.js +2 -0
  76. package/dist/mfe-auth/auth-mfe-provider.js.map +1 -0
  77. package/dist/mfe-auth/auth-types.js +2 -0
  78. package/dist/mfe-auth/auth-types.js.map +1 -0
  79. package/dist/mfe-auth/index.js +2 -0
  80. package/dist/mfe-auth/index.js.map +1 -0
  81. package/dist/mfe-auth/micro-frontend-auth-hooks.js +2 -0
  82. package/dist/mfe-auth/micro-frontend-auth-hooks.js.map +1 -0
  83. package/dist/mfe-modules/index.js +2 -0
  84. package/dist/mfe-modules/index.js.map +1 -0
  85. package/dist/mfe-modules/mfe-navigate.debug.js +2 -0
  86. package/dist/mfe-modules/mfe-navigate.debug.js.map +1 -0
  87. package/dist/mfe-modules/mfe-navigate.remote.js +2 -0
  88. package/dist/mfe-modules/mfe-navigate.remote.js.map +1 -0
  89. package/dist/mfe-modules/nextjs/index.js +2 -0
  90. package/dist/mfe-modules/nextjs/index.js.map +1 -0
  91. package/dist/mfe-modules/nextjs/provider.js +2 -0
  92. package/dist/mfe-modules/nextjs/provider.js.map +1 -0
  93. package/dist/mfe-modules/react/index.js +2 -0
  94. package/dist/mfe-modules/react/index.js.map +1 -0
  95. package/dist/mfe-modules/react/provider.js +2 -0
  96. package/dist/mfe-modules/react/provider.js.map +1 -0
  97. package/dist/redux/index.js +2 -0
  98. package/dist/redux/index.js.map +1 -0
  99. package/dist/redux/ui.error-page.js +1 -1
  100. package/dist/redux/ui.error-page.js.map +1 -1
  101. package/dist/table/create.action-row.js +1 -1
  102. package/dist/table/create.action-row.js.map +1 -1
  103. package/dist/table/create.table.js +1 -1
  104. package/dist/table/create.table.js.map +1 -1
  105. package/dist/table/dino.js +1 -1
  106. package/dist/table/dino.js.map +1 -1
  107. package/dist/table/helpers.js +1 -1
  108. package/dist/table/helpers.js.map +1 -1
  109. package/dist/table/index.js +2 -0
  110. package/dist/table/index.js.map +1 -0
  111. package/dist/table/toolbar-pannel.js +1 -1
  112. package/dist/table/toolbar-pannel.js.map +1 -1
  113. package/dist/table/ui.buttons.js +1 -1
  114. package/dist/table/ui.buttons.js.map +1 -1
  115. package/dist/table/ui.units.js +1 -1
  116. package/dist/table/ui.units.js.map +1 -1
  117. package/dist/table-grid/create.table-grid.js +1 -1
  118. package/dist/table-grid/create.table-grid.js.map +1 -1
  119. package/dist/table-grid/filter-bar/create.filter-bar.js +1 -1
  120. package/dist/table-grid/filter-bar/create.filter-bar.js.map +1 -1
  121. package/dist/table-grid/index.js +2 -0
  122. package/dist/table-grid/index.js.map +1 -0
  123. package/dist/table-grid/item-actions.js +1 -1
  124. package/dist/table-grid/item-actions.js.map +1 -1
  125. package/dist/table-grid/toolbar-pannel.js +1 -1
  126. package/dist/table-grid/toolbar-pannel.js.map +1 -1
  127. package/dist/table-grid/url-query-param.js +1 -1
  128. package/dist/table-grid/url-query-param.js.map +1 -1
  129. package/dist/types/data-view/convert-filter-to-graphql.d.ts +3 -3
  130. package/dist/types/data-view/dino.d.ts +2 -2
  131. package/dist/types/data-view/index.d.ts +0 -1
  132. package/dist/types/data-view/query-param-url.d.ts +1 -1
  133. package/dist/types/http-service/base/crud-service-base.d.ts +68 -0
  134. package/dist/types/http-service/base/gateway.d.ts +3 -0
  135. package/dist/types/http-service/base/helpers.d.ts +31 -0
  136. package/dist/types/http-service/base/index.d.ts +6 -0
  137. package/dist/types/http-service/base/service-base.d.ts +132 -0
  138. package/dist/types/http-service/base/type.api-alert.d.ts +17 -0
  139. package/dist/types/http-service/base/types.d.ts +45 -0
  140. package/dist/types/http-service/graphql/app-profile.d.ts +17 -0
  141. package/dist/types/http-service/graphql/graphql-request.d.ts +83 -0
  142. package/dist/types/http-service/graphql/index.d.ts +5 -0
  143. package/dist/types/{data-view → http-service/graphql}/key-converter.d.ts +2 -1
  144. package/dist/types/http-service/graphql/request-param.d.ts +65 -0
  145. package/dist/types/http-service/graphql/types.d.ts +62 -0
  146. package/dist/types/http-service/index.d.ts +2 -0
  147. package/dist/types/index.d.ts +5 -9
  148. package/dist/types/mfe-auth/auth-enums.d.ts +40 -0
  149. package/dist/types/mfe-auth/auth-mfe-manager.d.ts +68 -0
  150. package/dist/types/mfe-auth/auth-mfe-provider.d.ts +19 -0
  151. package/dist/types/mfe-auth/auth-types.d.ts +33 -0
  152. package/dist/types/mfe-auth/index.d.ts +6 -0
  153. package/dist/types/mfe-auth/micro-frontend-auth-hooks.d.ts +164 -0
  154. package/dist/types/mfe-modules/index.d.ts +2 -0
  155. package/dist/types/mfe-modules/mfe-navigate.debug.d.ts +2 -0
  156. package/dist/types/mfe-modules/mfe-navigate.remote.d.ts +10 -0
  157. package/dist/types/mfe-modules/nextjs/index.d.ts +1 -0
  158. package/dist/types/mfe-modules/nextjs/provider.d.ts +2 -0
  159. package/dist/types/mfe-modules/react/index.d.ts +1 -0
  160. package/dist/types/mfe-modules/react/provider.d.ts +3 -0
  161. package/dist/types/mfe-modules/types.d.ts +7 -0
  162. package/dist/types/utils/index.d.ts +0 -1
  163. package/dist/utils/index.js +2 -0
  164. package/dist/utils/index.js.map +1 -0
  165. package/dist/utils/query-param.js +1 -1
  166. package/dist/utils/query-param.js.map +1 -1
  167. package/package.json +177 -66
  168. package/dist/assets/vector-404.webp.js +0 -2
  169. package/dist/assets/vector-404.webp.js.map +0 -1
  170. package/dist/data-view/key-converter.js.map +0 -1
  171. package/dist/types/utils/mfe-events.d.ts +0 -12
  172. package/dist/utils/mfe-events.js +0 -2
  173. package/dist/utils/mfe-events.js.map +0 -1
  174. /package/dist/{data-view → http-service/graphql}/key-converter.js +0 -0
@@ -0,0 +1,2 @@
1
+ import{createClass as t,objectSpread2 as e,asyncToGenerator as n,slicedToArray as i,regenerator as r,classCallCheck as o,defineProperty as s}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsx as a,Fragment as u,jsxs as d}from"react/jsx-runtime";import{useState as h,useEffect as c,useCallback as l}from"react";import{defaultAuthData as f}from"./auth-types.js";import{AuthStatus as m}from"./auth-enums.js";var v=function(){return t((function t(e){o(this,t),s(this,"authData",f),s(this,"listeners",[]),s(this,"retryCount",0),s(this,"isInitialized",!1),s(this,"initPromise",null),this.microFrontendId=e,this.initialize()}),[{key:"initialize",value:(a=n(r().m((function t(){return r().w((function(t){for(;;)switch(t.n){case 0:if(!this.initPromise){t.n=1;break}return t.a(2,this.initPromise);case 1:return this.initPromise=this.tryInitialize(),t.a(2,this.initPromise)}}),t,this)}))),function(){return a.apply(this,arguments)})},{key:"tryInitialize",value:(i=n(r().m((function t(){var e=this;return r().w((function(t){for(;;)if(0===t.n)return t.a(2,new Promise((function(t,n){var i=function(){"undefined"!=typeof window&&window.__AUTH_MFE__?(e.setupConnection(),e.isInitialized=!0,t()):e.retryCount<20?(e.retryCount++,setTimeout(i,500)):n(new Error("Failed to connect to global auth manager"))};i()})))}),t)}))),function(){return i.apply(this,arguments)})},{key:"setupConnection",value:function(){"undefined"!=typeof window&&window.__AUTH_MFE__&&(window.__AUTH_MFE__.subscribe(this.microFrontendId,this.handleAuthChange.bind(this)),window.addEventListener("auth:response",this.handleAuthResponse.bind(this)),window.addEventListener("auth:stateChanged",this.handleStateChanged.bind(this)),this.requestAuthState())}},{key:"handleAuthChange",value:function(t){this.authData=e(e({},t),{},{microFrontendId:this.microFrontendId}),this.notifyListeners()}},{key:"handleAuthResponse",value:function(t){var e=t.detail;e&&e.microFrontendId===this.microFrontendId&&(this.authData=e,this.notifyListeners())}},{key:"handleStateChanged",value:function(t){var n=t.detail;n&&(this.authData=e(e({},n),{},{microFrontendId:this.microFrontendId}),this.notifyListeners())}},{key:"requestAuthState",value:function(){window.dispatchEvent(new CustomEvent("auth:request",{detail:{microFrontendId:this.microFrontendId,timestamp:Date.now()}}))}},{key:"notifyListeners",value:function(){var t=this;this.listeners.forEach((function(e){try{e(t.authData)}catch(e){console.error("Auth MFE: Error in listener for ".concat(t.microFrontendId,":"),e)}}))}},{key:"subscribe",value:function(t){var e=this;return this.listeners.push(t),this.isInitialized&&t(this.authData),function(){var n=e.listeners.indexOf(t);n>-1&&e.listeners.splice(n,1)}}},{key:"getAuthData",value:function(){return e({},this.authData)}},{key:"requestLogin",value:function(){window.dispatchEvent(new CustomEvent("auth:login",{detail:{microFrontendId:this.microFrontendId,timestamp:Date.now()}}))}},{key:"requestLogout",value:function(){window.dispatchEvent(new CustomEvent("auth:logout",{detail:{microFrontendId:this.microFrontendId,timestamp:Date.now()}}))}},{key:"isConnected",value:function(){return this.isInitialized&&"undefined"!=typeof window&&!!window.__AUTH_MFE__}},{key:"getDebugInfo",value:function(){return{microFrontendId:this.microFrontendId,isInitialized:this.isInitialized,isConnected:this.isConnected(),retryCount:this.retryCount,authData:this.authData,listenerCount:this.listeners.length,globalAvailable:"undefined"!=typeof window&&!!window.__AUTH_MFE__}}},{key:"destroy",value:function(){this.listeners=[],"undefined"!=typeof window&&(window.removeEventListener("auth:response",this.handleAuthResponse.bind(this)),window.removeEventListener("auth:stateChanged",this.handleStateChanged.bind(this)))}}]);var i,a}(),p=new Map;function w(t){return p.has(t)||p.set(t,new v(t)),p.get(t)}function g(t){var e=h(f),n=i(e,2),r=n[0],o=n[1],s=h(!0),a=i(s,2),u=a[0],d=a[1],v=w(t);c((function(){var t=v.subscribe((function(t){o(t),d(!1)}));return function(){t()}}),[v]);var p=l((function(){v.requestLogin()}),[v]),g=l((function(){v.requestLogout()}),[v]);return{isAuthenticated:r.status===m.AUTHENTICATED,isLoading:u||r.status===m.LOADING,isAuthenticating:r.status===m.AUTHENTICATING,hasError:r.status===m.ERROR,displayName:r.displayName,email:r.email,userId:r.userId,avatar:r.avatar,profile:r.profile,status:r.status,error:r.error,timestamp:r.timestamp,login:p,logout:g,authData:r,isConnected:v.isConnected(),debugInfo:v.getDebugInfo()}}function y(t){var e=w(t);return{login:l((function(){e.requestLogin()}),[e]),logout:l((function(){e.requestLogout()}),[e])}}function I(t){var e=t.microFrontendId,n=t.children,i=g(e);return a(u,{children:n(i)})}function C(t,n){return function(i){var r=g(n);return a(t,e(e({},i),{},{auth:r}))}}var F={getCurrentAuth:function(t){return w(t).getAuthData()},requestLogin:function(t){w(t).requestLogin()},requestLogout:function(t){w(t).requestLogout()},createAuthInstance:function(t){return w(t)}},_=function(t){var n=t.microFrontendId,i=t.position,r=void 0===i?{bottom:"60px",left:"10px"}:i,o=g(n),s=o.debugInfo,a=o.authData,u=o.isConnected;return"production"===process.env.NODE_ENV?null:d("div",{style:e({position:"fixed",background:"rgba(0, 0, 0, 0.8)",color:"white",padding:"10px",borderRadius:"5px",fontSize:"12px",fontFamily:"monospace",maxWidth:"300px",zIndex:9998},r),children:[d("div",{style:{fontWeight:"bold",marginBottom:"5px"},children:["🔗 Auth MFE Debug (",n,")"]}),d("div",{children:["Status: ",a.status]}),d("div",{children:["User: ",a.displayName||"None"]}),d("div",{children:["Connected: ",u?"✅":"❌"]}),d("div",{children:["Initialized: ",s.isInitialized?"✅":"❌"]}),d("div",{children:["Retries: ",s.retryCount]}),d("div",{children:["Listeners: ",s.listenerCount]})]})};export{v as MicroFrontendAuth,I as MicroFrontendAuthConsumer,_ as MicroFrontendAuthDebug,F as microFrontendAuthUtils,g as useMicroFrontendAuth,y as useMicroFrontendAuthActions,C as withMicroFrontendAuth};
2
+ //# sourceMappingURL=micro-frontend-auth-hooks.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"micro-frontend-auth-hooks.js","sources":["../../src/mfe-auth/micro-frontend-auth-hooks.tsx"],"sourcesContent":["import React, { useState, useEffect, useCallback, FC, CSSProperties } from 'react'\r\nimport { AuthEventData, AuthEventListener, defaultAuthData } from './auth-types'\r\nimport { AuthStatus } from './auth-enums'\r\n\r\n// Retry configuration for micro frontend initialization\r\nconst MAX_RETRIES = 20\r\nconst RETRY_DELAY = 500 // ms\r\n\r\n/**\r\n * Authentication Manager for Micro Frontends\r\n * Manages connection to global auth state via window object\r\n */\r\nclass MicroFrontendAuth {\r\n private microFrontendId: string\r\n private authData: AuthEventData = defaultAuthData\r\n private listeners: AuthEventListener[] = []\r\n private retryCount = 0\r\n private isInitialized = false\r\n private initPromise: Promise<void> | null = null\r\n\r\n constructor(microFrontendId: string) {\r\n this.microFrontendId = microFrontendId\r\n this.initialize()\r\n }\r\n\r\n /**\r\n * Initialize connection to global auth manager\r\n */\r\n private async initialize(): Promise<void> {\r\n if (this.initPromise) {\r\n return this.initPromise\r\n }\r\n\r\n this.initPromise = this.tryInitialize()\r\n return this.initPromise\r\n }\r\n\r\n private async tryInitialize(): Promise<void> {\r\n return new Promise((resolve, reject) => {\r\n const attemptConnection = () => {\r\n if (typeof window !== 'undefined' && (window as any).__AUTH_MFE__) {\r\n this.setupConnection()\r\n this.isInitialized = true\r\n resolve()\r\n } else if (this.retryCount < MAX_RETRIES) {\r\n this.retryCount++\r\n setTimeout(attemptConnection, RETRY_DELAY)\r\n } else {\r\n reject(new Error('Failed to connect to global auth manager'))\r\n }\r\n }\r\n\r\n attemptConnection()\r\n })\r\n }\r\n\r\n /**\r\n * Setup connection to global auth manager\r\n */\r\n private setupConnection(): void {\r\n if (typeof window === 'undefined' || !(window as any).__AUTH_MFE__) {\r\n return\r\n }\r\n\r\n // Subscribe to auth changes\r\n const globalAuth = (window as any).__AUTH_MFE__\r\n globalAuth.subscribe(this.microFrontendId, this.handleAuthChange.bind(this))\r\n\r\n // Listen for auth responses\r\n window.addEventListener('auth:response', this.handleAuthResponse.bind(this))\r\n window.addEventListener('auth:stateChanged', this.handleStateChanged.bind(this))\r\n\r\n // Request current auth state\r\n this.requestAuthState()\r\n }\r\n\r\n /**\r\n * Handle authentication state changes from global manager\r\n */\r\n private handleAuthChange(data: AuthEventData): void {\r\n this.authData = { ...data, microFrontendId: this.microFrontendId }\r\n this.notifyListeners()\r\n }\r\n\r\n /**\r\n * Handle auth response events\r\n */\r\n private handleAuthResponse(event: Event): void {\r\n const customEvent = event as CustomEvent\r\n const data = customEvent.detail\r\n\r\n if (data && data.microFrontendId === this.microFrontendId) {\r\n this.authData = data\r\n this.notifyListeners()\r\n }\r\n }\r\n\r\n /**\r\n * Handle global auth state changes\r\n */\r\n private handleStateChanged(event: Event): void {\r\n const customEvent = event as CustomEvent\r\n const data = customEvent.detail\r\n\r\n if (data) {\r\n this.authData = { ...data, microFrontendId: this.microFrontendId }\r\n this.notifyListeners()\r\n }\r\n }\r\n\r\n /**\r\n * Request current authentication state\r\n */\r\n private requestAuthState(): void {\r\n window.dispatchEvent(\r\n new CustomEvent('auth:request', {\r\n detail: { microFrontendId: this.microFrontendId, timestamp: Date.now() }\r\n })\r\n )\r\n }\r\n\r\n /**\r\n * Notify all listeners of auth changes\r\n */\r\n private notifyListeners(): void {\r\n this.listeners.forEach((listener) => {\r\n try {\r\n listener(this.authData)\r\n } catch (error) {\r\n console.error(`Auth MFE: Error in listener for ${this.microFrontendId}:`, error)\r\n }\r\n })\r\n }\r\n\r\n /**\r\n * Subscribe to authentication changes\r\n */\r\n subscribe(listener: AuthEventListener): () => void {\r\n this.listeners.push(listener)\r\n\r\n // Immediately provide current auth state if available\r\n if (this.isInitialized) {\r\n listener(this.authData)\r\n }\r\n\r\n // Return unsubscribe function\r\n return () => {\r\n const index = this.listeners.indexOf(listener)\r\n if (index > -1) {\r\n this.listeners.splice(index, 1)\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Get current authentication data\r\n */\r\n getAuthData(): AuthEventData {\r\n return { ...this.authData }\r\n }\r\n\r\n /**\r\n * Request login from host application\r\n */\r\n requestLogin(): void {\r\n window.dispatchEvent(\r\n new CustomEvent('auth:login', {\r\n detail: { microFrontendId: this.microFrontendId, timestamp: Date.now() }\r\n })\r\n )\r\n }\r\n\r\n /**\r\n * Request logout from host application\r\n */\r\n requestLogout(): void {\r\n window.dispatchEvent(\r\n new CustomEvent('auth:logout', {\r\n detail: { microFrontendId: this.microFrontendId, timestamp: Date.now() }\r\n })\r\n )\r\n }\r\n\r\n /**\r\n * Check if connected to global auth manager\r\n */\r\n isConnected(): boolean {\r\n return this.isInitialized && typeof window !== 'undefined' && !!(window as any).__AUTH_MFE__\r\n }\r\n\r\n /**\r\n * Get debug information\r\n */\r\n getDebugInfo() {\r\n return {\r\n microFrontendId: this.microFrontendId,\r\n isInitialized: this.isInitialized,\r\n isConnected: this.isConnected(),\r\n retryCount: this.retryCount,\r\n authData: this.authData,\r\n listenerCount: this.listeners.length,\r\n globalAvailable: typeof window !== 'undefined' && !!(window as any).__AUTH_MFE__\r\n }\r\n }\r\n\r\n /**\r\n * Cleanup when component unmounts\r\n */\r\n destroy(): void {\r\n this.listeners = []\r\n if (typeof window !== 'undefined') {\r\n window.removeEventListener('auth:response', this.handleAuthResponse.bind(this))\r\n window.removeEventListener('auth:stateChanged', this.handleStateChanged.bind(this))\r\n }\r\n }\r\n}\r\n\r\n// Cache for auth instances to prevent multiple instances for same ID\r\nconst authInstances = new Map<string, MicroFrontendAuth>()\r\n\r\n/**\r\n * Get or create auth instance for micro frontend\r\n */\r\nfunction getAuthInstance(microFrontendId: string): MicroFrontendAuth {\r\n if (!authInstances.has(microFrontendId)) {\r\n authInstances.set(microFrontendId, new MicroFrontendAuth(microFrontendId))\r\n }\r\n return authInstances.get(microFrontendId)!\r\n}\r\n\r\n/**\r\n * React Hook for Micro Frontend Authentication\r\n * Primary hook for function components\r\n */\r\nexport function useMicroFrontendAuth(microFrontendId: string) {\r\n const [authData, setAuthData] = useState<AuthEventData>(defaultAuthData)\r\n const [isLoading, setIsLoading] = useState(true)\r\n\r\n const authInstance = getAuthInstance(microFrontendId)\r\n\r\n useEffect(() => {\r\n const unsubscribe = authInstance.subscribe((data) => {\r\n setAuthData(data)\r\n setIsLoading(false)\r\n })\r\n\r\n return () => {\r\n unsubscribe()\r\n }\r\n }, [authInstance])\r\n\r\n const login = useCallback(() => {\r\n authInstance.requestLogin()\r\n }, [authInstance])\r\n\r\n const logout = useCallback(() => {\r\n authInstance.requestLogout()\r\n }, [authInstance])\r\n\r\n return {\r\n // Auth status\r\n isAuthenticated: authData.status === AuthStatus.AUTHENTICATED,\r\n isLoading: isLoading || authData.status === AuthStatus.LOADING,\r\n isAuthenticating: authData.status === AuthStatus.AUTHENTICATING,\r\n hasError: authData.status === AuthStatus.ERROR,\r\n\r\n // User data\r\n displayName: authData.displayName,\r\n email: authData.email,\r\n userId: authData.userId,\r\n avatar: authData.avatar,\r\n profile: authData.profile,\r\n\r\n // Status and error\r\n status: authData.status,\r\n error: authData.error,\r\n timestamp: authData.timestamp,\r\n\r\n // Actions\r\n login,\r\n logout,\r\n\r\n // Raw data and debug\r\n authData,\r\n isConnected: authInstance.isConnected(),\r\n debugInfo: authInstance.getDebugInfo()\r\n }\r\n}\r\n\r\n/**\r\n * React Hook for Authentication Actions Only\r\n * Lightweight hook for components that only need actions\r\n */\r\nexport function useMicroFrontendAuthActions(microFrontendId: string) {\r\n const authInstance = getAuthInstance(microFrontendId)\r\n\r\n const login = useCallback(() => {\r\n authInstance.requestLogin()\r\n }, [authInstance])\r\n\r\n const logout = useCallback(() => {\r\n authInstance.requestLogout()\r\n }, [authInstance])\r\n\r\n return { login, logout }\r\n}\r\n\r\n/**\r\n * Consumer Component for Class Components or Render Props Pattern\r\n */\r\ninterface MicroFrontendAuthConsumerProps {\r\n microFrontendId: string\r\n children: (authData: ReturnType<typeof useMicroFrontendAuth>) => React.ReactNode\r\n}\r\n\r\nexport function MicroFrontendAuthConsumer({ microFrontendId, children }: MicroFrontendAuthConsumerProps) {\r\n const authData = useMicroFrontendAuth(microFrontendId)\r\n return <>{children(authData)}</>\r\n}\r\n\r\n/**\r\n * Higher-Order Component for Class Components\r\n */\r\nexport function withMicroFrontendAuth<P extends object>(\r\n Component: React.ComponentType<P & { auth: ReturnType<typeof useMicroFrontendAuth> }>,\r\n microFrontendId: string\r\n) {\r\n return function WrappedComponent(props: P) {\r\n const auth = useMicroFrontendAuth(microFrontendId)\r\n return <Component {...props} auth={auth} />\r\n }\r\n}\r\n\r\n/**\r\n * Utility functions for non-React contexts\r\n */\r\nexport const microFrontendAuthUtils = {\r\n /**\r\n * Get current auth state synchronously\r\n */\r\n getCurrentAuth: (microFrontendId: string): AuthEventData => {\r\n const authInstance = getAuthInstance(microFrontendId)\r\n return authInstance.getAuthData()\r\n },\r\n\r\n /**\r\n * Request login from any context\r\n */\r\n requestLogin: (microFrontendId: string): void => {\r\n const authInstance = getAuthInstance(microFrontendId)\r\n authInstance.requestLogin()\r\n },\r\n\r\n /**\r\n * Request logout from any context\r\n */\r\n requestLogout: (microFrontendId: string): void => {\r\n const authInstance = getAuthInstance(microFrontendId)\r\n authInstance.requestLogout()\r\n },\r\n\r\n /**\r\n * Create or get auth instance\r\n */\r\n createAuthInstance: (microFrontendId: string): MicroFrontendAuth => {\r\n return getAuthInstance(microFrontendId)\r\n }\r\n}\r\n\r\n/**\r\n * Debug component for micro frontends\r\n */\r\ninterface MicroFrontendAuthDebugProps {\r\n microFrontendId: string\r\n position?: Pick<CSSProperties, 'top' | 'left' | 'right' | 'bottom'>\r\n}\r\n\r\nexport const MicroFrontendAuthDebug: FC<MicroFrontendAuthDebugProps> = ({ microFrontendId, position = { bottom: '60px', left: '10px' } }) => {\r\n const { debugInfo, authData, isConnected } = useMicroFrontendAuth(microFrontendId)\r\n\r\n // Only show in development\r\n if (process.env.NODE_ENV === 'production') {\r\n return null\r\n }\r\n\r\n return (\r\n <div\r\n style={{\r\n position: 'fixed',\r\n background: 'rgba(0, 0, 0, 0.8)',\r\n color: 'white',\r\n padding: '10px',\r\n borderRadius: '5px',\r\n fontSize: '12px',\r\n fontFamily: 'monospace',\r\n maxWidth: '300px',\r\n zIndex: 9998,\r\n ...position\r\n }}\r\n >\r\n <div style={{ fontWeight: 'bold', marginBottom: '5px' }}>🔗 Auth MFE Debug ({microFrontendId})</div>\r\n <div>Status: {authData.status}</div>\r\n <div>User: {authData.displayName || 'None'}</div>\r\n <div>Connected: {isConnected ? '✅' : '❌'}</div>\r\n <div>Initialized: {debugInfo.isInitialized ? '✅' : '❌'}</div>\r\n <div>Retries: {debugInfo.retryCount}</div>\r\n <div>Listeners: {debugInfo.listenerCount}</div>\r\n </div>\r\n )\r\n}\r\n\r\nexport { MicroFrontendAuth }\r\n"],"names":["MicroFrontendAuth","_createClass","microFrontendId","_classCallCheck","_defineProperty","defaultAuthData","this","initialize","key","value","_initialize","_asyncToGenerator","_regenerator","m","_callee","w","_context","n","initPromise","a","tryInitialize","apply","arguments","_tryInitialize","_callee2","_this","_context2","Promise","resolve","reject","attemptConnection","window","__AUTH_MFE__","setupConnection","isInitialized","retryCount","setTimeout","Error","subscribe","handleAuthChange","bind","addEventListener","handleAuthResponse","handleStateChanged","requestAuthState","data","authData","_objectSpread","notifyListeners","event","detail","dispatchEvent","CustomEvent","timestamp","Date","now","_this2","listeners","forEach","listener","error","console","concat","_this3","push","index","indexOf","splice","isConnected","listenerCount","length","globalAvailable","removeEventListener","authInstances","Map","getAuthInstance","has","set","get","useMicroFrontendAuth","_useState","useState","_useState2","_slicedToArray","setAuthData","_useState3","_useState4","isLoading","setIsLoading","authInstance","useEffect","unsubscribe","login","useCallback","requestLogin","logout","requestLogout","isAuthenticated","status","AuthStatus","AUTHENTICATED","LOADING","isAuthenticating","AUTHENTICATING","hasError","ERROR","displayName","email","userId","avatar","profile","debugInfo","getDebugInfo","useMicroFrontendAuthActions","MicroFrontendAuthConsumer","_ref","children","_jsx","withMicroFrontendAuth","Component","props","auth","microFrontendAuthUtils","getCurrentAuth","getAuthData","createAuthInstance","MicroFrontendAuthDebug","_ref2","_ref2$position","position","bottom","left","_useMicroFrontendAuth","process","env","NODE_ENV","_jsxs","style","background","color","padding","borderRadius","fontSize","fontFamily","maxWidth","zIndex","fontWeight","marginBottom"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export{MfeNavigateDebugPanel}from"./mfe-navigate.debug.js";export{MfeLink,useMfeNavigate}from"./mfe-navigate.remote.js";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ import{slicedToArray as t,toConsumableArray as e}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsxs as o,jsx as n}from"react/jsx-runtime";import{useState as i,useEffect as r}from"react";var a=function(){var a=i([]),l=t(a,2),s=l[0],d=l[1];return r((function(){var t=function(t){var o=t.detail,n=o.to,i=o.options;d((function(t){return[{to:n,options:i}].concat(e(t.slice(0,9)))}))};return globalThis.addEventListener("mfe:navigate",t),function(){return globalThis.removeEventListener("mfe:navigate",t)}}),[]),o("div",{style:{position:"fixed",bottom:16,left:16,background:"rgba(0,0,0,0.8)",color:"#fff",padding:12,borderRadius:8,fontSize:12,zIndex:9999,maxWidth:320,maxHeight:240,overflowY:"auto",boxShadow:"0 2px 8px rgba(0,0,0,0.2)"},children:[n("div",{style:{fontWeight:"bold",marginBottom:8},children:"MFE Navigate Debug"}),0===s.length?n("div",{style:{opacity:.7},children:"No navigation events"}):n("ul",{style:{margin:0,padding:0,listStyle:"none"},children:s.map((function(t,e){var i;return o("li",{style:{marginBottom:4},children:[n("span",{style:{color:"#90ee90"},children:t.to}),(null===(i=t.options)||void 0===i?void 0:i.target)&&o("span",{style:{color:"#87ceeb",marginLeft:8},children:["(",t.options.target,")"]})]},e)}))})]})};export{a as MfeNavigateDebugPanel};
2
+ //# sourceMappingURL=mfe-navigate.debug.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mfe-navigate.debug.js","sources":["../../src/mfe-modules/mfe-navigate.debug.tsx"],"sourcesContent":["import React, { useEffect, useState } from 'react'\r\nimport type { MfeNavigate } from './types'\r\n\r\nconst MAX_EVENTS = 10\r\n\r\nexport const MfeNavigateDebugPanel: React.FC = () => {\r\n const [debugEvents, setDebugEvents] = useState<MfeNavigate[]>([])\r\n\r\n useEffect(() => {\r\n const handleNavigate = (e: CustomEvent) => {\r\n const { to, options } = e.detail as MfeNavigate\r\n setDebugEvents((events) => [{ to, options }, ...events.slice(0, MAX_EVENTS - 1)])\r\n }\r\n globalThis.addEventListener('mfe:navigate', handleNavigate as EventListener)\r\n return () => globalThis.removeEventListener('mfe:navigate', handleNavigate as EventListener)\r\n }, [])\r\n\r\n return (\r\n <div\r\n style={{\r\n position: 'fixed',\r\n bottom: 16,\r\n left: 16,\r\n background: 'rgba(0,0,0,0.8)',\r\n color: '#fff',\r\n padding: 12,\r\n borderRadius: 8,\r\n fontSize: 12,\r\n zIndex: 9999,\r\n maxWidth: 320,\r\n maxHeight: 240,\r\n overflowY: 'auto',\r\n boxShadow: '0 2px 8px rgba(0,0,0,0.2)'\r\n }}\r\n >\r\n <div style={{ fontWeight: 'bold', marginBottom: 8 }}>MFE Navigate Debug</div>\r\n {debugEvents.length === 0 ? (\r\n <div style={{ opacity: 0.7 }}>No navigation events</div>\r\n ) : (\r\n <ul style={{ margin: 0, padding: 0, listStyle: 'none' }}>\r\n {debugEvents.map((ev, idx) => (\r\n <li key={idx} style={{ marginBottom: 4 }}>\r\n <span style={{ color: '#90ee90' }}>{ev.to}</span>\r\n {ev.options?.target && <span style={{ color: '#87ceeb', marginLeft: 8 }}>({ev.options.target})</span>}\r\n </li>\r\n ))}\r\n </ul>\r\n )}\r\n </div>\r\n )\r\n}\r\n"],"names":["MfeNavigateDebugPanel","_useState","useState","_useState2","_slicedToArray","debugEvents","setDebugEvents","useEffect","handleNavigate","e","_e$detail","detail","to","options","events","concat","_toConsumableArray","slice","MAX_EVENTS","globalThis","addEventListener","removeEventListener","_jsxs","style","position","bottom","left","background","color","padding","borderRadius","fontSize","zIndex","maxWidth","maxHeight","overflowY","boxShadow","children","_jsx","fontWeight","marginBottom","length","opacity","margin","listStyle","map","ev","idx","_ev$options","target","marginLeft"],"mappings":"kMAGA,IAEaA,EAAkC,WAC7C,IAAAC,EAAsCC,EAAwB,IAAGC,EAAAC,EAAAH,EAAA,GAA1DI,EAAWF,EAAA,GAAEG,EAAcH,EAAA,GAWlC,OATAI,GAAU,WACR,IAAMC,EAAiB,SAACC,GACtB,IAAAC,EAAwBD,EAAEE,OAAlBC,EAAEF,EAAFE,GAAIC,EAAOH,EAAPG,QACZP,GAAe,SAACQ,GAAM,MAAM,CAAA,CAAEF,GAAAA,EAAIC,QAAAA,IAASE,OAAAC,EAAKF,EAAOG,MAAM,EAAGC,IAAe,GAChF,EAED,OADAC,WAAWC,iBAAiB,eAAgBZ,GACrC,WAAA,OAAMW,WAAWE,oBAAoB,eAAgBb,EAAgC,CAC7F,GAAE,IAGDc,EACE,MAAA,CAAAC,MAAO,CACLC,SAAU,QACVC,OAAQ,GACRC,KAAM,GACNC,WAAY,kBACZC,MAAO,OACPC,QAAS,GACTC,aAAc,EACdC,SAAU,GACVC,OAAQ,KACRC,SAAU,IACVC,UAAW,IACXC,UAAW,OACXC,UAAW,6BAGbC,SAAA,CAAAC,EAAA,MAAA,CAAKf,MAAO,CAAEgB,WAAY,OAAQC,aAAc,GAAGH,SAAA,uBAC3B,IAAvBhC,EAAYoC,OACXH,EAAK,MAAA,CAAAf,MAAO,CAAEmB,QAAS,IAAiCL,SAAA,yBAExDC,EAAI,KAAA,CAAAf,MAAO,CAAEoB,OAAQ,EAAGd,QAAS,EAAGe,UAAW,QAC5CP,SAAAhC,EAAYwC,KAAI,SAACC,EAAIC,GAAG,IAAAC,EAAA,OACvB1B,EAAA,KAAA,CAAcC,MAAO,CAAEiB,aAAc,GAAGH,SAAA,CACtCC,EAAM,OAAA,CAAAf,MAAO,CAAEK,MAAO,WAAcS,SAAAS,EAAGlC,MAC5B,QAAVoC,EAAAF,EAAGjC,eAAO,IAAAmC,OAAA,EAAVA,EAAYC,SAAU3B,EAAM,OAAA,CAAAC,MAAO,CAAEK,MAAO,UAAWsB,WAAY,GAAOb,SAAA,CAAA,IAAAS,EAAGjC,QAAQoC,OAAe,SAF9FF,EAIV,QAKX"}
@@ -0,0 +1,2 @@
1
+ import{objectWithoutProperties as t,objectSpread2 as e}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsx as n}from"react/jsx-runtime";var r=["to","isInternal"],a=function(){return{navigate:function(t){globalThis.dispatchEvent(new CustomEvent("mfe:navigate",{detail:t}))}}},i=function(i){var o=i.to,l=i.isInternal,u=t(i,r),s=a().navigate;return n("a",e(e({},u),{},{href:o,onClick:function(t){o&&l&&(t.preventDefault(),s({to:o}))}}))};export{i as MfeLink,a as useMfeNavigate};
2
+ //# sourceMappingURL=mfe-navigate.remote.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mfe-navigate.remote.js","sources":["../../src/mfe-modules/mfe-navigate.remote.tsx"],"sourcesContent":["import React, { AnchorHTMLAttributes, FC } from 'react'\r\nimport type { MfeNavigate } from './types'\r\n\r\nexport const useMfeNavigate = () => {\r\n const navigate = (params: MfeNavigate) => {\r\n globalThis.dispatchEvent(new CustomEvent('mfe:navigate', { detail: params }))\r\n }\r\n return { navigate }\r\n}\r\n\r\nexport interface IMfeLinkProps extends Omit<AnchorHTMLAttributes<HTMLAnchorElement>, 'href'> {\r\n to?: string\r\n isInternal?: boolean\r\n}\r\n\r\nexport const MfeLink: FC<IMfeLinkProps> = (props) => {\r\n const { to, isInternal, ...rest } = props\r\n const { navigate } = useMfeNavigate()\r\n\r\n const handleClick = (e: React.MouseEvent<HTMLAnchorElement>) => {\r\n if (to && isInternal) {\r\n e.preventDefault()\r\n navigate({ to })\r\n }\r\n }\r\n\r\n return <a {...rest} href={to} onClick={handleClick} />\r\n}\r\n"],"names":["useMfeNavigate","navigate","params","globalThis","dispatchEvent","CustomEvent","detail","MfeLink","props","to","isInternal","rest","_objectWithoutProperties","_excluded","_jsx","_objectSpread","href","onClick","e","preventDefault"],"mappings":"wKAGaA,EAAiB,WAI5B,MAAO,CAAEC,SAHQ,SAACC,GAChBC,WAAWC,cAAc,IAAIC,YAAY,eAAgB,CAAEC,OAAQJ,IACpE,EAEH,EAOaK,EAA6B,SAACC,GACzC,IAAQC,EAA4BD,EAA5BC,GAAIC,EAAwBF,EAAxBE,WAAeC,EAAIC,EAAKJ,EAAKK,GACjCZ,EAAaD,IAAbC,SASR,OAAOa,EAAA,IAAAC,EAAAA,KAAOJ,GAAI,GAAA,CAAEK,KAAMP,EAAIQ,QAPV,SAACC,GACfT,GAAMC,IACRQ,EAAEC,iBACFlB,EAAS,CAAEQ,GAAAA,IAEd,IAGH"}
@@ -0,0 +1,2 @@
1
+ export{MfeNavigateNextProvider}from"./provider.js";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ import{jsx as r,Fragment as e}from"react/jsx-runtime";var t=function(){return r(e,{children:"Next Provider"})};export{t as MfeNavigateNextProvider};
2
+ //# sourceMappingURL=provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.js","sources":["../../../src/mfe-modules/nextjs/provider.tsx"],"sourcesContent":["import { FC } from 'react'\r\n\r\nexport const MfeNavigateNextProvider: FC = () => {\r\n return <>Next Provider</>\r\n}\r\n"],"names":["MfeNavigateNextProvider","_jsx"],"mappings":"0DAEaA,EAA8B,WACzC,OAAOC,+BACT"}
@@ -0,0 +1,2 @@
1
+ export{MfeNavigateReactProvider}from"./provider.js";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ import{jsx as e,Fragment as t}from"react/jsx-runtime";import{useEffect as n}from"react";var r=function(){var r=function(){try{return require("react-router-dom").useNavigate()}catch(e){return console.warn("react-router-dom not available, using fallback"),function(){console.warn("Navigate function is not available. Please ensure react-router-dom is installed.")}}}();return n((function(){var e=function(e){var t=e.detail,n=t.to,a=t.options;n&&("_blank"!==(null==a?void 0:a.target)?r(n,a):globalThis.open("".concat(n),"_blank"))};return globalThis.addEventListener("mfe:navigate",e),function(){return globalThis.removeEventListener("mfe:navigate",e)}}),[r]),e(t,{})};export{r as MfeNavigateReactProvider};
2
+ //# sourceMappingURL=provider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.js","sources":["../../../src/mfe-modules/react/provider.tsx"],"sourcesContent":["import React, { FC, useEffect } from 'react'\r\nimport { MfeNavigate } from '../types'\r\n\r\n// Define types to avoid direct imports\r\nexport type NavigateFunction = (path: string, options?: any) => void\r\n\r\n// Use hook-style functions that don't directly import from react-router-dom\r\nfunction useReactNavigate(): NavigateFunction {\r\n try {\r\n // @ts-ignore - Ignore TS errors during build time\r\n return require('react-router-dom').useNavigate()\r\n } catch (error) {\r\n console.warn('react-router-dom not available, using fallback')\r\n // Provide fallback implementation\r\n return () => {\r\n console.warn('Navigate function is not available. Please ensure react-router-dom is installed.')\r\n }\r\n }\r\n}\r\n\r\nexport const MfeNavigateReactProvider: FC = () => {\r\n const navigate = useReactNavigate()\r\n\r\n useEffect(() => {\r\n const handleNavigate = (e: CustomEvent) => {\r\n const { to, options } = e.detail as MfeNavigate\r\n if (!to) return\r\n if (options?.target === '_blank') {\r\n globalThis.open(`${to}`, '_blank')\r\n return\r\n }\r\n navigate(to, options)\r\n }\r\n globalThis.addEventListener('mfe:navigate', handleNavigate as EventListener)\r\n return () => globalThis.removeEventListener('mfe:navigate', handleNavigate as EventListener)\r\n }, [navigate])\r\n return <></>\r\n}\r\n"],"names":["MfeNavigateReactProvider","navigate","require","useNavigate","error","console","warn","useReactNavigate","useEffect","handleNavigate","e","_e$detail","detail","to","options","target","globalThis","open","concat","addEventListener","removeEventListener","_jsx"],"mappings":"4FAoBaA,EAA+B,WAC1C,IAAMC,EAdR,WACE,IAEE,OAAOC,QAAQ,oBAAoBC,aACpC,CAAC,MAAOC,GAGP,OAFAC,QAAQC,KAAK,kDAEN,WACLD,QAAQC,KAAK,mFACd,CACF,CACH,CAGmBC,GAejB,OAbAC,GAAU,WACR,IAAMC,EAAiB,SAACC,GACtB,IAAAC,EAAwBD,EAAEE,OAAlBC,EAAEF,EAAFE,GAAIC,EAAOH,EAAPG,QACPD,IACmB,YAApBC,aAAO,EAAPA,EAASC,QAIbd,EAASY,EAAIC,GAHXE,WAAWC,KAAIC,GAAAA,OAAIL,GAAM,UAI5B,EAED,OADAG,WAAWG,iBAAiB,eAAgBV,GACrC,WAAA,OAAMO,WAAWI,oBAAoB,eAAgBX,EAAgC,CAC9F,GAAG,CAACR,IACGoB,OACT"}
@@ -0,0 +1,2 @@
1
+ export{ELazyStatus}from"./types.js";export{default as DinoRedux}from"./dino.js";export{default as CreateHocLazy,EmptyComponent,defaultOptionHocLazy}from"./create.hoc-lazy.js";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,2 +1,2 @@
1
- import{objectWithoutProperties as t,objectSpread2 as o}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsx as r,jsxs as e}from"react/jsx-runtime";import{styled as i,Box as n,Button as a,Stack as l,Typography as c}from"@mui/material";import m from"@mui/icons-material/ArrowRightAlt";import s from"../assets/vector-404.webp.js";var p=["children"],d=function(){return e(l,{sx:{alignItems:"center",paddingBottom:"64px"},children:[r(u,{children:r("img",{src:s,alt:"error-404-vector"})}),r(c,{variant:"subtitle1",component:"p",sx:{textAlign:"center",mt:"20px"},children:"Sorry, page not found or connection to server lost. Please come back later...."}),r(h,{href:"/",children:"Back to home page"})]})},u=i((function(e){var i=e.children,a=t(e,p);return r(n,o(o({},a),{},{children:r("div",{children:i})}))}))({width:"100%",maxWidth:"560px",flex:"0 0 auto","& > div":{width:"100%",paddingBottom:"100%",position:"relative"},"& img":{position:"absolute",top:0,left:0,width:"100%",height:"100%"}}),h=i((function(t){return r(a,o({component:"a",color:"inherit",variant:"contained",size:"large",endIcon:r(m,{fontSize:"small"})},t))}))({backgroundColor:"var(--color-black)",color:"var(--color-text-light)",minWidth:"250px",marginTop:"24px",height:"56px",textTransform:"none",fontWeight:600,transition:"0.3s","&:hover":{backgroundColor:"var(--color-black2)",color:"var(--color-text-light)"},"& .MuiButton-icon.MuiButton-endIcon":{transition:"0.3s"},"&:hover .MuiButton-icon.MuiButton-endIcon":{marginLeft:"16px"}});export{d as default};
1
+ import{objectWithoutProperties as t,objectSpread2 as o}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsx as r,jsxs as e}from"react/jsx-runtime";import{styled as i,Box as n,Button as a,Stack as l,Typography as c}from"@mui/material";import m from"@mui/icons-material/ArrowRightAlt";var d=["children"],p=function(){return e(l,{sx:{alignItems:"center",paddingBottom:"64px"},children:[r(u,{children:r("img",{src:"images/vector-404.webp",alt:"error-404-vector"})}),r(c,{variant:"subtitle1",component:"p",sx:{textAlign:"center",mt:"20px"},children:"Sorry, page not found or connection to server lost. Please come back later...."}),r(h,{href:"/",children:"Back to home page"})]})},u=i((function(e){var i=e.children,a=t(e,d);return r(n,o(o({},a),{},{children:r("div",{children:i})}))}))({width:"100%",maxWidth:"560px",flex:"0 0 auto","& > div":{width:"100%",paddingBottom:"100%",position:"relative"},"& img":{position:"absolute",top:0,left:0,width:"100%",height:"100%"}}),h=i((function(t){return r(a,o({component:"a",color:"inherit",variant:"contained",size:"large",endIcon:r(m,{fontSize:"small"})},t))}))({backgroundColor:"var(--color-black)",color:"var(--color-text-light)",minWidth:"250px",marginTop:"24px",height:"56px",textTransform:"none",fontWeight:600,transition:"0.3s","&:hover":{backgroundColor:"var(--color-black2)",color:"var(--color-text-light)"},"& .MuiButton-icon.MuiButton-endIcon":{transition:"0.3s"},"&:hover .MuiButton-icon.MuiButton-endIcon":{marginLeft:"16px"}});export{p as default};
2
2
  //# sourceMappingURL=ui.error-page.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ui.error-page.js","sources":["../../src/redux/ui.error-page.tsx"],"sourcesContent":["import React, { FC } from 'react'\r\nimport { Box, BoxProps, Button, ButtonProps, Stack, styled, Typography } from '@mui/material'\r\nimport ArrowRightAltIcon from '@mui/icons-material/ArrowRightAlt'\r\nimport error404 from '../assets/vector-404.webp'\r\n\r\nconst UIErrorPage: FC = () => (\r\n <Stack sx={{ alignItems: 'center', paddingBottom: '64px' }}>\r\n <WrapImage>\r\n <img src={error404} alt='error-404-vector' />\r\n </WrapImage>\r\n <Typography variant='subtitle1' component='p' sx={{ textAlign: 'center', mt: '20px' }}>\r\n Sorry, page not found or connection to server lost. Please come back later....\r\n </Typography>\r\n <CustomButton href='/'>Back to home page</CustomButton>\r\n </Stack>\r\n)\r\nexport default UIErrorPage\r\n\r\nconst WrapImage = styled(({ children, ...props }: BoxProps) => (\r\n <Box {...props}>\r\n <div>{children}</div>\r\n </Box>\r\n))({\r\n width: '100%',\r\n maxWidth: '560px',\r\n flex: '0 0 auto',\r\n '& > div': {\r\n width: '100%',\r\n paddingBottom: '100%',\r\n position: 'relative'\r\n },\r\n '& img': {\r\n position: 'absolute',\r\n top: 0,\r\n left: 0,\r\n width: '100%',\r\n height: '100%'\r\n }\r\n})\r\n\r\nconst CustomButton = styled((p: ButtonProps & { href: string }) => {\r\n return <Button component='a' color='inherit' variant='contained' size='large' endIcon={<ArrowRightAltIcon fontSize='small' />} {...p} />\r\n})({\r\n backgroundColor: 'var(--color-black)',\r\n color: 'var(--color-text-light)',\r\n minWidth: '250px',\r\n marginTop: '24px',\r\n height: '56px',\r\n textTransform: 'none',\r\n fontWeight: 600,\r\n transition: '0.3s',\r\n '&:hover': {\r\n backgroundColor: 'var(--color-black2)',\r\n color: 'var(--color-text-light)'\r\n },\r\n '& .MuiButton-icon.MuiButton-endIcon': {\r\n transition: '0.3s'\r\n },\r\n '&:hover .MuiButton-icon.MuiButton-endIcon': {\r\n marginLeft: '16px'\r\n }\r\n})\r\n"],"names":["UIErrorPage","_jsxs","Stack","sx","alignItems","paddingBottom","children","_jsx","WrapImage","src","error404","alt","Typography","variant","component","textAlign","mt","CustomButton","href","styled","_ref","props","_objectWithoutProperties","_excluded","Box","_objectSpread","width","maxWidth","flex","position","top","left","height","p","Button","color","size","endIcon","ArrowRightAltIcon","fontSize","backgroundColor","minWidth","marginTop","textTransform","fontWeight","transition","marginLeft"],"mappings":"+VAKMA,EAAkB,WAAP,OACfC,EAACC,EAAK,CAACC,GAAI,CAAEC,WAAY,SAAUC,cAAe,QAChDC,SAAA,CAAAC,EAACC,EACC,CAAAF,SAAAC,EAAA,MAAA,CAAKE,IAAKC,EAAUC,IAAI,uBAE1BJ,EAACK,EAAU,CAACC,QAAQ,YAAYC,UAAU,IAAIX,GAAI,CAAEY,UAAW,SAAUC,GAAI,QAAQV,SAAA,mFAGrFC,EAACU,EAAa,CAAAC,KAAK,IAAoCZ,SAAA,wBACjD,EAIJE,EAAYW,GAAO,SAAAC,GAAA,IAAGd,EAAQc,EAARd,SAAae,EAAKC,EAAAF,EAAAG,GAAA,OAC5ChB,EAACiB,EAAGC,EAAAA,KAAKJ,GAAK,GAAA,CAAAf,SACZC,EAAM,MAAA,CAAAD,SAAAA,MACF,GAHUa,CAIf,CACDO,MAAO,OACPC,SAAU,QACVC,KAAM,WACN,UAAW,CACTF,MAAO,OACPrB,cAAe,OACfwB,SAAU,YAEZ,QAAS,CACPA,SAAU,WACVC,IAAK,EACLC,KAAM,EACNL,MAAO,OACPM,OAAQ,UAINf,EAAeE,GAAO,SAACc,GAC3B,OAAO1B,EAAC2B,EAAMT,EAAA,CAACX,UAAU,IAAIqB,MAAM,UAAUtB,QAAQ,YAAYuB,KAAK,QAAQC,QAAS9B,EAAC+B,EAAiB,CAACC,SAAS,WAAgBN,GACrI,GAFqBd,CAElB,CACDqB,gBAAiB,qBACjBL,MAAO,0BACPM,SAAU,QACVC,UAAW,OACXV,OAAQ,OACRW,cAAe,OACfC,WAAY,IACZC,WAAY,OACZ,UAAW,CACTL,gBAAiB,sBACjBL,MAAO,2BAET,sCAAuC,CACrCU,WAAY,QAEd,4CAA6C,CAC3CC,WAAY"}
1
+ {"version":3,"file":"ui.error-page.js","sources":["../../src/redux/ui.error-page.tsx"],"sourcesContent":["import React, { FC } from 'react'\r\nimport { Box, BoxProps, Button, ButtonProps, Stack, styled, Typography } from '@mui/material'\r\nimport ArrowRightAltIcon from '@mui/icons-material/ArrowRightAlt'\r\n\r\nconst UIErrorPage: FC = () => (\r\n <Stack sx={{ alignItems: 'center', paddingBottom: '64px' }}>\r\n <WrapImage>\r\n <img src='images/vector-404.webp' alt='error-404-vector' />\r\n </WrapImage>\r\n <Typography variant='subtitle1' component='p' sx={{ textAlign: 'center', mt: '20px' }}>\r\n Sorry, page not found or connection to server lost. Please come back later....\r\n </Typography>\r\n <CustomButton href='/'>Back to home page</CustomButton>\r\n </Stack>\r\n)\r\nexport default UIErrorPage\r\n\r\nconst WrapImage = styled(({ children, ...props }: BoxProps) => (\r\n <Box {...props}>\r\n <div>{children}</div>\r\n </Box>\r\n))({\r\n width: '100%',\r\n maxWidth: '560px',\r\n flex: '0 0 auto',\r\n '& > div': {\r\n width: '100%',\r\n paddingBottom: '100%',\r\n position: 'relative'\r\n },\r\n '& img': {\r\n position: 'absolute',\r\n top: 0,\r\n left: 0,\r\n width: '100%',\r\n height: '100%'\r\n }\r\n})\r\n\r\nconst CustomButton = styled((p: ButtonProps & { href: string }) => {\r\n return <Button component='a' color='inherit' variant='contained' size='large' endIcon={<ArrowRightAltIcon fontSize='small' />} {...p} />\r\n})({\r\n backgroundColor: 'var(--color-black)',\r\n color: 'var(--color-text-light)',\r\n minWidth: '250px',\r\n marginTop: '24px',\r\n height: '56px',\r\n textTransform: 'none',\r\n fontWeight: 600,\r\n transition: '0.3s',\r\n '&:hover': {\r\n backgroundColor: 'var(--color-black2)',\r\n color: 'var(--color-text-light)'\r\n },\r\n '& .MuiButton-icon.MuiButton-endIcon': {\r\n transition: '0.3s'\r\n },\r\n '&:hover .MuiButton-icon.MuiButton-endIcon': {\r\n marginLeft: '16px'\r\n }\r\n})\r\n"],"names":["UIErrorPage","_jsxs","Stack","sx","alignItems","paddingBottom","children","_jsx","WrapImage","src","alt","Typography","variant","component","textAlign","mt","CustomButton","href","styled","_ref","props","_objectWithoutProperties","_excluded","Box","_objectSpread","width","maxWidth","flex","position","top","left","height","p","Button","color","size","endIcon","ArrowRightAltIcon","fontSize","backgroundColor","minWidth","marginTop","textTransform","fontWeight","transition","marginLeft"],"mappings":"mTAIMA,EAAkB,WAAP,OACfC,EAACC,EAAK,CAACC,GAAI,CAAEC,WAAY,SAAUC,cAAe,QAChDC,SAAA,CAAAC,EAACC,EACC,CAAAF,SAAAC,EAAA,MAAA,CAAKE,IAAI,yBAAyBC,IAAI,uBAExCH,EAACI,EAAU,CAACC,QAAQ,YAAYC,UAAU,IAAIV,GAAI,CAAEW,UAAW,SAAUC,GAAI,QAAQT,SAAA,mFAGrFC,EAACS,EAAa,CAAAC,KAAK,IAAoCX,SAAA,wBACjD,EAIJE,EAAYU,GAAO,SAAAC,GAAA,IAAGb,EAAQa,EAARb,SAAac,EAAKC,EAAAF,EAAAG,GAAA,OAC5Cf,EAACgB,EAAGC,EAAAA,KAAKJ,GAAK,GAAA,CAAAd,SACZC,EAAM,MAAA,CAAAD,SAAAA,MACF,GAHUY,CAIf,CACDO,MAAO,OACPC,SAAU,QACVC,KAAM,WACN,UAAW,CACTF,MAAO,OACPpB,cAAe,OACfuB,SAAU,YAEZ,QAAS,CACPA,SAAU,WACVC,IAAK,EACLC,KAAM,EACNL,MAAO,OACPM,OAAQ,UAINf,EAAeE,GAAO,SAACc,GAC3B,OAAOzB,EAAC0B,EAAMT,EAAA,CAACX,UAAU,IAAIqB,MAAM,UAAUtB,QAAQ,YAAYuB,KAAK,QAAQC,QAAS7B,EAAC8B,EAAiB,CAACC,SAAS,WAAgBN,GACrI,GAFqBd,CAElB,CACDqB,gBAAiB,qBACjBL,MAAO,0BACPM,SAAU,QACVC,UAAW,OACXV,OAAQ,OACRW,cAAe,OACfC,WAAY,IACZC,WAAY,OACZ,UAAW,CACTL,gBAAiB,sBACjBL,MAAO,2BAET,sCAAuC,CACrCU,WAAY,QAEd,4CAA6C,CAC3CC,WAAY"}
@@ -1,2 +1,2 @@
1
- import{inherits as r,createClass as e,objectSpread2 as t,classCallCheck as n,callSuper as o,defineProperty as i,regenerator as l}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsx as a}from"react/jsx-runtime";import s,{Component as u}from"react";import{Box as c,Tooltip as p,IconButton as d}from"@mui/material";import f from"@mui/icons-material/Edit";import m from"@mui/icons-material/Delete";import{mergeObjects as v}from"../utils/helpers.js";import"../utils/dayjs-config.js";import"react-router-dom";import"../utils/query-param.js";import{MapTableBaseContext as g}from"./context.js";function h(h){var b=function(){function b(){var r;n(this,b);for(var e=arguments.length,u=new Array(e),c=0;c<e;c++)u[c]=arguments[c];return r=o(this,b,[].concat(u)),i(r,"getButtons",l().m((function r(e,n,o){var i,u,c,v,g,b,y,j,k,C,x,w,D,E;return l().w((function(r){for(;;)switch(r.n){case 0:if(!(k=null!==(i=null===(u=e.props)||void 0===u?void 0:u.before)&&void 0!==i?i:null==n?void 0:n.before)){r.n=1;break}return r.n=1,a(s.Fragment,{children:k(e.props.value,o)},"Before");case 1:if(C=null!==(c=null===(v=e.props)||void 0===v?void 0:v.formEdit)&&void 0!==c?c:null==n?void 0:n.formEdit,x=C?C(e.props.value,o):void 0,!C||!x){r.n=2;break}return r.n=2,a(p,{title:"Edit",arrow:!0,children:a(d,{color:"primary",onClick:function(){null==o||o.showModal(t({renderContent:function(){return x||a(s.Fragment,{})},sx:{display:"flex",justifyContent:"center",alignItems:"center"},backdropActivated:!0},null==h?void 0:h.buttonEditConfig))},children:a(f,{fontSize:"small"})})},"Edit");case 2:if(w=null!==(g=null===(b=e.props)||void 0===b?void 0:b.formDelete)&&void 0!==g?g:null==n?void 0:n.formDelete,D=w?w(e.props.value,o):void 0,!w||!D){r.n=3;break}return r.n=3,a(p,{title:"Delete",arrow:!0,children:a(d,{color:"error",onClick:function(){null==o||o.showModal(t({renderContent:function(){return D||a(s.Fragment,{})},sx:{display:"flex",justifyContent:"center",alignItems:"center"},backdropActivated:!0},null==h?void 0:h.buttonDeleteConfig))},children:a(m,{fontSize:"small"})})},"Delete");case 3:if(!(E=null!==(y=null===(j=e.props)||void 0===j?void 0:j.after)&&void 0!==y?y:null==n?void 0:n.after)){r.n=4;break}return r.n=4,a(s.Fragment,{children:E(e.props.value,o)},"After");case 4:return r.a(2)}}),r)}))),r}return r(b,u),e(b,[{key:"propsMerge",get:function(){return v(h,this.props)}},{key:"render",value:function(){var r=this;return g((function(e){return a(c,t(t({sx:{display:"flex",alignItems:"center",height:"100%"}},r.propsMerge.wrapProps),{},{children:Array.from(r.getButtons(r,r.propsMerge,e))}))}))}}])}();return b}export{h as default};
1
+ import{inherits as r,createClass as e,objectSpread2 as t,classCallCheck as n,callSuper as o,defineProperty as i,regenerator as l}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsx as a}from"react/jsx-runtime";import s,{Component as u}from"react";import{Box as c,Tooltip as p,IconButton as d}from"@mui/material";import f from"@mui/icons-material/Edit";import m from"@mui/icons-material/Delete";import{mergeObjects as v}from"../utils/helpers.js";import"../utils/dayjs-config.js";import"../utils/query-param.js";import{MapTableBaseContext as g}from"./context.js";function h(h){var b=function(){function b(){var r;n(this,b);for(var e=arguments.length,u=new Array(e),c=0;c<e;c++)u[c]=arguments[c];return r=o(this,b,[].concat(u)),i(r,"getButtons",l().m((function r(e,n,o){var i,u,c,v,g,b,y,j,k,C,x,w,D,E;return l().w((function(r){for(;;)switch(r.n){case 0:if(!(k=null!==(i=null===(u=e.props)||void 0===u?void 0:u.before)&&void 0!==i?i:null==n?void 0:n.before)){r.n=1;break}return r.n=1,a(s.Fragment,{children:k(e.props.value,o)},"Before");case 1:if(C=null!==(c=null===(v=e.props)||void 0===v?void 0:v.formEdit)&&void 0!==c?c:null==n?void 0:n.formEdit,x=C?C(e.props.value,o):void 0,!C||!x){r.n=2;break}return r.n=2,a(p,{title:"Edit",arrow:!0,children:a(d,{color:"primary",onClick:function(){null==o||o.showModal(t({renderContent:function(){return x||a(s.Fragment,{})},sx:{display:"flex",justifyContent:"center",alignItems:"center"},backdropActivated:!0},null==h?void 0:h.buttonEditConfig))},children:a(f,{fontSize:"small"})})},"Edit");case 2:if(w=null!==(g=null===(b=e.props)||void 0===b?void 0:b.formDelete)&&void 0!==g?g:null==n?void 0:n.formDelete,D=w?w(e.props.value,o):void 0,!w||!D){r.n=3;break}return r.n=3,a(p,{title:"Delete",arrow:!0,children:a(d,{color:"error",onClick:function(){null==o||o.showModal(t({renderContent:function(){return D||a(s.Fragment,{})},sx:{display:"flex",justifyContent:"center",alignItems:"center"},backdropActivated:!0},null==h?void 0:h.buttonDeleteConfig))},children:a(m,{fontSize:"small"})})},"Delete");case 3:if(!(E=null!==(y=null===(j=e.props)||void 0===j?void 0:j.after)&&void 0!==y?y:null==n?void 0:n.after)){r.n=4;break}return r.n=4,a(s.Fragment,{children:E(e.props.value,o)},"After");case 4:return r.a(2)}}),r)}))),r}return r(b,u),e(b,[{key:"propsMerge",get:function(){return v(h,this.props)}},{key:"render",value:function(){var r=this;return g((function(e){return a(c,t(t({sx:{display:"flex",alignItems:"center",height:"100%"}},r.propsMerge.wrapProps),{},{children:Array.from(r.getButtons(r,r.propsMerge,e))}))}))}}])}();return b}export{h as default};
2
2
  //# sourceMappingURL=create.action-row.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"create.action-row.js","sources":["../../src/table/create.action-row.tsx"],"sourcesContent":["import React, { Component, ComponentType } from 'react'\r\nimport { Box, BoxProps, IconButton, Tooltip } from '@mui/material'\r\nimport EditIcon from '@mui/icons-material/Edit'\r\nimport DeleteIcon from '@mui/icons-material/Delete'\r\nimport { mergeObjects } from '../utils'\r\nimport { GlobalModalState } from '../api-context'\r\nimport { ITableBaseContext, MapTableBaseContext } from './context'\r\n\r\nexport interface IActionRowProps<T> {\r\n value: T\r\n formEdit?: (value: T, tableContext: ITableBaseContext) => React.ReactNode\r\n formDelete?: (value: T, tableContext: ITableBaseContext) => React.ReactNode\r\n after?: (value: T, tableContext: ITableBaseContext) => React.ReactNode\r\n before?: (value: T, tableContext: ITableBaseContext) => React.ReactNode\r\n wrapProps?: BoxProps\r\n buttonEditConfig?: GlobalModalState\r\n buttonDeleteConfig?: GlobalModalState\r\n}\r\n\r\nfunction CreateActionRow<T>(params?: Omit<IActionRowProps<T>, 'value'>): ComponentType<IActionRowProps<T>> {\r\n class ActionRow extends Component<IActionRowProps<T>> {\r\n get propsMerge() {\r\n return mergeObjects<IActionRowProps<T>>(params, this.props)\r\n }\r\n\r\n getButtons = function* (that: ActionRow, thatProps: Omit<IActionRowProps<T>, 'value'>, tableContext: ITableBaseContext) {\r\n const beforeFunc = that.props?.before ?? thatProps?.before\r\n if (beforeFunc) {\r\n yield <React.Fragment key='Before'>{beforeFunc(that.props.value, tableContext)}</React.Fragment>\r\n }\r\n const editFunc = that.props?.formEdit ?? thatProps?.formEdit\r\n const editContent = editFunc ? editFunc(that.props.value, tableContext) : undefined\r\n if (editFunc && !!editContent) {\r\n yield (\r\n <Tooltip title='Edit' arrow key='Edit'>\r\n <IconButton\r\n color='primary'\r\n onClick={() => {\r\n tableContext?.showModal({\r\n renderContent: () => editContent || <React.Fragment />,\r\n sx: { display: 'flex', justifyContent: 'center', alignItems: 'center' },\r\n backdropActivated: true,\r\n ...params?.buttonEditConfig\r\n })\r\n }}\r\n >\r\n <EditIcon fontSize='small' />\r\n </IconButton>\r\n </Tooltip>\r\n )\r\n }\r\n const deleteFunc = that.props?.formDelete ?? thatProps?.formDelete\r\n const deleteContent = deleteFunc ? deleteFunc(that.props.value, tableContext) : undefined\r\n if (deleteFunc && !!deleteContent) {\r\n yield (\r\n <Tooltip title='Delete' arrow key='Delete'>\r\n <IconButton\r\n color='error'\r\n onClick={() => {\r\n tableContext?.showModal({\r\n renderContent: () => deleteContent || <React.Fragment />,\r\n sx: { display: 'flex', justifyContent: 'center', alignItems: 'center' },\r\n backdropActivated: true,\r\n ...params?.buttonDeleteConfig\r\n })\r\n }}\r\n >\r\n <DeleteIcon fontSize='small' />\r\n </IconButton>\r\n </Tooltip>\r\n )\r\n }\r\n const afterFunc = that.props?.after ?? thatProps?.after\r\n if (afterFunc) {\r\n yield <React.Fragment key='After'>{afterFunc(that.props.value, tableContext)}</React.Fragment>\r\n }\r\n }\r\n\r\n render() {\r\n return MapTableBaseContext((context) => (\r\n <Box sx={{ display: 'flex', alignItems: 'center', height: '100%' }} {...this.propsMerge.wrapProps}>\r\n {Array.from(this.getButtons(this, this.propsMerge, context))}\r\n </Box>\r\n ))\r\n }\r\n }\r\n\r\n return ActionRow\r\n}\r\nexport default CreateActionRow\r\n"],"names":["CreateActionRow","params","ActionRow","_this","_classCallCheck","_len","arguments","length","args","Array","_key","_callSuper","this","concat","_defineProperty","_regenerator","m","_callee","that","thatProps","tableContext","_that$props$before","_that$props","_that$props$formEdit","_that$props2","_that$props$formDelet","_that$props3","_that$props$after","_that$props4","beforeFunc","editFunc","editContent","deleteFunc","deleteContent","afterFunc","w","_context","n","props","before","_jsx","React","Fragment","children","value","formEdit","undefined","Tooltip","title","arrow","IconButton","color","onClick","showModal","_objectSpread","renderContent","sx","display","justifyContent","alignItems","backdropActivated","buttonEditConfig","EditIcon","fontSize","formDelete","buttonDeleteConfig","DeleteIcon","after","a","_inherits","Component","_createClass","key","get","mergeObjects","_this2","MapTableBaseContext","context","Box","height","propsMerge","wrapProps","from","getButtons"],"mappings":"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"}
1
+ {"version":3,"file":"create.action-row.js","sources":["../../src/table/create.action-row.tsx"],"sourcesContent":["import React, { Component, ComponentType } from 'react'\r\nimport { Box, BoxProps, IconButton, Tooltip } from '@mui/material'\r\nimport EditIcon from '@mui/icons-material/Edit'\r\nimport DeleteIcon from '@mui/icons-material/Delete'\r\nimport { mergeObjects } from '../utils'\r\nimport { GlobalModalState } from '../api-context'\r\nimport { ITableBaseContext, MapTableBaseContext } from './context'\r\n\r\nexport interface IActionRowProps<T> {\r\n value: T\r\n formEdit?: (value: T, tableContext: ITableBaseContext) => React.ReactNode\r\n formDelete?: (value: T, tableContext: ITableBaseContext) => React.ReactNode\r\n after?: (value: T, tableContext: ITableBaseContext) => React.ReactNode\r\n before?: (value: T, tableContext: ITableBaseContext) => React.ReactNode\r\n wrapProps?: BoxProps\r\n buttonEditConfig?: GlobalModalState\r\n buttonDeleteConfig?: GlobalModalState\r\n}\r\n\r\nfunction CreateActionRow<T>(params?: Omit<IActionRowProps<T>, 'value'>): ComponentType<IActionRowProps<T>> {\r\n class ActionRow extends Component<IActionRowProps<T>> {\r\n get propsMerge() {\r\n return mergeObjects<IActionRowProps<T>>(params, this.props)\r\n }\r\n\r\n getButtons = function* (that: ActionRow, thatProps: Omit<IActionRowProps<T>, 'value'>, tableContext: ITableBaseContext) {\r\n const beforeFunc = that.props?.before ?? thatProps?.before\r\n if (beforeFunc) {\r\n yield <React.Fragment key='Before'>{beforeFunc(that.props.value, tableContext)}</React.Fragment>\r\n }\r\n const editFunc = that.props?.formEdit ?? thatProps?.formEdit\r\n const editContent = editFunc ? editFunc(that.props.value, tableContext) : undefined\r\n if (editFunc && !!editContent) {\r\n yield (\r\n <Tooltip title='Edit' arrow key='Edit'>\r\n <IconButton\r\n color='primary'\r\n onClick={() => {\r\n tableContext?.showModal({\r\n renderContent: () => editContent || <React.Fragment />,\r\n sx: { display: 'flex', justifyContent: 'center', alignItems: 'center' },\r\n backdropActivated: true,\r\n ...params?.buttonEditConfig\r\n })\r\n }}\r\n >\r\n <EditIcon fontSize='small' />\r\n </IconButton>\r\n </Tooltip>\r\n )\r\n }\r\n const deleteFunc = that.props?.formDelete ?? thatProps?.formDelete\r\n const deleteContent = deleteFunc ? deleteFunc(that.props.value, tableContext) : undefined\r\n if (deleteFunc && !!deleteContent) {\r\n yield (\r\n <Tooltip title='Delete' arrow key='Delete'>\r\n <IconButton\r\n color='error'\r\n onClick={() => {\r\n tableContext?.showModal({\r\n renderContent: () => deleteContent || <React.Fragment />,\r\n sx: { display: 'flex', justifyContent: 'center', alignItems: 'center' },\r\n backdropActivated: true,\r\n ...params?.buttonDeleteConfig\r\n })\r\n }}\r\n >\r\n <DeleteIcon fontSize='small' />\r\n </IconButton>\r\n </Tooltip>\r\n )\r\n }\r\n const afterFunc = that.props?.after ?? thatProps?.after\r\n if (afterFunc) {\r\n yield <React.Fragment key='After'>{afterFunc(that.props.value, tableContext)}</React.Fragment>\r\n }\r\n }\r\n\r\n render() {\r\n return MapTableBaseContext((context) => (\r\n <Box sx={{ display: 'flex', alignItems: 'center', height: '100%' }} {...this.propsMerge.wrapProps}>\r\n {Array.from(this.getButtons(this, this.propsMerge, context))}\r\n </Box>\r\n ))\r\n }\r\n }\r\n\r\n return ActionRow\r\n}\r\nexport default CreateActionRow\r\n"],"names":["CreateActionRow","params","ActionRow","_this","_classCallCheck","_len","arguments","length","args","Array","_key","_callSuper","this","concat","_defineProperty","_regenerator","m","_callee","that","thatProps","tableContext","_that$props$before","_that$props","_that$props$formEdit","_that$props2","_that$props$formDelet","_that$props3","_that$props$after","_that$props4","beforeFunc","editFunc","editContent","deleteFunc","deleteContent","afterFunc","w","_context","n","props","before","_jsx","React","Fragment","children","value","formEdit","undefined","Tooltip","title","arrow","IconButton","color","onClick","showModal","_objectSpread","renderContent","sx","display","justifyContent","alignItems","backdropActivated","buttonEditConfig","EditIcon","fontSize","formDelete","buttonDeleteConfig","DeleteIcon","after","a","_inherits","Component","_createClass","key","get","mergeObjects","_this2","MapTableBaseContext","context","Box","height","propsMerge","wrapProps","from","getButtons"],"mappings":"ujBAmBA,SAASA,EAAmBC,GAA0C,IAC9DC,aAAU,SAAAA,IAAA,IAAAC,EAAAC,OAAAF,GAAA,IAAA,IAAAG,EAAAC,UAAAC,OAAAC,EAAAC,IAAAA,MAAAJ,GAAAK,EAAA,EAAAA,EAAAL,EAAAK,IAAAF,EAAAE,GAAAJ,UAAAI,GAwDb,OAxDaP,EAAAQ,EAAAC,KAAAV,EAAAW,GAAAA,OAAAL,IAAAM,EAAAX,EAAAY,aAAAA,IAAAC,GAKD,SAAAC,EAAWC,EAAiBC,EAA8CC,GAA+B,IAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA,OAAAnB,IAAAoB,GAAA,SAAAC,GAAA,cAAAA,EAAAC,GAAA,KAAA,EAC1D,KAApDR,EAA+B,QAArBR,EAAaC,QAAbA,EAAGJ,EAAKoB,aAALhB,IAAUA,OAAVA,EAAAA,EAAYiB,cAAM,IAAAlB,EAAAA,EAAIF,aAAS,EAATA,EAAWoB,QACtC,CAAAH,EAAAC,EAAA,EAAA,KAAA,CACZ,OADYD,EAAAC,EAAA,EACNG,EAACC,EAAMC,SAAuB,CAAAC,SAAAd,EAAWX,EAAKoB,MAAMM,MAAOxB,IAAvC,UAAsE,KAAA,EAGf,GAD7EU,EAA+B,QAAvBP,EAAaC,QAAbA,EAAGN,EAAKoB,aAALd,IAAUA,OAAVA,EAAAA,EAAYqB,gBAAQ,IAAAtB,EAAAA,EAAIJ,aAAS,EAATA,EAAW0B,SAC9Cd,EAAcD,EAAWA,EAASZ,EAAKoB,MAAMM,MAAOxB,QAAgB0B,GACtEhB,IAAcC,EAAW,CAAAK,EAAAC,EAAA,EAAA,KAAA,CAC3B,OAD2BD,EAAAC,EAAA,EAEzBG,EAACO,EAAO,CAACC,MAAM,OAAOC,OAAK,EAAAN,SACzBH,EAACU,EAAU,CACTC,MAAM,UACNC,QAAS,WACPhC,SAAAA,EAAciC,UAASC,EAAA,CACrBC,cAAe,WAAF,OAAQxB,GAAeS,EAACC,EAAMC,SAAW,CAAA,EAAA,EACtDc,GAAI,CAAEC,QAAS,OAAQC,eAAgB,SAAUC,WAAY,UAC7DC,mBAAmB,GAChB3D,aAAM,EAANA,EAAQ4D,kBAEd,EAEDlB,SAAAH,EAACsB,EAAQ,CAACC,SAAS,aAZS,QAejC,KAAA,EAGsF,GADnF/B,EAAmC,QAAzBP,EAAaC,QAAbA,EAAGR,EAAKoB,aAALZ,IAAUA,OAAVA,EAAAA,EAAYsC,kBAAU,IAAAvC,EAAAA,EAAIN,aAAS,EAATA,EAAW6C,WAClD/B,EAAgBD,EAAaA,EAAWd,EAAKoB,MAAMM,MAAOxB,QAAgB0B,GAC5Ed,IAAgBC,EAAa,CAAAG,EAAAC,EAAA,EAAA,KAAA,CAC/B,OAD+BD,EAAAC,EAAA,EAE7BG,EAACO,EAAO,CAACC,MAAM,SAASC,OAAK,EAAAN,SAC3BH,EAACU,EAAU,CACTC,MAAM,QACNC,QAAS,WACPhC,SAAAA,EAAciC,UAASC,EAAA,CACrBC,cAAe,WAAF,OAAQtB,GAAiBO,EAACC,EAAMC,SAAW,CAAA,EAAA,EACxDc,GAAI,CAAEC,QAAS,OAAQC,eAAgB,SAAUC,WAAY,UAC7DC,mBAAmB,GAChB3D,aAAM,EAANA,EAAQgE,oBAEd,EAEDtB,SAAAH,EAAC0B,EAAU,CAACH,SAAS,aAZS,UAenC,KAAA,EAEoD,KAAjD7B,EAA6B,QAApBP,EAAaC,QAAbA,EAAGV,EAAKoB,aAALV,IAAUA,OAAVA,EAAAA,EAAYuC,aAAK,IAAAxC,EAAAA,EAAIR,aAAS,EAATA,EAAWgD,OACrC,CAAA/B,EAAAC,EAAA,EAAA,KAAA,CACX,OADWD,EAAAC,EAAA,EACLG,EAACC,EAAMC,SAAsB,CAAAC,SAAAT,EAAUhB,EAAKoB,MAAMM,MAAOxB,IAArC,SAAoE,KAAA,EAAA,OAAAgB,EAAAgC,EAAA,GAAA,GAAAnD,OAEjGd,CAAA,CAAA,OAAAkE,EAAAnE,EAxDqBoE,GAwDrBC,EAAArE,EAAA,CAAA,CAAAsE,IAAA,aAAAC,IAvDD,WACE,OAAOC,EAAiCzE,EAAQW,KAAK0B,MACvD,GAAC,CAAAkC,IAAA,SAAA5B,MAuDD,WAAM,IAAA+B,EAAA/D,KACJ,OAAOgE,GAAoB,SAACC,GAAO,OACjCrC,EAACsC,EAAGxB,EAAAA,EAAA,CAACE,GAAI,CAAEC,QAAS,OAAQE,WAAY,SAAUoB,OAAQ,SAAcJ,EAAKK,WAAWC,WAAS,CAAA,EAAA,CAAAtC,SAC9FlC,MAAMyE,KAAKP,EAAKQ,WAAWR,EAAMA,EAAKK,WAAYH,MAC/C,GAEV,IAAC,IAGH,OAAO3E,CACT"}
@@ -1,2 +1,2 @@
1
- import{objectWithoutProperties as e,objectSpread2 as o,defineProperty as r,inherits as t,createClass as a,classCallCheck as i,callSuper as l,toConsumableArray as n}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsx as s}from"react/jsx-runtime";import{Component as d}from"react";import{styled as u,Box as p}from"@mui/material";import{DataGrid as c}from"@mui/x-data-grid";import{mergeObjects as m}from"../utils/helpers.js";import"../utils/dayjs-config.js";import"react-router-dom";import"../utils/query-param.js";import{TableBaseContext as g}from"./context.js";import{customFilterOperators as h}from"./custom.filter-operators.js";import"../api-context/alert-global.js";import"../api-context/drawer-global.js";import f,{mapGlobalModalContext as v}from"../api-context/global-modal.js";import b,{dinoTableClasses as y}from"./helpers.js";import C from"./toolbar-pannel.js";var P=["children"];function M(e){return function(){function u(t){var a;return i(this,u),a=l(this,u,[t]),r(a,"setTableQueryParams",(function(e){a.tableQueryParams=m({},a.tableQueryParams,e)})),r(a,"renderWrapContext",(function(e){return s(f,{children:v((function(o){return s(g.Provider,{value:{showModal:o.show,closeModal:o.close},children:e})}))})})),r(a,"getDataGridProps",(function(){var o,r,t,i,l=a.mergeConfig,n={getRowId:e.getRowId,columns:a.columns,rows:null!==(o=null===(r=a.props.data)||void 0===r?void 0:r.items)&&void 0!==o?o:[],checkboxSelection:!0,pagination:!0,density:null!==(t=null===(i=a.props.slots)||void 0===i?void 0:i.density)&&void 0!==t?t:"standard",initialState:b.mapInitialState(a.props.query,{columns:{columnVisibilityModel:e.columnVisibilityModel}}),filterDebounceMs:800,sx:{border:0},slots:{toolbar:l.toolbar},rowSelectionModel:a.rowSelecteds,onRowSelectionModelChange:a.handleRowSelectionChange};if("server"===e.featureMode){var s,d,u={filterMode:"server",sortingMode:"server",paginationMode:"server",onPaginationModelChange:a.onPaginationModelChange,onFilterModelChange:a.onFilterModelChange,onSortModelChange:a.onSortModelChange,rowCount:null!==(s=null===(d=a.props.data)||void 0===d?void 0:d.rowTotal)&&void 0!==s?s:0,paginationModel:a.tableQueryParams.pagination,filterModel:a.tableQueryParams.filter,sortModel:b.mapSortModel(a.tableQueryParams.sort),loading:a.tableQueryParams.loading};Object.assign(n,u)}return m(n,a.mergeConfig.dataGridProps)})),r(a,"initialColumns",(function(){var r,t,i=a.mergeConfig.ActionRow,l=[];return i&&l.push(o({field:"Actions",minWidth:100,headerAlign:"right",align:"right",filterable:!1,sortable:!1,renderCell:function(e){return s(i,{value:e.row})}},e.actionRow)),r=l,t=Object.keys(e.columns).map((function(r){var t=o({field:r},e.columns[r]);return t.filterOperators=e.filterOperators?e.filterOperators(t):h(t),t})),r&&r.length>0&&t.push.apply(t,n(r)),t})),r(a,"onPaginationModelChange",(function(e,o){a.setTableQueryParams({pagination:e,detail:"pagination"}),a.handleChange()})),r(a,"onFilterModelChange",(function(e,o){var r,t=a.tableQueryParams.pagination;a.setTableQueryParams({filter:e,pagination:{page:0,pageSize:null!==(r=null==t?void 0:t.pageSize)&&void 0!==r?r:25},detail:b.detectSearchType(e)}),a.handleChange()})),r(a,"onSortModelChange",(function(e,o){var r,t,i,l,n,s=e,d=a.tableQueryParams.sort;null!=d&&d.length&&!s.length&&(s=(null==d||null===(r=d[0])||void 0===r?void 0:r.field)===(null===(t=a.defaultTableQueryParams.sort)||void 0===t||null===(t=t[0])||void 0===t?void 0:t.field)?[{field:null===(i=d[0])||void 0===i?void 0:i.field,sort:"desc"===(null===(l=d[0])||void 0===l?void 0:l.sort)?"asc":"desc"}]:null!==(n=a.defaultTableQueryParams.sort)&&void 0!==n?n:[]);a.setTableQueryParams({sort:s,detail:"sort"}),a.handleChange()})),r(a,"handleChange",(function(){a.props.onChange&&a.props.onChange(a.tableQueryParams)})),r(a,"handleRowSelectionChange",(function(e,o){a.mergeConfig.maxSelcion&&e.length>a.mergeConfig.maxSelcion?a.rowSelecteds=e.slice(0,a.mergeConfig.maxSelcion):a.rowSelecteds=e,a.props.onRowSelectionChange&&a.props.onRowSelectionChange(a.rowSelecteds,o),a.forceUpdate()})),a.columns=a.initialColumns(),a.tableQueryParams=o({},t.query),a.defaultTableQueryParams=a.tableQueryParams,a.rowSelecteds=[],a}return t(u,d),a(u,[{key:"mergeConfig",get:function(){var r,t,a,i,l,n,d,u=m({},null==e?void 0:e.toolbarProps,null===(r=this.props.slots)||void 0===r?void 0:r.toolbarProps);return{toolbar:null!==(t=null===(a=this.props.slots)||void 0===a?void 0:a.toolbar)&&void 0!==t?t:function(){return s(C,o({},u))},ActionRow:null===(i=this.props.slots)||void 0===i?void 0:i.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:m({},e.dataGridProps,null===(d=this.props.slots)||void 0===d?void 0:d.dataGridProps)}}},{key:"shouldComponentUpdate",value:function(o){return"server"!==e.featureMode||b.equalTableQueryParams(o.query,this.props.query)?"server"!==e.featureMode:(this.setTableQueryParams(null!==(r=o.query)&&void 0!==r?r:{}),!0);var r}},{key:"render",value:function(){return this.renderWrapContext(s(S,{children:s(c,o({},this.getDataGridProps()))}))}}])}()}var S=u((function(r){var t=r.children,a=e(r,P);return s(p,o(o({},a),{},{children:s("div",{children:t})}))}))(r({flex:1,position:"relative","& > div":{position:"absolute",top:0,left:0,width:"100%",height:"100%",overflowY:"auto"},"& .MuiDataGrid-root":{"--unstable_DataGrid-radius":0}},"& .MuiDataGrid-cell.".concat(y.whiteSpacePre," .MuiDataGrid-cellContent"),{whiteSpace:"pre"}));export{M as default};
1
+ import{objectWithoutProperties as e,objectSpread2 as o,defineProperty as r,inherits as t,createClass as a,classCallCheck as i,callSuper as l,toConsumableArray as n}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsx as s}from"react/jsx-runtime";import{Component as d}from"react";import{styled as u,Box as p}from"@mui/material";import{DataGrid as c}from"@mui/x-data-grid";import{mergeObjects as m}from"../utils/helpers.js";import"../utils/dayjs-config.js";import"../utils/query-param.js";import{TableBaseContext as g}from"./context.js";import{customFilterOperators as h}from"./custom.filter-operators.js";import f,{dinoTableClasses as v}from"./helpers.js";import b from"./toolbar-pannel.js";import y,{mapGlobalModalContext as C}from"../api-context/global-modal.js";var P=["children"];function M(e){return function(){function u(t){var a;return i(this,u),a=l(this,u,[t]),r(a,"setTableQueryParams",(function(e){a.tableQueryParams=m({},a.tableQueryParams,e)})),r(a,"renderWrapContext",(function(e){return s(y,{children:C((function(o){return s(g.Provider,{value:{showModal:o.show,closeModal:o.close},children:e})}))})})),r(a,"getDataGridProps",(function(){var o,r,t,i,l=a.mergeConfig,n={getRowId:e.getRowId,columns:a.columns,rows:null!==(o=null===(r=a.props.data)||void 0===r?void 0:r.items)&&void 0!==o?o:[],checkboxSelection:!0,pagination:!0,density:null!==(t=null===(i=a.props.slots)||void 0===i?void 0:i.density)&&void 0!==t?t:"standard",initialState:f.mapInitialState(a.props.query,{columns:{columnVisibilityModel:e.columnVisibilityModel}}),filterDebounceMs:800,sx:{border:0},slots:{toolbar:l.toolbar},rowSelectionModel:a.rowSelecteds,onRowSelectionModelChange:a.handleRowSelectionChange};if("server"===e.featureMode){var s,d,u={filterMode:"server",sortingMode:"server",paginationMode:"server",onPaginationModelChange:a.onPaginationModelChange,onFilterModelChange:a.onFilterModelChange,onSortModelChange:a.onSortModelChange,rowCount:null!==(s=null===(d=a.props.data)||void 0===d?void 0:d.rowTotal)&&void 0!==s?s:0,paginationModel:a.tableQueryParams.pagination,filterModel:a.tableQueryParams.filter,sortModel:f.mapSortModel(a.tableQueryParams.sort),loading:a.tableQueryParams.loading};Object.assign(n,u)}return m(n,a.mergeConfig.dataGridProps)})),r(a,"initialColumns",(function(){var r,t,i=a.mergeConfig.ActionRow,l=[];return i&&l.push(o({field:"Actions",minWidth:100,headerAlign:"right",align:"right",filterable:!1,sortable:!1,renderCell:function(e){return s(i,{value:e.row})}},e.actionRow)),r=l,t=Object.keys(e.columns).map((function(r){var t=o({field:r},e.columns[r]);return t.filterOperators=e.filterOperators?e.filterOperators(t):h(t),t})),r&&r.length>0&&t.push.apply(t,n(r)),t})),r(a,"onPaginationModelChange",(function(e,o){a.setTableQueryParams({pagination:e,detail:"pagination"}),a.handleChange()})),r(a,"onFilterModelChange",(function(e,o){var r,t=a.tableQueryParams.pagination;a.setTableQueryParams({filter:e,pagination:{page:0,pageSize:null!==(r=null==t?void 0:t.pageSize)&&void 0!==r?r:25},detail:f.detectSearchType(e)}),a.handleChange()})),r(a,"onSortModelChange",(function(e,o){var r,t,i,l,n,s=e,d=a.tableQueryParams.sort;null!=d&&d.length&&!s.length&&(s=(null==d||null===(r=d[0])||void 0===r?void 0:r.field)===(null===(t=a.defaultTableQueryParams.sort)||void 0===t||null===(t=t[0])||void 0===t?void 0:t.field)?[{field:null===(i=d[0])||void 0===i?void 0:i.field,sort:"desc"===(null===(l=d[0])||void 0===l?void 0:l.sort)?"asc":"desc"}]:null!==(n=a.defaultTableQueryParams.sort)&&void 0!==n?n:[]);a.setTableQueryParams({sort:s,detail:"sort"}),a.handleChange()})),r(a,"handleChange",(function(){a.props.onChange&&a.props.onChange(a.tableQueryParams)})),r(a,"handleRowSelectionChange",(function(e,o){a.mergeConfig.maxSelcion&&e.length>a.mergeConfig.maxSelcion?a.rowSelecteds=e.slice(0,a.mergeConfig.maxSelcion):a.rowSelecteds=e,a.props.onRowSelectionChange&&a.props.onRowSelectionChange(a.rowSelecteds,o),a.forceUpdate()})),a.columns=a.initialColumns(),a.tableQueryParams=o({},t.query),a.defaultTableQueryParams=a.tableQueryParams,a.rowSelecteds=[],a}return t(u,d),a(u,[{key:"mergeConfig",get:function(){var r,t,a,i,l,n,d,u=m({},null==e?void 0:e.toolbarProps,null===(r=this.props.slots)||void 0===r?void 0:r.toolbarProps);return{toolbar:null!==(t=null===(a=this.props.slots)||void 0===a?void 0:a.toolbar)&&void 0!==t?t:function(){return s(b,o({},u))},ActionRow:null===(i=this.props.slots)||void 0===i?void 0:i.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:m({},e.dataGridProps,null===(d=this.props.slots)||void 0===d?void 0:d.dataGridProps)}}},{key:"shouldComponentUpdate",value:function(o){return"server"!==e.featureMode||f.equalTableQueryParams(o.query,this.props.query)?"server"!==e.featureMode:(this.setTableQueryParams(null!==(r=o.query)&&void 0!==r?r:{}),!0);var r}},{key:"render",value:function(){return this.renderWrapContext(s(S,{children:s(c,o({},this.getDataGridProps()))}))}}])}()}var S=u((function(r){var t=r.children,a=e(r,P);return s(p,o(o({},a),{},{children:s("div",{children:t})}))}))(r({flex:1,position:"relative","& > div":{position:"absolute",top:0,left:0,width:"100%",height:"100%",overflowY:"auto"},"& .MuiDataGrid-root":{"--unstable_DataGrid-radius":0}},"& .MuiDataGrid-cell.".concat(v.whiteSpacePre," .MuiDataGrid-cellContent"),{whiteSpace:"pre"}));export{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 React, { Component, ComponentType } 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 { 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?: React.ComponentType<IToolbarPannelProps>\r\n actionRow?: React.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 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}\r\n\r\nfunction 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 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 }\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 shouldComponentUpdate(nextProps: Readonly<ITableProps<T>>): boolean {\r\n if (params.featureMode === 'server' && !TableHelper.equalTableQueryParams(nextProps.query, this.props.query)) {\r\n this.setTableQueryParams(nextProps.query ?? {})\r\n return true\r\n } else if (params.featureMode !== 'server') {\r\n return true\r\n } else {\r\n return false\r\n }\r\n }\r\n\r\n render() {\r\n return this.renderWrapContext(\r\n <Wrap>\r\n <DataGrid {...this.getDataGridProps()} />\r\n </Wrap>\r\n )\r\n }\r\n\r\n renderWrapContext = (children: React.ReactNode) => (\r\n <GlobalModal>\r\n {mapGlobalModalContext((context) => (\r\n <TableBaseContext.Provider value={{ showModal: context.show, closeModal: context.close }}>{children}</TableBaseContext.Provider>\r\n ))}\r\n </GlobalModal>\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.tableQueryParams.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 this.setTableQueryParams({ pagination: model, detail: 'pagination' })\r\n this.handleChange()\r\n }\r\n\r\n onFilterModelChange = (model: GridFilterModel, details: GridCallbackDetails<'filter'>) => {\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 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 this.props.onChange && this.props.onChange(this.tableQueryParams)\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 },\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","_jsx","GlobalModal","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","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","nextProps","equalTableQueryParams","_nextProps$query","renderWrapContext","Wrap","DataGrid","getDataGridProps","styled","_ref","p","_objectWithoutProperties","_excluded","Box","flex","position","top","left","width","height","overflowY","concat","dinoTableClasses","whiteSpacePre","whiteSpace"],"mappings":"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"}
1
+ {"version":3,"file":"create.table.js","sources":["../../src/table/create.table.tsx"],"sourcesContent":["import React, { Component, ComponentType } 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 { 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?: React.ComponentType<IToolbarPannelProps>\r\n actionRow?: React.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 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}\r\n\r\nfunction 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 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 }\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 shouldComponentUpdate(nextProps: Readonly<ITableProps<T>>): boolean {\r\n if (params.featureMode === 'server' && !TableHelper.equalTableQueryParams(nextProps.query, this.props.query)) {\r\n this.setTableQueryParams(nextProps.query ?? {})\r\n return true\r\n } else if (params.featureMode !== 'server') {\r\n return true\r\n } else {\r\n return false\r\n }\r\n }\r\n\r\n render() {\r\n return this.renderWrapContext(\r\n <Wrap>\r\n <DataGrid {...this.getDataGridProps()} />\r\n </Wrap>\r\n )\r\n }\r\n\r\n renderWrapContext = (children: React.ReactNode) => (\r\n <GlobalModal>\r\n {mapGlobalModalContext((context) => (\r\n <TableBaseContext.Provider value={{ showModal: context.show, closeModal: context.close }}>{children}</TableBaseContext.Provider>\r\n ))}\r\n </GlobalModal>\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.tableQueryParams.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 this.setTableQueryParams({ pagination: model, detail: 'pagination' })\r\n this.handleChange()\r\n }\r\n\r\n onFilterModelChange = (model: GridFilterModel, details: GridCallbackDetails<'filter'>) => {\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 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 this.props.onChange && this.props.onChange(this.tableQueryParams)\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 },\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","_jsx","GlobalModal","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","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","nextProps","equalTableQueryParams","_nextProps$query","renderWrapContext","Wrap","DataGrid","getDataGridProps","styled","_ref","p","_objectWithoutProperties","_excluded","Box","flex","position","top","left","width","height","overflowY","concat","dinoTableClasses","whiteSpacePre","whiteSpace"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{createClass as t,classCallCheck as r,defineProperty as e,objectSpread2 as o,objectWithoutProperties as i}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsx as n}from"react/jsx-runtime";import a from"dayjs";import"../utils/dayjs-config.js";import"react";import"react-router-dom";import"../utils/query-param.js";import{MapTableBaseContext as u}from"./context.js";import{BtnFormDetail as l,BtnDetail as s}from"./ui.buttons.js";import{CreateStatusCell as m,CellChips as c,CellBase as p,CellImageSmall as f,CellDate as v}from"./ui.units.js";import d from"../components/breadcrumbs.js";import"../components/buttons.js";import"@mui/material";import"clipboard-copy";import"@mui/icons-material/Done";import"@mui/icons-material/ContentCopy";import"../components/create.multi-select-dropdown.js";import"../components/help-tooltip.js";import"../components/text-editor.js";import h from"./toolbar-pannel.js";import j from"./helpers.js";import b from"./create.table.js";import g from"./create.action-row.js";var C=["imageUrl","valueFormatter"],y=["formatString"],S="MM/DD/YYYY HH:mm",D=new(t((function t(){var D=this;r(this,t),e(this,"createTable",b),e(this,"createActionRow",g),e(this,"setUrlQuery",j.setUrlQuery),e(this,"getUrlQuery",j.getUrlQuery),e(this,"mapContext",u),e(this,"ToolbarPannel",h),e(this,"createToolbar",(function(t){return function(r){return n(h,o({},o(o({},r),t)))}})),e(this,"BtnFormDetail",l),e(this,"BtnDetail",s),e(this,"createBreadcrumbConfigs",(function(t){return t})),e(this,"createBreadcrumbs",(function(t){return function(){return n(d,{value:t})}})),e(this,"createStatusCell",m),e(this,"formatterDate",(function(t,r){var e,o,i=null!==(e=null==r?void 0:r.formatString)&&void 0!==e?e:S,n=null!==(o=null==r?void 0:r.showRelative)&&void 0!==o&&o;try{if(!t)return"";var u=a(t),l=u.format(i);return n?"".concat(l," (").concat(a().to(u),")"):l}catch(t){return""}})),e(this,"valueFormatterDate",(function(t){return function(r){return D.formatterDate(r.value,t)}})),e(this,"renderCellChips",(function(t){return function(r){var e;return n(c,o(o({},t),{},{value:null!==(e=r.value)&&void 0!==e?e:null==t?void 0:t.value}))}})),e(this,"renderCellStatus",(function(t,r){var e=m(t,o({sx:{minWidth:"90px"}},r));return function(t){return n(e,{value:t.value})}})),e(this,"renderCellBase",(function(t){return function(r){var e=null!=t?t:{},a=e.imageUrl,u=e.valueFormatter,l=i(e,C),s=u?u(r.value,r.row):void 0,m=a?a(r.value,r.row):void 0;return n(p,o(o({value:r.value,valueFormatted:s},l),{},{imageUrl:m}))}})),e(this,"renderCellImage",(function(t,r){return function(e){var o;return n(f,{value:e.value,imageUri:null===(o=t(e.row))||void 0===o?void 0:o.toString(),fallbackSrc:null==r?void 0:r.fallbackSrc})}})),e(this,"renderCellDate",(function(t){return function(r){var e=null!=t?t:{},a=e.formatString,u=i(e,y);return n(v,o(o({},u),{},{value:r.value,formatString:null!=a?a:S}))}}))})));export{D as default};
1
+ import{createClass as r,classCallCheck as t,defineProperty as e,objectSpread2 as n,objectWithoutProperties as a}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsx as o}from"react/jsx-runtime";import i from"dayjs";import"../utils/dayjs-config.js";import"../utils/query-param.js";import{MapTableBaseContext as u}from"./context.js";import{BtnFormDetail as l,BtnDetail as s}from"./ui.buttons.js";import{CreateStatusCell as c,CellChips as m,CellBase as f,CellImageSmall as v,CellDate as h}from"./ui.units.js";import d from"./toolbar-pannel.js";import p from"./helpers.js";import j from"./create.table.js";import b from"./create.action-row.js";import g from"../components/breadcrumbs.js";var C=["imageUrl","valueFormatter"],S=["formatString"],y="MM/DD/YYYY HH:mm",D=new(r((function r(){var D=this;t(this,r),e(this,"createTable",j),e(this,"createActionRow",b),e(this,"setUrlQuery",p.setUrlQuery),e(this,"getUrlQuery",p.getUrlQuery),e(this,"mapContext",u),e(this,"ToolbarPannel",d),e(this,"createToolbar",(function(r){return function(t){return o(d,n({},n(n({},t),r)))}})),e(this,"BtnFormDetail",l),e(this,"BtnDetail",s),e(this,"createBreadcrumbConfigs",(function(r){return r})),e(this,"createBreadcrumbs",(function(r){return function(){return o(g,{value:r})}})),e(this,"createStatusCell",c),e(this,"formatterDate",(function(r,t){var e,n,a=null!==(e=null==t?void 0:t.formatString)&&void 0!==e?e:y,o=null!==(n=null==t?void 0:t.showRelative)&&void 0!==n&&n;try{if(!r)return"";var u=i(r),l=u.format(a);return o?"".concat(l," (").concat(i().to(u),")"):l}catch(r){return""}})),e(this,"valueFormatterDate",(function(r){return function(t){return D.formatterDate(t.value,r)}})),e(this,"renderCellChips",(function(r){return function(t){var e;return o(m,n(n({},r),{},{value:null!==(e=t.value)&&void 0!==e?e:null==r?void 0:r.value}))}})),e(this,"renderCellStatus",(function(r,t){var e=c(r,n({sx:{minWidth:"90px"}},t));return function(r){return o(e,{value:r.value})}})),e(this,"renderCellBase",(function(r){return function(t){var e=null!=r?r:{},i=e.imageUrl,u=e.valueFormatter,l=a(e,C),s=u?u(t.value,t.row):void 0,c=i?i(t.value,t.row):void 0;return o(f,n(n({value:t.value,valueFormatted:s},l),{},{imageUrl:c}))}})),e(this,"renderCellImage",(function(r,t){return function(e){var n;return o(v,{value:e.value,imageUri:null===(n=r(e.row))||void 0===n?void 0:n.toString(),fallbackSrc:null==t?void 0:t.fallbackSrc})}})),e(this,"renderCellDate",(function(r){return function(t){var e=null!=r?r:{},i=e.formatString,u=a(e,S);return o(h,n(n({},u),{},{value:t.value,formatString:null!=i?i:y}))}}))})));export{D as default};
2
2
  //# sourceMappingURL=dino.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dino.js","sources":["../../src/table/dino.tsx"],"sourcesContent":["import { FC } from 'react'\r\nimport { GridRenderCellParams, GridTreeNodeWithRender, GridValueFormatterParams } from '@mui/x-data-grid'\r\nimport { dayjsCustom } from '../utils'\r\nimport { MapTableBaseContext } from './context'\r\nimport { BtnDetail, BtnFormDetail } from './ui.buttons'\r\nimport { CellBase, CellImageSmall, CellBaseOptions, CellChips, CellChipsProps, CellDate, CellDatePropsOwner } from './ui.units'\r\nimport { Breadcrumbs, IBreadcrumbConfig } from '../components'\r\nimport { CreateStatusCell, IStatusCellOptions, IStatusCellConfig } from './ui.units'\r\nimport ToolbarPannel, { IToolbarPannelProps } from './toolbar-pannel'\r\nimport TableHelper from './helpers'\r\nimport CreateTable from './create.table'\r\nimport CreateActionRow from './create.action-row'\r\n\r\nconst formatDateString = 'MM/DD/YYYY HH:mm'\r\n\r\ntype RenderCellBaseParams<T> = Omit<CellBaseOptions, 'imageUrl'> & {\r\n imageUrl?: (value: any, model: T) => string\r\n valueFormatter?: (value: any, model: T) => string\r\n}\r\n\r\ninterface FormatterDateOptions {\r\n formatString?: string\r\n showRelative?: boolean\r\n}\r\n\r\nclass DinoTableBase {\r\n //#region Base\r\n\r\n createTable = CreateTable\r\n\r\n createActionRow = CreateActionRow\r\n\r\n setUrlQuery = TableHelper.setUrlQuery\r\n\r\n getUrlQuery = TableHelper.getUrlQuery\r\n\r\n mapContext = MapTableBaseContext\r\n\r\n ToolbarPannel = ToolbarPannel\r\n\r\n createToolbar = (props: IToolbarPannelProps): FC<IToolbarPannelProps> => {\r\n return (p) => <ToolbarPannel {...{ ...p, ...props }} />\r\n }\r\n\r\n BtnFormDetail = BtnFormDetail\r\n\r\n BtnDetail = BtnDetail\r\n\r\n createBreadcrumbConfigs = (value: IBreadcrumbConfig[]) => value\r\n\r\n createBreadcrumbs = (value: IBreadcrumbConfig[]): FC => {\r\n return () => <Breadcrumbs value={value} />\r\n }\r\n\r\n createStatusCell = CreateStatusCell\r\n //#endregion\r\n\r\n //#region Value Formatter\r\n formatterDate = (value: any, options?: FormatterDateOptions): string => {\r\n const f = options?.formatString ?? formatDateString\r\n const showRelative = options?.showRelative ?? false\r\n try {\r\n if (!value) return ''\r\n\r\n const date = dayjsCustom(value)\r\n const formatted = date.format(f)\r\n\r\n return showRelative ? `${formatted} (${dayjsCustom().to(date)})` : formatted\r\n } catch (error) {\r\n return ''\r\n }\r\n }\r\n\r\n valueFormatterDate = (options?: FormatterDateOptions) => {\r\n return (params: GridValueFormatterParams<any>) => this.formatterDate(params.value, options)\r\n }\r\n //#endregion\r\n\r\n //#region Render Cell\r\n renderCellChips = (params?: CellChipsProps) => {\r\n return function func(tableRow: GridRenderCellParams<any, any, any, GridTreeNodeWithRender>) {\r\n return <CellChips {...params} value={tableRow.value ?? params?.value} />\r\n }\r\n }\r\n\r\n renderCellStatus = function <E extends string>(config: IStatusCellConfig<E>, options?: IStatusCellOptions) {\r\n const StatusCellInstance = CreateStatusCell(config, { sx: { minWidth: '90px' }, ...options })\r\n return function func(tableRow: GridRenderCellParams<any, any, any, GridTreeNodeWithRender>) {\r\n return <StatusCellInstance value={tableRow.value} />\r\n }\r\n }\r\n\r\n renderCellBase = function <T = any>(options?: RenderCellBaseParams<T>) {\r\n return function func(tableRow: GridRenderCellParams<any, any, any, GridTreeNodeWithRender>) {\r\n const { imageUrl, valueFormatter, ...p } = options ?? {}\r\n const value = valueFormatter ? valueFormatter(tableRow.value, tableRow.row) : undefined\r\n const img = imageUrl ? imageUrl(tableRow.value, tableRow.row) : undefined\r\n return <CellBase value={tableRow.value} valueFormatted={value} {...p} imageUrl={img} />\r\n }\r\n }\r\n\r\n renderCellImage = function <T>(selectImage: (value: T) => T[keyof T], options?: { fallbackSrc?: string }) {\r\n return function func(tableRow: GridRenderCellParams<any, any, any, GridTreeNodeWithRender>) {\r\n return <CellImageSmall value={tableRow.value} imageUri={selectImage(tableRow.row)?.toString()} fallbackSrc={options?.fallbackSrc} />\r\n }\r\n }\r\n\r\n renderCellDate = function (params?: CellDatePropsOwner) {\r\n return function func(tableRow: GridRenderCellParams<any, any, any, GridTreeNodeWithRender>) {\r\n const { formatString, ...props } = params ?? {}\r\n return <CellDate {...props} value={tableRow.value} formatString={formatString ?? formatDateString} />\r\n }\r\n }\r\n //#endregion\r\n}\r\n\r\nconst DinoTable = new DinoTableBase()\r\n\r\nexport default DinoTable\r\n"],"names":["formatDateString","DinoTable","_createClass","DinoTableBase","_this","this","_classCallCheck","_defineProperty","CreateTable","CreateActionRow","TableHelper","setUrlQuery","getUrlQuery","MapTableBaseContext","ToolbarPannel","props","p","_jsx","_objectSpread","BtnFormDetail","BtnDetail","value","Breadcrumbs","CreateStatusCell","options","_options$formatString","_options$showRelative","f","formatString","showRelative","date","dayjsCustom","formatted","format","concat","to","error","params","formatterDate","tableRow","_tableRow$value","CellChips","config","StatusCellInstance","sx","minWidth","_ref","imageUrl","valueFormatter","_objectWithoutProperties","_excluded","row","undefined","img","CellBase","valueFormatted","selectImage","_selectImage","CellImageSmall","imageUri","toString","fallbackSrc","_ref2","_excluded2","CellDate"],"mappings":"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"}
1
+ {"version":3,"file":"dino.js","sources":["../../src/table/dino.tsx"],"sourcesContent":["import { FC } from 'react'\r\nimport { GridRenderCellParams, GridTreeNodeWithRender, GridValueFormatterParams } from '@mui/x-data-grid'\r\nimport { dayjsCustom } from '../utils'\r\nimport { MapTableBaseContext } from './context'\r\nimport { BtnDetail, BtnFormDetail } from './ui.buttons'\r\nimport { CellBase, CellImageSmall, CellBaseOptions, CellChips, CellChipsProps, CellDate, CellDatePropsOwner } from './ui.units'\r\nimport { Breadcrumbs, IBreadcrumbConfig } from '../components'\r\nimport { CreateStatusCell, IStatusCellOptions, IStatusCellConfig } from './ui.units'\r\nimport ToolbarPannel, { IToolbarPannelProps } from './toolbar-pannel'\r\nimport TableHelper from './helpers'\r\nimport CreateTable from './create.table'\r\nimport CreateActionRow from './create.action-row'\r\n\r\nconst formatDateString = 'MM/DD/YYYY HH:mm'\r\n\r\ntype RenderCellBaseParams<T> = Omit<CellBaseOptions, 'imageUrl'> & {\r\n imageUrl?: (value: any, model: T) => string\r\n valueFormatter?: (value: any, model: T) => string\r\n}\r\n\r\ninterface FormatterDateOptions {\r\n formatString?: string\r\n showRelative?: boolean\r\n}\r\n\r\nclass DinoTableBase {\r\n //#region Base\r\n\r\n createTable = CreateTable\r\n\r\n createActionRow = CreateActionRow\r\n\r\n setUrlQuery = TableHelper.setUrlQuery\r\n\r\n getUrlQuery = TableHelper.getUrlQuery\r\n\r\n mapContext = MapTableBaseContext\r\n\r\n ToolbarPannel = ToolbarPannel\r\n\r\n createToolbar = (props: IToolbarPannelProps): FC<IToolbarPannelProps> => {\r\n return (p) => <ToolbarPannel {...{ ...p, ...props }} />\r\n }\r\n\r\n BtnFormDetail = BtnFormDetail\r\n\r\n BtnDetail = BtnDetail\r\n\r\n createBreadcrumbConfigs = (value: IBreadcrumbConfig[]) => value\r\n\r\n createBreadcrumbs = (value: IBreadcrumbConfig[]): FC => {\r\n return () => <Breadcrumbs value={value} />\r\n }\r\n\r\n createStatusCell = CreateStatusCell\r\n //#endregion\r\n\r\n //#region Value Formatter\r\n formatterDate = (value: any, options?: FormatterDateOptions): string => {\r\n const f = options?.formatString ?? formatDateString\r\n const showRelative = options?.showRelative ?? false\r\n try {\r\n if (!value) return ''\r\n\r\n const date = dayjsCustom(value)\r\n const formatted = date.format(f)\r\n\r\n return showRelative ? `${formatted} (${dayjsCustom().to(date)})` : formatted\r\n } catch (error) {\r\n return ''\r\n }\r\n }\r\n\r\n valueFormatterDate = (options?: FormatterDateOptions) => {\r\n return (params: GridValueFormatterParams<any>) => this.formatterDate(params.value, options)\r\n }\r\n //#endregion\r\n\r\n //#region Render Cell\r\n renderCellChips = (params?: CellChipsProps) => {\r\n return function func(tableRow: GridRenderCellParams<any, any, any, GridTreeNodeWithRender>) {\r\n return <CellChips {...params} value={tableRow.value ?? params?.value} />\r\n }\r\n }\r\n\r\n renderCellStatus = function <E extends string>(config: IStatusCellConfig<E>, options?: IStatusCellOptions) {\r\n const StatusCellInstance = CreateStatusCell(config, { sx: { minWidth: '90px' }, ...options })\r\n return function func(tableRow: GridRenderCellParams<any, any, any, GridTreeNodeWithRender>) {\r\n return <StatusCellInstance value={tableRow.value} />\r\n }\r\n }\r\n\r\n renderCellBase = function <T = any>(options?: RenderCellBaseParams<T>) {\r\n return function func(tableRow: GridRenderCellParams<any, any, any, GridTreeNodeWithRender>) {\r\n const { imageUrl, valueFormatter, ...p } = options ?? {}\r\n const value = valueFormatter ? valueFormatter(tableRow.value, tableRow.row) : undefined\r\n const img = imageUrl ? imageUrl(tableRow.value, tableRow.row) : undefined\r\n return <CellBase value={tableRow.value} valueFormatted={value} {...p} imageUrl={img} />\r\n }\r\n }\r\n\r\n renderCellImage = function <T>(selectImage: (value: T) => T[keyof T], options?: { fallbackSrc?: string }) {\r\n return function func(tableRow: GridRenderCellParams<any, any, any, GridTreeNodeWithRender>) {\r\n return <CellImageSmall value={tableRow.value} imageUri={selectImage(tableRow.row)?.toString()} fallbackSrc={options?.fallbackSrc} />\r\n }\r\n }\r\n\r\n renderCellDate = function (params?: CellDatePropsOwner) {\r\n return function func(tableRow: GridRenderCellParams<any, any, any, GridTreeNodeWithRender>) {\r\n const { formatString, ...props } = params ?? {}\r\n return <CellDate {...props} value={tableRow.value} formatString={formatString ?? formatDateString} />\r\n }\r\n }\r\n //#endregion\r\n}\r\n\r\nconst DinoTable = new DinoTableBase()\r\n\r\nexport default DinoTable\r\n"],"names":["formatDateString","DinoTable","_createClass","DinoTableBase","_this","this","_classCallCheck","_defineProperty","CreateTable","CreateActionRow","TableHelper","setUrlQuery","getUrlQuery","MapTableBaseContext","ToolbarPannel","props","p","_jsx","_objectSpread","BtnFormDetail","BtnDetail","value","Breadcrumbs","CreateStatusCell","options","_options$formatString","_options$showRelative","f","formatString","showRelative","date","dayjsCustom","formatted","format","concat","to","error","params","formatterDate","tableRow","_tableRow$value","CellChips","config","StatusCellInstance","sx","minWidth","_ref","imageUrl","valueFormatter","_objectWithoutProperties","_excluded","row","undefined","img","CellBase","valueFormatted","selectImage","_selectImage","CellImageSmall","imageUri","toString","fallbackSrc","_ref2","_excluded2","CellDate"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{createClass as t,classCallCheck as r,defineProperty as e,objectSpread2 as i}from"../_virtual/_rollupPluginBabelHelpers.js";import{encodeBase64 as l,tryParseObject as a,decodeBase64 as n}from"../utils/helpers.js";import"../utils/dayjs-config.js";import"react/jsx-runtime";import"react";import"react-router-dom";import{QueryParam as u}from"../utils/query-param.js";var o={whiteSpacePre:"white-space-pre-wrap"},s=new(t((function t(){var o=this;r(this,t),e(this,"extractTableQueryParams",(function(t){return t?{pagination:t.pagination,filter:t.filter,sort:t.sort,loading:t.loading}:{}})),e(this,"isEmpty",(function(t,r){var e,i=o.extractTableQueryParams(t),l=!i.filter||i.filter.items.filter((function(t){return!!t.value})).length<1,a=!(null!==(e=t.filter)&&void 0!==e&&e.quickFilterValues)||t.filter.quickFilterValues.length<1;return l||a})),e(this,"equalTableQueryParams",(function(t,r){return JSON.stringify(o.extractTableQueryParams(t))===JSON.stringify(o.extractTableQueryParams(r))})),e(this,"mapInitialState",(function(t,r){return t?i({pagination:{paginationModel:t.pagination},filter:{filterModel:t.filter},sorting:{sortModel:o.mapSortModel(t.sort)}},r):null!=r?r:{}})),e(this,"mapSortModel",(function(t){return null==t?void 0:t.map((function(t){return{field:t.field.toString(),sort:t.sort}}))})),e(this,"detectSearchType",(function(t){var r=t.quickFilterValues&&t.quickFilterValues.length>0,e=t.items&&t.items.length>0;return r&&!e?"quickSearch":e?"filter":void 0})),e(this,"extractToUrlQuery",(function(t){var r,e=t.filter,i={filter:e,sort:t.sort,pagination:t.pagination},l=!(null!=e&&null!==(r=e.quickFilterValues)&&void 0!==r&&r.filter((function(t){return!!t})).length);return null!=e&&e.items.length||!l||(i.filter=void 0),i})),e(this,"equals",(function(t,r){return JSON.stringify(o.extractToUrlQuery(t))===JSON.stringify(o.extractToUrlQuery(r))})),e(this,"setUrlQuery",(function(t,r){try{if(o.equals(t,r))u.deletes("table");else{var e=o.extractToUrlQuery(t),i={table:l(JSON.stringify(e))};u.patch(i)}}catch(t){console.log(t)}})),e(this,"getUrlQuery",(function(t){var r,e=u.getAll();if(null==e||!e.table)return t;var i=a(n(null!==(r=e.table)&&void 0!==r?r:""),{});return Object.keys(i).length<1?t:i}))})));export{s as default,o as dinoTableClasses};
1
+ import{createClass as t,classCallCheck as e,defineProperty as r,objectSpread2 as i}from"../_virtual/_rollupPluginBabelHelpers.js";import{encodeBase64 as l,tryParseObject as a,decodeBase64 as n}from"../utils/helpers.js";import"../utils/dayjs-config.js";import{QueryParam as u}from"../utils/query-param.js";var s={whiteSpacePre:"white-space-pre-wrap"},o=new(t((function t(){var s=this;e(this,t),r(this,"extractTableQueryParams",(function(t){return t?{pagination:t.pagination,filter:t.filter,sort:t.sort,loading:t.loading}:{}})),r(this,"isEmpty",(function(t,e){var r,i=s.extractTableQueryParams(t),l=!i.filter||i.filter.items.filter((function(t){return!!t.value})).length<1,a=!(null!==(r=t.filter)&&void 0!==r&&r.quickFilterValues)||t.filter.quickFilterValues.length<1;return l||a})),r(this,"equalTableQueryParams",(function(t,e){return JSON.stringify(s.extractTableQueryParams(t))===JSON.stringify(s.extractTableQueryParams(e))})),r(this,"mapInitialState",(function(t,e){return t?i({pagination:{paginationModel:t.pagination},filter:{filterModel:t.filter},sorting:{sortModel:s.mapSortModel(t.sort)}},e):null!=e?e:{}})),r(this,"mapSortModel",(function(t){return null==t?void 0:t.map((function(t){return{field:t.field.toString(),sort:t.sort}}))})),r(this,"detectSearchType",(function(t){var e=t.quickFilterValues&&t.quickFilterValues.length>0,r=t.items&&t.items.length>0;return e&&!r?"quickSearch":r?"filter":void 0})),r(this,"extractToUrlQuery",(function(t){var e,r=t.filter,i={filter:r,sort:t.sort,pagination:t.pagination},l=!(null!=r&&null!==(e=r.quickFilterValues)&&void 0!==e&&e.filter((function(t){return!!t})).length);return null!=r&&r.items.length||!l||(i.filter=void 0),i})),r(this,"equals",(function(t,e){return JSON.stringify(s.extractToUrlQuery(t))===JSON.stringify(s.extractToUrlQuery(e))})),r(this,"setUrlQuery",(function(t,e){try{if(s.equals(t,e))u.deletes("table");else{var r=s.extractToUrlQuery(t),i={table:l(JSON.stringify(r))};u.patch(i)}}catch(t){console.log(t)}})),r(this,"getUrlQuery",(function(t){var e,r=u.getAll();if(null==r||!r.table)return t;var i=a(n(null!==(e=r.table)&&void 0!==e?e:""),{});return Object.keys(i).length<1?t:i}))})));export{o as default,s as dinoTableClasses};
2
2
  //# sourceMappingURL=helpers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sources":["../../src/table/helpers.ts"],"sourcesContent":["import { GridFilterModel, GridSortItem, GridSortModel } from '@mui/x-data-grid'\r\nimport { GridInitialStateCommunity } from '@mui/x-data-grid/models/gridStateCommunity'\r\nimport { ICustomGridSortModel, ITableQueryParams, ITableQueryDetail } from './types'\r\nimport { decodeBase64, encodeBase64, QueryParam, tryParseObject } from '../utils'\r\n\r\nexport const dinoTableClasses = {\r\n whiteSpacePre: 'white-space-pre-wrap'\r\n}\r\n\r\nexport interface ITableQueryParamModel {\r\n table?: string\r\n}\r\n\r\nclass TableHelperBase {\r\n private extractTableQueryParams = <T>(data?: ITableQueryParams<T>): ITableQueryParams<T> => {\r\n if (!data) return {}\r\n const { pagination, filter, sort, loading } = data\r\n return { pagination, filter, sort, loading }\r\n }\r\n\r\n isEmpty = <T>(value: ITableQueryParams<T>, defaultValue?: ITableQueryParams<T>): boolean => {\r\n const obj = this.extractTableQueryParams<T>(value)\r\n const check1 = !obj.filter || obj.filter.items.filter((x) => !!x.value).length < 1\r\n const check2 = !value.filter?.quickFilterValues || value.filter.quickFilterValues.length < 1\r\n // const check3 =\r\n return check1 || check2\r\n }\r\n\r\n equalTableQueryParams = <T>(ti1?: ITableQueryParams<T>, ti2?: ITableQueryParams<T>): boolean => {\r\n return JSON.stringify(this.extractTableQueryParams<T>(ti1)) === JSON.stringify(this.extractTableQueryParams<T>(ti2))\r\n }\r\n\r\n mapInitialState = <T>(value?: ITableQueryParams<T>, initialState?: GridInitialStateCommunity): GridInitialStateCommunity => {\r\n if (!value) return initialState ?? {}\r\n return {\r\n pagination: { paginationModel: value.pagination },\r\n filter: { filterModel: value.filter as GridFilterModel },\r\n sorting: { sortModel: this.mapSortModel(value.sort) },\r\n ...initialState\r\n }\r\n }\r\n\r\n mapSortModel = <T>(value?: ICustomGridSortModel<T>): GridSortModel | undefined => {\r\n return value?.map<GridSortItem>((x) => ({ field: x.field.toString(), sort: x.sort }))\r\n }\r\n\r\n detectSearchType = (data: GridFilterModel): ITableQueryDetail => {\r\n const hasQuickSearch = data.quickFilterValues && data.quickFilterValues.length > 0\r\n const hasFilter = data.items && data.items.length > 0\r\n if (hasQuickSearch && !hasFilter) return 'quickSearch'\r\n if (hasFilter) return 'filter'\r\n }\r\n\r\n //#region Query Params\r\n private extractToUrlQuery = <TModel>(tableInfo: Partial<ITableQueryParams<TModel>>): Partial<ITableQueryParams<TModel>> => {\r\n const { filter, sort, pagination } = tableInfo\r\n const obj = { filter, sort, pagination }\r\n const isQuickSearchEmpty = !filter?.quickFilterValues?.filter((x) => !!x).length\r\n if (!filter?.items.length && isQuickSearchEmpty) {\r\n obj.filter = undefined\r\n }\r\n return obj\r\n }\r\n\r\n private equals = <TModel>(tableInfo: Partial<ITableQueryParams<TModel>>, tableInfoOld: Partial<ITableQueryParams<TModel>>) => {\r\n return JSON.stringify(this.extractToUrlQuery(tableInfo)) === JSON.stringify(this.extractToUrlQuery(tableInfoOld))\r\n }\r\n\r\n setUrlQuery = <TModel>(tableInfo: Partial<ITableQueryParams<TModel>>, defaultValue: ITableQueryParams<TModel>) => {\r\n try {\r\n if (!this.equals(tableInfo, defaultValue)) {\r\n const data = this.extractToUrlQuery(tableInfo)\r\n const tqp: ITableQueryParamModel = { table: encodeBase64(JSON.stringify(data)) }\r\n QueryParam.patch(tqp)\r\n } else {\r\n QueryParam.deletes<ITableQueryParamModel>('table')\r\n }\r\n } catch (error) {\r\n console.log(error)\r\n }\r\n }\r\n\r\n getUrlQuery = <TModel>(defaultValue: ITableQueryParams<TModel>): ITableQueryParams<TModel> => {\r\n const temp = QueryParam.getAll() as ITableQueryParamModel\r\n if (!temp?.table) return defaultValue\r\n const data = tryParseObject<ITableQueryParams<TModel>>(decodeBase64(temp.table ?? ''), {})\r\n if (Object.keys(data).length < 1) return defaultValue\r\n return data\r\n }\r\n //#endregion\r\n}\r\n\r\nconst TableHelper = new TableHelperBase()\r\nexport default TableHelper\r\n"],"names":["dinoTableClasses","whiteSpacePre","TableHelper","_createClass","TableHelperBase","_this","this","_classCallCheck","_defineProperty","data","pagination","filter","sort","loading","value","defaultValue","_value$filter","obj","extractTableQueryParams","check1","items","x","length","check2","quickFilterValues","ti1","ti2","JSON","stringify","initialState","_objectSpread","paginationModel","filterModel","sorting","sortModel","mapSortModel","map","field","toString","hasQuickSearch","hasFilter","tableInfo","_filter$quickFilterVa","isQuickSearchEmpty","undefined","tableInfoOld","extractToUrlQuery","equals","QueryParam","deletes","tqp","table","encodeBase64","patch","error","console","log","_temp$table","temp","getAll","tryParseObject","decodeBase64","Object","keys"],"mappings":"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"}
1
+ {"version":3,"file":"helpers.js","sources":["../../src/table/helpers.ts"],"sourcesContent":["import { GridFilterModel, GridSortItem, GridSortModel } from '@mui/x-data-grid'\r\nimport { GridInitialStateCommunity } from '@mui/x-data-grid/models/gridStateCommunity'\r\nimport { ICustomGridSortModel, ITableQueryParams, ITableQueryDetail } from './types'\r\nimport { decodeBase64, encodeBase64, QueryParam, tryParseObject } from '../utils'\r\n\r\nexport const dinoTableClasses = {\r\n whiteSpacePre: 'white-space-pre-wrap'\r\n}\r\n\r\nexport interface ITableQueryParamModel {\r\n table?: string\r\n}\r\n\r\nclass TableHelperBase {\r\n private extractTableQueryParams = <T>(data?: ITableQueryParams<T>): ITableQueryParams<T> => {\r\n if (!data) return {}\r\n const { pagination, filter, sort, loading } = data\r\n return { pagination, filter, sort, loading }\r\n }\r\n\r\n isEmpty = <T>(value: ITableQueryParams<T>, defaultValue?: ITableQueryParams<T>): boolean => {\r\n const obj = this.extractTableQueryParams<T>(value)\r\n const check1 = !obj.filter || obj.filter.items.filter((x) => !!x.value).length < 1\r\n const check2 = !value.filter?.quickFilterValues || value.filter.quickFilterValues.length < 1\r\n // const check3 =\r\n return check1 || check2\r\n }\r\n\r\n equalTableQueryParams = <T>(ti1?: ITableQueryParams<T>, ti2?: ITableQueryParams<T>): boolean => {\r\n return JSON.stringify(this.extractTableQueryParams<T>(ti1)) === JSON.stringify(this.extractTableQueryParams<T>(ti2))\r\n }\r\n\r\n mapInitialState = <T>(value?: ITableQueryParams<T>, initialState?: GridInitialStateCommunity): GridInitialStateCommunity => {\r\n if (!value) return initialState ?? {}\r\n return {\r\n pagination: { paginationModel: value.pagination },\r\n filter: { filterModel: value.filter as GridFilterModel },\r\n sorting: { sortModel: this.mapSortModel(value.sort) },\r\n ...initialState\r\n }\r\n }\r\n\r\n mapSortModel = <T>(value?: ICustomGridSortModel<T>): GridSortModel | undefined => {\r\n return value?.map<GridSortItem>((x) => ({ field: x.field.toString(), sort: x.sort }))\r\n }\r\n\r\n detectSearchType = (data: GridFilterModel): ITableQueryDetail => {\r\n const hasQuickSearch = data.quickFilterValues && data.quickFilterValues.length > 0\r\n const hasFilter = data.items && data.items.length > 0\r\n if (hasQuickSearch && !hasFilter) return 'quickSearch'\r\n if (hasFilter) return 'filter'\r\n }\r\n\r\n //#region Query Params\r\n private extractToUrlQuery = <TModel>(tableInfo: Partial<ITableQueryParams<TModel>>): Partial<ITableQueryParams<TModel>> => {\r\n const { filter, sort, pagination } = tableInfo\r\n const obj = { filter, sort, pagination }\r\n const isQuickSearchEmpty = !filter?.quickFilterValues?.filter((x) => !!x).length\r\n if (!filter?.items.length && isQuickSearchEmpty) {\r\n obj.filter = undefined\r\n }\r\n return obj\r\n }\r\n\r\n private equals = <TModel>(tableInfo: Partial<ITableQueryParams<TModel>>, tableInfoOld: Partial<ITableQueryParams<TModel>>) => {\r\n return JSON.stringify(this.extractToUrlQuery(tableInfo)) === JSON.stringify(this.extractToUrlQuery(tableInfoOld))\r\n }\r\n\r\n setUrlQuery = <TModel>(tableInfo: Partial<ITableQueryParams<TModel>>, defaultValue: ITableQueryParams<TModel>) => {\r\n try {\r\n if (!this.equals(tableInfo, defaultValue)) {\r\n const data = this.extractToUrlQuery(tableInfo)\r\n const tqp: ITableQueryParamModel = { table: encodeBase64(JSON.stringify(data)) }\r\n QueryParam.patch(tqp)\r\n } else {\r\n QueryParam.deletes<ITableQueryParamModel>('table')\r\n }\r\n } catch (error) {\r\n console.log(error)\r\n }\r\n }\r\n\r\n getUrlQuery = <TModel>(defaultValue: ITableQueryParams<TModel>): ITableQueryParams<TModel> => {\r\n const temp = QueryParam.getAll() as ITableQueryParamModel\r\n if (!temp?.table) return defaultValue\r\n const data = tryParseObject<ITableQueryParams<TModel>>(decodeBase64(temp.table ?? ''), {})\r\n if (Object.keys(data).length < 1) return defaultValue\r\n return data\r\n }\r\n //#endregion\r\n}\r\n\r\nconst TableHelper = new TableHelperBase()\r\nexport default TableHelper\r\n"],"names":["dinoTableClasses","whiteSpacePre","TableHelper","_createClass","TableHelperBase","_this","this","_classCallCheck","_defineProperty","data","pagination","filter","sort","loading","value","defaultValue","_value$filter","obj","extractTableQueryParams","check1","items","x","length","check2","quickFilterValues","ti1","ti2","JSON","stringify","initialState","_objectSpread","paginationModel","filterModel","sorting","sortModel","mapSortModel","map","field","toString","hasQuickSearch","hasFilter","tableInfo","_filter$quickFilterVa","isQuickSearchEmpty","undefined","tableInfoOld","extractToUrlQuery","equals","QueryParam","deletes","tqp","table","encodeBase64","patch","error","console","log","_temp$table","temp","getAll","tryParseObject","decodeBase64","Object","keys"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export{ELogic,EOperator,EOrder}from"./model-filter.js";import"react/jsx-runtime";import"react";import"@mui/material";import"@mui/icons-material/Edit";import"@mui/icons-material/Delete";import"dayjs";import"../utils/dayjs-config.js";import"../utils/query-param.js";export{default as CreateTable}from"./create.table.js";export{default as DinoTable}from"./dino.js";export{dinoTableClasses}from"./helpers.js";
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":""}
@@ -1,2 +1,2 @@
1
- import{objectSpread2 as r,inherits as e,createClass as t,classCallCheck as n,callSuper as i,defineProperty as o}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsx as a,jsxs as l,Fragment as s}from"react/jsx-runtime";import{Component as p}from"react";import{GridToolbar as c,GridToolbarQuickFilter as d}from"@mui/x-data-grid";import{styled as m,Typography as u,Box as f}from"@mui/material";import{BtnFormCreate as h}from"./ui.buttons.js";import x from"../components/breadcrumbs.js";import"../components/buttons.js";import"clipboard-copy";import"@mui/icons-material/Done";import"@mui/icons-material/ContentCopy";import"../components/create.multi-select-dropdown.js";import g from"../components/help-tooltip.js";import"../components/text-editor.js";var b=function(){function r(){var e;n(this,r);for(var t=arguments.length,p=new Array(t),c=0;c<t;c++)p[c]=arguments[c];return e=i(this,r,[].concat(p)),o(e,"renderTitle",(function(){var r=e.props,t=r.title,n=r.afterTitle,i=r.breadcrumbs;if(!(!!t||!!i||!!n))return a(s,{});var o=t;return"string"==typeof t&&(o=a(v,{children:t})),i&&(o=a(x,{value:i})),l(f,{sx:{height:"56px",display:"flex",alignItems:"center"},children:[o,n]})})),o(e,"renderEndAdornment",(function(){return!e.props.searchInclude||e.props.searchInclude.length<=0?a(s,{}):a(g,{title:"The search includes",small:!0,children:a(y,{children:e.props.searchInclude.map((function(r,e){return a("li",{children:a(u,{variant:"body2",children:r})},e)}))})})})),e}return e(r,p),t(r,[{key:"render",value:function(){return l(f,{sx:{padding:"0 6px"},children:[this.renderTitle(),l(f,{sx:{display:"flex"},children:[l(f,{sx:{flex:1,display:"flex",alignItems:"center",flexWrap:"wrap"},children:[a(c,{sx:{padding:0}}),this.props.formCreate&&a(h,{children:this.props.formCreate}),this.props.afterAction]}),a(f,{sx:{display:"flex",gap:"8px",alignItems:"center"},children:l(f,{sx:{display:"flex",alignItems:"center"},children:[a(d,{fullWidth:!0,variant:"standard",size:"small",debounceMs:800,quickFilterParser:function(r){return[r]}}),this.renderEndAdornment()]})})]})]})}}])}(),y=m("ul")({margin:"0 0 0 18px",padding:0,li:{position:"relative"},"li::after":{content:'"►"',display:"inline-block",top:"50%",transform:"translateY(-50%)",position:"absolute",left:"-18px"}}),v=m((function(e){return a(u,r({noWrap:!0,variant:"subtitle1"},e))}))({fontWeight:700,flex:1});export{b as default};
1
+ import{objectSpread2 as r,inherits as e,createClass as t,classCallCheck as n,callSuper as i,defineProperty as a}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsx as l,jsxs as s,Fragment as o}from"react/jsx-runtime";import{Component as p}from"react";import{GridToolbar as c,GridToolbarQuickFilter as d}from"@mui/x-data-grid";import{styled as u,Typography as f,Box as m}from"@mui/material";import{BtnFormCreate as h}from"./ui.buttons.js";import x from"../components/breadcrumbs.js";import g from"../components/help-tooltip.js";var b=function(){function r(){var e;n(this,r);for(var t=arguments.length,p=new Array(t),c=0;c<t;c++)p[c]=arguments[c];return e=i(this,r,[].concat(p)),a(e,"renderTitle",(function(){var r=e.props,t=r.title,n=r.afterTitle,i=r.breadcrumbs;if(!(!!t||!!i||!!n))return l(o,{});var a=t;return"string"==typeof t&&(a=l(y,{children:t})),i&&(a=l(x,{value:i})),s(m,{sx:{height:"56px",display:"flex",alignItems:"center"},children:[a,n]})})),a(e,"renderEndAdornment",(function(){return!e.props.searchInclude||e.props.searchInclude.length<=0?l(o,{}):l(g,{title:"The search includes",small:!0,children:l(v,{children:e.props.searchInclude.map((function(r,e){return l("li",{children:l(f,{variant:"body2",children:r})},e)}))})})})),e}return e(r,p),t(r,[{key:"render",value:function(){return s(m,{sx:{padding:"0 6px"},children:[this.renderTitle(),s(m,{sx:{display:"flex"},children:[s(m,{sx:{flex:1,display:"flex",alignItems:"center",flexWrap:"wrap"},children:[l(c,{sx:{padding:0}}),this.props.formCreate&&l(h,{children:this.props.formCreate}),this.props.afterAction]}),l(m,{sx:{display:"flex",gap:"8px",alignItems:"center"},children:s(m,{sx:{display:"flex",alignItems:"center"},children:[l(d,{fullWidth:!0,variant:"standard",size:"small",debounceMs:800,quickFilterParser:function(r){return[r]}}),this.renderEndAdornment()]})})]})]})}}])}(),v=u("ul")({margin:"0 0 0 18px",padding:0,li:{position:"relative"},"li::after":{content:'"►"',display:"inline-block",top:"50%",transform:"translateY(-50%)",position:"absolute",left:"-18px"}}),y=u((function(e){return l(f,r({noWrap:!0,variant:"subtitle1"},e))}))({fontWeight:700,flex:1});export{b as default};
2
2
  //# sourceMappingURL=toolbar-pannel.js.map