@nocobase/plugin-notification-in-app-message 2.1.0-beta.9 → 2.2.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (117) hide show
  1. package/client-v2.d.ts +2 -0
  2. package/client-v2.js +1 -0
  3. package/dist/client/index.js +1 -1
  4. package/dist/client/observables/channel.d.ts +0 -1
  5. package/dist/client-v2/297.503d86e234fdb749.js +10 -0
  6. package/dist/client-v2/apiClient.d.ts +12 -0
  7. package/dist/client-v2/components/FilterTab.d.ts +11 -0
  8. package/dist/client-v2/components/InboxContent.d.ts +11 -0
  9. package/dist/client-v2/components/MessageList.d.ts +11 -0
  10. package/dist/{client/components/UsersAddition.d.ts → client-v2/index.d.ts} +2 -2
  11. package/dist/client-v2/index.js +10 -0
  12. package/dist/client-v2/locale.d.ts +12 -0
  13. package/dist/client-v2/models/InboxTopbarActionModel.d.ts +18 -0
  14. package/dist/client-v2/plugin.d.ts +27 -0
  15. package/dist/client-v2/state.d.ts +72 -0
  16. package/dist/externalVersion.js +13 -11
  17. package/dist/node_modules/uuid/dist/bin/uuid +2 -0
  18. package/dist/node_modules/uuid/dist/commonjs-browser/index.js +104 -0
  19. package/dist/node_modules/uuid/dist/commonjs-browser/max.js +7 -0
  20. package/dist/node_modules/uuid/dist/commonjs-browser/md5.js +200 -0
  21. package/dist/node_modules/uuid/dist/commonjs-browser/native.js +10 -0
  22. package/dist/node_modules/uuid/dist/commonjs-browser/nil.js +7 -0
  23. package/dist/node_modules/uuid/dist/commonjs-browser/parse.js +44 -0
  24. package/dist/node_modules/uuid/dist/commonjs-browser/regex.js +7 -0
  25. package/dist/node_modules/uuid/dist/commonjs-browser/rng.js +23 -0
  26. package/dist/node_modules/uuid/dist/commonjs-browser/sha1.js +82 -0
  27. package/dist/node_modules/uuid/dist/commonjs-browser/stringify.js +38 -0
  28. package/dist/node_modules/uuid/dist/commonjs-browser/v1.js +131 -0
  29. package/dist/node_modules/uuid/dist/commonjs-browser/v1ToV6.js +26 -0
  30. package/dist/node_modules/uuid/dist/commonjs-browser/v3.js +11 -0
  31. package/dist/node_modules/uuid/dist/commonjs-browser/v35.js +63 -0
  32. package/dist/node_modules/uuid/dist/commonjs-browser/v4.js +32 -0
  33. package/dist/node_modules/uuid/dist/commonjs-browser/v5.js +11 -0
  34. package/dist/node_modules/uuid/dist/commonjs-browser/v6.js +42 -0
  35. package/dist/node_modules/uuid/dist/commonjs-browser/v6ToV1.js +26 -0
  36. package/dist/node_modules/uuid/dist/commonjs-browser/v7.js +152 -0
  37. package/dist/node_modules/uuid/dist/commonjs-browser/validate.js +12 -0
  38. package/dist/node_modules/uuid/dist/commonjs-browser/version.js +15 -0
  39. package/dist/node_modules/uuid/dist/esm-browser/index.js +14 -0
  40. package/dist/node_modules/uuid/dist/esm-browser/max.js +1 -0
  41. package/dist/node_modules/uuid/dist/esm-browser/md5.js +194 -0
  42. package/dist/node_modules/uuid/dist/esm-browser/native.js +4 -0
  43. package/dist/node_modules/uuid/dist/esm-browser/nil.js +1 -0
  44. package/dist/node_modules/uuid/dist/esm-browser/parse.js +37 -0
  45. package/dist/node_modules/uuid/dist/esm-browser/regex.js +1 -0
  46. package/dist/node_modules/uuid/dist/esm-browser/rng.js +17 -0
  47. package/dist/node_modules/uuid/dist/esm-browser/sha1.js +76 -0
  48. package/dist/node_modules/uuid/dist/esm-browser/stringify.js +31 -0
  49. package/dist/node_modules/uuid/dist/esm-browser/v1.js +125 -0
  50. package/dist/node_modules/uuid/dist/esm-browser/v1ToV6.js +20 -0
  51. package/dist/node_modules/uuid/dist/esm-browser/v3.js +4 -0
  52. package/dist/node_modules/uuid/dist/esm-browser/v35.js +55 -0
  53. package/dist/node_modules/uuid/dist/esm-browser/v4.js +25 -0
  54. package/dist/node_modules/uuid/dist/esm-browser/v5.js +4 -0
  55. package/dist/node_modules/uuid/dist/esm-browser/v6.js +36 -0
  56. package/dist/node_modules/uuid/dist/esm-browser/v6ToV1.js +20 -0
  57. package/dist/node_modules/uuid/dist/esm-browser/v7.js +146 -0
  58. package/dist/node_modules/uuid/dist/esm-browser/validate.js +5 -0
  59. package/dist/node_modules/uuid/dist/esm-browser/version.js +8 -0
  60. package/dist/node_modules/uuid/dist/esm-node/index.js +14 -0
  61. package/dist/node_modules/uuid/dist/esm-node/max.js +1 -0
  62. package/dist/node_modules/uuid/dist/esm-node/md5.js +10 -0
  63. package/dist/node_modules/uuid/dist/esm-node/native.js +4 -0
  64. package/dist/node_modules/uuid/dist/esm-node/nil.js +1 -0
  65. package/dist/node_modules/uuid/dist/esm-node/parse.js +37 -0
  66. package/dist/node_modules/uuid/dist/esm-node/regex.js +1 -0
  67. package/dist/node_modules/uuid/dist/esm-node/rng.js +10 -0
  68. package/dist/node_modules/uuid/dist/esm-node/sha1.js +10 -0
  69. package/dist/node_modules/uuid/dist/esm-node/stringify.js +31 -0
  70. package/dist/node_modules/uuid/dist/esm-node/v1.js +125 -0
  71. package/dist/node_modules/uuid/dist/esm-node/v1ToV6.js +20 -0
  72. package/dist/node_modules/uuid/dist/esm-node/v3.js +4 -0
  73. package/dist/node_modules/uuid/dist/esm-node/v35.js +55 -0
  74. package/dist/node_modules/uuid/dist/esm-node/v4.js +25 -0
  75. package/dist/node_modules/uuid/dist/esm-node/v5.js +4 -0
  76. package/dist/node_modules/uuid/dist/esm-node/v6.js +32 -0
  77. package/dist/node_modules/uuid/dist/esm-node/v6ToV1.js +20 -0
  78. package/dist/node_modules/uuid/dist/esm-node/v7.js +146 -0
  79. package/dist/node_modules/uuid/dist/esm-node/validate.js +5 -0
  80. package/dist/node_modules/uuid/dist/esm-node/version.js +8 -0
  81. package/dist/node_modules/uuid/dist/index.js +1 -0
  82. package/dist/node_modules/uuid/dist/max.js +7 -0
  83. package/dist/node_modules/uuid/dist/md5-browser.js +200 -0
  84. package/dist/node_modules/uuid/dist/md5.js +17 -0
  85. package/dist/node_modules/uuid/dist/native-browser.js +10 -0
  86. package/dist/node_modules/uuid/dist/native.js +11 -0
  87. package/dist/node_modules/uuid/dist/nil.js +7 -0
  88. package/dist/node_modules/uuid/dist/parse.js +44 -0
  89. package/dist/node_modules/uuid/dist/regex.js +7 -0
  90. package/dist/node_modules/uuid/dist/rng-browser.js +23 -0
  91. package/dist/node_modules/uuid/dist/rng.js +17 -0
  92. package/dist/node_modules/uuid/dist/sha1-browser.js +82 -0
  93. package/dist/node_modules/uuid/dist/sha1.js +17 -0
  94. package/dist/node_modules/uuid/dist/stringify.js +38 -0
  95. package/dist/node_modules/uuid/dist/uuid-bin.js +75 -0
  96. package/dist/node_modules/uuid/dist/v1.js +131 -0
  97. package/dist/node_modules/uuid/dist/v1ToV6.js +26 -0
  98. package/dist/node_modules/uuid/dist/v3.js +11 -0
  99. package/dist/node_modules/uuid/dist/v35.js +63 -0
  100. package/dist/node_modules/uuid/dist/v4.js +32 -0
  101. package/dist/node_modules/uuid/dist/v5.js +11 -0
  102. package/dist/node_modules/uuid/dist/v6.js +38 -0
  103. package/dist/node_modules/uuid/dist/v6ToV1.js +26 -0
  104. package/dist/node_modules/uuid/dist/v7.js +152 -0
  105. package/dist/node_modules/uuid/dist/validate.js +12 -0
  106. package/dist/node_modules/uuid/dist/version.js +15 -0
  107. package/dist/node_modules/uuid/package.json +1 -0
  108. package/dist/server/InAppNotificationChannel.d.ts +7 -0
  109. package/dist/server/InAppNotificationChannel.js +128 -36
  110. package/dist/server/defineMyInAppChannels.js +52 -21
  111. package/dist/server/defineMyInAppMessages.js +2 -1
  112. package/dist/server/parseUserSelectionConf.d.ts +2 -1
  113. package/dist/server/parseUserSelectionConf.js +3 -2
  114. package/dist/server/plugin.js +1 -1
  115. package/dist/types/messages.js +1 -0
  116. package/package.json +5 -2
  117. package/dist/client/components/UsersSelect.d.ts +0 -18
@@ -38,4 +38,3 @@ export declare const selectedChannelObs: {
38
38
  value: Channel;
39
39
  };
40
40
  export declare const fetchChannels: (params: any) => Promise<void>;
41
- export declare const countChannels: () => Promise<void>;
@@ -0,0 +1,10 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+
10
+ (self.webpackChunk_nocobase_plugin_notification_in_app_message_client_v2=self.webpackChunk_nocobase_plugin_notification_in_app_message_client_v2||[]).push([["297"],{264:function(e){e.exports=function(e,t,n){e=e||{};var r=t.prototype,a={future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"};function o(e,t,n,a){return r.fromToBase(e,t,n,a)}n.en.relativeTime=a,r.fromToBase=function(t,r,o,l,u){for(var i,s,c,f=o.$locale().relativeTime||a,d=e.thresholds||[{l:"s",r:44,d:"second"},{l:"m",r:89},{l:"mm",r:44,d:"minute"},{l:"h",r:89},{l:"hh",r:21,d:"hour"},{l:"d",r:35},{l:"dd",r:25,d:"day"},{l:"M",r:45},{l:"MM",r:10,d:"month"},{l:"y",r:17},{l:"yy",d:"year"}],v=d.length,p=0;p<v;p+=1){var m=d[p];m.d&&(i=l?n(t).diff(o,m.d,!0):o.diff(t,m.d,!0));var h=(e.rounding||Math.round)(Math.abs(i));if(c=i>0,h<=m.r||!m.r){h<=1&&p>0&&(m=d[p-1]);var b=f[m.l];u&&(h=u(""+h)),s="string"==typeof b?b.replace("%d",h):b(h,r,m.l,c);break}}if(r)return s;var y=c?f.future:f.past;return"function"==typeof y?y(s):y.replace("%s",s)},r.to=function(e,t){return o(e,t,this,!0)},r.from=function(e,t){return o(e,t,this)};var l=function(e){return e.$u?n.utc():n()};r.toNow=function(e){return this.to(l(this),e)},r.fromNow=function(e){return this.from(l(this),e)}}},8:function(e,t,n){"use strict";n.r(t),n.d(t,{InboxTopbarActionModel:function(){return en},default:function(){return er}});var r=n(375),a=n(477),o=n(694),l=n(625),u=n(59),i=n(155),s=n.n(i),c=n(485),f=n(768),d=n(488),v=n(264),p=n.n(v),m="notificationInAppMessages",h=n(247);function b(e,t,n,r,a,o,l){try{var u=e[o](l),i=u.value}catch(e){n(e);return}u.done?t(i):Promise.resolve(i).then(r,a)}function y(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var o=e.apply(t,n);function l(e){b(o,r,a,l,u,"next",e)}function u(e){b(o,r,a,l,u,"throw",e)}l(void 0)})}}function g(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){var r;r=n[t],t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r})}return e}function w(e,t){var n,r,a,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},l=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),u=Object.defineProperty;return u(l,"next",{value:i(0)}),u(l,"throw",{value:i(1)}),u(l,"return",{value:i(2)}),"function"==typeof Symbol&&u(l,Symbol.iterator,{value:function(){return this}}),l;function i(u){return function(i){var s=[u,i];if(n)throw TypeError("Generator is already executing.");for(;l&&(l=0,s[0]&&(o=0)),o;)try{if(n=1,r&&(a=2&s[0]?r.return:s[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,s[1])).done)return a;switch(r=0,a&&(s=[2&s[0],a.value]),s[0]){case 0:case 1:a=s;break;case 4:return o.label++,{value:s[1],done:!1};case 5:o.label++,r=s[1],s=[0];continue;case 7:s=o.ops.pop(),o.trys.pop();continue;default:if(!(a=(a=o.trys).length>0&&a[a.length-1])&&(6===s[0]||2===s[0])){o=0;continue}if(3===s[0]&&(!a||s[1]>a[0]&&s[1]<a[3])){o.label=s[1];break}if(6===s[0]&&o.label<a[1]){o.label=a[1],a=s;break}if(a&&o.label<a[2]){o.label=a[2],o.ops.push(s);break}a[2]&&o.ops.pop(),o.trys.pop();continue}s=t.call(e,o)}catch(e){s=[6,e],r=0}finally{n=a=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}}}f.dayjs.extend(p());var E=(0,o.observable)({value:{}}),O=(0,o.observable)({value:!1}),M=(0,o.observable)({value:0}),k=(0,o.observable)({value:"all"}),j=(0,o.observable)({value:null}),x=(0,o.observable)({value:null}),T=(0,o.observable)({value:{}}),S=(0,o.observable)({value:!1}),C=(0,o.observable)({value:null}),P=(0,o.observable)({value:!1}),I=o.observable.computed(function(){var e,t=String(null!=(e=x.value)?e:"");return Object.values(E.value).filter(function(e){return String(e.userId)===t}).filter(function(e){return"read"===k.value?e.totalMsgCnt-e.unreadMsgCnt>0:"unread"!==k.value||e.unreadMsgCnt>0}).sort(function(e,t){return e.latestMsgReceiveTimestamp>t.latestMsgReceiveTimestamp?-1:1})}),B=o.observable.computed(function(){return I.value.length<M.value});o.observable.computed(function(){var e=j.value;return e&&E.value[e]?E.value[e]:null});var F=function(e){var t;return String(e.userId)===String(null!=(t=x.value)?t:"")},L=o.observable.computed(function(){var e=j.value;return e?Object.values(T.value).filter(function(t){return t.channelName===e&&("read"===k.value?"read"===t.status:"unread"!==k.value||"unread"===t.status)&&F(t)}).sort(function(e,t){return e.receiveTimestamp>t.receiveTimestamp?-1:1}):[]}),_=o.observable.computed(function(){var e=j.value;if(!e)return!1;var t=E.value[e];if(!t)return!1;var n=L.value;return 0!==n.length&&({read:t.totalMsgCnt-t.unreadMsgCnt>n.length,unread:t.unreadMsgCnt>n.length,all:t.totalMsgCnt>n.length})[k.value]});function N(){return y(function(){var e,t,n,r,a,o,l,u,i,s,c=arguments;return w(this,function(d){switch(d.label){case 0:if(e=c.length>0&&void 0!==c[0]?c[0]:{},!(t=(0,h.e)()))return[2];O.value=!0,d.label=1;case 1:return d.trys.push([1,,3,4]),l=(0,f.merge)({filter:{status:k.value}},null!=e?e:{}),[4,t.request({url:"myInAppChannels:list",method:"get",params:l})];case 2:return Array.isArray(i=null==(u=d.sent())||null==(n=u.data)?void 0:n.data)&&i.forEach(function(e){E.value[e.name]=e}),s=null==u||null==(a=u.data)||null==(r=a.meta)?void 0:r.count,(null==(o=l.filter)?void 0:o.name)||"number"!=typeof s||!(s>=0)||(M.value=s),[3,4];case 3:return O.value=!1,[7];case 4:return[2]}})}).apply(this,arguments)}function z(){return y(function(){var e,t,n,r,a,o,l,u,i=arguments;return w(this,function(s){switch(s.label){case 0:if(e=i.length>0&&void 0!==i[0]?i[0]:{limit:30},!(t=(0,h.e)()))return[2];S.value=!0,s.label=1;case 1:return s.trys.push([1,,3,4]),a=g({},e),"all"!==k.value&&(a.filter=(0,f.merge)(null!=(o=a.filter)?o:{},{status:k.value})),[4,t.request({url:"myInAppMessages:list",method:"get",params:a})];case 2:return Array.isArray(u=null==(l=s.sent())||null==(r=l.data)||null==(n=r.data)?void 0:n.messages)&&u.forEach(function(e){T.value[e.id]=e}),[3,4];case 3:return S.value=!1,[7];case 4:return[2]}})}).apply(this,arguments)}function A(){return y(function(){var e,t,n,r,a;return w(this,function(o){switch(o.label){case 0:if(!(r=(0,h.e)()))return[2];return[4,r.request({url:"myInAppMessages:count",method:"get",params:{filter:{status:"unread"}}})];case 1:return C.value=null!=(e=null==(a=o.sent())||null==(n=a.data)||null==(t=n.data)?void 0:t.count)?e:0,[2]}})})()}function D(e){return y(function(){var t,n;return w(this,function(r){switch(r.label){case 0:if(!(t=(0,h.e)()))return[2];return[4,t.request({resource:m,action:"updateMyOwn",method:"post",params:e})];case 1:if(r.sent(),!(n=T.value[e.filterByTk]))return[3,3];return T.value[e.filterByTk]=g({},n,e.values),[4,N({filter:{name:n.channelName,status:"all"}})];case 2:r.sent(),r.label=3;case 3:return[4,A()];case 4:return r.sent(),[2]}})})()}function R(e,t,n,r,a,o,l){try{var u=e[o](l),i=u.value}catch(e){n(e);return}u.done?t(i):Promise.resolve(i).then(r,a)}(0,o.autorun)(function(){var e,t=I.value;!j.value&&(null==(e=t[0])?void 0:e.name)?j.value=t[0].name:0===t.length?j.value=null:t.find(function(e){return e.name===j.value})||(j.value=null)}),(0,o.reaction)(function(){return k.value},function(){var e,t=I.value;(null==(e=t[0])?void 0:e.name)&&(j.value=t[0].name)},{fireImmediately:!0}),(0,o.autorun)(function(){j.value&&z({filter:{channelName:j.value}})});var G=(0,o.observer)(function(){var e=(0,d.mG)().t,t=(0,i.useMemo)(function(){return[{label:e("All"),key:"all"},{label:e("Unread"),key:"unread"},{label:e("Read"),key:"read"}]},[e]),n=(0,l.useMemoizedFn)(function(e){var t;return(t=function(){return function(e,t){var n,r,a,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},l=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),u=Object.defineProperty;return u(l,"next",{value:i(0)}),u(l,"throw",{value:i(1)}),u(l,"return",{value:i(2)}),"function"==typeof Symbol&&u(l,Symbol.iterator,{value:function(){return this}}),l;function i(u){return function(i){var s=[u,i];if(n)throw TypeError("Generator is already executing.");for(;l&&(l=0,s[0]&&(o=0)),o;)try{if(n=1,r&&(a=2&s[0]?r.return:s[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,s[1])).done)return a;switch(r=0,a&&(s=[2&s[0],a.value]),s[0]){case 0:case 1:a=s;break;case 4:return o.label++,{value:s[1],done:!1};case 5:o.label++,r=s[1],s=[0];continue;case 7:s=o.ops.pop(),o.trys.pop();continue;default:if(!(a=(a=o.trys).length>0&&a[a.length-1])&&(6===s[0]||2===s[0])){o=0;continue}if(3===s[0]&&(!a||s[1]>a[0]&&s[1]<a[3])){o.label=s[1];break}if(6===s[0]&&o.label<a[1]){o.label=a[1],a=s;break}if(a&&o.label<a[2]){o.label=a[2],o.ops.push(s);break}a[2]&&o.ops.pop(),o.trys.pop();continue}s=t.call(e,o)}catch(e){s=[6,e],r=0}finally{n=a=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}}}(this,function(t){switch(t.label){case 0:k.value=e,t.label=1;case 1:return t.trys.push([1,3,,4]),[4,N()];case 2:return t.sent(),[3,4];case 3:return console.error("Failed to fetch channels for status filter",t.sent()),[3,4];case 4:return[2]}})},function(){var e=this,n=arguments;return new Promise(function(r,a){var o=t.apply(e,n);function l(e){R(o,r,a,l,u,"next",e)}function u(e){R(o,r,a,l,u,"throw",e)}l(void 0)})})()});return s().createElement(u.Tabs,{activeKey:k.value,items:t,onChange:n})},{displayName:"FilterTab"}),$=n(442);function q(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=Array(t);n<t;n++)r[n]=e[n];return r}function W(e,t,n,r,a,o,l){try{var u=e[o](l),i=u.value}catch(e){n(e);return}u.done?t(i):Promise.resolve(i).then(r,a)}function H(e){return function(){var t=this,n=arguments;return new Promise(function(r,a){var o=e.apply(t,n);function l(e){W(o,r,a,l,u,"next",e)}function u(e){W(o,r,a,l,u,"throw",e)}l(void 0)})}}function U(e,t){var n,r,a,o={label:0,sent:function(){if(1&a[0])throw a[1];return a[1]},trys:[],ops:[]},l=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),u=Object.defineProperty;return u(l,"next",{value:i(0)}),u(l,"throw",{value:i(1)}),u(l,"return",{value:i(2)}),"function"==typeof Symbol&&u(l,Symbol.iterator,{value:function(){return this}}),l;function i(u){return function(i){var s=[u,i];if(n)throw TypeError("Generator is already executing.");for(;l&&(l=0,s[0]&&(o=0)),o;)try{if(n=1,r&&(a=2&s[0]?r.return:s[0]?r.throw||((a=r.return)&&a.call(r),0):r.next)&&!(a=a.call(r,s[1])).done)return a;switch(r=0,a&&(s=[2&s[0],a.value]),s[0]){case 0:case 1:a=s;break;case 4:return o.label++,{value:s[1],done:!1};case 5:o.label++,r=s[1],s=[0];continue;case 7:s=o.ops.pop(),o.trys.pop();continue;default:if(!(a=(a=o.trys).length>0&&a[a.length-1])&&(6===s[0]||2===s[0])){o=0;continue}if(3===s[0]&&(!a||s[1]>a[0]&&s[1]<a[3])){o.label=s[1];break}if(6===s[0]&&o.label<a[1]){o.label=a[1],a=s;break}if(a&&o.label<a[2]){o.label=a[2],o.ops.push(s);break}a[2]&&o.ops.pop(),o.trys.pop();continue}s=t.call(e,o)}catch(e){s=[6,e],r=0}finally{n=a=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}}}var X=(0,o.observer)(function(){var e,t,n,r,a,c=(0,d.mG)().t,v=(0,d.kj)(),p=(0,o.useFlowContext)(),b=(0,$.useNavigate)(),g=u.theme.useToken().token,O=function(e){if(Array.isArray(e))return e}(e=(0,i.useState)(null))||function(e){var t,n,r=null==e?null:"u">typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=r){var a=[],o=!0,l=!1;try{for(r=r.call(e);!(o=(t=r.next()).done)&&(a.push(t.value),2!==a.length);o=!0);}catch(e){l=!0,n=e}finally{try{o||null==r.return||r.return()}finally{if(l)throw n}}return a}}(e)||function(e){if(e){if("string"==typeof e)return q(e,2);var t=Object.prototype.toString.call(e).slice(8,-1);if("Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t)return Array.from(t);if("Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return q(e,2)}}(e)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}(),M=O[0],x=O[1],C=j.value,I=C?E.value[C]:null,B=L.value,F=S.value,R=k.value,G={read:c("Read"),unread:c("Unread")},W=(null!=(t=null==(a=p.app)||null==(r=a.router)?void 0:r.basename)?t:"").replace(/\/+$/,""),X=(0,l.useMemoizedFn)(function(e){return H(function(){var t,n;return U(this,function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,D({filterByTk:e.id,values:{status:"read"}})];case 1:return r.sent(),[3,3];case 2:return console.error("Failed to mark message as read",r.sent()),[3,3];case 3:if(null==(t=e.options)?void 0:t.url)if(P.value=!1,(n=String(e.options.url)).startsWith("/"))b(n.startsWith(W)?n.slice(W.length):n);else window.location.href=n;return[2]}})})()}),Y=(0,l.useMemoizedFn)(function(){return H(function(){return U(this,function(e){switch(e.label){case 0:if(!C)return[2];e.label=1;case 1:return e.trys.push([1,3,,4]),[4,y(function(){var e;return w(this,function(t){switch(t.label){case 0:if(!(e=(0,h.e)()))return[2];return[4,e.request({resource:m,action:"updateMyOwn",method:"post",params:{filter:{status:"unread",channelName:C},values:{status:"read"}}})];case 1:return t.sent(),Object.values(T.value).forEach(function(e){e.channelName===C&&"unread"===e.status&&(e.status="read")}),[4,N({filter:{name:C,status:"all"}})];case 2:return t.sent(),[4,A()];case 3:return t.sent(),[2]}})})()];case 2:return e.sent(),[3,4];case 3:return console.error("Failed to mark all messages as read",e.sent()),[3,4];case 4:return[2]}})})()}),K=(0,l.useMemoizedFn)(function(e){return H(function(){return U(this,function(t){switch(t.label){case 0:return t.trys.push([0,2,,3]),[4,D({filterByTk:e.id,values:{status:"read"===e.status?"unread":"read"}})];case 1:return t.sent(),[3,3];case 2:return console.error("Failed to toggle message status",t.sent()),[3,3];case 3:return[2]}})})()}),V=(0,i.useCallback)(function(){if(C){var e={channelName:C},t=B[B.length-1];t&&(e.receiveTimestamp={$lt:t.receiveTimestamp}),z({filter:e,limit:30}).catch(function(e){console.error("Failed to load more messages",e)})}},[B,C]);if(!C)return null;var J=I?v(I.title||I.name):"",Q=(null!=(n=null==I?void 0:I.unreadMsgCnt)?n:0)===0||"read"===R;return s().createElement(s().Fragment,null,s().createElement("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:g.marginLG}},s().createElement(u.Typography.Title,{level:4,style:{margin:0}},J),s().createElement(u.Button,{disabled:Q,onClick:Y},c("Mark all as read"))),0===B.length&&F?s().createElement(u.Spin,{style:{width:"100%",marginTop:g.marginXXL}}):B.map(function(e){var t,n;return s().createElement(u.Card,{key:e.id,size:"small",variant:"borderless",style:{marginBottom:g.marginMD},onMouseEnter:function(){return x(e.id)},onMouseLeave:function(){return x(null)},title:s().createElement(u.Tooltip,{title:e.title,mouseEnterDelay:.5},s().createElement("div",{onClick:function(){return X(e)},style:{fontWeight:"unread"===e.status?"bold":"normal",cursor:"pointer",textOverflow:"ellipsis",whiteSpace:"nowrap",overflow:"hidden"}},e.title)),extra:(null==(t=e.options)?void 0:t.url)?s().createElement(u.Button,{type:"link",onClick:function(t){t.stopPropagation(),X(e)}},c("View")):null},s().createElement(u.Descriptions,{column:1},s().createElement(u.Descriptions.Item,{label:c("Content")},s().createElement(u.Tooltip,{title:e.content&&e.content.length>100?e.content:"",mouseEnterDelay:.5},null==(n=e.content)?void 0:n.slice(0,100),e.content&&e.content.length>100?"...":"")),s().createElement(u.Descriptions.Item,{label:c("Datetime")},(0,f.dayjs)(Number.parseInt(String(e.receiveTimestamp),10)).fromNow()),s().createElement(u.Descriptions.Item,{label:c("Status")},s().createElement("div",{style:{height:g.controlHeight}},M===e.id?s().createElement(u.Button,{type:"link",size:"small",style:{fontSize:g.fontSizeSM},onClick:function(){return K(e)}},c("unread"===e.status?"Mark as read":"Mark as unread")):s().createElement(u.Tag,{color:"unread"===e.status?"red":"green"},G[e.status])))))}),_.value?s().createElement("div",{style:{width:"100%",display:"flex",justifyContent:"center"}},s().createElement(u.Button,{onClick:V,loading:F},c("Loading more"))):null)},{displayName:"MessageList"}),Y=(0,o.observer)(function(){var e=(0,d.mG)().t,t=(0,d.kj)(),n=u.theme.useToken().token,r=I.value,a=j.value,o=P.value,c=(0,i.useCallback)(function(){var e={},t=r[r.length-1];(null==t?void 0:t.latestMsgReceiveTimestamp)&&(e.latestMsgReceiveTimestamp={$lt:t.latestMsgReceiveTimestamp}),N({filter:e,limit:30}).catch(function(e){console.error("Failed to load more channels",e)})},[r]),v=(0,l.useMemoizedFn)(function(e){j.value=e});(0,i.useEffect)(function(){o&&N({limit:30}).catch(function(e){console.error("Failed to fetch channels on inbox open",e)})},[o]);var p=B.value?s().createElement("div",{style:{textAlign:"center",marginTop:n.marginSM,height:n.controlHeight,lineHeight:"".concat(n.controlHeight,"px")}},s().createElement(u.Button,{loading:O.value,onClick:c},e("Loading more"))):null;return s().createElement(u.Layout,{style:{height:"100%"}},s().createElement(u.Layout.Sider,{width:350,style:{height:"100%",overflowY:"auto",background:n.colorBgContainer,padding:"0 ".concat(n.paddingSM,"px"),border:"none"}},s().createElement(G,null),s().createElement(u.List,{itemLayout:"horizontal",dataSource:r,loadMore:p,style:{paddingBottom:n.paddingLG},loading:0===r.length&&O.value,renderItem:function(e){var r,o,l=t(e.title||e.name),i=a===e.name,c=i?n.colorPrimaryText:n.colorText,d=i?n.colorPrimaryText:n.colorTextTertiary;return s().createElement(u.List.Item,{style:(r=function(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){var r;r=n[t],t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r})}return e}({padding:"".concat(n.paddingSM,"px ").concat(n.paddingSM,"px"),color:c},i?{backgroundColor:n.colorPrimaryBg}:{}),o=o={cursor:"pointer",marginTop:n.marginSM,border:"none",borderRadius:n.borderRadius,display:"flex",flexDirection:"column",justifyContent:"space-between"},Object.getOwnPropertyDescriptors?Object.defineProperties(r,Object.getOwnPropertyDescriptors(o)):(function(e){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t.push.apply(t,n)}return t})(Object(o)).forEach(function(e){Object.defineProperty(r,e,Object.getOwnPropertyDescriptor(o,e))}),r),onClick:function(){return v(e.name)}},s().createElement(u.Flex,{justify:"space-between",style:{width:"100%"}},s().createElement("div",{style:{flex:1,textOverflow:"ellipsis",overflow:"hidden",whiteSpace:"nowrap",fontWeight:"bold"},title:l},l),s().createElement("div",{style:{fontWeight:400,textAlign:"right",fontFamily:"monospace",color:d,marginLeft:n.marginSM}},(0,f.dayjs)(Number.parseInt(String(e.latestMsgReceiveTimestamp),10)).fromNow())),s().createElement(u.Flex,{justify:"space-between",style:{width:"100%",marginTop:n.marginXS}},s().createElement("div",{style:{flex:1,textOverflow:"ellipsis",overflow:"hidden",whiteSpace:"nowrap",color:d}},e.latestMsgTitle),"read"!==k.value?s().createElement(u.Badge,{style:{border:"none"},count:e.unreadMsgCnt}):null))}})),s().createElement(u.Layout.Content,{style:{padding:n.paddingLG,height:"100%",overflowY:"auto",backgroundColor:n.colorBgLayout}},a?s().createElement(X,null):null))},{displayName:"InboxContent"});function K(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function V(e){return(V=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function J(e,t){return(J=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function Q(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(Q=function(){return!!e})()}function Z(){var e,t,n=(e=["\n .ant-badge {\n color: rgba(255, 255, 255, 0.65);\n .anticon {\n display: inline-block;\n vertical-align: middle;\n line-height: 1em;\n font-size: initial;\n }\n > sup {\n height: 10px;\n line-height: 10px;\n font-size: 8px;\n }\n }\n"],t||(t=e.slice(0)),Object.freeze(Object.defineProperties(e,{raw:{value:Object.freeze(t)}})));return Z=function(){return n},n}var ee=(0,a.css)(Z()),et=(0,o.observer)(function(e){var t,n,a,f,v=e.model,p=(0,d.mG)().t,m=(0,o.useFlowEngine)(),h=(0,c.useMobileLayout)().isMobileLayout,b=u.theme.useToken().token,y=(0,c.useCurrentUserContext)(),g=null!=(t=null==y||null==(f=y.data)||null==(a=f.data)?void 0:a.id)?t:null,w=(0,l.useMemoizedFn)(function(){P.value=!0}),E=(0,l.useMemoizedFn)(function(){P.value=!1}),O=(0,l.useMemoizedFn)(function(e){var t,n,r,a=e.detail;a&&(T.value[a.id]=a,N({filter:{name:a.channelName,status:"all"}}).catch(function(e){console.error("Failed to refresh channel after message created",e)}),A().catch(function(e){console.error("Failed to update unread count after message created",e)}),u.notification.info({message:s().createElement("div",{style:{textOverflow:"ellipsis",overflow:"hidden",whiteSpace:"nowrap"}},a.title),description:(null!=(t=null==(n=a.content)?void 0:n.slice(0,100))?t:"")+(a.content&&a.content.length>100?"...":""),onClick:function(){P.value=!0,j.value=a.channelName,u.notification.destroy()},duration:null==(r=a.options)?void 0:r.duration}))}),M=(0,l.useMemoizedFn)(function(e){var t=e.detail;t&&(T.value[t.id]=t,N({filter:{name:t.channelName}}).catch(function(e){console.error("Failed to refresh channel after message updated",e)}),A().catch(function(e){console.error("Failed to update unread count after message updated",e)}))});if((0,i.useEffect)(function(){A().catch(function(e){console.error("Failed to initialize unread count",e)})},[]),(0,i.useEffect)(function(){x.value=null!=g?g:null},[g]),(0,i.useEffect)(function(){var e=m.context.app;if(null==e?void 0:e.eventBus)return e.eventBus.addEventListener("ws:message:in-app-message:created",O),e.eventBus.addEventListener("ws:message:in-app-message:updated",M),function(){e.eventBus.removeEventListener("ws:message:in-app-message:created",O),e.eventBus.removeEventListener("ws:message:in-app-message:updated",M)}},[m.context.app,O,M]),h)return null;var k=s().createElement(u.Tooltip,{title:v.context.t(v.tooltip)},s().createElement(u.Button,{type:"text",onClick:w,"data-testid":v.getTestId(),className:ee},s().createElement(u.Badge,{count:null!=(n=C.value)?n:0,size:"small"},s().createElement(r.BellOutlined,null))));return s().createElement(u.ConfigProvider,{theme:{components:{Drawer:{paddingLG:0}}}},k,s().createElement(u.Drawer,{title:s().createElement("div",{style:{padding:0,paddingLeft:b.padding}},p("Message")),open:P.value,width:900,onClose:E,styles:{header:{paddingLeft:b.paddingMD}}},s().createElement(Y,null)))},{displayName:"InboxButton"}),en=function(e){var t;if("function"!=typeof e&&null!==e)throw TypeError("Super expression must either be null or a function");function n(){var e,t,r;if(!(this instanceof n))throw TypeError("Cannot call a class as a function");return t=n,r=arguments,t=V(t),K(e=function(e,t){var n;if(t&&("object"==((n=t)&&"u">typeof Symbol&&n.constructor===Symbol?"symbol":typeof n)||"function"==typeof t))return t;if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(this,Q()?Reflect.construct(t,r||[],V(this).constructor):t.apply(this,r)),"sort",200),K(e,"actionId","inbox"),K(e,"testId","inbox-button"),K(e,"tooltip",(0,o.tExpr)("Message",{ns:["notification-in-app-message","@nocobase/plugin-notification-in-app-message","client"]})),e}return n.prototype=Object.create(e&&e.prototype,{constructor:{value:n,writable:!0,configurable:!0}}),e&&J(n,e),t=[{key:"render",value:function(){return s().createElement(et,{model:this})}}],function(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}(n.prototype,t),n}(c.TopbarActionModel),er=en}}]);
@@ -0,0 +1,12 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+ import type { APIClient } from '@nocobase/client-v2';
10
+ export type ApiClient = APIClient;
11
+ export declare function setApiClient(client: ApiClient): void;
12
+ export declare function getApiClient(): ApiClient | null;
@@ -0,0 +1,11 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+ import React from 'react';
10
+ export declare const FilterTab: React.MemoExoticComponent<import("@formily/reactive-react").ReactFC<unknown>>;
11
+ export default FilterTab;
@@ -0,0 +1,11 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+ import React from 'react';
10
+ export declare const InboxContent: React.MemoExoticComponent<import("@formily/reactive-react").ReactFC<unknown>>;
11
+ export default InboxContent;
@@ -0,0 +1,11 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+ import React from 'react';
10
+ export declare const MessageList: React.MemoExoticComponent<import("@formily/reactive-react").ReactFC<unknown>>;
11
+ export default MessageList;
@@ -6,5 +6,5 @@
6
6
  * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
7
  * For more information, please refer to: https://www.nocobase.com/agreement.
8
8
  */
9
- import React from 'react';
10
- export declare function UsersAddition(): React.JSX.Element;
9
+ export { PluginNotificationInAppMessageClientV2, NAMESPACE } from './plugin';
10
+ export { default } from './plugin';
@@ -0,0 +1,10 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+
10
+ !function(e,n){"object"==typeof exports&&"object"==typeof module?module.exports=n(require("ahooks"),require("react-i18next"),require("@emotion/css"),require("@nocobase/plugin-notification-manager/client-v2"),require("@nocobase/client-v2"),require("react-router-dom"),require("react"),require("antd"),require("@ant-design/icons"),require("@nocobase/flow-engine"),require("@nocobase/utils/client")):"function"==typeof define&&define.amd?define("@nocobase/plugin-notification-in-app-message/client-v2",["ahooks","react-i18next","@emotion/css","@nocobase/plugin-notification-manager/client-v2","@nocobase/client-v2","react-router-dom","react","antd","@ant-design/icons","@nocobase/flow-engine","@nocobase/utils/client"],n):"object"==typeof exports?exports["@nocobase/plugin-notification-in-app-message/client-v2"]=n(require("ahooks"),require("react-i18next"),require("@emotion/css"),require("@nocobase/plugin-notification-manager/client-v2"),require("@nocobase/client-v2"),require("react-router-dom"),require("react"),require("antd"),require("@ant-design/icons"),require("@nocobase/flow-engine"),require("@nocobase/utils/client")):e["@nocobase/plugin-notification-in-app-message/client-v2"]=n(e.ahooks,e["react-i18next"],e["@emotion/css"],e["@nocobase/plugin-notification-manager/client-v2"],e["@nocobase/client-v2"],e["react-router-dom"],e.react,e.antd,e["@ant-design/icons"],e["@nocobase/flow-engine"],e["@nocobase/utils/client"])}(self,function(e,n,t,r,o,i,c,a,u,l,s){return function(){"use strict";var f,p,b,d={247:function(e,n,t){t.d(n,{A:function(){return o},e:function(){return i}});var r=null;function o(e){r=e}function i(){return r}},488:function(e,n,t){t.d(n,{MZ:function(){return l},kj:function(){return u},mG:function(){return a}});var r=t(694),o=t(953),i="notification-in-app-message",c="@nocobase/plugin-notification-in-app-message";function a(){return(0,o.useTranslation)([i,c,"client"],{nsMode:"fallback"})}function u(){var e=(0,r.useFlowEngine)();return function(n,t){return e.context.t(n,function(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{},r=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(t).filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable}))),r.forEach(function(n){var r;r=t[n],n in e?Object.defineProperty(e,n,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[n]=r})}return e}({ns:[i,c,"client"],nsMode:"fallback"},t))}}function l(e){return(0,r.tExpr)(e,{ns:[i,c,"client"]})}},375:function(e){e.exports=u},477:function(e){e.exports=t},485:function(e){e.exports=o},694:function(e){e.exports=l},341:function(e){e.exports=r},768:function(e){e.exports=s},625:function(n){n.exports=e},59:function(e){e.exports=a},155:function(e){e.exports=c},953:function(e){e.exports=n},442:function(e){e.exports=i}},g={};function v(e){var n=g[e];if(void 0!==n)return n.exports;var t=g[e]={exports:{}};return d[e].call(t.exports,t,t.exports,v),t.exports}v.m=d,v.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return v.d(n,{a:n}),n},v.d=function(e,n){for(var t in n)v.o(n,t)&&!v.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:n[t]})},v.f={},v.e=function(e){return Promise.all(Object.keys(v.f).reduce(function(n,t){return v.f[t](e,n),n},[]))},v.u=function(e){return""+e+".503d86e234fdb749.js"},v.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),v.o=function(e,n){return Object.prototype.hasOwnProperty.call(e,n)},h={},v.l=function(e,n,t,r){if(h[e])return void h[e].push(n);if(void 0!==t)for(var o,i,c=document.getElementsByTagName("script"),a=0;a<c.length;a++){var u=c[a];if(u.getAttribute("src")==e||u.getAttribute("data-rspack")=="@nocobase/plugin-notification-in-app-message/client-v2:"+t){o=u;break}}o||(i=!0,(o=document.createElement("script")).timeout=120,v.nc&&o.setAttribute("nonce",v.nc),o.setAttribute("data-rspack","@nocobase/plugin-notification-in-app-message/client-v2:"+t),o.src=e),h[e]=[n];var l=function(n,t){o.onerror=o.onload=null,clearTimeout(s);var r=h[e];if(delete h[e],o.parentNode&&o.parentNode.removeChild(o),r&&r.forEach(function(e){return e(t)}),n)return n(t)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:o}),12e4);o.onerror=l.bind(null,o.onerror),o.onload=l.bind(null,o.onload),i&&document.head.appendChild(o)},v.r=function(e){"u">typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},v.g.importScripts&&(m=v.g.location+"");var h,m,y=v.g.document;if(!m&&y&&(y.currentScript&&"SCRIPT"===y.currentScript.tagName.toUpperCase()&&(m=y.currentScript.src),!m)){var w=y.getElementsByTagName("script");if(w.length)for(var _=w.length-1;_>-1&&(!m||!/^http(s?):/.test(m));)m=w[_--].src}if(!m)throw Error("Automatic publicPath is not supported in this browser");v.p=m.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/"),f={889:0},v.f.j=function(e,n){var t=v.o(f,e)?f[e]:void 0;if(0!==t)if(t)n.push(t[2]);else{var r=new Promise(function(n,r){t=f[e]=[n,r]});n.push(t[2]=r);var o=v.p+v.u(e),i=Error();v.l(o,function(n){if(v.o(f,e)&&(0!==(t=f[e])&&(f[e]=void 0),t)){var r=n&&("load"===n.type?"missing":n.type),o=n&&n.target&&n.target.src;i.message="Loading chunk "+e+" failed.\n("+r+": "+o+")",i.name="ChunkLoadError",i.type=r,i.request=o,t[1](i)}},"chunk-"+e,e)}},p=function(e,n){var t,r,o=n[0],i=n[1],c=n[2],a=0;if(o.some(function(e){return 0!==f[e]})){for(t in i)v.o(i,t)&&(v.m[t]=i[t]);c&&c(v)}for(e&&e(n);a<o.length;a++)r=o[a],v.o(f,r)&&f[r]&&f[r][0](),f[r]=0},(b=self.webpackChunk_nocobase_plugin_notification_in_app_message_client_v2=self.webpackChunk_nocobase_plugin_notification_in_app_message_client_v2||[]).forEach(p.bind(null,0)),b.push=p.bind(null,b.push.bind(b));var x={};return!function(){var e="",n="u">typeof document?document.currentScript:null;if(n&&n.src&&(e=n.src.replace(/^blob:/,"").replace(/#.*$/,"").replace(/\?.*$/,"").replace(/\/[^\/]+$/,"/")),!e){var t=window.__webpack_public_path__||"";t&&("/"!==t.charAt(t.length-1)&&(t+="/"),e=t+"static/plugins/@nocobase/plugin-notification-in-app-message/dist/client-v2/")}if(!e){var r=window.__nocobase_modern_client_prefix__||"v",o="/"+(r=String(r).replace(/^\/+|\/+$/g,"")||"v")+"/";if(!(e=window.__nocobase_public_path__||"")&&window.location&&window.location.pathname){var i=window.location.pathname||"/",c=i.indexOf(o);e=c>=0?i.slice(0,c+1):"/"}e&&(e=e.replace(RegExp("/"+r+"/?$"),"/")),e||(e="/"),"/"!==e.charAt(e.length-1)&&(e+="/"),e+="static/plugins/@nocobase/plugin-notification-in-app-message/dist/client-v2/"}v.p=e}(),!function(){v.r(x),v.d(x,{PluginNotificationInAppMessageClientV2:function(){return d},NAMESPACE:function(){return b},default:function(){return g}});var e=v(485),n=v(341),t=v.n(n),r=v(247),o=v(488);function i(e,n,t,r,o,i,c){try{var a=e[i](c),u=a.value}catch(e){t(e);return}a.done?n(u):Promise.resolve(u).then(r,o)}function c(e){return function(){var n=this,t=arguments;return new Promise(function(r,o){var c=e.apply(n,t);function a(e){i(c,r,o,a,u,"next",e)}function u(e){i(c,r,o,a,u,"throw",e)}a(void 0)})}}function a(e,n,t){return(a=f()?Reflect.construct:function(e,n,t){var r=[null];r.push.apply(r,n);var o=new(Function.bind.apply(e,r));return t&&l(o,t.prototype),o}).apply(null,arguments)}function u(e){return(u=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function l(e,n){return(l=Object.setPrototypeOf||function(e,n){return e.__proto__=n,e})(e,n)}function s(e){var n="function"==typeof Map?new Map:void 0;return(s=function(e){if(null===e||-1===Function.toString.call(e).indexOf("[native code]"))return e;if("function"!=typeof e)throw TypeError("Super expression must either be null or a function");if(void 0!==n){if(n.has(e))return n.get(e);n.set(e,t)}function t(){return a(e,arguments,u(this).constructor)}return t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}),l(t,e)})(e)}function f(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(f=function(){return!!e})()}function p(e,n){var t,r,o,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]},c=Object.create(("function"==typeof Iterator?Iterator:Object).prototype),a=Object.defineProperty;return a(c,"next",{value:u(0)}),a(c,"throw",{value:u(1)}),a(c,"return",{value:u(2)}),"function"==typeof Symbol&&a(c,Symbol.iterator,{value:function(){return this}}),c;function u(a){return function(u){var l=[a,u];if(t)throw TypeError("Generator is already executing.");for(;c&&(c=0,l[0]&&(i=0)),i;)try{if(t=1,r&&(o=2&l[0]?r.return:l[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,l[1])).done)return o;switch(r=0,o&&(l=[2&l[0],o.value]),l[0]){case 0:case 1:o=l;break;case 4:return i.label++,{value:l[1],done:!1};case 5:i.label++,r=l[1],l=[0];continue;case 7:l=i.ops.pop(),i.trys.pop();continue;default:if(!(o=(o=i.trys).length>0&&o[o.length-1])&&(6===l[0]||2===l[0])){i=0;continue}if(3===l[0]&&(!o||l[1]>o[0]&&l[1]<o[3])){i.label=l[1];break}if(6===l[0]&&i.label<o[1]){i.label=o[1],o=l;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(l);break}o[2]&&i.ops.pop(),i.trys.pop();continue}l=n.call(e,i)}catch(e){l=[6,e],r=0}finally{t=o=0}if(5&l[0])throw l[1];return{value:l[0]?l[1]:void 0,done:!0}}}}var b="notification-in-app-message",d=function(e){var n;if("function"!=typeof e&&null!==e)throw TypeError("Super expression must either be null or a function");function i(){var e,n;if(!(this instanceof i))throw TypeError("Cannot call a class as a function");return e=i,n=arguments,e=u(e),function(e,n){var t;if(n&&("object"==((t=n)&&"u">typeof Symbol&&t.constructor===Symbol?"symbol":typeof t)||"function"==typeof n))return n;if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(this,f()?Reflect.construct(e,n||[],u(this).constructor):e.apply(this,n))}return i.prototype=Object.create(e&&e.prototype,{constructor:{value:i,writable:!0,configurable:!0}}),e&&l(i,e),n=[{key:"beforeLoad",value:function(){return c(function(){var e;return p(this,function(n){return(e=this.pm.get(t()))&&e.registerChannelType({type:"in-app-message",title:(0,o.MZ)("In-app message"),components:{},meta:{creatable:!0,editable:!0,deletable:!0}}),[2]})}).call(this)}},{key:"load",value:function(){return c(function(){return p(this,function(e){return(0,r.A)(this.app.apiClient),this.flowEngine.registerModelLoaders({InboxTopbarActionModel:{extends:"TopbarActionModel",loader:function(){return v.e("297").then(v.bind(v,8))}}}),[2]})}).call(this)}}],function(e,n){for(var t=0;t<n.length;t++){var r=n[t];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}(i.prototype,n),i}(s(e.Plugin)),g=d}(),x}()});
@@ -0,0 +1,12 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+ export declare const NAMESPACE = "notification-in-app-message";
10
+ export declare function useInAppMessageTranslation(): import("react-i18next").UseTranslationResponse<("notification-in-app-message" | "client" | "@nocobase/plugin-notification-in-app-message")[], undefined>;
11
+ export declare function useT(): (key: string, options?: Record<string, any>) => string;
12
+ export declare function tExpr(key: string): string;
@@ -0,0 +1,18 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+ import React from 'react';
10
+ import { TopbarActionModel } from '@nocobase/client-v2';
11
+ export declare class InboxTopbarActionModel extends TopbarActionModel {
12
+ sort: number;
13
+ actionId: string;
14
+ testId: string;
15
+ tooltip: string;
16
+ render(): React.JSX.Element;
17
+ }
18
+ export default InboxTopbarActionModel;
@@ -0,0 +1,27 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+ /**
10
+ * TODO (deferred to follow-up v2 migrations):
11
+ * - Editing UI: MessageConfigForm / ContentConfigForm / configFormCommonFieldset
12
+ * depend on `@nocobase/plugin-workflow` v2 (variable scope, UsersSelect/UsersAddition
13
+ * query mode). Will be added when workflow's client-v2 lands.
14
+ * - Mobile shell: MobileChannelPage / MobileMessagePage / MobileTabBarMessageItem /
15
+ * messageSchemaInitializerItem depend on `@nocobase/plugin-mobile` v2.
16
+ * - Triple-brace variable picker (`{{{ ... }}}`) needs `VariableInput.delimiters`
17
+ * support in `@nocobase/client-v2`, additive change.
18
+ */
19
+ import { Plugin } from '@nocobase/client-v2';
20
+ import type { Application } from '@nocobase/client-v2';
21
+ declare const NAMESPACE = "notification-in-app-message";
22
+ export declare class PluginNotificationInAppMessageClientV2 extends Plugin<Record<string, never>, Application> {
23
+ beforeLoad(): Promise<void>;
24
+ load(): Promise<void>;
25
+ }
26
+ export { NAMESPACE };
27
+ export default PluginNotificationInAppMessageClientV2;
@@ -0,0 +1,72 @@
1
+ /**
2
+ * This file is part of the NocoBase (R) project.
3
+ * Copyright (c) 2020-2024 NocoBase Co., Ltd.
4
+ * Authors: NocoBase Team.
5
+ *
6
+ * This project is dual-licensed under AGPL-3.0 and NocoBase Commercial License.
7
+ * For more information, please refer to: https://www.nocobase.com/agreement.
8
+ */
9
+ import type { Channel, Message } from '../types';
10
+ export type ChannelStatus = 'all' | 'read' | 'unread';
11
+ export declare const channelMapObs: {
12
+ value: Record<string, Channel>;
13
+ };
14
+ export declare const isFetchingChannelsObs: {
15
+ value: boolean;
16
+ };
17
+ export declare const channelCountObs: {
18
+ value: number;
19
+ };
20
+ export declare const channelStatusFilterObs: {
21
+ value: ChannelStatus;
22
+ };
23
+ export declare const selectedChannelNameObs: {
24
+ value: string | null;
25
+ };
26
+ export declare const userIdObs: {
27
+ value: number | null;
28
+ };
29
+ export declare const messageMapObs: {
30
+ value: Record<string, Message>;
31
+ };
32
+ export declare const isFetchingMessageObs: {
33
+ value: boolean;
34
+ };
35
+ export declare const unreadMsgsCountObs: {
36
+ value: number | null;
37
+ };
38
+ export declare const inboxVisibleObs: {
39
+ value: boolean;
40
+ };
41
+ export declare const channelListObs: {
42
+ value: Channel[];
43
+ };
44
+ export declare const showChannelLoadingMoreObs: {
45
+ value: boolean;
46
+ };
47
+ export declare const selectedChannelObs: {
48
+ value: Channel | null;
49
+ };
50
+ export declare const selectedMessageListObs: {
51
+ value: Message[];
52
+ };
53
+ export declare const showMsgLoadingMoreObs: {
54
+ value: boolean;
55
+ };
56
+ export type FetchChannelsParams = {
57
+ filter?: Record<string, any>;
58
+ limit?: number;
59
+ };
60
+ export type FetchMessagesParams = {
61
+ filter?: Record<string, any>;
62
+ limit?: number;
63
+ };
64
+ export type UpdateMessageParams = {
65
+ filterByTk: string | number;
66
+ values: Record<string, any>;
67
+ };
68
+ export declare function fetchChannels(params?: FetchChannelsParams): Promise<void>;
69
+ export declare function fetchMessages(params?: FetchMessagesParams): Promise<void>;
70
+ export declare function updateUnreadMsgsCount(): Promise<void>;
71
+ export declare function updateMessage(params: UpdateMessageParams): Promise<void>;
72
+ export declare function markAllMessagesAsRead(channelName: string): Promise<void>;
@@ -9,24 +9,26 @@
9
9
 
10
10
  module.exports = {
11
11
  "react": "18.2.0",
12
- "@nocobase/client": "2.1.0-beta.9",
13
- "@nocobase/plugin-notification-manager": "2.1.0-beta.9",
14
- "@nocobase/plugin-mobile": "2.1.0-beta.9",
15
- "@nocobase/utils": "2.1.0-beta.9",
12
+ "@nocobase/client": "2.2.0-beta.1",
13
+ "@nocobase/plugin-notification-manager": "2.2.0-beta.1",
14
+ "@nocobase/plugin-mobile": "2.2.0-beta.1",
15
+ "@nocobase/utils": "2.2.0-beta.1",
16
+ "@nocobase/client-v2": "2.2.0-beta.1",
17
+ "@nocobase/flow-engine": "2.2.0-beta.1",
16
18
  "react-i18next": "11.18.6",
17
- "@nocobase/server": "2.1.0-beta.9",
19
+ "dayjs": "1.11.13",
20
+ "@nocobase/database": "2.2.0-beta.1",
21
+ "@nocobase/server": "2.2.0-beta.1",
18
22
  "sequelize": "6.35.2",
19
- "@nocobase/actions": "2.1.0-beta.9",
20
- "@nocobase/database": "2.1.0-beta.9",
23
+ "@nocobase/actions": "2.2.0-beta.1",
21
24
  "antd": "5.24.2",
22
- "@nocobase/flow-engine": "2.1.0-beta.9",
23
25
  "antd-style": "3.7.1",
24
26
  "@emotion/css": "11.13.0",
25
27
  "@formily/react": "2.3.7",
28
+ "@nocobase/plugin-workflow": "2.2.0-beta.1",
26
29
  "react-router-dom": "6.30.1",
27
- "@formily/core": "2.3.7",
28
- "@ant-design/icons": "5.6.1",
29
- "@nocobase/plugin-workflow": "2.1.0-beta.9",
30
30
  "@formily/reactive": "2.3.7",
31
+ "ahooks": "3.7.8",
32
+ "@ant-design/icons": "5.6.1",
31
33
  "@formily/shared": "2.3.7"
32
34
  };
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ require('../uuid-bin');
@@ -0,0 +1,104 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ Object.defineProperty(exports, "MAX", {
7
+ enumerable: true,
8
+ get: function get() {
9
+ return _max.default;
10
+ }
11
+ });
12
+ Object.defineProperty(exports, "NIL", {
13
+ enumerable: true,
14
+ get: function get() {
15
+ return _nil.default;
16
+ }
17
+ });
18
+ Object.defineProperty(exports, "parse", {
19
+ enumerable: true,
20
+ get: function get() {
21
+ return _parse.default;
22
+ }
23
+ });
24
+ Object.defineProperty(exports, "stringify", {
25
+ enumerable: true,
26
+ get: function get() {
27
+ return _stringify.default;
28
+ }
29
+ });
30
+ Object.defineProperty(exports, "v1", {
31
+ enumerable: true,
32
+ get: function get() {
33
+ return _v.default;
34
+ }
35
+ });
36
+ Object.defineProperty(exports, "v1ToV6", {
37
+ enumerable: true,
38
+ get: function get() {
39
+ return _v1ToV.default;
40
+ }
41
+ });
42
+ Object.defineProperty(exports, "v3", {
43
+ enumerable: true,
44
+ get: function get() {
45
+ return _v2.default;
46
+ }
47
+ });
48
+ Object.defineProperty(exports, "v4", {
49
+ enumerable: true,
50
+ get: function get() {
51
+ return _v3.default;
52
+ }
53
+ });
54
+ Object.defineProperty(exports, "v5", {
55
+ enumerable: true,
56
+ get: function get() {
57
+ return _v4.default;
58
+ }
59
+ });
60
+ Object.defineProperty(exports, "v6", {
61
+ enumerable: true,
62
+ get: function get() {
63
+ return _v5.default;
64
+ }
65
+ });
66
+ Object.defineProperty(exports, "v6ToV1", {
67
+ enumerable: true,
68
+ get: function get() {
69
+ return _v6ToV.default;
70
+ }
71
+ });
72
+ Object.defineProperty(exports, "v7", {
73
+ enumerable: true,
74
+ get: function get() {
75
+ return _v6.default;
76
+ }
77
+ });
78
+ Object.defineProperty(exports, "validate", {
79
+ enumerable: true,
80
+ get: function get() {
81
+ return _validate.default;
82
+ }
83
+ });
84
+ Object.defineProperty(exports, "version", {
85
+ enumerable: true,
86
+ get: function get() {
87
+ return _version.default;
88
+ }
89
+ });
90
+ var _max = _interopRequireDefault(require("./max.js"));
91
+ var _nil = _interopRequireDefault(require("./nil.js"));
92
+ var _parse = _interopRequireDefault(require("./parse.js"));
93
+ var _stringify = _interopRequireDefault(require("./stringify.js"));
94
+ var _v = _interopRequireDefault(require("./v1.js"));
95
+ var _v1ToV = _interopRequireDefault(require("./v1ToV6.js"));
96
+ var _v2 = _interopRequireDefault(require("./v3.js"));
97
+ var _v3 = _interopRequireDefault(require("./v4.js"));
98
+ var _v4 = _interopRequireDefault(require("./v5.js"));
99
+ var _v5 = _interopRequireDefault(require("./v6.js"));
100
+ var _v6ToV = _interopRequireDefault(require("./v6ToV1.js"));
101
+ var _v6 = _interopRequireDefault(require("./v7.js"));
102
+ var _validate = _interopRequireDefault(require("./validate.js"));
103
+ var _version = _interopRequireDefault(require("./version.js"));
104
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _default = exports.default = 'ffffffff-ffff-ffff-ffff-ffffffffffff';