@nocobase/plugin-form-drafts 2.1.0-alpha.8 → 2.1.0-alpha.9

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.
@@ -7,4 +7,4 @@
7
7
  * For more information, please refer to: https://www.nocobase.com/agreement.
8
8
  */
9
9
 
10
- !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("react"),require("@nocobase/flow-engine"),require("@nocobase/client"),require("antd")):"function"==typeof define&&define.amd?define("@nocobase/plugin-form-drafts",["react","@nocobase/flow-engine","@nocobase/client","antd"],t):"object"==typeof exports?exports["@nocobase/plugin-form-drafts"]=t(require("react"),require("@nocobase/flow-engine"),require("@nocobase/client"),require("antd")):e["@nocobase/plugin-form-drafts"]=t(e.react,e["@nocobase/flow-engine"],e["@nocobase/client"],e.antd)}(self,function(e,t,r,n){return function(){"use strict";var o={772:function(e){e.exports=r},667:function(e){e.exports=t},721:function(e){e.exports=n},156:function(t){t.exports=e}},i={};function a(e){var t=i[e];if(void 0!==t)return t.exports;var r=i[e]={exports:{}};return o[e](r,r.exports,a),r.exports}a.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(t,{a:t}),t},a.d=function(e,t){for(var r in t)a.o(t,r)&&!a.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},a.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},a.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var u={};return!function(){let e,t,r;a.r(u),a.d(u,{default:function(){return J}});var n=a(772),o=a(721);let i=(e,t)=>t.some(t=>e instanceof t),s=new WeakMap,c=new WeakMap,l=new WeakMap,f=new WeakMap,d=new WeakMap,p={get(e,t,r){if(e instanceof IDBTransaction){if("done"===t)return c.get(e);if("objectStoreNames"===t)return e.objectStoreNames||l.get(e);if("store"===t)return r.objectStoreNames[1]?void 0:r.objectStore(r.objectStoreNames[0])}return b(e[t])},set:(e,t,r)=>(e[t]=r,!0),has:(e,t)=>e instanceof IDBTransaction&&("done"===t||"store"===t)||t in e};function b(r){if(r instanceof IDBRequest){let e=new Promise((e,t)=>{let n=()=>{r.removeEventListener("success",o),r.removeEventListener("error",i)},o=()=>{e(b(r.result)),n()},i=()=>{t(r.error),n()};r.addEventListener("success",o),r.addEventListener("error",i)});return e.then(e=>{e instanceof IDBCursor&&s.set(e,r)}).catch(()=>{}),d.set(e,r),e}if(f.has(r))return f.get(r);let n=function(r){if("function"==typeof r)return r!==IDBDatabase.prototype.transaction||"objectStoreNames"in IDBTransaction.prototype?(t||(t=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])).includes(r)?function(...e){return r.apply(y(this),e),b(s.get(this))}:function(...e){return b(r.apply(y(this),e))}:function(e,...t){let n=r.call(y(this),e,...t);return l.set(n,e.sort?e.sort():[e]),b(n)};return(r instanceof IDBTransaction&&function(e){if(c.has(e))return;let t=new Promise((t,r)=>{let n=()=>{e.removeEventListener("complete",o),e.removeEventListener("error",i),e.removeEventListener("abort",i)},o=()=>{t(),n()},i=()=>{r(e.error||new DOMException("AbortError","AbortError")),n()};e.addEventListener("complete",o),e.addEventListener("error",i),e.addEventListener("abort",i)});c.set(e,t)}(r),i(r,e||(e=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])))?new Proxy(r,p):r}(r);return n!==r&&(f.set(r,n),d.set(n,r)),n}let y=e=>d.get(e),v=["get","getKey","getAll","getAllKeys","count"],h=["put","add","delete","clear"],m=new Map;function g(e,t){if(!(e instanceof IDBDatabase&&!(t in e)&&"string"==typeof t))return;if(m.get(t))return m.get(t);let r=t.replace(/FromIndex$/,""),n=t!==r,o=h.includes(r);if(!(r in(n?IDBIndex:IDBObjectStore).prototype)||!(o||v.includes(r)))return;let i=async function(e,...t){let i=this.transaction(e,o?"readwrite":"readonly"),a=i.store;return n&&(a=a.index(t.shift())),(await Promise.all([a[r](...t),o&&i.done]))[0]};return m.set(t,i),i}p={...r=p,get:(e,t,n)=>g(e,t)||r.get(e,t,n),has:(e,t)=>!!g(e,t)||r.has(e,t)};var w=a(156),D=a.n(w),k=a(667),x=JSON.parse('{"u2":"@nocobase/plugin-form-drafts"}').u2;function E(e){return(0,k.tExpr)(e,{ns:[x,"client"]})}var S={};function B(e,t,r,n,o,i,a){try{var u=e[i](a),s=u.value}catch(e){r(e);return}u.done?t(s):Promise.resolve(s).then(n,o)}function j(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var i=e.apply(t,r);function a(e){B(i,n,o,a,u,"next",e)}function u(e){B(i,n,o,a,u,"throw",e)}a(void 0)})}}function O(e,t){if(!(e instanceof t))throw TypeError("Cannot call a class as a function")}function P(e,t,r){if(!t.has(e))throw TypeError("attempted to "+r+" private field on non-instance");return t.get(e)}function I(e,t){var r=P(e,t,"get");return r.get?r.get.call(e):r.value}function M(e,t,r){var n=P(e,t,"set");if(n.set)n.set.call(e,r);else{if(!n.writable)throw TypeError("attempted to set read only private field");n.value=r}return r}function F(e,t,r){return(F=A()?Reflect.construct:function(e,t,r){var n=[null];n.push.apply(n,t);var o=new(Function.bind.apply(e,n));return r&&C(o,r.prototype),o}).apply(null,arguments)}function _(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function R(e,t,r){return t&&_(e.prototype,t),r&&_(e,r),e}function T(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function L(e){return(L=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function C(e,t){return(C=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function q(e){var t="function"==typeof Map?new Map:void 0;return(q=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!==t){if(t.has(e))return t.get(e);t.set(e,r)}function r(){return F(e,arguments,L(this).constructor)}return r.prototype=Object.create(e.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),C(r,e)})(e)}function A(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(A=function(){return!!e})()}function V(e,t){var r,n,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:u(0),throw:u(1),return:u(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function u(i){return function(u){var s=[i,u];if(r)throw TypeError("Generator is already executing.");for(;a;)try{if(r=1,n&&(o=2&s[0]?n.return:s[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,s[1])).done)return o;switch(n=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,n=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===s[0]||2===s[0])){a=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){a.label=s[1];break}if(6===s[0]&&a.label<o[1]){a.label=o[1],o=s;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(s);break}o[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(e){s=[6,e],n=0}finally{r=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}}}n.FormBlockModel.registerFlow({key:"draftCreateFlow",title:E("Draft settings"),on:"beforeRender",sort:1e4,steps:{createDraft:{title:E("Enable drafts"),uiMode:{type:"switch",key:"enabled"},uiSchema:{enabled:{"x-component":"Switch","x-decorator":"FormItem"}},defaultParams:{enabled:!1},handler:function(e,t){return j(function(){var r;return V(this,function(n){switch(n.label){case 0:if(e.model.context.defineProperty("draftRepository",{get:function(){return new W(e)}}),e.model.context.defineMethod("showDraftAlert",function(t){console.log("showDraftAlert",t),e.model.decoratorProps.beforeContent=D().createElement(o.Alert,{style:{marginBottom:"1em"},type:"warning",action:D().createElement(o.Button,{ghost:!0,size:"small",danger:!0,onClick:function(){e.draftRepository.delete(),e.form.resetFields(),e.model.decoratorProps.beforeContent=null}},e.t("Delete draft",{ns:x})),description:e.t(t,{ns:x})})}),t.enabled)return[3,2];return[4,e.draftRepository.disable()];case 1:case 5:return n.sent(),[2];case 2:return[4,e.draftRepository.connect()];case 3:return n.sent(),[4,e.draftRepository.get()];case 4:if(!(!(null==(r=n.sent())?void 0:r.values)||0===Object.keys(r.values).length))return[3,6];return[4,e.draftRepository.create()];case 6:return e.blockModel.form.setFieldsValue(r.values||{}),e.showDraftAlert("This is an unsubmitted draft. You can continue editing and submit it, or click “Delete draft” to start over."),[2]}})})()}}}}),n.FormBlockModel.registerFlow({key:"draftSaveFlow",on:"formValuesChange",steps:{saveDraft:{handler:function(e){return j(function(){return V(this,function(t){switch(t.label){case 0:if(e.draftRepository.disabled)return[2];return[4,e.draftRepository.save(e.form.getFieldsValue())];case 1:return t.sent(),e.showDraftAlert("Your draft has been saved. You can continue editing and submit it, or click “Delete Draft” to start over."),[2]}})})()}}}}),n.FormBlockModel.registerFlow({key:"deleteDraftFlow",on:"formSubmitSuccess",steps:{deleteDraft:{handler:function(e){return j(function(){return V(this,function(t){switch(t.label){case 0:if(e.draftRepository.disabled)return[2];return[4,e.draftRepository.delete()];case 1:return t.sent(),e.model.decoratorProps.beforeContent=null,[2]}})})()}}}});var N=new WeakMap,W=function(){function e(t){var r;O(this,e),T(this,"ctx",void 0),T(this,"uid",void 0),T(this,"db",void 0),function(e,t,r){if(t.has(e))throw TypeError("Cannot initialize the same private elements twice on an object");t.set(e,r)}(this,N,{writable:!0,value:void 0}),this.ctx=t,M(this,N,!1),this.uid=t.model.uid+":"+((null==t||null==(r=t.resource)?void 0:r.getFilterByTk())||"__new_record__")}return R(e,[{key:"disable",value:function(){M(this,N,!0)}},{key:"disabled",get:function(){return I(this,N)}},{key:"connect",value:function(){var e=this;return j(function(){return V(this,function(t){switch(t.label){case 0:if(I(e,N))return[2];return[4,function(e,t,{blocked:r,upgrade:n,blocking:o,terminated:i}={}){let a=indexedDB.open(e,1),u=b(a);return n&&a.addEventListener("upgradeneeded",e=>{n(b(a.result),e.oldVersion,e.newVersion,b(a.transaction),e)}),r&&a.addEventListener("blocked",e=>r(e.oldVersion,e.newVersion,e)),u.then(e=>{i&&e.addEventListener("close",()=>i()),o&&e.addEventListener("versionchange",e=>o(e.oldVersion,e.newVersion,e))}).catch(()=>{}),u}("FormDraftsDB",0,{upgrade:function(e){e.createObjectStore("drafts",{keyPath:"uid"})}})];case 1:return e.db=t.sent(),[2]}})})()}},{key:"create",value:function(){var e=this;return j(function(){var t;return V(this,function(r){switch(r.label){case 0:if(I(e,N))return[2];return t={uid:e.uid,values:{}},[4,e.db.put("drafts",t)];case 1:return r.sent(),[2]}})})()}},{key:"get",value:function(){var e=this;return j(function(){return V(this,function(t){return I(e,N)?[2]:[2,e.db.get("drafts",e.uid)]})})()}},{key:"save",value:function(e){var t=this;return j(function(){var r;return V(this,function(n){switch(n.label){case 0:if(I(t,N))return[2];return r=JSON.parse(JSON.stringify(e)),[4,t.db.put("drafts",{uid:t.uid,values:r})];case 1:return n.sent(),[2]}})})()}},{key:"delete",value:function(){var e=this;return j(function(){return V(this,function(t){switch(t.label){case 0:if(I(e,N))return[2];return[4,e.db.delete("drafts",e.uid)];case 1:return t.sent(),[2]}})})()}}]),e}(),J=function(e){if("function"!=typeof e&&null!==e)throw TypeError("Super expression must either be null or a function");function t(){var e,r;return O(this,t),e=t,r=arguments,e=L(e),function(e,t){var r;if(t&&("object"==((r=t)&&"undefined"!=typeof Symbol&&r.constructor===Symbol?"symbol":typeof r)||"function"==typeof t))return t;if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(this,A()?Reflect.construct(e,r||[],L(this).constructor):e.apply(this,r))}return t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&C(t,e),R(t,[{key:"load",value:function(){var e=this;return j(function(){return V(this,function(t){return e.flowEngine.registerModels(S),[2]})})()}}]),t}(q(n.Plugin))}(),u}()});
10
+ !function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("react"),require("@nocobase/flow-engine"),require("@nocobase/client"),require("antd")):"function"==typeof define&&define.amd?define("@nocobase/plugin-form-drafts",["react","@nocobase/flow-engine","@nocobase/client","antd"],t):"object"==typeof exports?exports["@nocobase/plugin-form-drafts"]=t(require("react"),require("@nocobase/flow-engine"),require("@nocobase/client"),require("antd")):e["@nocobase/plugin-form-drafts"]=t(e.react,e["@nocobase/flow-engine"],e["@nocobase/client"],e.antd)}(self,function(e,t,r,n){return function(){"use strict";var o={772:function(e){e.exports=r},667:function(e){e.exports=t},721:function(e){e.exports=n},156:function(t){t.exports=e}},i={};function a(e){var t=i[e];if(void 0!==t)return t.exports;var r=i[e]={exports:{}};return o[e](r,r.exports,a),r.exports}a.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return a.d(t,{a:t}),t},a.d=function(e,t){for(var r in t)a.o(t,r)&&!a.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})},a.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},a.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var u={};return!function(){let e,t,r;a.r(u),a.d(u,{default:function(){return J}});var n=a(772),o=a(721);let i=(e,t)=>t.some(t=>e instanceof t),s=new WeakMap,c=new WeakMap,l=new WeakMap,f=new WeakMap,d=new WeakMap,p={get(e,t,r){if(e instanceof IDBTransaction){if("done"===t)return c.get(e);if("objectStoreNames"===t)return e.objectStoreNames||l.get(e);if("store"===t)return r.objectStoreNames[1]?void 0:r.objectStore(r.objectStoreNames[0])}return b(e[t])},set:(e,t,r)=>(e[t]=r,!0),has:(e,t)=>e instanceof IDBTransaction&&("done"===t||"store"===t)||t in e};function b(r){if(r instanceof IDBRequest){let e=new Promise((e,t)=>{let n=()=>{r.removeEventListener("success",o),r.removeEventListener("error",i)},o=()=>{e(b(r.result)),n()},i=()=>{t(r.error),n()};r.addEventListener("success",o),r.addEventListener("error",i)});return e.then(e=>{e instanceof IDBCursor&&s.set(e,r)}).catch(()=>{}),d.set(e,r),e}if(f.has(r))return f.get(r);let n=function(r){if("function"==typeof r)return r!==IDBDatabase.prototype.transaction||"objectStoreNames"in IDBTransaction.prototype?(t||(t=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])).includes(r)?function(...e){return r.apply(y(this),e),b(s.get(this))}:function(...e){return b(r.apply(y(this),e))}:function(e,...t){let n=r.call(y(this),e,...t);return l.set(n,e.sort?e.sort():[e]),b(n)};return(r instanceof IDBTransaction&&function(e){if(c.has(e))return;let t=new Promise((t,r)=>{let n=()=>{e.removeEventListener("complete",o),e.removeEventListener("error",i),e.removeEventListener("abort",i)},o=()=>{t(),n()},i=()=>{r(e.error||new DOMException("AbortError","AbortError")),n()};e.addEventListener("complete",o),e.addEventListener("error",i),e.addEventListener("abort",i)});c.set(e,t)}(r),i(r,e||(e=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])))?new Proxy(r,p):r}(r);return n!==r&&(f.set(r,n),d.set(n,r)),n}let y=e=>d.get(e),v=["get","getKey","getAll","getAllKeys","count"],h=["put","add","delete","clear"],m=new Map;function g(e,t){if(!(e instanceof IDBDatabase&&!(t in e)&&"string"==typeof t))return;if(m.get(t))return m.get(t);let r=t.replace(/FromIndex$/,""),n=t!==r,o=h.includes(r);if(!(r in(n?IDBIndex:IDBObjectStore).prototype)||!(o||v.includes(r)))return;let i=async function(e,...t){let i=this.transaction(e,o?"readwrite":"readonly"),a=i.store;return n&&(a=a.index(t.shift())),(await Promise.all([a[r](...t),o&&i.done]))[0]};return m.set(t,i),i}p={...r=p,get:(e,t,n)=>g(e,t)||r.get(e,t,n),has:(e,t)=>!!g(e,t)||r.has(e,t)};var w=a(156),D=a.n(w),k=a(667),x=JSON.parse('{"u2":"@nocobase/plugin-form-drafts"}').u2;function E(e){return(0,k.tExpr)(e,{ns:[x,"client"]})}var S={};function B(e,t,r,n,o,i,a){try{var u=e[i](a),s=u.value}catch(e){r(e);return}u.done?t(s):Promise.resolve(s).then(n,o)}function j(e){return function(){var t=this,r=arguments;return new Promise(function(n,o){var i=e.apply(t,r);function a(e){B(i,n,o,a,u,"next",e)}function u(e){B(i,n,o,a,u,"throw",e)}a(void 0)})}}function O(e,t){if(!(e instanceof t))throw TypeError("Cannot call a class as a function")}function P(e,t,r){if(!t.has(e))throw TypeError("attempted to "+r+" private field on non-instance");return t.get(e)}function I(e,t){var r=P(e,t,"get");return r.get?r.get.call(e):r.value}function M(e,t,r){var n=P(e,t,"set");if(n.set)n.set.call(e,r);else{if(!n.writable)throw TypeError("attempted to set read only private field");n.value=r}return r}function F(e,t,r){return(F=A()?Reflect.construct:function(e,t,r){var n=[null];n.push.apply(n,t);var o=new(Function.bind.apply(e,n));return r&&C(o,r.prototype),o}).apply(null,arguments)}function _(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}function R(e,t,r){return t&&_(e.prototype,t),r&&_(e,r),e}function T(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function L(e){return(L=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function C(e,t){return(C=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function q(e){var t="function"==typeof Map?new Map:void 0;return(q=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!==t){if(t.has(e))return t.get(e);t.set(e,r)}function r(){return F(e,arguments,L(this).constructor)}return r.prototype=Object.create(e.prototype,{constructor:{value:r,enumerable:!1,writable:!0,configurable:!0}}),C(r,e)})(e)}function A(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(A=function(){return!!e})()}function V(e,t){var r,n,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:u(0),throw:u(1),return:u(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function u(i){return function(u){var s=[i,u];if(r)throw TypeError("Generator is already executing.");for(;a;)try{if(r=1,n&&(o=2&s[0]?n.return:s[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,s[1])).done)return o;switch(n=0,o&&(s=[2&s[0],o.value]),s[0]){case 0:case 1:o=s;break;case 4:return a.label++,{value:s[1],done:!1};case 5:a.label++,n=s[1],s=[0];continue;case 7:s=a.ops.pop(),a.trys.pop();continue;default:if(!(o=(o=a.trys).length>0&&o[o.length-1])&&(6===s[0]||2===s[0])){a=0;continue}if(3===s[0]&&(!o||s[1]>o[0]&&s[1]<o[3])){a.label=s[1];break}if(6===s[0]&&a.label<o[1]){a.label=o[1],o=s;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(s);break}o[2]&&a.ops.pop(),a.trys.pop();continue}s=t.call(e,a)}catch(e){s=[6,e],n=0}finally{r=o=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}}}n.FormBlockModel.registerFlow({key:"draftCreateFlow",title:E("Draft settings"),on:"beforeRender",sort:1e4,steps:{createDraft:{title:E("Enable drafts"),uiMode:{type:"switch",key:"enabled"},uiSchema:{enabled:{"x-component":"Switch","x-decorator":"FormItem"}},defaultParams:{enabled:!1},handler:function(e,t){return j(function(){var r;return V(this,function(n){switch(n.label){case 0:if(e.model.context.defineProperty("draftRepository",{get:function(){return new W(e)}}),e.model.context.defineMethod("showDraftAlert",function(t){console.log("showDraftAlert",t),e.model.decoratorProps.beforeContent=D().createElement(o.Alert,{style:{marginBottom:"1em"},type:"warning",action:D().createElement(o.Button,{ghost:!0,size:"small",danger:!0,onClick:function(){e.draftRepository.delete(),e.form.resetFields(),e.model.decoratorProps.beforeContent=null}},e.t("Delete draft",{ns:x})),description:e.t(t,{ns:x})})}),t.enabled)return[3,2];return[4,e.draftRepository.disable()];case 1:case 5:return n.sent(),[2];case 2:return[4,e.draftRepository.connect()];case 3:return n.sent(),[4,e.draftRepository.get()];case 4:if(!(!(null==(r=n.sent())?void 0:r.values)||0===Object.keys(r.values).length))return[3,6];return[4,e.draftRepository.create()];case 6:return[4,e.setFormValues(r.values)];case 7:return n.sent(),e.showDraftAlert("This is an unsubmitted draft. You can continue editing and submit it, or click “Delete draft” to start over."),[2]}})})()}}}}),n.FormBlockModel.registerFlow({key:"draftSaveFlow",on:"formValuesChange",steps:{saveDraft:{handler:function(e){return j(function(){return V(this,function(t){switch(t.label){case 0:if(e.draftRepository.disabled)return[2];return[4,e.draftRepository.save(e.form.getFieldsValue())];case 1:return t.sent(),e.showDraftAlert("Your draft has been saved. You can continue editing and submit it, or click “Delete Draft” to start over."),[2]}})})()}}}}),n.FormBlockModel.registerFlow({key:"deleteDraftFlow",on:"formSubmitSuccess",steps:{deleteDraft:{handler:function(e){return j(function(){return V(this,function(t){switch(t.label){case 0:if(e.draftRepository.disabled)return[2];return[4,e.draftRepository.delete()];case 1:return t.sent(),e.model.decoratorProps.beforeContent=null,[2]}})})()}}}});var N=new WeakMap,W=function(){function e(t){var r;O(this,e),T(this,"ctx",void 0),T(this,"uid",void 0),T(this,"db",void 0),function(e,t,r){if(t.has(e))throw TypeError("Cannot initialize the same private elements twice on an object");t.set(e,r)}(this,N,{writable:!0,value:void 0}),this.ctx=t,M(this,N,!1),this.uid=t.model.uid+":"+((null==t||null==(r=t.resource)?void 0:r.getFilterByTk())||"__new_record__")}return R(e,[{key:"disable",value:function(){M(this,N,!0)}},{key:"disabled",get:function(){return I(this,N)}},{key:"connect",value:function(){var e=this;return j(function(){return V(this,function(t){switch(t.label){case 0:if(I(e,N))return[2];return[4,function(e,t,{blocked:r,upgrade:n,blocking:o,terminated:i}={}){let a=indexedDB.open(e,1),u=b(a);return n&&a.addEventListener("upgradeneeded",e=>{n(b(a.result),e.oldVersion,e.newVersion,b(a.transaction),e)}),r&&a.addEventListener("blocked",e=>r(e.oldVersion,e.newVersion,e)),u.then(e=>{i&&e.addEventListener("close",()=>i()),o&&e.addEventListener("versionchange",e=>o(e.oldVersion,e.newVersion,e))}).catch(()=>{}),u}("FormDraftsDB",0,{upgrade:function(e){e.createObjectStore("drafts",{keyPath:"uid"})}})];case 1:return e.db=t.sent(),[2]}})})()}},{key:"create",value:function(){var e=this;return j(function(){var t;return V(this,function(r){switch(r.label){case 0:if(I(e,N))return[2];return t={uid:e.uid,values:{}},[4,e.db.put("drafts",t)];case 1:return r.sent(),[2]}})})()}},{key:"get",value:function(){var e=this;return j(function(){return V(this,function(t){return I(e,N)?[2]:[2,e.db.get("drafts",e.uid)]})})()}},{key:"save",value:function(e){var t=this;return j(function(){var r;return V(this,function(n){switch(n.label){case 0:if(I(t,N))return[2];return r=JSON.parse(JSON.stringify(e)),[4,t.db.put("drafts",{uid:t.uid,values:r})];case 1:return n.sent(),[2]}})})()}},{key:"delete",value:function(){var e=this;return j(function(){return V(this,function(t){switch(t.label){case 0:if(I(e,N))return[2];return[4,e.db.delete("drafts",e.uid)];case 1:return t.sent(),[2]}})})()}}]),e}(),J=function(e){if("function"!=typeof e&&null!==e)throw TypeError("Super expression must either be null or a function");function t(){var e,r;return O(this,t),e=t,r=arguments,e=L(e),function(e,t){var r;if(t&&("object"==((r=t)&&"undefined"!=typeof Symbol&&r.constructor===Symbol?"symbol":typeof r)||"function"==typeof t))return t;if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(this,A()?Reflect.construct(e,r||[],L(this).constructor):e.apply(this,r))}return t.prototype=Object.create(e&&e.prototype,{constructor:{value:t,writable:!0,configurable:!0}}),e&&C(t,e),R(t,[{key:"load",value:function(){var e=this;return j(function(){return V(this,function(t){return e.flowEngine.registerModels(S),[2]})})()}}]),t}(q(n.Plugin))}(),u}()});
@@ -1,3 +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
+ */
1
9
  import { Plugin } from '@nocobase/client';
2
10
  export declare class PluginFormDraftsClient extends Plugin {
3
11
  load(): Promise<void>;
@@ -8,9 +8,9 @@
8
8
  */
9
9
 
10
10
  module.exports = {
11
- "@nocobase/flow-engine": "2.1.0-alpha.8",
12
- "@nocobase/client": "2.1.0-alpha.8",
11
+ "@nocobase/flow-engine": "2.1.0-alpha.9",
12
+ "@nocobase/client": "2.1.0-alpha.9",
13
13
  "antd": "5.24.2",
14
14
  "react": "18.2.0",
15
- "@nocobase/server": "2.1.0-alpha.8"
15
+ "@nocobase/server": "2.1.0-alpha.9"
16
16
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nocobase/plugin-form-drafts",
3
- "version": "2.1.0-alpha.8",
3
+ "version": "2.1.0-alpha.9",
4
4
  "main": "dist/server/index.js",
5
5
  "displayName": "Form drafts",
6
6
  "displayName.zh-CN": "表单草稿",
@@ -21,5 +21,5 @@
21
21
  "@nocobase/test": "2.x"
22
22
  },
23
23
  "license": "Apache-2.0",
24
- "gitHead": "eda3bfb9df40d4394905e178f1c5331adbec4e76"
24
+ "gitHead": "f9c6c53772bd5002fa419188d15ab227224f1962"
25
25
  }