makerspace-react-rails 0.6.1 → 0.6.2

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 5991556465c9e5da05758cc401f03d7a1fd68e27df2bc5df92744031833a6caf
4
- data.tar.gz: '00407463852eea90f98fdd75c4c9af9a9e93f3df0d3a186ba0fcde8e5cb7d074'
3
+ metadata.gz: 6170752feb04dfcdee00d6e7cce2022bbde02b1e71cc55e595f36aec5b3efed1
4
+ data.tar.gz: bc1580e6fcfdee729d489c95c3fb500c7aa81e8ccc708fd26c3309de3f8d8c21
5
5
  SHA512:
6
- metadata.gz: 3f060295c3fc20474ce0527a0e7993f35bda8cac183ed7a0a0108b130cdb32e3dd63385f264f264c306ffc906734642280ac10542d399db9d2f9128ffdd747eb
7
- data.tar.gz: 5e6f095fb085960d48d2ccc68a444bc0af8910359c9e92ffce4eaaa9b5113eb00b1eb7bed7041d380c4ede49e998bb8f0fea196c653a86291dbb74c1b2d62248
6
+ metadata.gz: 0cc4a420d904223d1bd7d527665ad54434663559c8e1b8434150567e5b8b299263c83f8c14f0ea0418488a453acf022ece9c1b1c11c0d67334a2fee739ad2c22
7
+ data.tar.gz: 2651876529b32d6a656ef95bfc15b33a02e77a84f05cb4d7226eb091b38a8e0dbfc601cdc761836cded70ebcb6c8737dccabad512a1908ed12444af008f29f0c
@@ -1,7 +1,7 @@
1
1
  module Makerspace
2
2
  module React
3
3
  module Rails
4
- VERSION = "0.6.1"
4
+ VERSION = "0.6.2"
5
5
  end
6
6
  end
7
7
  end
@@ -37704,6 +37704,38 @@ exports.default = _default;
37704
37704
 
37705
37705
  /***/ }),
37706
37706
 
37707
+ /***/ "./node_modules/@material-ui/icons/FilterList.js":
37708
+ /*!*******************************************************!*\
37709
+ !*** ./node_modules/@material-ui/icons/FilterList.js ***!
37710
+ \*******************************************************/
37711
+ /*! no static exports found */
37712
+ /***/ (function(module, exports, __webpack_require__) {
37713
+
37714
+ "use strict";
37715
+
37716
+
37717
+ var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "./node_modules/@babel/runtime/helpers/interopRequireDefault.js");
37718
+
37719
+ Object.defineProperty(exports, "__esModule", {
37720
+ value: true
37721
+ });
37722
+ exports.default = void 0;
37723
+
37724
+ var _react = _interopRequireDefault(__webpack_require__(/*! react */ "./node_modules/react/index.js"));
37725
+
37726
+ var _createSvgIcon = _interopRequireDefault(__webpack_require__(/*! ./utils/createSvgIcon */ "./node_modules/@material-ui/icons/utils/createSvgIcon.js"));
37727
+
37728
+ var _default = (0, _createSvgIcon.default)(_react.default.createElement(_react.default.Fragment, null, _react.default.createElement("path", {
37729
+ d: "M10 18h4v-2h-4v2zM3 6v2h18V6H3zm3 7h12v-2H6v2z"
37730
+ }), _react.default.createElement("path", {
37731
+ fill: "none",
37732
+ d: "M0 0h24v24H0z"
37733
+ })), 'FilterList');
37734
+
37735
+ exports.default = _default;
37736
+
37737
+ /***/ }),
37738
+
37707
37739
  /***/ "./node_modules/@material-ui/icons/Menu.js":
37708
37740
  /*!*************************************************!*\
37709
37741
  !*** ./node_modules/@material-ui/icons/Menu.js ***!
@@ -102656,6 +102688,19 @@ var MemberRole;
102656
102688
  MemberRole["Admin"] = "admin";
102657
102689
  MemberRole["Member"] = "member";
102658
102690
  })(MemberRole = exports.MemberRole || (exports.MemberRole = {}));
102691
+ var PlanType;
102692
+ (function (PlanType) {
102693
+ PlanType["Membership"] = "membership";
102694
+ PlanType["Rental"] = "rental";
102695
+ })(PlanType = exports.PlanType || (exports.PlanType = {}));
102696
+ var SubscriptionStatus;
102697
+ (function (SubscriptionStatus) {
102698
+ SubscriptionStatus["Active"] = "Active";
102699
+ SubscriptionStatus["Canceled"] = "Canceled";
102700
+ SubscriptionStatus["PastDue"] = "PastDue";
102701
+ SubscriptionStatus["Pending"] = "Pending";
102702
+ SubscriptionStatus["Expired"] = "Expired";
102703
+ })(SubscriptionStatus = exports.SubscriptionStatus || (exports.SubscriptionStatus = {}));
102659
102704
  var TransactionStatus;
102660
102705
  (function (TransactionStatus) {
102661
102706
  TransactionStatus["Failed"] = "failed";
@@ -102677,23 +102722,23 @@ function adminListSubscriptions(params) {
102677
102722
  return exports.makeRequest("GET", "/admin/billing/subscriptions", params, "subscriptions");
102678
102723
  }
102679
102724
  exports.adminListSubscriptions = adminListSubscriptions;
102680
- function adminCancelSubscription(id) {
102681
- return exports.makeRequest("DELETE", "/admin/billing/subscriptions/{id}".replace("{id}", id));
102725
+ function adminCancelSubscription(params) {
102726
+ return exports.makeRequest("DELETE", "/admin/billing/subscriptions/{id}".replace("{id}", params.id));
102682
102727
  }
102683
102728
  exports.adminCancelSubscription = adminCancelSubscription;
102684
102729
  function adminListTransaction(params) {
102685
102730
  return exports.makeRequest("GET", "/admin/billing/transactions", params, "transactions");
102686
102731
  }
102687
102732
  exports.adminListTransaction = adminListTransaction;
102688
- function adminGetTransaction(id) {
102689
- return exports.makeRequest("GET", "/admin/billing/transactions/{id}".replace("{id}", id), undefined, "transaction");
102733
+ function adminGetTransaction(params) {
102734
+ return exports.makeRequest("GET", "/admin/billing/transactions/{id}".replace("{id}", params.id), undefined, "transaction");
102690
102735
  }
102691
102736
  exports.adminGetTransaction = adminGetTransaction;
102692
- function adminDeleteTransaction(id) {
102693
- return exports.makeRequest("DELETE", "/admin/billing/transactions/{id}".replace("{id}", id));
102737
+ function adminDeleteTransaction(params) {
102738
+ return exports.makeRequest("DELETE", "/admin/billing/transactions/{id}".replace("{id}", params.id));
102694
102739
  }
102695
102740
  exports.adminDeleteTransaction = adminDeleteTransaction;
102696
- function adminGetNewCard() {
102741
+ function adminGetNewCard(params) {
102697
102742
  return exports.makeRequest("GET", "/admin/cards/new", undefined, "card");
102698
102743
  }
102699
102744
  exports.adminGetNewCard = adminGetNewCard;
@@ -102701,148 +102746,148 @@ function adminListCards(params) {
102701
102746
  return exports.makeRequest("GET", "/admin/cards", params, "cards");
102702
102747
  }
102703
102748
  exports.adminListCards = adminListCards;
102704
- function adminCreateCard(createAccessCardDetails) {
102705
- return exports.makeRequest("POST", "/admin/cards", { card: createAccessCardDetails }, "card");
102749
+ function adminCreateCard(params) {
102750
+ return exports.makeRequest("POST", "/admin/cards", { card: params.createAccessCardDetails }, "card");
102706
102751
  }
102707
102752
  exports.adminCreateCard = adminCreateCard;
102708
- function adminUpdateCard(id, updateAccessCardDetails) {
102709
- return exports.makeRequest("PUT", "/admin/cards/{id}".replace("{id}", id), { card: updateAccessCardDetails }, "card");
102753
+ function adminUpdateCard(params) {
102754
+ return exports.makeRequest("PUT", "/admin/cards/{id}".replace("{id}", params.id), { card: params.updateAccessCardDetails }, "card");
102710
102755
  }
102711
102756
  exports.adminUpdateCard = adminUpdateCard;
102712
- function adminListEarnedMembershipReports(id, params) {
102713
- return exports.makeRequest("GET", "/admin/earned_memberships/{id}/reports".replace("{id}", id), params, "reports");
102757
+ function adminListEarnedMembershipReports(params) {
102758
+ return exports.makeRequest("GET", "/admin/earned_memberships/{id}/reports".replace("{id}", params.id), params, "reports");
102714
102759
  }
102715
102760
  exports.adminListEarnedMembershipReports = adminListEarnedMembershipReports;
102716
102761
  function adminListEarnedMemberships(params) {
102717
102762
  return exports.makeRequest("GET", "/admin/earned_memberships", params, "earnedMemberships");
102718
102763
  }
102719
102764
  exports.adminListEarnedMemberships = adminListEarnedMemberships;
102720
- function adminCreateEarnedMembership(createEarnedMembershipDetails) {
102721
- return exports.makeRequest("POST", "/admin/earned_memberships", { earnedMembership: createEarnedMembershipDetails }, "earnedMembership");
102765
+ function adminCreateEarnedMembership(params) {
102766
+ return exports.makeRequest("POST", "/admin/earned_memberships", { earnedMembership: params.createEarnedMembershipDetails }, "earnedMembership");
102722
102767
  }
102723
102768
  exports.adminCreateEarnedMembership = adminCreateEarnedMembership;
102724
- function adminGetEarnedMembership(id) {
102725
- return exports.makeRequest("GET", "/admin/earned_memberships/{id}".replace("{id}", id), undefined, "earnedMembership");
102769
+ function adminGetEarnedMembership(params) {
102770
+ return exports.makeRequest("GET", "/admin/earned_memberships/{id}".replace("{id}", params.id), undefined, "earnedMembership");
102726
102771
  }
102727
102772
  exports.adminGetEarnedMembership = adminGetEarnedMembership;
102728
- function adminUpdateEarnedMembership(id, updateEarnedMembershipDetails) {
102729
- return exports.makeRequest("PUT", "/admin/earned_memberships/{id}".replace("{id}", id), { earnedMembership: updateEarnedMembershipDetails }, "earnedMembership");
102773
+ function adminUpdateEarnedMembership(params) {
102774
+ return exports.makeRequest("PUT", "/admin/earned_memberships/{id}".replace("{id}", params.id), { earnedMembership: params.updateEarnedMembershipDetails }, "earnedMembership");
102730
102775
  }
102731
102776
  exports.adminUpdateEarnedMembership = adminUpdateEarnedMembership;
102732
- function adminCreateInvoiceOption(createInvoiceOptionDetails) {
102733
- return exports.makeRequest("POST", "/admin/invoice_options", { invoiceOption: createInvoiceOptionDetails }, "invoiceOption");
102777
+ function adminCreateInvoiceOption(params) {
102778
+ return exports.makeRequest("POST", "/admin/invoice_options", { invoiceOption: params.createInvoiceOptionDetails }, "invoiceOption");
102734
102779
  }
102735
102780
  exports.adminCreateInvoiceOption = adminCreateInvoiceOption;
102736
- function adminUpdateInvoiceOption(id, updateInvoiceOptionDetails) {
102737
- return exports.makeRequest("PUT", "/admin/invoice_options/{id}".replace("{id}", id), { invoiceOption: updateInvoiceOptionDetails }, "invoiceOption");
102781
+ function adminUpdateInvoiceOption(params) {
102782
+ return exports.makeRequest("PUT", "/admin/invoice_options/{id}".replace("{id}", params.id), { invoiceOption: params.updateInvoiceOptionDetails }, "invoiceOption");
102738
102783
  }
102739
102784
  exports.adminUpdateInvoiceOption = adminUpdateInvoiceOption;
102740
- function adminDeleteInvoiceOption(id) {
102741
- return exports.makeRequest("DELETE", "/admin/invoice_options/{id}".replace("{id}", id));
102785
+ function adminDeleteInvoiceOption(params) {
102786
+ return exports.makeRequest("DELETE", "/admin/invoice_options/{id}".replace("{id}", params.id));
102742
102787
  }
102743
102788
  exports.adminDeleteInvoiceOption = adminDeleteInvoiceOption;
102744
102789
  function adminListInvoices(params) {
102745
102790
  return exports.makeRequest("GET", "/admin/invoices", params, "invoices");
102746
102791
  }
102747
102792
  exports.adminListInvoices = adminListInvoices;
102748
- function adminCreateInvoices(createInvoiceDetails) {
102749
- return exports.makeRequest("POST", "/admin/invoices", { invoiceOption: createInvoiceDetails }, "invoice");
102793
+ function adminCreateInvoices(params) {
102794
+ return exports.makeRequest("POST", "/admin/invoices", { invoiceOption: params.createInvoiceDetails }, "invoice");
102750
102795
  }
102751
102796
  exports.adminCreateInvoices = adminCreateInvoices;
102752
- function adminUpdateInvoice(id, updateInvoiceDetails) {
102753
- return exports.makeRequest("PUT", "/admin/invoices/{id}".replace("{id}", id), { invoice: updateInvoiceDetails }, "invoice");
102797
+ function adminUpdateInvoice(params) {
102798
+ return exports.makeRequest("PUT", "/admin/invoices/{id}".replace("{id}", params.id), { invoice: params.updateInvoiceDetails }, "invoice");
102754
102799
  }
102755
102800
  exports.adminUpdateInvoice = adminUpdateInvoice;
102756
- function adminDeleteInvoice(id) {
102757
- return exports.makeRequest("DELETE", "/admin/invoices/{id}".replace("{id}", id));
102801
+ function adminDeleteInvoice(params) {
102802
+ return exports.makeRequest("DELETE", "/admin/invoices/{id}".replace("{id}", params.id));
102758
102803
  }
102759
102804
  exports.adminDeleteInvoice = adminDeleteInvoice;
102760
- function adminCreateMember(createMemberDetails) {
102761
- return exports.makeRequest("POST", "/admin/members", { member: createMemberDetails }, "member");
102805
+ function adminCreateMember(params) {
102806
+ return exports.makeRequest("POST", "/admin/members", { member: params.createMemberDetails }, "member");
102762
102807
  }
102763
102808
  exports.adminCreateMember = adminCreateMember;
102764
- function adminUpdateMember(id, updateMemberDetails) {
102765
- return exports.makeRequest("PUT", "/admin/members/{id}".replace("{id}", id), { member: updateMemberDetails }, "member");
102809
+ function adminUpdateMember(params) {
102810
+ return exports.makeRequest("PUT", "/admin/members/{id}".replace("{id}", params.id), { member: params.updateMemberDetails }, "member");
102766
102811
  }
102767
102812
  exports.adminUpdateMember = adminUpdateMember;
102768
102813
  function adminListRentals(params) {
102769
102814
  return exports.makeRequest("GET", "/admin/rentals", params, "rentals");
102770
102815
  }
102771
102816
  exports.adminListRentals = adminListRentals;
102772
- function adminCreateRental(createRentalDetails) {
102773
- return exports.makeRequest("POST", "/admin/rentals", { rental: createRentalDetails }, "rental");
102817
+ function adminCreateRental(params) {
102818
+ return exports.makeRequest("POST", "/admin/rentals", { rental: params.createRentalDetails }, "rental");
102774
102819
  }
102775
102820
  exports.adminCreateRental = adminCreateRental;
102776
- function adminUpdateRental(id, updateRentalDetails) {
102777
- return exports.makeRequest("PUT", "/admin/rentals/{id}".replace("{id}", id), { rental: updateRentalDetails }, "rental");
102821
+ function adminUpdateRental(params) {
102822
+ return exports.makeRequest("PUT", "/admin/rentals/{id}".replace("{id}", params.id), { rental: params.updateRentalDetails }, "rental");
102778
102823
  }
102779
102824
  exports.adminUpdateRental = adminUpdateRental;
102780
- function adminDeleteRental(id) {
102781
- return exports.makeRequest("DELETE", "/admin/rentals/{id}".replace("{id}", id));
102825
+ function adminDeleteRental(params) {
102826
+ return exports.makeRequest("DELETE", "/admin/rentals/{id}".replace("{id}", params.id));
102782
102827
  }
102783
102828
  exports.adminDeleteRental = adminDeleteRental;
102784
- function getNewPaymentMethod() {
102829
+ function getNewPaymentMethod(params) {
102785
102830
  return exports.makeRequest("GET", "/billing/payment_methods/new", undefined, "clientToken");
102786
102831
  }
102787
102832
  exports.getNewPaymentMethod = getNewPaymentMethod;
102788
- function listPaymentMethods() {
102833
+ function listPaymentMethods(params) {
102789
102834
  return exports.makeRequest("GET", "/billing/payment_methods", undefined, "paymentMethods");
102790
102835
  }
102791
102836
  exports.listPaymentMethods = listPaymentMethods;
102792
- function createPaymentMethod(createPaymentMethodDetails) {
102793
- return exports.makeRequest("POST", "/billing/payment_methods", { payment_method: createPaymentMethodDetails }, "paymentMethod");
102837
+ function createPaymentMethod(params) {
102838
+ return exports.makeRequest("POST", "/billing/payment_methods", { payment_method: params.createPaymentMethodDetails }, "paymentMethod");
102794
102839
  }
102795
102840
  exports.createPaymentMethod = createPaymentMethod;
102796
- function getPaymentMethod(id) {
102797
- return exports.makeRequest("GET", "/billing/payment_methods/{id}".replace("{id}", id), undefined, "paymentMethod");
102841
+ function getPaymentMethod(params) {
102842
+ return exports.makeRequest("GET", "/billing/payment_methods/{id}".replace("{id}", params.id), undefined, "paymentMethod");
102798
102843
  }
102799
102844
  exports.getPaymentMethod = getPaymentMethod;
102800
- function deletePaymentMethod(id) {
102801
- return exports.makeRequest("DELETE", "/billing/payment_methods/{id}".replace("{id}", id));
102845
+ function deletePaymentMethod(params) {
102846
+ return exports.makeRequest("DELETE", "/billing/payment_methods/{id}".replace("{id}", params.id));
102802
102847
  }
102803
102848
  exports.deletePaymentMethod = deletePaymentMethod;
102804
- function getReceipt(id) {
102805
- return exports.makeRequest("GET", "/billing/receipts/{id}".replace("{id}", id));
102849
+ function getReceipt(params) {
102850
+ return exports.makeRequest("GET", "/billing/receipts/{id}".replace("{id}", params.id));
102806
102851
  }
102807
102852
  exports.getReceipt = getReceipt;
102808
- function getSubscription(id) {
102809
- return exports.makeRequest("GET", "/billing/subscriptions/{id}".replace("{id}", id), undefined, "subscription");
102853
+ function getSubscription(params) {
102854
+ return exports.makeRequest("GET", "/billing/subscriptions/{id}".replace("{id}", params.id), undefined, "subscription");
102810
102855
  }
102811
102856
  exports.getSubscription = getSubscription;
102812
- function updateSubscription(id, updateSubscriptionDetails) {
102813
- return exports.makeRequest("PUT", "/billing/subscriptions/{id}".replace("{id}", id), { subscription: updateSubscriptionDetails }, "subscription");
102857
+ function updateSubscription(params) {
102858
+ return exports.makeRequest("PUT", "/billing/subscriptions/{id}".replace("{id}", params.id), { subscription: params.updateSubscriptionDetails }, "subscription");
102814
102859
  }
102815
102860
  exports.updateSubscription = updateSubscription;
102816
- function cancelSubscription(id) {
102817
- return exports.makeRequest("DELETE", "/billing/subscriptions/{id}".replace("{id}", id));
102861
+ function cancelSubscription(params) {
102862
+ return exports.makeRequest("DELETE", "/billing/subscriptions/{id}".replace("{id}", params.id));
102818
102863
  }
102819
102864
  exports.cancelSubscription = cancelSubscription;
102820
102865
  function listTransactions(params) {
102821
102866
  return exports.makeRequest("GET", "/billing/transactions", params, "transactions");
102822
102867
  }
102823
102868
  exports.listTransactions = listTransactions;
102824
- function createTransaction(createTransactionDetails) {
102825
- return exports.makeRequest("POST", "/billing/transactions", { transaction: createTransactionDetails }, "transaction");
102869
+ function createTransaction(params) {
102870
+ return exports.makeRequest("POST", "/billing/transactions", { transaction: params.createTransactionDetails }, "transaction");
102826
102871
  }
102827
102872
  exports.createTransaction = createTransaction;
102828
- function deleteTransaction(id) {
102829
- return exports.makeRequest("DELETE", "/billing/transactions/{id}".replace("{id}", id));
102873
+ function deleteTransaction(params) {
102874
+ return exports.makeRequest("DELETE", "/billing/transactions/{id}".replace("{id}", params.id));
102830
102875
  }
102831
102876
  exports.deleteTransaction = deleteTransaction;
102832
- function getDocument(id) {
102833
- return exports.makeRequest("GET", "/documents/{id}".replace("{id}", id));
102877
+ function getDocument(params) {
102878
+ return exports.makeRequest("GET", "/documents/{id}".replace("{id}", params.id), params);
102834
102879
  }
102835
102880
  exports.getDocument = getDocument;
102836
- function listEarnedMembershipReports(id, params) {
102837
- return exports.makeRequest("GET", "/earned_memberships/{id}/reports".replace("{id}", id), params, "reports");
102881
+ function listEarnedMembershipReports(params) {
102882
+ return exports.makeRequest("GET", "/earned_memberships/{id}/reports".replace("{id}", params.id), params, "reports");
102838
102883
  }
102839
102884
  exports.listEarnedMembershipReports = listEarnedMembershipReports;
102840
- function createEarnedMembershipReport(id, createEarnedMembershipReportDetails) {
102841
- return exports.makeRequest("POST", "/earned_memberships/{id}/reports".replace("{id}", id), { report: createEarnedMembershipReportDetails }, "report");
102885
+ function createEarnedMembershipReport(params) {
102886
+ return exports.makeRequest("POST", "/earned_memberships/{id}/reports".replace("{id}", params.id), { report: params.createEarnedMembershipReportDetails }, "report");
102842
102887
  }
102843
102888
  exports.createEarnedMembershipReport = createEarnedMembershipReport;
102844
- function getEarnedMembership(id) {
102845
- return exports.makeRequest("GET", "/earned_memberships/{id}".replace("{id}", id), undefined, "earnedMembership");
102889
+ function getEarnedMembership(params) {
102890
+ return exports.makeRequest("GET", "/earned_memberships/{id}".replace("{id}", params.id), undefined, "earnedMembership");
102846
102891
  }
102847
102892
  exports.getEarnedMembership = getEarnedMembership;
102848
102893
  function listInvoiceOptions(params) {
@@ -102853,60 +102898,60 @@ function listInvoices(params) {
102853
102898
  return exports.makeRequest("GET", "/invoices", params, "invoices");
102854
102899
  }
102855
102900
  exports.listInvoices = listInvoices;
102856
- function createInvoice(createInvoiceDetails) {
102857
- return exports.makeRequest("POST", "/invoices", { invoiceOption: createInvoiceDetails }, "invoice");
102901
+ function createInvoice(params) {
102902
+ return exports.makeRequest("POST", "/invoices", { invoiceOption: params.createInvoiceDetails }, "invoice");
102858
102903
  }
102859
102904
  exports.createInvoice = createInvoice;
102860
- function listMembersPermissions(id) {
102861
- return exports.makeRequest("GET", "/members/{id}/permissions".replace("{id}", id), undefined, "permissions");
102905
+ function listMembersPermissions(params) {
102906
+ return exports.makeRequest("GET", "/members/{id}/permissions".replace("{id}", params.id), undefined, "permissions");
102862
102907
  }
102863
102908
  exports.listMembersPermissions = listMembersPermissions;
102864
102909
  function listMembers(params) {
102865
102910
  return exports.makeRequest("GET", "/members", params, "members");
102866
102911
  }
102867
102912
  exports.listMembers = listMembers;
102868
- function registerMember(registerMemberDetails) {
102869
- return exports.makeRequest("POST", "/members", { member: registerMemberDetails }, "member");
102913
+ function registerMember(params) {
102914
+ return exports.makeRequest("POST", "/members", { member: params.registerMemberDetails }, "member");
102870
102915
  }
102871
102916
  exports.registerMember = registerMember;
102872
- function getMember(id) {
102873
- return exports.makeRequest("GET", "/members/{id}".replace("{id}", id), undefined, "member");
102917
+ function getMember(params) {
102918
+ return exports.makeRequest("GET", "/members/{id}".replace("{id}", params.id), undefined, "member");
102874
102919
  }
102875
102920
  exports.getMember = getMember;
102876
- function updateMember(id, updateMemberDetails) {
102877
- return exports.makeRequest("PUT", "/members/{id}".replace("{id}", id), { member: updateMemberDetails }, "member");
102921
+ function updateMember(params) {
102922
+ return exports.makeRequest("PUT", "/members/{id}".replace("{id}", params.id), { member: params.updateMemberDetails }, "member");
102878
102923
  }
102879
102924
  exports.updateMember = updateMember;
102880
- function signIn(signInDetails) {
102881
- return exports.makeRequest("POST", "/members/sign_in", { member: signInDetails }, "member");
102925
+ function signIn(params) {
102926
+ return exports.makeRequest("POST", "/members/sign_in", { member: params.signInDetails }, "member");
102882
102927
  }
102883
102928
  exports.signIn = signIn;
102884
- function signOut() {
102929
+ function signOut(params) {
102885
102930
  return exports.makeRequest("DELETE", "/members/sign_out");
102886
102931
  }
102887
102932
  exports.signOut = signOut;
102888
- function requestPasswordReset(passwordResetDetails) {
102889
- return exports.makeRequest("POST", "/members/password", { member: passwordResetDetails });
102933
+ function requestPasswordReset(params) {
102934
+ return exports.makeRequest("POST", "/members/password", { member: params.passwordResetDetails });
102890
102935
  }
102891
102936
  exports.requestPasswordReset = requestPasswordReset;
102892
- function resetPassword(passwordResetDetails) {
102893
- return exports.makeRequest("PUT", "/members/password", { member: passwordResetDetails });
102937
+ function resetPassword(params) {
102938
+ return exports.makeRequest("PUT", "/members/password", { member: params.passwordResetDetails });
102894
102939
  }
102895
102940
  exports.resetPassword = resetPassword;
102896
- function sendRegistrationEmail(registrationEmailDetails) {
102897
- return exports.makeRequest("POST", "/send_registration", { email: registrationEmailDetails });
102941
+ function sendRegistrationEmail(params) {
102942
+ return exports.makeRequest("POST", "/send_registration", { email: params.registrationEmailDetails });
102898
102943
  }
102899
102944
  exports.sendRegistrationEmail = sendRegistrationEmail;
102900
102945
  function listRentals(params) {
102901
102946
  return exports.makeRequest("GET", "/rentals", params, "rentals");
102902
102947
  }
102903
102948
  exports.listRentals = listRentals;
102904
- function getRental(id) {
102905
- return exports.makeRequest("GET", "/rentals/{id}".replace("{id}", id), undefined, "rental");
102949
+ function getRental(params) {
102950
+ return exports.makeRequest("GET", "/rentals/{id}".replace("{id}", params.id), undefined, "rental");
102906
102951
  }
102907
102952
  exports.getRental = getRental;
102908
- function updateRental(id, updateRentalDetails) {
102909
- return exports.makeRequest("PUT", "/rentals/{id}".replace("{id}", id), { rental: updateRentalDetails }, "rental");
102953
+ function updateRental(params) {
102954
+ return exports.makeRequest("PUT", "/rentals/{id}".replace("{id}", params.id), { rental: params.updateRentalDetails }, "rental");
102910
102955
  }
102911
102956
  exports.updateRental = updateRental;
102912
102957
  //# sourceMappingURL=apiClient.js.map
@@ -187595,12 +187640,16 @@ const AccessCardForm = ({
187595
187640
  error: newCardError,
187596
187641
  refresh: getNewCard,
187597
187642
  data: rejectionCard
187598
- } = Object(ui_hooks_useReadTransaction__WEBPACK_IMPORTED_MODULE_6__["default"])(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_3__["adminGetNewCard"], [memberId]);
187643
+ } = Object(ui_hooks_useReadTransaction__WEBPACK_IMPORTED_MODULE_6__["default"])(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_3__["adminGetNewCard"], {
187644
+ uid: memberId
187645
+ });
187599
187646
  const {
187600
187647
  isRequesting: memberLoading,
187601
187648
  refresh: refreshMember,
187602
187649
  data: member = {}
187603
- } = Object(ui_hooks_useReadTransaction__WEBPACK_IMPORTED_MODULE_6__["default"])(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_3__["getMember"], memberId);
187650
+ } = Object(ui_hooks_useReadTransaction__WEBPACK_IMPORTED_MODULE_6__["default"])(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_3__["getMember"], {
187651
+ id: memberId
187652
+ });
187604
187653
  const onSuccess = react__WEBPACK_IMPORTED_MODULE_0__["useCallback"](({
187605
187654
  reset
187606
187655
  }) => {
@@ -187621,8 +187670,10 @@ const AccessCardForm = ({
187621
187670
  }
187622
187671
 
187623
187672
  createCard({
187624
- memberId: member.id,
187625
- uid: rejectionCard.uid
187673
+ createAccessCardDetails: {
187674
+ memberId: member.id,
187675
+ uid: rejectionCard.uid
187676
+ }
187626
187677
  });
187627
187678
  }, [rejectionCard, createCard, setError, member.id]);
187628
187679
  return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react__WEBPACK_IMPORTED_MODULE_0__["Fragment"], null, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_common_ButtonRow__WEBPACK_IMPORTED_MODULE_8__["ActionButton"], {
@@ -187701,12 +187752,7 @@ __webpack_require__.r(__webpack_exports__);
187701
187752
  /* harmony import */ var _react_svg_loader_assets_FilledLaserableLogo_svg__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! -!react-svg-loader!assets/FilledLaserableLogo.svg */ "./node_modules/react-svg-loader/lib/loader.js!./src/assets/FilledLaserableLogo.svg");
187702
187753
  /* harmony import */ var app_constants__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! app/constants */ "./src/app/constants.ts");
187703
187754
  /* harmony import */ var ui_membership_MembershipSelectForm__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ui/membership/MembershipSelectForm */ "./src/ui/membership/MembershipSelectForm.tsx");
187704
- /* harmony import */ var makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! makerspace-ts-api-client */ "./node_modules/makerspace-ts-api-client/dist/apiClient.js");
187705
- /* harmony import */ var makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_10__);
187706
- /* harmony import */ var ui_hooks_useReadTransaction__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ui/hooks/useReadTransaction */ "./src/ui/hooks/useReadTransaction.ts");
187707
- /* harmony import */ var app_entities_invoice__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! app/entities/invoice */ "./src/app/entities/invoice.ts");
187708
-
187709
-
187755
+ /* harmony import */ var _membership_InvoicingGate__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../membership/InvoicingGate */ "./src/ui/membership/InvoicingGate.tsx");
187710
187756
 
187711
187757
 
187712
187758
 
@@ -187738,13 +187784,7 @@ const LandingPage = () => {
187738
187784
  pathname: app_constants__WEBPACK_IMPORTED_MODULE_8__["Routing"].SignUp
187739
187785
  });
187740
187786
  }
187741
- }, [history, search]); // TODO: Remove this when all invoicing released globally
187742
-
187743
- const {
187744
- data: options = []
187745
- } = Object(ui_hooks_useReadTransaction__WEBPACK_IMPORTED_MODULE_11__["default"])(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_10__["listInvoiceOptions"], {
187746
- types: [app_entities_invoice__WEBPACK_IMPORTED_MODULE_12__["InvoiceableResource"].Membership]
187747
- });
187787
+ }, [history, search]);
187748
187788
  return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_Grid__WEBPACK_IMPORTED_MODULE_2___default.a, {
187749
187789
  container: true,
187750
187790
  spacing: 24,
@@ -187781,7 +187821,7 @@ const LandingPage = () => {
187781
187821
  container: true,
187782
187822
  spacing: 24,
187783
187823
  justify: "center"
187784
- }, options.length ? react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_Grid__WEBPACK_IMPORTED_MODULE_2___default.a, {
187824
+ }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_membership_InvoicingGate__WEBPACK_IMPORTED_MODULE_10__["default"], null, open => open ? react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_Grid__WEBPACK_IMPORTED_MODULE_2___default.a, {
187785
187825
  item: true,
187786
187826
  xs: 12
187787
187827
  }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_Typography__WEBPACK_IMPORTED_MODULE_6___default.a, {
@@ -187802,7 +187842,7 @@ const LandingPage = () => {
187802
187842
  color: "secondary",
187803
187843
  fullWidth: true,
187804
187844
  onClick: () => goToSignup()
187805
- }, "Register")))))));
187845
+ }, "Register"))))))));
187806
187846
  };
187807
187847
 
187808
187848
  /* harmony default export */ __webpack_exports__["default"] = (LandingPage);
@@ -187891,7 +187931,9 @@ class LoginForm extends react__WEBPACK_IMPORTED_MODULE_0__["Component"] {
187891
187931
  requestingPassword: true
187892
187932
  }, async () => {
187893
187933
  const response = await Object(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_13__["requestPasswordReset"])({
187894
- email
187934
+ passwordResetDetails: {
187935
+ email
187936
+ }
187895
187937
  });
187896
187938
 
187897
187939
  if (Object(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_13__["isApiErrorResponse"])(response)) {
@@ -188251,8 +188293,10 @@ class PasswordReset extends react__WEBPACK_IMPORTED_MODULE_0__["Component"] {
188251
188293
  }); // Successfully changing password counts as auth action for Devise
188252
188294
 
188253
188295
  const passwordReset = await Object(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_14__["resetPassword"])({
188254
- resetPasswordToken: passwordToken,
188255
- password
188296
+ passwordResetDetails: {
188297
+ resetPasswordToken: passwordToken,
188298
+ password
188299
+ }
188256
188300
  });
188257
188301
 
188258
188302
  if (Object(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_14__["isApiErrorResponse"])(passwordReset)) {
@@ -188475,9 +188519,7 @@ __webpack_require__.r(__webpack_exports__);
188475
188519
  /* harmony import */ var _reducer_hooks__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../reducer/hooks */ "./src/ui/reducer/hooks.ts");
188476
188520
  /* harmony import */ var _hooks_useWriteTransaction__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../hooks/useWriteTransaction */ "./src/ui/hooks/useWriteTransaction.ts");
188477
188521
  /* harmony import */ var ui_membership_MembershipSelectForm__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ui/membership/MembershipSelectForm */ "./src/ui/membership/MembershipSelectForm.tsx");
188478
- /* harmony import */ var ui_hooks_useReadTransaction__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ui/hooks/useReadTransaction */ "./src/ui/hooks/useReadTransaction.ts");
188479
- /* harmony import */ var app_entities_invoice__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! app/entities/invoice */ "./src/app/entities/invoice.ts");
188480
-
188522
+ /* harmony import */ var _membership_InvoicingGate__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ../membership/InvoicingGate */ "./src/ui/membership/InvoicingGate.tsx");
188481
188523
 
188482
188524
 
188483
188525
 
@@ -188536,7 +188578,9 @@ const SignUpFormComponent = () => {
188536
188578
  await dispatch(Object(_actions__WEBPACK_IMPORTED_MODULE_17__["submitSignUpAction"])(validSignUp));
188537
188579
 
188538
188580
  if (option) {
188539
- await buildInvoice(option);
188581
+ await buildInvoice({
188582
+ createInvoiceDetails: option
188583
+ });
188540
188584
  }
188541
188585
  }, [option]);
188542
188586
  react__WEBPACK_IMPORTED_MODULE_0__["useEffect"](() => {
@@ -188553,13 +188597,7 @@ const SignUpFormComponent = () => {
188553
188597
  discountId,
188554
188598
  id: option.id
188555
188599
  });
188556
- }, [setOption]); // TODO: Remove this when all invoicing released globally
188557
-
188558
- const {
188559
- data: options = []
188560
- } = Object(ui_hooks_useReadTransaction__WEBPACK_IMPORTED_MODULE_21__["default"])(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_10__["listInvoiceOptions"], {
188561
- types: [app_entities_invoice__WEBPACK_IMPORTED_MODULE_22__["InvoiceableResource"].Membership]
188562
- });
188600
+ }, [setOption]);
188563
188601
  return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react__WEBPACK_IMPORTED_MODULE_0__["Fragment"], null, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_Grid__WEBPACK_IMPORTED_MODULE_4___default.a, {
188564
188602
  container: true,
188565
188603
  justify: "center",
@@ -188640,13 +188678,13 @@ const SignUpFormComponent = () => {
188640
188678
  onClick: toggleMask
188641
188679
  }))
188642
188680
  }
188643
- })), options.length && react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_Grid__WEBPACK_IMPORTED_MODULE_4___default.a, {
188681
+ })), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_membership_InvoicingGate__WEBPACK_IMPORTED_MODULE_21__["default"], null, open => open && react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_Grid__WEBPACK_IMPORTED_MODULE_4___default.a, {
188644
188682
  item: true,
188645
188683
  xs: 12
188646
188684
  }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](ui_membership_MembershipSelectForm__WEBPACK_IMPORTED_MODULE_20__["default"], {
188647
188685
  onSelect: selectMembership,
188648
188686
  allowNone: true
188649
- })), !isRequesting && error && react__WEBPACK_IMPORTED_MODULE_0__["createElement"](ui_common_ErrorMessage__WEBPACK_IMPORTED_MODULE_12__["default"], {
188687
+ }))), !isRequesting && error && react__WEBPACK_IMPORTED_MODULE_0__["createElement"](ui_common_ErrorMessage__WEBPACK_IMPORTED_MODULE_12__["default"], {
188650
188688
  id: `${ui_auth_constants__WEBPACK_IMPORTED_MODULE_11__["signUpPrefix"]}-error`,
188651
188689
  error: error
188652
188690
  })))))), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_Grid__WEBPACK_IMPORTED_MODULE_4___default.a, {
@@ -188692,9 +188730,11 @@ __webpack_require__.r(__webpack_exports__);
188692
188730
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "submitSignUpAction", function() { return submitSignUpAction; });
188693
188731
  /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "authReducer", function() { return authReducer; });
188694
188732
  /* harmony import */ var ui_auth_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ui/auth/constants */ "./src/ui/auth/constants.ts");
188695
- /* harmony import */ var ui_member_utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ui/member/utils */ "./src/ui/member/utils.ts");
188696
- /* harmony import */ var makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! makerspace-ts-api-client */ "./node_modules/makerspace-ts-api-client/dist/apiClient.js");
188697
- /* harmony import */ var makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_2__);
188733
+ /* harmony import */ var ui_reducer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ui/reducer */ "./src/ui/reducer.ts");
188734
+ /* harmony import */ var ui_member_utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ui/member/utils */ "./src/ui/member/utils.ts");
188735
+ /* harmony import */ var makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! makerspace-ts-api-client */ "./node_modules/makerspace-ts-api-client/dist/apiClient.js");
188736
+ /* harmony import */ var makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_3__);
188737
+ /* harmony import */ var _checkout_cart__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../checkout/cart */ "./src/ui/checkout/cart.ts");
188698
188738
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
188699
188739
 
188700
188740
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
@@ -188705,17 +188745,21 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
188705
188745
 
188706
188746
 
188707
188747
 
188748
+
188749
+
188708
188750
  const handleAuthWithPermissions = async (response, dispatch, ignoreError = false) => {
188709
- if (Object(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_2__["isApiErrorResponse"])(response)) {
188751
+ if (Object(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_3__["isApiErrorResponse"])(response)) {
188710
188752
  dispatch({
188711
188753
  type: ui_auth_constants__WEBPACK_IMPORTED_MODULE_0__["Action"].AuthUserFailure,
188712
188754
  error: ignoreError ? undefined : response.error.message
188713
188755
  });
188714
188756
  } else {
188715
188757
  const member = response.data;
188716
- const permissionsResponse = await Object(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_2__["listMembersPermissions"])(member.id);
188758
+ const permissionsResponse = await Object(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_3__["listMembersPermissions"])({
188759
+ id: member.id
188760
+ });
188717
188761
 
188718
- if (Object(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_2__["isApiErrorResponse"])(permissionsResponse)) {
188762
+ if (Object(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_3__["isApiErrorResponse"])(permissionsResponse)) {
188719
188763
  dispatch({
188720
188764
  type: ui_auth_constants__WEBPACK_IMPORTED_MODULE_0__["Action"].AuthUserFailure,
188721
188765
  error: permissionsResponse.error.message
@@ -188737,14 +188781,17 @@ const loginUserAction = loginForm => async dispatch => {
188737
188781
  dispatch({
188738
188782
  type: ui_auth_constants__WEBPACK_IMPORTED_MODULE_0__["Action"].StartAuthRequest
188739
188783
  });
188740
- const response = await Object(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_2__["signIn"])(loginForm);
188784
+ const response = await Object(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_3__["signIn"])({
188785
+ signInDetails: loginForm
188786
+ });
188741
188787
  await handleAuthWithPermissions(response, dispatch);
188742
188788
  };
188743
188789
  const sessionLoginUserAction = () => async dispatch => {
188744
188790
  dispatch({
188745
188791
  type: ui_auth_constants__WEBPACK_IMPORTED_MODULE_0__["Action"].StartAuthRequest
188746
- });
188747
- const response = await Object(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_2__["signIn"])();
188792
+ }); // TODO: SignIn fn fails if no params provided
188793
+
188794
+ const response = await Object(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_3__["signIn"])({});
188748
188795
  await handleAuthWithPermissions(response, dispatch, true);
188749
188796
  };
188750
188797
  const refreshUserAction = sessionLoginUserAction;
@@ -188752,8 +188799,13 @@ const logoutUserAction = () => async dispatch => {
188752
188799
  dispatch({
188753
188800
  type: ui_auth_constants__WEBPACK_IMPORTED_MODULE_0__["Action"].StartAuthRequest
188754
188801
  });
188755
- await Object(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_2__["signOut"])(); // TODO Reset stores
188756
-
188802
+ await Object(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_3__["signOut"])();
188803
+ dispatch({
188804
+ type: ui_reducer__WEBPACK_IMPORTED_MODULE_1__["TransactionAction"].Reset
188805
+ });
188806
+ dispatch({
188807
+ type: _checkout_cart__WEBPACK_IMPORTED_MODULE_4__["CartAction"].EmptyCart
188808
+ });
188757
188809
  dispatch({
188758
188810
  type: ui_auth_constants__WEBPACK_IMPORTED_MODULE_0__["Action"].LogoutSuccess
188759
188811
  });
@@ -188762,7 +188814,9 @@ const submitSignUpAction = signUpForm => async dispatch => {
188762
188814
  dispatch({
188763
188815
  type: ui_auth_constants__WEBPACK_IMPORTED_MODULE_0__["Action"].StartAuthRequest
188764
188816
  });
188765
- const response = await Object(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_2__["registerMember"])(signUpForm);
188817
+ const response = await Object(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_3__["registerMember"])({
188818
+ registerMemberDetails: signUpForm
188819
+ });
188766
188820
  await handleAuthWithPermissions(response, dispatch);
188767
188821
  };
188768
188822
  const defaultState = {
@@ -188794,7 +188848,7 @@ const authReducer = (state = defaultState, action) => {
188794
188848
  } = action;
188795
188849
  return _objectSpread({}, state, {
188796
188850
  currentUser: _objectSpread({}, member, {
188797
- isAdmin: Object(ui_member_utils__WEBPACK_IMPORTED_MODULE_1__["memberIsAdmin"])(member)
188851
+ isAdmin: Object(ui_member_utils__WEBPACK_IMPORTED_MODULE_2__["memberIsAdmin"])(member)
188798
188852
  }),
188799
188853
  permissions,
188800
188854
  isRequesting: false,
@@ -190160,7 +190214,9 @@ const createBillingAction = invoiceForm => async dispatch => {
190160
190214
  dispatch({
190161
190215
  type: ui_billing_constants__WEBPACK_IMPORTED_MODULE_1__["Action"].StartCreateRequest
190162
190216
  });
190163
- const result = await Object(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_2__["adminCreateInvoiceOption"])(invoiceForm);
190217
+ const result = await Object(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_2__["adminCreateInvoiceOption"])({
190218
+ createInvoiceOptionDetails: invoiceForm
190219
+ });
190164
190220
 
190165
190221
  if (Object(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_2__["isApiErrorResponse"])(result)) {
190166
190222
  dispatch({
@@ -190177,7 +190233,10 @@ const updateBillingAction = (invoiceOptionId, updateDetails) => async dispatch =
190177
190233
  dispatch({
190178
190234
  type: ui_billing_constants__WEBPACK_IMPORTED_MODULE_1__["Action"].StartUpdateRequest
190179
190235
  });
190180
- const result = await Object(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_2__["adminUpdateInvoiceOption"])(invoiceOptionId, updateDetails);
190236
+ const result = await Object(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_2__["adminUpdateInvoiceOption"])({
190237
+ id: invoiceOptionId,
190238
+ updateInvoiceOptionDetails: updateDetails
190239
+ });
190181
190240
 
190182
190241
  if (Object(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_2__["isApiErrorResponse"])(result)) {
190183
190242
  dispatch({
@@ -190195,7 +190254,9 @@ const deleteBillingAction = invoiceOptionId => async dispatch => {
190195
190254
  dispatch({
190196
190255
  type: ui_billing_constants__WEBPACK_IMPORTED_MODULE_1__["Action"].StartDeleteRequest
190197
190256
  });
190198
- const result = await Object(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_2__["adminDeleteInvoiceOption"])(invoiceOptionId);
190257
+ const result = await Object(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_2__["adminDeleteInvoiceOption"])({
190258
+ id: invoiceOptionId
190259
+ });
190199
190260
 
190200
190261
  if (Object(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_2__["isApiErrorResponse"])(result)) {
190201
190262
  dispatch({
@@ -190544,8 +190605,7 @@ const CartList = ({
190544
190605
  react__WEBPACK_IMPORTED_MODULE_0__["useEffect"](() => {
190545
190606
  !item && history.push(Object(_member_utils__WEBPACK_IMPORTED_MODULE_15__["buildProfileRouting"])(currentUserId));
190546
190607
  return emptyCart;
190547
- }, []); // TODO: Update this when you update writeTransaction
190548
-
190608
+ }, []);
190549
190609
  const onSuccess = react__WEBPACK_IMPORTED_MODULE_0__["useCallback"](({
190550
190610
  response: {
190551
190611
  data: transaction
@@ -190604,15 +190664,17 @@ const CartList = ({
190604
190664
  return;
190605
190665
  }
190606
190666
 
190607
- call(_objectSpread({}, Object(_cart__WEBPACK_IMPORTED_MODULE_13__["isInvoiceSelection"])(item) ? {
190608
- invoiceId: item.id
190609
- } : _objectSpread({
190610
- invoiceOptionId: item.id
190611
- }, item.discountId && {
190612
- discountId: item.discountId
190613
- }), {
190614
- paymentMethodId
190615
- }));
190667
+ call({
190668
+ createTransactionDetails: _objectSpread({}, Object(_cart__WEBPACK_IMPORTED_MODULE_13__["isInvoiceSelection"])(item) ? {
190669
+ invoiceId: item.id
190670
+ } : _objectSpread({
190671
+ invoiceOptionId: item.id
190672
+ }, item.discountId && {
190673
+ discountId: item.discountId
190674
+ }), {
190675
+ paymentMethodId
190676
+ })
190677
+ });
190616
190678
  }, [call, item, paymentMethodId]);
190617
190679
 
190618
190680
  if (!item) {
@@ -190903,8 +190965,10 @@ class CreditCardForm extends react__WEBPACK_IMPORTED_MODULE_0__["Component"] {
190903
190965
  toggleLoading(false);
190904
190966
  } else {
190905
190967
  const result = await Object(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_7__["createPaymentMethod"])({
190906
- payment_method_nonce: payload.nonce,
190907
- make_default: true
190968
+ createPaymentMethodDetails: {
190969
+ payment_method_nonce: payload.nonce,
190970
+ make_default: true
190971
+ }
190908
190972
  });
190909
190973
 
190910
190974
  if (Object(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_7__["isApiErrorResponse"])(result)) {
@@ -191482,7 +191546,9 @@ class PaymentMethodsContainer extends react__WEBPACK_IMPORTED_MODULE_0__["Compon
191482
191546
  this.setState({
191483
191547
  isDeleting: true
191484
191548
  });
191485
- const result = await Object(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_13__["deletePaymentMethod"])(selectedPaymentMethodId);
191549
+ const result = await Object(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_13__["deletePaymentMethod"])({
191550
+ id: selectedPaymentMethodId
191551
+ });
191486
191552
 
191487
191553
  if (Object(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_13__["isApiErrorResponse"])(result)) {
191488
191554
  this.setState({
@@ -191686,8 +191752,10 @@ class PaypalButton extends react__WEBPACK_IMPORTED_MODULE_0__["Component"] {
191686
191752
  client: braintreeInstance
191687
191753
  }, (paypalCheckoutErr, paypalCheckoutInstance) => {
191688
191754
  if (paypalCheckoutErr) throw paypalCheckoutErr;
191755
+ const env = false ? undefined : "sandbox";
191756
+ console.log("Loading PayPal env", env);
191689
191757
  paypal_checkout__WEBPACK_IMPORTED_MODULE_4__["Button"].render({
191690
- env: false ? undefined : "sandbox",
191758
+ env,
191691
191759
  payment: () => {
191692
191760
  return paypalCheckoutInstance.createPayment({
191693
191761
  flow: 'vault'
@@ -191702,8 +191770,10 @@ class PaypalButton extends react__WEBPACK_IMPORTED_MODULE_0__["Component"] {
191702
191770
 
191703
191771
  try {
191704
191772
  await Object(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_8__["createPaymentMethod"])({
191705
- payment_method_nonce: payload.nonce,
191706
- make_default: true
191773
+ createPaymentMethodDetails: {
191774
+ payment_method_nonce: payload.nonce,
191775
+ make_default: true
191776
+ }
191707
191777
  });
191708
191778
  this.props.paymentMethodCallback && this.props.paymentMethodCallback(payload.nonce);
191709
191779
  } catch (e) {
@@ -192309,6 +192379,168 @@ const ErrorMessage = props => {
192309
192379
 
192310
192380
  /***/ }),
192311
192381
 
192382
+ /***/ "./src/ui/common/FilterButton.tsx":
192383
+ /*!****************************************!*\
192384
+ !*** ./src/ui/common/FilterButton.tsx ***!
192385
+ \****************************************/
192386
+ /*! exports provided: default, withFilterButton */
192387
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
192388
+
192389
+ "use strict";
192390
+ __webpack_require__.r(__webpack_exports__);
192391
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "withFilterButton", function() { return withFilterButton; });
192392
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js");
192393
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
192394
+ /* harmony import */ var _material_ui_icons_FilterList__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @material-ui/icons/FilterList */ "./node_modules/@material-ui/icons/FilterList.js");
192395
+ /* harmony import */ var _material_ui_icons_FilterList__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_material_ui_icons_FilterList__WEBPACK_IMPORTED_MODULE_1__);
192396
+ /* harmony import */ var _material_ui_core_Button__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @material-ui/core/Button */ "./node_modules/@material-ui/core/Button/index.js");
192397
+ /* harmony import */ var _material_ui_core_Button__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_material_ui_core_Button__WEBPACK_IMPORTED_MODULE_2__);
192398
+ /* harmony import */ var _material_ui_core_Drawer__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @material-ui/core/Drawer */ "./node_modules/@material-ui/core/Drawer/index.js");
192399
+ /* harmony import */ var _material_ui_core_Drawer__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_material_ui_core_Drawer__WEBPACK_IMPORTED_MODULE_3__);
192400
+ /* harmony import */ var _hooks_useModal__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../hooks/useModal */ "./src/ui/hooks/useModal.ts");
192401
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
192402
+
192403
+
192404
+
192405
+
192406
+
192407
+
192408
+
192409
+ const FilterButton = ({
192410
+ children,
192411
+ label = "Filters"
192412
+ }) => {
192413
+ const {
192414
+ isOpen,
192415
+ openModal,
192416
+ closeModal
192417
+ } = Object(_hooks_useModal__WEBPACK_IMPORTED_MODULE_4__["default"])();
192418
+ return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react__WEBPACK_IMPORTED_MODULE_0__["Fragment"], null, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_Button__WEBPACK_IMPORTED_MODULE_2___default.a, {
192419
+ variant: "contained",
192420
+ color: "default",
192421
+ onClick: openModal
192422
+ }, label, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_icons_FilterList__WEBPACK_IMPORTED_MODULE_1___default.a, null)), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_Drawer__WEBPACK_IMPORTED_MODULE_3___default.a, {
192423
+ anchor: "right",
192424
+ open: isOpen,
192425
+ onClose: closeModal
192426
+ }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("div", {
192427
+ role: "presentation",
192428
+ style: {
192429
+ margin: "2em"
192430
+ }
192431
+ }, children(closeModal))));
192432
+ };
192433
+
192434
+ /* harmony default export */ __webpack_exports__["default"] = (FilterButton);
192435
+ const withFilterButton = (Component, label) => props => react__WEBPACK_IMPORTED_MODULE_0__["createElement"](FilterButton, {
192436
+ label: label
192437
+ }, close => react__WEBPACK_IMPORTED_MODULE_0__["createElement"](Component, _extends({
192438
+ close: close
192439
+ }, props)));
192440
+
192441
+ /***/ }),
192442
+
192443
+ /***/ "./src/ui/common/Filters/QueryContext.tsx":
192444
+ /*!************************************************!*\
192445
+ !*** ./src/ui/common/Filters/QueryContext.tsx ***!
192446
+ \************************************************/
192447
+ /*! exports provided: QueryContextConsumer, QueryContextProvider, withQueryContext, useQueryContext */
192448
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
192449
+
192450
+ "use strict";
192451
+ __webpack_require__.r(__webpack_exports__);
192452
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "QueryContextConsumer", function() { return QueryContextConsumer; });
192453
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "QueryContextProvider", function() { return QueryContextProvider; });
192454
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "withQueryContext", function() { return withQueryContext; });
192455
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "useQueryContext", function() { return useQueryContext; });
192456
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js");
192457
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
192458
+ /* harmony import */ var _table_constants__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../table/constants */ "./src/ui/common/table/constants.ts");
192459
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
192460
+
192461
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
192462
+
192463
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
192464
+
192465
+
192466
+
192467
+ const defaultInitQuery = {
192468
+ pageNum: 0,
192469
+ orderBy: "",
192470
+ order: _table_constants__WEBPACK_IMPORTED_MODULE_1__["SortDirection"].Asc
192471
+ };
192472
+ const defaultValues = {
192473
+ params: defaultInitQuery,
192474
+ sort: () => {},
192475
+ changePage: () => {},
192476
+ setParam: () => {}
192477
+ };
192478
+ const QueryContext = react__WEBPACK_IMPORTED_MODULE_0__["createContext"](defaultValues);
192479
+ const QueryContextConsumer = QueryContext.Consumer;
192480
+ const QueryContextProvider = ({
192481
+ children,
192482
+ initialState = {}
192483
+ }) => {
192484
+ const [params, setParams] = react__WEBPACK_IMPORTED_MODULE_0__["useState"](_objectSpread({}, defaultInitQuery, {}, initialState));
192485
+ const changePage = react__WEBPACK_IMPORTED_MODULE_0__["useCallback"](newPage => {
192486
+ setParams(curr => _objectSpread({}, curr, {
192487
+ pageNum: newPage
192488
+ }));
192489
+ }, [setParams]);
192490
+ const setParam = react__WEBPACK_IMPORTED_MODULE_0__["useCallback"]((fieldname, value, resetPage = true) => {
192491
+ setParams(curr => _objectSpread({}, curr, {
192492
+ [fieldname]: typeof value === "function" ? value(curr[fieldname]) : value,
192493
+ pageNum: resetPage ? 0 : curr.pageNum
192494
+ }));
192495
+ }, [params, setParams]);
192496
+ const sort = react__WEBPACK_IMPORTED_MODULE_0__["useCallback"]((by, order) => {
192497
+ setParams(curr => _objectSpread({}, curr, {
192498
+ order,
192499
+ orderBy: by,
192500
+ pageNum: 0
192501
+ }));
192502
+ }, [setParams]);
192503
+ const context = react__WEBPACK_IMPORTED_MODULE_0__["useMemo"](() => ({
192504
+ params,
192505
+ sort,
192506
+ changePage,
192507
+ setParam
192508
+ }), [params, setParam]);
192509
+ return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](QueryContext.Provider, {
192510
+ value: context
192511
+ }, children);
192512
+ };
192513
+ function withQueryContext(WrappedComponent, initialState) {
192514
+ return class extends react__WEBPACK_IMPORTED_MODULE_0__["Component"] {
192515
+ render() {
192516
+ return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](QueryContextProvider, {
192517
+ initialState: initialState
192518
+ }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](WrappedComponent, this.props), ";");
192519
+ }
192520
+
192521
+ };
192522
+ }
192523
+ function useQueryContext(initialState = {}) {
192524
+ const context = react__WEBPACK_IMPORTED_MODULE_0__["useContext"](QueryContext);
192525
+
192526
+ if (!context.setParam) {
192527
+ throw new Error("useQueryContext invoked outside QueryContextProvider");
192528
+ } // Set initial params on mount
192529
+
192530
+
192531
+ react__WEBPACK_IMPORTED_MODULE_0__["useEffect"](() => {
192532
+ Object.entries(initialState).map(([key, val]) => {
192533
+ context.setParam(key, curr => curr === undefined ? val : curr);
192534
+ });
192535
+ }, []);
192536
+ Object.entries(initialState).forEach(([key, val]) => {
192537
+ context.params[key] = context.params[key] === undefined ? val : context.params[key];
192538
+ });
192539
+ return context;
192540
+ }
192541
+
192542
+ /***/ }),
192543
+
192312
192544
  /***/ "./src/ui/common/Form.tsx":
192313
192545
  /*!********************************!*\
192314
192546
  !*** ./src/ui/common/Form.tsx ***!
@@ -193113,7 +193345,9 @@ const MemberSearchInput = ({
193113
193345
  react__WEBPACK_IMPORTED_MODULE_0__["useEffect"](() => {
193114
193346
  const fetchMember = async () => {
193115
193347
  if (selection) {
193116
- const response = await Object(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_2__["getMember"])(selection.value);
193348
+ const response = await Object(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_2__["getMember"])({
193349
+ id: selection.value
193350
+ });
193117
193351
 
193118
193352
  if (Object(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_2__["isApiErrorResponse"])(response)) {
193119
193353
  console.error(response.error);
@@ -193436,52 +193670,20 @@ const StatusLabel = props => {
193436
193670
  /*!***********************************************!*\
193437
193671
  !*** ./src/ui/common/table/StatefulTable.tsx ***!
193438
193672
  \***********************************************/
193439
- /*! exports provided: useQueryState, default */
193673
+ /*! exports provided: default */
193440
193674
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
193441
193675
 
193442
193676
  "use strict";
193443
193677
  __webpack_require__.r(__webpack_exports__);
193444
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "useQueryState", function() { return useQueryState; });
193445
193678
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js");
193446
193679
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
193447
193680
  /* harmony import */ var _TableContainer__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./TableContainer */ "./src/ui/common/table/TableContainer.tsx");
193448
193681
  /* harmony import */ var _constants__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./constants */ "./src/ui/common/table/constants.ts");
193682
+ /* harmony import */ var _Filters_QueryContext__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../Filters/QueryContext */ "./src/ui/common/Filters/QueryContext.tsx");
193683
+
193449
193684
 
193450
193685
 
193451
193686
 
193452
- const useQueryState = (initialState = {}) => {
193453
- const [order, setOrder] = react__WEBPACK_IMPORTED_MODULE_0__["useState"](initialState.order || _constants__WEBPACK_IMPORTED_MODULE_2__["SortDirection"].Asc);
193454
- const [orderBy, setOrderBy] = react__WEBPACK_IMPORTED_MODULE_0__["useState"](initialState.orderBy);
193455
- const [search, setSearch] = react__WEBPACK_IMPORTED_MODULE_0__["useState"](initialState.search);
193456
- const [pageNum, setPageNum] = react__WEBPACK_IMPORTED_MODULE_0__["useState"](initialState.pageNum || 0);
193457
- const setAllQuery = react__WEBPACK_IMPORTED_MODULE_0__["useCallback"](newQuery => {
193458
- const {
193459
- order: newOrder,
193460
- orderBy: newOrderBy,
193461
- search: newSearch,
193462
- pageNum: newPageNum
193463
- } = newQuery;
193464
- newOrder && setOrder(newOrder);
193465
- newOrderBy && setOrderBy(newOrderBy);
193466
- newSearch && setSearch(newSearch);
193467
- newPageNum && setPageNum(newPageNum);
193468
- }, [setOrder, setOrderBy, setSearch, setPageNum]);
193469
- const setQuery = Object.assign(setAllQuery, {
193470
- setOrder,
193471
- setSearch,
193472
- setOrderBy,
193473
- setPageNum
193474
- });
193475
- const reset = react__WEBPACK_IMPORTED_MODULE_0__["useCallback"](() => {
193476
- setPageNum(initialState.pageNum || 0);
193477
- }, [setPageNum]);
193478
- return [{
193479
- order,
193480
- orderBy,
193481
- search,
193482
- pageNum
193483
- }, setQuery, reset];
193484
- };
193485
193687
 
193486
193688
  const StatefulTable = ({
193487
193689
  id,
@@ -193489,8 +193691,6 @@ const StatefulTable = ({
193489
193691
  loading,
193490
193692
  data = [],
193491
193693
  error,
193492
- queryParams,
193493
- setQuery,
193494
193694
  rowId,
193495
193695
  columns,
193496
193696
  renderSearch,
@@ -193499,17 +193699,23 @@ const StatefulTable = ({
193499
193699
  totalItems
193500
193700
  }) => {
193501
193701
  const {
193502
- setOrder,
193503
- setOrderBy,
193504
- setSearch,
193505
- setPageNum
193506
- } = setQuery;
193507
- const {
193508
- order,
193509
- orderBy,
193510
- pageNum
193511
- } = queryParams;
193512
- react__WEBPACK_IMPORTED_MODULE_0__["useEffect"](() => setQuery(queryParams), [JSON.stringify(queryParams), setQuery]);
193702
+ params: {
193703
+ order,
193704
+ orderBy,
193705
+ pageNum
193706
+ },
193707
+ sort,
193708
+ changePage,
193709
+ setParam
193710
+ } = Object(_Filters_QueryContext__WEBPACK_IMPORTED_MODULE_3__["useQueryContext"])();
193711
+ react__WEBPACK_IMPORTED_MODULE_0__["useEffect"](() => {
193712
+ if (renderSearch) {
193713
+ setParam("search", curr => curr || "");
193714
+ }
193715
+ }, [renderSearch]);
193716
+ const search = react__WEBPACK_IMPORTED_MODULE_0__["useCallback"](val => {
193717
+ setParam("search", val);
193718
+ }, [setParam]);
193513
193719
  const onSort = react__WEBPACK_IMPORTED_MODULE_0__["useCallback"](newOrderBy => {
193514
193720
  let newOrder = _constants__WEBPACK_IMPORTED_MODULE_2__["SortDirection"].Desc;
193515
193721
 
@@ -193517,11 +193723,9 @@ const StatefulTable = ({
193517
193723
  newOrder = _constants__WEBPACK_IMPORTED_MODULE_2__["SortDirection"].Asc;
193518
193724
  }
193519
193725
 
193520
- setOrder(newOrder);
193521
- setOrderBy(orderBy);
193522
- setPageNum(0);
193523
- }, [pageNum, setOrder, setOrderBy]);
193524
- const onPageChange = react__WEBPACK_IMPORTED_MODULE_0__["useCallback"](newPage => setPageNum(newPage), [setPageNum]);
193726
+ sort(newOrderBy, newOrder);
193727
+ }, [pageNum, sort, orderBy, order]);
193728
+ const onPageChange = react__WEBPACK_IMPORTED_MODULE_0__["useCallback"](newPage => changePage(newPage), [changePage]);
193525
193729
  const onSelect = react__WEBPACK_IMPORTED_MODULE_0__["useCallback"]((id, selected) => {
193526
193730
  if (Array.isArray(selectedIds)) {
193527
193731
  const updatedIds = selectedIds.slice();
@@ -193553,10 +193757,6 @@ const StatefulTable = ({
193553
193757
  }
193554
193758
  }
193555
193759
  }, [setSelectedIds, data]);
193556
- const onSearchEnter = react__WEBPACK_IMPORTED_MODULE_0__["useCallback"](searchTerm => {
193557
- setSearch(searchTerm);
193558
- setPageNum(0);
193559
- }, [setSearch, setPageNum]);
193560
193760
  return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_TableContainer__WEBPACK_IMPORTED_MODULE_1__["default"], {
193561
193761
  id: id,
193562
193762
  title: title,
@@ -193574,7 +193774,7 @@ const StatefulTable = ({
193574
193774
  onPageChange: onPageChange,
193575
193775
  onSelect: setSelectedIds && onSelect,
193576
193776
  onSelectAll: Array.isArray(selectedIds) && setSelectedIds && onSelectAll,
193577
- onSearchEnter: renderSearch && onSearchEnter
193777
+ onSearchEnter: renderSearch && search
193578
193778
  });
193579
193779
  };
193580
193780
 
@@ -194348,8 +194548,11 @@ const MembershipAgreement = () => {
194348
194548
  call: update
194349
194549
  } = Object(_hooks_useWriteTransaction__WEBPACK_IMPORTED_MODULE_5__["default"])(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_2__["updateMember"], onSuccess);
194350
194550
  const onContractAccept = react__WEBPACK_IMPORTED_MODULE_0__["useCallback"](async signature => {
194351
- await update(currentUserId, {
194352
- signature
194551
+ await update({
194552
+ id: currentUserId,
194553
+ updateMemberDetails: {
194554
+ signature
194555
+ }
194353
194556
  });
194354
194557
  }, [update]);
194355
194558
  const onConductAccept = react__WEBPACK_IMPORTED_MODULE_0__["useCallback"](() => {
@@ -194433,8 +194636,11 @@ const RentalAgreement = ({
194433
194636
  call: update
194434
194637
  } = Object(_hooks_useWriteTransaction__WEBPACK_IMPORTED_MODULE_5__["default"])(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_2__["updateRental"], onSuccess);
194435
194638
  const onContractAccept = react__WEBPACK_IMPORTED_MODULE_0__["useCallback"](async signature => {
194436
- await update(rentalId, {
194437
- signature
194639
+ await update({
194640
+ id: rentalId,
194641
+ updateRentalDetails: {
194642
+ signature
194643
+ }
194438
194644
  });
194439
194645
  }, [update]);
194440
194646
  return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_DocumentForm__WEBPACK_IMPORTED_MODULE_6__["default"], {
@@ -195412,7 +195618,9 @@ const readMembershipAction = (membershipId, admin = false) => async dispatch =>
195412
195618
  type: ui_earnedMemberships_constants__WEBPACK_IMPORTED_MODULE_1__["Action"].StartReadRequest
195413
195619
  });
195414
195620
  const func = admin ? makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_2__["adminGetEarnedMembership"] : makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_2__["getEarnedMembership"];
195415
- const result = await func(membershipId);
195621
+ const result = await func({
195622
+ id: membershipId
195623
+ });
195416
195624
 
195417
195625
  if (Object(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_2__["isApiErrorResponse"])(result)) {
195418
195626
  dispatch({
@@ -195430,7 +195638,9 @@ const createMembershipAction = membershipForm => async dispatch => {
195430
195638
  dispatch({
195431
195639
  type: ui_earnedMemberships_constants__WEBPACK_IMPORTED_MODULE_1__["Action"].StartCreateRequest
195432
195640
  });
195433
- const result = await Object(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_2__["adminCreateEarnedMembership"])(membershipForm);
195641
+ const result = await Object(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_2__["adminCreateEarnedMembership"])({
195642
+ createEarnedMembershipDetails: membershipForm
195643
+ });
195434
195644
 
195435
195645
  if (Object(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_2__["isApiErrorResponse"])(result)) {
195436
195646
  dispatch({
@@ -195447,7 +195657,10 @@ const updateMembershipAction = (membershipId, updatedMembership) => async dispat
195447
195657
  dispatch({
195448
195658
  type: ui_earnedMemberships_constants__WEBPACK_IMPORTED_MODULE_1__["Action"].StartUpdateRequest
195449
195659
  });
195450
- const result = await Object(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_2__["adminUpdateEarnedMembership"])(membershipId, updatedMembership);
195660
+ const result = await Object(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_2__["adminUpdateEarnedMembership"])({
195661
+ id: membershipId,
195662
+ updateEarnedMembershipDetails: updatedMembership
195663
+ });
195451
195664
 
195452
195665
  if (Object(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_2__["isApiErrorResponse"])(result)) {
195453
195666
  dispatch({
@@ -195782,14 +195995,14 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
195782
195995
 
195783
195996
 
195784
195997
 
195785
- const useReadTransaction = (transaction, ...args) => {
195786
- const [state, dispatch] = Object(_reducer_hooks__WEBPACK_IMPORTED_MODULE_3__["useApiState"])(Object(_reducer_functions__WEBPACK_IMPORTED_MODULE_4__["buildQueryString"])(transaction, ...args));
195998
+ const useReadTransaction = (transaction, args, delay, key) => {
195999
+ const [state, dispatch] = Object(_reducer_hooks__WEBPACK_IMPORTED_MODULE_3__["useApiState"])(Object(_reducer_functions__WEBPACK_IMPORTED_MODULE_4__["buildQueryString"])(transaction, args, key));
195787
196000
  const [force, setForce] = react__WEBPACK_IMPORTED_MODULE_0__["useState"](false);
195788
196001
  const refresh = react__WEBPACK_IMPORTED_MODULE_0__["useCallback"](() => setForce(prevState => !prevState), []);
195789
196002
  const getCurrentState = react__WEBPACK_IMPORTED_MODULE_0__["useCallback"](() => {
195790
- const key = Object(_reducer_functions__WEBPACK_IMPORTED_MODULE_4__["buildQueryString"])(transaction, ...args);
195791
- return Object(_reducer_hooks__WEBPACK_IMPORTED_MODULE_3__["getApiState"])(key, Object(app_main__WEBPACK_IMPORTED_MODULE_6__["getStore"])().getState());
195792
- }, [transaction, Object(ui_utils_stringifyArgs__WEBPACK_IMPORTED_MODULE_1__["default"])(args)]);
196003
+ const apiKey = Object(_reducer_functions__WEBPACK_IMPORTED_MODULE_4__["buildQueryString"])(transaction, args, key);
196004
+ return Object(_reducer_hooks__WEBPACK_IMPORTED_MODULE_3__["getApiState"])(apiKey, Object(app_main__WEBPACK_IMPORTED_MODULE_6__["getStore"])().getState());
196005
+ }, [transaction, Object(ui_utils_stringifyArgs__WEBPACK_IMPORTED_MODULE_1__["default"])(args), key]);
195793
196006
  react__WEBPACK_IMPORTED_MODULE_0__["useEffect"](() => {
195794
196007
  const callTransaction = async () => {
195795
196008
  const currentState = getCurrentState();
@@ -195798,7 +196011,7 @@ const useReadTransaction = (transaction, ...args) => {
195798
196011
  dispatch({
195799
196012
  type: _reducer__WEBPACK_IMPORTED_MODULE_5__["TransactionAction"].Start
195800
196013
  });
195801
- const response = await transaction(...args);
196014
+ const response = await transaction(args);
195802
196015
 
195803
196016
  if (Object(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_2__["isApiErrorResponse"])(response)) {
195804
196017
  dispatch({
@@ -195818,8 +196031,8 @@ const useReadTransaction = (transaction, ...args) => {
195818
196031
  }
195819
196032
  };
195820
196033
 
195821
- callTransaction();
195822
- }, [Object(ui_utils_stringifyArgs__WEBPACK_IMPORTED_MODULE_1__["default"])(args), force]);
196034
+ !delay && callTransaction();
196035
+ }, [Object(ui_utils_stringifyArgs__WEBPACK_IMPORTED_MODULE_1__["default"])(args), key, force, delay]);
195823
196036
  return _objectSpread({}, state, {
195824
196037
  refresh
195825
196038
  });
@@ -195854,6 +196067,28 @@ const useScrollToHeader = () => {
195854
196067
 
195855
196068
  /***/ }),
195856
196069
 
196070
+ /***/ "./src/ui/hooks/useUUID.ts":
196071
+ /*!*********************************!*\
196072
+ !*** ./src/ui/hooks/useUUID.ts ***!
196073
+ \*********************************/
196074
+ /*! exports provided: useUUID */
196075
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
196076
+
196077
+ "use strict";
196078
+ __webpack_require__.r(__webpack_exports__);
196079
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "useUUID", function() { return useUUID; });
196080
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js");
196081
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
196082
+ /* harmony import */ var _utils_generateUUID__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/generateUUID */ "./src/ui/utils/generateUUID.ts");
196083
+
196084
+
196085
+ function useUUID() {
196086
+ const uuid = react__WEBPACK_IMPORTED_MODULE_0__["useRef"](Object(_utils_generateUUID__WEBPACK_IMPORTED_MODULE_1__["default"])());
196087
+ return uuid.current;
196088
+ }
196089
+
196090
+ /***/ }),
196091
+
195857
196092
  /***/ "./src/ui/hooks/useWriteTransaction.ts":
195858
196093
  /*!*********************************************!*\
195859
196094
  !*** ./src/ui/hooks/useWriteTransaction.ts ***!
@@ -195892,14 +196127,13 @@ const useWriteTransaction = (transaction, onSuccess) => {
195892
196127
  called: false,
195893
196128
  response: undefined
195894
196129
  });
195895
- }, [setState]); // TODO: This args spread is messing up my nice typings
195896
-
195897
- const call = react__WEBPACK_IMPORTED_MODULE_0__["useCallback"](async (...args) => {
196130
+ }, [setState]);
196131
+ const call = react__WEBPACK_IMPORTED_MODULE_0__["useCallback"](async args => {
195898
196132
  setState(prevState => _objectSpread({}, prevState, {
195899
196133
  isRequesting: true,
195900
196134
  called: true
195901
196135
  }));
195902
- const response = await transaction(...args);
196136
+ const response = await transaction(args);
195903
196137
  const error = response.error;
195904
196138
  setState(prevState => _objectSpread({}, prevState, {
195905
196139
  response,
@@ -195981,14 +196215,14 @@ const CreateInvoiceModal = ({
195981
196215
  const {
195982
196216
  call,
195983
196217
  isRequesting,
195984
- error,
195985
- response,
195986
- reset
196218
+ error
195987
196219
  } = Object(_hooks_useWriteTransaction__WEBPACK_IMPORTED_MODULE_3__["default"])(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_1__["adminCreateInvoices"], onCreate);
195988
196220
  const onSubmit = react__WEBPACK_IMPORTED_MODULE_0__["useCallback"](async form => {
195989
196221
  const validUpdate = formRef.current.validate && (await formRef.current.validate(form));
195990
196222
  if (!form.isValid()) return;
195991
- validUpdate && call(validUpdate);
196223
+ validUpdate && call({
196224
+ createInvoiceDetails: validUpdate
196225
+ });
195992
196226
  }, [formRef, call]);
195993
196227
  return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react__WEBPACK_IMPORTED_MODULE_0__["Fragment"], null, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](ui_common_ButtonRow__WEBPACK_IMPORTED_MODULE_4__["ActionButton"], {
195994
196228
  id: "invoices-list-create",
@@ -196067,12 +196301,12 @@ const DeleteInvoiceModal = ({
196067
196301
  const {
196068
196302
  call,
196069
196303
  isRequesting,
196070
- error,
196071
- response,
196072
- reset
196304
+ error
196073
196305
  } = Object(_hooks_useWriteTransaction__WEBPACK_IMPORTED_MODULE_8__["default"])(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_2__["adminDeleteInvoice"], onDelete);
196074
196306
  const onSubmit = react__WEBPACK_IMPORTED_MODULE_0__["useCallback"](() => {
196075
- call(invoice.id);
196307
+ call({
196308
+ id: invoice.id
196309
+ });
196076
196310
  }, [invoice, call]);
196077
196311
  return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react__WEBPACK_IMPORTED_MODULE_0__["Fragment"], null, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](ui_common_ButtonRow__WEBPACK_IMPORTED_MODULE_9__["ActionButton"], {
196078
196312
  id: "invoices-list-delete",
@@ -196165,6 +196399,213 @@ const InvoiceDetails = ({
196165
196399
 
196166
196400
  /***/ }),
196167
196401
 
196402
+ /***/ "./src/ui/invoice/InvoiceFilters.tsx":
196403
+ /*!*******************************************!*\
196404
+ !*** ./src/ui/invoice/InvoiceFilters.tsx ***!
196405
+ \*******************************************/
196406
+ /*! exports provided: default */
196407
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
196408
+
196409
+ "use strict";
196410
+ __webpack_require__.r(__webpack_exports__);
196411
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js");
196412
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
196413
+ /* harmony import */ var _material_ui_core_Grid__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @material-ui/core/Grid */ "./node_modules/@material-ui/core/Grid/index.js");
196414
+ /* harmony import */ var _material_ui_core_Grid__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_material_ui_core_Grid__WEBPACK_IMPORTED_MODULE_1__);
196415
+ /* harmony import */ var _material_ui_core_FormControlLabel__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @material-ui/core/FormControlLabel */ "./node_modules/@material-ui/core/FormControlLabel/index.js");
196416
+ /* harmony import */ var _material_ui_core_FormControlLabel__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_material_ui_core_FormControlLabel__WEBPACK_IMPORTED_MODULE_2__);
196417
+ /* harmony import */ var _material_ui_core_FormControl__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @material-ui/core/FormControl */ "./node_modules/@material-ui/core/FormControl/index.js");
196418
+ /* harmony import */ var _material_ui_core_FormControl__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_material_ui_core_FormControl__WEBPACK_IMPORTED_MODULE_3__);
196419
+ /* harmony import */ var _material_ui_core_RadioGroup__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @material-ui/core/RadioGroup */ "./node_modules/@material-ui/core/RadioGroup/index.js");
196420
+ /* harmony import */ var _material_ui_core_RadioGroup__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_material_ui_core_RadioGroup__WEBPACK_IMPORTED_MODULE_4__);
196421
+ /* harmony import */ var _material_ui_core_FormLabel__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @material-ui/core/FormLabel */ "./node_modules/@material-ui/core/FormLabel/index.js");
196422
+ /* harmony import */ var _material_ui_core_FormLabel__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_material_ui_core_FormLabel__WEBPACK_IMPORTED_MODULE_5__);
196423
+ /* harmony import */ var _material_ui_core_Radio__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @material-ui/core/Radio */ "./node_modules/@material-ui/core/Radio/index.js");
196424
+ /* harmony import */ var _material_ui_core_Radio__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_material_ui_core_Radio__WEBPACK_IMPORTED_MODULE_6__);
196425
+ /* harmony import */ var _material_ui_core_TextField__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @material-ui/core/TextField */ "./node_modules/@material-ui/core/TextField/index.js");
196426
+ /* harmony import */ var _material_ui_core_TextField__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_material_ui_core_TextField__WEBPACK_IMPORTED_MODULE_7__);
196427
+ /* harmony import */ var _material_ui_core_Typography__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @material-ui/core/Typography */ "./node_modules/@material-ui/core/Typography/index.js");
196428
+ /* harmony import */ var _material_ui_core_Typography__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_material_ui_core_Typography__WEBPACK_IMPORTED_MODULE_8__);
196429
+ /* harmony import */ var _common_Filters_QueryContext__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../common/Filters/QueryContext */ "./src/ui/common/Filters/QueryContext.tsx");
196430
+ /* harmony import */ var _common_FilterButton__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../common/FilterButton */ "./src/ui/common/FilterButton.tsx");
196431
+
196432
+
196433
+
196434
+
196435
+
196436
+
196437
+
196438
+
196439
+
196440
+
196441
+
196442
+
196443
+ const InvoiceFilters = ({
196444
+ close,
196445
+ onChange
196446
+ }) => {
196447
+ const {
196448
+ params,
196449
+ setParam
196450
+ } = Object(_common_Filters_QueryContext__WEBPACK_IMPORTED_MODULE_9__["useQueryContext"])();
196451
+ const toggleRadio = react__WEBPACK_IMPORTED_MODULE_0__["useCallback"](key => event => {
196452
+ const {
196453
+ value
196454
+ } = event.target;
196455
+ let param;
196456
+
196457
+ if (value === "true") {
196458
+ param = true;
196459
+ } else if (value === "false") {
196460
+ param = false;
196461
+ }
196462
+
196463
+ setParam(key, param);
196464
+ onChange();
196465
+ close();
196466
+ }, [setParam, onChange, close]);
196467
+
196468
+ const paramToVal = param => {
196469
+ return param === true ? "true" : param === false ? "false" : "both";
196470
+ };
196471
+
196472
+ const onSearch = react__WEBPACK_IMPORTED_MODULE_0__["useCallback"](event => {
196473
+ if (event.key === "Enter") {
196474
+ const searchTerm = event.target.value;
196475
+ setParam("search", searchTerm);
196476
+ onChange();
196477
+ close();
196478
+ }
196479
+ }, [setParam, onChange, close]);
196480
+ return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react__WEBPACK_IMPORTED_MODULE_0__["Fragment"], null, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_Typography__WEBPACK_IMPORTED_MODULE_8___default.a, {
196481
+ variant: "headline",
196482
+ gutterBottom: true
196483
+ }, "Invoice Filters"), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_Grid__WEBPACK_IMPORTED_MODULE_1___default.a, {
196484
+ item: true,
196485
+ xs: 12,
196486
+ style: {
196487
+ marginBottom: "1em"
196488
+ }
196489
+ }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_FormControl__WEBPACK_IMPORTED_MODULE_3___default.a, {
196490
+ component: "fieldset"
196491
+ }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_FormLabel__WEBPACK_IMPORTED_MODULE_5___default.a, {
196492
+ component: "legend"
196493
+ }, "Search for dues"), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_TextField__WEBPACK_IMPORTED_MODULE_7___default.a, {
196494
+ id: "invoice-search-input",
196495
+ type: "text",
196496
+ placeholder: "Search...",
196497
+ onKeyPress: onSearch
196498
+ }))), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_Grid__WEBPACK_IMPORTED_MODULE_1___default.a, {
196499
+ item: true,
196500
+ xs: 12,
196501
+ style: {
196502
+ marginBottom: "1em"
196503
+ }
196504
+ }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_FormControl__WEBPACK_IMPORTED_MODULE_3___default.a, {
196505
+ component: "fieldset"
196506
+ }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_FormLabel__WEBPACK_IMPORTED_MODULE_5___default.a, {
196507
+ component: "legend"
196508
+ }, "Filter by Past Due"), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_RadioGroup__WEBPACK_IMPORTED_MODULE_4___default.a, {
196509
+ name: "settled",
196510
+ value: paramToVal(params.pastDue),
196511
+ onChange: toggleRadio("pastDue")
196512
+ }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_FormControlLabel__WEBPACK_IMPORTED_MODULE_2___default.a, {
196513
+ value: "true",
196514
+ control: react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_Radio__WEBPACK_IMPORTED_MODULE_6___default.a, null),
196515
+ label: "Past Due"
196516
+ }), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_FormControlLabel__WEBPACK_IMPORTED_MODULE_2___default.a, {
196517
+ value: "false",
196518
+ control: react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_Radio__WEBPACK_IMPORTED_MODULE_6___default.a, null),
196519
+ label: "Not Past Due"
196520
+ }), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_FormControlLabel__WEBPACK_IMPORTED_MODULE_2___default.a, {
196521
+ value: "both",
196522
+ control: react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_Radio__WEBPACK_IMPORTED_MODULE_6___default.a, null),
196523
+ label: "Both"
196524
+ })))), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_Grid__WEBPACK_IMPORTED_MODULE_1___default.a, {
196525
+ item: true,
196526
+ xs: 12,
196527
+ style: {
196528
+ marginBottom: "1em"
196529
+ }
196530
+ }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_FormControl__WEBPACK_IMPORTED_MODULE_3___default.a, {
196531
+ component: "fieldset"
196532
+ }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_FormLabel__WEBPACK_IMPORTED_MODULE_5___default.a, {
196533
+ component: "legend"
196534
+ }, "Filter by Refunded"), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_RadioGroup__WEBPACK_IMPORTED_MODULE_4___default.a, {
196535
+ name: "settled",
196536
+ value: paramToVal(params.refunded),
196537
+ onChange: toggleRadio("refunded")
196538
+ }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_FormControlLabel__WEBPACK_IMPORTED_MODULE_2___default.a, {
196539
+ value: "true",
196540
+ control: react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_Radio__WEBPACK_IMPORTED_MODULE_6___default.a, null),
196541
+ label: "Refunded"
196542
+ }), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_FormControlLabel__WEBPACK_IMPORTED_MODULE_2___default.a, {
196543
+ value: "false",
196544
+ control: react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_Radio__WEBPACK_IMPORTED_MODULE_6___default.a, null),
196545
+ label: "Not Refunded"
196546
+ }), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_FormControlLabel__WEBPACK_IMPORTED_MODULE_2___default.a, {
196547
+ value: "both",
196548
+ control: react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_Radio__WEBPACK_IMPORTED_MODULE_6___default.a, null),
196549
+ label: "Both"
196550
+ })))), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_Grid__WEBPACK_IMPORTED_MODULE_1___default.a, {
196551
+ item: true,
196552
+ xs: 12,
196553
+ style: {
196554
+ marginBottom: "1em"
196555
+ }
196556
+ }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_FormControl__WEBPACK_IMPORTED_MODULE_3___default.a, {
196557
+ component: "fieldset"
196558
+ }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_FormLabel__WEBPACK_IMPORTED_MODULE_5___default.a, {
196559
+ component: "legend"
196560
+ }, "Filter by Refund Requested"), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_RadioGroup__WEBPACK_IMPORTED_MODULE_4___default.a, {
196561
+ name: "settled",
196562
+ value: paramToVal(params.refundRequested),
196563
+ onChange: toggleRadio("refunded")
196564
+ }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_FormControlLabel__WEBPACK_IMPORTED_MODULE_2___default.a, {
196565
+ value: "true",
196566
+ control: react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_Radio__WEBPACK_IMPORTED_MODULE_6___default.a, null),
196567
+ label: "Requested"
196568
+ }), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_FormControlLabel__WEBPACK_IMPORTED_MODULE_2___default.a, {
196569
+ value: "false",
196570
+ control: react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_Radio__WEBPACK_IMPORTED_MODULE_6___default.a, null),
196571
+ label: "Not Requestedd"
196572
+ }), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_FormControlLabel__WEBPACK_IMPORTED_MODULE_2___default.a, {
196573
+ value: "both",
196574
+ control: react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_Radio__WEBPACK_IMPORTED_MODULE_6___default.a, null),
196575
+ label: "Both"
196576
+ })))), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_Grid__WEBPACK_IMPORTED_MODULE_1___default.a, {
196577
+ item: true,
196578
+ xs: 12,
196579
+ style: {
196580
+ marginBottom: "1em"
196581
+ }
196582
+ }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_FormControl__WEBPACK_IMPORTED_MODULE_3___default.a, {
196583
+ component: "fieldset"
196584
+ }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_FormLabel__WEBPACK_IMPORTED_MODULE_5___default.a, {
196585
+ component: "legend"
196586
+ }, "Filter by Paid"), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_RadioGroup__WEBPACK_IMPORTED_MODULE_4___default.a, {
196587
+ name: "settled",
196588
+ value: paramToVal(params.settled),
196589
+ onChange: toggleRadio("settled")
196590
+ }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_FormControlLabel__WEBPACK_IMPORTED_MODULE_2___default.a, {
196591
+ value: "true",
196592
+ control: react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_Radio__WEBPACK_IMPORTED_MODULE_6___default.a, null),
196593
+ label: "Paid"
196594
+ }), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_FormControlLabel__WEBPACK_IMPORTED_MODULE_2___default.a, {
196595
+ value: "false",
196596
+ control: react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_Radio__WEBPACK_IMPORTED_MODULE_6___default.a, null),
196597
+ label: "Unpaid"
196598
+ }), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_FormControlLabel__WEBPACK_IMPORTED_MODULE_2___default.a, {
196599
+ value: "both",
196600
+ control: react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_Radio__WEBPACK_IMPORTED_MODULE_6___default.a, null),
196601
+ label: "Both"
196602
+ })))));
196603
+ };
196604
+
196605
+ /* harmony default export */ __webpack_exports__["default"] = (Object(_common_FilterButton__WEBPACK_IMPORTED_MODULE_10__["withFilterButton"])(InvoiceFilters));
196606
+
196607
+ /***/ }),
196608
+
196168
196609
  /***/ "./src/ui/invoice/InvoiceForm.tsx":
196169
196610
  /*!****************************************!*\
196170
196611
  !*** ./src/ui/invoice/InvoiceForm.tsx ***!
@@ -196486,33 +196927,25 @@ __webpack_require__.r(__webpack_exports__);
196486
196927
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
196487
196928
  /* harmony import */ var use_react_router__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! use-react-router */ "./node_modules/use-react-router/use-react-router.js");
196488
196929
  /* harmony import */ var use_react_router__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(use_react_router__WEBPACK_IMPORTED_MODULE_1__);
196489
- /* harmony import */ var _material_ui_core_Checkbox__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @material-ui/core/Checkbox */ "./node_modules/@material-ui/core/Checkbox/index.js");
196490
- /* harmony import */ var _material_ui_core_Checkbox__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_material_ui_core_Checkbox__WEBPACK_IMPORTED_MODULE_2__);
196491
- /* harmony import */ var _material_ui_core_FormControlLabel__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @material-ui/core/FormControlLabel */ "./node_modules/@material-ui/core/FormControlLabel/index.js");
196492
- /* harmony import */ var _material_ui_core_FormControlLabel__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_material_ui_core_FormControlLabel__WEBPACK_IMPORTED_MODULE_3__);
196493
- /* harmony import */ var makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! makerspace-ts-api-client */ "./node_modules/makerspace-ts-api-client/dist/apiClient.js");
196494
- /* harmony import */ var makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_4__);
196495
- /* harmony import */ var _reducer_hooks__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../reducer/hooks */ "./src/ui/reducer/hooks.ts");
196496
- /* harmony import */ var _hooks_useReadTransaction__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../hooks/useReadTransaction */ "./src/ui/hooks/useReadTransaction.ts");
196497
- /* harmony import */ var _common_table_StatefulTable__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../common/table/StatefulTable */ "./src/ui/common/table/StatefulTable.tsx");
196498
- /* harmony import */ var app_entities_invoice__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! app/entities/invoice */ "./src/app/entities/invoice.ts");
196499
- /* harmony import */ var ui_common_table_constants__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ui/common/table/constants */ "./src/ui/common/table/constants.ts");
196500
- /* harmony import */ var ui_utils_numberAsCurrency__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ui/utils/numberAsCurrency */ "./src/ui/utils/numberAsCurrency.ts");
196501
- /* harmony import */ var ui_common_StatusLabel__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ui/common/StatusLabel */ "./src/ui/common/StatusLabel.tsx");
196502
- /* harmony import */ var ui_constants__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ui/constants */ "./src/ui/constants.ts");
196503
- /* harmony import */ var _utils_extractTotalItems__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../utils/extractTotalItems */ "./src/ui/utils/extractTotalItems.ts");
196504
- /* harmony import */ var _invoice_CreateInvoiceModal__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../invoice/CreateInvoiceModal */ "./src/ui/invoice/CreateInvoiceModal.tsx");
196505
- /* harmony import */ var _invoice_DeleteInvoiceModal__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../invoice/DeleteInvoiceModal */ "./src/ui/invoice/DeleteInvoiceModal.tsx");
196506
- /* harmony import */ var _common_ButtonRow__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../common/ButtonRow */ "./src/ui/common/ButtonRow.tsx");
196507
- /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./utils */ "./src/ui/invoice/utils.ts");
196508
- /* harmony import */ var _ViewInvoiceModal__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./ViewInvoiceModal */ "./src/ui/invoice/ViewInvoiceModal.tsx");
196509
- /* harmony import */ var _subscriptions_ViewSubscriptionModal__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../subscriptions/ViewSubscriptionModal */ "./src/ui/subscriptions/ViewSubscriptionModal.tsx");
196510
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
196511
-
196512
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
196513
-
196514
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
196515
-
196930
+ /* harmony import */ var makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! makerspace-ts-api-client */ "./node_modules/makerspace-ts-api-client/dist/apiClient.js");
196931
+ /* harmony import */ var makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_2__);
196932
+ /* harmony import */ var _reducer_hooks__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../reducer/hooks */ "./src/ui/reducer/hooks.ts");
196933
+ /* harmony import */ var _hooks_useReadTransaction__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../hooks/useReadTransaction */ "./src/ui/hooks/useReadTransaction.ts");
196934
+ /* harmony import */ var _common_table_StatefulTable__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../common/table/StatefulTable */ "./src/ui/common/table/StatefulTable.tsx");
196935
+ /* harmony import */ var app_entities_invoice__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! app/entities/invoice */ "./src/app/entities/invoice.ts");
196936
+ /* harmony import */ var ui_common_table_constants__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ui/common/table/constants */ "./src/ui/common/table/constants.ts");
196937
+ /* harmony import */ var ui_utils_numberAsCurrency__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ui/utils/numberAsCurrency */ "./src/ui/utils/numberAsCurrency.ts");
196938
+ /* harmony import */ var ui_common_StatusLabel__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ui/common/StatusLabel */ "./src/ui/common/StatusLabel.tsx");
196939
+ /* harmony import */ var ui_constants__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ui/constants */ "./src/ui/constants.ts");
196940
+ /* harmony import */ var _utils_extractTotalItems__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../utils/extractTotalItems */ "./src/ui/utils/extractTotalItems.ts");
196941
+ /* harmony import */ var _invoice_CreateInvoiceModal__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../invoice/CreateInvoiceModal */ "./src/ui/invoice/CreateInvoiceModal.tsx");
196942
+ /* harmony import */ var _invoice_DeleteInvoiceModal__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../invoice/DeleteInvoiceModal */ "./src/ui/invoice/DeleteInvoiceModal.tsx");
196943
+ /* harmony import */ var _common_ButtonRow__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../common/ButtonRow */ "./src/ui/common/ButtonRow.tsx");
196944
+ /* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./utils */ "./src/ui/invoice/utils.ts");
196945
+ /* harmony import */ var _ViewInvoiceModal__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./ViewInvoiceModal */ "./src/ui/invoice/ViewInvoiceModal.tsx");
196946
+ /* harmony import */ var _subscriptions_ViewSubscriptionModal__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../subscriptions/ViewSubscriptionModal */ "./src/ui/subscriptions/ViewSubscriptionModal.tsx");
196947
+ /* harmony import */ var _common_Filters_QueryContext__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../common/Filters/QueryContext */ "./src/ui/common/Filters/QueryContext.tsx");
196948
+ /* harmony import */ var _InvoiceFilters__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./InvoiceFilters */ "./src/ui/invoice/InvoiceFilters.tsx");
196516
196949
 
196517
196950
 
196518
196951
 
@@ -196538,29 +196971,29 @@ const getFields = (memberId, onUpdate) => [...(memberId ? [] : [{
196538
196971
  id: "member",
196539
196972
  label: "Member",
196540
196973
  cell: row => row.memberName,
196541
- defaultSortDirection: ui_common_table_constants__WEBPACK_IMPORTED_MODULE_9__["SortDirection"].Desc
196974
+ defaultSortDirection: ui_common_table_constants__WEBPACK_IMPORTED_MODULE_7__["SortDirection"].Desc
196542
196975
  }]), {
196543
196976
  id: "resourceClass",
196544
196977
  label: "Type",
196545
- cell: row => app_entities_invoice__WEBPACK_IMPORTED_MODULE_8__["InvoiceableResourceDisplay"][row.resourceClass],
196546
- defaultSortDirection: ui_common_table_constants__WEBPACK_IMPORTED_MODULE_9__["SortDirection"].Desc
196978
+ cell: row => app_entities_invoice__WEBPACK_IMPORTED_MODULE_6__["InvoiceableResourceDisplay"][row.resourceClass],
196979
+ defaultSortDirection: ui_common_table_constants__WEBPACK_IMPORTED_MODULE_7__["SortDirection"].Desc
196547
196980
  }, {
196548
196981
  id: "dueDate",
196549
196982
  label: "Due Date",
196550
- cell: row => Object(_utils__WEBPACK_IMPORTED_MODULE_17__["renderInvoiceDueDate"])(row),
196551
- defaultSortDirection: ui_common_table_constants__WEBPACK_IMPORTED_MODULE_9__["SortDirection"].Desc
196983
+ cell: row => Object(_utils__WEBPACK_IMPORTED_MODULE_15__["renderInvoiceDueDate"])(row),
196984
+ defaultSortDirection: ui_common_table_constants__WEBPACK_IMPORTED_MODULE_7__["SortDirection"].Desc
196552
196985
  }, {
196553
196986
  id: "amount",
196554
196987
  label: "Amount",
196555
- cell: row => Object(ui_utils_numberAsCurrency__WEBPACK_IMPORTED_MODULE_10__["numberAsCurrency"])(row.amount),
196556
- defaultSortDirection: ui_common_table_constants__WEBPACK_IMPORTED_MODULE_9__["SortDirection"].Desc
196988
+ cell: row => Object(ui_utils_numberAsCurrency__WEBPACK_IMPORTED_MODULE_8__["numberAsCurrency"])(row.amount),
196989
+ defaultSortDirection: ui_common_table_constants__WEBPACK_IMPORTED_MODULE_7__["SortDirection"].Desc
196557
196990
  }, {
196558
196991
  id: "status",
196559
196992
  label: "Status",
196560
196993
  cell: row => {
196561
- const statusColor = row.pastDue && !row.settled ? ui_constants__WEBPACK_IMPORTED_MODULE_12__["Status"].Danger : ui_constants__WEBPACK_IMPORTED_MODULE_12__["Status"].Success;
196562
- const label = Object(_utils__WEBPACK_IMPORTED_MODULE_17__["renderInvoiceStatus"])(row);
196563
- return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](ui_common_StatusLabel__WEBPACK_IMPORTED_MODULE_11__["default"], {
196994
+ const statusColor = row.pastDue && !row.settled ? ui_constants__WEBPACK_IMPORTED_MODULE_10__["Status"].Danger : ui_constants__WEBPACK_IMPORTED_MODULE_10__["Status"].Success;
196995
+ const label = Object(_utils__WEBPACK_IMPORTED_MODULE_15__["renderInvoiceStatus"])(row);
196996
+ return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](ui_common_StatusLabel__WEBPACK_IMPORTED_MODULE_9__["default"], {
196564
196997
  label: label,
196565
196998
  color: statusColor
196566
196999
  });
@@ -196570,13 +197003,13 @@ const getFields = (memberId, onUpdate) => [...(memberId ? [] : [{
196570
197003
  label: "View",
196571
197004
  cell: row => {
196572
197005
  if (row.subscriptionId) {
196573
- return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_subscriptions_ViewSubscriptionModal__WEBPACK_IMPORTED_MODULE_19__["default"], {
197006
+ return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_subscriptions_ViewSubscriptionModal__WEBPACK_IMPORTED_MODULE_17__["default"], {
196574
197007
  subscriptionId: row.subscriptionId,
196575
197008
  memberId: row.memberId
196576
197009
  });
196577
197010
  }
196578
197011
 
196579
- return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_ViewInvoiceModal__WEBPACK_IMPORTED_MODULE_18__["default"], {
197012
+ return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_ViewInvoiceModal__WEBPACK_IMPORTED_MODULE_16__["default"], {
196580
197013
  invoice: row,
196581
197014
  onUpdate: onUpdate
196582
197015
  });
@@ -196586,10 +197019,6 @@ const getFields = (memberId, onUpdate) => [...(memberId ? [] : [{
196586
197019
  const InvoicesTable = ({
196587
197020
  stageInvoice
196588
197021
  }) => {
196589
- const [hideSettled, setHideSettled] = react__WEBPACK_IMPORTED_MODULE_0__["useState"](true);
196590
- const toggleHideSettled = react__WEBPACK_IMPORTED_MODULE_0__["useCallback"](() => {
196591
- setHideSettled(settled => !settled);
196592
- }, [setHideSettled]);
196593
197022
  const {
196594
197023
  match: {
196595
197024
  params: {
@@ -196602,27 +197031,36 @@ const InvoicesTable = ({
196602
197031
  isAdmin,
196603
197032
  id: currentUserId
196604
197033
  }
196605
- } = Object(_reducer_hooks__WEBPACK_IMPORTED_MODULE_5__["useAuthState"])();
196606
- const [queryParams, setQueryState] = Object(_common_table_StatefulTable__WEBPACK_IMPORTED_MODULE_7__["useQueryState"])();
196607
- const [selectedInvoice, setSelectedInvoice] = react__WEBPACK_IMPORTED_MODULE_0__["useState"]();
197034
+ } = Object(_reducer_hooks__WEBPACK_IMPORTED_MODULE_3__["useAuthState"])();
196608
197035
  const viewingOwnInvoices = memberId === currentUserId;
197036
+ const asAdmin = isAdmin && !viewingOwnInvoices;
197037
+ const {
197038
+ params
197039
+ } = Object(_common_Filters_QueryContext__WEBPACK_IMPORTED_MODULE_18__["useQueryContext"])({
197040
+ settled: false,
197041
+ refunded: undefined,
197042
+ pastDue: undefined,
197043
+ refundRequested: undefined,
197044
+ memberId: memberId
197045
+ });
197046
+ const [selectedInvoice, setSelectedInvoice] = react__WEBPACK_IMPORTED_MODULE_0__["useState"]();
196609
197047
  const {
196610
197048
  refresh: refreshMember
196611
- } = Object(_hooks_useReadTransaction__WEBPACK_IMPORTED_MODULE_6__["default"])(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_4__["getMember"], memberId);
197049
+ } = Object(_hooks_useReadTransaction__WEBPACK_IMPORTED_MODULE_4__["default"])(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_2__["getMember"], {
197050
+ id: memberId
197051
+ });
197052
+ const adminInvoiceResponse = Object(_hooks_useReadTransaction__WEBPACK_IMPORTED_MODULE_4__["default"])(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_2__["adminListInvoices"], params, !asAdmin);
197053
+ const invoiceResponse = Object(_hooks_useReadTransaction__WEBPACK_IMPORTED_MODULE_4__["default"])(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_2__["listInvoices"], params, asAdmin);
196612
197054
  const {
196613
197055
  isRequesting,
196614
197056
  error,
196615
197057
  data = [],
196616
197058
  response,
196617
197059
  refresh
196618
- } = Object(_hooks_useReadTransaction__WEBPACK_IMPORTED_MODULE_6__["default"])(isAdmin && !viewingOwnInvoices ? makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_4__["adminListInvoices"] : makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_4__["listInvoices"], _objectSpread({}, queryParams, {
196619
- hideSettled,
196620
- resourceId: memberId
196621
- })); // TODO: Need to fix these types of conditionals
196622
-
197060
+ } = asAdmin ? adminInvoiceResponse : invoiceResponse;
196623
197061
  react__WEBPACK_IMPORTED_MODULE_0__["useEffect"](() => {
196624
197062
  if (Array.isArray(data) && data.length) {
196625
- const newSelection = data.find(invoice => invoice.memberId === currentUserId && Object(_utils__WEBPACK_IMPORTED_MODULE_17__["isInvoicePayable"])(invoice));
197063
+ const newSelection = data.find(invoice => invoice.memberId === currentUserId && Object(_utils__WEBPACK_IMPORTED_MODULE_15__["isInvoicePayable"])(invoice));
196626
197064
  setSelectedInvoice(newSelection);
196627
197065
  }
196628
197066
  }, [JSON.stringify(data), setSelectedInvoice]);
@@ -196635,25 +197073,17 @@ const InvoicesTable = ({
196635
197073
  }, [refresh, refreshMember]);
196636
197074
  const rowId = react__WEBPACK_IMPORTED_MODULE_0__["useCallback"](invoice => invoice.id, []);
196637
197075
  const fields = getFields(memberId, onSuccess);
196638
- const payNow = viewingOwnInvoices && Object(_utils__WEBPACK_IMPORTED_MODULE_17__["isInvoicePayable"])(selectedInvoice);
197076
+ const payNow = viewingOwnInvoices && Object(_utils__WEBPACK_IMPORTED_MODULE_15__["isInvoicePayable"])(selectedInvoice);
196639
197077
  const goToCheckout = react__WEBPACK_IMPORTED_MODULE_0__["useCallback"](() => stageInvoice(selectedInvoice), [selectedInvoice, stageInvoice]);
196640
- return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react__WEBPACK_IMPORTED_MODULE_0__["Fragment"], null, isAdmin && react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react__WEBPACK_IMPORTED_MODULE_0__["Fragment"], null, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_invoice_CreateInvoiceModal__WEBPACK_IMPORTED_MODULE_14__["default"], {
197078
+ return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react__WEBPACK_IMPORTED_MODULE_0__["Fragment"], null, isAdmin && react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react__WEBPACK_IMPORTED_MODULE_0__["Fragment"], null, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_invoice_CreateInvoiceModal__WEBPACK_IMPORTED_MODULE_12__["default"], {
196641
197079
  memberId: memberId,
196642
197080
  onSuccess: onSuccess
196643
- }), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_invoice_DeleteInvoiceModal__WEBPACK_IMPORTED_MODULE_15__["default"], {
197081
+ }), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_invoice_DeleteInvoiceModal__WEBPACK_IMPORTED_MODULE_13__["default"], {
196644
197082
  invoice: selectedInvoice,
196645
197083
  onSuccess: onSuccess
196646
- }), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_FormControlLabel__WEBPACK_IMPORTED_MODULE_3___default.a, {
196647
- control: react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_Checkbox__WEBPACK_IMPORTED_MODULE_2___default.a, {
196648
- name: "hide-settled",
196649
- value: "hide-settled",
196650
- id: "hide-settled",
196651
- checked: !!hideSettled,
196652
- onChange: toggleHideSettled,
196653
- color: "default"
196654
- }),
196655
- label: "Hide settled dues"
196656
- })), viewingOwnInvoices && react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_common_ButtonRow__WEBPACK_IMPORTED_MODULE_16__["ActionButton"], {
197084
+ }), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_InvoiceFilters__WEBPACK_IMPORTED_MODULE_19__["default"], {
197085
+ onChange: refresh
197086
+ })), viewingOwnInvoices && react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_common_ButtonRow__WEBPACK_IMPORTED_MODULE_14__["ActionButton"], {
196657
197087
  id: "invoices-list-payNow",
196658
197088
  style: {
196659
197089
  float: "right"
@@ -196663,23 +197093,21 @@ const InvoicesTable = ({
196663
197093
  disabled: !payNow,
196664
197094
  onClick: goToCheckout,
196665
197095
  label: "Pay Selected Dues"
196666
- }), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_common_table_StatefulTable__WEBPACK_IMPORTED_MODULE_7__["default"], {
197096
+ }), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_common_table_StatefulTable__WEBPACK_IMPORTED_MODULE_5__["default"], {
196667
197097
  id: "invoices-table",
196668
197098
  title: "Dues",
196669
197099
  loading: isRequesting,
196670
197100
  data: data,
196671
197101
  error: error,
196672
- queryParams: queryParams,
196673
- setQuery: setQueryState,
196674
197102
  columns: fields,
196675
197103
  rowId: rowId,
196676
- totalItems: Object(_utils_extractTotalItems__WEBPACK_IMPORTED_MODULE_13__["default"])(response),
197104
+ totalItems: Object(_utils_extractTotalItems__WEBPACK_IMPORTED_MODULE_11__["default"])(response),
196677
197105
  selectedIds: selectedInvoice && selectedInvoice.id,
196678
197106
  setSelectedIds: setSelected
196679
197107
  }));
196680
197108
  };
196681
197109
 
196682
- /* harmony default export */ __webpack_exports__["default"] = (InvoicesTable);
197110
+ /* harmony default export */ __webpack_exports__["default"] = (Object(_common_Filters_QueryContext__WEBPACK_IMPORTED_MODULE_18__["withQueryContext"])(InvoicesTable));
196683
197111
 
196684
197112
  /***/ }),
196685
197113
 
@@ -196747,9 +197175,12 @@ const SettleInvoiceModal = ({
196747
197175
  error
196748
197176
  } = Object(_hooks_useWriteTransaction__WEBPACK_IMPORTED_MODULE_9__["default"])(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_3__["adminUpdateInvoice"], onUpdate);
196749
197177
  const onSubmit = react__WEBPACK_IMPORTED_MODULE_0__["useCallback"](() => {
196750
- call(invoice.id, _objectSpread({}, invoice, {
196751
- settled: true
196752
- }));
197178
+ call({
197179
+ id: invoice.id,
197180
+ updateInvoiceDetails: _objectSpread({}, invoice, {
197181
+ settled: true
197182
+ })
197183
+ });
196753
197184
  }, [invoice, call]);
196754
197185
  return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react__WEBPACK_IMPORTED_MODULE_0__["Fragment"], null, Object(_invoice_utils__WEBPACK_IMPORTED_MODULE_10__["isInvoiceSettled"])(invoice) ? "Settled" : react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_Button__WEBPACK_IMPORTED_MODULE_2___default.a, {
196755
197186
  variant: "outlined",
@@ -197020,7 +197451,9 @@ const EditMember = ({
197020
197451
  isRequesting: memberLoading,
197021
197452
  refresh: refreshMember,
197022
197453
  data: member = {}
197023
- } = Object(_hooks_useReadTransaction__WEBPACK_IMPORTED_MODULE_1__["default"])(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_2__["getMember"], memberId);
197454
+ } = Object(_hooks_useReadTransaction__WEBPACK_IMPORTED_MODULE_1__["default"])(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_2__["getMember"], {
197455
+ id: memberId
197456
+ });
197024
197457
  const onSuccess = react__WEBPACK_IMPORTED_MODULE_0__["useCallback"](() => {
197025
197458
  refreshMember();
197026
197459
  closeModal();
@@ -197033,7 +197466,10 @@ const EditMember = ({
197033
197466
  const onSubmit = react__WEBPACK_IMPORTED_MODULE_0__["useCallback"](async form => {
197034
197467
  const validUpdate = await formRef.current.validate(form);
197035
197468
  if (!form.isValid()) return;
197036
- update(memberId, validUpdate);
197469
+ update({
197470
+ id: memberId,
197471
+ updateMemberDetails: validUpdate
197472
+ });
197037
197473
  }, [formRef, update]);
197038
197474
  return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react__WEBPACK_IMPORTED_MODULE_0__["Fragment"], null, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_common_ButtonRow__WEBPACK_IMPORTED_MODULE_4__["ActionButton"], {
197039
197475
  id: "member-detail-open-edit-modal",
@@ -197143,7 +197579,9 @@ const MemberProfile = () => {
197143
197579
  refresh: refreshMember,
197144
197580
  error: memberError,
197145
197581
  data: member = {}
197146
- } = Object(_hooks_useReadTransaction__WEBPACK_IMPORTED_MODULE_16__["default"])(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_2__["getMember"], memberId);
197582
+ } = Object(_hooks_useReadTransaction__WEBPACK_IMPORTED_MODULE_16__["default"])(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_2__["getMember"], {
197583
+ id: memberId
197584
+ });
197147
197585
  const [notification, setNotification] = react__WEBPACK_IMPORTED_MODULE_0__["useState"]();
197148
197586
  react__WEBPACK_IMPORTED_MODULE_0__["useEffect"](() => {
197149
197587
  if (!initRender && isOwnProfile && !memberLoading && member.id && !member.memberContractOnFile) {
@@ -197152,7 +197590,7 @@ const MemberProfile = () => {
197152
197590
  }, [initRender, isOwnProfile, memberLoading, member.memberContractOnFile]);
197153
197591
  const {
197154
197592
  data: rentals = []
197155
- } = Object(_hooks_useReadTransaction__WEBPACK_IMPORTED_MODULE_16__["default"])(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_2__["listRentals"], memberId);
197593
+ } = Object(_hooks_useReadTransaction__WEBPACK_IMPORTED_MODULE_16__["default"])(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_2__["listRentals"], {});
197156
197594
  react__WEBPACK_IMPORTED_MODULE_0__["useEffect"](() => {
197157
197595
  const missingAgreement = rentals.find(rental => !rental.contractOnFile);
197158
197596
 
@@ -197702,7 +198140,9 @@ const RenewMember = ({
197702
198140
  isRequesting: memberLoading,
197703
198141
  refresh: refreshMember,
197704
198142
  data: member
197705
- } = Object(_hooks_useReadTransaction__WEBPACK_IMPORTED_MODULE_4__["default"])(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_5__["getMember"], memberId);
198143
+ } = Object(_hooks_useReadTransaction__WEBPACK_IMPORTED_MODULE_4__["default"])(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_5__["getMember"], {
198144
+ id: memberId
198145
+ });
197706
198146
  const onSuccess = react__WEBPACK_IMPORTED_MODULE_0__["useCallback"](({
197707
198147
  reset
197708
198148
  }) => {
@@ -197718,7 +198158,10 @@ const RenewMember = ({
197718
198158
  const onSubmit = react__WEBPACK_IMPORTED_MODULE_0__["useCallback"](async form => {
197719
198159
  const validUpdate = await formRef.current.validate(form);
197720
198160
  if (!form.isValid()) return;
197721
- renew(memberId, validUpdate);
198161
+ renew({
198162
+ id: memberId,
198163
+ updateMemberDetails: validUpdate
198164
+ });
197722
198165
  }, [formRef, renew]);
197723
198166
  return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react__WEBPACK_IMPORTED_MODULE_0__["Fragment"], null, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_common_ButtonRow__WEBPACK_IMPORTED_MODULE_7__["ActionButton"], {
197724
198167
  id: "member-detail-open-renew-modal",
@@ -197893,7 +198336,9 @@ const readMemberAction = memberId => async dispatch => {
197893
198336
  dispatch({
197894
198337
  type: ui_member_constants__WEBPACK_IMPORTED_MODULE_0__["Action"].StartReadRequest
197895
198338
  });
197896
- const result = await Object(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_1__["getMember"])(memberId);
198339
+ const result = await Object(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_1__["getMember"])({
198340
+ id: memberId
198341
+ });
197897
198342
 
197898
198343
  if (Object(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_1__["isApiErrorResponse"])(result)) {
197899
198344
  dispatch({
@@ -197915,9 +198360,15 @@ const updateMemberAction = (memberId, updateDetails, isAdmin = false) => async d
197915
198360
  let result;
197916
198361
 
197917
198362
  if (isAdmin) {
197918
- result = await Object(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_1__["adminUpdateMember"])(memberId, updateDetails);
198363
+ result = await Object(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_1__["adminUpdateMember"])({
198364
+ id: memberId,
198365
+ updateMemberDetails: updateDetails
198366
+ });
197919
198367
  } else {
197920
- result = await Object(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_1__["updateMember"])(memberId, updateDetails);
198368
+ result = await Object(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_1__["updateMember"])({
198369
+ id: memberId,
198370
+ updateMemberDetails: updateDetails
198371
+ });
197921
198372
  }
197922
198373
 
197923
198374
  if (Object(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_1__["isApiErrorResponse"])(result)) {
@@ -198674,7 +199125,9 @@ const createMembersAction = memberForm => async dispatch => {
198674
199125
  type: ui_members_constants__WEBPACK_IMPORTED_MODULE_0__["Action"].StartCreateRequest
198675
199126
  });
198676
199127
  let newMember;
198677
- const result = await Object(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_1__["adminCreateMember"])(memberForm);
199128
+ const result = await Object(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_1__["adminCreateMember"])({
199129
+ createMemberDetails: memberForm
199130
+ });
198678
199131
 
198679
199132
  if (Object(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_1__["isApiErrorResponse"])(result)) {
198680
199133
  dispatch({
@@ -198862,8 +199315,11 @@ const ChangePaymentMethodModal = ({
198862
199315
  closeModal();
198863
199316
  });
198864
199317
  const onSubmit = react__WEBPACK_IMPORTED_MODULE_0__["useCallback"](async () => {
198865
- paymentMethodId && call(subscriptionId, {
198866
- paymentMethodToken: paymentMethodId
199318
+ paymentMethodId && call({
199319
+ id: subscriptionId,
199320
+ updateSubscriptionDetails: {
199321
+ paymentMethodToken: paymentMethodId
199322
+ }
198867
199323
  });
198868
199324
  }, [call, subscriptionId, paymentMethodId]);
198869
199325
 
@@ -198918,6 +199374,8 @@ __webpack_require__.r(__webpack_exports__);
198918
199374
  /* harmony import */ var _common_FormModal__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../common/FormModal */ "./src/ui/common/FormModal.tsx");
198919
199375
  /* harmony import */ var _member_utils__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../member/utils */ "./src/ui/member/utils.ts");
198920
199376
  /* harmony import */ var _reducer_hooks__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../reducer/hooks */ "./src/ui/reducer/hooks.ts");
199377
+ /* harmony import */ var _hooks_useUUID__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../hooks/useUUID */ "./src/ui/hooks/useUUID.ts");
199378
+
198921
199379
 
198922
199380
 
198923
199381
 
@@ -198931,9 +199389,10 @@ __webpack_require__.r(__webpack_exports__);
198931
199389
  const DuplicateInvoiceModal = ({
198932
199390
  type
198933
199391
  }) => {
199392
+ const uuid = Object(_hooks_useUUID__WEBPACK_IMPORTED_MODULE_9__["useUUID"])();
198934
199393
  const {
198935
199394
  data: invoices = []
198936
- } = Object(_hooks_useReadTransaction__WEBPACK_IMPORTED_MODULE_4__["default"])(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_3__["listInvoices"]);
199395
+ } = Object(_hooks_useReadTransaction__WEBPACK_IMPORTED_MODULE_4__["default"])(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_3__["listInvoices"], {}, undefined, uuid);
198937
199396
  const {
198938
199397
  currentUser: {
198939
199398
  id: currentUserId
@@ -198981,6 +199440,43 @@ const DuplicateInvoiceModal = ({
198981
199440
 
198982
199441
  /***/ }),
198983
199442
 
199443
+ /***/ "./src/ui/membership/InvoicingGate.tsx":
199444
+ /*!*********************************************!*\
199445
+ !*** ./src/ui/membership/InvoicingGate.tsx ***!
199446
+ \*********************************************/
199447
+ /*! exports provided: default */
199448
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
199449
+
199450
+ "use strict";
199451
+ __webpack_require__.r(__webpack_exports__);
199452
+ /* harmony import */ var makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! makerspace-ts-api-client */ "./node_modules/makerspace-ts-api-client/dist/apiClient.js");
199453
+ /* harmony import */ var makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_0__);
199454
+ /* harmony import */ var ui_hooks_useReadTransaction__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ui/hooks/useReadTransaction */ "./src/ui/hooks/useReadTransaction.ts");
199455
+ /* harmony import */ var app_entities_invoice__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! app/entities/invoice */ "./src/app/entities/invoice.ts");
199456
+
199457
+
199458
+
199459
+ /**
199460
+ * Since we cant gate all Invoicing features by a user permission, this allows disabling of all invoicing by disabling or removing
199461
+ * invoice options. If all billing permissions are set to false and no results return from this options request, effectively
199462
+ * all invoicing components will be disabled. Useful for an emergency response.
199463
+ */
199464
+
199465
+ const InvoicingGate = ({
199466
+ children
199467
+ }) => {
199468
+ const {
199469
+ data: options = []
199470
+ } = Object(ui_hooks_useReadTransaction__WEBPACK_IMPORTED_MODULE_1__["default"])(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_0__["listInvoiceOptions"], {
199471
+ types: [app_entities_invoice__WEBPACK_IMPORTED_MODULE_2__["InvoiceableResource"].Membership]
199472
+ });
199473
+ return children(!!options.length);
199474
+ };
199475
+
199476
+ /* harmony default export */ __webpack_exports__["default"] = (InvoicingGate);
199477
+
199478
+ /***/ }),
199479
+
198984
199480
  /***/ "./src/ui/membership/MembershipSelectForm.tsx":
198985
199481
  /*!****************************************************!*\
198986
199482
  !*** ./src/ui/membership/MembershipSelectForm.tsx ***!
@@ -199172,8 +199668,7 @@ __webpack_require__.r(__webpack_exports__);
199172
199668
  /* harmony import */ var ui_billing_actions__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ui/billing/actions */ "./src/ui/billing/actions.ts");
199173
199669
  /* harmony import */ var ui_member_actions__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ui/member/actions */ "./src/ui/member/actions.ts");
199174
199670
  /* harmony import */ var ui_earnedMemberships_actions__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ui/earnedMemberships/actions */ "./src/ui/earnedMemberships/actions.ts");
199175
- /* harmony import */ var ui_transactions_actions__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ui/transactions/actions */ "./src/ui/transactions/actions.ts");
199176
- /* harmony import */ var _checkout_cart__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./checkout/cart */ "./src/ui/checkout/cart.ts");
199671
+ /* harmony import */ var _checkout_cart__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./checkout/cart */ "./src/ui/checkout/cart.ts");
199177
199672
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
199178
199673
 
199179
199674
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
@@ -199189,18 +199684,16 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
199189
199684
 
199190
199685
 
199191
199686
 
199192
-
199193
199687
  const getRootReducer = history => Object(redux__WEBPACK_IMPORTED_MODULE_0__["combineReducers"])({
199194
199688
  router: Object(connected_react_router__WEBPACK_IMPORTED_MODULE_1__["connectRouter"])(history),
199195
199689
  base: baseReducer,
199196
199690
  auth: ui_auth_actions__WEBPACK_IMPORTED_MODULE_2__["authReducer"],
199197
- cart: _checkout_cart__WEBPACK_IMPORTED_MODULE_9__["cartReducer"],
199691
+ cart: _checkout_cart__WEBPACK_IMPORTED_MODULE_8__["cartReducer"],
199198
199692
  members: ui_members_actions__WEBPACK_IMPORTED_MODULE_3__["membersReducer"],
199199
199693
  member: ui_member_actions__WEBPACK_IMPORTED_MODULE_6__["memberReducer"],
199200
199694
  rentals: ui_rentals_actions__WEBPACK_IMPORTED_MODULE_4__["rentalsReducer"],
199201
199695
  billing: ui_billing_actions__WEBPACK_IMPORTED_MODULE_5__["billingReducer"],
199202
- earnedMemberships: ui_earnedMemberships_actions__WEBPACK_IMPORTED_MODULE_7__["earnedMembershipsReducer"],
199203
- transactions: ui_transactions_actions__WEBPACK_IMPORTED_MODULE_8__["transactionsReducer"]
199696
+ earnedMemberships: ui_earnedMemberships_actions__WEBPACK_IMPORTED_MODULE_7__["earnedMembershipsReducer"]
199204
199697
  });
199205
199698
  let TransactionAction;
199206
199699
 
@@ -199374,7 +199867,9 @@ const DeleteRentalModal = ({
199374
199867
  error
199375
199868
  } = Object(_hooks_useWriteTransaction__WEBPACK_IMPORTED_MODULE_6__["default"])(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_2__["adminDeleteRental"], onSuccess);
199376
199869
  const onSubmit = react__WEBPACK_IMPORTED_MODULE_0__["useCallback"](() => {
199377
- rental && call(rental.id);
199870
+ rental && call({
199871
+ id: rental.id
199872
+ });
199378
199873
  }, [rental, call]);
199379
199874
  return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react__WEBPACK_IMPORTED_MODULE_0__["Fragment"], null, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](ui_common_ButtonRow__WEBPACK_IMPORTED_MODULE_7__["ActionButton"], {
199380
199875
  id: "rentals-list-delete",
@@ -200198,7 +200693,9 @@ const createRentalAction = rentalForm => async dispatch => {
200198
200693
  dispatch({
200199
200694
  type: ui_rentals_constants__WEBPACK_IMPORTED_MODULE_1__["Action"].StartCreateRequest
200200
200695
  });
200201
- const result = await Object(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_2__["adminCreateRental"])(rentalForm);
200696
+ const result = await Object(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_2__["adminCreateRental"])({
200697
+ createRentalDetails: rentalForm
200698
+ });
200202
200699
 
200203
200700
  if (Object(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_2__["isApiErrorResponse"])(result)) {
200204
200701
  dispatch({
@@ -200216,7 +200713,10 @@ const updateRentalAction = (rentalId, updatedRental) => async dispatch => {
200216
200713
  dispatch({
200217
200714
  type: ui_rentals_constants__WEBPACK_IMPORTED_MODULE_1__["Action"].StartUpdateRequest
200218
200715
  });
200219
- const result = await Object(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_2__["adminUpdateRental"])(rentalId, updatedRental);
200716
+ const result = await Object(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_2__["adminUpdateRental"])({
200717
+ id: rentalId,
200718
+ updateRentalDetails: updatedRental
200719
+ });
200220
200720
 
200221
200721
  if (Object(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_2__["isApiErrorResponse"])(result)) {
200222
200722
  dispatch({
@@ -200234,7 +200734,9 @@ const deleteRentalAction = rentalId => async dispatch => {
200234
200734
  dispatch({
200235
200735
  type: ui_rentals_constants__WEBPACK_IMPORTED_MODULE_1__["Action"].StartDeleteRequest
200236
200736
  });
200237
- const result = await Object(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_2__["adminDeleteRental"])(rentalId);
200737
+ const result = await Object(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_2__["adminDeleteRental"])({
200738
+ id: rentalId
200739
+ });
200238
200740
 
200239
200741
  if (Object(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_2__["isApiErrorResponse"])(result)) {
200240
200742
  dispatch({
@@ -200558,13 +201060,17 @@ const CreateReport = ({
200558
201060
  error: memberError,
200559
201061
  refresh: refreshMember,
200560
201062
  data: member
200561
- } = Object(_hooks_useReadTransaction__WEBPACK_IMPORTED_MODULE_5__["default"])(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_1__["getMember"], currentUserId);
201063
+ } = Object(_hooks_useReadTransaction__WEBPACK_IMPORTED_MODULE_5__["default"])(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_1__["getMember"], {
201064
+ id: currentUserId
201065
+ });
200562
201066
  const {
200563
201067
  isRequesting: loadingEM,
200564
201068
  error: errorEM,
200565
201069
  data: earnedMembership,
200566
201070
  refresh: refreshEM
200567
- } = Object(_hooks_useReadTransaction__WEBPACK_IMPORTED_MODULE_5__["default"])(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_1__["getEarnedMembership"], earnedMembershipId);
201071
+ } = Object(_hooks_useReadTransaction__WEBPACK_IMPORTED_MODULE_5__["default"])(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_1__["getEarnedMembership"], {
201072
+ id: earnedMembershipId
201073
+ });
200568
201074
  const onSuccess = react__WEBPACK_IMPORTED_MODULE_0__["useCallback"](({
200569
201075
  reset
200570
201076
  }) => {
@@ -200584,7 +201090,10 @@ const CreateReport = ({
200584
201090
  const onSubmit = react__WEBPACK_IMPORTED_MODULE_0__["useCallback"](async form => {
200585
201091
  const validUpdate = await formRef.current.validate(form);
200586
201092
  if (!form.isValid()) return;
200587
- return await createReport(earnedMembershipId, validUpdate);
201093
+ return await createReport({
201094
+ id: earnedMembershipId,
201095
+ createEarnedMembershipReportDetails: validUpdate
201096
+ });
200588
201097
  }, [createReport, formRef]);
200589
201098
  return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react__WEBPACK_IMPORTED_MODULE_0__["Fragment"], null, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_common_ButtonRow__WEBPACK_IMPORTED_MODULE_7__["ActionButton"], {
200590
201099
  id: "report-list-create",
@@ -200853,6 +201362,14 @@ __webpack_require__.r(__webpack_exports__);
200853
201362
  /* harmony import */ var _hooks_useModal__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../hooks/useModal */ "./src/ui/hooks/useModal.ts");
200854
201363
  /* harmony import */ var _reducer_hooks__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../reducer/hooks */ "./src/ui/reducer/hooks.ts");
200855
201364
  /* harmony import */ var _common_table_StatefulTable__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../common/table/StatefulTable */ "./src/ui/common/table/StatefulTable.tsx");
201365
+ /* harmony import */ var _common_Filters_QueryContext__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../common/Filters/QueryContext */ "./src/ui/common/Filters/QueryContext.tsx");
201366
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
201367
+
201368
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
201369
+
201370
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
201371
+
201372
+
200856
201373
 
200857
201374
 
200858
201375
 
@@ -200887,7 +201404,10 @@ const ReportsTable = ({
200887
201404
  earnedMembershipId
200888
201405
  }) => {
200889
201406
  const [selectedId, setSelectedId] = react__WEBPACK_IMPORTED_MODULE_0__["useState"]();
200890
- const [queryParams, setQueryState, resetQuery] = Object(_common_table_StatefulTable__WEBPACK_IMPORTED_MODULE_13__["useQueryState"])();
201407
+ const {
201408
+ params,
201409
+ changePage
201410
+ } = Object(_common_Filters_QueryContext__WEBPACK_IMPORTED_MODULE_14__["useQueryContext"])();
200891
201411
  const {
200892
201412
  isOpen,
200893
201413
  openModal,
@@ -200907,26 +201427,37 @@ const ReportsTable = ({
200907
201427
  }
200908
201428
  } = use_react_router__WEBPACK_IMPORTED_MODULE_3___default()();
200909
201429
  const isOwnMembership = currentUserId === memberId;
201430
+ const asAdmin = isAdmin && !isOwnMembership;
200910
201431
  const setSeleted = react__WEBPACK_IMPORTED_MODULE_0__["useCallback"](ids => {
200911
201432
  setSelectedId(Array.isArray(ids) && ids[0] || undefined);
200912
201433
  }, [setSelectedId]);
200913
201434
  const {
200914
201435
  data: member
200915
- } = Object(_hooks_useReadTransaction__WEBPACK_IMPORTED_MODULE_9__["default"])(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_4__["getMember"], memberId);
201436
+ } = Object(_hooks_useReadTransaction__WEBPACK_IMPORTED_MODULE_9__["default"])(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_4__["getMember"], {
201437
+ id: memberId
201438
+ });
200916
201439
  const {
200917
201440
  data: earnedMembership
200918
- } = Object(_hooks_useReadTransaction__WEBPACK_IMPORTED_MODULE_9__["default"])(isAdmin && !isOwnMembership ? makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_4__["adminGetEarnedMembership"] : makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_4__["getEarnedMembership"], earnedMembershipId);
201441
+ } = Object(_hooks_useReadTransaction__WEBPACK_IMPORTED_MODULE_9__["default"])(asAdmin ? makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_4__["adminGetEarnedMembership"] : makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_4__["getEarnedMembership"], {
201442
+ id: earnedMembershipId
201443
+ });
201444
+ const adminEMResponse = Object(_hooks_useReadTransaction__WEBPACK_IMPORTED_MODULE_9__["default"])(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_4__["adminListEarnedMembershipReports"], _objectSpread({
201445
+ id: earnedMembershipId
201446
+ }, params), !asAdmin);
201447
+ const emResponse = Object(_hooks_useReadTransaction__WEBPACK_IMPORTED_MODULE_9__["default"])(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_4__["listEarnedMembershipReports"], _objectSpread({
201448
+ id: earnedMembershipId
201449
+ }, params), asAdmin);
200919
201450
  const {
200920
201451
  isRequesting,
200921
201452
  error,
200922
201453
  data: reports = [],
200923
201454
  response,
200924
201455
  refresh
200925
- } = Object(_hooks_useReadTransaction__WEBPACK_IMPORTED_MODULE_9__["default"])(isAdmin && !isOwnMembership ? makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_4__["adminListEarnedMembershipReports"] : makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_4__["listEarnedMembershipReports"], earnedMembershipId, queryParams);
201456
+ } = asAdmin ? adminEMResponse : emResponse;
200926
201457
  const onCreate = react__WEBPACK_IMPORTED_MODULE_0__["useCallback"](() => {
200927
201458
  refresh();
200928
- resetQuery();
200929
- }, [refresh, resetQuery]);
201459
+ changePage(0);
201460
+ }, [refresh, changePage]);
200930
201461
  const openDetails = react__WEBPACK_IMPORTED_MODULE_0__["useCallback"](reportId => {
200931
201462
  setSelectedId(reportId);
200932
201463
  openModal();
@@ -200951,8 +201482,6 @@ const ReportsTable = ({
200951
201482
  totalItems: Object(_utils_extractTotalItems__WEBPACK_IMPORTED_MODULE_10__["default"])(response),
200952
201483
  selectedIds: [selectedId],
200953
201484
  setSelectedIds: setSeleted,
200954
- queryParams: queryParams,
200955
- setQuery: setQueryState,
200956
201485
  columns: getFields(openDetails),
200957
201486
  rowId: rowId
200958
201487
  }), isOpen && react__WEBPACK_IMPORTED_MODULE_0__["createElement"](ui_reports_ReportForm__WEBPACK_IMPORTED_MODULE_7__["ReportForm"], {
@@ -200967,7 +201496,7 @@ const ReportsTable = ({
200967
201496
  })));
200968
201497
  };
200969
201498
 
200970
- /* harmony default export */ __webpack_exports__["default"] = (ReportsTable);
201499
+ /* harmony default export */ __webpack_exports__["default"] = (Object(_common_Filters_QueryContext__WEBPACK_IMPORTED_MODULE_14__["withQueryContext"])(ReportsTable));
200971
201500
 
200972
201501
  /***/ }),
200973
201502
 
@@ -201328,7 +201857,7 @@ const ManageRentalSubscriptions = () => {
201328
201857
  isRequesting: rentalsLoading,
201329
201858
  data: rentals = [],
201330
201859
  error: rentalsError
201331
- } = Object(_hooks_useReadTransaction__WEBPACK_IMPORTED_MODULE_6__["default"])(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_4__["listRentals"]);
201860
+ } = Object(_hooks_useReadTransaction__WEBPACK_IMPORTED_MODULE_6__["default"])(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_4__["listRentals"], {});
201332
201861
  ;
201333
201862
  const subscriptionRentals = rentals.filter(rental => !!rental.subscriptionId);
201334
201863
  const fallbackUI = rentalsLoading && react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_common_LoadingOverlay__WEBPACK_IMPORTED_MODULE_7__["default"], {
@@ -201479,7 +202008,9 @@ const SettingsContainer = () => {
201479
202008
  isRequesting: loadingMember,
201480
202009
  error: memberError,
201481
202010
  data: member
201482
- } = Object(_hooks_useReadTransaction__WEBPACK_IMPORTED_MODULE_12__["default"])(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_11__["getMember"], currentUserId);
202011
+ } = Object(_hooks_useReadTransaction__WEBPACK_IMPORTED_MODULE_12__["default"])(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_11__["getMember"], {
202012
+ id: currentUserId
202013
+ });
201483
202014
  return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_Grid__WEBPACK_IMPORTED_MODULE_1___default.a, {
201484
202015
  container: true,
201485
202016
  spacing: 16
@@ -201615,7 +202146,9 @@ const CancelSubscriptionModal = ({
201615
202146
  onSuccess && onSuccess();
201616
202147
  });
201617
202148
  const onSubmit = react__WEBPACK_IMPORTED_MODULE_0__["useCallback"](() => {
201618
- call(subscriptionId);
202149
+ call({
202150
+ id: subscriptionId
202151
+ });
201619
202152
  }, [call, subscriptionId]);
201620
202153
  const disableButton = !subscriptionId || subscription.status === "Canceled";
201621
202154
  return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react__WEBPACK_IMPORTED_MODULE_0__["Fragment"], null, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_common_ButtonRow__WEBPACK_IMPORTED_MODULE_6__["ActionButton"], {
@@ -201862,34 +202395,31 @@ const SubscriptionDetails = ({
201862
202395
  error: getMemberError,
201863
202396
  data: member,
201864
202397
  refresh: reloadMember
201865
- } = Object(_hooks_useReadTransaction__WEBPACK_IMPORTED_MODULE_5__["default"])(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_1__["getMember"], id);
201866
- let result = {};
201867
-
201868
- if (asAdmin) {
201869
- result = Object(_hooks_useReadTransaction__WEBPACK_IMPORTED_MODULE_5__["default"])(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_1__["adminListInvoices"], {
201870
- resourceId: memberId
201871
- });
201872
- } else {
201873
- result = Object(_hooks_useReadTransaction__WEBPACK_IMPORTED_MODULE_5__["default"])(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_1__["listInvoices"], {});
201874
- } // Use prop if exists
201875
-
201876
-
201877
- const subscriptionId = rentalSubId || (member ? member.subscriptionId : undefined);
202398
+ } = Object(_hooks_useReadTransaction__WEBPACK_IMPORTED_MODULE_5__["default"])(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_1__["getMember"], {
202399
+ id
202400
+ });
202401
+ const adminResult = Object(_hooks_useReadTransaction__WEBPACK_IMPORTED_MODULE_5__["default"])(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_1__["adminListInvoices"], {
202402
+ resourceId: [memberId]
202403
+ }, !asAdmin);
202404
+ const baseResult = Object(_hooks_useReadTransaction__WEBPACK_IMPORTED_MODULE_5__["default"])(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_1__["listInvoices"], {}, asAdmin);
201878
202405
  const {
201879
202406
  isRequesting: invoicesLoading,
201880
202407
  data: invoices = [],
201881
202408
  error: invoicesError,
201882
202409
  refresh: reloadInvoices
201883
- } = result; // TODO: this should delay calling until we have sub ID
202410
+ } = asAdmin ? adminResult : baseResult; // Use prop if exists
201884
202411
 
202412
+ const subscriptionId = rentalSubId || (member ? member.subscriptionId : undefined);
201885
202413
  const {
201886
202414
  isRequesting: subscriptionLoading,
201887
202415
  data: subscription,
201888
202416
  error: subError,
201889
202417
  refresh: reloadSubscription
201890
- } = Object(_hooks_useReadTransaction__WEBPACK_IMPORTED_MODULE_5__["default"])(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_1__["getSubscription"], subscriptionId);
201891
- const isLoading = loadingMember || subscriptionId && subscriptionLoading || invoicesLoading;
201892
- const error = getMemberError || subscriptionId && subError || invoicesError;
202418
+ } = Object(_hooks_useReadTransaction__WEBPACK_IMPORTED_MODULE_5__["default"])(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_1__["getSubscription"], {
202419
+ id: subscriptionId
202420
+ }, !subscriptionId);
202421
+ const isLoading = loadingMember || subscriptionLoading || invoicesLoading;
202422
+ const error = getMemberError || subError || invoicesError;
201893
202423
  const subscriptionInvoice = invoices.find(invoice => invoice.subscriptionId === subscriptionId);
201894
202424
  const onChange = react__WEBPACK_IMPORTED_MODULE_0__["useCallback"](() => {
201895
202425
  reloadMember();
@@ -201930,6 +202460,257 @@ const SubscriptionDetails = ({
201930
202460
 
201931
202461
  /***/ }),
201932
202462
 
202463
+ /***/ "./src/ui/subscriptions/SubscriptionFilters.tsx":
202464
+ /*!******************************************************!*\
202465
+ !*** ./src/ui/subscriptions/SubscriptionFilters.tsx ***!
202466
+ \******************************************************/
202467
+ /*! exports provided: subscriptionStatuses, default */
202468
+ /***/ (function(module, __webpack_exports__, __webpack_require__) {
202469
+
202470
+ "use strict";
202471
+ __webpack_require__.r(__webpack_exports__);
202472
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "subscriptionStatuses", function() { return subscriptionStatuses; });
202473
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js");
202474
+ /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
202475
+ /* harmony import */ var _material_ui_core_Grid__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @material-ui/core/Grid */ "./node_modules/@material-ui/core/Grid/index.js");
202476
+ /* harmony import */ var _material_ui_core_Grid__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_material_ui_core_Grid__WEBPACK_IMPORTED_MODULE_1__);
202477
+ /* harmony import */ var _material_ui_core_FormControlLabel__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @material-ui/core/FormControlLabel */ "./node_modules/@material-ui/core/FormControlLabel/index.js");
202478
+ /* harmony import */ var _material_ui_core_FormControlLabel__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_material_ui_core_FormControlLabel__WEBPACK_IMPORTED_MODULE_2__);
202479
+ /* harmony import */ var _material_ui_core_FormControl__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @material-ui/core/FormControl */ "./node_modules/@material-ui/core/FormControl/index.js");
202480
+ /* harmony import */ var _material_ui_core_FormControl__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_material_ui_core_FormControl__WEBPACK_IMPORTED_MODULE_3__);
202481
+ /* harmony import */ var _material_ui_core_FormLabel__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @material-ui/core/FormLabel */ "./node_modules/@material-ui/core/FormLabel/index.js");
202482
+ /* harmony import */ var _material_ui_core_FormLabel__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_material_ui_core_FormLabel__WEBPACK_IMPORTED_MODULE_4__);
202483
+ /* harmony import */ var _material_ui_core_FormGroup__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @material-ui/core/FormGroup */ "./node_modules/@material-ui/core/FormGroup/index.js");
202484
+ /* harmony import */ var _material_ui_core_FormGroup__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_material_ui_core_FormGroup__WEBPACK_IMPORTED_MODULE_5__);
202485
+ /* harmony import */ var _material_ui_core_Checkbox__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @material-ui/core/Checkbox */ "./node_modules/@material-ui/core/Checkbox/index.js");
202486
+ /* harmony import */ var _material_ui_core_Checkbox__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_material_ui_core_Checkbox__WEBPACK_IMPORTED_MODULE_6__);
202487
+ /* harmony import */ var _material_ui_core_TextField__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @material-ui/core/TextField */ "./node_modules/@material-ui/core/TextField/index.js");
202488
+ /* harmony import */ var _material_ui_core_TextField__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_material_ui_core_TextField__WEBPACK_IMPORTED_MODULE_7__);
202489
+ /* harmony import */ var _material_ui_core_Typography__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @material-ui/core/Typography */ "./node_modules/@material-ui/core/Typography/index.js");
202490
+ /* harmony import */ var _material_ui_core_Typography__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_material_ui_core_Typography__WEBPACK_IMPORTED_MODULE_8__);
202491
+ /* harmony import */ var _common_Filters_QueryContext__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../common/Filters/QueryContext */ "./src/ui/common/Filters/QueryContext.tsx");
202492
+ /* harmony import */ var _common_FilterButton__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../common/FilterButton */ "./src/ui/common/FilterButton.tsx");
202493
+ /* harmony import */ var _utils_timeToDate__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../utils/timeToDate */ "./src/ui/utils/timeToDate.ts");
202494
+ /* harmony import */ var _hooks_useReadTransaction__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../hooks/useReadTransaction */ "./src/ui/hooks/useReadTransaction.ts");
202495
+ /* harmony import */ var makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! makerspace-ts-api-client */ "./node_modules/makerspace-ts-api-client/dist/apiClient.js");
202496
+ /* harmony import */ var makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_13__);
202497
+ /* harmony import */ var _common_LoadingOverlay__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../common/LoadingOverlay */ "./src/ui/common/LoadingOverlay.tsx");
202498
+ /* harmony import */ var _common_ErrorMessage__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../common/ErrorMessage */ "./src/ui/common/ErrorMessage.tsx");
202499
+
202500
+
202501
+
202502
+
202503
+
202504
+
202505
+
202506
+
202507
+
202508
+
202509
+
202510
+
202511
+
202512
+
202513
+
202514
+
202515
+ const subscriptionStatuses = {
202516
+ active: {
202517
+ label: "Active",
202518
+ value: "Active"
202519
+ },
202520
+ canceled: {
202521
+ label: "Canceled",
202522
+ value: "Canceled"
202523
+ },
202524
+ pastDue: {
202525
+ label: "Past Due",
202526
+ value: "PastDue"
202527
+ },
202528
+ pending: {
202529
+ label: "Pending",
202530
+ value: "Pending"
202531
+ },
202532
+ expired: {
202533
+ label: "Expired",
202534
+ value: "Expired"
202535
+ }
202536
+ };
202537
+
202538
+ const SubscriptionFilters = ({
202539
+ close,
202540
+ onChange
202541
+ }) => {
202542
+ const {
202543
+ params,
202544
+ setParam
202545
+ } = Object(_common_Filters_QueryContext__WEBPACK_IMPORTED_MODULE_9__["useQueryContext"])();
202546
+ const {
202547
+ data: billingPlans = [],
202548
+ isRequesting: plansLoading,
202549
+ error: plansError
202550
+ } = Object(_hooks_useReadTransaction__WEBPACK_IMPORTED_MODULE_12__["default"])(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_13__["adminListBillingPlans"], {});
202551
+ const onSearch = react__WEBPACK_IMPORTED_MODULE_0__["useCallback"](event => {
202552
+ if (event.key === "Enter") {
202553
+ const searchTerm = event.target.value;
202554
+ setParam("search", searchTerm);
202555
+ onChange();
202556
+ close();
202557
+ }
202558
+ }, [setParam, onChange, close]);
202559
+ const onInputChange = react__WEBPACK_IMPORTED_MODULE_0__["useCallback"](param => event => {
202560
+ const {
202561
+ value
202562
+ } = event.currentTarget;
202563
+ setParam(param, value);
202564
+ onChange();
202565
+ close();
202566
+ }, [setParam, onChange, close]);
202567
+ const onCheckboxChange = react__WEBPACK_IMPORTED_MODULE_0__["useCallback"](param => event => {
202568
+ const {
202569
+ value,
202570
+ checked
202571
+ } = event.currentTarget;
202572
+ setParam(param, curr => {
202573
+ if (checked) {
202574
+ return [...curr, value];
202575
+ } else {
202576
+ const updated = curr.slice();
202577
+ const valIndex = updated.indexOf(value);
202578
+
202579
+ if (valIndex > -1) {
202580
+ updated.splice(valIndex, 1);
202581
+ }
202582
+
202583
+ return updated;
202584
+ }
202585
+ });
202586
+ onChange();
202587
+ close();
202588
+ }, [setParam, onChange, close]);
202589
+ const fallbackUI = plansLoading && react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_common_LoadingOverlay__WEBPACK_IMPORTED_MODULE_14__["default"], {
202590
+ id: "plans-loading",
202591
+ contained: true
202592
+ }) || plansError && react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_common_ErrorMessage__WEBPACK_IMPORTED_MODULE_15__["default"], {
202593
+ error: plansError
202594
+ });
202595
+ return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react__WEBPACK_IMPORTED_MODULE_0__["Fragment"], null, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_Typography__WEBPACK_IMPORTED_MODULE_8___default.a, {
202596
+ variant: "headline",
202597
+ gutterBottom: true
202598
+ }, "Subscription Filters"), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_Grid__WEBPACK_IMPORTED_MODULE_1___default.a, {
202599
+ item: true,
202600
+ xs: 12,
202601
+ style: {
202602
+ marginBottom: "1em"
202603
+ }
202604
+ }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_FormControl__WEBPACK_IMPORTED_MODULE_3___default.a, {
202605
+ component: "fieldset"
202606
+ }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_FormLabel__WEBPACK_IMPORTED_MODULE_4___default.a, {
202607
+ component: "legend"
202608
+ }, "Search for subscriptions"), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_TextField__WEBPACK_IMPORTED_MODULE_7___default.a, {
202609
+ id: "subscription-search-input",
202610
+ type: "text",
202611
+ placeholder: "Search...",
202612
+ onKeyPress: onSearch
202613
+ }))), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_Grid__WEBPACK_IMPORTED_MODULE_1___default.a, {
202614
+ item: true,
202615
+ xs: 12,
202616
+ style: {
202617
+ marginBottom: "1em"
202618
+ }
202619
+ }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_FormControl__WEBPACK_IMPORTED_MODULE_3___default.a, {
202620
+ component: "fieldset"
202621
+ }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_FormLabel__WEBPACK_IMPORTED_MODULE_4___default.a, {
202622
+ component: "legend"
202623
+ }, "Filter by Subscription Start Due"), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_TextField__WEBPACK_IMPORTED_MODULE_7___default.a, {
202624
+ value: Object(_utils_timeToDate__WEBPACK_IMPORTED_MODULE_11__["toDatePicker"])(params.startDate),
202625
+ name: "start-date-filter",
202626
+ id: "start-date-filter",
202627
+ type: "date",
202628
+ onChange: onInputChange("startDate")
202629
+ }))), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_Grid__WEBPACK_IMPORTED_MODULE_1___default.a, {
202630
+ item: true,
202631
+ xs: 12,
202632
+ style: {
202633
+ marginBottom: "1em"
202634
+ }
202635
+ }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_FormControl__WEBPACK_IMPORTED_MODULE_3___default.a, {
202636
+ component: "fieldset"
202637
+ }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_FormLabel__WEBPACK_IMPORTED_MODULE_4___default.a, {
202638
+ component: "legend"
202639
+ }, "Filter by Subscription End Due"), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_TextField__WEBPACK_IMPORTED_MODULE_7___default.a, {
202640
+ value: Object(_utils_timeToDate__WEBPACK_IMPORTED_MODULE_11__["toDatePicker"])(params.endDate),
202641
+ name: "end-date-filter",
202642
+ id: "end-date-filter",
202643
+ type: "date",
202644
+ onChange: onInputChange("endDate")
202645
+ }))), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_Grid__WEBPACK_IMPORTED_MODULE_1___default.a, {
202646
+ item: true,
202647
+ xs: 12,
202648
+ style: {
202649
+ marginBottom: "1em"
202650
+ }
202651
+ }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_FormControl__WEBPACK_IMPORTED_MODULE_3___default.a, {
202652
+ component: "fieldset"
202653
+ }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_FormLabel__WEBPACK_IMPORTED_MODULE_4___default.a, {
202654
+ component: "legend"
202655
+ }, "Subscription status"), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_FormGroup__WEBPACK_IMPORTED_MODULE_5___default.a, null, Object.values(subscriptionStatuses).map(status => react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_FormControlLabel__WEBPACK_IMPORTED_MODULE_2___default.a, {
202656
+ key: status.value,
202657
+ control: react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_Checkbox__WEBPACK_IMPORTED_MODULE_6___default.a, {
202658
+ checked: params.subscriptionStatus.includes(status.value),
202659
+ onChange: onCheckboxChange("subscriptionStatus"),
202660
+ value: status.value
202661
+ }),
202662
+ label: status.label
202663
+ }))))), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_Grid__WEBPACK_IMPORTED_MODULE_1___default.a, {
202664
+ item: true,
202665
+ xs: 12
202666
+ }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_Typography__WEBPACK_IMPORTED_MODULE_8___default.a, {
202667
+ variant: "subheading"
202668
+ }, "Filter by Billing Plan")), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_Grid__WEBPACK_IMPORTED_MODULE_1___default.a, {
202669
+ item: true,
202670
+ xs: 12
202671
+ }, fallbackUI || react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react__WEBPACK_IMPORTED_MODULE_0__["Fragment"], null, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_Grid__WEBPACK_IMPORTED_MODULE_1___default.a, {
202672
+ item: true,
202673
+ xs: 12,
202674
+ style: {
202675
+ marginBottom: "1em"
202676
+ }
202677
+ }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_FormControl__WEBPACK_IMPORTED_MODULE_3___default.a, {
202678
+ component: "fieldset"
202679
+ }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_FormLabel__WEBPACK_IMPORTED_MODULE_4___default.a, {
202680
+ component: "legend"
202681
+ }, "Membership Plans"), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_FormGroup__WEBPACK_IMPORTED_MODULE_5___default.a, null, billingPlans.map(plan => react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_FormControlLabel__WEBPACK_IMPORTED_MODULE_2___default.a, {
202682
+ key: plan.id,
202683
+ control: react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_Checkbox__WEBPACK_IMPORTED_MODULE_6___default.a, {
202684
+ checked: params.planId.includes(plan.id),
202685
+ onChange: onCheckboxChange("planId"),
202686
+ value: plan.id
202687
+ }),
202688
+ label: plan.name
202689
+ }))))), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_Grid__WEBPACK_IMPORTED_MODULE_1___default.a, {
202690
+ item: true,
202691
+ xs: 12,
202692
+ style: {
202693
+ marginBottom: "1em"
202694
+ }
202695
+ }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_FormControl__WEBPACK_IMPORTED_MODULE_3___default.a, {
202696
+ component: "fieldset"
202697
+ }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_FormLabel__WEBPACK_IMPORTED_MODULE_4___default.a, {
202698
+ component: "legend"
202699
+ }, "Rental Plans"), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_FormGroup__WEBPACK_IMPORTED_MODULE_5___default.a, null, billingPlans.map(plan => react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_FormControlLabel__WEBPACK_IMPORTED_MODULE_2___default.a, {
202700
+ key: plan.id,
202701
+ control: react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_Checkbox__WEBPACK_IMPORTED_MODULE_6___default.a, {
202702
+ checked: params.planId.includes(plan.id),
202703
+ onChange: onCheckboxChange("planId"),
202704
+ value: plan.id
202705
+ }),
202706
+ label: plan.name
202707
+ }))))))));
202708
+ };
202709
+
202710
+ /* harmony default export */ __webpack_exports__["default"] = (Object(_common_FilterButton__WEBPACK_IMPORTED_MODULE_10__["withFilterButton"])(SubscriptionFilters));
202711
+
202712
+ /***/ }),
202713
+
201933
202714
  /***/ "./src/ui/subscriptions/SubscriptionsList.tsx":
201934
202715
  /*!****************************************************!*\
201935
202716
  !*** ./src/ui/subscriptions/SubscriptionsList.tsx ***!
@@ -201943,24 +202724,26 @@ __webpack_require__.r(__webpack_exports__);
201943
202724
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
201944
202725
  /* harmony import */ var _material_ui_core_Grid__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @material-ui/core/Grid */ "./node_modules/@material-ui/core/Grid/index.js");
201945
202726
  /* harmony import */ var _material_ui_core_Grid__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_material_ui_core_Grid__WEBPACK_IMPORTED_MODULE_1__);
201946
- /* harmony import */ var _material_ui_core_FormControlLabel__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @material-ui/core/FormControlLabel */ "./node_modules/@material-ui/core/FormControlLabel/index.js");
201947
- /* harmony import */ var _material_ui_core_FormControlLabel__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_material_ui_core_FormControlLabel__WEBPACK_IMPORTED_MODULE_2__);
201948
- /* harmony import */ var _material_ui_core_Checkbox__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @material-ui/core/Checkbox */ "./node_modules/@material-ui/core/Checkbox/index.js");
201949
- /* harmony import */ var _material_ui_core_Checkbox__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_material_ui_core_Checkbox__WEBPACK_IMPORTED_MODULE_3__);
201950
- /* harmony import */ var makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! makerspace-ts-api-client */ "./node_modules/makerspace-ts-api-client/dist/apiClient.js");
201951
- /* harmony import */ var makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_4__);
201952
- /* harmony import */ var _common_table_StatefulTable__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../common/table/StatefulTable */ "./src/ui/common/table/StatefulTable.tsx");
201953
- /* harmony import */ var _utils_numberAsCurrency__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../utils/numberAsCurrency */ "./src/ui/utils/numberAsCurrency.ts");
201954
- /* harmony import */ var _utils_timeToDate__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../utils/timeToDate */ "./src/ui/utils/timeToDate.ts");
201955
- /* harmony import */ var _utils_extractTotalItems__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../utils/extractTotalItems */ "./src/ui/utils/extractTotalItems.ts");
201956
- /* harmony import */ var _CancelSubscriptionModal__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./CancelSubscriptionModal */ "./src/ui/subscriptions/CancelSubscriptionModal.tsx");
201957
- /* harmony import */ var _hooks_useReadTransaction__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../hooks/useReadTransaction */ "./src/ui/hooks/useReadTransaction.ts");
202727
+ /* harmony import */ var makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! makerspace-ts-api-client */ "./node_modules/makerspace-ts-api-client/dist/apiClient.js");
202728
+ /* harmony import */ var makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_2__);
202729
+ /* harmony import */ var _common_table_StatefulTable__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../common/table/StatefulTable */ "./src/ui/common/table/StatefulTable.tsx");
202730
+ /* harmony import */ var _utils_numberAsCurrency__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../utils/numberAsCurrency */ "./src/ui/utils/numberAsCurrency.ts");
202731
+ /* harmony import */ var _utils_timeToDate__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../utils/timeToDate */ "./src/ui/utils/timeToDate.ts");
202732
+ /* harmony import */ var _utils_extractTotalItems__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../utils/extractTotalItems */ "./src/ui/utils/extractTotalItems.ts");
202733
+ /* harmony import */ var _CancelSubscriptionModal__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./CancelSubscriptionModal */ "./src/ui/subscriptions/CancelSubscriptionModal.tsx");
202734
+ /* harmony import */ var _hooks_useReadTransaction__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../hooks/useReadTransaction */ "./src/ui/hooks/useReadTransaction.ts");
202735
+ /* harmony import */ var _common_Filters_QueryContext__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../common/Filters/QueryContext */ "./src/ui/common/Filters/QueryContext.tsx");
202736
+ /* harmony import */ var _SubscriptionFilters__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./SubscriptionFilters */ "./src/ui/subscriptions/SubscriptionFilters.tsx");
201958
202737
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
201959
202738
 
201960
202739
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
201961
202740
 
201962
202741
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
201963
202742
 
202743
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
202744
+
202745
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
202746
+
201964
202747
 
201965
202748
 
201966
202749
 
@@ -201983,7 +202766,7 @@ const fields = [{
201983
202766
  }, {
201984
202767
  id: "amount",
201985
202768
  label: "Amount",
201986
- cell: row => Object(_utils_numberAsCurrency__WEBPACK_IMPORTED_MODULE_6__["numberAsCurrency"])(row.amount)
202769
+ cell: row => Object(_utils_numberAsCurrency__WEBPACK_IMPORTED_MODULE_4__["numberAsCurrency"])(row.amount)
201987
202770
  }, {
201988
202771
  id: "status",
201989
202772
  label: "Status",
@@ -201991,31 +202774,42 @@ const fields = [{
201991
202774
  }, {
201992
202775
  id: "nextBilling",
201993
202776
  label: "Next Billing Date",
201994
- cell: row => Object(_utils_timeToDate__WEBPACK_IMPORTED_MODULE_7__["timeToDate"])(row.nextBillingDate)
202777
+ cell: row => Object(_utils_timeToDate__WEBPACK_IMPORTED_MODULE_5__["timeToDate"])(row.nextBillingDate)
201995
202778
  }];
201996
202779
 
201997
202780
  const rowId = sub => sub.id;
201998
202781
 
201999
202782
  const SubscriptionsTable = () => {
202000
- const [hideCanceled, setHideCanceled] = react__WEBPACK_IMPORTED_MODULE_0__["useState"](true);
202001
- const toggleHideCanceled = react__WEBPACK_IMPORTED_MODULE_0__["useCallback"](() => {
202002
- setHideCanceled(canceled => !canceled);
202003
- }, [setHideCanceled]);
202004
202783
  const [selectedId, setSelectedId] = react__WEBPACK_IMPORTED_MODULE_0__["useState"]();
202005
- const [queryParams, setQueryState, resetQuery] = Object(_common_table_StatefulTable__WEBPACK_IMPORTED_MODULE_5__["useQueryState"])();
202784
+
202785
+ const _useQueryContext = Object(_common_Filters_QueryContext__WEBPACK_IMPORTED_MODULE_9__["useQueryContext"])({
202786
+ search: undefined,
202787
+ startDate: undefined,
202788
+ endDate: undefined,
202789
+ planId: [],
202790
+ subscriptionStatus: [_SubscriptionFilters__WEBPACK_IMPORTED_MODULE_10__["subscriptionStatuses"].active.value]
202791
+ }),
202792
+ {
202793
+ params: {
202794
+ pageNum,
202795
+ order,
202796
+ orderBy
202797
+ },
202798
+ changePage
202799
+ } = _useQueryContext,
202800
+ restParams = _objectWithoutProperties(_useQueryContext.params, ["pageNum", "order", "orderBy"]);
202801
+
202006
202802
  const {
202007
202803
  isRequesting,
202008
202804
  data: subscriptions = [],
202009
202805
  response,
202010
202806
  refresh,
202011
202807
  error
202012
- } = Object(_hooks_useReadTransaction__WEBPACK_IMPORTED_MODULE_10__["default"])(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_4__["adminListSubscriptions"], _objectSpread({}, queryParams, {
202013
- hideCanceled
202014
- }));
202808
+ } = Object(_hooks_useReadTransaction__WEBPACK_IMPORTED_MODULE_8__["default"])(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_2__["adminListSubscriptions"], _objectSpread({}, restParams));
202015
202809
  const onCancel = react__WEBPACK_IMPORTED_MODULE_0__["useCallback"](() => {
202016
202810
  refresh();
202017
- resetQuery();
202018
- }, [refresh, resetQuery]);
202811
+ changePage(0);
202812
+ }, [refresh, changePage]);
202019
202813
  const selectedSubscription = subscriptions.find(sub => sub.id === selectedId);
202020
202814
  return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_Grid__WEBPACK_IMPORTED_MODULE_1___default.a, {
202021
202815
  container: true,
@@ -202024,36 +202818,26 @@ const SubscriptionsTable = () => {
202024
202818
  }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_Grid__WEBPACK_IMPORTED_MODULE_1___default.a, {
202025
202819
  item: true,
202026
202820
  xs: 12
202027
- }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_Grid__WEBPACK_IMPORTED_MODULE_1___default.a, null, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_CancelSubscriptionModal__WEBPACK_IMPORTED_MODULE_9__["default"], {
202821
+ }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_Grid__WEBPACK_IMPORTED_MODULE_1___default.a, null, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_CancelSubscriptionModal__WEBPACK_IMPORTED_MODULE_7__["default"], {
202028
202822
  subscription: selectedSubscription,
202029
202823
  onSuccess: onCancel
202030
- }), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_FormControlLabel__WEBPACK_IMPORTED_MODULE_2___default.a, {
202031
- control: react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_Checkbox__WEBPACK_IMPORTED_MODULE_3___default.a, {
202032
- name: "hide-canceled",
202033
- value: "hide-canceled",
202034
- id: "hide-canceled",
202035
- checked: !!hideCanceled,
202036
- onChange: toggleHideCanceled,
202037
- color: "default"
202038
- }),
202039
- label: "Hide canceled subscriptions."
202040
- })), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_common_table_StatefulTable__WEBPACK_IMPORTED_MODULE_5__["default"], {
202824
+ }), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_SubscriptionFilters__WEBPACK_IMPORTED_MODULE_10__["default"], {
202825
+ onChange: refresh
202826
+ })), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_common_table_StatefulTable__WEBPACK_IMPORTED_MODULE_3__["default"], {
202041
202827
  id: "subscriptions-table",
202042
202828
  title: "Subscriptions",
202043
202829
  loading: isRequesting,
202044
202830
  data: Object.values(subscriptions),
202045
202831
  error: error,
202046
- totalItems: Object(_utils_extractTotalItems__WEBPACK_IMPORTED_MODULE_8__["default"])(response),
202832
+ totalItems: Object(_utils_extractTotalItems__WEBPACK_IMPORTED_MODULE_6__["default"])(response),
202047
202833
  selectedIds: selectedId,
202048
202834
  setSelectedIds: setSelectedId,
202049
- queryParams: queryParams,
202050
- setQuery: setQueryState,
202051
202835
  columns: fields,
202052
202836
  rowId: rowId
202053
202837
  })));
202054
202838
  };
202055
202839
 
202056
- /* harmony default export */ __webpack_exports__["default"] = (SubscriptionsTable);
202840
+ /* harmony default export */ __webpack_exports__["default"] = (Object(_common_Filters_QueryContext__WEBPACK_IMPORTED_MODULE_9__["withQueryContext"])(SubscriptionsTable));
202057
202841
 
202058
202842
  /***/ }),
202059
202843
 
@@ -202165,11 +202949,16 @@ __webpack_require__.r(__webpack_exports__);
202165
202949
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
202166
202950
  /* harmony import */ var _material_ui_core_Typography__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @material-ui/core/Typography */ "./node_modules/@material-ui/core/Typography/index.js");
202167
202951
  /* harmony import */ var _material_ui_core_Typography__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_material_ui_core_Typography__WEBPACK_IMPORTED_MODULE_1__);
202168
- /* harmony import */ var ui_common_FormModal__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ui/common/FormModal */ "./src/ui/common/FormModal.tsx");
202169
- /* harmony import */ var ui_common_KeyValueItem__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ui/common/KeyValueItem */ "./src/ui/common/KeyValueItem.tsx");
202170
- /* harmony import */ var ui_utils_timeToDate__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ui/utils/timeToDate */ "./src/ui/utils/timeToDate.ts");
202171
- /* harmony import */ var ui_utils_numberAsCurrency__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ui/utils/numberAsCurrency */ "./src/ui/utils/numberAsCurrency.ts");
202172
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
202952
+ /* harmony import */ var makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! makerspace-ts-api-client */ "./node_modules/makerspace-ts-api-client/dist/apiClient.js");
202953
+ /* harmony import */ var makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_2__);
202954
+ /* harmony import */ var ui_common_FormModal__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ui/common/FormModal */ "./src/ui/common/FormModal.tsx");
202955
+ /* harmony import */ var ui_common_KeyValueItem__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ui/common/KeyValueItem */ "./src/ui/common/KeyValueItem.tsx");
202956
+ /* harmony import */ var ui_utils_timeToDate__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ui/utils/timeToDate */ "./src/ui/utils/timeToDate.ts");
202957
+ /* harmony import */ var ui_utils_numberAsCurrency__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ui/utils/numberAsCurrency */ "./src/ui/utils/numberAsCurrency.ts");
202958
+ /* harmony import */ var _reducer_hooks__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../reducer/hooks */ "./src/ui/reducer/hooks.ts");
202959
+ /* harmony import */ var _common_ButtonRow__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../common/ButtonRow */ "./src/ui/common/ButtonRow.tsx");
202960
+ /* harmony import */ var _hooks_useModal__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../hooks/useModal */ "./src/ui/hooks/useModal.ts");
202961
+ /* harmony import */ var _hooks_useWriteTransaction__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../hooks/useWriteTransaction */ "./src/ui/hooks/useWriteTransaction.ts");
202173
202962
 
202174
202963
 
202175
202964
 
@@ -202178,564 +202967,426 @@ function _defineProperty(obj, key, value) { if (key in obj) { Object.definePrope
202178
202967
 
202179
202968
 
202180
202969
 
202181
- class DeleteTransactionModal extends react__WEBPACK_IMPORTED_MODULE_0__["Component"] {
202182
- constructor(...args) {
202183
- super(...args);
202184
202970
 
202185
- _defineProperty(this, "formRef", void 0);
202186
202971
 
202187
- _defineProperty(this, "setFormRef", ref => this.formRef = ref);
202188
- }
202189
202972
 
202190
- render() {
202191
- const {
202192
- isOpen,
202193
- onClose,
202194
- isRequesting,
202195
- error,
202196
- onSubmit,
202197
- transaction,
202973
+
202974
+ const RefundTransactionModal = ({
202975
+ transaction = {},
202976
+ onSuccess
202977
+ }) => {
202978
+ const {
202979
+ currentUser: {
202198
202980
  isAdmin
202199
- } = this.props;
202200
- const title = isAdmin ? "Refund Transaction" : "Request Refund";
202201
- const text = isAdmin ? react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", null, "Are you sure you want to refund this transaction?") : react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", null, "Would you like to request a refund for this transaction?", react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("br", null), "An administrator will review the request and notify you of a decision. Please note, requests for refunds are evaluated on a case by case basis and are not guaranteed.");
202202
- return transaction ? react__WEBPACK_IMPORTED_MODULE_0__["createElement"](ui_common_FormModal__WEBPACK_IMPORTED_MODULE_2__["default"], {
202203
- formRef: this.setFormRef,
202204
- id: "refund-transaction",
202205
- loading: isRequesting,
202206
- isOpen: isOpen,
202207
- closeHandler: onClose,
202208
- title: title,
202209
- onSubmit: onSubmit,
202210
- error: error
202211
- }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_Typography__WEBPACK_IMPORTED_MODULE_1___default.a, {
202212
- gutterBottom: true
202213
- }, text), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](ui_common_KeyValueItem__WEBPACK_IMPORTED_MODULE_3__["default"], {
202214
- label: "Date"
202215
- }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", {
202216
- id: "refund-transaction-date"
202217
- }, Object(ui_utils_timeToDate__WEBPACK_IMPORTED_MODULE_4__["timeToDate"])(transaction.createdAt))), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](ui_common_KeyValueItem__WEBPACK_IMPORTED_MODULE_3__["default"], {
202218
- label: "Amount"
202219
- }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", {
202220
- id: "refund-transaction-amount"
202221
- }, Object(ui_utils_numberAsCurrency__WEBPACK_IMPORTED_MODULE_5__["numberAsCurrency"])(Number(transaction.amount) - Number(transaction.discountAmount)))), isAdmin && transaction.memberName && react__WEBPACK_IMPORTED_MODULE_0__["createElement"](ui_common_KeyValueItem__WEBPACK_IMPORTED_MODULE_3__["default"], {
202222
- label: "Member"
202223
- }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", {
202224
- id: "refund-transaction-member"
202225
- }, transaction.memberName)), transaction.invoice && react__WEBPACK_IMPORTED_MODULE_0__["createElement"](ui_common_KeyValueItem__WEBPACK_IMPORTED_MODULE_3__["default"], {
202226
- label: "Description"
202227
- }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", {
202228
- id: "refund-transaction-description"
202229
- }, transaction.invoice.description))) : null;
202981
+ }
202982
+ } = Object(_reducer_hooks__WEBPACK_IMPORTED_MODULE_7__["useAuthState"])();
202983
+ const {
202984
+ isOpen,
202985
+ openModal,
202986
+ closeModal
202987
+ } = Object(_hooks_useModal__WEBPACK_IMPORTED_MODULE_9__["default"])();
202988
+ const title = isAdmin ? "Refund Transaction" : "Request Refund";
202989
+ const text = isAdmin ? react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", null, "Are you sure you want to refund this transaction?") : react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", null, "Would you like to request a refund for this transaction?", react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("br", null), "An administrator will review the request and notify you of a decision. Please note, requests for refunds are evaluated on a case by case basis and are not guaranteed."); // Disable if invoice already refunded or not yet settled
202990
+
202991
+ let disabled = true;
202992
+ let label = "Refund transaction";
202993
+
202994
+ if (transaction.id) {
202995
+ if (transaction.status !== makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_2__["TransactionStatus"].Settled) {
202996
+ disabled = true;
202997
+ label = "Transaction in progress";
202998
+ } else {
202999
+ if (isAdmin) {
203000
+ label = "Refund Transaction";
203001
+ disabled = !!transaction.refundedTransactionId;
203002
+ } else {
203003
+ label = "Request Refund";
203004
+ disabled = !!transaction.refundedTransactionId || !!(transaction.invoice && transaction.invoice.refundRequested);
203005
+ }
203006
+ }
202230
203007
  }
202231
203008
 
202232
- }
203009
+ const onWriteSuccess = react__WEBPACK_IMPORTED_MODULE_0__["useCallback"](() => {
203010
+ closeModal();
203011
+ onSuccess && onSuccess();
203012
+ }, [onSuccess, closeModal]);
203013
+ const {
203014
+ isRequesting,
203015
+ error,
203016
+ call
203017
+ } = Object(_hooks_useWriteTransaction__WEBPACK_IMPORTED_MODULE_10__["default"])(isAdmin ? makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_2__["adminDeleteTransaction"] : makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_2__["deleteTransaction"], onWriteSuccess);
203018
+ const onSubmit = react__WEBPACK_IMPORTED_MODULE_0__["useCallback"](() => {
203019
+ call({
203020
+ id: transaction.id
203021
+ });
203022
+ }, [call, transaction]);
203023
+ return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react__WEBPACK_IMPORTED_MODULE_0__["Fragment"], null, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_common_ButtonRow__WEBPACK_IMPORTED_MODULE_8__["ActionButton"], {
203024
+ label: label,
203025
+ id: "transactions-list-delete",
203026
+ variant: "contained",
203027
+ color: "secondary",
203028
+ disabled: disabled,
203029
+ onClick: openModal
203030
+ }), isOpen && react__WEBPACK_IMPORTED_MODULE_0__["createElement"](ui_common_FormModal__WEBPACK_IMPORTED_MODULE_3__["default"], {
203031
+ id: "refund-transaction",
203032
+ loading: isRequesting,
203033
+ isOpen: isOpen,
203034
+ closeHandler: closeModal,
203035
+ title: title,
203036
+ onSubmit: onSubmit,
203037
+ error: error
203038
+ }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_Typography__WEBPACK_IMPORTED_MODULE_1___default.a, {
203039
+ gutterBottom: true
203040
+ }, text), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](ui_common_KeyValueItem__WEBPACK_IMPORTED_MODULE_4__["default"], {
203041
+ label: "Date"
203042
+ }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", {
203043
+ id: "refund-transaction-date"
203044
+ }, Object(ui_utils_timeToDate__WEBPACK_IMPORTED_MODULE_5__["timeToDate"])(transaction.createdAt))), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](ui_common_KeyValueItem__WEBPACK_IMPORTED_MODULE_4__["default"], {
203045
+ label: "Amount"
203046
+ }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", {
203047
+ id: "refund-transaction-amount"
203048
+ }, Object(ui_utils_numberAsCurrency__WEBPACK_IMPORTED_MODULE_6__["numberAsCurrency"])(Number(transaction.amount) - Number(transaction.discountAmount)))), isAdmin && transaction.memberName && react__WEBPACK_IMPORTED_MODULE_0__["createElement"](ui_common_KeyValueItem__WEBPACK_IMPORTED_MODULE_4__["default"], {
203049
+ label: "Member"
203050
+ }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", {
203051
+ id: "refund-transaction-member"
203052
+ }, transaction.memberName)), transaction.invoice && react__WEBPACK_IMPORTED_MODULE_0__["createElement"](ui_common_KeyValueItem__WEBPACK_IMPORTED_MODULE_4__["default"], {
203053
+ label: "Description"
203054
+ }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", {
203055
+ id: "refund-transaction-description"
203056
+ }, transaction.invoice.description))));
203057
+ };
202233
203058
 
202234
- /* harmony default export */ __webpack_exports__["default"] = (DeleteTransactionModal);
203059
+ /* harmony default export */ __webpack_exports__["default"] = (RefundTransactionModal);
202235
203060
 
202236
203061
  /***/ }),
202237
203062
 
202238
- /***/ "./src/ui/transactions/TransactionsList.tsx":
202239
- /*!**************************************************!*\
202240
- !*** ./src/ui/transactions/TransactionsList.tsx ***!
202241
- \**************************************************/
202242
- /*! exports provided: default */
203063
+ /***/ "./src/ui/transactions/TransactionsFilter.tsx":
203064
+ /*!****************************************************!*\
203065
+ !*** ./src/ui/transactions/TransactionsFilter.tsx ***!
203066
+ \****************************************************/
203067
+ /*! exports provided: transactionStatuses, default */
202243
203068
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
202244
203069
 
202245
203070
  "use strict";
202246
203071
  __webpack_require__.r(__webpack_exports__);
203072
+ /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "transactionStatuses", function() { return transactionStatuses; });
202247
203073
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js");
202248
203074
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
202249
- /* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! moment */ "./node_modules/moment/moment.js");
202250
- /* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(moment__WEBPACK_IMPORTED_MODULE_1__);
202251
- /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js");
202252
- /* harmony import */ var react_router_dom__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react-router-dom */ "./node_modules/react-router-dom/esm/react-router-dom.js");
202253
- /* harmony import */ var _material_ui_core_Grid__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @material-ui/core/Grid */ "./node_modules/@material-ui/core/Grid/index.js");
202254
- /* harmony import */ var _material_ui_core_Grid__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_material_ui_core_Grid__WEBPACK_IMPORTED_MODULE_4__);
202255
- /* harmony import */ var _material_ui_core_TextField__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @material-ui/core/TextField */ "./node_modules/@material-ui/core/TextField/index.js");
202256
- /* harmony import */ var _material_ui_core_TextField__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_material_ui_core_TextField__WEBPACK_IMPORTED_MODULE_5__);
202257
- /* harmony import */ var app_entities_transaction__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! app/entities/transaction */ "./src/app/entities/transaction.ts");
202258
- /* harmony import */ var ui_common_table_constants__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ui/common/table/constants */ "./src/ui/common/table/constants.ts");
202259
- /* harmony import */ var ui_common_table_TableContainer__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ui/common/table/TableContainer */ "./src/ui/common/table/TableContainer.tsx");
202260
- /* harmony import */ var ui_transactions_actions__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ui/transactions/actions */ "./src/ui/transactions/actions.ts");
202261
- /* harmony import */ var ui_utils_timeToDate__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ui/utils/timeToDate */ "./src/ui/utils/timeToDate.ts");
202262
- /* harmony import */ var app_constants__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! app/constants */ "./src/app/constants.ts");
202263
- /* harmony import */ var ui_transactions_UpdateTransactionContainer__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ui/transactions/UpdateTransactionContainer */ "./src/ui/transactions/UpdateTransactionContainer.tsx");
202264
- /* harmony import */ var ui_transactions_RefundTransactionModal__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ui/transactions/RefundTransactionModal */ "./src/ui/transactions/RefundTransactionModal.tsx");
202265
- /* harmony import */ var ui_common_ButtonRow__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ui/common/ButtonRow */ "./src/ui/common/ButtonRow.tsx");
202266
- /* harmony import */ var ui_utils_numberAsCurrency__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ui/utils/numberAsCurrency */ "./src/ui/utils/numberAsCurrency.ts");
202267
- /* harmony import */ var ui_transactions_utils__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ui/transactions/utils */ "./src/ui/transactions/utils.tsx");
202268
- /* harmony import */ var _common_MemberSearchInput__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../common/MemberSearchInput */ "./src/ui/common/MemberSearchInput.tsx");
202269
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
202270
-
202271
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
202272
-
202273
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
202274
-
202275
-
202276
-
202277
-
202278
-
202279
-
202280
-
202281
-
202282
-
202283
-
202284
-
202285
-
202286
-
202287
-
202288
-
202289
-
202290
-
202291
-
202292
-
202293
-
202294
-
202295
- class TransactionsList extends react__WEBPACK_IMPORTED_MODULE_0__["Component"] {
202296
- constructor(props) {
202297
- super(props);
202298
-
202299
- _defineProperty(this, "fields", [{
202300
- id: "createdAt",
202301
- label: "Date",
202302
- cell: row => Object(ui_utils_timeToDate__WEBPACK_IMPORTED_MODULE_10__["timeToDate"])(row.createdAt),
202303
- defaultSortDirection: ui_common_table_constants__WEBPACK_IMPORTED_MODULE_7__["SortDirection"].Desc
202304
- }, {
202305
- id: "amount",
202306
- label: "Amount",
202307
- cell: row => {
202308
- const amount = Number(row.amount);
202309
- const discount = Number(row.discountAmount);
202310
- let total = amount;
202311
-
202312
- if (discount) {
202313
- total -= discount;
202314
- }
202315
-
202316
- const totalAsText = Object(ui_utils_numberAsCurrency__WEBPACK_IMPORTED_MODULE_15__["numberAsCurrency"])(total);
202317
-
202318
- if (row.refundedTransactionId) {
202319
- return `(${totalAsText})`;
202320
- }
202321
-
202322
- return totalAsText;
202323
- },
202324
- defaultSortDirection: ui_common_table_constants__WEBPACK_IMPORTED_MODULE_7__["SortDirection"].Desc
202325
- }, {
202326
- id: "description",
202327
- label: "Description",
202328
- cell: row => {
202329
- let description = "";
202330
-
202331
- if (row.refundedTransactionId) {
202332
- description += "Refund";
202333
- } else if (row.subscriptionId) {
202334
- description += "Subscription Payment";
202335
- } else {
202336
- description += "Standard Payment";
202337
- }
202338
-
202339
- if (row.invoice) {
202340
- description += ` for ${row.invoice.name}`;
202341
- }
202342
-
202343
- return description;
202344
- }
202345
- }, ...(this.props.member ? [] : [{
202346
- id: "member",
202347
- label: "Member",
202348
- cell: row => {
202349
- if (row.memberId) {
202350
- return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react_router_dom__WEBPACK_IMPORTED_MODULE_3__["Link"], {
202351
- to: `/members/${row.memberId}`
202352
- }, row.memberName);
202353
- }
202354
-
202355
- if (row.customerDetails) {
202356
- return `${row.customerDetails.first_name} ${row.customerDetails.last_name}`;
202357
- }
202358
-
202359
- return "Unknown";
202360
- },
202361
- width: 200
202362
- }]), {
202363
- id: "status",
202364
- label: "Status",
202365
- cell: ui_transactions_utils__WEBPACK_IMPORTED_MODULE_16__["renderTransactionStatus"]
202366
- }]);
202367
-
202368
- _defineProperty(this, "openDeleteModal", () => this.openTransactionModal(app_constants__WEBPACK_IMPORTED_MODULE_11__["CrudOperation"].Delete));
202369
-
202370
- _defineProperty(this, "openTransactionModal", operation => this.setState({
202371
- openTransactionForm: true,
202372
- modalOperation: operation
202373
- }));
202374
-
202375
- _defineProperty(this, "closeTransactionModal", () => {
202376
- this.setState({
202377
- openTransactionForm: false
202378
- });
202379
- });
202380
-
202381
- _defineProperty(this, "getActionButtons", () => {
202382
- const {
202383
- selectedId
202384
- } = this.state;
202385
- const {
202386
- admin,
202387
- transactions
202388
- } = this.props;
202389
- const transaction = transactions && selectedId && transactions[selectedId]; // Disable if invoice already refunded or not yet settled
202390
-
202391
- let disabled = true;
202392
- let label = "Refund transaction";
202393
-
202394
- if (transaction) {
202395
- if (transaction.status !== app_entities_transaction__WEBPACK_IMPORTED_MODULE_6__["TransactionStatus"].Settled) {
202396
- disabled = true;
202397
- label = "Transaction in progress";
202398
- } else {
202399
- if (admin) {
202400
- label = "Refund Transaction";
202401
- disabled = !!transaction.refundedTransactionId;
202402
- } else {
202403
- label = "Request Refund";
202404
- disabled = !!transaction.refundedTransactionId || !!(transaction.invoice && transaction.invoice.refundRequested);
202405
- }
202406
- }
202407
- }
202408
-
202409
- const actionButtons = [{
202410
- label,
202411
- id: "transactions-list-delete",
202412
- variant: "contained",
202413
- color: "secondary",
202414
- disabled: disabled,
202415
- onClick: this.openDeleteModal
202416
- }];
202417
- return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](ui_common_ButtonRow__WEBPACK_IMPORTED_MODULE_14__["default"], {
202418
- actionButtons: actionButtons
202419
- });
202420
- });
202421
-
202422
- _defineProperty(this, "getQueryParams", () => {
202423
- const {
202424
- pageNum,
202425
- orderBy,
202426
- order,
202427
- startDate,
202428
- endDate,
202429
- member
202430
- } = this.state;
202431
- return _objectSpread({
202432
- pageNum,
202433
- orderBy,
202434
- order,
202435
- startDate,
202436
- endDate
202437
- }, member && {
202438
- searchBy: app_entities_transaction__WEBPACK_IMPORTED_MODULE_6__["TransactionSearchCriteria"].Member,
202439
- searchId: member.id
202440
- });
202441
- });
202442
-
202443
- _defineProperty(this, "getTransactions", (resetPage = false) => {
202444
- const {
202445
- admin,
202446
- member
202447
- } = this.props;
202448
-
202449
- if (resetPage) {
202450
- this.setState({
202451
- pageNum: 0
202452
- });
202453
- }
203075
+ /* harmony import */ var _material_ui_core_Grid__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @material-ui/core/Grid */ "./node_modules/@material-ui/core/Grid/index.js");
203076
+ /* harmony import */ var _material_ui_core_Grid__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_material_ui_core_Grid__WEBPACK_IMPORTED_MODULE_1__);
203077
+ /* harmony import */ var _material_ui_core_FormControlLabel__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @material-ui/core/FormControlLabel */ "./node_modules/@material-ui/core/FormControlLabel/index.js");
203078
+ /* harmony import */ var _material_ui_core_FormControlLabel__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_material_ui_core_FormControlLabel__WEBPACK_IMPORTED_MODULE_2__);
203079
+ /* harmony import */ var _material_ui_core_FormControl__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @material-ui/core/FormControl */ "./node_modules/@material-ui/core/FormControl/index.js");
203080
+ /* harmony import */ var _material_ui_core_FormControl__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_material_ui_core_FormControl__WEBPACK_IMPORTED_MODULE_3__);
203081
+ /* harmony import */ var _material_ui_core_FormLabel__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @material-ui/core/FormLabel */ "./node_modules/@material-ui/core/FormLabel/index.js");
203082
+ /* harmony import */ var _material_ui_core_FormLabel__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_material_ui_core_FormLabel__WEBPACK_IMPORTED_MODULE_4__);
203083
+ /* harmony import */ var _material_ui_core_FormGroup__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @material-ui/core/FormGroup */ "./node_modules/@material-ui/core/FormGroup/index.js");
203084
+ /* harmony import */ var _material_ui_core_FormGroup__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(_material_ui_core_FormGroup__WEBPACK_IMPORTED_MODULE_5__);
203085
+ /* harmony import */ var _material_ui_core_Checkbox__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! @material-ui/core/Checkbox */ "./node_modules/@material-ui/core/Checkbox/index.js");
203086
+ /* harmony import */ var _material_ui_core_Checkbox__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(_material_ui_core_Checkbox__WEBPACK_IMPORTED_MODULE_6__);
203087
+ /* harmony import */ var _material_ui_core_TextField__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! @material-ui/core/TextField */ "./node_modules/@material-ui/core/TextField/index.js");
203088
+ /* harmony import */ var _material_ui_core_TextField__WEBPACK_IMPORTED_MODULE_7___default = /*#__PURE__*/__webpack_require__.n(_material_ui_core_TextField__WEBPACK_IMPORTED_MODULE_7__);
203089
+ /* harmony import */ var _material_ui_core_Typography__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! @material-ui/core/Typography */ "./node_modules/@material-ui/core/Typography/index.js");
203090
+ /* harmony import */ var _material_ui_core_Typography__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_material_ui_core_Typography__WEBPACK_IMPORTED_MODULE_8__);
203091
+ /* harmony import */ var _material_ui_core_Radio__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! @material-ui/core/Radio */ "./node_modules/@material-ui/core/Radio/index.js");
203092
+ /* harmony import */ var _material_ui_core_Radio__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(_material_ui_core_Radio__WEBPACK_IMPORTED_MODULE_9__);
203093
+ /* harmony import */ var _material_ui_core_RadioGroup__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! @material-ui/core/RadioGroup */ "./node_modules/@material-ui/core/RadioGroup/index.js");
203094
+ /* harmony import */ var _material_ui_core_RadioGroup__WEBPACK_IMPORTED_MODULE_10___default = /*#__PURE__*/__webpack_require__.n(_material_ui_core_RadioGroup__WEBPACK_IMPORTED_MODULE_10__);
203095
+ /* harmony import */ var _common_Filters_QueryContext__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../common/Filters/QueryContext */ "./src/ui/common/Filters/QueryContext.tsx");
203096
+ /* harmony import */ var _common_FilterButton__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../common/FilterButton */ "./src/ui/common/FilterButton.tsx");
203097
+ /* harmony import */ var _utils_timeToDate__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../utils/timeToDate */ "./src/ui/utils/timeToDate.ts");
203098
+ /* harmony import */ var _hooks_useReadTransaction__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../hooks/useReadTransaction */ "./src/ui/hooks/useReadTransaction.ts");
203099
+ /* harmony import */ var makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! makerspace-ts-api-client */ "./node_modules/makerspace-ts-api-client/dist/apiClient.js");
203100
+ /* harmony import */ var makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_15___default = /*#__PURE__*/__webpack_require__.n(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_15__);
203101
+ /* harmony import */ var _common_LoadingOverlay__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../common/LoadingOverlay */ "./src/ui/common/LoadingOverlay.tsx");
203102
+ /* harmony import */ var _common_ErrorMessage__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../common/ErrorMessage */ "./src/ui/common/ErrorMessage.tsx");
202454
203103
 
202455
- if (member && !member.customerId) {
202456
- return;
202457
- }
202458
203104
 
202459
- this.props.getTransactions(admin, this.getQueryParams());
202460
- });
202461
203105
 
202462
- _defineProperty(this, "rowId", row => row.id);
202463
203106
 
202464
- _defineProperty(this, "onSort", prop => {
202465
- const orderBy = prop;
202466
- let order = ui_common_table_constants__WEBPACK_IMPORTED_MODULE_7__["SortDirection"].Desc;
202467
203107
 
202468
- if (this.state.orderBy === orderBy && this.state.order === order) {
202469
- order = ui_common_table_constants__WEBPACK_IMPORTED_MODULE_7__["SortDirection"].Asc;
202470
- }
202471
203108
 
202472
- this.setState({
202473
- order,
202474
- orderBy,
202475
- pageNum: 0
202476
- }, () => this.getTransactions(true));
202477
- });
202478
203109
 
202479
- _defineProperty(this, "onPageChange", newPage => {
202480
- this.setState({
202481
- pageNum: newPage
202482
- }, this.getTransactions);
202483
- });
202484
203110
 
202485
- _defineProperty(this, "onSelect", (id, selected) => {
202486
- if (selected) {
202487
- this.setState({
202488
- selectedId: id
202489
- });
202490
- } else {
202491
- this.setState({
202492
- selectedId: undefined
202493
- });
202494
- }
202495
- });
202496
203111
 
202497
- _defineProperty(this, "updateMemberValue", newMember => {
202498
- this.setState({
202499
- member: newMember
202500
- }, () => this.getTransactions(true));
202501
- });
202502
203112
 
202503
- _defineProperty(this, "renderInvoiceForms", () => {
202504
- const {
202505
- selectedId,
202506
- openTransactionForm,
202507
- modalOperation
202508
- } = this.state;
202509
- const {
202510
- transactions,
202511
- member,
202512
- admin
202513
- } = this.props;
202514
203113
 
202515
- const refundModal = renderProps => {
202516
- const submit = async form => {
202517
- const success = await renderProps.submit(form);
202518
203114
 
202519
- if (success) {
202520
- this.setState({
202521
- selectedId: undefined,
202522
- pageNum: 0
202523
- }, this.getTransactions);
202524
- }
202525
- };
202526
203115
 
202527
- return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](ui_transactions_RefundTransactionModal__WEBPACK_IMPORTED_MODULE_13__["default"], {
202528
- ref: renderProps.setRef,
202529
- transaction: renderProps.transaction,
202530
- isOpen: renderProps.isOpen,
202531
- isRequesting: renderProps.isRequesting,
202532
- error: renderProps.error,
202533
- onClose: renderProps.closeHandler,
202534
- onSubmit: submit,
202535
- isAdmin: admin
202536
- });
202537
- };
202538
203116
 
202539
- const selectedTransaction = transactions[selectedId];
202540
- return !!selectedTransaction && react__WEBPACK_IMPORTED_MODULE_0__["createElement"](ui_transactions_UpdateTransactionContainer__WEBPACK_IMPORTED_MODULE_12__["default"], {
202541
- operation: app_constants__WEBPACK_IMPORTED_MODULE_11__["CrudOperation"].Delete,
202542
- isAdmin: admin,
202543
- isOpen: openTransactionForm && modalOperation === app_constants__WEBPACK_IMPORTED_MODULE_11__["CrudOperation"].Delete,
202544
- transaction: transactions[selectedId],
202545
- closeHandler: this.closeTransactionModal,
202546
- render: refundModal
202547
- });
202548
- });
202549
203117
 
202550
- _defineProperty(this, "updateStartDate", event => {
202551
- const {
202552
- value
202553
- } = event.currentTarget;
202554
- const newDate = value ? new Date(Object(ui_utils_timeToDate__WEBPACK_IMPORTED_MODULE_10__["dateToTime"])(value)) : "";
202555
- this.setState({
202556
- startDate: newDate
202557
- }, () => this.getTransactions(true));
202558
- });
202559
203118
 
202560
- _defineProperty(this, "updateEndDate", event => {
202561
- const {
202562
- value
202563
- } = event.currentTarget;
202564
- const newDate = value ? new Date(Object(ui_utils_timeToDate__WEBPACK_IMPORTED_MODULE_10__["dateToTime"])(value)) : "";
202565
- this.setState({
202566
- endDate: newDate
202567
- }, () => this.getTransactions(true));
202568
- });
202569
203119
 
202570
- this.state = {
202571
- selectedId: undefined,
202572
- pageNum: 0,
202573
- orderBy: "",
202574
- order: ui_common_table_constants__WEBPACK_IMPORTED_MODULE_7__["SortDirection"].Asc,
202575
- startDate: new Date(moment__WEBPACK_IMPORTED_MODULE_1__().subtract(1, "day").valueOf()),
202576
- endDate: new Date(),
202577
- modalOperation: undefined,
202578
- openTransactionForm: false,
202579
- member: undefined
202580
- };
202581
- }
202582
203120
 
202583
- componentDidMount() {
202584
- this.getTransactions();
203121
+ const transactionStatuses = {
203122
+ authorizing: {
203123
+ label: "Authorizing",
203124
+ value: "Authorizing"
203125
+ },
203126
+ authorized: {
203127
+ label: "Authorized",
203128
+ value: "Authorized"
203129
+ },
203130
+ authorizationExpired: {
203131
+ label: "Authorization Expired",
203132
+ value: "AuthorizationExpired"
203133
+ },
203134
+ submittedForSettlement: {
203135
+ label: "Submitted For Settlement",
203136
+ value: "SubmittedForSettlement"
203137
+ },
203138
+ settling: {
203139
+ label: "Settling",
203140
+ value: "Settling"
203141
+ },
203142
+ settlementPending: {
203143
+ label: "SettlementPending",
203144
+ value: "SettlementPending"
203145
+ },
203146
+ settlementDeclined: {
203147
+ label: "SettlementDeclined",
203148
+ value: "SettlementDeclined"
203149
+ },
203150
+ settled: {
203151
+ label: "Settled",
203152
+ value: "Settled"
203153
+ },
203154
+ voided: {
203155
+ label: "Voided",
203156
+ value: "Voided"
203157
+ },
203158
+ processorDeclined: {
203159
+ label: "ProcessorDeclined",
203160
+ value: "ProcessorDeclined"
203161
+ },
203162
+ gatewayRejected: {
203163
+ label: "GatewayRejected",
203164
+ value: "GatewayRejected"
203165
+ },
203166
+ failed: {
203167
+ label: "Failed",
203168
+ value: "Failed"
202585
203169
  }
203170
+ };
202586
203171
 
202587
- componentDidUpdate(prevProps) {
202588
- const {
202589
- member: oldMember
202590
- } = prevProps;
203172
+ const TransactionFilters = ({
203173
+ close,
203174
+ onChange
203175
+ }) => {
203176
+ const {
203177
+ params,
203178
+ setParam
203179
+ } = Object(_common_Filters_QueryContext__WEBPACK_IMPORTED_MODULE_11__["useQueryContext"])();
203180
+ const {
203181
+ data: billingPlans = [],
203182
+ isRequesting: plansLoading,
203183
+ error: plansError
203184
+ } = Object(_hooks_useReadTransaction__WEBPACK_IMPORTED_MODULE_14__["default"])(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_15__["adminListBillingPlans"], {});
203185
+ const onSearch = react__WEBPACK_IMPORTED_MODULE_0__["useCallback"](event => {
203186
+ if (event.key === "Enter") {
203187
+ const searchTerm = event.target.value;
203188
+ setParam("search", searchTerm);
203189
+ onChange();
203190
+ close();
203191
+ }
203192
+ }, [setParam, onChange, close]);
203193
+ const setType = react__WEBPACK_IMPORTED_MODULE_0__["useCallback"](event => {
203194
+ setParam("type", event.target.value);
203195
+ onChange();
203196
+ close();
203197
+ }, [setParam, onChange, close]);
203198
+ const toggleRefunded = react__WEBPACK_IMPORTED_MODULE_0__["useCallback"](event => {
202591
203199
  const {
202592
- member
202593
- } = this.props;
203200
+ value
203201
+ } = event.target;
203202
+ let param;
202594
203203
 
202595
- if ((oldMember && oldMember.id) !== (member && member.id)) {
202596
- // or member change
202597
- this.getTransactions(true);
203204
+ if (value === "true") {
203205
+ param = true;
203206
+ } else if (value === "false") {
203207
+ param = false;
202598
203208
  }
202599
- }
202600
203209
 
202601
- render() {
203210
+ setParam("refund", param);
203211
+
203212
+ if (!params.type) {
203213
+ setParam("type", "Sale");
203214
+ }
203215
+
203216
+ onChange();
203217
+ close();
203218
+ }, [setParam, onChange, close, params]);
203219
+ const onInputChange = react__WEBPACK_IMPORTED_MODULE_0__["useCallback"](param => event => {
202602
203220
  const {
202603
- transactions,
202604
- totalItems,
202605
- isReading,
202606
- readError,
202607
- admin,
202608
- member
202609
- } = this.props;
203221
+ value
203222
+ } = event.currentTarget;
203223
+ setParam(param, value);
203224
+ onChange();
203225
+ close();
203226
+ }, [setParam, onChange, close]);
203227
+ const onCheckboxChange = react__WEBPACK_IMPORTED_MODULE_0__["useCallback"](param => event => {
202610
203228
  const {
202611
- selectedId,
202612
- pageNum,
202613
- order,
202614
- orderBy,
202615
- startDate,
202616
- endDate
202617
- } = this.state;
202618
- const transactionList = Object.values(transactions);
202619
- let error = readError; // Give better error if nothing loads for member
203229
+ value,
203230
+ checked
203231
+ } = event.currentTarget;
203232
+ setParam(param, curr => {
203233
+ if (checked) {
203234
+ return [...curr, value];
203235
+ } else {
203236
+ const updated = curr.slice();
203237
+ const valIndex = updated.indexOf(value);
202620
203238
 
202621
- if (!transactionList.length && !error && member && !member.customerId) {
202622
- error = `No online payment history for ${member.firstname} ${member.lastname}.`;
202623
- }
203239
+ if (valIndex > -1) {
203240
+ updated.splice(valIndex, 1);
203241
+ }
202624
203242
 
202625
- return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_Grid__WEBPACK_IMPORTED_MODULE_4___default.a, {
202626
- container: true,
202627
- spacing: 24,
202628
- justify: "center"
202629
- }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_Grid__WEBPACK_IMPORTED_MODULE_4___default.a, {
202630
- item: true,
202631
- xs: 12
202632
- }, this.getActionButtons()), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_Grid__WEBPACK_IMPORTED_MODULE_4___default.a, {
202633
- item: true,
202634
- xs: 12
202635
- }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", {
202636
- style: {
202637
- marginRight: "20px"
202638
- }
202639
- }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_TextField__WEBPACK_IMPORTED_MODULE_5___default.a, {
202640
- value: Object(ui_utils_timeToDate__WEBPACK_IMPORTED_MODULE_10__["toDatePicker"])(startDate),
202641
- label: "Start Date",
202642
- name: "start-date-filter",
202643
- id: "start-date-filter",
202644
- type: "date",
202645
- onChange: this.updateStartDate,
202646
- InputLabelProps: {
202647
- shrink: true
202648
- }
202649
- })), react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", {
202650
- style: {
202651
- marginRight: "20px"
202652
- }
202653
- }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_TextField__WEBPACK_IMPORTED_MODULE_5___default.a, {
202654
- value: Object(ui_utils_timeToDate__WEBPACK_IMPORTED_MODULE_10__["toDatePicker"])(endDate),
202655
- label: "End Date",
202656
- name: "end-date-filter",
202657
- id: "end-date-filter",
202658
- type: "date",
202659
- onChange: this.updateEndDate,
202660
- InputLabelProps: {
202661
- shrink: true
203243
+ return updated;
202662
203244
  }
202663
- })), !member && react__WEBPACK_IMPORTED_MODULE_0__["createElement"]("span", {
202664
- style: {
202665
- width: "200px",
202666
- display: "inline-block"
202667
- }
202668
- }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_common_MemberSearchInput__WEBPACK_IMPORTED_MODULE_17__["default"], {
202669
- name: "member-filter",
202670
- placeholder: "Search by name or email",
202671
- onChange: this.updateMemberValue
202672
- }))), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_Grid__WEBPACK_IMPORTED_MODULE_4___default.a, {
202673
- item: true,
202674
- xs: 12
202675
- }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](ui_common_table_TableContainer__WEBPACK_IMPORTED_MODULE_8__["default"], {
202676
- id: "transactions-table",
202677
- title: member ? "Payment History" : "Transactions",
202678
- loading: isReading,
202679
- data: transactionList,
202680
- error: error,
202681
- totalItems: totalItems,
202682
- selectedIds: [selectedId],
202683
- pageNum: pageNum,
202684
- columns: this.fields,
202685
- order: order,
202686
- orderBy: orderBy,
202687
- onSort: this.onSort,
202688
- rowId: this.rowId,
202689
- onPageChange: this.onPageChange,
202690
- onSelect: this.onSelect
202691
- }), this.renderInvoiceForms()));
202692
- }
202693
-
202694
- }
203245
+ });
203246
+ onChange();
203247
+ close();
203248
+ }, [setParam, onChange, close]);
202695
203249
 
202696
- const mapStateToProps = (state, _ownProps) => {
202697
- const {
202698
- entities: transactions,
202699
- read: {
202700
- totalItems,
202701
- isRequesting: isReading,
202702
- error: readError
202703
- }
202704
- } = state.transactions;
202705
- const {
202706
- currentUser: {
202707
- isAdmin: admin
202708
- }
202709
- } = state.auth;
202710
- return {
202711
- transactions,
202712
- totalItems,
202713
- isReading,
202714
- readError,
202715
- admin
203250
+ const paramToVal = param => {
203251
+ return param === true ? "true" : param === false ? "false" : "both";
202716
203252
  };
202717
- };
202718
203253
 
202719
- const mapDispatchToProps = (dispatch, ownProps) => {
202720
- const {
202721
- member
202722
- } = ownProps;
202723
- return {
202724
- getTransactions: (admin, queryParams) => dispatch(Object(ui_transactions_actions__WEBPACK_IMPORTED_MODULE_9__["readTransactionsAction"])(admin, _objectSpread({}, queryParams, {}, member && {
202725
- searchBy: app_entities_transaction__WEBPACK_IMPORTED_MODULE_6__["TransactionSearchCriteria"].Member,
202726
- searchId: member.id
202727
- })))
202728
- };
203254
+ const fallbackUI = plansLoading && react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_common_LoadingOverlay__WEBPACK_IMPORTED_MODULE_16__["default"], {
203255
+ id: "plans-loading",
203256
+ contained: true
203257
+ }) || plansError && react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_common_ErrorMessage__WEBPACK_IMPORTED_MODULE_17__["default"], {
203258
+ error: plansError
203259
+ });
203260
+ return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react__WEBPACK_IMPORTED_MODULE_0__["Fragment"], null, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_Typography__WEBPACK_IMPORTED_MODULE_8___default.a, {
203261
+ variant: "headline",
203262
+ gutterBottom: true
203263
+ }, "Transaction Filters"), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_Grid__WEBPACK_IMPORTED_MODULE_1___default.a, {
203264
+ item: true,
203265
+ xs: 12,
203266
+ style: {
203267
+ marginBottom: "1em"
203268
+ }
203269
+ }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_FormControl__WEBPACK_IMPORTED_MODULE_3___default.a, {
203270
+ component: "fieldset"
203271
+ }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_FormLabel__WEBPACK_IMPORTED_MODULE_4___default.a, {
203272
+ component: "legend"
203273
+ }, "Search for transactions"), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_TextField__WEBPACK_IMPORTED_MODULE_7___default.a, {
203274
+ id: "transaction-search-input",
203275
+ type: "text",
203276
+ placeholder: "Search...",
203277
+ onKeyPress: onSearch
203278
+ }))), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_Grid__WEBPACK_IMPORTED_MODULE_1___default.a, {
203279
+ item: true,
203280
+ xs: 12,
203281
+ style: {
203282
+ marginBottom: "1em"
203283
+ }
203284
+ }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_FormControl__WEBPACK_IMPORTED_MODULE_3___default.a, {
203285
+ component: "fieldset"
203286
+ }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_FormLabel__WEBPACK_IMPORTED_MODULE_4___default.a, {
203287
+ component: "legend"
203288
+ }, "Filter by Transaction Type"), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_RadioGroup__WEBPACK_IMPORTED_MODULE_10___default.a, {
203289
+ name: "settled",
203290
+ value: params.type,
203291
+ onChange: setType
203292
+ }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_FormControlLabel__WEBPACK_IMPORTED_MODULE_2___default.a, {
203293
+ value: "Sale",
203294
+ control: react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_Radio__WEBPACK_IMPORTED_MODULE_9___default.a, null),
203295
+ label: "Sale"
203296
+ }), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_FormControlLabel__WEBPACK_IMPORTED_MODULE_2___default.a, {
203297
+ value: "Credit",
203298
+ control: react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_Radio__WEBPACK_IMPORTED_MODULE_9___default.a, null),
203299
+ label: "Credit"
203300
+ }), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_FormControlLabel__WEBPACK_IMPORTED_MODULE_2___default.a, {
203301
+ control: react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_Radio__WEBPACK_IMPORTED_MODULE_9___default.a, null),
203302
+ label: "Both"
203303
+ })))), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_Grid__WEBPACK_IMPORTED_MODULE_1___default.a, {
203304
+ item: true,
203305
+ xs: 12,
203306
+ style: {
203307
+ marginBottom: "1em"
203308
+ }
203309
+ }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_FormControl__WEBPACK_IMPORTED_MODULE_3___default.a, {
203310
+ component: "fieldset"
203311
+ }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_FormLabel__WEBPACK_IMPORTED_MODULE_4___default.a, {
203312
+ component: "legend"
203313
+ }, "Filter by Refunded"), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_RadioGroup__WEBPACK_IMPORTED_MODULE_10___default.a, {
203314
+ name: "settled",
203315
+ value: paramToVal(params.refund),
203316
+ onChange: toggleRefunded
203317
+ }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_FormControlLabel__WEBPACK_IMPORTED_MODULE_2___default.a, {
203318
+ value: "true",
203319
+ control: react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_Radio__WEBPACK_IMPORTED_MODULE_9___default.a, null),
203320
+ label: "Refunded"
203321
+ }), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_FormControlLabel__WEBPACK_IMPORTED_MODULE_2___default.a, {
203322
+ value: "false",
203323
+ control: react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_Radio__WEBPACK_IMPORTED_MODULE_9___default.a, null),
203324
+ label: "Not Refunded"
203325
+ }), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_FormControlLabel__WEBPACK_IMPORTED_MODULE_2___default.a, {
203326
+ value: "both",
203327
+ control: react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_Radio__WEBPACK_IMPORTED_MODULE_9___default.a, null),
203328
+ label: "Both"
203329
+ })))), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_Grid__WEBPACK_IMPORTED_MODULE_1___default.a, {
203330
+ item: true,
203331
+ xs: 12,
203332
+ style: {
203333
+ marginBottom: "1em"
203334
+ }
203335
+ }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_FormControl__WEBPACK_IMPORTED_MODULE_3___default.a, {
203336
+ component: "fieldset"
203337
+ }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_FormLabel__WEBPACK_IMPORTED_MODULE_4___default.a, {
203338
+ component: "legend"
203339
+ }, "Filter by Transaction Start Due"), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_TextField__WEBPACK_IMPORTED_MODULE_7___default.a, {
203340
+ value: Object(_utils_timeToDate__WEBPACK_IMPORTED_MODULE_13__["toDatePicker"])(params.startDate),
203341
+ name: "start-date-filter",
203342
+ id: "start-date-filter",
203343
+ type: "date",
203344
+ onChange: onInputChange("startDate")
203345
+ }))), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_Grid__WEBPACK_IMPORTED_MODULE_1___default.a, {
203346
+ item: true,
203347
+ xs: 12,
203348
+ style: {
203349
+ marginBottom: "1em"
203350
+ }
203351
+ }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_FormControl__WEBPACK_IMPORTED_MODULE_3___default.a, {
203352
+ component: "fieldset"
203353
+ }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_FormLabel__WEBPACK_IMPORTED_MODULE_4___default.a, {
203354
+ component: "legend"
203355
+ }, "Filter by Transaction End Due"), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_TextField__WEBPACK_IMPORTED_MODULE_7___default.a, {
203356
+ value: Object(_utils_timeToDate__WEBPACK_IMPORTED_MODULE_13__["toDatePicker"])(params.endDate),
203357
+ name: "end-date-filter",
203358
+ id: "end-date-filter",
203359
+ type: "date",
203360
+ onChange: onInputChange("endDate")
203361
+ }))), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_Grid__WEBPACK_IMPORTED_MODULE_1___default.a, {
203362
+ item: true,
203363
+ xs: 12,
203364
+ style: {
203365
+ marginBottom: "1em"
203366
+ }
203367
+ }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_FormControl__WEBPACK_IMPORTED_MODULE_3___default.a, {
203368
+ component: "fieldset"
203369
+ }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_FormLabel__WEBPACK_IMPORTED_MODULE_4___default.a, {
203370
+ component: "legend"
203371
+ }, "Transaction status"), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_FormGroup__WEBPACK_IMPORTED_MODULE_5___default.a, null, Object.values(transactionStatuses).map(status => react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_FormControlLabel__WEBPACK_IMPORTED_MODULE_2___default.a, {
203372
+ key: status.value,
203373
+ control: react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_Checkbox__WEBPACK_IMPORTED_MODULE_6___default.a, {
203374
+ checked: params.transactionStatus.includes(status.value),
203375
+ onChange: onCheckboxChange("transactionStatus"),
203376
+ value: status.value
203377
+ }),
203378
+ label: status.label
203379
+ }))))));
202729
203380
  };
202730
203381
 
202731
- /* harmony default export */ __webpack_exports__["default"] = (Object(react_router_dom__WEBPACK_IMPORTED_MODULE_3__["withRouter"])(Object(react_redux__WEBPACK_IMPORTED_MODULE_2__["connect"])(mapStateToProps, mapDispatchToProps)(TransactionsList)));
203382
+ /* harmony default export */ __webpack_exports__["default"] = (Object(_common_FilterButton__WEBPACK_IMPORTED_MODULE_12__["withFilterButton"])(TransactionFilters));
202732
203383
 
202733
203384
  /***/ }),
202734
203385
 
202735
- /***/ "./src/ui/transactions/UpdateTransactionContainer.tsx":
202736
- /*!************************************************************!*\
202737
- !*** ./src/ui/transactions/UpdateTransactionContainer.tsx ***!
202738
- \************************************************************/
203386
+ /***/ "./src/ui/transactions/TransactionsList.tsx":
203387
+ /*!**************************************************!*\
203388
+ !*** ./src/ui/transactions/TransactionsList.tsx ***!
203389
+ \**************************************************/
202739
203390
  /*! exports provided: default */
202740
203391
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
202741
203392
 
@@ -202743,298 +203394,191 @@ const mapDispatchToProps = (dispatch, ownProps) => {
202743
203394
  __webpack_require__.r(__webpack_exports__);
202744
203395
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "./node_modules/react/index.js");
202745
203396
  /* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
202746
- /* harmony import */ var react_redux__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-redux */ "./node_modules/react-redux/es/index.js");
202747
- /* harmony import */ var ui_transactions_actions__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ui/transactions/actions */ "./src/ui/transactions/actions.ts");
202748
- /* harmony import */ var app_constants__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! app/constants */ "./src/app/constants.ts");
203397
+ /* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! moment */ "./node_modules/moment/moment.js");
203398
+ /* harmony import */ var moment__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(moment__WEBPACK_IMPORTED_MODULE_1__);
203399
+ /* harmony import */ var react_router_dom__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react-router-dom */ "./node_modules/react-router-dom/esm/react-router-dom.js");
203400
+ /* harmony import */ var _material_ui_core_Grid__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @material-ui/core/Grid */ "./node_modules/@material-ui/core/Grid/index.js");
203401
+ /* harmony import */ var _material_ui_core_Grid__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_material_ui_core_Grid__WEBPACK_IMPORTED_MODULE_3__);
203402
+ /* harmony import */ var ui_common_table_constants__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ui/common/table/constants */ "./src/ui/common/table/constants.ts");
203403
+ /* harmony import */ var ui_utils_timeToDate__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ui/utils/timeToDate */ "./src/ui/utils/timeToDate.ts");
203404
+ /* harmony import */ var ui_transactions_RefundTransactionModal__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ui/transactions/RefundTransactionModal */ "./src/ui/transactions/RefundTransactionModal.tsx");
203405
+ /* harmony import */ var ui_utils_numberAsCurrency__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ui/utils/numberAsCurrency */ "./src/ui/utils/numberAsCurrency.ts");
203406
+ /* harmony import */ var ui_transactions_utils__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ui/transactions/utils */ "./src/ui/transactions/utils.tsx");
203407
+ /* harmony import */ var makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! makerspace-ts-api-client */ "./node_modules/makerspace-ts-api-client/dist/apiClient.js");
203408
+ /* harmony import */ var makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_9___default = /*#__PURE__*/__webpack_require__.n(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_9__);
203409
+ /* harmony import */ var _reducer_hooks__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../reducer/hooks */ "./src/ui/reducer/hooks.ts");
203410
+ /* harmony import */ var _common_Filters_QueryContext__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../common/Filters/QueryContext */ "./src/ui/common/Filters/QueryContext.tsx");
203411
+ /* harmony import */ var _hooks_useReadTransaction__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../hooks/useReadTransaction */ "./src/ui/hooks/useReadTransaction.ts");
203412
+ /* harmony import */ var _common_table_StatefulTable__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../common/table/StatefulTable */ "./src/ui/common/table/StatefulTable.tsx");
203413
+ /* harmony import */ var _utils_extractTotalItems__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../utils/extractTotalItems */ "./src/ui/utils/extractTotalItems.ts");
203414
+ /* harmony import */ var _TransactionsFilter__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./TransactionsFilter */ "./src/ui/transactions/TransactionsFilter.tsx");
202749
203415
  function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
202750
203416
 
202751
203417
  function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
202752
203418
 
202753
203419
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
202754
203420
 
203421
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
202755
203422
 
203423
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
202756
203424
 
202757
203425
 
202758
203426
 
202759
203427
 
202760
- class UpdateTransaction extends react__WEBPACK_IMPORTED_MODULE_0__["Component"] {
202761
- constructor(...args) {
202762
- super(...args);
202763
203428
 
202764
- _defineProperty(this, "formRef", void 0);
202765
203429
 
202766
- _defineProperty(this, "setFormRef", ref => this.formRef = ref);
202767
203430
 
202768
- _defineProperty(this, "submitTransactionForm", async form => {
202769
- await this.props.dispatchTransaction();
202770
203431
 
202771
- if (!this.props.error) {
202772
- return true;
202773
- }
202774
- });
202775
- }
202776
203432
 
202777
- componentDidUpdate(prevProps) {
202778
- const {
202779
- isRequesting: wasRequesting
202780
- } = prevProps;
202781
- const {
202782
- isOpen,
202783
- isRequesting,
202784
- closeHandler,
202785
- error
202786
- } = this.props;
202787
203433
 
202788
- if (isOpen && wasRequesting && !isRequesting && !error) {
202789
- closeHandler();
202790
- }
202791
- }
202792
203434
 
202793
- render() {
202794
- const {
202795
- render
202796
- } = this.props;
202797
203435
 
202798
- const renderPayload = _objectSpread({}, this.props, {
202799
- submit: this.submitTransactionForm,
202800
- setRef: this.setFormRef
202801
- });
202802
203436
 
202803
- return render(renderPayload);
202804
- }
202805
203437
 
202806
- }
202807
203438
 
202808
- const mapStateToProps = (state, ownProps) => {
202809
- let stateProps = {};
202810
- const {
202811
- operation
202812
- } = ownProps;
202813
203439
 
202814
- switch (operation) {
202815
- case app_constants__WEBPACK_IMPORTED_MODULE_3__["CrudOperation"].Delete:
202816
- stateProps = state.transactions.delete;
202817
- break;
202818
- }
202819
203440
 
202820
- const {
202821
- isRequesting,
202822
- error
202823
- } = stateProps;
202824
- return {
202825
- error,
202826
- isRequesting
202827
- };
202828
- };
202829
-
202830
- const mapDispatchToProps = (dispatch, ownProps) => {
202831
- const {
202832
- transaction,
202833
- operation,
202834
- isAdmin
202835
- } = ownProps;
202836
- return {
202837
- dispatchTransaction: () => {
202838
- let action;
202839
203441
 
202840
- switch (operation) {
202841
- case app_constants__WEBPACK_IMPORTED_MODULE_3__["CrudOperation"].Delete:
202842
- action = Object(ui_transactions_actions__WEBPACK_IMPORTED_MODULE_2__["refundTransactionAction"])(transaction.id, isAdmin);
202843
- break;
202844
- }
203442
+ const getFields = includeMember => [{
203443
+ id: "createdAt",
203444
+ label: "Date",
203445
+ cell: row => Object(ui_utils_timeToDate__WEBPACK_IMPORTED_MODULE_5__["timeToDate"])(row.createdAt),
203446
+ defaultSortDirection: ui_common_table_constants__WEBPACK_IMPORTED_MODULE_4__["SortDirection"].Desc
203447
+ }, {
203448
+ id: "amount",
203449
+ label: "Amount",
203450
+ cell: row => {
203451
+ const amount = Number(row.amount);
203452
+ const discount = Number(row.discountAmount);
203453
+ let total = amount;
202845
203454
 
202846
- return dispatch(action);
203455
+ if (discount) {
203456
+ total -= discount;
202847
203457
  }
202848
- };
202849
- };
202850
-
202851
- /* harmony default export */ __webpack_exports__["default"] = (Object(react_redux__WEBPACK_IMPORTED_MODULE_1__["connect"])(mapStateToProps, mapDispatchToProps)(UpdateTransaction));
202852
-
202853
- /***/ }),
202854
-
202855
- /***/ "./src/ui/transactions/actions.ts":
202856
- /*!****************************************!*\
202857
- !*** ./src/ui/transactions/actions.ts ***!
202858
- \****************************************/
202859
- /*! exports provided: readTransactionsAction, refundTransactionAction, transactionsReducer */
202860
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
202861
-
202862
- "use strict";
202863
- __webpack_require__.r(__webpack_exports__);
202864
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "readTransactionsAction", function() { return readTransactionsAction; });
202865
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "refundTransactionAction", function() { return refundTransactionAction; });
202866
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "transactionsReducer", function() { return transactionsReducer; });
202867
- /* harmony import */ var ui_transactions_constants__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ui/transactions/constants */ "./src/ui/transactions/constants.ts");
202868
- /* harmony import */ var makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! makerspace-ts-api-client */ "./node_modules/makerspace-ts-api-client/dist/apiClient.js");
202869
- /* harmony import */ var makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_1__);
202870
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
202871
-
202872
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(source, true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(source).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
202873
203458
 
202874
- function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
203459
+ const totalAsText = Object(ui_utils_numberAsCurrency__WEBPACK_IMPORTED_MODULE_7__["numberAsCurrency"])(total);
202875
203460
 
203461
+ if (row.refundedTransactionId) {
203462
+ return `(${totalAsText})`;
203463
+ }
202876
203464
 
203465
+ return totalAsText;
203466
+ },
203467
+ defaultSortDirection: ui_common_table_constants__WEBPACK_IMPORTED_MODULE_4__["SortDirection"].Desc
203468
+ }, {
203469
+ id: "description",
203470
+ label: "Description",
203471
+ cell: row => {
203472
+ let description = "";
202877
203473
 
202878
- const readTransactionsAction = (isUserAdmin, queryParams) => async dispatch => {
202879
- dispatch({
202880
- type: ui_transactions_constants__WEBPACK_IMPORTED_MODULE_0__["Action"].StartReadRequest
202881
- });
202882
- const func = isUserAdmin ? makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_1__["adminListTransaction"] : makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_1__["listTransactions"];
202883
- const result = await func(queryParams);
203474
+ if (row.refundedTransactionId) {
203475
+ description += "Refund";
203476
+ } else if (row.subscriptionId) {
203477
+ description += "Subscription Payment";
203478
+ } else {
203479
+ description += "Standard Payment";
203480
+ }
202884
203481
 
202885
- if (Object(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_1__["isApiErrorResponse"])(result)) {
202886
- dispatch({
202887
- type: ui_transactions_constants__WEBPACK_IMPORTED_MODULE_0__["Action"].GetTransactionsFailure,
202888
- error: result.error.message
202889
- });
202890
- } else {
202891
- const {
202892
- response,
202893
- data
202894
- } = result;
202895
- const totalItems = response.headers.get("total-items");
202896
- dispatch({
202897
- type: ui_transactions_constants__WEBPACK_IMPORTED_MODULE_0__["Action"].GetTransactionsSuccess,
202898
- data: {
202899
- transactions: data,
202900
- totalItems: Number(totalItems)
202901
- }
202902
- });
202903
- }
202904
- };
202905
- const refundTransactionAction = (transactionId, admin) => async dispatch => {
202906
- dispatch({
202907
- type: ui_transactions_constants__WEBPACK_IMPORTED_MODULE_0__["Action"].StartDeleteRequest
202908
- });
202909
- const func = admin ? makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_1__["adminDeleteTransaction"] : makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_1__["deleteTransaction"];
202910
- const result = await func(transactionId);
203482
+ if (row.invoice) {
203483
+ description += ` for ${row.invoice.name}`;
203484
+ }
202911
203485
 
202912
- if (Object(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_1__["isApiErrorResponse"])(result)) {
202913
- dispatch({
202914
- type: ui_transactions_constants__WEBPACK_IMPORTED_MODULE_0__["Action"].DeleteTransactionFailure,
202915
- error: result.error.message
202916
- });
202917
- return false;
202918
- } else {
202919
- dispatch({
202920
- type: ui_transactions_constants__WEBPACK_IMPORTED_MODULE_0__["Action"].DeleteTransactionSuccess
202921
- });
202922
- return true;
203486
+ return description;
202923
203487
  }
202924
- };
202925
- const defaultState = {
202926
- entities: {},
202927
- read: {
202928
- isRequesting: false,
202929
- error: "",
202930
- totalItems: 0
202931
- },
202932
- delete: {
202933
- isRequesting: false,
202934
- error: ""
202935
- }
202936
- };
202937
- const transactionsReducer = (state = defaultState, action) => {
202938
- switch (action.type) {
202939
- case ui_transactions_constants__WEBPACK_IMPORTED_MODULE_0__["Action"].StartReadRequest:
202940
- return _objectSpread({}, state, {
202941
- read: _objectSpread({}, state.read, {
202942
- isRequesting: true
202943
- })
202944
- });
203488
+ }, ...(includeMember ? [] : [{
203489
+ id: "member",
203490
+ label: "Member",
203491
+ cell: row => {
203492
+ if (row.memberId) {
203493
+ return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](react_router_dom__WEBPACK_IMPORTED_MODULE_2__["Link"], {
203494
+ to: `/members/${row.memberId}`
203495
+ }, row.memberName);
203496
+ }
202945
203497
 
202946
- case ui_transactions_constants__WEBPACK_IMPORTED_MODULE_0__["Action"].GetTransactionsSuccess:
202947
- const {
202948
- data: {
202949
- transactions,
202950
- totalItems
202951
- }
202952
- } = action;
202953
- const newTransactions = {};
202954
- transactions.forEach(transaction => {
202955
- newTransactions[transaction.id] = transaction;
202956
- });
202957
- return _objectSpread({}, state, {
202958
- entities: newTransactions,
202959
- read: _objectSpread({}, state.read, {
202960
- totalItems,
202961
- isRequesting: false,
202962
- error: ""
202963
- })
202964
- });
203498
+ if (row.customerDetails) {
203499
+ return `${row.customerDetails.first_name} ${row.customerDetails.last_name}`;
203500
+ }
202965
203501
 
202966
- case ui_transactions_constants__WEBPACK_IMPORTED_MODULE_0__["Action"].GetTransactionsFailure:
202967
- const {
202968
- error
202969
- } = action;
202970
- return _objectSpread({}, state, {
202971
- read: _objectSpread({}, state.read, {
202972
- isRequesting: false,
202973
- error
202974
- })
202975
- });
203502
+ return "Unknown";
203503
+ },
203504
+ width: 200
203505
+ }]), {
203506
+ id: "status",
203507
+ label: "Status",
203508
+ cell: ui_transactions_utils__WEBPACK_IMPORTED_MODULE_8__["renderTransactionStatus"]
203509
+ }];
202976
203510
 
202977
- case ui_transactions_constants__WEBPACK_IMPORTED_MODULE_0__["Action"].StartDeleteRequest:
202978
- return _objectSpread({}, state, {
202979
- delete: _objectSpread({}, state.delete, {
202980
- isRequesting: true
202981
- })
202982
- });
203511
+ const rowId = sub => sub.id;
202983
203512
 
202984
- case ui_transactions_constants__WEBPACK_IMPORTED_MODULE_0__["Action"].DeleteTransactionSuccess:
202985
- const refundedTransaction = action.data;
202986
- return _objectSpread({}, state, {
202987
- entities: _objectSpread({}, state.entities, {}, refundedTransaction && {
202988
- [refundedTransaction.id]: refundedTransaction
202989
- }),
202990
- delete: _objectSpread({}, state.delete, {
202991
- isRequesting: false,
202992
- error: ""
202993
- })
202994
- });
203513
+ const TransactionsTable = ({
203514
+ member
203515
+ }) => {
203516
+ const [selectedId, setSelectedId] = react__WEBPACK_IMPORTED_MODULE_0__["useState"]();
203517
+ const {
203518
+ currentUser: {
203519
+ isAdmin
203520
+ }
203521
+ } = Object(_reducer_hooks__WEBPACK_IMPORTED_MODULE_10__["useAuthState"])();
202995
203522
 
202996
- case ui_transactions_constants__WEBPACK_IMPORTED_MODULE_0__["Action"].DeleteTransactionFailure:
202997
- const deleteError = action.error;
202998
- return _objectSpread({}, state, {
202999
- delete: _objectSpread({}, state.delete, {
203000
- isRequesting: false,
203001
- error: deleteError
203002
- })
203003
- });
203523
+ const _useQueryContext = Object(_common_Filters_QueryContext__WEBPACK_IMPORTED_MODULE_11__["useQueryContext"])({
203524
+ search: undefined,
203525
+ startDate: new Date(moment__WEBPACK_IMPORTED_MODULE_1__().subtract(1, "day").valueOf()),
203526
+ endDate: new Date(),
203527
+ type: undefined,
203528
+ refund: undefined,
203529
+ transactionStatus: []
203530
+ }),
203531
+ {
203532
+ params: {
203533
+ pageNum,
203534
+ order,
203535
+ orderBy
203536
+ },
203537
+ changePage
203538
+ } = _useQueryContext,
203539
+ restParams = _objectWithoutProperties(_useQueryContext.params, ["pageNum", "order", "orderBy"]);
203004
203540
 
203005
- default:
203006
- return state;
203007
- }
203541
+ const adminResponse = Object(_hooks_useReadTransaction__WEBPACK_IMPORTED_MODULE_12__["default"])(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_9__["adminListTransaction"], _objectSpread({}, restParams), !isAdmin);
203542
+ const baseResponse = Object(_hooks_useReadTransaction__WEBPACK_IMPORTED_MODULE_12__["default"])(makerspace_ts_api_client__WEBPACK_IMPORTED_MODULE_9__["listTransactions"], _objectSpread({}, restParams), isAdmin);
203543
+ const {
203544
+ isRequesting,
203545
+ data: transactions = [],
203546
+ response,
203547
+ refresh,
203548
+ error
203549
+ } = isAdmin ? adminResponse : baseResponse;
203550
+ const onCancel = react__WEBPACK_IMPORTED_MODULE_0__["useCallback"](() => {
203551
+ refresh();
203552
+ changePage(0);
203553
+ }, [refresh, changePage]);
203554
+ const selectedTransaction = transactions.find(transaction => transaction.id === selectedId);
203555
+ return react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_Grid__WEBPACK_IMPORTED_MODULE_3___default.a, {
203556
+ container: true,
203557
+ spacing: 24,
203558
+ justify: "center"
203559
+ }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_Grid__WEBPACK_IMPORTED_MODULE_3___default.a, {
203560
+ item: true,
203561
+ xs: 12
203562
+ }, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_material_ui_core_Grid__WEBPACK_IMPORTED_MODULE_3___default.a, null, react__WEBPACK_IMPORTED_MODULE_0__["createElement"](ui_transactions_RefundTransactionModal__WEBPACK_IMPORTED_MODULE_6__["default"], {
203563
+ transaction: selectedTransaction,
203564
+ onSuccess: onCancel
203565
+ }), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_TransactionsFilter__WEBPACK_IMPORTED_MODULE_15__["default"], {
203566
+ onChange: refresh
203567
+ })), react__WEBPACK_IMPORTED_MODULE_0__["createElement"](_common_table_StatefulTable__WEBPACK_IMPORTED_MODULE_13__["default"], {
203568
+ id: "transactions-table",
203569
+ title: member ? "Payment History" : "Transactions",
203570
+ loading: isRequesting,
203571
+ data: Object.values(transactions),
203572
+ error: error,
203573
+ totalItems: Object(_utils_extractTotalItems__WEBPACK_IMPORTED_MODULE_14__["default"])(response),
203574
+ selectedIds: selectedId,
203575
+ setSelectedIds: setSelectedId,
203576
+ columns: getFields(!!member),
203577
+ rowId: rowId
203578
+ })));
203008
203579
  };
203009
203580
 
203010
- /***/ }),
203011
-
203012
- /***/ "./src/ui/transactions/constants.ts":
203013
- /*!******************************************!*\
203014
- !*** ./src/ui/transactions/constants.ts ***!
203015
- \******************************************/
203016
- /*! exports provided: Action */
203017
- /***/ (function(module, __webpack_exports__, __webpack_require__) {
203018
-
203019
- "use strict";
203020
- __webpack_require__.r(__webpack_exports__);
203021
- /* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "Action", function() { return Action; });
203022
- let Action;
203023
-
203024
- (function (Action) {
203025
- Action["StartReadRequest"] = "TRANSACTIONS/START_READ_REQUEST";
203026
- Action["GetTransactionsSuccess"] = "TRANSACTIONS/GET_TRANSACTIONS_SUCCESS";
203027
- Action["GetTransactionsFailure"] = "TRANSACTIONS/GET_TRANSACTIONS_FAILURE";
203028
- Action["StartCreateRequest"] = "TRANSACTIONS/START_CREATE_REQUEST";
203029
- Action["CreateTransactionSuccess"] = "TRANSACTIONS/CREATE_TRANSACTION_SUCCESS";
203030
- Action["CreateTransactionFailure"] = "TRANSACTIONS/CREATE_TRANSACTION_FAILURE";
203031
- Action["StartUpdateRequest"] = "TRANSACTION/START_UPDATE_REQUEST";
203032
- Action["UpdateTransactionSuccess"] = "TRANSACTION/UPDATE_TRANSACTION_SUCCESS";
203033
- Action["UpdateTransactionFailure"] = "TRANSACTION/UPDATE_TRANSACTION_FAILURE";
203034
- Action["StartDeleteRequest"] = "TRANSACTION/START_DELETE_REQUEST";
203035
- Action["DeleteTransactionSuccess"] = "TRANSACTION/DELETE_TRANSACTION_SUCCESS";
203036
- Action["DeleteTransactionFailure"] = "TRANSACTION/DELETE_TRANSACTION_FAILURE";
203037
- })(Action || (Action = {}));
203581
+ /* harmony default export */ __webpack_exports__["default"] = (Object(_common_Filters_QueryContext__WEBPACK_IMPORTED_MODULE_11__["withQueryContext"])(TransactionsTable));
203038
203582
 
203039
203583
  /***/ }),
203040
203584