@pisell/private-materials 3.4.74 → 3.4.75

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 (209) hide show
  1. package/build/lowcode/assets-daily.json +11 -11
  2. package/build/lowcode/assets-dev.json +2 -2
  3. package/build/lowcode/assets-prod.json +11 -11
  4. package/build/lowcode/index.js +1 -1
  5. package/build/lowcode/meta.js +1 -1
  6. package/build/lowcode/preview.js +7 -7
  7. package/build/lowcode/render/default/view.css +1 -1
  8. package/build/lowcode/render/default/view.js +9 -9
  9. package/build/lowcode/view.css +1 -1
  10. package/build/lowcode/view.js +9 -9
  11. package/es/businessModel/SalesModel/index.d.ts +1 -0
  12. package/es/components/appointmentBooking/components/Content/index.d.ts +1 -0
  13. package/es/components/appointmentBooking/components/Header/index.d.ts +1 -0
  14. package/es/components/appointmentBooking/components/Voucher/index.d.ts +1 -0
  15. package/es/components/appointmentBooking/deposit/components/PolicyModal/index.d.ts +1 -0
  16. package/es/components/appointmentBooking/deposit/index.d.ts +1 -0
  17. package/es/components/appointmentBooking/index.d.ts +1 -0
  18. package/es/components/booking/addons/model.d.ts +1 -10
  19. package/es/components/booking/components/footer/index.d.ts +1 -0
  20. package/es/components/booking/components/voucher/index.d.ts +1 -0
  21. package/es/components/booking/deposit/index.d.ts +1 -0
  22. package/es/components/booking/forms/model.d.ts +1 -10
  23. package/es/components/booking/hooks/useQuotation.d.ts +1 -0
  24. package/es/components/booking/info/addServiceVariant/index.d.ts +1 -0
  25. package/es/components/booking/info/header/index.d.ts +1 -0
  26. package/es/components/booking/info/index.d.ts +1 -0
  27. package/es/components/booking/info/model.d.ts +1 -10
  28. package/es/components/booking/info/service/addService/index.d.ts +1 -0
  29. package/es/components/booking/info/service/addService/utils.d.ts +1 -1
  30. package/es/components/booking/info/service/addTimeModal/index.d.ts +1 -0
  31. package/es/components/booking/info2/service/addService/index.d.ts +1 -0
  32. package/es/components/booking/info2/service/addService/utils.d.ts +1 -1
  33. package/es/components/booking/info2/service/addTimeModal/index.d.ts +1 -0
  34. package/es/components/booking/model.d.ts +1 -9
  35. package/es/components/booking/notes/model.d.ts +1 -10
  36. package/es/components/booking/payments/model.d.ts +1 -10
  37. package/es/components/booking/utils.d.ts +2 -2
  38. package/es/components/eftpos/surcharge/index.d.ts +1 -0
  39. package/es/components/eftposPay/amount.d.ts +1 -1
  40. package/es/components/eftposPay/app.d.ts +1 -0
  41. package/es/components/eftposPay/component/fail/index.d.ts +1 -0
  42. package/es/components/eftposPay/device.d.ts +2 -1
  43. package/es/components/eftposPay/hooks.d.ts +2 -2
  44. package/es/components/eftposPay/index.d.ts +1 -0
  45. package/es/components/eftposPay/linkly/index.d.ts +1 -0
  46. package/es/components/eftposPay/store/index.d.ts +4 -4
  47. package/es/components/eventBooking/components/Provider/Cart/ContinueButton/index.d.ts +1 -0
  48. package/es/components/eventBooking/components/Provider/Cart/Item/Total.d.ts +1 -0
  49. package/es/components/eventBooking/components/Provider/Cart/Item/index.d.ts +1 -0
  50. package/es/components/eventBooking/components/Voucher/index.d.ts +1 -0
  51. package/es/components/eventBooking/components/scheduleCalendar/calendarItem.d.ts +1 -0
  52. package/es/components/eventBooking/index.d.ts +1 -0
  53. package/es/components/pay/toC/PaymentMethods/MWCreditCard/TDSPay/ThreedsLoading/index.d.ts +1 -0
  54. package/es/components/pay/toC/PaymentMethods/StripePay/Stripe/StripeSDK/SDK.d.ts +1 -0
  55. package/es/components/pay/toC/model.d.ts +1 -9
  56. package/es/components/pisellSelectCustomerModal/RightPanel/Add/PhoneField/index.d.ts +1 -0
  57. package/es/components/pisellSelectCustomerModal/RightPanel/index.d.ts +1 -0
  58. package/es/components/pisellSelectCustomerModal/index.d.ts +1 -0
  59. package/es/components/productExtension/index.d.ts +1 -0
  60. package/es/components/ruleSetting/index.d.ts +1 -0
  61. package/es/components/schedules/components/ScheduleList/RenderScheduleItem/index.d.ts +1 -0
  62. package/es/components/schedules/model.d.ts +1 -9
  63. package/es/components/schedules/products/ProductDetailDrawer/ProductDetail/SchedulesModule/AddSchedules/index.d.ts +1 -0
  64. package/es/components/schedules/products/ProductDetailDrawer/ProductDetail/SchedulesModule/index.d.ts +1 -0
  65. package/es/components/taxSelect/index.d.ts +1 -0
  66. package/es/components/ticketBooking/components/addServiceVariant/addService.d.ts +1 -0
  67. package/es/components/ticketBooking/components/addServiceVariant/index.d.ts +1 -0
  68. package/es/components/ticketBooking/components/ticketBooking/index.d.ts +1 -0
  69. package/es/components/ticketBooking/components/timeBar/index.d.ts +1 -0
  70. package/es/components/ticketBooking/index.d.ts +1 -0
  71. package/es/components/walletList/index.d.ts +1 -0
  72. package/es/components/workSpaceList/components/SearchWorkspaceAndBase/index.d.ts +1 -0
  73. package/es/index.d.ts +3 -0
  74. package/es/index.js +2 -0
  75. package/es/plus/contactInfoModal/ContactInfoContent.d.ts +1 -0
  76. package/es/plus/saasCreateOrganization/index.d.ts +1 -0
  77. package/es/plus/saasRole/components/PermissionManager/index.d.ts +19 -0
  78. package/es/plus/saasRole/components/PermissionManager/index.js +211 -0
  79. package/es/plus/saasRole/components/PermissionManager/index.less +71 -0
  80. package/es/plus/saasRole/index.d.ts +14 -0
  81. package/es/plus/saasRole/index.js +1036 -0
  82. package/es/plus/saasRole/index.less +196 -0
  83. package/es/plus/saasRole/locales.d.ts +193 -0
  84. package/es/plus/saasRole/locales.js +193 -0
  85. package/es/plus/saasRole/serve.d.ts +72 -0
  86. package/es/plus/saasRole/serve.js +304 -0
  87. package/es/plus/saasRole/types.d.ts +175 -0
  88. package/es/plus/saasRole/types.js +1 -0
  89. package/es/plus/saasRole/utils.d.ts +0 -0
  90. package/es/plus/saasRole/utils.js +0 -0
  91. package/es/plus/saasTeamMembers/components/MemberDrawer/ExtensionFormTabContent.d.ts +31 -0
  92. package/es/plus/saasTeamMembers/components/MemberDrawer/ExtensionFormTabContent.js +503 -0
  93. package/es/plus/saasTeamMembers/components/MemberDrawer/index.d.ts +23 -0
  94. package/es/plus/saasTeamMembers/components/MemberDrawer/index.js +634 -0
  95. package/es/plus/saasTeamMembers/components/MemberDrawer/index.less +178 -0
  96. package/es/plus/saasTeamMembers/index.d.ts +5 -0
  97. package/es/plus/saasTeamMembers/index.js +529 -0
  98. package/es/plus/saasTeamMembers/index.less +87 -0
  99. package/es/plus/saasTeamMembers/locales.d.ts +330 -0
  100. package/es/plus/saasTeamMembers/locales.js +375 -0
  101. package/es/plus/saasTeamMembers/serve.d.ts +95 -0
  102. package/es/plus/saasTeamMembers/serve.js +374 -0
  103. package/es/plus/saasTeamMembers/type.d.ts +156 -0
  104. package/es/plus/saasTeamMembers/type.js +1 -0
  105. package/es/plus/walletEditor/components/ImageUpload/index.d.ts +1 -1
  106. package/es/plus/walletPassGallery/components/passDetail/index.d.ts +1 -0
  107. package/es/plus/walletPassGallery/index.d.ts +1 -0
  108. package/lib/businessModel/SalesModel/index.d.ts +1 -0
  109. package/lib/components/appointmentBooking/components/Content/index.d.ts +1 -0
  110. package/lib/components/appointmentBooking/components/Header/index.d.ts +1 -0
  111. package/lib/components/appointmentBooking/components/Voucher/index.d.ts +1 -0
  112. package/lib/components/appointmentBooking/deposit/components/PolicyModal/index.d.ts +1 -0
  113. package/lib/components/appointmentBooking/deposit/index.d.ts +1 -0
  114. package/lib/components/appointmentBooking/index.d.ts +1 -0
  115. package/lib/components/booking/addons/model.d.ts +1 -10
  116. package/lib/components/booking/components/footer/index.d.ts +1 -0
  117. package/lib/components/booking/components/voucher/index.d.ts +1 -0
  118. package/lib/components/booking/deposit/index.d.ts +1 -0
  119. package/lib/components/booking/forms/model.d.ts +1 -10
  120. package/lib/components/booking/hooks/useQuotation.d.ts +1 -0
  121. package/lib/components/booking/info/addServiceVariant/index.d.ts +1 -0
  122. package/lib/components/booking/info/header/index.d.ts +1 -0
  123. package/lib/components/booking/info/index.d.ts +1 -0
  124. package/lib/components/booking/info/model.d.ts +1 -10
  125. package/lib/components/booking/info/service/addService/index.d.ts +1 -0
  126. package/lib/components/booking/info/service/addService/utils.d.ts +1 -1
  127. package/lib/components/booking/info/service/addTimeModal/index.d.ts +1 -0
  128. package/lib/components/booking/info2/service/addService/index.d.ts +1 -0
  129. package/lib/components/booking/info2/service/addService/utils.d.ts +1 -1
  130. package/lib/components/booking/info2/service/addTimeModal/index.d.ts +1 -0
  131. package/lib/components/booking/model.d.ts +1 -9
  132. package/lib/components/booking/notes/model.d.ts +1 -10
  133. package/lib/components/booking/payments/model.d.ts +1 -10
  134. package/lib/components/booking/utils.d.ts +2 -2
  135. package/lib/components/eftpos/surcharge/index.d.ts +1 -0
  136. package/lib/components/eftposPay/amount.d.ts +1 -1
  137. package/lib/components/eftposPay/app.d.ts +1 -0
  138. package/lib/components/eftposPay/component/fail/index.d.ts +1 -0
  139. package/lib/components/eftposPay/device.d.ts +2 -1
  140. package/lib/components/eftposPay/hooks.d.ts +2 -2
  141. package/lib/components/eftposPay/index.d.ts +1 -0
  142. package/lib/components/eftposPay/linkly/index.d.ts +1 -0
  143. package/lib/components/eftposPay/store/index.d.ts +4 -4
  144. package/lib/components/eventBooking/components/Provider/Cart/ContinueButton/index.d.ts +1 -0
  145. package/lib/components/eventBooking/components/Provider/Cart/Item/Total.d.ts +1 -0
  146. package/lib/components/eventBooking/components/Provider/Cart/Item/index.d.ts +1 -0
  147. package/lib/components/eventBooking/components/Voucher/index.d.ts +1 -0
  148. package/lib/components/eventBooking/components/scheduleCalendar/calendarItem.d.ts +1 -0
  149. package/lib/components/eventBooking/index.d.ts +1 -0
  150. package/lib/components/pay/toC/PaymentMethods/MWCreditCard/TDSPay/ThreedsLoading/index.d.ts +1 -0
  151. package/lib/components/pay/toC/PaymentMethods/StripePay/Stripe/StripeSDK/SDK.d.ts +1 -0
  152. package/lib/components/pay/toC/model.d.ts +1 -9
  153. package/lib/components/pisellSelectCustomerModal/RightPanel/Add/PhoneField/index.d.ts +1 -0
  154. package/lib/components/pisellSelectCustomerModal/RightPanel/index.d.ts +1 -0
  155. package/lib/components/pisellSelectCustomerModal/index.d.ts +1 -0
  156. package/lib/components/productExtension/index.d.ts +1 -0
  157. package/lib/components/ruleSetting/index.d.ts +1 -0
  158. package/lib/components/schedules/components/ScheduleList/RenderScheduleItem/index.d.ts +1 -0
  159. package/lib/components/schedules/model.d.ts +1 -9
  160. package/lib/components/schedules/products/ProductDetailDrawer/ProductDetail/SchedulesModule/AddSchedules/index.d.ts +1 -0
  161. package/lib/components/schedules/products/ProductDetailDrawer/ProductDetail/SchedulesModule/index.d.ts +1 -0
  162. package/lib/components/taxSelect/index.d.ts +1 -0
  163. package/lib/components/ticketBooking/components/addServiceVariant/addService.d.ts +1 -0
  164. package/lib/components/ticketBooking/components/addServiceVariant/index.d.ts +1 -0
  165. package/lib/components/ticketBooking/components/ticketBooking/index.d.ts +1 -0
  166. package/lib/components/ticketBooking/components/timeBar/index.d.ts +1 -0
  167. package/lib/components/ticketBooking/index.d.ts +1 -0
  168. package/lib/components/walletList/index.d.ts +1 -0
  169. package/lib/components/workSpaceList/components/SearchWorkspaceAndBase/index.d.ts +1 -0
  170. package/lib/index.d.ts +3 -0
  171. package/lib/index.js +6 -0
  172. package/lib/plus/contactInfoModal/ContactInfoContent.d.ts +1 -0
  173. package/lib/plus/saasCreateOrganization/index.d.ts +1 -0
  174. package/lib/plus/saasRole/components/PermissionManager/index.d.ts +19 -0
  175. package/lib/plus/saasRole/components/PermissionManager/index.js +159 -0
  176. package/lib/plus/saasRole/components/PermissionManager/index.less +71 -0
  177. package/lib/plus/saasRole/index.d.ts +14 -0
  178. package/lib/plus/saasRole/index.js +780 -0
  179. package/lib/plus/saasRole/index.less +196 -0
  180. package/lib/plus/saasRole/locales.d.ts +193 -0
  181. package/lib/plus/saasRole/locales.js +219 -0
  182. package/lib/plus/saasRole/serve.d.ts +72 -0
  183. package/lib/plus/saasRole/serve.js +100 -0
  184. package/lib/plus/saasRole/types.d.ts +175 -0
  185. package/lib/plus/saasRole/types.js +17 -0
  186. package/lib/plus/saasRole/utils.d.ts +0 -0
  187. package/lib/plus/saasRole/utils.js +0 -0
  188. package/lib/plus/saasTeamMembers/components/MemberDrawer/ExtensionFormTabContent.d.ts +31 -0
  189. package/lib/plus/saasTeamMembers/components/MemberDrawer/ExtensionFormTabContent.js +393 -0
  190. package/lib/plus/saasTeamMembers/components/MemberDrawer/index.d.ts +23 -0
  191. package/lib/plus/saasTeamMembers/components/MemberDrawer/index.js +672 -0
  192. package/lib/plus/saasTeamMembers/components/MemberDrawer/index.less +178 -0
  193. package/lib/plus/saasTeamMembers/index.d.ts +5 -0
  194. package/lib/plus/saasTeamMembers/index.js +448 -0
  195. package/lib/plus/saasTeamMembers/index.less +87 -0
  196. package/lib/plus/saasTeamMembers/locales.d.ts +330 -0
  197. package/lib/plus/saasTeamMembers/locales.js +401 -0
  198. package/lib/plus/saasTeamMembers/serve.d.ts +95 -0
  199. package/lib/plus/saasTeamMembers/serve.js +132 -0
  200. package/lib/plus/saasTeamMembers/type.d.ts +156 -0
  201. package/lib/plus/saasTeamMembers/type.js +17 -0
  202. package/lib/plus/walletEditor/components/ImageUpload/index.d.ts +1 -1
  203. package/lib/plus/walletPassGallery/components/passDetail/index.d.ts +1 -0
  204. package/lib/plus/walletPassGallery/index.d.ts +1 -0
  205. package/lowcode/saas-role/meta.ts +35 -0
  206. package/lowcode/saas-team-members/meta.ts +35 -0
  207. package/package.json +4 -4
  208. package/lowcode/eco-cup-list/meta.ts +0 -63
  209. package/lowcode/eco-customer-list/meta.ts +0 -63
@@ -0,0 +1,1036 @@
1
+ function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
+ function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
3
+ function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
4
+ function _iterableToArray(iter) { if (typeof Symbol !== "undefined" && iter[Symbol.iterator] != null || iter["@@iterator"] != null) return Array.from(iter); }
5
+ function _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }
6
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
7
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
8
+ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
9
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
10
+ function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
11
+ function _regeneratorRuntime() { "use strict"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */ _regeneratorRuntime = function _regeneratorRuntime() { return e; }; var t, e = {}, r = Object.prototype, n = r.hasOwnProperty, o = Object.defineProperty || function (t, e, r) { t[e] = r.value; }, i = "function" == typeof Symbol ? Symbol : {}, a = i.iterator || "@@iterator", c = i.asyncIterator || "@@asyncIterator", u = i.toStringTag || "@@toStringTag"; function define(t, e, r) { return Object.defineProperty(t, e, { value: r, enumerable: !0, configurable: !0, writable: !0 }), t[e]; } try { define({}, ""); } catch (t) { define = function define(t, e, r) { return t[e] = r; }; } function wrap(t, e, r, n) { var i = e && e.prototype instanceof Generator ? e : Generator, a = Object.create(i.prototype), c = new Context(n || []); return o(a, "_invoke", { value: makeInvokeMethod(t, r, c) }), a; } function tryCatch(t, e, r) { try { return { type: "normal", arg: t.call(e, r) }; } catch (t) { return { type: "throw", arg: t }; } } e.wrap = wrap; var h = "suspendedStart", l = "suspendedYield", f = "executing", s = "completed", y = {}; function Generator() {} function GeneratorFunction() {} function GeneratorFunctionPrototype() {} var p = {}; define(p, a, function () { return this; }); var d = Object.getPrototypeOf, v = d && d(d(values([]))); v && v !== r && n.call(v, a) && (p = v); var g = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(p); function defineIteratorMethods(t) { ["next", "throw", "return"].forEach(function (e) { define(t, e, function (t) { return this._invoke(e, t); }); }); } function AsyncIterator(t, e) { function invoke(r, o, i, a) { var c = tryCatch(t[r], t, o); if ("throw" !== c.type) { var u = c.arg, h = u.value; return h && "object" == _typeof(h) && n.call(h, "__await") ? e.resolve(h.__await).then(function (t) { invoke("next", t, i, a); }, function (t) { invoke("throw", t, i, a); }) : e.resolve(h).then(function (t) { u.value = t, i(u); }, function (t) { return invoke("throw", t, i, a); }); } a(c.arg); } var r; o(this, "_invoke", { value: function value(t, n) { function callInvokeWithMethodAndArg() { return new e(function (e, r) { invoke(t, n, e, r); }); } return r = r ? r.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg(); } }); } function makeInvokeMethod(e, r, n) { var o = h; return function (i, a) { if (o === f) throw new Error("Generator is already running"); if (o === s) { if ("throw" === i) throw a; return { value: t, done: !0 }; } for (n.method = i, n.arg = a;;) { var c = n.delegate; if (c) { var u = maybeInvokeDelegate(c, n); if (u) { if (u === y) continue; return u; } } if ("next" === n.method) n.sent = n._sent = n.arg;else if ("throw" === n.method) { if (o === h) throw o = s, n.arg; n.dispatchException(n.arg); } else "return" === n.method && n.abrupt("return", n.arg); o = f; var p = tryCatch(e, r, n); if ("normal" === p.type) { if (o = n.done ? s : l, p.arg === y) continue; return { value: p.arg, done: n.done }; } "throw" === p.type && (o = s, n.method = "throw", n.arg = p.arg); } }; } function maybeInvokeDelegate(e, r) { var n = r.method, o = e.iterator[n]; if (o === t) return r.delegate = null, "throw" === n && e.iterator.return && (r.method = "return", r.arg = t, maybeInvokeDelegate(e, r), "throw" === r.method) || "return" !== n && (r.method = "throw", r.arg = new TypeError("The iterator does not provide a '" + n + "' method")), y; var i = tryCatch(o, e.iterator, r.arg); if ("throw" === i.type) return r.method = "throw", r.arg = i.arg, r.delegate = null, y; var a = i.arg; return a ? a.done ? (r[e.resultName] = a.value, r.next = e.nextLoc, "return" !== r.method && (r.method = "next", r.arg = t), r.delegate = null, y) : a : (r.method = "throw", r.arg = new TypeError("iterator result is not an object"), r.delegate = null, y); } function pushTryEntry(t) { var e = { tryLoc: t[0] }; 1 in t && (e.catchLoc = t[1]), 2 in t && (e.finallyLoc = t[2], e.afterLoc = t[3]), this.tryEntries.push(e); } function resetTryEntry(t) { var e = t.completion || {}; e.type = "normal", delete e.arg, t.completion = e; } function Context(t) { this.tryEntries = [{ tryLoc: "root" }], t.forEach(pushTryEntry, this), this.reset(!0); } function values(e) { if (e || "" === e) { var r = e[a]; if (r) return r.call(e); if ("function" == typeof e.next) return e; if (!isNaN(e.length)) { var o = -1, i = function next() { for (; ++o < e.length;) if (n.call(e, o)) return next.value = e[o], next.done = !1, next; return next.value = t, next.done = !0, next; }; return i.next = i; } } throw new TypeError(_typeof(e) + " is not iterable"); } return GeneratorFunction.prototype = GeneratorFunctionPrototype, o(g, "constructor", { value: GeneratorFunctionPrototype, configurable: !0 }), o(GeneratorFunctionPrototype, "constructor", { value: GeneratorFunction, configurable: !0 }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, u, "GeneratorFunction"), e.isGeneratorFunction = function (t) { var e = "function" == typeof t && t.constructor; return !!e && (e === GeneratorFunction || "GeneratorFunction" === (e.displayName || e.name)); }, e.mark = function (t) { return Object.setPrototypeOf ? Object.setPrototypeOf(t, GeneratorFunctionPrototype) : (t.__proto__ = GeneratorFunctionPrototype, define(t, u, "GeneratorFunction")), t.prototype = Object.create(g), t; }, e.awrap = function (t) { return { __await: t }; }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, c, function () { return this; }), e.AsyncIterator = AsyncIterator, e.async = function (t, r, n, o, i) { void 0 === i && (i = Promise); var a = new AsyncIterator(wrap(t, r, n, o), i); return e.isGeneratorFunction(r) ? a : a.next().then(function (t) { return t.done ? t.value : a.next(); }); }, defineIteratorMethods(g), define(g, u, "Generator"), define(g, a, function () { return this; }), define(g, "toString", function () { return "[object Generator]"; }), e.keys = function (t) { var e = Object(t), r = []; for (var n in e) r.push(n); return r.reverse(), function next() { for (; r.length;) { var t = r.pop(); if (t in e) return next.value = t, next.done = !1, next; } return next.done = !0, next; }; }, e.values = values, Context.prototype = { constructor: Context, reset: function reset(e) { if (this.prev = 0, this.next = 0, this.sent = this._sent = t, this.done = !1, this.delegate = null, this.method = "next", this.arg = t, this.tryEntries.forEach(resetTryEntry), !e) for (var r in this) "t" === r.charAt(0) && n.call(this, r) && !isNaN(+r.slice(1)) && (this[r] = t); }, stop: function stop() { this.done = !0; var t = this.tryEntries[0].completion; if ("throw" === t.type) throw t.arg; return this.rval; }, dispatchException: function dispatchException(e) { if (this.done) throw e; var r = this; function handle(n, o) { return a.type = "throw", a.arg = e, r.next = n, o && (r.method = "next", r.arg = t), !!o; } for (var o = this.tryEntries.length - 1; o >= 0; --o) { var i = this.tryEntries[o], a = i.completion; if ("root" === i.tryLoc) return handle("end"); if (i.tryLoc <= this.prev) { var c = n.call(i, "catchLoc"), u = n.call(i, "finallyLoc"); if (c && u) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } else if (c) { if (this.prev < i.catchLoc) return handle(i.catchLoc, !0); } else { if (!u) throw new Error("try statement without catch or finally"); if (this.prev < i.finallyLoc) return handle(i.finallyLoc); } } } }, abrupt: function abrupt(t, e) { for (var r = this.tryEntries.length - 1; r >= 0; --r) { var o = this.tryEntries[r]; if (o.tryLoc <= this.prev && n.call(o, "finallyLoc") && this.prev < o.finallyLoc) { var i = o; break; } } i && ("break" === t || "continue" === t) && i.tryLoc <= e && e <= i.finallyLoc && (i = null); var a = i ? i.completion : {}; return a.type = t, a.arg = e, i ? (this.method = "next", this.next = i.finallyLoc, y) : this.complete(a); }, complete: function complete(t, e) { if ("throw" === t.type) throw t.arg; return "break" === t.type || "continue" === t.type ? this.next = t.arg : "return" === t.type ? (this.rval = this.arg = t.arg, this.method = "return", this.next = "end") : "normal" === t.type && e && (this.next = e), y; }, finish: function finish(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.finallyLoc === t) return this.complete(r.completion, r.afterLoc), resetTryEntry(r), y; } }, catch: function _catch(t) { for (var e = this.tryEntries.length - 1; e >= 0; --e) { var r = this.tryEntries[e]; if (r.tryLoc === t) { var n = r.completion; if ("throw" === n.type) { var o = n.arg; resetTryEntry(r); } return o; } } throw new Error("illegal catch attempt"); }, delegateYield: function delegateYield(e, r, n) { return this.delegate = { iterator: values(e), resultName: r, nextLoc: n }, "next" === this.method && (this.arg = t), y; } }, e; }
12
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
13
+ function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
14
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
15
+ function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
16
+ function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
17
+ function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
18
+ function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } }
19
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
20
+ import React, { useState, useMemo, useCallback, useEffect } from 'react';
21
+ import { Layout, Card, Button, Modal, Form, Input, Select, Table, Tabs, Tag, Empty, Dropdown, Drawer, ConfigProvider } from 'antd';
22
+ import { useRequest } from 'ahooks';
23
+ import { PlusOutlined, EditOutlined, DeleteOutlined, MoreOutlined, SearchOutlined } from '@ant-design/icons';
24
+ import { BaseTranslation, Icon } from '@pisell/materials';
25
+ import classNames from 'classnames';
26
+ import { locales } from '@pisell/utils';
27
+ import { getClientName } from "../clientName/utils";
28
+ import { request } from "../../utils";
29
+ import useEngineContext from "../../hooks/useEngineContext";
30
+ import localeTexts from "./locales";
31
+ import { getRoles, getRoleMembers, getRolePermission, createRole, updateRole, deleteRole, getAllMembers, updateRoleMembers, getExtensionFormList, removeRoleMember } from "./serve";
32
+ import PermissionManager from "./components/PermissionManager/index";
33
+ import "./index.less";
34
+
35
+ // 临时类型修复
36
+ var AntdLayout = Layout;
37
+ var AntdSider = Layout.Sider;
38
+ var AntdContent = Layout.Content;
39
+ var AntdTag = Tag;
40
+ var AntdDrawer = Drawer;
41
+
42
+ /**
43
+ * 角色卡片组件
44
+ */
45
+
46
+ var RoleCard = function RoleCard(_ref) {
47
+ var role = _ref.role,
48
+ isSelected = _ref.isSelected,
49
+ onSelect = _ref.onSelect,
50
+ onEdit = _ref.onEdit,
51
+ onDelete = _ref.onDelete,
52
+ getText = _ref.getText,
53
+ getLocaleText = _ref.getLocaleText;
54
+ var menuItems = [{
55
+ key: 'edit',
56
+ label: getText('pisell2.saas.role.edit'),
57
+ icon: /*#__PURE__*/React.createElement(EditOutlined, null),
58
+ onClick: function onClick(e) {
59
+ e.domEvent.stopPropagation();
60
+ onEdit === null || onEdit === void 0 || onEdit();
61
+ }
62
+ }, {
63
+ key: 'delete',
64
+ label: getText('pisell2.saas.role.delete'),
65
+ icon: /*#__PURE__*/React.createElement(DeleteOutlined, null),
66
+ danger: true,
67
+ onClick: function onClick(e) {
68
+ e.domEvent.stopPropagation();
69
+ onDelete === null || onDelete === void 0 || onDelete();
70
+ }
71
+ }];
72
+ return /*#__PURE__*/React.createElement("div", {
73
+ onClick: onSelect
74
+ }, /*#__PURE__*/React.createElement(Card, {
75
+ className: classNames('saas-role-card', {
76
+ 'saas-role-card-selected': isSelected
77
+ }),
78
+ hoverable: true
79
+ }, /*#__PURE__*/React.createElement("div", {
80
+ className: "saas-role-card-content",
81
+ style: {
82
+ position: 'relative'
83
+ }
84
+ }, /*#__PURE__*/React.createElement("h4", {
85
+ className: "saas-role-card-title",
86
+ style: {
87
+ paddingRight: 24
88
+ }
89
+ }, getLocaleText(role.name)), /*#__PURE__*/React.createElement("p", {
90
+ className: "saas-role-card-count"
91
+ }, role.tenant_account_count || 0, ' ', getText('pisell2.saas.role.members-text'))), /*#__PURE__*/React.createElement(Dropdown, {
92
+ menu: {
93
+ items: menuItems
94
+ },
95
+ trigger: ['click'],
96
+ placement: "bottomRight"
97
+ }, /*#__PURE__*/React.createElement("div", {
98
+ onClick: function onClick(e) {
99
+ return e.stopPropagation();
100
+ },
101
+ style: {
102
+ fontSize: 16,
103
+ cursor: 'pointer',
104
+ display: 'inline-flex',
105
+ alignItems: 'center',
106
+ padding: '0 4px'
107
+ }
108
+ }, /*#__PURE__*/React.createElement(MoreOutlined, null)))));
109
+ };
110
+
111
+ /**
112
+ * SaasRole 角色管理组件
113
+ *
114
+ * 提供完整的角色管理功能,包括:
115
+ * - 角色的创建、编辑、删除
116
+ * - 角色成员管理
117
+ * - 角色权限配置
118
+ * - 角色字段配置
119
+ */
120
+ var SaasRole = function SaasRole(_ref2) {
121
+ var _context$appHelper, _context$engine;
122
+ var className = _ref2.className,
123
+ style = _ref2.style;
124
+ var context = useEngineContext();
125
+ var utils = (context === null || context === void 0 || (_context$appHelper = context.appHelper) === null || _context$appHelper === void 0 ? void 0 : _context$appHelper.utils) || {};
126
+ if (utils !== null && utils !== void 0 && utils.request) {
127
+ request.setRequest(utils.request);
128
+ }
129
+ locales.init(localeTexts, (context === null || context === void 0 || (_context$engine = context.engine) === null || _context$engine === void 0 || (_context$engine = _context$engine.props) === null || _context$engine === void 0 ? void 0 : _context$engine.locale) || 'en');
130
+ var getText = locales.getText;
131
+ var getLocaleText = useCallback(function (text) {
132
+ var _context$appHelper2;
133
+ if (!text) return '';
134
+ if (typeof text === 'string') return text;
135
+ var _ref3 = (context === null || context === void 0 || (_context$appHelper2 = context.appHelper) === null || _context$appHelper2 === void 0 ? void 0 : _context$appHelper2.utils) || {},
136
+ translation = _ref3.translation;
137
+ return translation(text);
138
+ }, [context]);
139
+
140
+ // 状态管理
141
+ var _useState = useState(null),
142
+ _useState2 = _slicedToArray(_useState, 2),
143
+ selectedRoleId = _useState2[0],
144
+ setSelectedRoleId = _useState2[1];
145
+ var _useState3 = useState(false),
146
+ _useState4 = _slicedToArray(_useState3, 2),
147
+ addMemberDrawerVisible = _useState4[0],
148
+ setAddMemberDrawerVisible = _useState4[1];
149
+ var _useState5 = useState([]),
150
+ _useState6 = _slicedToArray(_useState5, 2),
151
+ selectedMemberIds = _useState6[0],
152
+ setSelectedMemberIds = _useState6[1];
153
+ var _useState7 = useState(''),
154
+ _useState8 = _slicedToArray(_useState7, 2),
155
+ memberFilterKeyword = _useState8[0],
156
+ setMemberFilterKeyword = _useState8[1];
157
+ var _useState9 = useState('members'),
158
+ _useState10 = _slicedToArray(_useState9, 2),
159
+ activeTab = _useState10[0],
160
+ setActiveTab = _useState10[1];
161
+
162
+ // 创建编辑相关
163
+ var _useState11 = useState(false),
164
+ _useState12 = _slicedToArray(_useState11, 2),
165
+ createModalVisible = _useState12[0],
166
+ setCreateModalVisible = _useState12[1];
167
+ var _Form$useForm = Form.useForm(),
168
+ _Form$useForm2 = _slicedToArray(_Form$useForm, 1),
169
+ createForm = _Form$useForm2[0];
170
+ var _useState13 = useState(null),
171
+ _useState14 = _slicedToArray(_useState13, 2),
172
+ roleForEdit = _useState14[0],
173
+ setRoleForEdit = _useState14[1];
174
+ var _Form$useForm3 = Form.useForm(),
175
+ _Form$useForm4 = _slicedToArray(_Form$useForm3, 1),
176
+ editForm = _Form$useForm4[0];
177
+ var _Modal$useModal = Modal.useModal(),
178
+ _Modal$useModal2 = _slicedToArray(_Modal$useModal, 2),
179
+ modal = _Modal$useModal2[0],
180
+ contextHolder = _Modal$useModal2[1];
181
+
182
+ // 加载角色列表
183
+ var _useRequest = useRequest(getRoles, {
184
+ onSuccess: function onSuccess(data) {
185
+ if (data.length > 0 && !selectedRoleId) {
186
+ setSelectedRoleId(data[0].id);
187
+ } else if (data.length === 0) {
188
+ setSelectedRoleId(null);
189
+ }
190
+ }
191
+ }),
192
+ _useRequest$data = _useRequest.data,
193
+ roles = _useRequest$data === void 0 ? [] : _useRequest$data,
194
+ rolesLoading = _useRequest.loading,
195
+ refreshRoles = _useRequest.run;
196
+
197
+ // 选中的角色
198
+ var selectedRole = useMemo(function () {
199
+ return roles.find(function (role) {
200
+ return role.id === selectedRoleId;
201
+ });
202
+ }, [roles, selectedRoleId]);
203
+ var _useRequest2 = useRequest(getExtensionFormList, {
204
+ defaultParams: [{
205
+ skip: 0,
206
+ num: 499,
207
+ type: 'custom'
208
+ }]
209
+ }),
210
+ _useRequest2$data = _useRequest2.data,
211
+ _useRequest2$data2 = _useRequest2$data === void 0 ? {} : _useRequest2$data,
212
+ _useRequest2$data2$li = _useRequest2$data2.list,
213
+ extensionFormList = _useRequest2$data2$li === void 0 ? [] : _useRequest2$data2$li;
214
+ var extensionTableOptions = useMemo(function () {
215
+ // 已经被其他角色占用的扩展表单, 添加disabled。(注意如果是编辑状态,则当前角色占用的扩展表单不要添加disabled)
216
+ var disabledExtensionFormIds = roleForEdit ? roles.filter(function (role) {
217
+ var _role$metadata;
218
+ return role.id !== roleForEdit.id && ((_role$metadata = role.metadata) === null || _role$metadata === void 0 ? void 0 : _role$metadata.extension_form_id);
219
+ }).map(function (role) {
220
+ var _role$metadata2;
221
+ return (_role$metadata2 = role.metadata) === null || _role$metadata2 === void 0 ? void 0 : _role$metadata2.extension_form_id;
222
+ }) : [];
223
+ return (extensionFormList === null || extensionFormList === void 0 ? void 0 : extensionFormList.map(function (item) {
224
+ return {
225
+ label: item.title,
226
+ value: item.id,
227
+ disabled: disabledExtensionFormIds.includes(item.id)
228
+ };
229
+ })) || [];
230
+ }, [extensionFormList, roles, roleForEdit]);
231
+ useEffect(function () {
232
+ document.body.id = 'body';
233
+ }, [className, style]);
234
+
235
+ // 加载成员列表
236
+ var _useRequest3 = useRequest( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {
237
+ return _regeneratorRuntime().wrap(function _callee$(_context) {
238
+ while (1) switch (_context.prev = _context.next) {
239
+ case 0:
240
+ if (selectedRoleId) {
241
+ _context.next = 2;
242
+ break;
243
+ }
244
+ return _context.abrupt("return", {
245
+ list: [],
246
+ count: 0
247
+ });
248
+ case 2:
249
+ return _context.abrupt("return", getRoleMembers({
250
+ tenant_role_ids: [selectedRoleId],
251
+ with: ['account', 'roles'],
252
+ page: 1,
253
+ size: 499
254
+ }));
255
+ case 3:
256
+ case "end":
257
+ return _context.stop();
258
+ }
259
+ }, _callee);
260
+ })), {
261
+ refreshDeps: [selectedRoleId],
262
+ ready: !!selectedRoleId
263
+ }),
264
+ membersData = _useRequest3.data,
265
+ membersLoading = _useRequest3.loading,
266
+ refreshMembers = _useRequest3.run;
267
+
268
+ // 获取角色权限
269
+ var _useRequest4 = useRequest(getRolePermission, {}),
270
+ _useRequest4$data = _useRequest4.data,
271
+ availablePermissions = _useRequest4$data === void 0 ? {} : _useRequest4$data;
272
+
273
+ // 获取所有成员(用于添加)
274
+ var _useRequest5 = useRequest(getAllMembers, {
275
+ defaultParams: [{
276
+ page: 1,
277
+ size: 100
278
+ }],
279
+ manual: true
280
+ }),
281
+ allMembersData = _useRequest5.data,
282
+ allMembersLoading = _useRequest5.loading,
283
+ fetchAllMembers = _useRequest5.run;
284
+
285
+ // 创建角色请求
286
+ var _useRequest6 = useRequest(createRole, {
287
+ manual: true
288
+ }),
289
+ createRoleRun = _useRequest6.runAsync,
290
+ createRoleLoading = _useRequest6.loading;
291
+
292
+ // 更新角色请求
293
+ var _useRequest7 = useRequest(updateRole, {
294
+ manual: true
295
+ }),
296
+ updateRoleRun = _useRequest7.runAsync,
297
+ updateRoleLoading = _useRequest7.loading;
298
+
299
+ // 删除角色请求
300
+ var _useRequest8 = useRequest(deleteRole, {
301
+ manual: true
302
+ }),
303
+ deleteRoleRun = _useRequest8.runAsync,
304
+ deleteRoleLoading = _useRequest8.loading;
305
+
306
+ // 更新角色成员
307
+ var _useRequest9 = useRequest(updateRoleMembers, {
308
+ manual: true
309
+ }),
310
+ updateRoleMembersRun = _useRequest9.runAsync,
311
+ updateRoleMembersLoading = _useRequest9.loading;
312
+
313
+ // 移除角色成员请求
314
+ var _useRequest10 = useRequest(removeRoleMember, {
315
+ manual: true
316
+ }),
317
+ removeRoleMemberRun = _useRequest10.runAsync,
318
+ removeRoleMemberLoading = _useRequest10.loading;
319
+
320
+ /**
321
+ * 打开创建角色对话框
322
+ */
323
+ var handleOpenCreateModal = function handleOpenCreateModal() {
324
+ createForm.resetFields();
325
+ setCreateModalVisible(true);
326
+ };
327
+
328
+ /**
329
+ * 创建角色
330
+ */
331
+ var handleCreateRole = /*#__PURE__*/function () {
332
+ var _ref5 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2() {
333
+ var values, roleData, newRole;
334
+ return _regeneratorRuntime().wrap(function _callee2$(_context2) {
335
+ while (1) switch (_context2.prev = _context2.next) {
336
+ case 0:
337
+ _context2.prev = 0;
338
+ _context2.next = 3;
339
+ return createForm.validateFields();
340
+ case 3:
341
+ values = _context2.sent;
342
+ // 构造符合接口的数据结构
343
+ roleData = _objectSpread(_objectSpread({}, values), {}, {
344
+ permission: ['*'] // 默认全权限,后续可改为选择
345
+ });
346
+ _context2.next = 7;
347
+ return createRoleRun(roleData);
348
+ case 7:
349
+ newRole = _context2.sent;
350
+ setCreateModalVisible(false);
351
+ createForm.resetFields();
352
+ refreshRoles();
353
+ setSelectedRoleId(newRole.id);
354
+ _context2.next = 16;
355
+ break;
356
+ case 14:
357
+ _context2.prev = 14;
358
+ _context2.t0 = _context2["catch"](0);
359
+ case 16:
360
+ case "end":
361
+ return _context2.stop();
362
+ }
363
+ }, _callee2, null, [[0, 14]]);
364
+ }));
365
+ return function handleCreateRole() {
366
+ return _ref5.apply(this, arguments);
367
+ };
368
+ }();
369
+
370
+ /**
371
+ * 打开编辑角色对话框
372
+ */
373
+ var handleOpenEditModal = function handleOpenEditModal(role) {
374
+ editForm.setFieldsValue({
375
+ name: role.name,
376
+ code: role.code,
377
+ description: role.description,
378
+ metadata: role.metadata
379
+ });
380
+ setRoleForEdit(role);
381
+ };
382
+
383
+ /**
384
+ * 编辑角色
385
+ */
386
+ var handleEditRole = /*#__PURE__*/function () {
387
+ var _ref6 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3() {
388
+ var values;
389
+ return _regeneratorRuntime().wrap(function _callee3$(_context3) {
390
+ while (1) switch (_context3.prev = _context3.next) {
391
+ case 0:
392
+ if (roleForEdit) {
393
+ _context3.next = 2;
394
+ break;
395
+ }
396
+ return _context3.abrupt("return");
397
+ case 2:
398
+ _context3.prev = 2;
399
+ _context3.next = 5;
400
+ return editForm.validateFields();
401
+ case 5:
402
+ values = _context3.sent;
403
+ _context3.next = 8;
404
+ return updateRoleRun(roleForEdit.id, values);
405
+ case 8:
406
+ setRoleForEdit(null);
407
+ refreshRoles();
408
+ _context3.next = 14;
409
+ break;
410
+ case 12:
411
+ _context3.prev = 12;
412
+ _context3.t0 = _context3["catch"](2);
413
+ case 14:
414
+ case "end":
415
+ return _context3.stop();
416
+ }
417
+ }, _callee3, null, [[2, 12]]);
418
+ }));
419
+ return function handleEditRole() {
420
+ return _ref6.apply(this, arguments);
421
+ };
422
+ }();
423
+
424
+ /**
425
+ * 删除角色
426
+ */
427
+ var handleDeleteRole = /*#__PURE__*/function () {
428
+ var _ref7 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(role) {
429
+ var roleId;
430
+ return _regeneratorRuntime().wrap(function _callee4$(_context4) {
431
+ while (1) switch (_context4.prev = _context4.next) {
432
+ case 0:
433
+ if (!(roles.length < 2)) {
434
+ _context4.next = 3;
435
+ break;
436
+ }
437
+ modal.warning({
438
+ title: getText('pisell2.saas.role.at-least-one-role')
439
+ });
440
+ return _context4.abrupt("return");
441
+ case 3:
442
+ if (role !== null && role !== void 0 && role.id) {
443
+ _context4.next = 5;
444
+ break;
445
+ }
446
+ return _context4.abrupt("return");
447
+ case 5:
448
+ if (!(Number(role === null || role === void 0 ? void 0 : role.tenant_account_count) > 0)) {
449
+ _context4.next = 8;
450
+ break;
451
+ }
452
+ modal.warning({
453
+ title: getText('pisell2.saas.role.role-has-members')
454
+ });
455
+ return _context4.abrupt("return");
456
+ case 8:
457
+ roleId = role.id;
458
+ _context4.prev = 9;
459
+ _context4.next = 12;
460
+ return deleteRoleRun(roleId);
461
+ case 12:
462
+ if (roleId === selectedRoleId) {
463
+ setSelectedRoleId(null); // 会触发 onSuccess 里的默认选中第一个
464
+ }
465
+ refreshRoles();
466
+ _context4.next = 18;
467
+ break;
468
+ case 16:
469
+ _context4.prev = 16;
470
+ _context4.t0 = _context4["catch"](9);
471
+ case 18:
472
+ case "end":
473
+ return _context4.stop();
474
+ }
475
+ }, _callee4, null, [[9, 16]]);
476
+ }));
477
+ return function handleDeleteRole(_x) {
478
+ return _ref7.apply(this, arguments);
479
+ };
480
+ }();
481
+
482
+ /**
483
+ * 打开添加成员 Drawer
484
+ */
485
+ var handleOpenAddMemberDrawer = /*#__PURE__*/function () {
486
+ var _ref8 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee5() {
487
+ return _regeneratorRuntime().wrap(function _callee5$(_context5) {
488
+ while (1) switch (_context5.prev = _context5.next) {
489
+ case 0:
490
+ if (selectedRoleId) {
491
+ _context5.next = 2;
492
+ break;
493
+ }
494
+ return _context5.abrupt("return");
495
+ case 2:
496
+ _context5.prev = 2;
497
+ _context5.next = 5;
498
+ return fetchAllMembers({
499
+ page: 1,
500
+ size: 100
501
+ });
502
+ case 5:
503
+ setSelectedMemberIds([]);
504
+ setAddMemberDrawerVisible(true);
505
+ _context5.next = 11;
506
+ break;
507
+ case 9:
508
+ _context5.prev = 9;
509
+ _context5.t0 = _context5["catch"](2);
510
+ case 11:
511
+ case "end":
512
+ return _context5.stop();
513
+ }
514
+ }, _callee5, null, [[2, 9]]);
515
+ }));
516
+ return function handleOpenAddMemberDrawer() {
517
+ return _ref8.apply(this, arguments);
518
+ };
519
+ }();
520
+
521
+ /**
522
+ * 添加成员
523
+ */
524
+ var handleAddMembers = /*#__PURE__*/function () {
525
+ var _ref9 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee6() {
526
+ var existingMemberIds, finalMemberIds;
527
+ return _regeneratorRuntime().wrap(function _callee6$(_context6) {
528
+ while (1) switch (_context6.prev = _context6.next) {
529
+ case 0:
530
+ if (!(!selectedRoleId || selectedMemberIds.length === 0)) {
531
+ _context6.next = 2;
532
+ break;
533
+ }
534
+ return _context6.abrupt("return");
535
+ case 2:
536
+ _context6.prev = 2;
537
+ existingMemberIds = (membersData === null || membersData === void 0 ? void 0 : membersData.list.map(function (m) {
538
+ return m.id;
539
+ })) || [];
540
+ finalMemberIds = _toConsumableArray(new Set([].concat(_toConsumableArray(selectedMemberIds), _toConsumableArray(existingMemberIds))));
541
+ _context6.next = 7;
542
+ return updateRoleMembersRun(selectedRoleId, finalMemberIds);
543
+ case 7:
544
+ setAddMemberDrawerVisible(false);
545
+ refreshMembers();
546
+ refreshRoles(); // 更新计数
547
+ _context6.next = 14;
548
+ break;
549
+ case 12:
550
+ _context6.prev = 12;
551
+ _context6.t0 = _context6["catch"](2);
552
+ case 14:
553
+ case "end":
554
+ return _context6.stop();
555
+ }
556
+ }, _callee6, null, [[2, 12]]);
557
+ }));
558
+ return function handleAddMembers() {
559
+ return _ref9.apply(this, arguments);
560
+ };
561
+ }();
562
+
563
+ /**
564
+ * 移除成员
565
+ */
566
+ var handleRemoveMember = /*#__PURE__*/function () {
567
+ var _ref10 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee7(member) {
568
+ return _regeneratorRuntime().wrap(function _callee7$(_context7) {
569
+ while (1) switch (_context7.prev = _context7.next) {
570
+ case 0:
571
+ if (selectedRoleId) {
572
+ _context7.next = 2;
573
+ break;
574
+ }
575
+ return _context7.abrupt("return");
576
+ case 2:
577
+ _context7.prev = 2;
578
+ _context7.next = 5;
579
+ return removeRoleMemberRun(selectedRoleId, member.id);
580
+ case 5:
581
+ refreshMembers();
582
+ refreshRoles(); // 更新计数
583
+ _context7.next = 11;
584
+ break;
585
+ case 9:
586
+ _context7.prev = 9;
587
+ _context7.t0 = _context7["catch"](2);
588
+ case 11:
589
+ case "end":
590
+ return _context7.stop();
591
+ }
592
+ }, _callee7, null, [[2, 9]]);
593
+ }));
594
+ return function handleRemoveMember(_x2) {
595
+ return _ref10.apply(this, arguments);
596
+ };
597
+ }();
598
+
599
+ /**
600
+ * 更新角色权限
601
+ */
602
+ var handlePermissionChange = /*#__PURE__*/function () {
603
+ var _ref11 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee8(permissions) {
604
+ return _regeneratorRuntime().wrap(function _callee8$(_context8) {
605
+ while (1) switch (_context8.prev = _context8.next) {
606
+ case 0:
607
+ if (selectedRole) {
608
+ _context8.next = 2;
609
+ break;
610
+ }
611
+ return _context8.abrupt("return");
612
+ case 2:
613
+ _context8.prev = 2;
614
+ _context8.next = 5;
615
+ return updateRoleRun(selectedRole.id, _objectSpread(_objectSpread({}, selectedRole), {}, {
616
+ permission: permissions
617
+ }));
618
+ case 5:
619
+ refreshRoles();
620
+ _context8.next = 11;
621
+ break;
622
+ case 8:
623
+ _context8.prev = 8;
624
+ _context8.t0 = _context8["catch"](2);
625
+ console.error('Update permission error:', _context8.t0);
626
+ case 11:
627
+ case "end":
628
+ return _context8.stop();
629
+ }
630
+ }, _callee8, null, [[2, 8]]);
631
+ }));
632
+ return function handlePermissionChange(_x3) {
633
+ return _ref11.apply(this, arguments);
634
+ };
635
+ }();
636
+
637
+ // 成员表格列定义
638
+ var memberColumns = [{
639
+ title: getText('pisell2.saas.role.member-name'),
640
+ dataIndex: 'nickname',
641
+ key: 'nickname',
642
+ width: 150,
643
+ render: function render(text, record) {
644
+ var _record$account;
645
+ return record.nickname || ((_record$account = record.account) === null || _record$account === void 0 ? void 0 : _record$account.name) || '-';
646
+ }
647
+ }, {
648
+ title: getText('pisell2.saas.role.member-id'),
649
+ dataIndex: 'member_id',
650
+ key: 'member_id',
651
+ width: 120,
652
+ render: function render(text) {
653
+ return text || '-';
654
+ }
655
+ }, {
656
+ title: getText('pisell2.saas.role.member-email'),
657
+ key: 'email',
658
+ width: 250,
659
+ render: function render(_, record) {
660
+ var _record$account2;
661
+ return ((_record$account2 = record.account) === null || _record$account2 === void 0 ? void 0 : _record$account2.email) || '-';
662
+ }
663
+ }, {
664
+ title: getText('pisell2.saas.role.member-mobile'),
665
+ key: 'mobile',
666
+ width: 120,
667
+ render: function render(_, record) {
668
+ var _record$account3;
669
+ return ((_record$account3 = record.account) === null || _record$account3 === void 0 ? void 0 : _record$account3.phone) || '-';
670
+ }
671
+ }, {
672
+ title: getText('pisell2.saas.role.actions'),
673
+ key: 'actions',
674
+ width: 100,
675
+ fixed: 'right',
676
+ render: function render(_, record) {
677
+ var tip = getText('pisell2.saas.role.confirm-remove-member');
678
+ if (tip.includes('{name}')) {
679
+ tip = /*#__PURE__*/React.createElement("span", null, tip.split('{name}')[0], /*#__PURE__*/React.createElement("span", {
680
+ style: {
681
+ fontWeight: 'bold'
682
+ }
683
+ }, getClientName(record.account)), tip.split('{name}')[1]);
684
+ }
685
+ return /*#__PURE__*/React.createElement(Button, {
686
+ type: "text",
687
+ danger: true,
688
+ icon: /*#__PURE__*/React.createElement(Icon, {
689
+ type: "pisell2-user-minus-01"
690
+ }),
691
+ onClick: function onClick(e) {
692
+ e.stopPropagation();
693
+ Modal.confirm({
694
+ title: getText('pisell2.saas.role.remove-member'),
695
+ content: tip,
696
+ okText: getText('pisell2.saas.role.confirm'),
697
+ cancelText: getText('pisell2.saas.role.cancel'),
698
+ onOk: function onOk() {
699
+ return handleRemoveMember(record);
700
+ },
701
+ okButtonProps: {
702
+ danger: true
703
+ }
704
+ });
705
+ }
706
+ });
707
+ }
708
+ }];
709
+ // 可用成员表格列定义
710
+ var availableMemberColumns = [{
711
+ title: getText('pisell2.saas.role.member-name'),
712
+ dataIndex: 'nickname',
713
+ key: 'nickname',
714
+ render: function render(text, record) {
715
+ var _record$account4;
716
+ return record.nickname || ((_record$account4 = record.account) === null || _record$account4 === void 0 ? void 0 : _record$account4.name) || '-';
717
+ }
718
+ }, {
719
+ title: getText('pisell2.saas.role.member-id'),
720
+ dataIndex: 'member_id',
721
+ key: 'member_id',
722
+ render: function render(text) {
723
+ return text || '-';
724
+ }
725
+ }, {
726
+ title: getText('pisell2.saas.role.member-current-roles'),
727
+ dataIndex: 'roles',
728
+ key: 'roles',
729
+ width: 200,
730
+ render: function render(roles) {
731
+ return /*#__PURE__*/React.createElement("span", null, roles === null || roles === void 0 ? void 0 : roles.map(function (role) {
732
+ return /*#__PURE__*/React.createElement(AntdTag, {
733
+ key: role.id
734
+ }, getLocaleText(role.name));
735
+ }));
736
+ }
737
+ }];
738
+
739
+ // 渲染右侧内容
740
+ var renderContent = function renderContent() {
741
+ if (!selectedRole) {
742
+ return /*#__PURE__*/React.createElement("div", {
743
+ className: "saas-role-empty"
744
+ }, /*#__PURE__*/React.createElement(Empty, {
745
+ description: getText('pisell2.saas.role.no-role-selected')
746
+ }));
747
+ }
748
+ var tabItems = [{
749
+ key: 'members',
750
+ label: getText('pisell2.saas.role.members'),
751
+ children: /*#__PURE__*/React.createElement("div", {
752
+ className: "saas-role-members"
753
+ }, /*#__PURE__*/React.createElement("div", {
754
+ className: "saas-role-members-header"
755
+ }, /*#__PURE__*/React.createElement(Input, {
756
+ prefix: /*#__PURE__*/React.createElement(SearchOutlined, null),
757
+ placeholder: getText('pisell2.saas.role.search'),
758
+ allowClear: true,
759
+ style: {
760
+ width: 300
761
+ },
762
+ onChange: function onChange(e) {
763
+ return setMemberFilterKeyword(e.target.value);
764
+ }
765
+ }), /*#__PURE__*/React.createElement(Button, {
766
+ type: "primary",
767
+ icon: /*#__PURE__*/React.createElement(PlusOutlined, null),
768
+ onClick: handleOpenAddMemberDrawer
769
+ }, getText('pisell2.saas.role.add-member'))), /*#__PURE__*/React.createElement(Table, {
770
+ columns: memberColumns,
771
+ dataSource: membersData === null || membersData === void 0 ? void 0 : membersData.list.filter(function (member) {
772
+ var _member$nickname, _member$account, _member$member_id;
773
+ return memberFilterKeyword ? ((_member$nickname = member.nickname) === null || _member$nickname === void 0 ? void 0 : _member$nickname.toLowerCase().includes(memberFilterKeyword.toLowerCase())) || ((_member$account = member.account) === null || _member$account === void 0 || (_member$account = _member$account.email) === null || _member$account === void 0 ? void 0 : _member$account.toLowerCase().includes(memberFilterKeyword.toLowerCase())) || ((_member$member_id = member.member_id) === null || _member$member_id === void 0 ? void 0 : _member$member_id.toLowerCase().includes(memberFilterKeyword.toLowerCase())) : true;
774
+ }),
775
+ rowKey: "id",
776
+ loading: membersLoading,
777
+ pagination: {
778
+ total: (membersData === null || membersData === void 0 ? void 0 : membersData.count) || 0,
779
+ showSizeChanger: true
780
+ },
781
+ scroll: {
782
+ x: 'max-content'
783
+ },
784
+ locale: {
785
+ emptyText: getText('pisell2.saas.role.no-members-in-role')
786
+ }
787
+ }))
788
+ }, {
789
+ key: 'permissions',
790
+ label: getText('pisell2.saas.role.permissions'),
791
+ children: /*#__PURE__*/React.createElement(PermissionManager, {
792
+ availablePermissions: availablePermissions,
793
+ currentPermissions: (selectedRole === null || selectedRole === void 0 ? void 0 : selectedRole.permission) || [],
794
+ onChange: handlePermissionChange,
795
+ getLocaleText: getLocaleText,
796
+ getText: getText,
797
+ updating: updateRoleLoading
798
+ })
799
+ }];
800
+ return /*#__PURE__*/React.createElement("div", {
801
+ className: "saas-role-detail"
802
+ }, /*#__PURE__*/React.createElement("div", {
803
+ className: "saas-role-detail-header"
804
+ }, /*#__PURE__*/React.createElement("div", {
805
+ className: "saas-role-detail-title"
806
+ }, /*#__PURE__*/React.createElement("h2", null, getLocaleText(selectedRole.name))), /*#__PURE__*/React.createElement("p", {
807
+ className: "saas-role-detail-description"
808
+ }, getLocaleText(selectedRole.description))), /*#__PURE__*/React.createElement(Tabs, {
809
+ activeKey: activeTab,
810
+ onChange: setActiveTab,
811
+ items: tabItems
812
+ }));
813
+ };
814
+ return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
815
+ className: classNames('saas-role', className),
816
+ style: style
817
+ }, /*#__PURE__*/React.createElement(AntdLayout, {
818
+ className: "saas-role-layout"
819
+ }, /*#__PURE__*/React.createElement(AntdSider, {
820
+ width: 300,
821
+ className: "saas-role-sider",
822
+ theme: "light"
823
+ }, /*#__PURE__*/React.createElement("div", {
824
+ className: "saas-role-header"
825
+ }, /*#__PURE__*/React.createElement("h3", null, getText('pisell2.saas.role.title')), /*#__PURE__*/React.createElement(Button, {
826
+ type: "primary",
827
+ icon: /*#__PURE__*/React.createElement(PlusOutlined, null),
828
+ onClick: handleOpenCreateModal
829
+ }, getText('pisell2.saas.role.create'))), /*#__PURE__*/React.createElement("div", {
830
+ className: "saas-role-list"
831
+ }, roles.map(function (role) {
832
+ return /*#__PURE__*/React.createElement(RoleCard, {
833
+ key: role.id,
834
+ role: role,
835
+ isSelected: role.id === selectedRoleId,
836
+ onSelect: function onSelect() {
837
+ return setSelectedRoleId(role.id);
838
+ },
839
+ onEdit: function onEdit() {
840
+ return handleOpenEditModal(role);
841
+ },
842
+ onDelete: function onDelete() {
843
+ return handleDeleteRole(role);
844
+ },
845
+ getText: getText,
846
+ getLocaleText: getLocaleText
847
+ });
848
+ }))), /*#__PURE__*/React.createElement(AntdContent, {
849
+ className: "saas-role-content"
850
+ }, renderContent())), /*#__PURE__*/React.createElement(Modal, {
851
+ title: getText('pisell2.saas.role.create-role'),
852
+ open: createModalVisible,
853
+ onOk: handleCreateRole,
854
+ onCancel: function onCancel() {
855
+ return setCreateModalVisible(false);
856
+ },
857
+ confirmLoading: createRoleLoading,
858
+ okText: getText('pisell2.saas.role.save'),
859
+ cancelText: getText('pisell2.saas.role.cancel'),
860
+ width: 600,
861
+ styles: {
862
+ header: {
863
+ padding: '0px 0px 8px 0px'
864
+ }
865
+ }
866
+ }, /*#__PURE__*/React.createElement(Form, {
867
+ form: createForm,
868
+ layout: "vertical",
869
+ size: "large"
870
+ }, /*#__PURE__*/React.createElement(Form.Item, {
871
+ label: getText('pisell2.saas.role.name'),
872
+ name: "name",
873
+ rules: [{
874
+ required: true,
875
+ message: getText('pisell2.saas.role.enter-role-name')
876
+ }]
877
+ }, /*#__PURE__*/React.createElement(BaseTranslation, {
878
+ placeholder: getText('pisell2.saas.role.enter-role-name'),
879
+ maxLength: 100
880
+ })), /*#__PURE__*/React.createElement(Form.Item, {
881
+ label: getText('pisell2.saas.role.code'),
882
+ name: "code",
883
+ rules: [{
884
+ required: true,
885
+ message: getText('pisell2.saas.role.enter-role-code')
886
+ }, {
887
+ pattern: /^[a-z0-9\-_.]+$/,
888
+ message: getText('pisell2.saas.role.role-code-format')
889
+ }],
890
+ extra: getText('pisell2.saas.role.role-code-format')
891
+ }, /*#__PURE__*/React.createElement(Input, {
892
+ placeholder: getText('pisell2.saas.role.enter-role-code')
893
+ })), /*#__PURE__*/React.createElement(Form.Item, {
894
+ label: getText('pisell2.saas.role.description'),
895
+ name: "description"
896
+ }, /*#__PURE__*/React.createElement(BaseTranslation, {
897
+ placeholder: getText('pisell2.saas.role.enter-role-description'),
898
+ type: "textarea",
899
+ rows: 4,
900
+ showCount: true,
901
+ maxLength: 500
902
+ })), /*#__PURE__*/React.createElement(Form.Item, {
903
+ label: getText('pisell2.saas.role.extension-table'),
904
+ name: ['metadata', 'extension_form_id'],
905
+ extra: getText('pisell2.saas.role.select-extension-table')
906
+ }, /*#__PURE__*/React.createElement(Select, {
907
+ placeholder: getText('pisell2.saas.role.select-extension-table'),
908
+ options: extensionTableOptions,
909
+ allowClear: true
910
+ })))), /*#__PURE__*/React.createElement(Modal, {
911
+ title: getText('pisell2.saas.role.edit-role'),
912
+ open: !!roleForEdit,
913
+ onOk: handleEditRole,
914
+ onCancel: function onCancel() {
915
+ return setRoleForEdit(null);
916
+ },
917
+ confirmLoading: updateRoleLoading,
918
+ okText: getText('pisell2.saas.role.save'),
919
+ cancelText: getText('pisell2.saas.role.cancel'),
920
+ width: 600,
921
+ styles: {
922
+ header: {
923
+ padding: '0px 0px 8px 0px'
924
+ }
925
+ }
926
+ }, /*#__PURE__*/React.createElement(Form, {
927
+ form: editForm,
928
+ layout: "vertical",
929
+ size: "large"
930
+ }, /*#__PURE__*/React.createElement(Form.Item, {
931
+ label: getText('pisell2.saas.role.name'),
932
+ name: "name",
933
+ rules: [{
934
+ required: true,
935
+ message: getText('pisell2.saas.role.enter-role-name')
936
+ }]
937
+ }, /*#__PURE__*/React.createElement(BaseTranslation, {
938
+ placeholder: getText('pisell2.saas.role.enter-role-name'),
939
+ maxLength: 100
940
+ })), /*#__PURE__*/React.createElement(Form.Item, {
941
+ label: getText('pisell2.saas.role.code'),
942
+ name: "code"
943
+ }, /*#__PURE__*/React.createElement(Input, {
944
+ placeholder: getText('pisell2.saas.role.enter-role-code'),
945
+ disabled: true
946
+ })), /*#__PURE__*/React.createElement(Form.Item, {
947
+ label: getText('pisell2.saas.role.description'),
948
+ name: "description"
949
+ }, /*#__PURE__*/React.createElement(BaseTranslation, {
950
+ placeholder: getText('pisell2.saas.role.enter-role-description'),
951
+ type: "textarea",
952
+ rows: 4,
953
+ showCount: true,
954
+ maxLength: 500
955
+ })), /*#__PURE__*/React.createElement(Form.Item, {
956
+ label: getText('pisell2.saas.role.extension-table'),
957
+ name: ['metadata', 'extension_form_id'],
958
+ extra: getText('pisell2.saas.role.select-extension-table')
959
+ }, /*#__PURE__*/React.createElement(Select, {
960
+ placeholder: getText('pisell2.saas.role.select-extension-table'),
961
+ options: extensionTableOptions,
962
+ allowClear: true,
963
+ showSearch: true,
964
+ optionFilterProp: "label",
965
+ filterSort: function filterSort(optionA, optionB) {
966
+ var _optionA$label, _optionB$label;
967
+ return ((_optionA$label = optionA === null || optionA === void 0 ? void 0 : optionA.label) !== null && _optionA$label !== void 0 ? _optionA$label : '').toLowerCase().localeCompare(((_optionB$label = optionB === null || optionB === void 0 ? void 0 : optionB.label) !== null && _optionB$label !== void 0 ? _optionB$label : '').toLowerCase());
968
+ }
969
+ })))), /*#__PURE__*/React.createElement(AntdDrawer, {
970
+ title: getText('pisell2.saas.role.add-members-to-role'),
971
+ open: addMemberDrawerVisible,
972
+ onClose: function onClose() {
973
+ return setAddMemberDrawerVisible(false);
974
+ },
975
+ width: 600,
976
+ footer: /*#__PURE__*/React.createElement("div", {
977
+ style: {
978
+ textAlign: 'right',
979
+ padding: '8px 0px'
980
+ }
981
+ }, /*#__PURE__*/React.createElement(Button, {
982
+ onClick: function onClick() {
983
+ return setAddMemberDrawerVisible(false);
984
+ },
985
+ style: {
986
+ marginRight: 8
987
+ }
988
+ }, getText('pisell2.saas.role.cancel')), /*#__PURE__*/React.createElement(Button, {
989
+ onClick: handleAddMembers,
990
+ type: "primary",
991
+ loading: updateRoleMembersLoading,
992
+ disabled: selectedMemberIds.length === 0
993
+ }, getText('pisell2.saas.role.add')))
994
+ }, /*#__PURE__*/React.createElement(Input, {
995
+ placeholder: getText('pisell2.saas.role.search'),
996
+ allowClear: true,
997
+ style: {
998
+ marginBottom: 16
999
+ },
1000
+ prefix: /*#__PURE__*/React.createElement(SearchOutlined, null),
1001
+ onChange: function onChange(e) {
1002
+ fetchAllMembers({
1003
+ page: 1,
1004
+ size: 100,
1005
+ search: e.target.value
1006
+ });
1007
+ }
1008
+ }), /*#__PURE__*/React.createElement(Table, {
1009
+ tableLayout: "fixed",
1010
+ columns: availableMemberColumns,
1011
+ dataSource: ((allMembersData === null || allMembersData === void 0 ? void 0 : allMembersData.list) || []).filter(function (m) {
1012
+ return !(membersData !== null && membersData !== void 0 && membersData.list.some(function (existing) {
1013
+ return existing.id === m.id;
1014
+ }));
1015
+ }),
1016
+ rowKey: "id",
1017
+ rowSelection: {
1018
+ preserveSelectedRowKeys: true,
1019
+ selectedRowKeys: selectedMemberIds,
1020
+ onChange: function onChange(selectedKeys) {
1021
+ setSelectedMemberIds(selectedKeys);
1022
+ console.log(selectedKeys);
1023
+ }
1024
+ },
1025
+ loading: allMembersLoading,
1026
+ pagination: false,
1027
+ size: "middle",
1028
+ bordered: false,
1029
+ locale: {
1030
+ emptyText: getText('pisell2.saas.role.all-members-in-role')
1031
+ }
1032
+ }))), /*#__PURE__*/React.createElement(ConfigProvider, {
1033
+ prefixCls: "pisell-lowcode"
1034
+ }, contextHolder));
1035
+ };
1036
+ export default SaasRole;