dinocollab-core 2.0.0 → 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 (159) hide show
  1. package/bin/codegen.js +66 -0
  2. package/dist/_virtual/_rollupPluginBabelHelpers.js +2 -2
  3. package/dist/api-context/drawer-global.js +1 -1
  4. package/dist/api-context/global-modal.js +1 -1
  5. package/dist/api-context/popover-global.js +1 -1
  6. package/dist/api-context/popover.js +1 -1
  7. package/dist/components/copy-to-clipboard.js +1 -1
  8. package/dist/components/create.multi-select-dropdown.js +1 -1
  9. package/dist/components/create.multi-select-dropdown.js.map +1 -1
  10. package/dist/components/help-tooltip.js +1 -1
  11. package/dist/data-view/convert-filter-to-graphql.js +1 -1
  12. package/dist/data-view/convert-filter-to-graphql.js.map +1 -1
  13. package/dist/data-view/create.active-filters-panel.js +1 -1
  14. package/dist/data-view/create.active-filters-panel.js.map +1 -1
  15. package/dist/data-view/create.data-view.js +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 +1 -1
  21. package/dist/data-view/query-param-url.js +1 -1
  22. package/dist/data-view/query-param-url.js.map +1 -1
  23. package/dist/data-view/view-mode.content.js +1 -1
  24. package/dist/form/create.autocomplete.chips.js +1 -1
  25. package/dist/form/create.date-expired.js +1 -1
  26. package/dist/form/create.date-expired.js.map +1 -1
  27. package/dist/form/create.date-picker.js +1 -1
  28. package/dist/form/create.date-picker.js.map +1 -1
  29. package/dist/form/create.form-comfirm.js +1 -1
  30. package/dist/form/create.form-comfirm.js.map +1 -1
  31. package/dist/form/create.form-grid-layout.js +1 -1
  32. package/dist/form/create.form-grid-layout.js.map +1 -1
  33. package/dist/form/create.input-file.csv-local-parser.js +1 -1
  34. package/dist/form/create.input-file.csv-local-parser.js.map +1 -1
  35. package/dist/form/create.input.file.js +1 -1
  36. package/dist/form/create.input.image-file.js +1 -1
  37. package/dist/form/create.input.js +1 -1
  38. package/dist/form/create.input.js.map +1 -1
  39. package/dist/form/create.select-simple.js +1 -1
  40. package/dist/form/create.select-simple.js.map +1 -1
  41. package/dist/form/create.select-with-api.js +1 -1
  42. package/dist/form/create.select-with-api.js.map +1 -1
  43. package/dist/form/modal-wrapper.js +1 -1
  44. package/dist/form/modal-wrapper.js.map +1 -1
  45. package/dist/form/validator.js +1 -1
  46. package/dist/form/validator.js.map +1 -1
  47. package/dist/http-service/base/crud-service-base.js +2 -0
  48. package/dist/http-service/base/crud-service-base.js.map +1 -0
  49. package/dist/http-service/base/gateway.js +2 -0
  50. package/dist/http-service/base/gateway.js.map +1 -0
  51. package/dist/http-service/base/helpers.js +2 -0
  52. package/dist/http-service/base/helpers.js.map +1 -0
  53. package/dist/http-service/base/service-base.js +2 -0
  54. package/dist/http-service/base/service-base.js.map +1 -0
  55. package/dist/http-service/base/types.js +2 -0
  56. package/dist/http-service/base/types.js.map +1 -0
  57. package/dist/http-service/graphql/app-profile.js +2 -0
  58. package/dist/http-service/graphql/app-profile.js.map +1 -0
  59. package/dist/http-service/graphql/graphql-request.js +2 -0
  60. package/dist/http-service/graphql/graphql-request.js.map +1 -0
  61. package/dist/http-service/graphql/key-converter.js.map +1 -0
  62. package/dist/http-service/graphql/request-param.js +2 -0
  63. package/dist/http-service/graphql/request-param.js.map +1 -0
  64. package/dist/http-service/graphql/types.js +2 -0
  65. package/dist/http-service/graphql/types.js.map +1 -0
  66. package/dist/http-service/index.js +2 -0
  67. package/dist/http-service/index.js.map +1 -0
  68. package/dist/mfe-auth/auth-enums.js +2 -0
  69. package/dist/mfe-auth/auth-enums.js.map +1 -0
  70. package/dist/mfe-auth/auth-mfe-manager.js +2 -0
  71. package/dist/mfe-auth/auth-mfe-manager.js.map +1 -0
  72. package/dist/mfe-auth/auth-mfe-provider.js +2 -0
  73. package/dist/mfe-auth/auth-mfe-provider.js.map +1 -0
  74. package/dist/mfe-auth/auth-types.js +2 -0
  75. package/dist/mfe-auth/auth-types.js.map +1 -0
  76. package/dist/mfe-auth/index.js +2 -0
  77. package/dist/mfe-auth/index.js.map +1 -0
  78. package/dist/mfe-auth/micro-frontend-auth-hooks.js +2 -0
  79. package/dist/mfe-auth/micro-frontend-auth-hooks.js.map +1 -0
  80. package/dist/mfe-modules/index.js +2 -0
  81. package/dist/mfe-modules/index.js.map +1 -0
  82. package/dist/mfe-modules/mfe-navigate.debug.js +2 -0
  83. package/dist/mfe-modules/mfe-navigate.debug.js.map +1 -0
  84. package/dist/mfe-modules/mfe-navigate.remote.js +2 -0
  85. package/dist/mfe-modules/mfe-navigate.remote.js.map +1 -0
  86. package/dist/mfe-modules/nextjs/index.js +2 -0
  87. package/dist/mfe-modules/nextjs/index.js.map +1 -0
  88. package/dist/mfe-modules/nextjs/provider.js +2 -0
  89. package/dist/mfe-modules/nextjs/provider.js.map +1 -0
  90. package/dist/mfe-modules/react/index.js +2 -0
  91. package/dist/mfe-modules/react/index.js.map +1 -0
  92. package/dist/mfe-modules/react/provider.js +2 -0
  93. package/dist/mfe-modules/react/provider.js.map +1 -0
  94. package/dist/redux/create.hoc-lazy.js +1 -1
  95. package/dist/table/create.action-row.js +1 -1
  96. package/dist/table/create.action-row.js.map +1 -1
  97. package/dist/table/create.table.js +1 -1
  98. package/dist/table/create.table.js.map +1 -1
  99. package/dist/table/dino.js +1 -1
  100. package/dist/table/dino.js.map +1 -1
  101. package/dist/table/helpers.js +1 -1
  102. package/dist/table/helpers.js.map +1 -1
  103. package/dist/table/index.js +1 -1
  104. package/dist/table/toolbar-pannel.js +1 -1
  105. package/dist/table/ui.buttons.js +1 -1
  106. package/dist/table/ui.buttons.js.map +1 -1
  107. package/dist/table/ui.units.js +1 -1
  108. package/dist/table/ui.units.js.map +1 -1
  109. package/dist/table-grid/create.table-grid.js +1 -1
  110. package/dist/table-grid/create.table-grid.js.map +1 -1
  111. package/dist/table-grid/filter-bar/create.filter-bar.js +1 -1
  112. package/dist/table-grid/item-actions.js +1 -1
  113. package/dist/table-grid/item-actions.js.map +1 -1
  114. package/dist/table-grid/toolbar-pannel.js +1 -1
  115. package/dist/table-grid/toolbar-pannel.js.map +1 -1
  116. package/dist/table-grid/url-query-param.js +1 -1
  117. package/dist/table-grid/url-query-param.js.map +1 -1
  118. package/dist/types/data-view/convert-filter-to-graphql.d.ts +3 -3
  119. package/dist/types/data-view/dino.d.ts +1 -1
  120. package/dist/types/data-view/index.d.ts +0 -1
  121. package/dist/types/http-service/base/crud-service-base.d.ts +68 -0
  122. package/dist/types/http-service/base/gateway.d.ts +3 -0
  123. package/dist/types/http-service/base/helpers.d.ts +31 -0
  124. package/dist/types/http-service/base/index.d.ts +6 -0
  125. package/dist/types/http-service/base/service-base.d.ts +132 -0
  126. package/dist/types/http-service/base/type.api-alert.d.ts +17 -0
  127. package/dist/types/http-service/base/types.d.ts +45 -0
  128. package/dist/types/http-service/graphql/app-profile.d.ts +17 -0
  129. package/dist/types/http-service/graphql/graphql-request.d.ts +83 -0
  130. package/dist/types/http-service/graphql/index.d.ts +5 -0
  131. package/dist/types/{data-view → http-service/graphql}/key-converter.d.ts +2 -1
  132. package/dist/types/http-service/graphql/request-param.d.ts +65 -0
  133. package/dist/types/http-service/graphql/types.d.ts +62 -0
  134. package/dist/types/http-service/index.d.ts +2 -0
  135. package/dist/types/mfe-auth/auth-enums.d.ts +40 -0
  136. package/dist/types/mfe-auth/auth-mfe-manager.d.ts +68 -0
  137. package/dist/types/mfe-auth/auth-mfe-provider.d.ts +19 -0
  138. package/dist/types/mfe-auth/auth-types.d.ts +33 -0
  139. package/dist/types/mfe-auth/index.d.ts +6 -0
  140. package/dist/types/mfe-auth/micro-frontend-auth-hooks.d.ts +164 -0
  141. package/dist/types/mfe-modules/index.d.ts +2 -0
  142. package/dist/types/mfe-modules/mfe-navigate.debug.d.ts +2 -0
  143. package/dist/types/mfe-modules/mfe-navigate.remote.d.ts +10 -0
  144. package/dist/types/mfe-modules/nextjs/index.d.ts +1 -0
  145. package/dist/types/mfe-modules/nextjs/provider.d.ts +2 -0
  146. package/dist/types/mfe-modules/react/index.d.ts +1 -0
  147. package/dist/types/mfe-modules/react/provider.d.ts +3 -0
  148. package/dist/types/mfe-modules/types.d.ts +7 -0
  149. package/dist/types/utils/index.d.ts +0 -1
  150. package/dist/utils/helpers.js +1 -1
  151. package/dist/utils/index.js +1 -1
  152. package/dist/utils/query-param.js +1 -1
  153. package/dist/utils/query-param.js.map +1 -1
  154. package/package.json +87 -47
  155. package/dist/data-view/key-converter.js.map +0 -1
  156. package/dist/types/utils/mfe-events.d.ts +0 -12
  157. package/dist/utils/mfe-events.js +0 -2
  158. package/dist/utils/mfe-events.js.map +0 -1
  159. /package/dist/{data-view → http-service/graphql}/key-converter.js +0 -0
package/bin/codegen.js ADDED
@@ -0,0 +1,66 @@
1
+ #!/usr/bin/env node
2
+
3
+ const fs = require('fs')
4
+ const path = require('path')
5
+ const { AsyncGenerator, loadRemoteSchema } = require('graphql-ts-client-codegen')
6
+
7
+ // Parse --schema-url, --secure, and --out-dir from command line arguments
8
+ let schemaUrl = undefined
9
+ let secure = false
10
+ let outDir = undefined
11
+
12
+ for (let i = 2; i < process.argv.length; i++) {
13
+ if (process.argv[i].startsWith('--schema-url=')) {
14
+ schemaUrl = process.argv[i].replace('--schema-url=', '')
15
+ }
16
+ if (process.argv[i] === '--secure') {
17
+ secure = true
18
+ }
19
+ if (process.argv[i].startsWith('--out-dir=')) {
20
+ outDir = process.argv[i].replace('--out-dir=', '')
21
+ }
22
+ }
23
+
24
+ // Set NODE_TLS_REJECT_UNAUTHORIZED if --secure is passed
25
+ if (!secure) {
26
+ process.env.NODE_TLS_REJECT_UNAUTHORIZED = '0'
27
+ console.warn('[Warning] SSL certificate validation is disabled (--secure)')
28
+ }
29
+
30
+ if (!schemaUrl) {
31
+ console.error('Error: Please provide --schema-url argument')
32
+ process.exit(1)
33
+ }
34
+
35
+ // Default: __generated at the same level as package.json (project root)
36
+ if (!outDir) {
37
+ // Find the nearest package.json upwards from current working directory
38
+ let dir = process.cwd()
39
+ let found = false
40
+ while (dir !== path.parse(dir).root) {
41
+ if (fs.existsSync(path.join(dir, 'package.json'))) {
42
+ found = true
43
+ break
44
+ }
45
+ dir = path.dirname(dir)
46
+ }
47
+ outDir = found ? path.join(dir, '__generated') : path.join(process.cwd(), '__generated')
48
+ }
49
+
50
+ if (!fs.existsSync(outDir)) {
51
+ fs.mkdirSync(outDir, { recursive: true })
52
+ }
53
+
54
+ console.log(`🚀 Generating code from schema at ${schemaUrl}`)
55
+ console.log(`📦 Output directory: ${outDir}`)
56
+
57
+ const generator = new AsyncGenerator({
58
+ schemaLoader: () => loadRemoteSchema(schemaUrl),
59
+ targetDir: outDir,
60
+ scalarTypeMap: {
61
+ DateTimeOffset: 'string',
62
+ TimeSpan: 'string'
63
+ }
64
+ })
65
+
66
+ generator.generate()
@@ -1,4 +1,4 @@
1
- function t(t,r){(null==r||r>t.length)&&(r=t.length);for(var e=0,n=Array(r);e<r;e++)n[e]=t[e];return n}function r(t){if(Array.isArray(t))return t}function e(r){if(Array.isArray(r))return t(r)}function n(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function o(t,r,e,n,o,i,a){try{var u=t[i](a),c=u.value}catch(t){return void e(t)}u.done?r(c):Promise.resolve(c).then(n,o)}function i(t){return function(){var r=this,e=arguments;return new Promise((function(n,i){var a=t.apply(r,e);function u(t){o(a,n,i,u,c,"next",t)}function c(t){o(a,n,i,u,c,"throw",t)}u(void 0)}))}}function a(t,r,e){return r=y(r),P(t,b()?Reflect.construct(r,e||[],y(t).constructor):r.apply(t,e))}function u(t,r){if(!(t instanceof r))throw new TypeError("Cannot call a class as a function")}function c(t,r){for(var e=0;e<r.length;e++){var n=r[e];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,C(n.key),n)}}function f(t,r,e){return r&&c(t.prototype,r),e&&c(t,e),Object.defineProperty(t,"prototype",{writable:!1}),t}function l(t,r){var e="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!e){if(Array.isArray(t)||(e=G(t))||r){e&&(t=e);var n=0,o=function(){};return{s:o,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){e=e.call(t)},n:function(){var t=e.next();return a=t.done,t},e:function(t){u=!0,i=t},f:function(){try{a||null==e.return||e.return()}finally{if(u)throw i}}}}function s(t,r,e){return(r=C(r))in t?Object.defineProperty(t,r,{value:e,enumerable:!0,configurable:!0,writable:!0}):t[r]=e,t}function y(t){return y=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},y(t)}function p(t,r){if("function"!=typeof r&&null!==r)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(r&&r.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),r&&A(t,r)}function b(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return(b=function(){return!!t})()}function v(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}function d(t,r){var e=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=e){var n,o,i,a,u=[],c=!0,f=!1;try{if(i=(e=e.call(t)).next,0===r){if(Object(e)!==e)return;c=!1}else for(;!(c=(n=i.call(e)).done)&&(u.push(n.value),u.length!==r);c=!0);}catch(t){f=!0,o=t}finally{try{if(!c&&null!=e.return&&(a=e.return(),Object(a)!==a))return}finally{if(f)throw o}}return u}}function m(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function h(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function O(t,r){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable}))),e.push.apply(e,n)}return e}function j(t){for(var r=1;r<arguments.length;r++){var e=null!=arguments[r]?arguments[r]:{};r%2?O(Object(e),!0).forEach((function(r){s(t,r,e[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):O(Object(e)).forEach((function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(e,r))}))}return t}function w(t,r){if(null==t)return{};var e,n,o=g(t,r);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(n=0;n<i.length;n++)e=i[n],-1===r.indexOf(e)&&{}.propertyIsEnumerable.call(t,e)&&(o[e]=t[e])}return o}function g(t,r){if(null==t)return{};var e={};for(var n in t)if({}.hasOwnProperty.call(t,n)){if(-1!==r.indexOf(n))continue;e[n]=t[n]}return e}function P(t,r){if(r&&("object"==typeof r||"function"==typeof r))return r;if(void 0!==r)throw new TypeError("Derived constructors may only return object or undefined");return n(t)}function S(){
1
+ function t(t,r){(null==r||r>t.length)&&(r=t.length);for(var e=0,n=Array(r);e<r;e++)n[e]=t[e];return n}function r(t){if(Array.isArray(t))return t}function e(r){if(Array.isArray(r))return t(r)}function n(t){if(void 0===t)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return t}function o(t,r,e,n,o,i,a){try{var u=t[i](a),c=u.value}catch(t){return void e(t)}u.done?r(c):Promise.resolve(c).then(n,o)}function i(t){return function(){var r=this,e=arguments;return new Promise((function(n,i){var a=t.apply(r,e);function u(t){o(a,n,i,u,c,"next",t)}function c(t){o(a,n,i,u,c,"throw",t)}u(void 0)}))}}function a(t,r,e){return r=b(r),A(t,h()?Reflect.construct(r,e||[],b(t).constructor):r.apply(t,e))}function u(t,r){if(!(t instanceof r))throw new TypeError("Cannot call a class as a function")}function c(t,r,e){if(h())return Reflect.construct.apply(null,arguments);var n=[null];n.push.apply(n,r);var o=new(t.bind.apply(t,n));return e&&I(o,e.prototype),o}function f(t,r){for(var e=0;e<r.length;e++){var n=r[e];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(t,F(n.key),n)}}function l(t,r,e){return r&&f(t.prototype,r),e&&f(t,e),Object.defineProperty(t,"prototype",{writable:!1}),t}function s(t,r){var e="undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(!e){if(Array.isArray(t)||(e=W(t))||r){e&&(t=e);var n=0,o=function(){};return{s:o,n:function(){return n>=t.length?{done:!0}:{done:!1,value:t[n++]}},e:function(t){throw t},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,a=!0,u=!1;return{s:function(){e=e.call(t)},n:function(){var t=e.next();return a=t.done,t},e:function(t){u=!0,i=t},f:function(){try{a||null==e.return||e.return()}finally{if(u)throw i}}}}function p(t,r,e){return(r=F(r))in t?Object.defineProperty(t,r,{value:e,enumerable:!0,configurable:!0,writable:!0}):t[r]=e,t}function y(){return y="undefined"!=typeof Reflect&&Reflect.get?Reflect.get.bind():function(t,r,e){var n=R(t,r);if(n){var o=Object.getOwnPropertyDescriptor(n,r);return o.get?o.get.call(arguments.length<3?t:e):o.value}},y.apply(null,arguments)}function b(t){return b=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},b(t)}function v(t,r){if("function"!=typeof r&&null!==r)throw new TypeError("Super expression must either be null or a function");t.prototype=Object.create(r&&r.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),Object.defineProperty(t,"prototype",{writable:!1}),r&&I(t,r)}function d(t){try{return-1!==Function.toString.call(t).indexOf("[native code]")}catch(r){return"function"==typeof t}}function h(){try{var t=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){})))}catch(t){}return(h=function(){return!!t})()}function m(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}function O(t,r){var e=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=e){var n,o,i,a,u=[],c=!0,f=!1;try{if(i=(e=e.call(t)).next,0===r){if(Object(e)!==e)return;c=!1}else for(;!(c=(n=i.call(e)).done)&&(u.push(n.value),u.length!==r);c=!0);}catch(t){f=!0,o=t}finally{try{if(!c&&null!=e.return&&(a=e.return(),Object(a)!==a))return}finally{if(f)throw o}}return u}}function w(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function g(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function j(t,r){var e=Object.keys(t);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(t);r&&(n=n.filter((function(r){return Object.getOwnPropertyDescriptor(t,r).enumerable}))),e.push.apply(e,n)}return e}function P(t){for(var r=1;r<arguments.length;r++){var e=null!=arguments[r]?arguments[r]:{};r%2?j(Object(e),!0).forEach((function(r){p(t,r,e[r])})):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(e)):j(Object(e)).forEach((function(r){Object.defineProperty(t,r,Object.getOwnPropertyDescriptor(e,r))}))}return t}function S(t,r){if(null==t)return{};var e,n,o=T(t,r);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(n=0;n<i.length;n++)e=i[n],-1===r.indexOf(e)&&{}.propertyIsEnumerable.call(t,e)&&(o[e]=t[e])}return o}function T(t,r){if(null==t)return{};var e={};for(var n in t)if({}.hasOwnProperty.call(t,n)){if(-1!==r.indexOf(n))continue;e[n]=t[n]}return e}function A(t,r){if(r&&("object"==typeof r||"function"==typeof r))return r;if(void 0!==r)throw new TypeError("Derived constructors may only return object or undefined");return n(t)}function E(){
2
2
  /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
3
- var t,r,e="function"==typeof Symbol?Symbol:{},n=e.iterator||"@@iterator",o=e.toStringTag||"@@toStringTag";function i(e,n,o,i){var c=n&&n.prototype instanceof u?n:u,f=Object.create(c.prototype);return T(f,"_invoke",function(e,n,o){var i,u,c,f=0,l=o||[],s=!1,y={p:0,n:0,v:t,a:p,f:p.bind(t,4),d:function(r,e){return i=r,u=0,c=t,y.n=e,a}};function p(e,n){for(u=e,c=n,r=0;!s&&f&&!o&&r<l.length;r++){var o,i=l[r],p=y.p,b=i[2];e>3?(o=b===n)&&(c=i[(u=i[4])?5:(u=3,3)],i[4]=i[5]=t):i[0]<=p&&((o=e<2&&p<i[1])?(u=0,y.v=n,y.n=i[1]):p<b&&(o=e<3||i[0]>n||n>b)&&(i[4]=e,i[5]=n,y.n=b,u=0))}if(o||e>1)return a;throw s=!0,n}return function(o,l,b){if(f>1)throw TypeError("Generator is already running");for(s&&1===l&&p(l,b),u=l,c=b;(r=u<2?t:c)||!s;){i||(u?u<3?(u>1&&(y.n=-1),p(u,c)):y.n=c:y.v=c);try{if(f=2,i){if(u||(o="next"),r=i[o]){if(!(r=r.call(i,c)))throw TypeError("iterator result is not an object");if(!r.done)return r;c=r.value,u<2&&(u=0)}else 1===u&&(r=i.return)&&r.call(i),u<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),u=1);i=t}else if((r=(s=y.n<0)?c:e.call(n,y))!==a)break}catch(r){i=t,u=1,c=r}finally{f=1}}return{value:r,done:s}}}(e,o,i),!0),f}var a={};function u(){}function c(){}function f(){}r=Object.getPrototypeOf;var l=[][n]?r(r([][n]())):(T(r={},n,(function(){return this})),r),s=f.prototype=u.prototype=Object.create(l);function y(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,f):(t.__proto__=f,T(t,o,"GeneratorFunction")),t.prototype=Object.create(s),t}return c.prototype=f,T(s,"constructor",f),T(f,"constructor",c),c.displayName="GeneratorFunction",T(f,o,"GeneratorFunction"),T(s),T(s,o,"Generator"),T(s,n,(function(){return this})),T(s,"toString",(function(){return"[object Generator]"})),(S=function(){return{w:i,m:y}})()}function T(t,r,e,n){var o=Object.defineProperty;try{o({},"",{})}catch(t){o=0}T=function(t,r,e,n){if(r)o?o(t,r,{value:e,enumerable:!n,configurable:!n,writable:!n}):t[r]=e;else{function i(r,e){T(t,r,(function(t){return this._invoke(r,e,t)}))}i("next",0),i("throw",1),i("return",2)}},T(t,r,e,n)}function A(t,r){return A=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,r){return t.__proto__=r,t},A(t,r)}function E(t,e){return r(t)||d(t,e)||G(t,e)||m()}function _(t){return r(t)||v(t)||G(t)||m()}function I(t){return e(t)||v(t)||G(t)||h()}function x(t,r){if("object"!=typeof t||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var n=e.call(t,r);if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}function C(t){var r=x(t,"string");return"symbol"==typeof r?r:r+""}function k(t){return k="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},k(t)}function G(r,e){if(r){if("string"==typeof r)return t(r,e);var n={}.toString.call(r).slice(8,-1);return"Object"===n&&r.constructor&&(n=r.constructor.name),"Map"===n||"Set"===n?Array.from(r):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?t(r,e):void 0}}export{t as arrayLikeToArray,r as arrayWithHoles,e as arrayWithoutHoles,n as assertThisInitialized,i as asyncToGenerator,a as callSuper,u as classCallCheck,f as createClass,l as createForOfIteratorHelper,s as defineProperty,y as getPrototypeOf,p as inherits,b as isNativeReflectConstruct,v as iterableToArray,d as iterableToArrayLimit,m as nonIterableRest,h as nonIterableSpread,j as objectSpread2,w as objectWithoutProperties,g as objectWithoutPropertiesLoose,P as possibleConstructorReturn,S as regenerator,T as regeneratorDefine,A as setPrototypeOf,E as slicedToArray,_ as toArray,I as toConsumableArray,x as toPrimitive,C as toPropertyKey,k as typeof,G as unsupportedIterableToArray};
3
+ var t,r,e="function"==typeof Symbol?Symbol:{},n=e.iterator||"@@iterator",o=e.toStringTag||"@@toStringTag";function i(e,n,o,i){var c=n&&n.prototype instanceof u?n:u,f=Object.create(c.prototype);return _(f,"_invoke",function(e,n,o){var i,u,c,f=0,l=o||[],s=!1,p={p:0,n:0,v:t,a:y,f:y.bind(t,4),d:function(r,e){return i=r,u=0,c=t,p.n=e,a}};function y(e,n){for(u=e,c=n,r=0;!s&&f&&!o&&r<l.length;r++){var o,i=l[r],y=p.p,b=i[2];e>3?(o=b===n)&&(c=i[(u=i[4])?5:(u=3,3)],i[4]=i[5]=t):i[0]<=y&&((o=e<2&&y<i[1])?(u=0,p.v=n,p.n=i[1]):y<b&&(o=e<3||i[0]>n||n>b)&&(i[4]=e,i[5]=n,p.n=b,u=0))}if(o||e>1)return a;throw s=!0,n}return function(o,l,b){if(f>1)throw TypeError("Generator is already running");for(s&&1===l&&y(l,b),u=l,c=b;(r=u<2?t:c)||!s;){i||(u?u<3?(u>1&&(p.n=-1),y(u,c)):p.n=c:p.v=c);try{if(f=2,i){if(u||(o="next"),r=i[o]){if(!(r=r.call(i,c)))throw TypeError("iterator result is not an object");if(!r.done)return r;c=r.value,u<2&&(u=0)}else 1===u&&(r=i.return)&&r.call(i),u<2&&(c=TypeError("The iterator does not provide a '"+o+"' method"),u=1);i=t}else if((r=(s=p.n<0)?c:e.call(n,p))!==a)break}catch(r){i=t,u=1,c=r}finally{f=1}}return{value:r,done:s}}}(e,o,i),!0),f}var a={};function u(){}function c(){}function f(){}r=Object.getPrototypeOf;var l=[][n]?r(r([][n]())):(_(r={},n,(function(){return this})),r),s=f.prototype=u.prototype=Object.create(l);function p(t){return Object.setPrototypeOf?Object.setPrototypeOf(t,f):(t.__proto__=f,_(t,o,"GeneratorFunction")),t.prototype=Object.create(s),t}return c.prototype=f,_(s,"constructor",f),_(f,"constructor",c),c.displayName="GeneratorFunction",_(f,o,"GeneratorFunction"),_(s),_(s,o,"Generator"),_(s,n,(function(){return this})),_(s,"toString",(function(){return"[object Generator]"})),(E=function(){return{w:i,m:p}})()}function _(t,r,e,n){var o=Object.defineProperty;try{o({},"",{})}catch(t){o=0}_=function(t,r,e,n){if(r)o?o(t,r,{value:e,enumerable:!n,configurable:!n,writable:!n}):t[r]=e;else{function i(r,e){_(t,r,(function(t){return this._invoke(r,e,t)}))}i("next",0),i("throw",1),i("return",2)}},_(t,r,e,n)}function I(t,r){return I=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(t,r){return t.__proto__=r,t},I(t,r)}function x(t,e){return r(t)||O(t,e)||W(t,e)||w()}function R(t,r){for(;!{}.hasOwnProperty.call(t,r)&&null!==(t=b(t)););return t}function C(t,r,e,n){var o=y(b(t.prototype),r,e);return"function"==typeof o?function(t){return o.apply(e,t)}:o}function G(t){return r(t)||m(t)||W(t)||w()}function k(t){return e(t)||m(t)||W(t)||g()}function D(t,r){if("object"!=typeof t||!t)return t;var e=t[Symbol.toPrimitive];if(void 0!==e){var n=e.call(t,r);if("object"!=typeof n)return n;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===r?String:Number)(t)}function F(t){var r=D(t,"string");return"symbol"==typeof r?r:r+""}function N(t){return N="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},N(t)}function W(r,e){if(r){if("string"==typeof r)return t(r,e);var n={}.toString.call(r).slice(8,-1);return"Object"===n&&r.constructor&&(n=r.constructor.name),"Map"===n||"Set"===n?Array.from(r):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?t(r,e):void 0}}function B(t){var r="function"==typeof Map?new Map:void 0;return B=function(t){if(null===t||!d(t))return t;if("function"!=typeof t)throw new TypeError("Super expression must either be null or a function");if(void 0!==r){if(r.has(t))return r.get(t);r.set(t,e)}function e(){return c(t,arguments,b(this).constructor)}return e.prototype=Object.create(t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),I(e,t)},B(t)}export{t as arrayLikeToArray,r as arrayWithHoles,e as arrayWithoutHoles,n as assertThisInitialized,i as asyncToGenerator,a as callSuper,u as classCallCheck,c as construct,l as createClass,s as createForOfIteratorHelper,p as defineProperty,y as get,b as getPrototypeOf,v as inherits,d as isNativeFunction,h as isNativeReflectConstruct,m as iterableToArray,O as iterableToArrayLimit,w as nonIterableRest,g as nonIterableSpread,P as objectSpread2,S as objectWithoutProperties,T as objectWithoutPropertiesLoose,A as possibleConstructorReturn,E as regenerator,_ as regeneratorDefine,I as setPrototypeOf,x as slicedToArray,R as superPropBase,C as superPropGet,G as toArray,k as toConsumableArray,D as toPrimitive,F as toPropertyKey,N as typeof,W as unsupportedIterableToArray,B as wrapNativeSuper};
4
4
  //# sourceMappingURL=_rollupPluginBabelHelpers.js.map
@@ -1,2 +1,2 @@
1
- import{defineProperty as e,inherits as t,createClass as r,classCallCheck as n,callSuper as a}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsx as i,jsxs as o}from"react/jsx-runtime";import{Component as l}from"react";import{styled as s,Box as c,Typography as h,Drawer as u,IconButton as d,Divider as p}from"@mui/material";import f from"@mui/icons-material/Close";var m="DrawerGlobal-root",v="DrawerGlobal-title",g="DrawerGlobal-content",C="DrawerGlobal-fullHeight",b={close:function(){console.warn("DrawerGlobal provider not found!")},open:function(){console.warn("DrawerGlobal provider not found!")}},x={Provider:function(){function s(t){var r;return n(this,s),r=a(this,s,[t]),e(r,"close",(function(e){!1===r.state.backdropClickeable&&"backdropClick"===e||r.setState({renderContent:void 0})})),e(r,"open",(function(e){return r.setState(e)})),e(r,"renderTitle",(function(){return"string"==typeof r.state.title?i(h,{variant:"h6",noWrap:!0,children:r.state.title}):r.state.title})),e(r,"getClasses",(function(){var e=[m];return r.state.fullHeight&&e.push(C),e.join(" ")})),r.state={},r}return t(s,l),r(s,[{key:"componentDidMount",value:function(){b.open=this.open,b.close=this.close}},{key:"render",value:function(){var e=this;return i(u,{anchor:this.state.anchor,open:Boolean(this.state.renderContent),onClose:function(t,r){return e.close(r)},children:o(k,{className:this.getClasses(),children:[o("div",{className:v,children:[this.state.icon,this.renderTitle(),i(c,{sx:{flex:1}}),i(d,{onClick:function(){return e.close()},children:i(f,{})})]}),i(p,{variant:"middle"}),i("div",{className:g,children:this.state.renderContent&&this.state.renderContent()})]})})}}])}(),Api:b},k=s(c)(e(e({"--height-title":"56px"},".".concat(v),{display:"flex",alignItems:"center",height:"var(--height-title)",padding:"0 12px",gap:"6px"}),"&.".concat(C),e({},".".concat(g),{height:"calc(100vh - var(--height-title) - 60px)"})));export{x as default};
1
+ import{defineProperty as e,inherits as t,createClass as r,classCallCheck as n,callSuper as a}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsx as i,jsxs as o}from"react/jsx-runtime";import{Component as l}from"react";import{styled as s,Box as c,Drawer as h,IconButton as u,Divider as d,Typography as p}from"@mui/material";import f from"@mui/icons-material/Close";var m="DrawerGlobal-root",v="DrawerGlobal-title",g="DrawerGlobal-content",C="DrawerGlobal-fullHeight",b={close:function(){console.warn("DrawerGlobal provider not found!")},open:function(){console.warn("DrawerGlobal provider not found!")}},x={Provider:function(){function s(t){var r;return n(this,s),r=a(this,s,[t]),e(r,"close",(function(e){!1===r.state.backdropClickeable&&"backdropClick"===e||r.setState({renderContent:void 0})})),e(r,"open",(function(e){return r.setState(e)})),e(r,"renderTitle",(function(){return"string"==typeof r.state.title?i(p,{variant:"h6",noWrap:!0,children:r.state.title}):r.state.title})),e(r,"getClasses",(function(){var e=[m];return r.state.fullHeight&&e.push(C),e.join(" ")})),r.state={},r}return t(s,l),r(s,[{key:"componentDidMount",value:function(){b.open=this.open,b.close=this.close}},{key:"render",value:function(){var e=this;return i(h,{anchor:this.state.anchor,open:Boolean(this.state.renderContent),onClose:function(t,r){return e.close(r)},children:o(k,{className:this.getClasses(),children:[o("div",{className:v,children:[this.state.icon,this.renderTitle(),i(c,{sx:{flex:1}}),i(u,{onClick:function(){return e.close()},children:i(f,{})})]}),i(d,{variant:"middle"}),i("div",{className:g,children:this.state.renderContent&&this.state.renderContent()})]})})}}])}(),Api:b},k=s(c)(e(e({"--height-title":"56px"},".".concat(v),{display:"flex",alignItems:"center",height:"var(--height-title)",padding:"0 12px",gap:"6px"}),"&.".concat(C),e({},".".concat(g),{height:"calc(100vh - var(--height-title) - 60px)"})));export{x as default};
2
2
  //# sourceMappingURL=drawer-global.js.map
@@ -1,2 +1,2 @@
1
- import{inherits as t,createClass as e,classCallCheck as n,callSuper as r,defineProperty as o,objectSpread2 as s}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsx as a,Fragment as i,jsxs as l}from"react/jsx-runtime";import c,{Component as u}from"react";import{styled as d,Box as f,Modal as p,Backdrop as h}from"@mui/material";var m=c.createContext({close:function(){console.warn("GlobalModal provider not found!")},show:function(){console.warn("GlobalModal provider not found!")}}),C=function(t){return a(m.Consumer,{children:t})},b=function(){function s(t){var e;return n(this,s),e=r(this,s,[t]),o(e,"show",(function(t){e.setState(t)})),o(e,"close",(function(t,n){"backdropClick"===n&&!1===e.state.backdropActivated||e.setState({renderContent:void 0})})),o(e,"renderContent",(function(){return e.state.renderContent?e.state.renderContent():a(i,{})})),e.state={},e}return t(s,u),e(s,[{key:"render",value:function(){return l(m.Provider,{value:this,children:[this.props.children,a(p,{open:!!this.state.renderContent,onClose:this.close,slots:{backdrop:h},slotProps:{backdrop:{timeout:300}},sx:this.state.sx,children:a(v,{sx:this.state.sxWrap,children:this.renderContent()})})]})}}])}(),v=d(f)({position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",outline:"none"}),x=function(t){return function(e){return a(b,{children:C((function(n){return a(t,s(s({},e),{},{contextGlobalModal:n}))}))})}},k=function(t){return function(e){return C((function(n){return a(t,s(s({},e),{},{contextGlobalModal:n}))}))}};export{m as GlobalModalContext,b as default,C as mapGlobalModalContext,k as withApiGlobalModalConsumerContext,x as withApiGlobalModalContext};
1
+ import{inherits as t,createClass as e,classCallCheck as n,callSuper as r,defineProperty as o,objectSpread2 as s}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsx as a,jsxs as i,Fragment as l}from"react/jsx-runtime";import c,{Component as u}from"react";import{styled as d,Box as f,Modal as p,Backdrop as h}from"@mui/material";var m=c.createContext({close:function(){console.warn("GlobalModal provider not found!")},show:function(){console.warn("GlobalModal provider not found!")}}),C=function(t){return a(m.Consumer,{children:t})},b=function(){function s(t){var e;return n(this,s),e=r(this,s,[t]),o(e,"show",(function(t){e.setState(t)})),o(e,"close",(function(t,n){"backdropClick"===n&&!1===e.state.backdropActivated||e.setState({renderContent:void 0})})),o(e,"renderContent",(function(){return e.state.renderContent?e.state.renderContent():a(l,{})})),e.state={},e}return t(s,u),e(s,[{key:"render",value:function(){return i(m.Provider,{value:this,children:[this.props.children,a(p,{open:!!this.state.renderContent,onClose:this.close,slots:{backdrop:h},slotProps:{backdrop:{timeout:300}},sx:this.state.sx,children:a(v,{sx:this.state.sxWrap,children:this.renderContent()})})]})}}])}(),v=d(f)({position:"absolute",top:"50%",left:"50%",transform:"translate(-50%, -50%)",outline:"none"}),x=function(t){return function(e){return a(b,{children:C((function(n){return a(t,s(s({},e),{},{contextGlobalModal:n}))}))})}},k=function(t){return function(e){return C((function(n){return a(t,s(s({},e),{},{contextGlobalModal:n}))}))}};export{m as GlobalModalContext,b as default,C as mapGlobalModalContext,k as withApiGlobalModalConsumerContext,x as withApiGlobalModalContext};
2
2
  //# sourceMappingURL=global-modal.js.map
@@ -1,2 +1,2 @@
1
- import{inherits as o,createClass as e,classCallCheck as t,callSuper as r,defineProperty as n,objectSpread2 as i}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsx as a,jsxs as l}from"react/jsx-runtime";import c,{Component as s}from"react";import{Popover as u}from"@mui/material";import{ContentDefault as p}from"./ui.units.js";var h={open:function(){console.warn("PopoverGlobal provider not found!")},close:function(){console.warn("PopoverGlobal provider not found!")}},f=c.createContext(h),v=function(o){return a(f.Consumer,{children:o})},m=function(){function c(o){var e;return t(this,c),e=r(this,c,[o]),n(e,"openPopover",(function(o){clearTimeout(e.timer),e.setState(i({},o))})),n(e,"closePopover",(function(){clearTimeout(e.timer),e.setState({anchorEl:null},(function(){e.timer=setTimeout((function(){e.setState({content:a(p,{})})}),500)}))})),e.state={anchorEl:null,content:a(p,{})},e}return o(c,s),e(c,[{key:"componentDidMount",value:function(){h.open=this.openPopover,h.close=this.closePopover}},{key:"render",value:function(){var o=this;return l(f.Provider,{value:{open:this.openPopover,close:this.closePopover},children:[this.props.children,a(u,i(i({sx:{"& .MuiPaper-root.MuiPaper-elevation":{overflow:"hidden"}},anchorEl:this.state.anchorEl,open:Boolean(this.state.anchorEl),onClose:function(e,t){return o.closePopover(t)},anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"},disableScrollLock:!0},this.state.popoverProps),{},{children:this.state.content}))]})}}])}(),d=function(o){return function(e){return a(m,{children:v((function(t){return a(o,i(i({},e),{},{contextPopover:t}))}))})}},P={Provider:m,Api:h,Context:f,mapContext:v};export{h as PopoverGlobalApi,f as PopoverGlobalContext,m as PopoverGlobalProvider,P as default,v as mapPopoverGlobalContext,d as withPopoverGlobalContext};
1
+ import{inherits as o,createClass as e,objectSpread2 as t,classCallCheck as r,callSuper as n,defineProperty as i}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsxs as a,jsx as l}from"react/jsx-runtime";import c,{Component as s}from"react";import{Popover as u}from"@mui/material";import{ContentDefault as p}from"./ui.units.js";var h={open:function(){console.warn("PopoverGlobal provider not found!")},close:function(){console.warn("PopoverGlobal provider not found!")}},f=c.createContext(h),v=function(o){return l(f.Consumer,{children:o})},m=function(){function c(o){var e;return r(this,c),e=n(this,c,[o]),i(e,"openPopover",(function(o){clearTimeout(e.timer),e.setState(t({},o))})),i(e,"closePopover",(function(){clearTimeout(e.timer),e.setState({anchorEl:null},(function(){e.timer=setTimeout((function(){e.setState({content:l(p,{})})}),500)}))})),e.state={anchorEl:null,content:l(p,{})},e}return o(c,s),e(c,[{key:"componentDidMount",value:function(){h.open=this.openPopover,h.close=this.closePopover}},{key:"render",value:function(){var o=this;return a(f.Provider,{value:{open:this.openPopover,close:this.closePopover},children:[this.props.children,l(u,t(t({sx:{"& .MuiPaper-root.MuiPaper-elevation":{overflow:"hidden"}},anchorEl:this.state.anchorEl,open:Boolean(this.state.anchorEl),onClose:function(e,t){return o.closePopover(t)},anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"},disableScrollLock:!0},this.state.popoverProps),{},{children:this.state.content}))]})}}])}(),d=function(o){return function(e){return l(m,{children:v((function(r){return l(o,t(t({},e),{},{contextPopover:r}))}))})}},P={Provider:m,Api:h,Context:f,mapContext:v};export{h as PopoverGlobalApi,f as PopoverGlobalContext,m as PopoverGlobalProvider,P as default,v as mapPopoverGlobalContext,d as withPopoverGlobalContext};
2
2
  //# sourceMappingURL=popover-global.js.map
@@ -1,2 +1,2 @@
1
- import{inherits as o,createClass as t,objectSpread2 as r,classCallCheck as e,callSuper as n,defineProperty as i}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsx as a,jsxs as s}from"react/jsx-runtime";import c,{Component as l}from"react";import{Popover as u}from"@mui/material";import{ContentDefault as p}from"./ui.units.js";var h=c.createContext({showPopover:function(){console.warn("ApiPopover provider not found!")},closePopover:function(){console.warn("ApiPopover provider not found!")}}),f=function(o){return a(h.Consumer,{children:o})},m=function(){function c(o){var t;return e(this,c),t=n(this,c,[o]),i(t,"showPopover",(function(o){clearTimeout(t.timer),t.setState(r({},o))})),i(t,"closePopover",(function(){clearTimeout(t.timer),t.setState({anchorEl:null},(function(){t.timer=setTimeout((function(){t.setState({content:a(p,{})})}),500)}))})),t.state={anchorEl:null,content:a(p,{})},t}return o(c,l),t(c,[{key:"render",value:function(){var o=this;return s(h.Provider,{value:this,children:[this.props.children,a(u,r(r({sx:{"& .MuiPaper-root.MuiPaper-elevation":{overflow:"hidden"}},anchorEl:this.state.anchorEl,open:Boolean(this.state.anchorEl),onClose:function(t,r){return o.closePopover(r)},anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"},disableScrollLock:!0},this.state.popoverProps),{},{children:this.state.content}))]})}}])}(),v=function(o){return function(t){return a(m,{children:f((function(e){return a(o,r(r({},t),{},{contextPopover:e}))}))})}};export{h as ApiPopoverContext,m as default,f as mapApiPopoverContext,v as withApiPopoverContext};
1
+ import{inherits as o,createClass as t,objectSpread2 as r,classCallCheck as e,callSuper as n,defineProperty as i}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsxs as a,jsx as s}from"react/jsx-runtime";import c,{Component as l}from"react";import{Popover as u}from"@mui/material";import{ContentDefault as p}from"./ui.units.js";var h=c.createContext({showPopover:function(){console.warn("ApiPopover provider not found!")},closePopover:function(){console.warn("ApiPopover provider not found!")}}),f=function(o){return s(h.Consumer,{children:o})},m=function(){function c(o){var t;return e(this,c),t=n(this,c,[o]),i(t,"showPopover",(function(o){clearTimeout(t.timer),t.setState(r({},o))})),i(t,"closePopover",(function(){clearTimeout(t.timer),t.setState({anchorEl:null},(function(){t.timer=setTimeout((function(){t.setState({content:s(p,{})})}),500)}))})),t.state={anchorEl:null,content:s(p,{})},t}return o(c,l),t(c,[{key:"render",value:function(){var o=this;return a(h.Provider,{value:this,children:[this.props.children,s(u,r(r({sx:{"& .MuiPaper-root.MuiPaper-elevation":{overflow:"hidden"}},anchorEl:this.state.anchorEl,open:Boolean(this.state.anchorEl),onClose:function(t,r){return o.closePopover(r)},anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"},disableScrollLock:!0},this.state.popoverProps),{},{children:this.state.content}))]})}}])}(),v=function(o){return function(t){return s(m,{children:f((function(e){return s(o,r(r({},t),{},{contextPopover:e}))}))})}};export{h as ApiPopoverContext,m as default,f as mapApiPopoverContext,v as withApiPopoverContext};
2
2
  //# sourceMappingURL=popover.js.map
@@ -1,2 +1,2 @@
1
- import{inherits as o,createClass as e,classCallCheck as t,callSuper as i,defineProperty as r,objectSpread2 as n,objectWithoutProperties as l}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsx as s}from"react/jsx-runtime";import{Component as a}from"react";import{IconButton as c,Tooltip as p,Box as u}from"@mui/material";import d from"clipboard-copy";import m from"@mui/icons-material/Done";import h from"@mui/icons-material/ContentCopy";var f=["title"],C=function(){function C(o){var e;return t(this,C),e=i(this,C,[o]),r(e,"renderIcon",(function(){var o,t;if(null!==(o=e.props.slots)&&void 0!==o&&o.button){var i=e.props.slots.button;return s(i,{onClick:e.handleClickCopy,copied:e.state.copied})}var r=e.state.copied?m:h;return s(c,n(n({onClick:e.handleClickCopy},null===(t=e.props.slots)||void 0===t?void 0:t.buttonProps),{},{children:s(r,{fontSize:"small",sx:{color:"#606060"}})}))})),r(e,"handleClickCopy",(function(){e.debounceTime.start(),e.onCopy()})),r(e,"debounceTime",{cache:0,time:1500,start:function(){e.debounceTime.clear(),e.setState({copied:!0},(function(){e.debounceTime.cache=setTimeout((function(){e.setState({copied:!1})}),e.debounceTime.time)}))},clear:function(){clearTimeout(e.debounceTime.cache)}}),r(e,"onCopy",(function(){d(e.props.value),e.setState({showTooltip:!0})})),e.state={showTooltip:!1,copied:!1},e}return o(C,a),e(C,[{key:"render",value:function(){var o,e,t=this,i=this.state.copied?this.debounceTime.time-200:0,r=null!==(o=null===(e=this.props.slots)||void 0===e?void 0:e.tooltipProps)&&void 0!==o?o:{},a=r.title,c=l(r,f),d=this.state.copied?"Copied to clipboard!":null!=a?a:"Copy to clipboard";return s(p,n(n({arrow:!0,title:d,leaveDelay:i,open:this.state.showTooltip,onOpen:function(){return t.setState({showTooltip:!0})},onClose:function(){return t.setState({showTooltip:!1})}},c),{},{children:s(u,{sx:{display:"inline-block",flex:"0 0 auto"},children:this.renderIcon()})}))}}])}();export{C as default};
1
+ import{inherits as o,createClass as e,objectWithoutProperties as t,objectSpread2 as i,classCallCheck as r,callSuper as n,defineProperty as l}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsx as s}from"react/jsx-runtime";import{Component as a}from"react";import{Tooltip as c,Box as p,IconButton as u}from"@mui/material";import d from"clipboard-copy";import m from"@mui/icons-material/Done";import h from"@mui/icons-material/ContentCopy";var f=["title"],C=function(){function C(o){var e;return r(this,C),e=n(this,C,[o]),l(e,"renderIcon",(function(){var o,t;if(null!==(o=e.props.slots)&&void 0!==o&&o.button){var r=e.props.slots.button;return s(r,{onClick:e.handleClickCopy,copied:e.state.copied})}var n=e.state.copied?m:h;return s(u,i(i({onClick:e.handleClickCopy},null===(t=e.props.slots)||void 0===t?void 0:t.buttonProps),{},{children:s(n,{fontSize:"small",sx:{color:"#606060"}})}))})),l(e,"handleClickCopy",(function(){e.debounceTime.start(),e.onCopy()})),l(e,"debounceTime",{cache:0,time:1500,start:function(){e.debounceTime.clear(),e.setState({copied:!0},(function(){e.debounceTime.cache=setTimeout((function(){e.setState({copied:!1})}),e.debounceTime.time)}))},clear:function(){clearTimeout(e.debounceTime.cache)}}),l(e,"onCopy",(function(){d(e.props.value),e.setState({showTooltip:!0})})),e.state={showTooltip:!1,copied:!1},e}return o(C,a),e(C,[{key:"render",value:function(){var o,e,r=this,n=this.state.copied?this.debounceTime.time-200:0,l=null!==(o=null===(e=this.props.slots)||void 0===e?void 0:e.tooltipProps)&&void 0!==o?o:{},a=l.title,u=t(l,f),d=this.state.copied?"Copied to clipboard!":null!=a?a:"Copy to clipboard";return s(c,i(i({arrow:!0,title:d,leaveDelay:n,open:this.state.showTooltip,onOpen:function(){return r.setState({showTooltip:!0})},onClose:function(){return r.setState({showTooltip:!1})}},u),{},{children:s(p,{sx:{display:"inline-block",flex:"0 0 auto"},children:this.renderIcon()})}))}}])}();export{C as default};
2
2
  //# sourceMappingURL=copy-to-clipboard.js.map
@@ -1,2 +1,2 @@
1
- import{defineProperty as o,slicedToArray as n,objectSpread2 as e,toConsumableArray as l}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsxs as t,Fragment as i,jsx as r}from"react/jsx-runtime";import{useState as a,useCallback as c,useEffect as u}from"react";import{styled as s,Popover as d,Badge as p,badgeClasses as h,Box as m,Button as v,TextField as f,ToggleButtonGroup as g,ToggleButton as x,Typography as C,List as b,ListItem as y,FormControlLabel as P,Checkbox as w}from"@mui/material";import j from"@mui/icons-material/FilterAltOutlined";import{mergeObjects as z}from"../utils/helpers.js";import"../utils/dayjs-config.js";import"react-router-dom";import"../utils/query-param.js";import A from"./help-tooltip.js";function k(o){return function(s){var d,p,h,k,S,T,q,B,D,F,H,I,R,Y,_,E,M=a(""),W=n(M,2),X=W[0],G=W[1],J=a(null),K=n(J,2),Q=K[0],U=K[1],V=a(null!==(d=null!==(p=s.options)&&void 0!==p?p:o.options)&&void 0!==d?d:[]),Z=n(V,2),$=Z[0],oo=Z[1],no=a([]),eo=n(no,2),lo=eo[0],to=eo[1],io=a(null!==(h=null===(k=s.slots)||void 0===k?void 0:k.defaultLogic)&&void 0!==h?h:"and"),ro=n(io,2),ao=ro[0],co=ro[1],uo={buttonProps:z(null==o?void 0:o.buttonProps,null===(S=s.slots)||void 0===S?void 0:S.buttonProps),contentProps:null!==(T=null!==(q=null===(B=s.slots)||void 0===B?void 0:B.contentPorps)&&void 0!==q?q:null==o?void 0:o.contentPorps)&&void 0!==T?T:{}},so=c((function(){var o;s.value&&(co(null!==(o=s.value.logic)&&void 0!==o?o:"and"),to(s.value.items))}),[s.value]),po=function(o,n){U(null),setTimeout(so,300)};return u((function(){s.options&&s.options.length>0&&oo(s.options)}),[s.options]),u((function(){so()}),[so]),t(i,{children:[t(v,e(e({color:"inherit",endIcon:r(j,{}),disabled:$.length<1},uo.buttonProps),{},{onClick:function(o){U(o.currentTarget)},children:[o.btnText,r(L,{badgeContent:null===(D=s.value)||void 0===D?void 0:D.items.length,color:"error",overlap:"circular",sx:{transform:"translateY(-50%) translateX(24px)"}})]})),t(O,{open:Boolean(Q),anchorEl:Q,onClose:po,anchorOrigin:{vertical:"bottom",horizontal:"left"},children:[t(N,{className:"top",children:[r(f,{size:"small",placeholder:null!==(F=o.placeholder)&&void 0!==F?F:"Search",fullWidth:!0,value:X,onChange:function(o){return G(o.target.value)}}),t(g,{size:"small",exclusive:!0,color:"primary",value:ao,onChange:function(o,n){n&&co(n)},children:[r(x,{value:"and",children:"AND"}),r(x,{value:"or",children:"OR"})]}),r(A,{title:"Filter Logic",small:!0,children:t(C,{variant:"body2",color:"text.secondary",children:["Choose how multiple categories are applied.",r("br",{}),r("strong",{children:" AND "})," requires all selected categories, while",r("br",{}),r("strong",{children:" OR "})," matches any."]})})]}),r(m,e(e({className:"menu-content"},uo.contentProps),{},{children:r(b,{children:(R=null!==(H=null===(I=s.value)||void 0===I?void 0:I.items)&&void 0!==H?H:[],Y=$.filter((function(o){return o.toLowerCase().includes(X.toLowerCase())})).sort((function(o,n){return o.localeCompare(n)})),_=Y.filter((function(o){return R.includes(o)})),E=Y.filter((function(o){return!R.includes(o)})),[].concat(l(_),l(E))).map((function(o){return r(y,{sx:{whiteSpace:"nowrap"},children:r(P,{label:o,control:r(w,{checked:lo.includes(o),onChange:function(){return n=o,void to((function(o){return o.includes(n)?o.filter((function(o){return o!==n})):[].concat(l(o),[n])}));var n}})})},o)}))})})),t(N,{children:[r(v,{size:"small",onClick:function(){to([]),s.onChange&&s.onChange({items:[],logic:ao})},color:"inherit",children:"Clear"}),r(m,{sx:{flex:1}}),r(v,{size:"small",onClick:function(){to([]),po()},color:"inherit",children:"Cancel"}),r(v,{size:"small",variant:"contained",onClick:function(){s.onChange&&s.onChange({items:lo,logic:ao}),po()},children:"Apply"})]})]})]})}}var O=s(d)({".MuiPaper-root":{overflow:"hidden",position:"relative",width:"360px"},".menu-content":{overflowY:"auto",maxHeight:"".concat(290,"px"),margin:"2px 2px 2px 0"}}),L=s(p)(o({},"& .".concat(h.badge),{top:"-12px",right:"-6px"})),N=s(m)({alignItems:"center",display:"flex",gap:"6px",height:"58px",padding:"8px 10px",boxShadow:"rgba(99, 99, 99, 0.2) 0px 2px 8px 0px"});export{k as default};
1
+ import{defineProperty as n,slicedToArray as o,objectSpread2 as e,toConsumableArray as l}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsxs as t,Fragment as i,jsx as r}from"react/jsx-runtime";import{useState as a,useCallback as c,useEffect as u}from"react";import{styled as s,Popover as d,Badge as p,badgeClasses as h,Box as m,Button as v,TextField as f,ToggleButtonGroup as g,ToggleButton as x,Typography as C,List as b,ListItem as y,FormControlLabel as P,Checkbox as w}from"@mui/material";import j from"@mui/icons-material/FilterAltOutlined";import{mergeObjects as z}from"../utils/helpers.js";import"../utils/dayjs-config.js";import"../utils/query-param.js";import A from"./help-tooltip.js";function k(n){return function(s){var d,p,h,k,S,T,q,B,D,F,H,I,R,Y,_,E,M=a(""),W=o(M,2),X=W[0],G=W[1],J=a(null),K=o(J,2),Q=K[0],U=K[1],V=a(null!==(d=null!==(p=s.options)&&void 0!==p?p:n.options)&&void 0!==d?d:[]),Z=o(V,2),$=Z[0],nn=Z[1],on=a([]),en=o(on,2),ln=en[0],tn=en[1],rn=a(null!==(h=null===(k=s.slots)||void 0===k?void 0:k.defaultLogic)&&void 0!==h?h:"and"),an=o(rn,2),cn=an[0],un=an[1],sn={buttonProps:z(null==n?void 0:n.buttonProps,null===(S=s.slots)||void 0===S?void 0:S.buttonProps),contentProps:null!==(T=null!==(q=null===(B=s.slots)||void 0===B?void 0:B.contentPorps)&&void 0!==q?q:null==n?void 0:n.contentPorps)&&void 0!==T?T:{}},dn=c((function(){var n;s.value&&(un(null!==(n=s.value.logic)&&void 0!==n?n:"and"),tn(s.value.items))}),[s.value]),pn=function(n,o){U(null),setTimeout(dn,300)};return u((function(){s.options&&s.options.length>0&&nn(s.options)}),[s.options]),u((function(){dn()}),[dn]),t(i,{children:[t(v,e(e({color:"inherit",endIcon:r(j,{}),disabled:$.length<1},sn.buttonProps),{},{onClick:function(n){U(n.currentTarget)},children:[n.btnText,r(L,{badgeContent:null===(D=s.value)||void 0===D?void 0:D.items.length,color:"error",overlap:"circular",sx:{transform:"translateY(-50%) translateX(24px)"}})]})),t(O,{open:Boolean(Q),anchorEl:Q,onClose:pn,anchorOrigin:{vertical:"bottom",horizontal:"left"},children:[t(N,{className:"top",children:[r(f,{size:"small",placeholder:null!==(F=n.placeholder)&&void 0!==F?F:"Search",fullWidth:!0,value:X,onChange:function(n){return G(n.target.value)}}),t(g,{size:"small",exclusive:!0,color:"primary",value:cn,onChange:function(n,o){o&&un(o)},children:[r(x,{value:"and",children:"AND"}),r(x,{value:"or",children:"OR"})]}),r(A,{title:"Filter Logic",small:!0,children:t(C,{variant:"body2",color:"text.secondary",children:["Choose how multiple categories are applied.",r("br",{}),r("strong",{children:" AND "})," requires all selected categories, while",r("br",{}),r("strong",{children:" OR "})," matches any."]})})]}),r(m,e(e({className:"menu-content"},sn.contentProps),{},{children:r(b,{children:(R=null!==(H=null===(I=s.value)||void 0===I?void 0:I.items)&&void 0!==H?H:[],Y=$.filter((function(n){return n.toLowerCase().includes(X.toLowerCase())})).sort((function(n,o){return n.localeCompare(o)})),_=Y.filter((function(n){return R.includes(n)})),E=Y.filter((function(n){return!R.includes(n)})),[].concat(l(_),l(E))).map((function(n){return r(y,{sx:{whiteSpace:"nowrap"},children:r(P,{label:n,control:r(w,{checked:ln.includes(n),onChange:function(){return o=n,void tn((function(n){return n.includes(o)?n.filter((function(n){return n!==o})):[].concat(l(n),[o])}));var o}})})},n)}))})})),t(N,{children:[r(v,{size:"small",onClick:function(){tn([]),s.onChange&&s.onChange({items:[],logic:cn})},color:"inherit",children:"Clear"}),r(m,{sx:{flex:1}}),r(v,{size:"small",onClick:function(){tn([]),pn()},color:"inherit",children:"Cancel"}),r(v,{size:"small",variant:"contained",onClick:function(){s.onChange&&s.onChange({items:ln,logic:cn}),pn()},children:"Apply"})]})]})]})}}var O=s(d)({".MuiPaper-root":{overflow:"hidden",position:"relative",width:"360px"},".menu-content":{overflowY:"auto",maxHeight:"".concat(290,"px"),margin:"2px 2px 2px 0"}}),L=s(p)(n({},"& .".concat(h.badge),{top:"-12px",right:"-6px"})),N=s(m)({alignItems:"center",display:"flex",gap:"6px",height:"58px",padding:"8px 10px",boxShadow:"rgba(99, 99, 99, 0.2) 0px 2px 8px 0px"});export{k as default};
2
2
  //# sourceMappingURL=create.multi-select-dropdown.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"create.multi-select-dropdown.js","sources":["../../src/components/create.multi-select-dropdown.tsx"],"sourcesContent":["import React, { FC, useCallback, useEffect, useState } from 'react'\r\nimport { Badge, badgeClasses, Box, BoxProps, Button, ButtonProps, Checkbox } from '@mui/material'\r\nimport { FormControlLabel, List, ListItem, Popover, styled, TextField, ToggleButton, ToggleButtonGroup, Typography } from '@mui/material'\r\nimport FilterAltOutlinedIcon from '@mui/icons-material/FilterAltOutlined'\r\nimport { mergeObjects } from '../utils'\r\nimport HelpTooltip from './help-tooltip'\r\n\r\nexport type IMultiSelectDropdownFilterLogic = 'and' | 'or'\r\n\r\nexport interface IMultiSelectDropdownFilter {\r\n items: string[]\r\n logic?: IMultiSelectDropdownFilterLogic\r\n}\r\n\r\nexport type IMultiSelectDropdownChange = (value: IMultiSelectDropdownFilter) => void\r\n\r\nexport interface IMultiSelectDropdownSlots {\r\n buttonProps?: ButtonProps\r\n contentPorps?: BoxProps\r\n defaultLogic?: IMultiSelectDropdownFilterLogic\r\n}\r\n\r\nexport interface IMultiSelectDropdownProps {\r\n options?: string[]\r\n value?: IMultiSelectDropdownFilter\r\n onChange?: IMultiSelectDropdownChange\r\n slots?: IMultiSelectDropdownSlots\r\n}\r\n\r\nexport interface IMultiSelectDropdownParams extends IMultiSelectDropdownSlots {\r\n btnText: string\r\n options?: string[]\r\n placeholder?: string\r\n}\r\n\r\nfunction CreateMultiSelectDropdown(params: IMultiSelectDropdownParams) {\r\n const MenuSelectMultiple: FC<IMultiSelectDropdownProps> = (props) => {\r\n const [search, setSearch] = useState<string>('')\r\n const [anchorEl, setAnchorEl] = useState<HTMLElement | null>(null)\r\n const [options, setOptions] = useState<string[]>(props.options ?? params.options ?? [])\r\n const [itemSelecteds, setItemSelecteds] = useState<string[]>([])\r\n const [logic, setLogic] = useState(props.slots?.defaultLogic ?? 'and')\r\n\r\n const mergeConfig = {\r\n buttonProps: mergeObjects<ButtonProps>(params?.buttonProps, props.slots?.buttonProps),\r\n contentProps: props.slots?.contentPorps ?? params?.contentPorps ?? {}\r\n }\r\n\r\n const getOptions = () => {\r\n const values = props.value?.items ?? []\r\n const list = options.filter((x) => x.toLowerCase().includes(search.toLowerCase())).sort((a, b) => a.localeCompare(b))\r\n\r\n const prioritized = list.filter((x) => values.includes(x))\r\n const others = list.filter((x) => !values.includes(x))\r\n\r\n return [...prioritized, ...others]\r\n }\r\n\r\n const setValueWithProps = useCallback(() => {\r\n if (props.value) {\r\n setLogic(props.value.logic ?? 'and')\r\n setItemSelecteds(props.value.items)\r\n }\r\n }, [props.value])\r\n\r\n const handleOpen = (event: React.MouseEvent<HTMLButtonElement>) => {\r\n setAnchorEl(event.currentTarget)\r\n }\r\n\r\n const handleClose = (event?: {}, reason?: 'backdropClick' | 'escapeKeyDown') => {\r\n setAnchorEl(null)\r\n setTimeout(setValueWithProps, 300)\r\n }\r\n\r\n const handleToggle = (value: string) => {\r\n setItemSelecteds((prev) => (prev.includes(value) ? prev.filter((t) => t !== value) : [...prev, value]))\r\n }\r\n\r\n const handleClear = () => {\r\n setItemSelecteds([])\r\n props.onChange && props.onChange({ items: [], logic })\r\n }\r\n\r\n const handleCancel = () => {\r\n setItemSelecteds([])\r\n handleClose()\r\n }\r\n\r\n const handleApply = () => {\r\n props.onChange && props.onChange({ items: itemSelecteds, logic })\r\n handleClose()\r\n }\r\n\r\n const handleChangeLogic = (_: React.MouseEvent<HTMLElement>, value: any) => {\r\n if (value) setLogic(value)\r\n }\r\n\r\n useEffect(() => {\r\n if (props.options && props.options.length > 0) setOptions(props.options)\r\n }, [props.options])\r\n\r\n useEffect(() => {\r\n setValueWithProps()\r\n }, [setValueWithProps])\r\n\r\n return (\r\n <>\r\n <Button color='inherit' endIcon={<FilterAltOutlinedIcon />} disabled={options.length < 1} {...mergeConfig.buttonProps} onClick={handleOpen}>\r\n {params.btnText}\r\n <ButtonBadge\r\n badgeContent={props.value?.items.length}\r\n color='error'\r\n overlap='circular'\r\n sx={{ transform: 'translateY(-50%) translateX(24px)' }}\r\n />\r\n </Button>\r\n <CustomPopover open={Boolean(anchorEl)} anchorEl={anchorEl} onClose={handleClose} anchorOrigin={{ vertical: 'bottom', horizontal: 'left' }}>\r\n <WrapActions className='top'>\r\n <TextField\r\n size='small'\r\n placeholder={params.placeholder ?? 'Search'}\r\n fullWidth\r\n value={search}\r\n onChange={(e) => setSearch(e.target.value)}\r\n />\r\n <ToggleButtonGroup size='small' exclusive color='primary' value={logic} onChange={handleChangeLogic}>\r\n <ToggleButton value='and'>AND</ToggleButton>\r\n <ToggleButton value='or'>OR</ToggleButton>\r\n </ToggleButtonGroup>\r\n <HelpTooltip title='Filter Logic' small>\r\n <Typography variant='body2' color='text.secondary'>\r\n Choose how multiple categories are applied.\r\n <br />\r\n <strong> AND </strong> requires all selected categories, while\r\n <br />\r\n <strong> OR </strong> matches any.\r\n </Typography>\r\n </HelpTooltip>\r\n </WrapActions>\r\n <Box className='menu-content' {...mergeConfig.contentProps}>\r\n <List>\r\n {getOptions().map((x) => (\r\n <ListItem key={x} sx={{ whiteSpace: 'nowrap' }}>\r\n <FormControlLabel label={x} control={<Checkbox checked={itemSelecteds.includes(x)} onChange={() => handleToggle(x)} />} />\r\n </ListItem>\r\n ))}\r\n </List>\r\n </Box>\r\n <WrapActions>\r\n <Button size='small' onClick={handleClear} color='inherit'>\r\n Clear\r\n </Button>\r\n <Box sx={{ flex: 1 }} />\r\n <Button size='small' onClick={handleCancel} color='inherit'>\r\n Cancel\r\n </Button>\r\n <Button size='small' variant='contained' onClick={handleApply}>\r\n Apply\r\n </Button>\r\n </WrapActions>\r\n </CustomPopover>\r\n </>\r\n )\r\n }\r\n\r\n return MenuSelectMultiple\r\n}\r\n\r\nexport default CreateMultiSelectDropdown\r\n\r\nconst heightItem = 58\r\nconst CustomPopover = styled(Popover)({\r\n '.MuiPaper-root': {\r\n overflow: 'hidden',\r\n position: 'relative',\r\n width: '360px'\r\n },\r\n '.menu-content': {\r\n overflowY: 'auto',\r\n maxHeight: `${heightItem * 5}px`,\r\n margin: '2px 2px 2px 0'\r\n }\r\n})\r\n\r\nconst ButtonBadge = styled(Badge)({\r\n [`& .${badgeClasses.badge}`]: {\r\n top: '-12px',\r\n right: '-6px'\r\n }\r\n})\r\nconst WrapActions = styled(Box)({\r\n alignItems: 'center',\r\n display: 'flex',\r\n gap: '6px',\r\n height: '58px',\r\n padding: '8px 10px',\r\n boxShadow: 'rgba(99, 99, 99, 0.2) 0px 2px 8px 0px'\r\n})\r\n"],"names":["CreateMultiSelectDropdown","params","props","_ref","_props$options","_props$slots$defaultL","_props$slots","_props$slots2","_ref2","_props$slots$contentP","_props$slots3","_props$value2","_params$placeholder","_props$value$items","_props$value","values","list","prioritized","others","_useState","useState","_useState2","_slicedToArray","search","setSearch","_useState3","_useState4","anchorEl","setAnchorEl","_useState5","options","_useState6","setOptions","_useState7","_useState8","itemSelecteds","setItemSelecteds","_useState9","slots","defaultLogic","_useState0","logic","setLogic","mergeConfig","buttonProps","mergeObjects","contentProps","contentPorps","setValueWithProps","useCallback","_props$value$logic","value","items","handleClose","event","reason","setTimeout","useEffect","length","_jsxs","_Fragment","children","Button","_objectSpread","color","endIcon","_jsx","FilterAltOutlinedIcon","disabled","onClick","currentTarget","btnText","ButtonBadge","badgeContent","overlap","sx","transform","CustomPopover","open","Boolean","onClose","anchorOrigin","vertical","horizontal","WrapActions","className","TextField","size","placeholder","fullWidth","onChange","e","target","ToggleButtonGroup","exclusive","_","ToggleButton","HelpTooltip","title","small","Typography","variant","Box","List","filter","x","toLowerCase","includes","sort","a","b","localeCompare","concat","_toConsumableArray","map","ListItem","whiteSpace","FormControlLabel","label","control","Checkbox","checked","prev","t","flex","styled","Popover","overflow","position","width","overflowY","maxHeight","heightItem","margin","Badge","_defineProperty","badgeClasses","badge","top","right","alignItems","display","gap","height","padding","boxShadow"],"mappings":"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"}
1
+ {"version":3,"file":"create.multi-select-dropdown.js","sources":["../../src/components/create.multi-select-dropdown.tsx"],"sourcesContent":["import React, { FC, useCallback, useEffect, useState } from 'react'\r\nimport { Badge, badgeClasses, Box, BoxProps, Button, ButtonProps, Checkbox } from '@mui/material'\r\nimport { FormControlLabel, List, ListItem, Popover, styled, TextField, ToggleButton, ToggleButtonGroup, Typography } from '@mui/material'\r\nimport FilterAltOutlinedIcon from '@mui/icons-material/FilterAltOutlined'\r\nimport { mergeObjects } from '../utils'\r\nimport HelpTooltip from './help-tooltip'\r\n\r\nexport type IMultiSelectDropdownFilterLogic = 'and' | 'or'\r\n\r\nexport interface IMultiSelectDropdownFilter {\r\n items: string[]\r\n logic?: IMultiSelectDropdownFilterLogic\r\n}\r\n\r\nexport type IMultiSelectDropdownChange = (value: IMultiSelectDropdownFilter) => void\r\n\r\nexport interface IMultiSelectDropdownSlots {\r\n buttonProps?: ButtonProps\r\n contentPorps?: BoxProps\r\n defaultLogic?: IMultiSelectDropdownFilterLogic\r\n}\r\n\r\nexport interface IMultiSelectDropdownProps {\r\n options?: string[]\r\n value?: IMultiSelectDropdownFilter\r\n onChange?: IMultiSelectDropdownChange\r\n slots?: IMultiSelectDropdownSlots\r\n}\r\n\r\nexport interface IMultiSelectDropdownParams extends IMultiSelectDropdownSlots {\r\n btnText: string\r\n options?: string[]\r\n placeholder?: string\r\n}\r\n\r\nfunction CreateMultiSelectDropdown(params: IMultiSelectDropdownParams) {\r\n const MenuSelectMultiple: FC<IMultiSelectDropdownProps> = (props) => {\r\n const [search, setSearch] = useState<string>('')\r\n const [anchorEl, setAnchorEl] = useState<HTMLElement | null>(null)\r\n const [options, setOptions] = useState<string[]>(props.options ?? params.options ?? [])\r\n const [itemSelecteds, setItemSelecteds] = useState<string[]>([])\r\n const [logic, setLogic] = useState(props.slots?.defaultLogic ?? 'and')\r\n\r\n const mergeConfig = {\r\n buttonProps: mergeObjects<ButtonProps>(params?.buttonProps, props.slots?.buttonProps),\r\n contentProps: props.slots?.contentPorps ?? params?.contentPorps ?? {}\r\n }\r\n\r\n const getOptions = () => {\r\n const values = props.value?.items ?? []\r\n const list = options.filter((x) => x.toLowerCase().includes(search.toLowerCase())).sort((a, b) => a.localeCompare(b))\r\n\r\n const prioritized = list.filter((x) => values.includes(x))\r\n const others = list.filter((x) => !values.includes(x))\r\n\r\n return [...prioritized, ...others]\r\n }\r\n\r\n const setValueWithProps = useCallback(() => {\r\n if (props.value) {\r\n setLogic(props.value.logic ?? 'and')\r\n setItemSelecteds(props.value.items)\r\n }\r\n }, [props.value])\r\n\r\n const handleOpen = (event: React.MouseEvent<HTMLButtonElement>) => {\r\n setAnchorEl(event.currentTarget)\r\n }\r\n\r\n const handleClose = (event?: {}, reason?: 'backdropClick' | 'escapeKeyDown') => {\r\n setAnchorEl(null)\r\n setTimeout(setValueWithProps, 300)\r\n }\r\n\r\n const handleToggle = (value: string) => {\r\n setItemSelecteds((prev) => (prev.includes(value) ? prev.filter((t) => t !== value) : [...prev, value]))\r\n }\r\n\r\n const handleClear = () => {\r\n setItemSelecteds([])\r\n props.onChange && props.onChange({ items: [], logic })\r\n }\r\n\r\n const handleCancel = () => {\r\n setItemSelecteds([])\r\n handleClose()\r\n }\r\n\r\n const handleApply = () => {\r\n props.onChange && props.onChange({ items: itemSelecteds, logic })\r\n handleClose()\r\n }\r\n\r\n const handleChangeLogic = (_: React.MouseEvent<HTMLElement>, value: any) => {\r\n if (value) setLogic(value)\r\n }\r\n\r\n useEffect(() => {\r\n if (props.options && props.options.length > 0) setOptions(props.options)\r\n }, [props.options])\r\n\r\n useEffect(() => {\r\n setValueWithProps()\r\n }, [setValueWithProps])\r\n\r\n return (\r\n <>\r\n <Button color='inherit' endIcon={<FilterAltOutlinedIcon />} disabled={options.length < 1} {...mergeConfig.buttonProps} onClick={handleOpen}>\r\n {params.btnText}\r\n <ButtonBadge\r\n badgeContent={props.value?.items.length}\r\n color='error'\r\n overlap='circular'\r\n sx={{ transform: 'translateY(-50%) translateX(24px)' }}\r\n />\r\n </Button>\r\n <CustomPopover open={Boolean(anchorEl)} anchorEl={anchorEl} onClose={handleClose} anchorOrigin={{ vertical: 'bottom', horizontal: 'left' }}>\r\n <WrapActions className='top'>\r\n <TextField\r\n size='small'\r\n placeholder={params.placeholder ?? 'Search'}\r\n fullWidth\r\n value={search}\r\n onChange={(e) => setSearch(e.target.value)}\r\n />\r\n <ToggleButtonGroup size='small' exclusive color='primary' value={logic} onChange={handleChangeLogic}>\r\n <ToggleButton value='and'>AND</ToggleButton>\r\n <ToggleButton value='or'>OR</ToggleButton>\r\n </ToggleButtonGroup>\r\n <HelpTooltip title='Filter Logic' small>\r\n <Typography variant='body2' color='text.secondary'>\r\n Choose how multiple categories are applied.\r\n <br />\r\n <strong> AND </strong> requires all selected categories, while\r\n <br />\r\n <strong> OR </strong> matches any.\r\n </Typography>\r\n </HelpTooltip>\r\n </WrapActions>\r\n <Box className='menu-content' {...mergeConfig.contentProps}>\r\n <List>\r\n {getOptions().map((x) => (\r\n <ListItem key={x} sx={{ whiteSpace: 'nowrap' }}>\r\n <FormControlLabel label={x} control={<Checkbox checked={itemSelecteds.includes(x)} onChange={() => handleToggle(x)} />} />\r\n </ListItem>\r\n ))}\r\n </List>\r\n </Box>\r\n <WrapActions>\r\n <Button size='small' onClick={handleClear} color='inherit'>\r\n Clear\r\n </Button>\r\n <Box sx={{ flex: 1 }} />\r\n <Button size='small' onClick={handleCancel} color='inherit'>\r\n Cancel\r\n </Button>\r\n <Button size='small' variant='contained' onClick={handleApply}>\r\n Apply\r\n </Button>\r\n </WrapActions>\r\n </CustomPopover>\r\n </>\r\n )\r\n }\r\n\r\n return MenuSelectMultiple\r\n}\r\n\r\nexport default CreateMultiSelectDropdown\r\n\r\nconst heightItem = 58\r\nconst CustomPopover = styled(Popover)({\r\n '.MuiPaper-root': {\r\n overflow: 'hidden',\r\n position: 'relative',\r\n width: '360px'\r\n },\r\n '.menu-content': {\r\n overflowY: 'auto',\r\n maxHeight: `${heightItem * 5}px`,\r\n margin: '2px 2px 2px 0'\r\n }\r\n})\r\n\r\nconst ButtonBadge = styled(Badge)({\r\n [`& .${badgeClasses.badge}`]: {\r\n top: '-12px',\r\n right: '-6px'\r\n }\r\n})\r\nconst WrapActions = styled(Box)({\r\n alignItems: 'center',\r\n display: 'flex',\r\n gap: '6px',\r\n height: '58px',\r\n padding: '8px 10px',\r\n boxShadow: 'rgba(99, 99, 99, 0.2) 0px 2px 8px 0px'\r\n})\r\n"],"names":["CreateMultiSelectDropdown","params","props","_ref","_props$options","_props$slots$defaultL","_props$slots","_props$slots2","_ref2","_props$slots$contentP","_props$slots3","_props$value2","_params$placeholder","_props$value$items","_props$value","values","list","prioritized","others","_useState","useState","_useState2","_slicedToArray","search","setSearch","_useState3","_useState4","anchorEl","setAnchorEl","_useState5","options","_useState6","setOptions","_useState7","_useState8","itemSelecteds","setItemSelecteds","_useState9","slots","defaultLogic","_useState0","logic","setLogic","mergeConfig","buttonProps","mergeObjects","contentProps","contentPorps","setValueWithProps","useCallback","_props$value$logic","value","items","handleClose","event","reason","setTimeout","useEffect","length","_jsxs","_Fragment","children","Button","_objectSpread","color","endIcon","_jsx","FilterAltOutlinedIcon","disabled","onClick","currentTarget","btnText","ButtonBadge","badgeContent","overlap","sx","transform","CustomPopover","open","Boolean","onClose","anchorOrigin","vertical","horizontal","WrapActions","className","TextField","size","placeholder","fullWidth","onChange","e","target","ToggleButtonGroup","exclusive","_","ToggleButton","HelpTooltip","title","small","Typography","variant","Box","List","filter","x","toLowerCase","includes","sort","a","b","localeCompare","concat","_toConsumableArray","map","ListItem","whiteSpace","FormControlLabel","label","control","Checkbox","checked","prev","t","flex","styled","Popover","overflow","position","width","overflowY","maxHeight","heightItem","margin","Badge","_defineProperty","badgeClasses","badge","top","right","alignItems","display","gap","height","padding","boxShadow"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{objectSpread2 as r,objectWithoutProperties as t,defineProperty as e}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsx as i,jsxs as o}from"react/jsx-runtime";import{styled as n,Typography as l,Tooltip as a,tooltipClasses as p,Box as c,Stack as m,Divider as s,IconButton as x}from"@mui/material";import d from"@mui/icons-material/HelpOutline";var u=["className"],f=function(t){return i(g,{arrow:!0,placement:"bottom",title:o(m,{sx:{gap:"6px",py:"6px",minWidth:"200px",maxWidth:"400px "},children:[i(b,{children:t.title}),i(s,{}),i(c,{sx:{p:"6px 12px"},children:t.children})]}),children:i(c,{sx:r({cursor:"default"},t.sxIcon),children:i(x,{size:"small",children:i(d,{fontSize:t.small?"small":"medium",sx:{color:"rgb(25,103,210)"}})})})})},h=function(r){return i(g,{arrow:!0,placement:"bottom",title:o(m,{sx:{gap:"6px",py:"6px",minWidth:"200px",maxWidth:"400px "},children:[i(b,{children:r.title}),i(s,{}),i(c,{sx:{p:"6px 12px"},children:r.content})]}),children:i(c,{sx:{cursor:"default"},children:r.children})})},b=n((function(t){return i(l,r({variant:"subtitle1"},t))}))({color:"#0095ff",fontWeight:700,padding:"0 10px"}),g=n((function(e){var o=e.className,n=t(e,u);return i(a,r(r({},n),{},{classes:{popper:o}}))}))((function(r){var t=r.theme;return e(e({},"& .".concat(p.tooltip),{backgroundColor:"#fff",color:"#3c3c3c",maxWidth:500,minHeight:120,fontSize:t.typography.pxToRem(12),borderRadius:"8px",boxShadow:"rgba(0, 0, 0, 0.08) 0px 6px 30px"}),"& .".concat(p.arrow),{color:"#fff"})}));export{h as HelpTooltipWrap,f as default};
1
+ import{objectSpread2 as r,objectWithoutProperties as t,defineProperty as e}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsx as i,jsxs as o}from"react/jsx-runtime";import{styled as n,Typography as l,Tooltip as a,tooltipClasses as p,Box as c,IconButton as m,Stack as s,Divider as x}from"@mui/material";import d from"@mui/icons-material/HelpOutline";var u=["className"],f=function(t){return i(g,{arrow:!0,placement:"bottom",title:o(s,{sx:{gap:"6px",py:"6px",minWidth:"200px",maxWidth:"400px "},children:[i(b,{children:t.title}),i(x,{}),i(c,{sx:{p:"6px 12px"},children:t.children})]}),children:i(c,{sx:r({cursor:"default"},t.sxIcon),children:i(m,{size:"small",children:i(d,{fontSize:t.small?"small":"medium",sx:{color:"rgb(25,103,210)"}})})})})},h=function(r){return i(g,{arrow:!0,placement:"bottom",title:o(s,{sx:{gap:"6px",py:"6px",minWidth:"200px",maxWidth:"400px "},children:[i(b,{children:r.title}),i(x,{}),i(c,{sx:{p:"6px 12px"},children:r.content})]}),children:i(c,{sx:{cursor:"default"},children:r.children})})},b=n((function(t){return i(l,r({variant:"subtitle1"},t))}))({color:"#0095ff",fontWeight:700,padding:"0 10px"}),g=n((function(e){var o=e.className,n=t(e,u);return i(a,r(r({},n),{},{classes:{popper:o}}))}))((function(r){var t=r.theme;return e(e({},"& .".concat(p.tooltip),{backgroundColor:"#fff",color:"#3c3c3c",maxWidth:500,minHeight:120,fontSize:t.typography.pxToRem(12),borderRadius:"8px",boxShadow:"rgba(0, 0, 0, 0.08) 0px 6px 30px"}),"& .".concat(p.arrow),{color:"#fff"})}));export{h as HelpTooltipWrap,f as default};
2
2
  //# sourceMappingURL=help-tooltip.js.map
@@ -1,2 +1,2 @@
1
- import{createClass as e,classCallCheck as i,defineProperty as t,createForOfIteratorHelper as l}from"../_virtual/_rollupPluginBabelHelpers.js";import{getKeyConverter as n,createRequestBuilder as r}from"dinocollab-http-service";import{mapDateLogic as o}from"./helpers.js";var a=e((function e(a){var u=this;i(this,e),t(this,"fromFilter",(function(e){return u.filterStateStore=e,u})),t(this,"applySingleFilterCondition",(function(e,i){var t,l,n,r,a=null!==(t=null===(l=i.value)||void 0===l?void 0:l.toString())&&void 0!==t?t:"",u=null!==(n=i.keyConvert.deep)&&void 0!==n?n:i.keyConvert.field,d=i.keyConvert.custom;if(d)e.filterCustom(d(a),i.option);else if(u)if("date"===(null===(r=i.filter)||void 0===r?void 0:r.type)&&i.filter.dateLogic){var v=o[i.filter.dateLogic];e.filterCustom("".concat(u.toString()).concat(v,'"').concat(a,'"'),i.option)}else e.filterContains(u,a,i.option)})),t(this,"applyMulFilterCondition",(function(e,i,t){if(0!==i.length)if(1===i.length){var n=i[0];t&&(n.option=t),u.applySingleFilterCondition(e,n)}else e.scope((function(e){var t,n=l(i);try{for(n.s();!(t=n.n()).done;){var r=t.value;u.applySingleFilterCondition(e,r)}}catch(e){n.e(e)}finally{n.f()}return e}),t)})),t(this,"handleFilter",(function(e){var i,t=null===(i=u.filterStateStore)||void 0===i?void 0:i.filter;if(t){var r=Object.keys(t).filter(Boolean),o=r.reduce((function(e,i){var r,o,a=n(i,u.keyConverter),d=null!==(r=t[i])&&void 0!==r?r:[],v=l(a);try{for(v.s();!(o=v.n()).done;){var f,c=o.value,s=l(d);try{for(s.s();!(f=s.n()).done;){var h,p=f.value;if(p.value){var y=null!==(h=e[i])&&void 0!==h?h:[];y.push({value:p.value,keyConvert:c,filter:p,option:{logic:"Or"}}),e[i]=y}}}catch(e){s.e(e)}finally{s.f()}}}catch(e){v.e(e)}finally{v.f()}return e}),{});e.scope((function(i){for(var t in o){var l=o[t];l&&0!==l.length&&u.applyMulFilterCondition(1===r.length?e:i,l,{logic:"And"})}return i}),{logic:"And"})}})),t(this,"handleQuickSearch",(function(e){var i,t=null===(i=u.filterStateStore)||void 0===i?void 0:i.quickSearch;if(t&&u.quickSearchFields&&0!==u.quickSearchFields.length){var r=(Array.isArray(t)?t:[t]).map((function(e){return null==e?void 0:e.toString().trim()})).filter(Boolean);if(0!==r.length){var o=u.quickSearchFields.reduce((function(e,i){var t,o=n(i,u.keyConverter),a=l(o);try{for(a.s();!(t=a.n()).done;){var d,v=t.value,f=l(r);try{for(f.s();!(d=f.n()).done;){var c=d.value;c&&e.push({value:c,keyConvert:v})}}catch(e){f.e(e)}finally{f.f()}}}catch(e){a.e(e)}finally{a.f()}return e}),[]);o.length>0&&e.scope((function(e){var i,t=l(o);try{for(t.s();!(i=t.n()).done;){var n=i.value;u.applySingleFilterCondition(e,n)}}catch(e){t.e(e)}finally{t.f()}return e}))}}})),t(this,"handlePagination",(function(e){var i,t,l,n,r,o,a=null!==(i=null===(t=u.filterStateStore)||void 0===t?void 0:t.pagination)&&void 0!==i?i:{},d=a.page,v=a.pageSize,f=null!==(l=null!=d?d:null===(n=u.defaultFilter)||void 0===n||null===(n=n.pagination)||void 0===n?void 0:n.page)&&void 0!==l?l:0,c=null!==(r=null!=v?v:null===(o=u.defaultFilter)||void 0===o||null===(o=o.pagination)||void 0===o?void 0:o.pageSize)&&void 0!==r?r:10;e.take(c).skip(f*c)})),t(this,"handleSort",(function(e){var i,t,l,r=null!==(i=null===(t=u.filterStateStore)||void 0===t?void 0:t.sort)&&void 0!==i?i:null===(l=u.defaultFilter)||void 0===l?void 0:l.sort;if(r){var o=n(r.field,u.keyConverter);if(o.length>0){var a,d=o[0],v=null!==(a=d.deep)&&void 0!==a?a:d.field;v&&e.sort(v,{direction:"asc"===r.direction?"ASC":"DESC"})}}})),t(this,"prebuild",(function(e){return u.prebuildFunc=e,u})),t(this,"build",(function(){var e=r({ignoreEmpty:!0});return u.handleSort(e),u.handlePagination(e),u.handleQuickSearch(e),u.handleFilter(e),u.prebuildFunc&&u.prebuildFunc(e),e.build()})),this.keyConverter=a.keyConverter,this.quickSearchFields=a.quickSearchFields,this.defaultFilter=a.defaultFilter})),u=function(e){return new a(e)};export{u as createConvertFilterToGraphQL,a as default};
1
+ import{createClass as e,classCallCheck as i,defineProperty as t,createForOfIteratorHelper as r}from"../_virtual/_rollupPluginBabelHelpers.js";import{mapDateLogic as l}from"./helpers.js";import{createRequestBuilder as n}from"../http-service/graphql/request-param.js";import{getKeyConverter as o}from"../http-service/graphql/key-converter.js";var a=e((function e(a){var u=this;i(this,e),t(this,"fromFilter",(function(e){return u.filterStateStore=e,u})),t(this,"applySingleFilterCondition",(function(e,i){var t,r,n,o,a=null!==(t=null===(r=i.value)||void 0===r?void 0:r.toString())&&void 0!==t?t:"",u=null!==(n=i.keyConvert.deep)&&void 0!==n?n:i.keyConvert.field,v=i.keyConvert.custom;if(v)e.filterCustom(v(a),i.option);else if(u)if("date"===(null===(o=i.filter)||void 0===o?void 0:o.type)&&i.filter.dateLogic){var d=l[i.filter.dateLogic];e.filterCustom("".concat(u.toString()).concat(d,'"').concat(a,'"'),i.option)}else e.filterContains(u,a,i.option)})),t(this,"applyMulFilterCondition",(function(e,i,t){if(0!==i.length)if(1===i.length){var l=i[0];t&&(l.option=t),u.applySingleFilterCondition(e,l)}else e.scope((function(e){var t,l=r(i);try{for(l.s();!(t=l.n()).done;){var n=t.value;u.applySingleFilterCondition(e,n)}}catch(e){l.e(e)}finally{l.f()}return e}),t)})),t(this,"handleFilter",(function(e){var i,t=null===(i=u.filterStateStore)||void 0===i?void 0:i.filter;if(t){var l=Object.keys(t).filter(Boolean),n=l.reduce((function(e,i){var l,n,a=o(i,u.keyConverter),v=null!==(l=t[i])&&void 0!==l?l:[],d=r(a);try{for(d.s();!(n=d.n()).done;){var f,c=n.value,s=r(v);try{for(s.s();!(f=s.n()).done;){var p,h=f.value;if(h.value){var y=null!==(p=e[i])&&void 0!==p?p:[];y.push({value:h.value,keyConvert:c,filter:h,option:{logic:"Or"}}),e[i]=y}}}catch(e){s.e(e)}finally{s.f()}}}catch(e){d.e(e)}finally{d.f()}return e}),{});e.scope((function(i){for(var t in n){var r=n[t];r&&0!==r.length&&u.applyMulFilterCondition(1===l.length?e:i,r,{logic:"And"})}return i}),{logic:"And"})}})),t(this,"handleQuickSearch",(function(e){var i,t=null===(i=u.filterStateStore)||void 0===i?void 0:i.quickSearch;if(t&&u.quickSearchFields&&0!==u.quickSearchFields.length){var l=(Array.isArray(t)?t:[t]).map((function(e){return null==e?void 0:e.toString().trim()})).filter(Boolean);if(0!==l.length){var n=u.quickSearchFields.reduce((function(e,i){var t,n=o(i,u.keyConverter),a=r(n);try{for(a.s();!(t=a.n()).done;){var v,d=t.value,f=r(l);try{for(f.s();!(v=f.n()).done;){var c=v.value;c&&e.push({value:c,keyConvert:d})}}catch(e){f.e(e)}finally{f.f()}}}catch(e){a.e(e)}finally{a.f()}return e}),[]);n.length>0&&e.scope((function(e){var i,t=r(n);try{for(t.s();!(i=t.n()).done;){var l=i.value;u.applySingleFilterCondition(e,l)}}catch(e){t.e(e)}finally{t.f()}return e}))}}})),t(this,"handlePagination",(function(e){var i,t,r,l,n,o,a=null!==(i=null===(t=u.filterStateStore)||void 0===t?void 0:t.pagination)&&void 0!==i?i:{},v=a.page,d=a.pageSize,f=null!==(r=null!=v?v:null===(l=u.defaultFilter)||void 0===l||null===(l=l.pagination)||void 0===l?void 0:l.page)&&void 0!==r?r:0,c=null!==(n=null!=d?d:null===(o=u.defaultFilter)||void 0===o||null===(o=o.pagination)||void 0===o?void 0:o.pageSize)&&void 0!==n?n:10;e.take(c).skip(f*c)})),t(this,"handleSort",(function(e){var i,t,r,l=null!==(i=null===(t=u.filterStateStore)||void 0===t?void 0:t.sort)&&void 0!==i?i:null===(r=u.defaultFilter)||void 0===r?void 0:r.sort;if(l){var n=o(l.field,u.keyConverter);if(n.length>0){var a,v=n[0],d=null!==(a=v.deep)&&void 0!==a?a:v.field;d&&e.sort(d,{direction:"asc"===l.direction?"ASC":"DESC"})}}})),t(this,"prebuild",(function(e){return u.prebuildFunc=e,u})),t(this,"build",(function(){var e=n({ignoreEmpty:!0});return u.handleSort(e),u.handlePagination(e),u.handleQuickSearch(e),u.handleFilter(e),u.prebuildFunc&&u.prebuildFunc(e),e.build()})),this.keyConverter=a.keyConverter,this.quickSearchFields=a.quickSearchFields,this.defaultFilter=a.defaultFilter})),u=function(e){return new a(e)};export{u as createConvertFilterToGraphQL,a as default};
2
2
  //# sourceMappingURL=convert-filter-to-graphql.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"convert-filter-to-graphql.js","sources":["../../src/data-view/convert-filter-to-graphql.ts"],"sourcesContent":["import { createRequestBuilder, getKeyConverter, RequestParam } from 'dinocollab-http-service'\r\nimport type { IFilterOption, IKeyConverterDef, IKeyConverterModel } from 'dinocollab-http-service'\r\nimport { mapDateLogic } from './helpers'\r\nimport { IFilterItem, IFilterState } from './types'\r\n\r\nexport interface ISingleFilterCondition<G extends object> {\r\n value: any\r\n keyConvert: IKeyConverterDef<G>\r\n option?: Partial<IFilterOption>\r\n filter?: IFilterItem\r\n}\r\n\r\nexport interface IFilterToGraphQLParams<T, G extends object> {\r\n keyConverter: IKeyConverterModel<T, G>\r\n quickSearchFields?: (keyof T)[]\r\n defaultFilter?: IFilterState<T>\r\n}\r\n\r\nclass ConvertFilterToGraphQL<T, G extends object> {\r\n private keyConverter\r\n private quickSearchFields?: (keyof T)[]\r\n private defaultFilter?: IFilterState<T>\r\n\r\n constructor(params: IFilterToGraphQLParams<T, G>) {\r\n this.keyConverter = params.keyConverter\r\n this.quickSearchFields = params.quickSearchFields\r\n this.defaultFilter = params.defaultFilter\r\n }\r\n\r\n private filterStateStore?: IFilterState<T>\r\n fromFilter = (filterState: IFilterState<T>) => {\r\n this.filterStateStore = filterState\r\n return this\r\n }\r\n\r\n private applySingleFilterCondition = (rp: RequestParam<G>, params: ISingleFilterCondition<G>) => {\r\n const val = params.value?.toString() ?? ''\r\n const targetField = (params.keyConvert.deep ?? params.keyConvert.field) as keyof G\r\n const custom = params.keyConvert.custom\r\n if (custom) {\r\n rp.filterCustom(custom(val), params.option)\r\n return\r\n }\r\n if (!targetField) return\r\n if (params.filter?.type === 'date' && params.filter.dateLogic) {\r\n const logic = mapDateLogic[params.filter.dateLogic]\r\n rp.filterCustom(`${targetField.toString()}${logic}\"${val}\"`, params.option)\r\n return\r\n }\r\n rp.filterContains(targetField, val, params.option)\r\n }\r\n\r\n private applyMulFilterCondition = (rp: RequestParam<G>, items: ISingleFilterCondition<G>[], option?: Partial<IFilterOption>) => {\r\n if (items.length === 0) return\r\n else if (items.length === 1) {\r\n const i = items[0]\r\n if (option) i.option = option\r\n this.applySingleFilterCondition(rp, i)\r\n } else {\r\n rp.scope((q) => {\r\n for (const item of items) {\r\n this.applySingleFilterCondition(q, item)\r\n }\r\n return q\r\n }, option)\r\n }\r\n }\r\n\r\n private handleFilter = (rp: RequestParam<G>) => {\r\n const filter = this.filterStateStore?.filter\r\n if (!filter) return\r\n\r\n const keys = Object.keys(filter).filter(Boolean) as (keyof T)[]\r\n const list = keys.reduce<{ [key in keyof T]?: ISingleFilterCondition<G>[] }>((a, k) => {\r\n const keyConverteds = getKeyConverter(k, this.keyConverter)\r\n const items = filter[k] ?? []\r\n for (const keyConverted of keyConverteds) {\r\n for (const item of items) {\r\n if (!item.value) continue\r\n const list: ISingleFilterCondition<G>[] = a[k] ?? []\r\n list.push({ value: item.value, keyConvert: keyConverted, filter: item, option: { logic: 'Or' } })\r\n a[k] = list\r\n }\r\n }\r\n return a\r\n }, {})\r\n\r\n rp.scope(\r\n (q) => {\r\n for (const key in list) {\r\n const items = list[key]\r\n if (!items || items.length === 0) continue\r\n this.applyMulFilterCondition(keys.length === 1 ? rp : q, items, { logic: 'And' })\r\n }\r\n return q\r\n },\r\n { logic: 'And' }\r\n )\r\n }\r\n\r\n private handleQuickSearch = (rp: RequestParam<G>) => {\r\n const quickSearch = this.filterStateStore?.quickSearch\r\n if (!quickSearch || !this.quickSearchFields || this.quickSearchFields.length === 0) return\r\n\r\n // Convert quickSearch to array of strings\r\n const values = Array.isArray(quickSearch) ? quickSearch : [quickSearch]\r\n const trimmedValues = values.map((v) => v?.toString().trim()).filter(Boolean)\r\n\r\n if (trimmedValues.length === 0) return\r\n\r\n const list = this.quickSearchFields.reduce<ISingleFilterCondition<G>[]>((a, field) => {\r\n const keyConverteds = getKeyConverter(field, this.keyConverter)\r\n for (const keyConverted of keyConverteds) {\r\n for (const val of trimmedValues) {\r\n if (!val) continue\r\n a.push({ value: val, keyConvert: keyConverted })\r\n }\r\n }\r\n return a\r\n }, [])\r\n\r\n // Apply quick search with OR logic (scope)\r\n if (list.length > 0) {\r\n rp.scope((q) => {\r\n for (const item of list) {\r\n this.applySingleFilterCondition(q, item)\r\n }\r\n return q\r\n })\r\n }\r\n }\r\n\r\n private handlePagination = (rp: RequestParam<G>) => {\r\n const { page, pageSize } = this.filterStateStore?.pagination ?? {}\r\n const finalPage = page ?? this.defaultFilter?.pagination?.page ?? 0\r\n const finalPageSize = pageSize ?? this.defaultFilter?.pagination?.pageSize ?? 10\r\n rp.take(finalPageSize).skip(finalPage * finalPageSize)\r\n }\r\n\r\n private handleSort = (rp: RequestParam<G>) => {\r\n const sort = this.filterStateStore?.sort ?? this.defaultFilter?.sort\r\n if (!sort) return\r\n\r\n const keyConverteds = getKeyConverter(sort.field, this.keyConverter)\r\n if (keyConverteds.length > 0) {\r\n const keyConverted = keyConverteds[0] // Use first converter for sorting\r\n const targetField = (keyConverted.deep ?? keyConverted.field) as keyof G\r\n\r\n if (targetField) {\r\n rp.sort(targetField, { direction: sort.direction === 'asc' ? 'ASC' : 'DESC' })\r\n }\r\n }\r\n }\r\n\r\n private prebuildFunc?: (rp: RequestParam<G>) => RequestParam<G>\r\n prebuild = (func: (requestParam: RequestParam<G>) => RequestParam<G>) => {\r\n this.prebuildFunc = func\r\n return this\r\n }\r\n\r\n build = () => {\r\n const requestBuilder = createRequestBuilder<G>({ ignoreEmpty: true })\r\n this.handleSort(requestBuilder)\r\n this.handlePagination(requestBuilder)\r\n this.handleQuickSearch(requestBuilder)\r\n this.handleFilter(requestBuilder)\r\n if (this.prebuildFunc) this.prebuildFunc(requestBuilder)\r\n return requestBuilder.build()\r\n }\r\n}\r\nexport default ConvertFilterToGraphQL\r\n\r\nexport const createConvertFilterToGraphQL = <T, G extends object>(params: IFilterToGraphQLParams<T, G>) => {\r\n return new ConvertFilterToGraphQL<T, G>(params)\r\n}\r\n"],"names":["ConvertFilterToGraphQL","_createClass","params","_this","this","_classCallCheck","_defineProperty","filterState","filterStateStore","rp","_params$value$toStrin","_params$value","_params$keyConvert$de","_params$filter","val","value","toString","targetField","keyConvert","deep","field","custom","filterCustom","option","filter","type","dateLogic","logic","mapDateLogic","concat","filterContains","items","length","i","applySingleFilterCondition","scope","q","_step","_iterator","_createForOfIteratorHelper","s","n","done","item","err","e","f","_this$filterStateStor","keys","Object","Boolean","list","reduce","a","k","_filter$k","_step2","keyConverteds","getKeyConverter","keyConverter","_iterator2","_step3","keyConverted","_iterator3","_a$k","push","key","applyMulFilterCondition","_this$filterStateStor2","quickSearch","quickSearchFields","trimmedValues","Array","isArray","map","v","trim","_step4","_iterator4","_step5","_iterator5","_step6","_iterator6","_this$filterStateStor3","_this$filterStateStor4","_ref2","_this$defaultFilter","_ref3","_this$defaultFilter2","_ref","pagination","page","pageSize","finalPage","defaultFilter","finalPageSize","take","skip","_this$filterStateStor5","_this$filterStateStor6","_this$defaultFilter3","sort","_keyConverted$deep","direction","func","prebuildFunc","requestBuilder","createRequestBuilder","ignoreEmpty","handleSort","handlePagination","handleQuickSearch","handleFilter","build","createConvertFilterToGraphQL"],"mappings":"8QAEwC,IAgBlCA,EAAsBC,GAK1B,SAAAD,EAAYE,GAAoC,IAAAC,EAAAC,KAAAC,OAAAL,GAAAM,EAAAF,KAAA,cAOnC,SAACG,GAEZ,OADAJ,EAAKK,iBAAmBD,EACjBJ,KACRG,EAEoCF,KAAA,8BAAA,SAACK,EAAqBP,GAAqC,IAAAQ,EAAAC,EAAAC,EAAAC,EACxFC,UAAGJ,EAAeC,QAAfA,EAAGT,EAAOa,iBAAKJ,SAAZA,EAAcK,kBAAU,IAAAN,EAAAA,EAAI,GAClCO,EAAqCL,QAA1BA,EAAIV,EAAOgB,WAAWC,gBAAIP,EAAAA,EAAIV,EAAOgB,WAAWE,MAC3DC,EAASnB,EAAOgB,WAAWG,OACjC,GAAIA,EACFZ,EAAGa,aAAaD,EAAOP,GAAMZ,EAAOqB,aAGtC,GAAKN,EACL,GAA4B,UAAX,QAAbJ,EAAAX,EAAOsB,cAAPX,IAAaA,OAAbA,EAAAA,EAAeY,OAAmBvB,EAAOsB,OAAOE,UAApD,CACE,IAAMC,EAAQC,EAAa1B,EAAOsB,OAAOE,WACzCjB,EAAGa,aAAYO,GAAAA,OAAIZ,EAAYD,YAAUa,OAAGF,OAAKE,OAAIf,EAAQZ,KAAAA,EAAOqB,OAErE,MACDd,EAAGqB,eAAeb,EAAaH,EAAKZ,EAAOqB,WAC5CjB,kCAEiC,SAACG,EAAqBsB,EAAoCR,GAC1F,GAAqB,IAAjBQ,EAAMC,OACL,GAAqB,IAAjBD,EAAMC,OAAc,CAC3B,IAAMC,EAAIF,EAAM,GACZR,IAAQU,EAAEV,OAASA,GACvBpB,EAAK+B,2BAA2BzB,EAAIwB,EACrC,MACCxB,EAAG0B,OAAM,SAACC,GAAK,IACWC,EADXC,EAAAC,EACMR,GAAK,IAAxB,IAAAO,EAAAE,MAAAH,EAAAC,EAAAG,KAAAC,MAA0B,CAAA,IAAfC,EAAIN,EAAAtB,MACbZ,EAAK+B,2BAA2BE,EAAGO,EACpC,CAAA,CAAA,MAAAC,GAAAN,EAAAO,EAAAD,EAAA,CAAA,QAAAN,EAAAQ,GAAA,CACD,OAAOV,CACR,GAAEb,MAENjB,EAAAF,KAAA,gBAEsB,SAACK,GAAuB,IAAAsC,EACvCvB,EAA8B,QAAxBuB,EAAG5C,EAAKK,wBAAgB,IAAAuC,OAAA,EAArBA,EAAuBvB,OACtC,GAAKA,EAAL,CAEA,IAAMwB,EAAOC,OAAOD,KAAKxB,GAAQA,OAAO0B,SAClCC,EAAOH,EAAKI,QAA2D,SAACC,EAAGC,GAAK,IAAAC,EAG5CC,EAFlCC,EAAgBC,EAAgBJ,EAAGnD,EAAKwD,cACxC5B,EAAiBwB,QAAZA,EAAG/B,EAAO8B,UAAEC,IAAAA,EAAAA,EAAI,GAAEK,EAAArB,EACFkB,GAAa,IAAxC,IAAAG,EAAApB,MAAAgB,EAAAI,EAAAnB,KAAAC,MAA0C,CAAA,IAChBmB,EADfC,EAAYN,EAAAzC,MAAAgD,EAAAxB,EACFR,GAAK,IAAxB,IAAAgC,EAAAvB,MAAAqB,EAAAE,EAAAtB,KAAAC,MAA0B,CAAA,IAAAsB,EAAfrB,EAAIkB,EAAA9C,MACb,GAAK4B,EAAK5B,MAAV,CACA,IAAMoC,EAAwCa,QAApCA,EAAgCX,EAAEC,UAAEU,IAAAA,EAAAA,EAAI,GAClDb,EAAKc,KAAK,CAAElD,MAAO4B,EAAK5B,MAAOG,WAAY4C,EAActC,OAAQmB,EAAMpB,OAAQ,CAAEI,MAAO,QACxF0B,EAAEC,GAAKH,CAHU,CAIlB,CAAA,CAAA,MAAAP,GAAAmB,EAAAlB,EAAAD,EAAA,CAAA,QAAAmB,EAAAjB,GAAA,CACF,CAAA,CAAA,MAAAF,GAAAgB,EAAAf,EAAAD,EAAA,CAAA,QAAAgB,EAAAd,GAAA,CACD,OAAOO,CACR,GAAE,IAEH5C,EAAG0B,OACD,SAACC,GACC,IAAK,IAAM8B,KAAOf,EAAM,CACtB,IAAMpB,EAAQoB,EAAKe,GACdnC,GAA0B,IAAjBA,EAAMC,QACpB7B,EAAKgE,wBAAwC,IAAhBnB,EAAKhB,OAAevB,EAAK2B,EAAGL,EAAO,CAAEJ,MAAO,OAC1E,CACD,OAAOS,CACT,GACA,CAAET,MAAO,OA1BE,KA4BdrB,EAAAF,KAAA,qBAE2B,SAACK,GAAuB,IAAA2D,EAC5CC,EAAmC,QAAxBD,EAAGjE,EAAKK,wBAAgB,IAAA4D,OAAA,EAArBA,EAAuBC,YAC3C,GAAKA,GAAgBlE,EAAKmE,mBAAuD,IAAlCnE,EAAKmE,kBAAkBtC,OAAtE,CAGA,IACMuC,GADSC,MAAMC,QAAQJ,GAAeA,EAAc,CAACA,IAC9BK,KAAI,SAACC,GAAC,OAAKA,aAAC,EAADA,EAAG3D,WAAW4D,MAAM,IAAEpD,OAAO0B,SAErE,GAA6B,IAAzBqB,EAAcvC,OAAlB,CAEA,IAAMmB,EAAOhD,EAAKmE,kBAAkBlB,QAAoC,SAACC,EAAGjC,GAC1E,IACwCyD,EADlCpB,EAAgBC,EAAgBtC,EAAOjB,EAAKwD,cAAamB,EAAAvC,EACpCkB,GAAa,IAAxC,IAAAqB,EAAAtC,MAAAqC,EAAAC,EAAArC,KAAAC,MAA0C,CAAA,IACTqC,EADtBjB,EAAYe,EAAA9D,MAAAiE,EAAAzC,EACHgC,GAAa,IAA/B,IAAAS,EAAAxC,MAAAuC,EAAAC,EAAAvC,KAAAC,MAAiC,CAAA,IAAtB5B,EAAGiE,EAAAhE,MACPD,GACLuC,EAAEY,KAAK,CAAElD,MAAOD,EAAKI,WAAY4C,GAClC,CAAA,CAAA,MAAAlB,GAAAoC,EAAAnC,EAAAD,EAAA,CAAA,QAAAoC,EAAAlC,GAAA,CACF,CAAA,CAAA,MAAAF,GAAAkC,EAAAjC,EAAAD,EAAA,CAAA,QAAAkC,EAAAhC,GAAA,CACD,OAAOO,CACR,GAAE,IAGCF,EAAKnB,OAAS,GAChBvB,EAAG0B,OAAM,SAACC,GAAK,IACU6C,EADVC,EAAA3C,EACMY,GAAI,IAAvB,IAAA+B,EAAA1C,MAAAyC,EAAAC,EAAAzC,KAAAC,MAAyB,CAAA,IAAdC,EAAIsC,EAAAlE,MACbZ,EAAK+B,2BAA2BE,EAAGO,EACpC,CAAA,CAAA,MAAAC,GAAAsC,EAAArC,EAAAD,EAAA,CAAA,QAAAsC,EAAApC,GAAA,CACD,OAAOV,CACT,GApB8B,CANoD,KA4BrF9B,EAAAF,KAAA,oBAE0B,SAACK,GAAuB,IAAA0E,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EACjDC,EAA4D,QAA5DN,EAAgD,QAAhDC,EAA2BjF,EAAKK,wBAAL4E,IAAqBA,OAArBA,EAAAA,EAAuBM,kBAAUP,IAAAA,EAAAA,EAAI,CAAE,EAA1DQ,EAAIF,EAAJE,KAAMC,EAAQH,EAARG,SACRC,EAAwDR,QAA/CA,EAAGM,QAAAA,EAA0BL,QAAtBA,EAAInF,EAAK2F,qBAAaR,IAAAA,WAAAA,EAAlBA,EAAoBI,kBAAU,IAAAJ,OAAA,EAA9BA,EAAgCK,YAAIN,IAAAA,EAAAA,EAAI,EAC5DU,EAAoER,QAAvDA,EAAGK,QAAAA,EAA8BJ,QAAtBA,EAAIrF,EAAK2F,qBAAaN,IAAAA,WAAAA,EAAlBA,EAAoBE,kBAAU,IAAAF,OAAA,EAA9BA,EAAgCI,gBAAQL,IAAAA,EAAAA,EAAI,GAC9E9E,EAAGuF,KAAKD,GAAeE,KAAKJ,EAAYE,MACzCzF,EAAAF,KAAA,cAEoB,SAACK,GAAuB,IAAAyF,EAAAC,EAAAC,EACrCC,EAAkCH,QAA9BA,EAAwB,QAAxBC,EAAGhG,EAAKK,wBAAgB,IAAA2F,OAAA,EAArBA,EAAuBE,YAAIH,IAAAA,EAAAA,EAAsBE,QAAtBA,EAAIjG,EAAK2F,qBAALM,IAAkBA,OAAlBA,EAAAA,EAAoBC,KAChE,GAAKA,EAAL,CAEA,IAAM5C,EAAgBC,EAAgB2C,EAAKjF,MAAOjB,EAAKwD,cACvD,GAAIF,EAAczB,OAAS,EAAG,CAAA,IAAAsE,EACtBxC,EAAeL,EAAc,GAC7BxC,EAAgCqF,QAArBA,EAAIxC,EAAa3C,YAAImF,IAAAA,EAAAA,EAAIxC,EAAa1C,MAEnDH,GACFR,EAAG4F,KAAKpF,EAAa,CAAEsF,UAA8B,QAAnBF,EAAKE,UAAsB,MAAQ,QAExE,CAVU,KAWZjG,EAAAF,KAAA,YAGU,SAACoG,GAEV,OADArG,EAAKsG,aAAeD,EACbrG,KACRG,gBAEO,WACN,IAAMoG,EAAiBC,EAAwB,CAAEC,aAAa,IAM9D,OALAzG,EAAK0G,WAAWH,GAChBvG,EAAK2G,iBAAiBJ,GACtBvG,EAAK4G,kBAAkBL,GACvBvG,EAAK6G,aAAaN,GACdvG,EAAKsG,cAActG,EAAKsG,aAAaC,GAClCA,EAAeO,WA/ItB7G,KAAKuD,aAAezD,EAAOyD,aAC3BvD,KAAKkE,kBAAoBpE,EAAOoE,kBAChClE,KAAK0F,cAAgB5F,EAAO4F,aAC9B,IAiJWoB,EAA+B,SAAsBhH,GAChE,OAAO,IAAIF,EAA6BE,EAC1C"}
1
+ {"version":3,"file":"convert-filter-to-graphql.js","sources":["../../src/data-view/convert-filter-to-graphql.ts"],"sourcesContent":["import { mapDateLogic } from './helpers'\r\nimport { createRequestBuilder, IFilterOption, RequestParam } from '../http-service/graphql/request-param'\r\nimport { getKeyConverter, IKeyConverterDef, IKeyConverterModel } from '../http-service/graphql/key-converter'\r\nimport { IFilterItem, IFilterState } from './types'\r\n\r\nexport interface ISingleFilterCondition<G extends object> {\r\n value: any\r\n keyConvert: IKeyConverterDef<G>\r\n option?: Partial<IFilterOption>\r\n filter?: IFilterItem\r\n}\r\n\r\nexport interface IFilterToGraphQLParams<T, G extends object> {\r\n keyConverter: IKeyConverterModel<T, G>\r\n quickSearchFields?: (keyof T)[]\r\n defaultFilter?: IFilterState<T>\r\n}\r\n\r\nclass ConvertFilterToGraphQL<T, G extends object> {\r\n private keyConverter\r\n private quickSearchFields?: (keyof T)[]\r\n private defaultFilter?: IFilterState<T>\r\n\r\n constructor(params: IFilterToGraphQLParams<T, G>) {\r\n this.keyConverter = params.keyConverter\r\n this.quickSearchFields = params.quickSearchFields\r\n this.defaultFilter = params.defaultFilter\r\n }\r\n\r\n private filterStateStore?: IFilterState<T>\r\n fromFilter = (filterState: IFilterState<T>) => {\r\n this.filterStateStore = filterState\r\n return this\r\n }\r\n\r\n private applySingleFilterCondition = (rp: RequestParam<G>, params: ISingleFilterCondition<G>) => {\r\n const val = params.value?.toString() ?? ''\r\n const targetField = (params.keyConvert.deep ?? params.keyConvert.field) as keyof G\r\n const custom = params.keyConvert.custom\r\n if (custom) {\r\n rp.filterCustom(custom(val), params.option)\r\n return\r\n }\r\n if (!targetField) return\r\n if (params.filter?.type === 'date' && params.filter.dateLogic) {\r\n const logic = mapDateLogic[params.filter.dateLogic]\r\n rp.filterCustom(`${targetField.toString()}${logic}\"${val}\"`, params.option)\r\n return\r\n }\r\n rp.filterContains(targetField, val, params.option)\r\n }\r\n\r\n private applyMulFilterCondition = (rp: RequestParam<G>, items: ISingleFilterCondition<G>[], option?: Partial<IFilterOption>) => {\r\n if (items.length === 0) return\r\n else if (items.length === 1) {\r\n const i = items[0]\r\n if (option) i.option = option\r\n this.applySingleFilterCondition(rp, i)\r\n } else {\r\n rp.scope((q) => {\r\n for (const item of items) {\r\n this.applySingleFilterCondition(q, item)\r\n }\r\n return q\r\n }, option)\r\n }\r\n }\r\n\r\n private handleFilter = (rp: RequestParam<G>) => {\r\n const filter = this.filterStateStore?.filter\r\n if (!filter) return\r\n\r\n const keys = Object.keys(filter).filter(Boolean) as (keyof T)[]\r\n const list = keys.reduce<{ [key in keyof T]?: ISingleFilterCondition<G>[] }>((a, k) => {\r\n const keyConverteds = getKeyConverter(k, this.keyConverter)\r\n const items = filter[k] ?? []\r\n for (const keyConverted of keyConverteds) {\r\n for (const item of items) {\r\n if (!item.value) continue\r\n const list: ISingleFilterCondition<G>[] = a[k] ?? []\r\n list.push({ value: item.value, keyConvert: keyConverted, filter: item, option: { logic: 'Or' } })\r\n a[k] = list\r\n }\r\n }\r\n return a\r\n }, {})\r\n\r\n rp.scope(\r\n (q) => {\r\n for (const key in list) {\r\n const items = list[key]\r\n if (!items || items.length === 0) continue\r\n this.applyMulFilterCondition(keys.length === 1 ? rp : q, items, { logic: 'And' })\r\n }\r\n return q\r\n },\r\n { logic: 'And' }\r\n )\r\n }\r\n\r\n private handleQuickSearch = (rp: RequestParam<G>) => {\r\n const quickSearch = this.filterStateStore?.quickSearch\r\n if (!quickSearch || !this.quickSearchFields || this.quickSearchFields.length === 0) return\r\n\r\n // Convert quickSearch to array of strings\r\n const values = Array.isArray(quickSearch) ? quickSearch : [quickSearch]\r\n const trimmedValues = values.map((v) => v?.toString().trim()).filter(Boolean)\r\n\r\n if (trimmedValues.length === 0) return\r\n\r\n const list = this.quickSearchFields.reduce<ISingleFilterCondition<G>[]>((a, field) => {\r\n const keyConverteds = getKeyConverter(field, this.keyConverter)\r\n for (const keyConverted of keyConverteds) {\r\n for (const val of trimmedValues) {\r\n if (!val) continue\r\n a.push({ value: val, keyConvert: keyConverted })\r\n }\r\n }\r\n return a\r\n }, [])\r\n\r\n // Apply quick search with OR logic (scope)\r\n if (list.length > 0) {\r\n rp.scope((q) => {\r\n for (const item of list) {\r\n this.applySingleFilterCondition(q, item)\r\n }\r\n return q\r\n })\r\n }\r\n }\r\n\r\n private handlePagination = (rp: RequestParam<G>) => {\r\n const { page, pageSize } = this.filterStateStore?.pagination ?? {}\r\n const finalPage = page ?? this.defaultFilter?.pagination?.page ?? 0\r\n const finalPageSize = pageSize ?? this.defaultFilter?.pagination?.pageSize ?? 10\r\n rp.take(finalPageSize).skip(finalPage * finalPageSize)\r\n }\r\n\r\n private handleSort = (rp: RequestParam<G>) => {\r\n const sort = this.filterStateStore?.sort ?? this.defaultFilter?.sort\r\n if (!sort) return\r\n\r\n const keyConverteds = getKeyConverter(sort.field, this.keyConverter)\r\n if (keyConverteds.length > 0) {\r\n const keyConverted = keyConverteds[0] // Use first converter for sorting\r\n const targetField = (keyConverted.deep ?? keyConverted.field) as keyof G\r\n\r\n if (targetField) {\r\n rp.sort(targetField, { direction: sort.direction === 'asc' ? 'ASC' : 'DESC' })\r\n }\r\n }\r\n }\r\n\r\n private prebuildFunc?: (rp: RequestParam<G>) => RequestParam<G>\r\n prebuild = (func: (requestParam: RequestParam<G>) => RequestParam<G>) => {\r\n this.prebuildFunc = func\r\n return this\r\n }\r\n\r\n build = () => {\r\n const requestBuilder = createRequestBuilder<G>({ ignoreEmpty: true })\r\n this.handleSort(requestBuilder)\r\n this.handlePagination(requestBuilder)\r\n this.handleQuickSearch(requestBuilder)\r\n this.handleFilter(requestBuilder)\r\n if (this.prebuildFunc) this.prebuildFunc(requestBuilder)\r\n return requestBuilder.build()\r\n }\r\n}\r\nexport default ConvertFilterToGraphQL\r\n\r\nexport const createConvertFilterToGraphQL = <T, G extends object>(params: IFilterToGraphQLParams<T, G>) => {\r\n return new ConvertFilterToGraphQL<T, G>(params)\r\n}\r\n"],"names":["ConvertFilterToGraphQL","_createClass","params","_this","this","_classCallCheck","_defineProperty","filterState","filterStateStore","rp","_params$value$toStrin","_params$value","_params$keyConvert$de","_params$filter","val","value","toString","targetField","keyConvert","deep","field","custom","filterCustom","option","filter","type","dateLogic","logic","mapDateLogic","concat","filterContains","items","length","i","applySingleFilterCondition","scope","q","_step","_iterator","_createForOfIteratorHelper","s","n","done","item","err","e","f","_this$filterStateStor","keys","Object","Boolean","list","reduce","a","k","_filter$k","_step2","keyConverteds","getKeyConverter","keyConverter","_iterator2","_step3","keyConverted","_iterator3","_a$k","push","key","applyMulFilterCondition","_this$filterStateStor2","quickSearch","quickSearchFields","trimmedValues","Array","isArray","map","v","trim","_step4","_iterator4","_step5","_iterator5","_step6","_iterator6","_this$filterStateStor3","_this$filterStateStor4","_ref2","_this$defaultFilter","_ref3","_this$defaultFilter2","_ref","pagination","page","pageSize","finalPage","defaultFilter","finalPageSize","take","skip","_this$filterStateStor5","_this$filterStateStor6","_this$defaultFilter3","sort","_keyConverted$deep","direction","func","prebuildFunc","requestBuilder","createRequestBuilder","ignoreEmpty","handleSort","handlePagination","handleQuickSearch","handleFilter","build","createConvertFilterToGraphQL"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{defineProperty as e,inherits as t,createClass as i,classCallCheck as r,callSuper as a}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsx as n,Fragment as l,jsxs as o}from"react/jsx-runtime";import{Component as c,Fragment as s}from"react";import{styled as d,Box as u,Collapse as m,Typography as v,Chip as f}from"@mui/material";import{createFilterStore as p}from"./filter-store.js";import{ClearAllButton as h,mapSortConfigs as x}from"./ui.units.js";import{mapDataViewContext as C}from"./context.js";import{formatDatetime as g}from"../utils/helpers.js";import"../utils/dayjs-config.js";import"react-router-dom";import"../utils/query-param.js";import{mapDateLogicText as S}from"./helpers.js";var b={root:"ActiveFiltersPanel-root",content:"ActiveFiltersPanel-content",item:"ActiveFiltersPanel-item",itemContent:"ActiveFiltersPanel-itemContent",itemChip:"ActiveFiltersPanel-itemChip",removeButton:"ActiveFiltersPanel-removeButton",overlay:"ActiveFiltersPanel-overlay"};function w(){return function(){function d(t){var i;return r(this,d),i=a(this,d,[t]),e(i,"handleAnimationExited",(function(){i.setState({isClosing:!0})})),e(i,"renderItems",(function(e){var t;return o(u,{className:b.item,children:[o(v,{variant:"caption",sx:{fontWeight:700},children:[e.label||(null===(t=e.field)||void 0===t?void 0:t.toString()),":"]}),e.items.map((function(t){return n(f,{clickable:!0,size:"small",label:t.label||t.value,className:b.itemChip,onDelete:function(){e.isQuickSearch?i.removeQuickSearch(t):e.field&&i.removeFilter(e.field,t)}},t.value)}))]})})),e(i,"renderFilters",(function(){var e,t=(null===(e=i.dataViewContext.filterState)||void 0===e?void 0:e.filter)||{},r=Object.keys(t);return 0===r.length?n(l,{}):r.map((function(e){var r,a=(null!==(r=t[e])&&void 0!==r?r:[]).reduce((function(e,t){var i,r,a,n,l=t.label||(null===(i=t.value)||void 0===i?void 0:i.toString());"date"===t.type&&t.dateLogic&&(l="".concat(S[t.dateLogic]," ").concat(g(null!==(a=null===(n=t.value)||void 0===n?void 0:n.toString())&&void 0!==a?a:"","style2")));return t.value&&e.push({value:null===(r=t.value)||void 0===r?void 0:r.toString(),label:l}),e}),[]);return n(s,{children:i.renderItems({field:e,label:e.toString(),items:a})},e.toString())}))})),e(i,"renderSort",(function(){var e,t,r=null===(e=i.dataViewContext.filterState)||void 0===e?void 0:e.sort;if(!r)return n(l,{});var a=null===(t=i.dataViewContext.filterBarConfigs.fields)||void 0===t?void 0:t[r.field],c=(null==a?void 0:a.label)||r.field.toString(),s=x[r.direction];return o(u,{className:b.item,children:[n(v,{variant:"caption",sx:{fontWeight:700},children:"Sort:"}),n(f,{clickable:!0,size:"small",label:o(u,{sx:{display:"flex",alignItems:"center",gap:.5},children:[n("span",{children:c}),s.icon]}),className:b.itemChip,onClick:i.toggleSortDirection,onDelete:function(){return i.removeSort()},title:"".concat(c," - ").concat(s.title)})]})})),e(i,"removeFilter",(function(e,t){var r=p(i.dataViewContext.filterState).removeFilterItem(e,t.value,{reason:"filter"});i.dataViewContext.onFilterStateChange(r.build())})),e(i,"removeQuickSearch",(function(e){var t=p(i.dataViewContext.filterState).removeQuickSearchItem(e.value,{reason:"quickSearch"});i.dataViewContext.onFilterStateChange(t.build())})),e(i,"removeSort",(function(){var e=p(i.dataViewContext.filterState).removeSort({reason:"sort"});i.dataViewContext.onFilterStateChange(e.build())})),e(i,"toggleSortDirection",(function(){var e=p(i.dataViewContext.filterState).toggleSortDirection({reason:"sort"});i.dataViewContext.onFilterStateChange(e.build())})),e(i,"handleClearAll",(function(){var e=i.dataViewContext.filterBarConfigs.defaultValue||{},t=p(i.dataViewContext.filterState,e).reset();i.dataViewContext.onFilterStateChange(t.build())})),i.state={data:null,isClosing:!1},i}return t(d,c),i(d,[{key:"render",value:function(){var e=this;return C((function(t){if(e.dataViewContext=t,!e.dataViewContext)return n(l,{});var i=e.dataViewContext.filterBarConfigs.defaultValue,r=p(e.dataViewContext.filterState,i).isEmpty();return n(m,{in:!r,timeout:300,unmountOnExit:!0,orientation:"vertical",onExited:e.handleAnimationExited,children:o(V,{className:b.root,children:[o(u,{className:b.content,children:[e.renderSort(),e.renderQuickSearch(),e.renderFilters(),!r&&n(h,{className:b.removeButton,onClick:e.handleClearAll})]}),e.props.loading&&n(u,{className:b.overlay})]})})}))}},{key:"renderQuickSearch",value:function(){var e,t=(null===(e=this.dataViewContext.filterState)||void 0===e?void 0:e.quickSearch)||[],i=(Array.isArray(t)?t:[t]).map((function(e){return{value:e}}));return i&&0!==i.length?this.renderItems({label:"Quick search",items:i,isQuickSearch:!0}):n(l,{})}}])}()}var V=d(u)(e(e(e(e(e({position:"relative"},".".concat(b.content),{display:"flex",alignItems:"center",flexWrap:"wrap",gap:"8px"}),".".concat(b.item),{display:"flex",flexWrap:"wrap",border:"dashed 1px var(--color-divider, rgba(145 160 170 / 20%))",borderRadius:"4px",alignItems:"center",padding:"6px 8px",gap:"8px"}),".".concat(b.itemContent),{display:"flex",flexWrap:"wrap",gap:"4px"}),".".concat(b.itemChip),{borderRadius:"4px"}),".".concat(b.overlay),{position:"absolute",top:0,left:0,width:"100%",height:"100%",backdropFilter:"blur(1px)"}));export{b as activeFiltersPanelClasses,w as default};
1
+ import{defineProperty as e,inherits as t,createClass as i,classCallCheck as r,callSuper as a}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsx as n,Fragment as l,jsxs as o}from"react/jsx-runtime";import{Component as c,Fragment as s}from"react";import{styled as d,Box as u,Collapse as m,Typography as v,Chip as f}from"@mui/material";import{createFilterStore as p}from"./filter-store.js";import{ClearAllButton as h,mapSortConfigs as x}from"./ui.units.js";import{mapDataViewContext as C}from"./context.js";import{formatDatetime as g}from"../utils/helpers.js";import"../utils/dayjs-config.js";import"../utils/query-param.js";import{mapDateLogicText as S}from"./helpers.js";var b={root:"ActiveFiltersPanel-root",content:"ActiveFiltersPanel-content",item:"ActiveFiltersPanel-item",itemContent:"ActiveFiltersPanel-itemContent",itemChip:"ActiveFiltersPanel-itemChip",removeButton:"ActiveFiltersPanel-removeButton",overlay:"ActiveFiltersPanel-overlay"};function w(){return function(){function d(t){var i;return r(this,d),i=a(this,d,[t]),e(i,"handleAnimationExited",(function(){i.setState({isClosing:!0})})),e(i,"renderItems",(function(e){var t;return o(u,{className:b.item,children:[o(v,{variant:"caption",sx:{fontWeight:700},children:[e.label||(null===(t=e.field)||void 0===t?void 0:t.toString()),":"]}),e.items.map((function(t){return n(f,{clickable:!0,size:"small",label:t.label||t.value,className:b.itemChip,onDelete:function(){e.isQuickSearch?i.removeQuickSearch(t):e.field&&i.removeFilter(e.field,t)}},t.value)}))]})})),e(i,"renderFilters",(function(){var e,t=(null===(e=i.dataViewContext.filterState)||void 0===e?void 0:e.filter)||{},r=Object.keys(t);return 0===r.length?n(l,{}):r.map((function(e){var r,a=(null!==(r=t[e])&&void 0!==r?r:[]).reduce((function(e,t){var i,r,a,n,l=t.label||(null===(i=t.value)||void 0===i?void 0:i.toString());"date"===t.type&&t.dateLogic&&(l="".concat(S[t.dateLogic]," ").concat(g(null!==(a=null===(n=t.value)||void 0===n?void 0:n.toString())&&void 0!==a?a:"","style2")));return t.value&&e.push({value:null===(r=t.value)||void 0===r?void 0:r.toString(),label:l}),e}),[]);return n(s,{children:i.renderItems({field:e,label:e.toString(),items:a})},e.toString())}))})),e(i,"renderSort",(function(){var e,t,r=null===(e=i.dataViewContext.filterState)||void 0===e?void 0:e.sort;if(!r)return n(l,{});var a=null===(t=i.dataViewContext.filterBarConfigs.fields)||void 0===t?void 0:t[r.field],c=(null==a?void 0:a.label)||r.field.toString(),s=x[r.direction];return o(u,{className:b.item,children:[n(v,{variant:"caption",sx:{fontWeight:700},children:"Sort:"}),n(f,{clickable:!0,size:"small",label:o(u,{sx:{display:"flex",alignItems:"center",gap:.5},children:[n("span",{children:c}),s.icon]}),className:b.itemChip,onClick:i.toggleSortDirection,onDelete:function(){return i.removeSort()},title:"".concat(c," - ").concat(s.title)})]})})),e(i,"removeFilter",(function(e,t){var r=p(i.dataViewContext.filterState).removeFilterItem(e,t.value,{reason:"filter"});i.dataViewContext.onFilterStateChange(r.build())})),e(i,"removeQuickSearch",(function(e){var t=p(i.dataViewContext.filterState).removeQuickSearchItem(e.value,{reason:"quickSearch"});i.dataViewContext.onFilterStateChange(t.build())})),e(i,"removeSort",(function(){var e=p(i.dataViewContext.filterState).removeSort({reason:"sort"});i.dataViewContext.onFilterStateChange(e.build())})),e(i,"toggleSortDirection",(function(){var e=p(i.dataViewContext.filterState).toggleSortDirection({reason:"sort"});i.dataViewContext.onFilterStateChange(e.build())})),e(i,"handleClearAll",(function(){var e=i.dataViewContext.filterBarConfigs.defaultValue||{},t=p(i.dataViewContext.filterState,e).reset();i.dataViewContext.onFilterStateChange(t.build())})),i.state={data:null,isClosing:!1},i}return t(d,c),i(d,[{key:"render",value:function(){var e=this;return C((function(t){if(e.dataViewContext=t,!e.dataViewContext)return n(l,{});var i=e.dataViewContext.filterBarConfigs.defaultValue,r=p(e.dataViewContext.filterState,i).isEmpty();return n(m,{in:!r,timeout:300,unmountOnExit:!0,orientation:"vertical",onExited:e.handleAnimationExited,children:o(V,{className:b.root,children:[o(u,{className:b.content,children:[e.renderSort(),e.renderQuickSearch(),e.renderFilters(),!r&&n(h,{className:b.removeButton,onClick:e.handleClearAll})]}),e.props.loading&&n(u,{className:b.overlay})]})})}))}},{key:"renderQuickSearch",value:function(){var e,t=(null===(e=this.dataViewContext.filterState)||void 0===e?void 0:e.quickSearch)||[],i=(Array.isArray(t)?t:[t]).map((function(e){return{value:e}}));return i&&0!==i.length?this.renderItems({label:"Quick search",items:i,isQuickSearch:!0}):n(l,{})}}])}()}var V=d(u)(e(e(e(e(e({position:"relative"},".".concat(b.content),{display:"flex",alignItems:"center",flexWrap:"wrap",gap:"8px"}),".".concat(b.item),{display:"flex",flexWrap:"wrap",border:"dashed 1px var(--color-divider, rgba(145 160 170 / 20%))",borderRadius:"4px",alignItems:"center",padding:"6px 8px",gap:"8px"}),".".concat(b.itemContent),{display:"flex",flexWrap:"wrap",gap:"4px"}),".".concat(b.itemChip),{borderRadius:"4px"}),".".concat(b.overlay),{position:"absolute",top:0,left:0,width:"100%",height:"100%",backdropFilter:"blur(1px)"}));export{b as activeFiltersPanelClasses,w as default};
2
2
  //# sourceMappingURL=create.active-filters-panel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"create.active-filters-panel.js","sources":["../../src/data-view/create.active-filters-panel.tsx"],"sourcesContent":["import React, { Component, ComponentType, Fragment } from 'react'\r\nimport { Box, Chip, Collapse, styled, Typography } from '@mui/material'\r\nimport { createFilterStore } from './filter-store'\r\nimport { ClearAllButton, mapSortConfigs } from './ui.units'\r\nimport { IDataViewContext, mapDataViewContext } from './context'\r\nimport { IFilterItem, IFilterMap, IFilterState, IItemBase } from './types'\r\nimport { formatDatetime } from '../utils'\r\nimport { mapDateLogicText } from './helpers'\r\n\r\nexport const activeFiltersPanelClasses = {\r\n root: 'ActiveFiltersPanel-root',\r\n content: 'ActiveFiltersPanel-content',\r\n item: 'ActiveFiltersPanel-item',\r\n itemContent: 'ActiveFiltersPanel-itemContent',\r\n itemChip: 'ActiveFiltersPanel-itemChip',\r\n removeButton: 'ActiveFiltersPanel-removeButton',\r\n overlay: 'ActiveFiltersPanel-overlay'\r\n}\r\n\r\ninterface IRenderItemsParams<T> {\r\n field?: keyof T\r\n label?: string\r\n items: IItemBase[]\r\n isQuickSearch?: boolean\r\n}\r\n\r\nexport interface IActiveFiltersPanelProps {\r\n loading?: boolean\r\n}\r\n\r\nexport interface IActiveFiltersPanelState<T> {\r\n data: IFilterState<T> | null\r\n isClosing: boolean\r\n}\r\n\r\nfunction createActiveFiltersPanel<T>(): ComponentType<IActiveFiltersPanelProps> {\r\n class ActiveFiltersPanel extends Component<IActiveFiltersPanelProps, IActiveFiltersPanelState<T>> {\r\n declare dataViewContext: IDataViewContext<T>\r\n\r\n constructor(props: IActiveFiltersPanelProps) {\r\n super(props)\r\n this.state = {\r\n data: null,\r\n isClosing: false\r\n }\r\n }\r\n\r\n // Handle animation completion\r\n private handleAnimationExited = () => {\r\n this.setState({ isClosing: true })\r\n }\r\n\r\n render() {\r\n return mapDataViewContext((context) => {\r\n this.dataViewContext = context\r\n if (!this.dataViewContext) return <></>\r\n const { defaultValue } = this.dataViewContext.filterBarConfigs\r\n const isEmpty = createFilterStore(this.dataViewContext.filterState, defaultValue).isEmpty()\r\n return (\r\n <Collapse in={!isEmpty} timeout={300} unmountOnExit orientation='vertical' onExited={this.handleAnimationExited}>\r\n <Wrap className={activeFiltersPanelClasses.root}>\r\n <Box className={activeFiltersPanelClasses.content}>\r\n {this.renderSort()}\r\n {this.renderQuickSearch()}\r\n {this.renderFilters()}\r\n {!isEmpty && <ClearAllButton className={activeFiltersPanelClasses.removeButton} onClick={this.handleClearAll} />}\r\n </Box>\r\n {this.props.loading && <Box className={activeFiltersPanelClasses.overlay} />}\r\n </Wrap>\r\n </Collapse>\r\n )\r\n })\r\n }\r\n\r\n renderItems = (p: IRenderItemsParams<T>) => (\r\n <Box className={activeFiltersPanelClasses.item}>\r\n <Typography variant='caption' sx={{ fontWeight: 700 }}>\r\n {p.label || p.field?.toString()}:\r\n </Typography>\r\n {/* <Box className={activeFiltersPanelClasses.itemContent}> */}\r\n {p.items.map((item) => (\r\n <Chip\r\n key={item.value}\r\n clickable\r\n size='small'\r\n label={item.label || item.value}\r\n className={activeFiltersPanelClasses.itemChip}\r\n onDelete={() => {\r\n if (p.isQuickSearch) {\r\n this.removeQuickSearch(item)\r\n return\r\n }\r\n if (!p.field) return\r\n this.removeFilter(p.field, item)\r\n }}\r\n />\r\n ))}\r\n {/* </Box> */}\r\n </Box>\r\n )\r\n\r\n renderQuickSearch() {\r\n const val = this.dataViewContext.filterState?.quickSearch || []\r\n const list = (Array.isArray(val) ? val : [val]).map((value) => ({ value }))\r\n if (!list || list.length === 0) return <></>\r\n return this.renderItems({ label: 'Quick search', items: list, isQuickSearch: true })\r\n }\r\n\r\n renderFilters = () => {\r\n const filter: IFilterMap<T> = this.dataViewContext.filterState?.filter || {}\r\n const keys = Object.keys(filter) as Array<keyof T>\r\n if (keys.length === 0) return <></>\r\n return keys.map((key) => {\r\n const filterItems = (filter[key] ?? []) as IFilterItem[]\r\n const items = filterItems.reduce<IItemBase[]>((acc, item) => {\r\n let label = item.label || item.value?.toString()\r\n if (item.type === 'date' && item.dateLogic) {\r\n label = `${mapDateLogicText[item.dateLogic]} ${formatDatetime(item.value?.toString() ?? '', 'style2')}`\r\n }\r\n if (!!item.value) acc.push({ value: item.value?.toString(), label })\r\n return acc\r\n }, [])\r\n return <Fragment key={key.toString()}>{this.renderItems({ field: key, label: key.toString(), items })}</Fragment>\r\n })\r\n }\r\n\r\n renderSort = () => {\r\n const sort = this.dataViewContext.filterState?.sort\r\n if (!sort) return <></>\r\n\r\n const fieldConfig = this.dataViewContext.filterBarConfigs.fields?.[sort.field]\r\n const fieldLabel = fieldConfig?.label || sort.field.toString()\r\n const sortConfig = mapSortConfigs[sort.direction]\r\n\r\n return (\r\n <Box className={activeFiltersPanelClasses.item}>\r\n <Typography variant='caption' sx={{ fontWeight: 700 }}>\r\n Sort:\r\n </Typography>\r\n {/* <Box className={activeFiltersPanelClasses.itemContent}> */}\r\n <Chip\r\n clickable\r\n size='small'\r\n label={\r\n <Box sx={{ display: 'flex', alignItems: 'center', gap: 0.5 }}>\r\n <span>{fieldLabel}</span>\r\n {sortConfig.icon}\r\n </Box>\r\n }\r\n className={activeFiltersPanelClasses.itemChip}\r\n onClick={this.toggleSortDirection}\r\n onDelete={() => this.removeSort()}\r\n title={`${fieldLabel} - ${sortConfig.title}`}\r\n />\r\n {/* </Box> */}\r\n </Box>\r\n )\r\n }\r\n\r\n removeFilter = (field: keyof T, item: IItemBase) => {\r\n const store = createFilterStore(this.dataViewContext.filterState).removeFilterItem(field, item.value, { reason: 'filter' })\r\n this.dataViewContext.onFilterStateChange(store.build())\r\n }\r\n\r\n removeQuickSearch = (item: IItemBase) => {\r\n const store = createFilterStore(this.dataViewContext.filterState).removeQuickSearchItem(item.value, { reason: 'quickSearch' })\r\n this.dataViewContext.onFilterStateChange(store.build())\r\n }\r\n\r\n removeSort = () => {\r\n const store = createFilterStore(this.dataViewContext.filterState).removeSort({ reason: 'sort' })\r\n this.dataViewContext.onFilterStateChange(store.build())\r\n }\r\n\r\n toggleSortDirection = () => {\r\n const store = createFilterStore(this.dataViewContext.filterState).toggleSortDirection({ reason: 'sort' })\r\n this.dataViewContext.onFilterStateChange(store.build())\r\n }\r\n\r\n handleClearAll = () => {\r\n const fValue = this.dataViewContext.filterBarConfigs.defaultValue || {}\r\n // Trực tiếp clear data, logic đóng sẽ được xử lý tự động\r\n const store = createFilterStore(this.dataViewContext.filterState, fValue).reset()\r\n this.dataViewContext.onFilterStateChange(store.build())\r\n }\r\n }\r\n\r\n return ActiveFiltersPanel\r\n}\r\n\r\nexport default createActiveFiltersPanel\r\n\r\nconst Wrap = styled(Box)({\r\n position: 'relative',\r\n [`.${activeFiltersPanelClasses.content}`]: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n flexWrap: 'wrap',\r\n gap: '8px'\r\n },\r\n [`.${activeFiltersPanelClasses.item}`]: {\r\n display: 'flex',\r\n flexWrap: 'wrap',\r\n border: 'dashed 1px var(--color-divider, rgba(145 160 170 / 20%))',\r\n borderRadius: '4px',\r\n alignItems: 'center',\r\n padding: '6px 8px',\r\n gap: '8px'\r\n },\r\n [`.${activeFiltersPanelClasses.itemContent}`]: {\r\n display: 'flex',\r\n flexWrap: 'wrap',\r\n gap: '4px'\r\n },\r\n [`.${activeFiltersPanelClasses.itemChip}`]: {\r\n borderRadius: '4px'\r\n },\r\n [`.${activeFiltersPanelClasses.overlay}`]: {\r\n position: 'absolute',\r\n top: 0,\r\n left: 0,\r\n width: '100%',\r\n height: '100%',\r\n backdropFilter: 'blur(1px)'\r\n }\r\n})\r\n"],"names":["activeFiltersPanelClasses","root","content","item","itemContent","itemChip","removeButton","overlay","createActiveFiltersPanel","ActiveFiltersPanel","props","_this","_classCallCheck","_callSuper","_defineProperty","setState","isClosing","p","_p$field","_jsxs","Box","className","children","Typography","variant","sx","fontWeight","label","field","toString","items","map","_jsx","Chip","clickable","size","value","onDelete","isQuickSearch","removeQuickSearch","removeFilter","_this$dataViewContext","filter","dataViewContext","filterState","keys","Object","length","key","_filter$key","reduce","acc","_item$value","_item$value3","_item$value$toString","_item$value2","type","dateLogic","concat","mapDateLogicText","formatDatetime","push","Fragment","renderItems","_this$dataViewContext2","_this$dataViewContext3","sort","fieldConfig","filterBarConfigs","fields","fieldLabel","sortConfig","mapSortConfigs","direction","display","alignItems","gap","icon","onClick","toggleSortDirection","removeSort","title","store","createFilterStore","removeFilterItem","reason","onFilterStateChange","build","removeQuickSearchItem","fValue","defaultValue","reset","state","data","_inherits","Component","_createClass","_this2","this","mapDataViewContext","context","isEmpty","Collapse","in","timeout","unmountOnExit","orientation","onExited","handleAnimationExited","Wrap","renderSort","renderQuickSearch","renderFilters","ClearAllButton","handleClearAll","loading","_this$dataViewContext4","val","quickSearch","list","Array","isArray","styled","position","flexWrap","border","borderRadius","padding","top","left","width","height","backdropFilter"],"mappings":"8rBASO,IAAMA,EAA4B,CACvCC,KAAM,0BACNC,QAAS,6BACTC,KAAM,0BACNC,YAAa,iCACbC,SAAU,8BACVC,aAAc,kCACdC,QAAS,8BAmBX,SAASC,IAwJP,kBApJE,SAAAC,EAAYC,GAA+B,IAAAC,EAKxC,OALwCC,OAAAH,GACzCE,EAAAE,EAAAJ,KAAAA,GAAMC,IAORI,EAAAH,EAAA,yBACgC,WAC9BA,EAAKI,SAAS,CAAEC,WAAW,OAC5BF,EAAAH,EAwBa,eAAA,SAACM,GAAwB,IAAAC,EAAA,OACrCC,EAACC,EAAG,CAACC,UAAWrB,EAA0BG,KAAImB,SAAA,CAC5CH,EAACI,EAAU,CAACC,QAAQ,UAAUC,GAAI,CAAEC,WAAY,KAC7CJ,SAAA,CAAAL,EAAEU,QAAgBT,QAAXA,EAAID,EAAEW,iBAAKV,SAAPA,EAASW,YACV,OAEVZ,EAAEa,MAAMC,KAAI,SAAC5B,GAAI,OAChB6B,EAACC,GAECC,WAAS,EACTC,KAAK,QACLR,MAAOxB,EAAKwB,OAASxB,EAAKiC,MAC1Bf,UAAWrB,EAA0BK,SACrCgC,SAAU,WACJpB,EAAEqB,cACJ3B,EAAK4B,kBAAkBpC,GAGpBc,EAAEW,OACPjB,EAAK6B,aAAavB,EAAEW,MAAOzB,EAC7B,GAZKA,EAAKiC,MAaV,UAITtB,EAAAH,EAAA,iBASe,WAAK,IAAA8B,EACbC,GAAwD,QAAhCD,EAAA9B,EAAKgC,gBAAgBC,mBAArBH,IAAgCA,OAAhCA,EAAAA,EAAkCC,SAAU,CAAE,EACtEG,EAAOC,OAAOD,KAAKH,GACzB,OAAoB,IAAhBG,EAAKE,OAAqBf,QACvBa,EAAKd,KAAI,SAACiB,GAAO,IAAAC,EAEhBnB,GAD0BmB,QAAfA,EAAIP,EAAOM,UAAIC,IAAAA,EAAAA,EAAI,IACVC,QAAoB,SAACC,EAAKhD,GAAQ,IAAAiD,EAAAC,EAEdC,EAAAC,EADxC5B,EAAQxB,EAAKwB,gBAAKyB,EAAIjD,EAAKiC,aAAK,IAAAgB,OAAA,EAAVA,EAAYvB,YACpB,SAAd1B,EAAKqD,MAAmBrD,EAAKsD,YAC/B9B,KAAK+B,OAAMC,EAAiBxD,EAAKsD,WAAU,KAAAC,OAAIE,EAAqCN,QAAvBA,UAAAC,EAACpD,EAAKiC,aAAK,IAAAmB,OAAA,EAAVA,EAAY1B,sBAAUyB,EAAAA,EAAI,GAAI,YAG9F,OADMnD,EAAKiC,OAAOe,EAAIU,KAAK,CAAEzB,MAAiBiB,QAAZA,EAAElD,EAAKiC,aAALiB,IAAUA,OAAVA,EAAAA,EAAYxB,WAAYF,MAAAA,IACrDwB,CACR,GAAE,IACH,OAAOnB,EAAC8B,EAA+B,CAAAxC,SAAAX,EAAKoD,YAAY,CAAEnC,MAAOoB,EAAKrB,MAAOqB,EAAInB,WAAYC,MAAAA,KAAvEkB,EAAInB,WAC5B,OACDf,EAAAH,EAAA,cAEY,WAAK,IAAAqD,EAAAC,EACVC,EAAuCF,QAAnCA,EAAGrD,EAAKgC,gBAAgBC,mBAArBoB,IAAgCA,OAAhCA,EAAAA,EAAkCE,KAC/C,IAAKA,EAAM,OAAOlC,QAElB,IAAMmC,EAA0D,QAA/CF,EAAGtD,EAAKgC,gBAAgByB,iBAAiBC,cAAtCJ,IAA4CA,OAA5CA,EAAAA,EAA+CC,EAAKtC,OAClE0C,GAAaH,aAAAA,EAAAA,EAAaxC,QAASuC,EAAKtC,MAAMC,WAC9C0C,EAAaC,EAAeN,EAAKO,WAEvC,OACEtD,EAACC,EAAG,CAACC,UAAWrB,EAA0BG,KAAImB,SAAA,CAC5CU,EAACT,EAAU,CAACC,QAAQ,UAAUC,GAAI,CAAEC,WAAY,KAEnCJ,SAAA,UAEXU,EAACC,EAAI,CACHC,WACA,EAAAC,KAAK,QACLR,MACER,EAACC,GAAIK,GAAI,CAAEiD,QAAS,OAAQC,WAAY,SAAUC,IAAK,cACrD5C,EAAO,OAAA,CAAAV,SAAAgD,IACNC,EAAWM,QAGhBxD,UAAWrB,EAA0BK,SACrCyE,QAASnE,EAAKoE,oBACd1C,SAAU,WAAF,OAAQ1B,EAAKqE,YAAY,EACjCC,MAAK,GAAAvB,OAAKY,SAAUZ,OAAMa,EAAWU,eAK9CnE,EAAAH,EAAA,gBAEc,SAACiB,EAAgBzB,GAC9B,IAAM+E,EAAQC,EAAkBxE,EAAKgC,gBAAgBC,aAAawC,iBAAiBxD,EAAOzB,EAAKiC,MAAO,CAAEiD,OAAQ,WAChH1E,EAAKgC,gBAAgB2C,oBAAoBJ,EAAMK,YAChDzE,EAAAH,EAEmB,qBAAA,SAACR,GACnB,IAAM+E,EAAQC,EAAkBxE,EAAKgC,gBAAgBC,aAAa4C,sBAAsBrF,EAAKiC,MAAO,CAAEiD,OAAQ,gBAC9G1E,EAAKgC,gBAAgB2C,oBAAoBJ,EAAMK,YAChDzE,EAAAH,EAAA,cAEY,WACX,IAAMuE,EAAQC,EAAkBxE,EAAKgC,gBAAgBC,aAAaoC,WAAW,CAAEK,OAAQ,SACvF1E,EAAKgC,gBAAgB2C,oBAAoBJ,EAAMK,YAChDzE,EAAAH,EAAA,uBAEqB,WACpB,IAAMuE,EAAQC,EAAkBxE,EAAKgC,gBAAgBC,aAAamC,oBAAoB,CAAEM,OAAQ,SAChG1E,EAAKgC,gBAAgB2C,oBAAoBJ,EAAMK,YAChDzE,EAAAH,EAAA,kBAEgB,WACf,IAAM8E,EAAS9E,EAAKgC,gBAAgByB,iBAAiBsB,cAAgB,CAAE,EAEjER,EAAQC,EAAkBxE,EAAKgC,gBAAgBC,YAAa6C,GAAQE,QAC1EhF,EAAKgC,gBAAgB2C,oBAAoBJ,EAAMK,YA9I/C5E,EAAKiF,MAAQ,CACXC,KAAM,KACN7E,WAAW,GACZL,CACH,CAAC,OAAAmF,EAAArF,EAT8BsF,GAS9BC,EAAAvF,EAAA,CAAA,CAAAuC,IAAA,SAAAZ,MAOD,WAAM,IAAA6D,EAAAC,KACJ,OAAOC,GAAmB,SAACC,GAEzB,GADAH,EAAKtD,gBAAkByD,GAClBH,EAAKtD,gBAAiB,OAAOX,QAClC,IAAQ0D,EAAiBO,EAAKtD,gBAAgByB,iBAAtCsB,aACFW,EAAUlB,EAAkBc,EAAKtD,gBAAgBC,YAAa8C,GAAcW,UAClF,OACErE,EAACsE,EAAQ,CAACC,IAAKF,EAASG,QAAS,IAAKC,eAAc,EAAAC,YAAY,WAAWC,SAAUV,EAAKW,sBACxFtF,SAAAH,EAAC0F,EAAK,CAAAxF,UAAWrB,EAA0BC,KACzCqB,SAAA,CAAAH,EAACC,EAAI,CAAAC,UAAWrB,EAA0BE,QACvCoB,SAAA,CAAA2E,EAAKa,aACLb,EAAKc,oBACLd,EAAKe,iBACJX,GAAWrE,EAACiF,GAAe5F,UAAWrB,EAA0BM,aAAcwE,QAASmB,EAAKiB,oBAE/FjB,EAAKvF,MAAMyG,SAAWnF,EAACZ,EAAI,CAAAC,UAAWrB,EAA0BO,cAIzE,GACF,GAAC,CAAAyC,IAAA,oBAAAZ,MA6BD,WAAiB,IAAAgF,EACTC,GAAsC,QAAhCD,EAAAlB,KAAKvD,gBAAgBC,mBAArBwE,IAAgCA,OAAhCA,EAAAA,EAAkCE,cAAe,GACvDC,GAAQC,MAAMC,QAAQJ,GAAOA,EAAM,CAACA,IAAMtF,KAAI,SAACK,GAAK,MAAM,CAAEA,MAAAA,EAAO,IACzE,OAAKmF,GAAwB,IAAhBA,EAAKxE,OACXmD,KAAKnC,YAAY,CAAEpC,MAAO,eAAgBG,MAAOyF,EAAMjF,eAAe,IADtCN,OAEzC,IAAC,GAkFL,CAIA,IAAM6E,EAAOa,EAAOtG,EAAPsG,CAAW5G,EAAAA,EAAAA,EAAAA,EAAAA,EAAA,CACtB6G,SAAU,YAAU,IAAAjE,OACf1D,EAA0BE,SAAY,CACzCwE,QAAS,OACTC,WAAY,SACZiD,SAAU,OACVhD,IAAK,YACNlB,OACI1D,EAA0BG,MAAS,CACtCuE,QAAS,OACTkD,SAAU,OACVC,OAAQ,2DACRC,aAAc,MACdnD,WAAY,SACZoD,QAAS,UACTnD,IAAK,YACNlB,OACI1D,EAA0BI,aAAgB,CAC7CsE,QAAS,OACTkD,SAAU,OACVhD,IAAK,YACNlB,OACI1D,EAA0BK,UAAa,CAC1CyH,aAAc,YACfpE,OACI1D,EAA0BO,SAAY,CACzCoH,SAAU,WACVK,IAAK,EACLC,KAAM,EACNC,MAAO,OACPC,OAAQ,OACRC,eAAgB"}
1
+ {"version":3,"file":"create.active-filters-panel.js","sources":["../../src/data-view/create.active-filters-panel.tsx"],"sourcesContent":["import React, { Component, ComponentType, Fragment } from 'react'\r\nimport { Box, Chip, Collapse, styled, Typography } from '@mui/material'\r\nimport { createFilterStore } from './filter-store'\r\nimport { ClearAllButton, mapSortConfigs } from './ui.units'\r\nimport { IDataViewContext, mapDataViewContext } from './context'\r\nimport { IFilterItem, IFilterMap, IFilterState, IItemBase } from './types'\r\nimport { formatDatetime } from '../utils'\r\nimport { mapDateLogicText } from './helpers'\r\n\r\nexport const activeFiltersPanelClasses = {\r\n root: 'ActiveFiltersPanel-root',\r\n content: 'ActiveFiltersPanel-content',\r\n item: 'ActiveFiltersPanel-item',\r\n itemContent: 'ActiveFiltersPanel-itemContent',\r\n itemChip: 'ActiveFiltersPanel-itemChip',\r\n removeButton: 'ActiveFiltersPanel-removeButton',\r\n overlay: 'ActiveFiltersPanel-overlay'\r\n}\r\n\r\ninterface IRenderItemsParams<T> {\r\n field?: keyof T\r\n label?: string\r\n items: IItemBase[]\r\n isQuickSearch?: boolean\r\n}\r\n\r\nexport interface IActiveFiltersPanelProps {\r\n loading?: boolean\r\n}\r\n\r\nexport interface IActiveFiltersPanelState<T> {\r\n data: IFilterState<T> | null\r\n isClosing: boolean\r\n}\r\n\r\nfunction createActiveFiltersPanel<T>(): ComponentType<IActiveFiltersPanelProps> {\r\n class ActiveFiltersPanel extends Component<IActiveFiltersPanelProps, IActiveFiltersPanelState<T>> {\r\n declare dataViewContext: IDataViewContext<T>\r\n\r\n constructor(props: IActiveFiltersPanelProps) {\r\n super(props)\r\n this.state = {\r\n data: null,\r\n isClosing: false\r\n }\r\n }\r\n\r\n // Handle animation completion\r\n private handleAnimationExited = () => {\r\n this.setState({ isClosing: true })\r\n }\r\n\r\n render() {\r\n return mapDataViewContext((context) => {\r\n this.dataViewContext = context\r\n if (!this.dataViewContext) return <></>\r\n const { defaultValue } = this.dataViewContext.filterBarConfigs\r\n const isEmpty = createFilterStore(this.dataViewContext.filterState, defaultValue).isEmpty()\r\n return (\r\n <Collapse in={!isEmpty} timeout={300} unmountOnExit orientation='vertical' onExited={this.handleAnimationExited}>\r\n <Wrap className={activeFiltersPanelClasses.root}>\r\n <Box className={activeFiltersPanelClasses.content}>\r\n {this.renderSort()}\r\n {this.renderQuickSearch()}\r\n {this.renderFilters()}\r\n {!isEmpty && <ClearAllButton className={activeFiltersPanelClasses.removeButton} onClick={this.handleClearAll} />}\r\n </Box>\r\n {this.props.loading && <Box className={activeFiltersPanelClasses.overlay} />}\r\n </Wrap>\r\n </Collapse>\r\n )\r\n })\r\n }\r\n\r\n renderItems = (p: IRenderItemsParams<T>) => (\r\n <Box className={activeFiltersPanelClasses.item}>\r\n <Typography variant='caption' sx={{ fontWeight: 700 }}>\r\n {p.label || p.field?.toString()}:\r\n </Typography>\r\n {/* <Box className={activeFiltersPanelClasses.itemContent}> */}\r\n {p.items.map((item) => (\r\n <Chip\r\n key={item.value}\r\n clickable\r\n size='small'\r\n label={item.label || item.value}\r\n className={activeFiltersPanelClasses.itemChip}\r\n onDelete={() => {\r\n if (p.isQuickSearch) {\r\n this.removeQuickSearch(item)\r\n return\r\n }\r\n if (!p.field) return\r\n this.removeFilter(p.field, item)\r\n }}\r\n />\r\n ))}\r\n {/* </Box> */}\r\n </Box>\r\n )\r\n\r\n renderQuickSearch() {\r\n const val = this.dataViewContext.filterState?.quickSearch || []\r\n const list = (Array.isArray(val) ? val : [val]).map((value) => ({ value }))\r\n if (!list || list.length === 0) return <></>\r\n return this.renderItems({ label: 'Quick search', items: list, isQuickSearch: true })\r\n }\r\n\r\n renderFilters = () => {\r\n const filter: IFilterMap<T> = this.dataViewContext.filterState?.filter || {}\r\n const keys = Object.keys(filter) as Array<keyof T>\r\n if (keys.length === 0) return <></>\r\n return keys.map((key) => {\r\n const filterItems = (filter[key] ?? []) as IFilterItem[]\r\n const items = filterItems.reduce<IItemBase[]>((acc, item) => {\r\n let label = item.label || item.value?.toString()\r\n if (item.type === 'date' && item.dateLogic) {\r\n label = `${mapDateLogicText[item.dateLogic]} ${formatDatetime(item.value?.toString() ?? '', 'style2')}`\r\n }\r\n if (!!item.value) acc.push({ value: item.value?.toString(), label })\r\n return acc\r\n }, [])\r\n return <Fragment key={key.toString()}>{this.renderItems({ field: key, label: key.toString(), items })}</Fragment>\r\n })\r\n }\r\n\r\n renderSort = () => {\r\n const sort = this.dataViewContext.filterState?.sort\r\n if (!sort) return <></>\r\n\r\n const fieldConfig = this.dataViewContext.filterBarConfigs.fields?.[sort.field]\r\n const fieldLabel = fieldConfig?.label || sort.field.toString()\r\n const sortConfig = mapSortConfigs[sort.direction]\r\n\r\n return (\r\n <Box className={activeFiltersPanelClasses.item}>\r\n <Typography variant='caption' sx={{ fontWeight: 700 }}>\r\n Sort:\r\n </Typography>\r\n {/* <Box className={activeFiltersPanelClasses.itemContent}> */}\r\n <Chip\r\n clickable\r\n size='small'\r\n label={\r\n <Box sx={{ display: 'flex', alignItems: 'center', gap: 0.5 }}>\r\n <span>{fieldLabel}</span>\r\n {sortConfig.icon}\r\n </Box>\r\n }\r\n className={activeFiltersPanelClasses.itemChip}\r\n onClick={this.toggleSortDirection}\r\n onDelete={() => this.removeSort()}\r\n title={`${fieldLabel} - ${sortConfig.title}`}\r\n />\r\n {/* </Box> */}\r\n </Box>\r\n )\r\n }\r\n\r\n removeFilter = (field: keyof T, item: IItemBase) => {\r\n const store = createFilterStore(this.dataViewContext.filterState).removeFilterItem(field, item.value, { reason: 'filter' })\r\n this.dataViewContext.onFilterStateChange(store.build())\r\n }\r\n\r\n removeQuickSearch = (item: IItemBase) => {\r\n const store = createFilterStore(this.dataViewContext.filterState).removeQuickSearchItem(item.value, { reason: 'quickSearch' })\r\n this.dataViewContext.onFilterStateChange(store.build())\r\n }\r\n\r\n removeSort = () => {\r\n const store = createFilterStore(this.dataViewContext.filterState).removeSort({ reason: 'sort' })\r\n this.dataViewContext.onFilterStateChange(store.build())\r\n }\r\n\r\n toggleSortDirection = () => {\r\n const store = createFilterStore(this.dataViewContext.filterState).toggleSortDirection({ reason: 'sort' })\r\n this.dataViewContext.onFilterStateChange(store.build())\r\n }\r\n\r\n handleClearAll = () => {\r\n const fValue = this.dataViewContext.filterBarConfigs.defaultValue || {}\r\n // Trực tiếp clear data, logic đóng sẽ được xử lý tự động\r\n const store = createFilterStore(this.dataViewContext.filterState, fValue).reset()\r\n this.dataViewContext.onFilterStateChange(store.build())\r\n }\r\n }\r\n\r\n return ActiveFiltersPanel\r\n}\r\n\r\nexport default createActiveFiltersPanel\r\n\r\nconst Wrap = styled(Box)({\r\n position: 'relative',\r\n [`.${activeFiltersPanelClasses.content}`]: {\r\n display: 'flex',\r\n alignItems: 'center',\r\n flexWrap: 'wrap',\r\n gap: '8px'\r\n },\r\n [`.${activeFiltersPanelClasses.item}`]: {\r\n display: 'flex',\r\n flexWrap: 'wrap',\r\n border: 'dashed 1px var(--color-divider, rgba(145 160 170 / 20%))',\r\n borderRadius: '4px',\r\n alignItems: 'center',\r\n padding: '6px 8px',\r\n gap: '8px'\r\n },\r\n [`.${activeFiltersPanelClasses.itemContent}`]: {\r\n display: 'flex',\r\n flexWrap: 'wrap',\r\n gap: '4px'\r\n },\r\n [`.${activeFiltersPanelClasses.itemChip}`]: {\r\n borderRadius: '4px'\r\n },\r\n [`.${activeFiltersPanelClasses.overlay}`]: {\r\n position: 'absolute',\r\n top: 0,\r\n left: 0,\r\n width: '100%',\r\n height: '100%',\r\n backdropFilter: 'blur(1px)'\r\n }\r\n})\r\n"],"names":["activeFiltersPanelClasses","root","content","item","itemContent","itemChip","removeButton","overlay","createActiveFiltersPanel","ActiveFiltersPanel","props","_this","_classCallCheck","_callSuper","_defineProperty","setState","isClosing","p","_p$field","_jsxs","Box","className","children","Typography","variant","sx","fontWeight","label","field","toString","items","map","_jsx","Chip","clickable","size","value","onDelete","isQuickSearch","removeQuickSearch","removeFilter","_this$dataViewContext","filter","dataViewContext","filterState","keys","Object","length","key","_filter$key","reduce","acc","_item$value","_item$value3","_item$value$toString","_item$value2","type","dateLogic","concat","mapDateLogicText","formatDatetime","push","Fragment","renderItems","_this$dataViewContext2","_this$dataViewContext3","sort","fieldConfig","filterBarConfigs","fields","fieldLabel","sortConfig","mapSortConfigs","direction","display","alignItems","gap","icon","onClick","toggleSortDirection","removeSort","title","store","createFilterStore","removeFilterItem","reason","onFilterStateChange","build","removeQuickSearchItem","fValue","defaultValue","reset","state","data","_inherits","Component","_createClass","_this2","this","mapDataViewContext","context","isEmpty","Collapse","in","timeout","unmountOnExit","orientation","onExited","handleAnimationExited","Wrap","renderSort","renderQuickSearch","renderFilters","ClearAllButton","handleClearAll","loading","_this$dataViewContext4","val","quickSearch","list","Array","isArray","styled","position","flexWrap","border","borderRadius","padding","top","left","width","height","backdropFilter"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- import{inherits as e,createClass as i,classCallCheck as t,callSuper as o,defineProperty as n,objectSpread2 as l}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsx as r,jsxs as a,Fragment as s}from"react/jsx-runtime";import{Component as d}from"react";import{styled as u,Box as v,Stack as f}from"@mui/material";import{SortButton as p}from"./ui.units.js";import{createViewMode as g}from"./create.view-mode.js";import{defaultViewMode as h,ViewModeButtons as c}from"./view-mode.units.js";import{syncViewModeToURL as C,getViewModeFromURL as m}from"./query-param-url.js";import{defaultFilterBarState as w,DataViewContext as S}from"./context.js";import{createFilterBar as y}from"./create.filter-bar.js";import M from"./scroll-tracking.js";import{createPaginationBar as B}from"./create.pagination-bar.js";import{createPopperPanel as P}from"./create.popper-panel.js";import b from"./create.active-filters-panel.js";function H(u){var H=y(),F=P(),V=b(),k=g(u.viewMode),I=B();return function(){function g(e){var i;return t(this,g),i=o(this,g,[e]),n(i,"mergeConfig",(function(e){var t,o,n,l,r=e.slots;i.configCache={filterBar:Object.assign({},u.filterBar,null==r?void 0:r.filterBarConfigs),viewMode:null==r?void 0:r.viewModeConfigs,paginationBar:Object.assign({},u.paginationBar,null==r?void 0:r.paginationBarConfigs),enablePaginationTop:null!==(t=null!==(o=null==r||null===(n=r.paginationBarConfigs)||void 0===n?void 0:n.enablePaginationTop)&&void 0!==o?o:null===(l=u.paginationBar)||void 0===l?void 0:l.enablePaginationTop)&&void 0!==t&&t}})),n(i,"configCache",{}),n(i,"refFilterButton",null),n(i,"refSortButton",null),n(i,"renderFooter",(function(){var e,t,o,n,a=(null===(e=i.props.slots)||void 0===e?void 0:e.footerProps)||{};return r(x,l(l({},a.wrapProps),{},{children:!1!==a.enablePagination&&r(I,l({count:null!==(t=null===(o=i.props.data)||void 0===o?void 0:o.totalItems)&&void 0!==t?t:0,defaultFilter:null===(n=i.internalConfig.filterBar)||void 0===n?void 0:n.defaultValue,filter:i.filterState,onChange:i.onFilterStateChangeHandler},i.internalConfig.paginationBar))}))})),n(i,"onViewModeChangeHandler",(function(e){i.setState({viewMode:e},(function(){var t,o;if(i.props.syncViewModeToURL){var n,l,r,a,s=null!==(n=null!==(l=null===(r=i.internalConfig.viewMode)||void 0===r?void 0:r.defaultValue)&&void 0!==l?l:null===(a=u.viewMode)||void 0===a?void 0:a.defaultValue)&&void 0!==n?n:h;C({viewMode:e,defaultViewMode:s})}null===(t=(o=i.props).onViewModeChange)||void 0===t||t.call(o,e)}))})),n(i,"onKeywordChangeHandler",(function(e){return i.setState({keyword:e})})),n(i,"onScrollChangeHandler",(function(e){return i.setState({scrolled:e.isScrolled})})),n(i,"onPopperPanelChangeHandler",(function(e,t){return i.setState({anchorEl:e,area:t})})),n(i,"onClearHandler",(function(){return i.setState(w)})),n(i,"onPanelCloseHandler",(function(){i.setState({anchorEl:null,area:void 0,keyword:""})})),n(i,"onFilterStateChangeHandler",(function(e){i.props.filter||i.setState(l(l({},w),{},{filterState:e})),i.props.onFilterChange&&i.props.onFilterChange(e),i.props.filter&&i.setState(w)})),i.mergeConfig(e),i.state=i.getDefaultState(e),i}return e(g,d),i(g,[{key:"getDefaultState",value:function(e){var i,t,o,n,r,a,s=null!==(i=null!==(t=null===(o=e.slots)||void 0===o||null===(o=o.viewModeConfigs)||void 0===o?void 0:o.defaultValue)&&void 0!==t?t:null===(n=u.viewMode)||void 0===n?void 0:n.defaultValue)&&void 0!==i?i:h,d=e.syncViewModeToURL?m({defaultViewMode:s}):s;return l(l({},w),{},{filterState:null!==(r=null===(a=this.internalConfig.filterBar)||void 0===a?void 0:a.defaultValue)&&void 0!==r?r:{},viewMode:d})}},{key:"filterState",get:function(){var e;return null!==(e=this.props.filter)&&void 0!==e?e:this.state.filterState}},{key:"viewMode",get:function(){var e;return null!==(e=this.props.viewMode)&&void 0!==e?e:this.state.viewMode}},{key:"internalConfig",get:function(){return this.configCache}},{key:"shouldComponentUpdate",value:function(e){var i,t,o,n,l=JSON.stringify(null===(i=e.slots)||void 0===i?void 0:i.filterBarConfigs)!==JSON.stringify(null===(t=this.props.slots)||void 0===t?void 0:t.filterBarConfigs),r=JSON.stringify(null===(o=e.slots)||void 0===o?void 0:o.viewModeConfigs)!==JSON.stringify(null===(n=this.props.slots)||void 0===n?void 0:n.viewModeConfigs);return(l||r)&&this.mergeConfig(e),!0}},{key:"render",value:function(){var e,i,t,o,n,d,u,g,h,C,m,w,y,B,P,b,x={keyword:this.state.keyword.trim(),filterBarConfigs:null!==(e=this.internalConfig.filterBar)&&void 0!==e?e:{},filterState:this.filterState,anchorEl:this.state.anchorEl,area:this.state.area,viewMode:this.state.viewMode,scrolled:this.state.scrolled,onFilterStateChange:this.onFilterStateChangeHandler,onKeywordChange:this.onKeywordChangeHandler,onPopperPanelChange:this.onPopperPanelChangeHandler,onPanelClose:this.onPanelCloseHandler,onClear:this.onClearHandler};return a(S.Provider,{value:x,children:[(null===(i=this.internalConfig.filterBar)||void 0===i?void 0:i.enableSticky)&&r(M,{onChange:this.onScrollChangeHandler}),null===(t=this.props.slots)||void 0===t||null===(t=t.filterSlots)||void 0===t?void 0:t.above,r(H,{slots:l(l({},null===(o=this.props.slots)||void 0===o?void 0:o.primaryInputSlots),{},{right:a(s,{children:[(null===(n=this.internalConfig.filterBar)||void 0===n?void 0:n.enableSort)&&r(p,{}),null===(d=this.props.slots)||void 0===d||null===(d=d.primaryInputSlots)||void 0===d?void 0:d.right]})}),children:r(F,{})}),null===(u=this.props.slots)||void 0===u||null===(u=u.filterSlots)||void 0===u?void 0:u.below,null===(g=this.props.slots)||void 0===g||null===(g=g.activeFiltersPanelSlots)||void 0===g?void 0:g.above,a(j,{children:[r(c,{value:this.state.viewMode,onChange:this.onViewModeChangeHandler}),null===(h=this.props.slots)||void 0===h||null===(h=h.activeFiltersPanelSlots)||void 0===h?void 0:h.left,a(f,{flexDirection:"row",sx:{flexWrap:"wrap",alignItems:"center",gap:1,flexGrow:1},children:[r(V,{loading:this.props.loading}),r(v,{sx:{display:"flex",alignItems:"center",gap:1,flexGrow:1,justifyContent:"end"},children:this.internalConfig.enablePaginationTop&&r(I,l({count:null!==(C=null===(m=this.props.data)||void 0===m?void 0:m.totalItems)&&void 0!==C?C:0,defaultFilter:null===(w=this.internalConfig.filterBar)||void 0===w?void 0:w.defaultValue,filter:this.filterState,onChange:this.onFilterStateChangeHandler},this.internalConfig.paginationBar))})]}),null===(y=this.props.slots)||void 0===y||null===(y=y.activeFiltersPanelSlots)||void 0===y?void 0:y.right]}),null===(B=this.props.slots)||void 0===B||null===(B=B.activeFiltersPanelSlots)||void 0===B?void 0:B.below,r(k,{data:null!==(P=null===(b=this.props.data)||void 0===b?void 0:b.items)&&void 0!==P?P:[],viewMode:this.viewMode,loading:this.props.loading,error:this.props.error,slots:this.internalConfig.viewMode}),this.renderFooter()]})}}])}()}var j=u(v)({display:"flex",alignItems:"center",flexWrap:"wrap",gap:"8px",marginBottom:"8px",minHeight:"var(--filter-bar-height, 40px)"}),x=u(v)({display:"flex",justifyContent:"flex-end",width:"100%"});export{H as default};
1
+ import{inherits as e,createClass as i,objectSpread2 as t,classCallCheck as o,callSuper as n,defineProperty as l}from"../_virtual/_rollupPluginBabelHelpers.js";import{jsxs as r,jsx as a,Fragment as s}from"react/jsx-runtime";import{Component as d}from"react";import{styled as u,Box as v,Stack as f}from"@mui/material";import{SortButton as p}from"./ui.units.js";import{createViewMode as g}from"./create.view-mode.js";import{defaultViewMode as h,ViewModeButtons as c}from"./view-mode.units.js";import{getViewModeFromURL as C,syncViewModeToURL as m}from"./query-param-url.js";import{defaultFilterBarState as w,DataViewContext as S}from"./context.js";import{createFilterBar as y}from"./create.filter-bar.js";import M from"./scroll-tracking.js";import{createPaginationBar as B}from"./create.pagination-bar.js";import{createPopperPanel as P}from"./create.popper-panel.js";import b from"./create.active-filters-panel.js";function H(u){var H=y(),F=P(),V=b(),k=g(u.viewMode),I=B();return function(){function g(e){var i;return o(this,g),i=n(this,g,[e]),l(i,"mergeConfig",(function(e){var t,o,n,l,r=e.slots;i.configCache={filterBar:Object.assign({},u.filterBar,null==r?void 0:r.filterBarConfigs),viewMode:null==r?void 0:r.viewModeConfigs,paginationBar:Object.assign({},u.paginationBar,null==r?void 0:r.paginationBarConfigs),enablePaginationTop:null!==(t=null!==(o=null==r||null===(n=r.paginationBarConfigs)||void 0===n?void 0:n.enablePaginationTop)&&void 0!==o?o:null===(l=u.paginationBar)||void 0===l?void 0:l.enablePaginationTop)&&void 0!==t&&t}})),l(i,"configCache",{}),l(i,"refFilterButton",null),l(i,"refSortButton",null),l(i,"renderFooter",(function(){var e,o,n,l,r=(null===(e=i.props.slots)||void 0===e?void 0:e.footerProps)||{};return a(x,t(t({},r.wrapProps),{},{children:!1!==r.enablePagination&&a(I,t({count:null!==(o=null===(n=i.props.data)||void 0===n?void 0:n.totalItems)&&void 0!==o?o:0,defaultFilter:null===(l=i.internalConfig.filterBar)||void 0===l?void 0:l.defaultValue,filter:i.filterState,onChange:i.onFilterStateChangeHandler},i.internalConfig.paginationBar))}))})),l(i,"onViewModeChangeHandler",(function(e){i.setState({viewMode:e},(function(){var t,o;if(i.props.syncViewModeToURL){var n,l,r,a,s=null!==(n=null!==(l=null===(r=i.internalConfig.viewMode)||void 0===r?void 0:r.defaultValue)&&void 0!==l?l:null===(a=u.viewMode)||void 0===a?void 0:a.defaultValue)&&void 0!==n?n:h;m({viewMode:e,defaultViewMode:s})}null===(t=(o=i.props).onViewModeChange)||void 0===t||t.call(o,e)}))})),l(i,"onKeywordChangeHandler",(function(e){return i.setState({keyword:e})})),l(i,"onScrollChangeHandler",(function(e){return i.setState({scrolled:e.isScrolled})})),l(i,"onPopperPanelChangeHandler",(function(e,t){return i.setState({anchorEl:e,area:t})})),l(i,"onClearHandler",(function(){return i.setState(w)})),l(i,"onPanelCloseHandler",(function(){i.setState({anchorEl:null,area:void 0,keyword:""})})),l(i,"onFilterStateChangeHandler",(function(e){i.props.filter||i.setState(t(t({},w),{},{filterState:e})),i.props.onFilterChange&&i.props.onFilterChange(e),i.props.filter&&i.setState(w)})),i.mergeConfig(e),i.state=i.getDefaultState(e),i}return e(g,d),i(g,[{key:"getDefaultState",value:function(e){var i,o,n,l,r,a,s=null!==(i=null!==(o=null===(n=e.slots)||void 0===n||null===(n=n.viewModeConfigs)||void 0===n?void 0:n.defaultValue)&&void 0!==o?o:null===(l=u.viewMode)||void 0===l?void 0:l.defaultValue)&&void 0!==i?i:h,d=e.syncViewModeToURL?C({defaultViewMode:s}):s;return t(t({},w),{},{filterState:null!==(r=null===(a=this.internalConfig.filterBar)||void 0===a?void 0:a.defaultValue)&&void 0!==r?r:{},viewMode:d})}},{key:"filterState",get:function(){var e;return null!==(e=this.props.filter)&&void 0!==e?e:this.state.filterState}},{key:"viewMode",get:function(){var e;return null!==(e=this.props.viewMode)&&void 0!==e?e:this.state.viewMode}},{key:"internalConfig",get:function(){return this.configCache}},{key:"shouldComponentUpdate",value:function(e){var i,t,o,n,l=JSON.stringify(null===(i=e.slots)||void 0===i?void 0:i.filterBarConfigs)!==JSON.stringify(null===(t=this.props.slots)||void 0===t?void 0:t.filterBarConfigs),r=JSON.stringify(null===(o=e.slots)||void 0===o?void 0:o.viewModeConfigs)!==JSON.stringify(null===(n=this.props.slots)||void 0===n?void 0:n.viewModeConfigs);return(l||r)&&this.mergeConfig(e),!0}},{key:"render",value:function(){var e,i,o,n,l,d,u,g,h,C,m,w,y,B,P,b,x={keyword:this.state.keyword.trim(),filterBarConfigs:null!==(e=this.internalConfig.filterBar)&&void 0!==e?e:{},filterState:this.filterState,anchorEl:this.state.anchorEl,area:this.state.area,viewMode:this.state.viewMode,scrolled:this.state.scrolled,onFilterStateChange:this.onFilterStateChangeHandler,onKeywordChange:this.onKeywordChangeHandler,onPopperPanelChange:this.onPopperPanelChangeHandler,onPanelClose:this.onPanelCloseHandler,onClear:this.onClearHandler};return r(S.Provider,{value:x,children:[(null===(i=this.internalConfig.filterBar)||void 0===i?void 0:i.enableSticky)&&a(M,{onChange:this.onScrollChangeHandler}),null===(o=this.props.slots)||void 0===o||null===(o=o.filterSlots)||void 0===o?void 0:o.above,a(H,{slots:t(t({},null===(n=this.props.slots)||void 0===n?void 0:n.primaryInputSlots),{},{right:r(s,{children:[(null===(l=this.internalConfig.filterBar)||void 0===l?void 0:l.enableSort)&&a(p,{}),null===(d=this.props.slots)||void 0===d||null===(d=d.primaryInputSlots)||void 0===d?void 0:d.right]})}),children:a(F,{})}),null===(u=this.props.slots)||void 0===u||null===(u=u.filterSlots)||void 0===u?void 0:u.below,null===(g=this.props.slots)||void 0===g||null===(g=g.activeFiltersPanelSlots)||void 0===g?void 0:g.above,r(j,{children:[a(c,{value:this.state.viewMode,onChange:this.onViewModeChangeHandler}),null===(h=this.props.slots)||void 0===h||null===(h=h.activeFiltersPanelSlots)||void 0===h?void 0:h.left,r(f,{flexDirection:"row",sx:{flexWrap:"wrap",alignItems:"center",gap:1,flexGrow:1},children:[a(V,{loading:this.props.loading}),a(v,{sx:{display:"flex",alignItems:"center",gap:1,flexGrow:1,justifyContent:"end"},children:this.internalConfig.enablePaginationTop&&a(I,t({count:null!==(C=null===(m=this.props.data)||void 0===m?void 0:m.totalItems)&&void 0!==C?C:0,defaultFilter:null===(w=this.internalConfig.filterBar)||void 0===w?void 0:w.defaultValue,filter:this.filterState,onChange:this.onFilterStateChangeHandler},this.internalConfig.paginationBar))})]}),null===(y=this.props.slots)||void 0===y||null===(y=y.activeFiltersPanelSlots)||void 0===y?void 0:y.right]}),null===(B=this.props.slots)||void 0===B||null===(B=B.activeFiltersPanelSlots)||void 0===B?void 0:B.below,a(k,{data:null!==(P=null===(b=this.props.data)||void 0===b?void 0:b.items)&&void 0!==P?P:[],viewMode:this.viewMode,loading:this.props.loading,error:this.props.error,slots:this.internalConfig.viewMode}),this.renderFooter()]})}}])}()}var j=u(v)({display:"flex",alignItems:"center",flexWrap:"wrap",gap:"8px",marginBottom:"8px",minHeight:"var(--filter-bar-height, 40px)"}),x=u(v)({display:"flex",justifyContent:"flex-end",width:"100%"});export{H as default};
2
2
  //# sourceMappingURL=create.data-view.js.map
@@ -1,2 +1,2 @@
1
- import{createClass as t,classCallCheck as r,defineProperty as e}from"../_virtual/_rollupPluginBabelHelpers.js";import o from"dayjs";import"../utils/dayjs-config.js";import"react/jsx-runtime";import"react";import"react-router-dom";import"../utils/query-param.js";import{createFilterStore as i}from"./filter-store.js";import{createViewMode as a}from"./create.view-mode.js";import{createKeyConverter as s}from"./key-converter.js";import{createViewModeButtons as m}from"./view-mode.units.js";import{createConvertFilterToGraphQL as n}from"./convert-filter-to-graphql.js";import{syncQueryToURL as c,getQueryFromURL as l,getSeedKeyFromURL as u,syncViewModeToURL as f,getViewModeFromURL as p,convertFilterToQueryParam as h}from"./query-param-url.js";import{createPaginationBar as v}from"./create.pagination-bar.js";import d from"./create.data-view.js";var j=new(t((function t(){var j=this;r(this,t),e(this,"createDataView",d),e(this,"createKeyConverter",s),e(this,"createConvertFilterToGraphQL",n),e(this,"createFilterStore",i),e(this,"createPaginationBar",v),e(this,"createViewMode",a),e(this,"createViewModeButtons",m),e(this,"syncQueryToURL",c),e(this,"getQueryFromURL",l),e(this,"getSeedKeyFromURL",u),e(this,"syncViewModeToURL",f),e(this,"getViewModeFromURL",p),e(this,"convertFilterToQueryParam",h),e(this,"formatterDate",(function(t,r){var e,i,a=null!==(e=null==r?void 0:r.formatString)&&void 0!==e?e:"MM/DD/YYYY HH:mm",s=null!==(i=null==r?void 0:r.showRelative)&&void 0!==i&&i;try{if(!t)return"";var m=o(t),n=m.format(a);return s?"".concat(n," (").concat(o().to(m),")"):n}catch(t){return""}})),e(this,"valueFormatterDate",(function(t){return function(r){return j.formatterDate(r.value,t)}}))})));export{j as DinoDataView,j as default};
1
+ import{createClass as t,classCallCheck as r,defineProperty as e}from"../_virtual/_rollupPluginBabelHelpers.js";import o from"dayjs";import"../utils/dayjs-config.js";import"../utils/query-param.js";import{createFilterStore as i}from"./filter-store.js";import{createViewMode as a}from"./create.view-mode.js";import{createViewModeButtons as s}from"./view-mode.units.js";import{syncQueryToURL as m,getQueryFromURL as n,getSeedKeyFromURL as l,syncViewModeToURL as c,getViewModeFromURL as u,convertFilterToQueryParam as f}from"./query-param-url.js";import{createConvertFilterToGraphQL as h}from"./convert-filter-to-graphql.js";import{createKeyConverter as p}from"../http-service/graphql/key-converter.js";import{createPaginationBar as v}from"./create.pagination-bar.js";import d from"./create.data-view.js";var y=new(t((function t(){var y=this;r(this,t),e(this,"createDataView",d),e(this,"createKeyConverter",p),e(this,"createConvertFilterToGraphQL",h),e(this,"createFilterStore",i),e(this,"createPaginationBar",v),e(this,"createViewMode",a),e(this,"createViewModeButtons",s),e(this,"syncQueryToURL",m),e(this,"getQueryFromURL",n),e(this,"getSeedKeyFromURL",l),e(this,"syncViewModeToURL",c),e(this,"getViewModeFromURL",u),e(this,"convertFilterToQueryParam",f),e(this,"formatterDate",(function(t,r){var e,i,a=null!==(e=null==r?void 0:r.formatString)&&void 0!==e?e:"MM/DD/YYYY HH:mm",s=null!==(i=null==r?void 0:r.showRelative)&&void 0!==i&&i;try{if(!t)return"";var m=o(t),n=m.format(a);return s?"".concat(n," (").concat(o().to(m),")"):n}catch(t){return""}})),e(this,"valueFormatterDate",(function(t){return function(r){return y.formatterDate(r.value,t)}}))})));export{y as DinoDataView,y as default};
2
2
  //# sourceMappingURL=dino.js.map