@nocobase/plugin-ui-templates 2.0.0-alpha.57

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 (106) hide show
  1. package/LICENSE.txt +172 -0
  2. package/build.config.ts +12 -0
  3. package/client.js +1 -0
  4. package/dist/client/collections/flowModelTemplates.d.ts +67 -0
  5. package/dist/client/components/FlowModelTemplatesPage.d.ts +12 -0
  6. package/dist/client/components/TemplateSelectOption.d.ts +20 -0
  7. package/dist/client/constants.d.ts +9 -0
  8. package/dist/client/hooks/useFlowModelTemplateActions.d.ts +24 -0
  9. package/dist/client/index.d.ts +13 -0
  10. package/dist/client/index.js +10 -0
  11. package/dist/client/locale.d.ts +18 -0
  12. package/dist/client/menuExtensions.d.ts +9 -0
  13. package/dist/client/models/ReferenceBlockModel.d.ts +47 -0
  14. package/dist/client/models/ReferenceFormGridModel.d.ts +38 -0
  15. package/dist/client/models/SubModelTemplateImporterModel.d.ts +55 -0
  16. package/dist/client/models/referenceShared.d.ts +23 -0
  17. package/dist/client/openViewActionExtensions.d.ts +10 -0
  18. package/dist/client/schemas/flowModelTemplates.d.ts +11 -0
  19. package/dist/client/subModelMenuExtensions.d.ts +10 -0
  20. package/dist/client/utils/infiniteSelect.d.ts +28 -0
  21. package/dist/client/utils/refHost.d.ts +20 -0
  22. package/dist/client/utils/templateCompatibility.d.ts +91 -0
  23. package/dist/client.d.ts +9 -0
  24. package/dist/client.js +42 -0
  25. package/dist/externalVersion.js +24 -0
  26. package/dist/index.d.ts +10 -0
  27. package/dist/index.js +48 -0
  28. package/dist/locale/de-DE.json +14 -0
  29. package/dist/locale/en-US.json +72 -0
  30. package/dist/locale/es-ES.json +14 -0
  31. package/dist/locale/fr-FR.json +14 -0
  32. package/dist/locale/hu-HU.json +14 -0
  33. package/dist/locale/id-ID.json +14 -0
  34. package/dist/locale/it-IT.json +14 -0
  35. package/dist/locale/ja-JP.json +14 -0
  36. package/dist/locale/ko-KR.json +14 -0
  37. package/dist/locale/nl-NL.json +14 -0
  38. package/dist/locale/pt-BR.json +14 -0
  39. package/dist/locale/ru-RU.json +14 -0
  40. package/dist/locale/tr-TR.json +14 -0
  41. package/dist/locale/uk-UA.json +14 -0
  42. package/dist/locale/vi-VN.json +14 -0
  43. package/dist/locale/zh-CN.json +71 -0
  44. package/dist/locale/zh-TW.json +14 -0
  45. package/dist/server/collections/flowModelTemplateUsages.d.ts +11 -0
  46. package/dist/server/collections/flowModelTemplateUsages.js +71 -0
  47. package/dist/server/collections/flowModelTemplates.d.ts +11 -0
  48. package/dist/server/collections/flowModelTemplates.js +96 -0
  49. package/dist/server/index.d.ts +9 -0
  50. package/dist/server/index.js +42 -0
  51. package/dist/server/plugin.d.ts +17 -0
  52. package/dist/server/plugin.js +242 -0
  53. package/dist/server/resources/flowModelTemplateUsages.d.ts +19 -0
  54. package/dist/server/resources/flowModelTemplateUsages.js +91 -0
  55. package/dist/server/resources/flowModelTemplates.d.ts +20 -0
  56. package/dist/server/resources/flowModelTemplates.js +267 -0
  57. package/package.json +37 -0
  58. package/server.js +1 -0
  59. package/src/client/__tests__/openViewActionExtensions.test.ts +1208 -0
  60. package/src/client/collections/flowModelTemplates.ts +131 -0
  61. package/src/client/components/FlowModelTemplatesPage.tsx +78 -0
  62. package/src/client/components/TemplateSelectOption.tsx +106 -0
  63. package/src/client/constants.ts +10 -0
  64. package/src/client/hooks/useFlowModelTemplateActions.tsx +137 -0
  65. package/src/client/index.ts +54 -0
  66. package/src/client/locale.ts +40 -0
  67. package/src/client/menuExtensions.tsx +1033 -0
  68. package/src/client/models/ReferenceBlockModel.tsx +793 -0
  69. package/src/client/models/ReferenceFormGridModel.tsx +302 -0
  70. package/src/client/models/SubModelTemplateImporterModel.tsx +634 -0
  71. package/src/client/models/__tests__/ReferenceBlockModel.test.tsx +482 -0
  72. package/src/client/models/__tests__/ReferenceFormGridModel.test.tsx +175 -0
  73. package/src/client/models/__tests__/SubModelTemplateImporterModel.test.ts +447 -0
  74. package/src/client/models/referenceShared.tsx +99 -0
  75. package/src/client/openViewActionExtensions.tsx +981 -0
  76. package/src/client/schemas/flowModelTemplates.ts +264 -0
  77. package/src/client/subModelMenuExtensions.ts +103 -0
  78. package/src/client/utils/infiniteSelect.ts +150 -0
  79. package/src/client/utils/refHost.ts +44 -0
  80. package/src/client/utils/templateCompatibility.ts +374 -0
  81. package/src/client.ts +10 -0
  82. package/src/index.ts +11 -0
  83. package/src/locale/de-DE.json +14 -0
  84. package/src/locale/en-US.json +72 -0
  85. package/src/locale/es-ES.json +14 -0
  86. package/src/locale/fr-FR.json +14 -0
  87. package/src/locale/hu-HU.json +14 -0
  88. package/src/locale/id-ID.json +14 -0
  89. package/src/locale/it-IT.json +14 -0
  90. package/src/locale/ja-JP.json +14 -0
  91. package/src/locale/ko-KR.json +14 -0
  92. package/src/locale/nl-NL.json +14 -0
  93. package/src/locale/pt-BR.json +14 -0
  94. package/src/locale/ru-RU.json +14 -0
  95. package/src/locale/tr-TR.json +14 -0
  96. package/src/locale/uk-UA.json +14 -0
  97. package/src/locale/vi-VN.json +14 -0
  98. package/src/locale/zh-CN.json +71 -0
  99. package/src/locale/zh-TW.json +14 -0
  100. package/src/server/__tests__/template-usage.test.ts +351 -0
  101. package/src/server/collections/flowModelTemplateUsages.ts +51 -0
  102. package/src/server/collections/flowModelTemplates.ts +76 -0
  103. package/src/server/index.ts +10 -0
  104. package/src/server/plugin.ts +236 -0
  105. package/src/server/resources/flowModelTemplateUsages.ts +61 -0
  106. package/src/server/resources/flowModelTemplates.ts +251 -0
@@ -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,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("@formily/core"),require("react"),require("@nocobase/flow-engine"),require("lodash"),require("@nocobase/client"),require("@formily/react"),require("@nocobase/utils/client"),require("@ant-design/icons"),require("antd")):"function"==typeof define&&define.amd?define("@nocobase/plugin-ui-templates",["@formily/core","react","@nocobase/flow-engine","lodash","@nocobase/client","@formily/react","@nocobase/utils/client","@ant-design/icons","antd"],t):"object"==typeof exports?exports["@nocobase/plugin-ui-templates"]=t(require("@formily/core"),require("react"),require("@nocobase/flow-engine"),require("lodash"),require("@nocobase/client"),require("@formily/react"),require("@nocobase/utils/client"),require("@ant-design/icons"),require("antd")):e["@nocobase/plugin-ui-templates"]=t(e["@formily/core"],e.react,e["@nocobase/flow-engine"],e.lodash,e["@nocobase/client"],e["@formily/react"],e["@nocobase/utils/client"],e["@ant-design/icons"],e.antd)}(self,function(e,t,n,r,o,i,l,a,u){var c={869:function(e,t,n){e.exports=n(31).Symbol},365:function(e,t,n){var r=n(869),o=n(43),i=n(283),l=r?r.toStringTag:void 0;e.exports=function(e){return null==e?void 0===e?"[object Undefined]":"[object Null]":l&&l in Object(e)?o(e):i(e)}},527:function(e,t,n){var r=n(670),o=/^\s+/;e.exports=function(e){return e?e.slice(0,r(e)+1).replace(o,""):e}},274:function(e,t,n){e.exports="object"==typeof n.g&&n.g&&n.g.Object===Object&&n.g},43:function(e,t,n){var r=n(869),o=Object.prototype,i=o.hasOwnProperty,l=o.toString,a=r?r.toStringTag:void 0;e.exports=function(e){var t=i.call(e,a),n=e[a];try{e[a]=void 0;var r=!0}catch(e){}var o=l.call(e);return r&&(t?e[a]=n:delete e[a]),o}},283:function(e){var t=Object.prototype.toString;e.exports=function(e){return t.call(e)}},31:function(e,t,n){var r=n(274),o="object"==typeof self&&self&&self.Object===Object&&self;e.exports=r||o||Function("return this")()},670:function(e){var t=/\s/;e.exports=function(e){for(var n=e.length;n--&&t.test(e.charAt(n)););return n}},741:function(e,t,n){var r=n(917),o=n(860),i=n(640),l=Math.max,a=Math.min;e.exports=function(e,t,n){var u,c,s,d,p,f,m=0,v=!1,y=!1,g=!0;if("function"!=typeof e)throw TypeError("Expected a function");function b(t){var n=u,r=c;return u=c=void 0,m=t,d=e.apply(r,n)}function h(e){var n=e-f,r=e-m;return void 0===f||n>=t||n<0||y&&r>=s}function S(){var e,n,r,i=o();if(h(i))return w(i);p=setTimeout(S,(e=i-f,n=i-m,r=t-e,y?a(r,s-n):r))}function w(e){return(p=void 0,g&&u)?b(e):(u=c=void 0,d)}function x(){var e,n=o(),r=h(n);if(u=arguments,c=this,f=n,r){if(void 0===p)return m=e=f,p=setTimeout(S,t),v?b(e):d;if(y)return clearTimeout(p),p=setTimeout(S,t),b(f)}return void 0===p&&(p=setTimeout(S,t)),d}return t=i(t)||0,r(n)&&(v=!!n.leading,s=(y="maxWait"in n)?l(i(n.maxWait)||0,t):s,g="trailing"in n?!!n.trailing:g),x.cancel=function(){void 0!==p&&clearTimeout(p),m=0,u=f=c=p=void 0},x.flush=function(){return void 0===p?d:w(o())},x}},917:function(e){e.exports=function(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}},620:function(e){e.exports=function(e){return null!=e&&"object"==typeof e}},528:function(e,t,n){var r=n(365),o=n(620);e.exports=function(e){return"symbol"==typeof e||o(e)&&"[object Symbol]"==r(e)}},860:function(e,t,n){var r=n(31);e.exports=function(){return r.Date.now()}},640:function(e,t,n){var r=n(527),o=n(917),i=n(528),l=0/0,a=/^[-+]0x[0-9a-f]+$/i,u=/^0b[01]+$/i,c=/^0o[0-7]+$/i,s=parseInt;e.exports=function(e){if("number"==typeof e)return e;if(i(e))return l;if(o(e)){var t="function"==typeof e.valueOf?e.valueOf():e;e=o(t)?t+"":t}if("string"!=typeof e)return 0===e?e:+e;e=r(e);var n=u.test(e);return n||c.test(e)?s(e.slice(2),n?2:8):a.test(e)?l:+e}},482:function(e){"use strict";e.exports=a},563:function(t){"use strict";t.exports=e},505:function(e){"use strict";e.exports=i},772:function(e){"use strict";e.exports=o},667:function(e){"use strict";e.exports=n},584:function(e){"use strict";e.exports=l},721:function(e){"use strict";e.exports=u},467:function(e){"use strict";e.exports=r},156:function(e){"use strict";e.exports=t}},s={};function d(e){var t=s[e];if(void 0!==t)return t.exports;var n=s[e]={exports:{}};return c[e](n,n.exports,d),n.exports}d.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return d.d(t,{a:t}),t},d.d=function(e,t){for(var n in t)d.o(t,n)&&!d.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},d.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||Function("return this")()}catch(e){if("object"==typeof window)return window}}(),d.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},d.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};var p={};return!function(){"use strict";d.r(p),d.d(p,{default:function(){return t9},PluginBlockReferenceClient:function(){return t8}});var e,t,n,r,o,i,l=d(772),a=d(156),u=d.n(a),c=d(467),s=d.n(c),f=d(667),m=JSON.parse('{"u2":"@nocobase/plugin-ui-templates"}');function v(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}var y=m.u2;function g(){var e=(0,l.useApp)();return function(t,n){return e.i18n.t(t,v({ns:[m.u2,"client"]},n||{}))}}function b(e){return"{{t(".concat(JSON.stringify(e),", { ns: ['").concat(m.u2,"', 'client'], nsMode: 'fallback' })}}")}function h(e){var t;return(null==(t=e.flowEngine)?void 0:t.translate)?function(t,n){return e.flowEngine.translate(t,v({ns:[m.u2,"client"],nsMode:"fallback"},n))}:function(e){return e}}var S=d(721);function w(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:480;return u().createElement("span",{style:{display:"inline-block",maxWidth:t,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap",verticalAlign:"middle"}},e)}function x(e){var t,n,r,o=null==e||null==(t=e.data)?void 0:t.description,i=null==e||null==(n=e.data)?void 0:n.disabledReason,l=!!i,a=(null==e||null==(r=e.data)?void 0:r.rawName)||(null==e?void 0:e.label),c=u().createElement("div",{style:{display:"flex",flexDirection:"column",gap:4,padding:"4px 0",maxWidth:520,opacity:l?.5:1,width:"100%",cursor:l?"not-allowed":"pointer"}},u().createElement(S.Typography.Text,{strong:!0,style:{maxWidth:480,overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"}},a),o&&u().createElement(S.Typography.Text,{type:"secondary",style:{fontSize:12,lineHeight:1.4,whiteSpace:"normal",wordBreak:"break-word"}},o));return l&&i?u().createElement(S.Tooltip,{title:i,placement:"right",zIndex:9999,overlayStyle:{maxWidth:400},mouseEnterDelay:.1},u().createElement("div",{style:{width:"100%"}},c)):c}function T(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 O(e){return e&&"undefined"!=typeof Symbol&&e.constructor===Symbol?"symbol":typeof e}function k(e){return"string"==typeof e?e.trim():"number"==typeof e||"boolean"==typeof e?String(e).trim():""}var M=function(e){if("number"==typeof e)return Number.isFinite(e)?e:void 0;if("string"==typeof e){var t=e.trim();if(!t)return;var n=Number(t);return Number.isFinite(n)?n:void 0}};function P(e){var t,n,r=e;r&&(void 0===r?"undefined":O(r))==="object"&&"data"in r&&(r=r.data);for(var o=0;o<4&&!Array.isArray(r)&&!(r&&(void 0===r?"undefined":O(r))==="object"&&Array.isArray(r.rows));o++){if(r&&(void 0===r?"undefined":O(r))==="object"&&"data"in r){r=r.data;continue}break}return{rows:Array.isArray(null==r?void 0:r.rows)?r.rows:Array.isArray(r)?r:[],count:M(null!=(n=null!=(t=null==r?void 0:r.count)?t:null==r?void 0:r.total)?n:null==r?void 0:r.totalCount)}}function E(e){var t=e.count;return"number"==typeof t?e.page*e.pageSize<t:e.rowsLength>=e.pageSize}function j(e,t,n){var r=T({ns:[y,"client"],nsMode:"fallback"},n||{});return"function"==typeof(null==e?void 0:e.t)?e.t(t,r):t}function I(e,t,n){var r,o,i,l,a,u,c,s=k(null==t?void 0:t.dataSourceKey),d=k(null==t?void 0:t.collectionName),p=k(null==t?void 0:t.associationName);if(s&&p){var f=p.split(".").filter(Boolean),m=(f.length>1?f[0]:"")||d,v=f.length>1?f.slice(1).join("."):p;if(m&&v){var y=(null==n?void 0:n.dataSourceManager)||(null==e?void 0:e.dataSourceManager)||(null==e||null==(o=e.model)||null==(r=o.context)?void 0:r.dataSourceManager)||(null==e||null==(l=e.engine)||null==(i=l.context)?void 0:i.dataSourceManager),g=null==y||null==(a=y.getCollection)?void 0:a.call(y,s,m),b=(null==g||null==(u=g.getFieldByPath)?void 0:u.call(g,v))||(null==g||null==(c=g.getField)?void 0:c.call(g,v)),h=null==b?void 0:b.targetCollection,S=k(null==h?void 0:h.dataSourceKey),w=k(null==h?void 0:h.name);if(S&&w)return{dataSourceKey:S,collectionName:w}}}}function F(e){var t=k(null==e?void 0:e.dataSourceKey),n=k(null==e?void 0:e.collectionName),r=k(null==e?void 0:e.associationName);if(t&&r){var o=r.split(".").filter(Boolean),i=(o.length>1?o[0]:"")||n;if(i)return{dataSourceKey:t,collectionName:i}}}function N(e,t,n){for(var r=null!=(u=null==n?void 0:n.maxDepth)?u:8,o=!!(null==n?void 0:n.includeAssociationName),i=!!(null==n?void 0:n.fallbackCollectionFromCtx),l=t,a=0;l&&a<r;){var u,c,s=(null==l||null==(c=l.getStepParams)?void 0:c.call(l,"resourceSettings","init"))||{},d=k(null==s?void 0:s.associationName),p=I(e,s,{dataSourceManager:null==n?void 0:n.dataSourceManager});if(p)return T({},p,o&&d?{associationName:d}:{});try{var f=(null==l?void 0:l.collection)||(i?null==e?void 0:e.collection:void 0),m=k(null==f?void 0:f.dataSourceKey),v=k(null==f?void 0:f.name);if(m&&v)return T({dataSourceKey:m,collectionName:v},o&&d?{associationName:d}:{})}catch(e){}var y=k(null==s?void 0:s.dataSourceKey),g=k(null==s?void 0:s.collectionName);if(y&&g)return T({dataSourceKey:y,collectionName:g},o&&d?{associationName:d}:{});l=null==l?void 0:l.parent,a++}return{}}function C(e,t){var n=k(t);if(n&&e){var r=e(n);if(r){var o=null==r?void 0:r._isScene;if("function"==typeof o){var i=!!o.call(r,"record"),l=!!o.call(r,"collection");if(i&&l)return"both";if(i)return"record";if(l)return"collection"}}}}function _(e,t,n){var r=k(t),o=k(n),i="collection"===e,l=!1,a=!1;r?(i&&r.includes("ctx.record")?l=!1:l=!0,a=!0):"record"===e?(l=!0,a=!0):i?(l=!1,a=!0):(l=!1,a=!1);var u=!1,c=!1;return o?(i&&o.includes("ctx.resource")?u=!1:u=!0,c=!0):(u=!1,c=!1),{hasFilterByTk:l,hasSourceId:u,confidentFilterByTk:a,confidentSourceId:c}}function A(e,t,n,r){var o,i=(null==r?void 0:r.checkResource)!==!1,l=null!=(o=null==r?void 0:r.associationMatch)?o:"none",a=k(null==n?void 0:n.dataSourceKey),u=k(null==n?void 0:n.collectionName),c=k(null==n?void 0:n.associationName),s=k(null==t?void 0:t.associationName),d=function(){if("none"!==l){if("exactIfTemplateHasAssociationName"===l){if(!s||c===s)return;var t=j(e,"No association");return j(e,"Template association mismatch",{expected:c||t,actual:s||t})}var n=function(e){return!!e&&e.includes(".")},r=n(s)?s:"";if(r){var o=n(c)?c:"";if(r!==o){var i=j(e,"No association");return j(e,"Template association mismatch",{expected:o||i,actual:r||i})}}}};if(!i)return d();if(a&&u){var p=k(null==t?void 0:t.dataSourceKey),f=k(null==t?void 0:t.collectionName),m=s?I(e,{dataSourceKey:p,collectionName:f,associationName:s},{dataSourceManager:null==r?void 0:r.dataSourceManager}):void 0,v=(null==m?void 0:m.dataSourceKey)||p,y=(null==m?void 0:m.collectionName)||f;return v&&y?v===a&&y===u?d():v===a?j(e,"Template collection mismatch",{expected:u,actual:y}):j(e,"Template data source mismatch",{expected:"".concat(a,"/").concat(u),actual:"".concat(v,"/").concat(y)}):j(e,"Template missing data source/collection info")}}var U=d(741),B=d.n(U);function R(e,t,n,r,o,i,l){try{var a=e[i](l),u=a.value}catch(e){n(e);return}a.done?t(u):Promise.resolve(u).then(r,o)}function K(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var i=e.apply(t,n);function l(e){R(i,r,o,l,a,"next",e)}function a(e){R(i,r,o,l,a,"throw",e)}l(void 0)})}}function D(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){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){D(e,t,n[t])})}return e}function G(e,t){var n,r,o,i,l={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function a(i){return function(a){var u=[i,a];if(n)throw TypeError("Generator is already executing.");for(;l;)try{if(n=1,r&&(o=2&u[0]?r.return:u[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,u[1])).done)return o;switch(r=0,o&&(u=[2&u[0],o.value]),u[0]){case 0:case 1:o=u;break;case 4:return l.label++,{value:u[1],done:!1};case 5:l.label++,r=u[1],u=[0];continue;case 7:u=l.ops.pop(),l.trys.pop();continue;default:if(!(o=(o=l.trys).length>0&&o[o.length-1])&&(6===u[0]||2===u[0])){l=0;continue}if(3===u[0]&&(!o||u[1]>o[0]&&u[1]<o[3])){l.label=u[1];break}if(6===u[0]&&l.label<o[1]){l.label=o[1],o=u;break}if(o&&l.label<o[2]){l.label=o[2],l.ops.push(u);break}o[2]&&l.ops.pop(),l.trys.pop();continue}u=t.call(e,l)}catch(e){u=[6,e],r=0}finally{n=o=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}}var q=function(e,t){var n,r,o=+(null!=e&&!!e.disabled),i=+(null!=t&&!!t.disabled);return o!==i?o-i:(null!=(n=null==e?void 0:e.__idx)?n:0)-(null!=(r=null==t?void 0:t.__idx)?r:0)};function z(e,t,n){var r=(null==n?void 0:n.getKey)||function(e){return String((null==e?void 0:e.value)||"")},o=(null==n?void 0:n.comparator)||q,i=new Map,l=!0,a=!1,u=void 0;try{for(var c,s=(Array.isArray(e)?e:[])[Symbol.iterator]();!(l=(c=s.next()).done);l=!0){var d=c.value,p=r(d);p&&i.set(p,d)}}catch(e){a=!0,u=e}finally{try{l||null==s.return||s.return()}finally{if(a)throw u}}var f=!0,m=!1,v=void 0;try{for(var y,g=(Array.isArray(t)?t:[])[Symbol.iterator]();!(f=(y=g.next()).done);f=!0){var b=y.value,h=r(b);if(h){var S=i.get(h);i.set(h,S?V({},S,b):b)}}}catch(e){m=!0,v=e}finally{try{f||null==g.return||g.return()}finally{if(m)throw v}}var w=Array.from(i.values());return w.sort(o),w}function H(e,t,n){var r,o,i,l,a,u,c=Math.max(1,Number((null==n?void 0:n.pageSize)||20)),s=Math.max(0,Number(null!=(a=null==n?void 0:n.debounceMs)?a:300)),d=Math.max(0,Number(null!=(u=null==n?void 0:n.scrollThreshold)?u:24)),p=String((null==n?void 0:n.composingKey)||"__templateComposing"),f=(null==n?void 0:n.comparator)||q,m=0,v="",y=0,g=!0,b=!1,h=function(t){try{var n,r;n=V({},e.data||{}),r=D({},p,t),r=null!=r?r:{},Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(r)):(function(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n.push.apply(n,r)}return n})(Object(r)).forEach(function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(r,e))}),e.data=n}catch(e){}},S=function(){var t;return!!(null==(t=e.data)?void 0:t[p])},w=(r=K(function(n){var r,o,i,l;return G(this,function(a){switch(a.label){case 0:m=r=(m||0)+1,v=n,y=0,g=!0,b=!1,e.loading=!0,a.label=1;case 1:return a.trys.push([1,,3,4]),[4,t(n,1,c)];case 2:if(i=(o=a.sent()).options,l=o.hasMore,m!==r)return[2];return e.dataSource=z([],i,{comparator:f}),y=1,g=!!l,[3,4];case 3:return m===r&&(e.loading=!1),[7];case 4:return[2]}})}),function(e){return r.apply(this,arguments)}),x=(o=K(function(){var n,r,o,i,l;return G(this,function(a){switch(a.label){case 0:if(!g||b)return[2];n=m,r=Math.max(1,y||1)+1,b=!0,e.loading=!0,a.label=1;case 1:return a.trys.push([1,,3,4]),[4,t(v,r,c)];case 2:if(i=(o=a.sent()).options,l=o.hasMore,m!==n)return[2];return e.dataSource=z(e.dataSource||[],i,{comparator:f}),y=r,g=!!l,[3,4];case 3:return b=!1,m===n&&(e.loading=!1),[7];case 4:return[2]}})}),function(){return o.apply(this,arguments)});e.componentProps.onDropdownVisibleChange=(i=K(function(e){return G(this,function(t){switch(t.label){case 0:if(!e)return[2];return[4,w("")];case 1:return t.sent(),[2]}})}),function(e){return i.apply(this,arguments)});var T=B()((l=K(function(e){return G(this,function(t){return[2,w(e)]})}),function(e){return l.apply(this,arguments)}),s);return e.componentProps.onSearch=function(e){S()||T("string"==typeof e?e.trim():"")},e.componentProps.onCompositionStart=function(){return h(!0)},e.componentProps.onCompositionEnd=function(e){var t;h(!1),T("string"==typeof(null==e||null==(t=e.target)?void 0:t.value)?e.target.value.trim():"")},e.componentProps.onPopupScroll=function(e){var t=null==e?void 0:e.target;t&&(t.scrollTop+t.clientHeight<t.scrollHeight-d||x())},{resetAndLoad:w,loadMore:x,cancelSearch:function(){return T.cancel()}}}function $(e,t){return null!=t?t:(0,f.createBlockScopedEngine)(e)}function L(e){var t;null==e||null==(t=e.unlinkFromStack)||t.call(e)}function W(e,t){var n=null==e?void 0:e.translate;return"function"!=typeof n?t:n(t,{ns:[y,"client"]})||t}function Q(e,t){return"unconfigured"===t?u().createElement(S.Card,null,u().createElement("div",{style:{padding:24}},u().createElement(S.Empty,{image:S.Empty.PRESENTED_IMAGE_SIMPLE,description:W(e,"Please configure target block")}))):"resolving"===t?u().createElement(S.Card,null,u().createElement("div",{style:{padding:24}},u().createElement(S.Skeleton,{active:!0,title:!1,paragraph:{rows:3}}))):u().createElement(S.Card,null,u().createElement("div",{style:{padding:24}},u().createElement(S.Result,{status:"error",subTitle:W(e,"Target block is invalid")})))}var J=function(e){var t=e.engine,n=e.model,r=(0,f.useFlowViewContext)(),o=u().useMemo(function(){var e,n=new f.FlowContext;return n.defineProperty("engine",{value:t}),n.addDelegate(t.context),r&&(null!=(e=f.FlowContext)&&"undefined"!=typeof Symbol&&e[Symbol.hasInstance]?!!e[Symbol.hasInstance](r):r instanceof e)&&n.addDelegate(r),n},[t,r]);return u().createElement(f.FlowViewContextProvider,{context:o},u().createElement(f.FlowModelRenderer,{key:n.uid,model:n,showFlowSettings:!1,showErrorFallback:!0}))},Z=function(e){var t=e.engine,n=e.model;return u().createElement(f.FlowEngineProvider,{engine:t},u().createElement(J,{engine:t,model:n}))};function X(e,t,n,r,o,i,l){try{var a=e[i](l),u=a.value}catch(e){n(e);return}a.done?t(u):Promise.resolve(u).then(r,o)}function Y(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var i=e.apply(t,n);function l(e){X(i,r,o,l,a,"next",e)}function a(e){X(i,r,o,l,a,"throw",e)}l(void 0)})}}function ee(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function et(e,t,n){return(et="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(e,t,n){var r=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=en(e)););return e}(e,t);if(r){var o=Object.getOwnPropertyDescriptor(r,t);return o.get?o.get.call(n||e):o.value}})(e,t,n||e)}function en(e){return(en=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function er(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){ee(e,t,n[t])})}return e}function eo(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n.push.apply(n,r)}return n})(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}function ei(e,t){if(t&&("object"===ea(t)||"function"==typeof t))return t;if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function el(e,t){return(el=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function ea(e){return e&&"undefined"!=typeof Symbol&&e.constructor===Symbol?"symbol":typeof e}function eu(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(eu=function(){return!!e})()}function ec(e,t){var n,r,o,i,l={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function a(i){return function(a){var u=[i,a];if(n)throw TypeError("Generator is already executing.");for(;l;)try{if(n=1,r&&(o=2&u[0]?r.return:u[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,u[1])).done)return o;switch(r=0,o&&(u=[2&u[0],o.value]),u[0]){case 0:case 1:o=u;break;case 4:return l.label++,{value:u[1],done:!1};case 5:l.label++,r=u[1],u=[0];continue;case 7:u=l.ops.pop(),l.trys.pop();continue;default:if(!(o=(o=l.trys).length>0&&o[o.length-1])&&(6===u[0]||2===u[0])){l=0;continue}if(3===u[0]&&(!o||u[1]>o[0]&&u[1]<o[3])){l.label=u[1];break}if(6===u[0]&&l.label<o[1]){l.label=o[1],o=u;break}if(o&&l.label<o[2]){l.label=o[2],l.ops.push(u);break}o[2]&&l.ops.pop(),l.trys.pop();continue}u=t.call(e,l)}catch(e){u=[6,e],r=0}finally{n=o=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}}var es=function(e){var t;if("function"!=typeof e&&null!==e)throw TypeError("Super expression must either be null or a function");function n(e){if(!(this instanceof n))throw TypeError("Cannot call a class as a function");t=n,r=[e],t=en(t),ee(o=ei(this,eu()?Reflect.construct(t,r||[],en(this).constructor):t.apply(this,r)),"settingsMenuLevel",2),ee(o,"_scopedEngine",void 0),ee(o,"_targetModel",void 0),ee(o,"_resolvedTargetUid",void 0),ee(o,"_invalidTargetUid",void 0);var t,r,o,i=new Proxy(o,{get:function(e,t,n){if(t in e){var r=Reflect.get(e,t,e);return"function"==typeof r&&"constructor"!==t?r.bind(e):r}var o=e._targetModel;if(o){var i=Reflect.get(o,t,o);if("function"==typeof i&&"constructor"!==t)return i.bind(o);if(void 0!==i)return i}},set:function(e,t,n,r){if(t in e)return Reflect.set(e,t,n,e);var o=e._targetModel;return o&&t in o?Reflect.set(o,t,n,o):Reflect.set(e,t,n,e)},has:function(e,t){if(t in e)return!0;var n=e._targetModel;return!!n&&t in n},ownKeys:function(e){var t=new Set(Reflect.ownKeys(e)),n=e._targetModel;if(n){var r=!0,o=!1,i=void 0;try{for(var l,a=Reflect.ownKeys(n)[Symbol.iterator]();!(r=(l=a.next()).done);r=!0){var u=l.value;t.add(u)}}catch(e){o=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(o)throw i}}}return Array.from(t)},getOwnPropertyDescriptor:function(e,t){var n=Reflect.getOwnPropertyDescriptor(e,t);if(n)return n;var r=e._targetModel;if(r)return Object.getOwnPropertyDescriptor(r,t)||void 0}});return ei(o,i)}return n.prototype=Object.create(e&&e.prototype,{constructor:{value:n,writable:!0,configurable:!0}}),e&&el(n,e),t=[{key:"title",get:function(){var e;return(null==(e=this._targetModel)?void 0:e.title)||et(en(n.prototype),"title",this)}},{key:"onInit",value:function(e){var t=this;et(en(n.prototype),"onInit",this).call(this,e),this.context.defineProperty("refModel",{get:function(){return t._targetModel},cache:!1})}},{key:"_getTargetUidFromParams",value:function(){var e=this.getStepParams("referenceSettings","target")||{};return((null==e?void 0:e.targetUid)||"").trim()||void 0}},{key:"_syncExtraTitle",value:function(e){if(!e)return void this.setExtraTitle("");var t=this.context.t("Reference template",{ns:[y,"client"],nsMode:"fallback"}),n=this.getStepParams("referenceSettings","useTemplate")||{},r=(null==n?void 0:n.templateName)||(null==n?void 0:n.templateUid);this.setExtraTitle(r?"".concat(t,": ").concat(r):t)}},{key:"_ensureScopedEngine",value:function(){return this._scopedEngine=$(this.flowEngine,this._scopedEngine),this._scopedEngine}},{key:"_resolveFinalTarget",value:function(e){var t=this;return Y(function(){var n,r,o,i,l,a,u;return ec(this,function(c){switch(c.label){case 0:n=t._ensureScopedEngine(),r=new Set,o=e,i=0,c.label=1;case 1:if(!(i<20))return[3,4];if(!o||r.has(o)||o===t.uid)return[2,null];return r.add(o),[4,n.loadModel({uid:o})];case 2:if(!(a=c.sent()))return[2,null];if("ReferenceBlockModel"!==a.constructor.name)return[2,a];if(!(u=null==(l=a.getStepParams("referenceSettings","target"))?void 0:l.targetUid)||"string"!=typeof u||!u.trim())return[2,null];o=String(u).trim(),c.label=3;case 3:return i++,[3,1];case 4:return[2,null]}})})()}},{key:"onDispatchEventStart",value:function(e){var t=this;return Y(function(){var n,r,o,i,l,a,u,c,s,d,p,f,m,v,y,g,b,h,S,w;return ec(this,function(x){switch(x.label){case 0:if("beforeRender"!==e)return[2];if(!(i=((null==(o=(null==(n=(r=t).getStepParams)?void 0:n.call(r,"referenceSettings","target"))||{})?void 0:o.targetUid)||"").trim()||void 0))return t._syncExtraTitle(!1),(l=t.subModels.target)&&(null==(u=t.emitter)||null==(a=u.emit)||a.call(u,"onSubModelRemoved",l),null==(c=t._scopedEngine)||c.removeModel(l.uid)),t._targetModel=void 0,t._resolvedTargetUid=void 0,t._invalidTargetUid=void 0,t.subModels.target=void 0,[2];if(t._syncExtraTitle(!0),t._resolvedTargetUid===i&&t._targetModel)return t._invalidTargetUid=void 0,[2];return t._invalidTargetUid=void 0,[4,t._resolveFinalTarget(i)];case 1:if(s=x.sent())return[3,4];return[4,new Promise(function(e){return setTimeout(e,50)})];case 2:if(x.sent(),(((null==(f=(null==(d=(p=t).getStepParams)?void 0:d.call(p,"referenceSettings","target"))||{})?void 0:f.targetUid)||"").trim()||void 0)!==i)return[2];return[4,t._resolveFinalTarget(i)];case 3:s=x.sent(),x.label=4;case 4:if(!s)return(m=t.subModels.target)&&(null==(y=t.emitter)||null==(v=y.emit)||v.call(y,"onSubModelRemoved",m),null==(g=t._scopedEngine)||g.removeModel(m.uid)),t._targetModel=void 0,t._resolvedTargetUid=void 0,t._invalidTargetUid=i,t.subModels.target=void 0,t.rerender(),[2];return s.setParent(t),(null==(b=t.subModels.target)?void 0:b.uid)!==s.uid?(t.setSubModel("target",s),b&&(null==(h=t._scopedEngine)||h.removeModel(b.uid))):(t.subModels.target=s,null==(w=t.emitter)||null==(S=w.emit)||S.call(w,"onSubModelReplaced",{oldModel:b,newModel:s})),t._targetModel=s,t._resolvedTargetUid=i,t._invalidTargetUid=void 0,t.rerender(),[2]}})})()}},{key:"destroy",value:function(){var e=this,t=this;return Y(function(){return ec(this,function(r){switch(r.label){case 0:try{L(t._scopedEngine)}finally{t._scopedEngine=void 0}return[4,et(en(n.prototype),"destroy",e).call(t)];case 1:return[2,r.sent()]}})})()}},{key:"serialize",value:function(){var e=et(en(n.prototype),"serialize",this).call(this);return e.subModels&&"target"in e.subModels&&(delete e.subModels.target,0===Object.keys(e.subModels).length&&delete e.subModels),e}},{key:"renderComponent",value:function(){var e,t=null==(e=this.subModels)?void 0:e.target,n=this._getTargetUidFromParams();if(!t)return n?this._invalidTargetUid===n?Q(this,"invalid"):Q(this,"resolving"):Q(this,"unconfigured");var r=this._ensureScopedEngine();return u().createElement(Z,{engine:r,model:t})}},{key:"render",value:function(){return u().createElement("div",{ref:this.context.ref},this.renderComponent())}}],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}(l.BlockModel);es.registerFlow({key:"referenceSettings",sort:-999,title:b("Select block template"),steps:{useTemplate:{preset:!0,hideInSettings:!0,sort:-10,title:b("Select block template"),uiSchema:function(e){var t,n,r=e.model||{},o=(null==(n=r.getStepParams)?void 0:n.call(r,"referenceSettings","useTemplate"))||{},i=((null==o?void 0:o.templateUid)||"").trim(),l=!!r.isNew,a=null==e?void 0:e.api,u=function(){try{var e,t,n,o,i,l,a=(null==(e=r.getStepParams)?void 0:e.call(r,"resourceSettings","init"))||{},u=k(null==a?void 0:a.associationName);if(u)return u;var c=k(null==r||null==(n=r.context)||null==(t=n.association)?void 0:t.resourceName);if(c)return c;var s=null==r||null==(o=r.context)?void 0:o.resource;if(s){var d="function"==typeof s.getAssociationName?k(s.getAssociationName()):"";if(d)return d;var p="function"==typeof s.getResourceName?k(s.getResourceName()):"";if(p)return p}var f=(null==r||null==(l=r.context)||null==(i=l.view)?void 0:i.inputArgs)||{},m=k(null==f?void 0:f.associationName);if(m)return m}catch(e){}return""}(),c=(t=Y(function(t,n){var r,o,i,l,c,s,d,p;return ec(this,function(f){switch(f.label){case 0:r=Math.max(1,Number((null==n?void 0:n.page)||1)),o=Math.max(1,Number((null==n?void 0:n.pageSize)||20)),f.label=1;case 1:return f.trys.push([1,3,,4]),[4,null==a||null==(l=a.resource)||null==(i=l.call(a,"flowModelTemplates"))?void 0:i.list({page:r,pageSize:o,search:t||void 0,filter:{$and:[{$or:[{type:{$notIn:["popup"]}},{type:null},{type:""}]}]}})];case 2:return s=(c=P(f.sent())).rows,d=c.count,p=s.length,[2,{options:s.map(function(t,n){var i=t.name||t.uid||"",l=t.description,a=A(e,t||{},{associationName:u},{checkResource:!1,associationMatch:"associationResourceOnly"});return{__idx:(r-1)*o+n,label:w(i),value:t.uid,description:l,disabled:!!a,disabledReason:a,rawName:i}}).slice().sort(q),hasMore:E({page:r,pageSize:o,rowsLength:p,count:d})}];case 3:return console.error("fetch template options failed",f.sent()),[2,{options:[],hasMore:!1}];case 4:return[2]}})}),function(e,n){return t.apply(this,arguments)});return{templateUid:{title:b("Template"),"x-decorator":"FormItem","x-component":"Select","x-component-props":{showSearch:!0,filterOption:!1,allowClear:!0,placeholder:b("Search templates"),disabled:!l&&!!i,optionLabelProp:"label",dropdownMatchSelectWidth:!0,dropdownStyle:{maxWidth:560},getPopupContainer:function(){return document.body},optionRender:x},default:i||void 0,"x-validator":[{required:!0}],"x-reactions":[function(e){var t;H(e,(t=Y(function(e,t,n){return ec(this,function(r){return[2,c(e,{page:t,pageSize:n})]})}),function(e,n,r){return t.apply(this,arguments)}),{pageSize:20,composingKey:"__templateComposing"})}]},templateName:{"x-hidden":!0,"x-component":"Input",default:null==o?void 0:o.templateName},templateDescription:{"x-hidden":!0,"x-component":"Input",default:null==o?void 0:o.templateDescription},mode:{title:b("Mode"),"x-decorator":"FormItem","x-component":"Radio.Group",enum:[{label:b("Reference"),value:"reference"},{label:b("Duplicate"),value:"copy"}],default:(null==o?void 0:o.mode)||"reference"},modeDescriptionReference:{type:"void","x-decorator":"FormItem","x-decorator-props":{colon:!1},"x-component":"Alert","x-component-props":{type:"info",showIcon:!1,message:b("Reference mode description"),style:{marginTop:-8}},"x-reactions":{dependencies:["mode"],fulfill:{state:{hidden:'{{$deps[0] === "copy"}}'}}}},modeDescriptionDuplicate:{type:"void","x-decorator":"FormItem","x-decorator-props":{colon:!1},"x-component":"Alert","x-component-props":{type:"info",showIcon:!1,message:b("Duplicate mode description"),style:{marginTop:-8}},"x-reactions":{dependencies:["mode"],fulfill:{state:{hidden:'{{$deps[0] !== "copy"}}'}}}}}},beforeParamsSave:function(e,t){return Y(function(){var n,r,o,i,l,a,u,c,s;return ec(this,function(d){switch(d.label){case 0:if(!(n=((null==t?void 0:t.templateUid)||"").trim()))return[2];if(r=null==e?void 0:e.api,o=null,!(null==r?void 0:r.resource))return[3,4];d.label=1;case 1:return d.trys.push([1,3,,4]),[4,r.resource("flowModelTemplates").get({filterByTk:n})];case 2:return o=(null==(l=d.sent())||null==(i=l.data)?void 0:i.data)||l,[3,4];case 3:return console.warn("fetch template failed",d.sent()),[3,4];case 4:if(a=null==o?void 0:o.targetUid,!("copy"===((null==t?void 0:t.mode)||"reference")&&a))return[3,7];if(!(null==(s=null==(c=e.model.constructor.globalFlowRegistry.getFlow("referenceSettings"))||null==(u=c.steps)?void 0:u.target)?void 0:s.beforeParamsSave))return[3,6];return[4,s.beforeParamsSave(e,{targetUid:a,mode:"copy"})];case 5:d.sent(),d.label=6;case 6:case 7:return[2]}})})()},handler:function(e,t){return Y(function(){var n,r,o,i,l,a,u,c,s,d,p,f,m,v,y,g,b,h,S,w,x,T;return ec(this,function(O){switch(O.label){case 0:if(!(n=((null==t?void 0:t.templateUid)||"").trim())||"copy"===(r=(null==t?void 0:t.mode)||"reference"))return[2];if(o=null==e?void 0:e.api,i=null,!(null==o?void 0:o.resource))return[3,4];O.label=1;case 1:return O.trys.push([1,3,,4]),[4,o.resource("flowModelTemplates").get({filterByTk:n})];case 2:return i=(null==(a=O.sent())||null==(l=a.data)?void 0:l.data)||a,[3,4];case 3:return console.warn("fetch template failed",O.sent()),[3,4];case 4:return u=(null==i?void 0:i.name)||(null==t?void 0:t.templateName),c=(null==i?void 0:i.description)||(null==t?void 0:t.templateDescription),s=null==i?void 0:i.targetUid,d=e.model.getStepParams("referenceSettings","useTemplate")||{},e.model.setStepParams("referenceSettings","useTemplate",eo(er({},d),{templateUid:n,templateName:u,templateDescription:c,targetUid:s||(null==d?void 0:d.targetUid),mode:r})),s&&(p=e.model.getStepParams("referenceSettings","target")||{},e.model.setStepParams("referenceSettings","target",eo(er({},p),{targetUid:s,mode:r}))),f=e.model.getStepParams("resourceSettings","init")||{},v=null!=(m=null==i?void 0:i.dataSourceKey)?m:null==f?void 0:f.dataSourceKey,g=null!=(y=null==i?void 0:i.collectionName)?y:null==f?void 0:f.collectionName,h=null!=(b=null==i?void 0:i.associationName)?b:null==f?void 0:f.associationName,w=null!=(S=null==i?void 0:i.filterByTk)?S:null==f?void 0:f.filterByTk,T=null!=(x=null==i?void 0:i.sourceId)?x:null==f?void 0:f.sourceId,(v||g||h||w||T)&&e.model.setStepParams("resourceSettings","init",eo(er({},f),{dataSourceKey:v,collectionName:g,associationName:h,filterByTk:w,sourceId:T})),[2]}})})()}},target:{preset:!0,hideInSettings:!0,title:b("Template settings"),uiSchema:function(e){var t,n,r=e.model||{},o=(null==(t=r.getStepParams)?void 0:t.call(r,"referenceSettings","target"))||{},i=((null==o?void 0:o.targetUid)||"").trim(),l=!!r.isNew,a=(null==(n=r.getStepParams)?void 0:n.call(r,"referenceSettings","useTemplate"))||{},u=!!(null==a?void 0:a.templateUid),c=r._resolvedTargetUid,s=r._targetModel,d=!l&&!!i&&!!s&&c===i||u;return{targetUid:{title:b("Block UID"),"x-component":"Input","x-decorator":"FormItem","x-decorator-props":{tooltip:d?b("Block UID is already set and cannot be modified"):void 0},"x-component-props":{disabled:d},"x-validator":[{format:"string",required:!0}]},mode:{title:b("Mode"),"x-component":"Radio.Group","x-decorator":"FormItem","x-component-props":{disabled:u},enum:[{label:b("Reference"),value:"reference"},{label:b("Duplicate"),value:"copy"}]},copyNotice:{type:"void","x-decorator":"FormItem","x-component":"Alert","x-component-props":{type:"warning",showIcon:!0,message:b("Some configurations using uid may need to be reconfigured")},"x-reactions":{dependencies:["mode"],fulfill:{state:{hidden:'{{$deps[0] !== "copy"}}'}}}}}},defaultParams:function(){return{mode:"reference"}},beforeParamsSave:function(e,t){return Y(function(){var n,r,o,i,l,a,u,c,d,p,f,m,v,y,g,b,h,S,w,x,T,O,k,M,P,E,j,I,F,N,C;return ec(this,function(_){switch(_.label){case 0:if(n=((null==t?void 0:t.targetUid)||"").trim(),"copy"!==((null==t?void 0:t.mode)||"reference")||!n)return[2];return[4,(r=e.engine).duplicateModel(n)];case 1:if(!(o=_.sent()))return[2];if(l=(i=e.model).parent,a=i.subKey,u=i.subType,!l||!a)return e.exit(),[2];if(c=-1,"array"===u&&(c=Array.isArray(d=l.subModels[a]||[])?d.findIndex(function(e){return(null==e?void 0:e.uid)===i.uid}):-1)<0&&(c=d.length),p=eo(er({},o),{parentId:l.uid,subKey:a,subType:u,sortIndex:c>=0?c:0}),(f=r.createModel(p)).setParent(l),f.sortIndex=c>=0?c:0,!i.isNew)return[3,6];return"array"===u?(Array.isArray(g=l.subModels[a])||(l.subModels[a]=[],g=l.subModels[a]),(b=g.findIndex(function(e){return(null==e?void 0:e.uid)===i.uid}))>=0?g.splice(b,1,f):g.push(f),g.forEach(function(e,t){return e.sortIndex=t})):l.setSubModel(a,f),r.removeModel(i.uid),f.isNew=!0,null==(v=l.emitter)||null==(m=v.emit)||m.call(v,"onSubModelAdded",f),[4,null==(y=f.afterAddAsSubModel)?void 0:y.call(f)];case 2:return _.sent(),[4,r.modelRepository.destroy(f.uid)];case 3:return _.sent(),[4,f.save()];case 4:return _.sent(),f.isNew=!1,[4,l.saveStepParams()];case 5:return _.sent(),l.rerender(),[3,17];case 6:if("array"!==u)return[3,8];if(Array.isArray(S=l.subModels[a])||(l.subModels[a]=[],S=l.subModels[a]),w=Math.min(Math.max(c,0),S.length),S.splice(w,0,f),S.forEach(function(e,t){return e.sortIndex=t}),(null==(x=l.getStepParams("gridSettings","grid")||{})?void 0:x.rows)&&"object"===ea(x.rows)){T=s().cloneDeep(x.rows),O=!0,k=!1,M=void 0;try{for(P=Object.keys(T)[Symbol.iterator]();!(O=(E=P.next()).done);O=!0)if(j=T[E.value],Array.isArray(j)){for(I=0;I<j.length;I++)if(F=j[I],Array.isArray(F))for(N=0;N<F.length;N++)F[N]===i.uid&&(F[N]=f.uid)}}catch(e){k=!0,M=e}finally{try{O||null==P.return||P.return()}finally{if(k)throw M}}l.setStepParams("gridSettings","grid",{rows:T,sizes:x.sizes||{}}),l.setProps("rows",T)}return[4,null==(h=f.afterAddAsSubModel)?void 0:h.call(f)];case 7:return _.sent(),[3,10];case 8:return l.setSubModel(a,f),[4,null==(C=f.afterAddAsSubModel)?void 0:C.call(f)];case 9:_.sent(),_.label=10;case 10:return[4,f.save()];case 11:if(_.sent(),f.isNew=!1,!("array"===u&&r.modelRepository))return[3,14];return[4,r.modelRepository.findOne({uid:i.uid})];case 12:if(!(_.sent()&&"function"==typeof r.modelRepository.move))return[3,14];return[4,r.modelRepository.move(f.uid,i.uid,"before")];case 13:_.sent(),_.label=14;case 14:return[4,r.destroyModel(i.uid)];case 15:return _.sent(),[4,l.saveStepParams()];case 16:_.sent(),_.label=17;case 17:return e.exit(),[2]}})})()}}}}),es.registerFlow({key:"cardSettings",steps:{}}),es.define({label:b("Block template"),group:(0,f.escapeT)("Other blocks"),createModelOptions:{use:"ReferenceBlockModel"},sort:900});var ed="__subModelReferenceHost";function ep(e,t,n,r,o,i,l){try{var a=e[i](l),u=a.value}catch(e){n(e);return}a.done?t(u):Promise.resolve(u).then(r,o)}function ef(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var i=e.apply(t,n);function l(e){ep(i,r,o,l,a,"next",e)}function a(e){ep(i,r,o,l,a,"throw",e)}l(void 0)})}}function em(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ev(e,t,n){return(ev="undefined"!=typeof Reflect&&Reflect.get?Reflect.get:function(e,t,n){var r=function(e,t){for(;!Object.prototype.hasOwnProperty.call(e,t)&&null!==(e=ey(e)););return e}(e,t);if(r){var o=Object.getOwnPropertyDescriptor(r,t);return o.get?o.get.call(n||e):o.value}})(e,t,n||e)}function ey(e){return(ey=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function eg(e,t){return null!=t&&"undefined"!=typeof Symbol&&t[Symbol.hasInstance]?!!t[Symbol.hasInstance](e):e instanceof t}function eb(e,t){if(t&&("object"===eS(t)||"function"==typeof t))return t;if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function eh(e,t){return(eh=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function eS(e){return e&&"undefined"!=typeof Symbol&&e.constructor===Symbol?"symbol":typeof e}function ew(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(ew=function(){return!!e})()}function ex(e,t){var n,r,o,i,l={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function a(i){return function(a){var u=[i,a];if(n)throw TypeError("Generator is already executing.");for(;l;)try{if(n=1,r&&(o=2&u[0]?r.return:u[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,u[1])).done)return o;switch(r=0,o&&(u=[2&u[0],o.value]),u[0]){case 0:case 1:o=u;break;case 4:return l.label++,{value:u[1],done:!1};case 5:l.label++,r=u[1],u=[0];continue;case 7:u=l.ops.pop(),l.trys.pop();continue;default:if(!(o=(o=l.trys).length>0&&o[o.length-1])&&(6===u[0]||2===u[0])){l=0;continue}if(3===u[0]&&(!o||u[1]>o[0]&&u[1]<o[3])){l.label=u[1];break}if(6===u[0]&&l.label<o[1]){l.label=o[1],o=u;break}if(o&&l.label<o[2]){l.label=o[2],l.ops.push(u);break}o[2]&&l.ops.pop(),l.trys.pop();continue}u=t.call(e,l)}catch(e){u=[6,e],r=0}finally{n=o=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}}var eT=function(e){var t;if("function"!=typeof e&&null!==e)throw TypeError("Super expression must either be null or a function");function n(e){if(!(this instanceof n))throw TypeError("Cannot call a class as a function");t=n,r=[e],t=ey(t),em(o=eb(this,ew()?Reflect.construct(t,r||[],ey(this).constructor):t.apply(this,r)),"_scopedEngine",void 0),em(o,"_targetGrid",void 0),em(o,"_resolvedTargetUid",void 0),em(o,"_invalidTargetUid",void 0);var t,r,o,i=new Set(["mapSubModels","filterSubModels","findSubModel","hasSubModel"]),l=new Proxy(o,{get:function(e,t){var n=e._targetGrid;if(n){if("subModels"===t)return n.subModels;if("string"==typeof t&&i.has(t)){var r=Reflect.get(n,t,n);return"function"==typeof r?r.bind(n):r}}if(t in e){var o=Reflect.get(e,t,e);return"function"==typeof o&&"constructor"!==t?o.bind(e):o}if(n){var l=Reflect.get(n,t,n);if("function"==typeof l&&"constructor"!==t)return l.bind(n);if(void 0!==l)return l}},has:function(e,t){if(t in e)return!0;var n=e._targetGrid;return!!n&&t in n},ownKeys:function(e){var t=new Set(Reflect.ownKeys(e)),n=e._targetGrid;if(n){var r=!0,o=!1,i=void 0;try{for(var l,a=Reflect.ownKeys(n)[Symbol.iterator]();!(r=(l=a.next()).done);r=!0){var u=l.value;t.add(u)}}catch(e){o=!0,i=e}finally{try{r||null==a.return||a.return()}finally{if(o)throw i}}}return Array.from(t)},getOwnPropertyDescriptor:function(e,t){var n=Reflect.getOwnPropertyDescriptor(e,t);if(n)return n;var r=e._targetGrid;if(r)return Object.getOwnPropertyDescriptor(r,t)||void 0}});return eb(o,l)}return n.prototype=Object.create(e&&e.prototype,{constructor:{value:n,writable:!0,configurable:!0}}),e&&eh(n,e),t=[{key:"_ensureScopedEngine",value:function(){return this._scopedEngine=$(this.flowEngine,this._scopedEngine),this._scopedEngine}},{key:"_getTargetSettings",value:function(){var e=this.getStepParams("referenceSettings","useTemplate");if(e&&(void 0===e?"undefined":eS(e))==="object"){var t=String(e.templateUid||"").trim(),n=String(e.targetUid||"").trim();if(t&&n)return{templateUid:t,templateName:String(e.templateName||"").trim()||void 0,targetUid:n,targetPath:String(e.targetPath||"").trim()||void 0}}}},{key:"_syncHostExtraTitle",value:function(e){var t,n,r,o,i=this.parent;if(i){var l=(null==i?void 0:i.isFork)&&i.master||i,a=[i];if(l&&l!==i&&eg(l,f.FlowModel)&&a.push(l),null==l||null==(n=l.forks)||null==(t=n.forEach)||t.call(n,function(e){return eg(e,f.FlowModel)&&a.push(e)}),!e)return void a.forEach(function(e){return e.setExtraTitle("")});var u=i.context.t("Reference template",{ns:[y,"client"],nsMode:"fallback"}),c=i.context.t("(Fields only)",{ns:[y,"client"],nsMode:"fallback"}),s=(null==(r=e.templateName)?void 0:r.trim())||(null==(o=e.templateUid)?void 0:o.trim())||"",d=s?"".concat(u,": ").concat(s," ").concat(c):"".concat(u," ").concat(c);a.forEach(function(e){return e.setExtraTitle(d.trim())})}}},{key:"addSubModel",value:function(e,t){if(!this._targetGrid)throw Error("[block-reference] Target grid is not resolved yet.");return this._targetGrid.addSubModel(e,t)}},{key:"setSubModel",value:function(e,t){if(!this._targetGrid)throw Error("[block-reference] Target grid is not resolved yet.");return this._targetGrid.setSubModel(e,t)}},{key:"onDispatchEventStart",value:function(e){var t=this;return ef(function(){var n,r,o,i,l,a,u,c,d,p,m;return ex(this,function(v){switch(v.label){case 0:var y;if("beforeRender"!==e)return[2];if(!(r=t._getTargetSettings()))return t._syncHostExtraTitle(void 0),t._targetGrid=void 0,t._resolvedTargetUid=void 0,t._invalidTargetUid=void 0,[2];if(t._syncHostExtraTitle(r),"subModels.grid"!==(o=(null==(n=r.targetPath)?void 0:n.trim())||"subModels.grid"))throw Error("[block-reference] Only 'subModels.grid' is supported for ReferenceFormGridModel (got '".concat(o,"')."));if(t._resolvedTargetUid===r.targetUid&&t._targetGrid)return t._invalidTargetUid=void 0,[2];return i=t._ensureScopedEngine(),l=r.targetUid,a=t._targetGrid,u=t._resolvedTargetUid,c=t._invalidTargetUid,t._invalidTargetUid=void 0,y=ef(function(){var e,n,a,u;return ex(this,function(c){switch(c.label){case 0:return[4,i.loadModel({uid:l})];case 1:if(!(e=c.sent()))return[2,void 0];return a={hostUid:null==(n=t.parent)?void 0:n.uid,hostUse:null==n?void 0:n.use,ref:{templateUid:r.templateUid,templateName:r.templateName,targetUid:l,targetPath:o,mountSubKey:"grid",mode:"reference"}},e.context.defineProperty(ed,{value:a}),[2,(eg(u=s().get(e,o),f.FlowModel)?u:s().castArray(u).find(function(e){return eg(e,f.FlowModel)}))||void 0]}})}),[4,(d=function(){return y.apply(this,arguments)})()];case 1:if(p=v.sent())return[3,4];return[4,new Promise(function(e){return setTimeout(e,50)})];case 2:if(v.sent(),(null==(m=t._getTargetSettings())?void 0:m.targetUid)!==l)return[2];return[4,d()];case 3:p=v.sent(),v.label=4;case 4:if(!p)return t._targetGrid=void 0,t._resolvedTargetUid=void 0,t._invalidTargetUid=l,(a||u||c!==l)&&t.rerender(),[2];return t._targetGrid=p,t._resolvedTargetUid=l,t._invalidTargetUid=void 0,(a!==p||u!==l||c)&&t.rerender(),[2]}})})()}},{key:"clearForks",value:function(){try{this._syncHostExtraTitle(void 0),L(this._scopedEngine)}finally{this._scopedEngine=void 0}ev(ey(n.prototype),"clearForks",this).call(this)}},{key:"destroy",value:function(){var e=this,t=this;return ef(function(){return ex(this,function(r){switch(r.label){case 0:try{L(t._scopedEngine)}finally{t._scopedEngine=void 0}return[4,ev(ey(n.prototype),"destroy",e).call(t)];case 1:return[2,r.sent()]}})})()}},{key:"render",value:function(){var e=this._getTargetSettings();if(!e)return Q(this,"unconfigured");var t=this._targetGrid;if(!t)return this._invalidTargetUid===e.targetUid?Q(this,"invalid"):Q(this,"resolving");var n=this._ensureScopedEngine();return u().createElement(Z,{engine:n,model:t})}}],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}(f.FlowModel);function eO(e,t){for(var n,r=null!=(n=null==t?void 0:t.maxDepth)?n:8,o=e,i=0;o&&i<r;){try{var l=o.context;if(l&&Object.prototype.hasOwnProperty.call(l,ed)){var a=l[ed];if(a)return a}}catch(e){}o=o.parent,i++}}function ek(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 eM(e,t,n,r,o,i,l){try{var a=e[i](l),u=a.value}catch(e){n(e);return}a.done?t(u):Promise.resolve(u).then(r,o)}function eP(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var i=e.apply(t,n);function l(e){eM(i,r,o,l,a,"next",e)}function a(e){eM(i,r,o,l,a,"throw",e)}l(void 0)})}}eT.define({hide:!0});function eE(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function ej(e){return(ej=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function eI(e,t){return null!=t&&"undefined"!=typeof Symbol&&t[Symbol.hasInstance]?!!t[Symbol.hasInstance](e):e instanceof t}function eF(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){eE(e,t,n[t])})}return e}function eN(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n.push.apply(n,r)}return n})(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}function eC(e,t){return(eC=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function e_(e){return e&&"undefined"!=typeof Symbol&&e.constructor===Symbol?"symbol":typeof e}function eA(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(eA=function(){return!!e})()}function eU(e,t){var n,r,o,i,l={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function a(i){return function(a){var u=[i,a];if(n)throw TypeError("Generator is already executing.");for(;l;)try{if(n=1,r&&(o=2&u[0]?r.return:u[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,u[1])).done)return o;switch(r=0,o&&(u=[2&u[0],o.value]),u[0]){case 0:case 1:o=u;break;case 4:return l.label++,{value:u[1],done:!1};case 5:l.label++,r=u[1],u=[0];continue;case 7:u=l.ops.pop(),l.trys.pop();continue;default:if(!(o=(o=l.trys).length>0&&o[o.length-1])&&(6===u[0]||2===u[0])){l=0;continue}if(3===u[0]&&(!o||u[1]>o[0]&&u[1]<o[3])){l.label=u[1];break}if(6===u[0]&&l.label<o[1]){l.label=o[1],o=u;break}if(o&&l.label<o[2]){l.label=o[2],l.ops.push(u);break}o[2]&&l.ops.pop(),l.trys.pop();continue}u=t.call(e,l)}catch(e){u=[6,e],r=0}finally{n=o=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}}var eB="subModelTemplateImportSettings",eR="referenceSettings",eK="useTemplate",eD=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;if(!(this instanceof n))throw TypeError("Cannot call a class as a function");return e=n,t=arguments,e=ej(e),function(e,t){if(t&&("object"===e_(t)||"function"==typeof t))return t;if(void 0===e)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(this,eA()?Reflect.construct(e,t||[],ej(this).constructor):e.apply(this,t))}return n.prototype=Object.create(e&&e.prototype,{constructor:{value:n,writable:!0,configurable:!0}}),e&&eC(n,e),t=[{key:"resolveExpectedResourceInfo",value:function(e,t){var n,r,o=String((null==(n=this.props)?void 0:n.expectedDataSourceKey)||"").trim(),i=String((null==(r=this.props)?void 0:r.expectedCollectionName)||"").trim();if(o&&i)return{dataSourceKey:o,collectionName:i};var l=N(e,t||this.parent,{dataSourceManager:this.context.dataSourceManager});return{dataSourceKey:String((null==l?void 0:l.dataSourceKey)||o||"").trim()||void 0,collectionName:String((null==l?void 0:l.collectionName)||i||"").trim()||void 0}}},{key:"afterAddAsSubModel",value:function(){var e=this;return eP(function(){var t,n,r,o,i,l,a,u,c,d,p,m,v,y,g,b,h,S,w,x,T,O,k,M,P,E,j,I,F,N;return eU(this,function(C){switch(C.label){case 0:for(a=0,r=e.parent,i=null!=(o=null==(t=e.props)?void 0:t.mountToParentLevel)?o:0,l=r;a<i;a++)l=null==l?void 0:l.parent;for(u=l,c=0;u&&c<5;){if(null==(d=u.subModels)?void 0:d.grid){l=u;break}u=u.parent,c++}if(e.remove(),!(null==r?void 0:r.uid))return[3,2];return[4,r.saveStepParams()];case 1:C.sent(),C.label=2;case 2:if(!l)return[2];if(m=String((p=e.getStepParams(eB,"selectTemplate")||{}).templateUid||"").trim(),v=String(p.targetUid||"").trim(),y=String(p.templateName||"").trim()||void 0,g=String(p.templateDescription||"").trim()||void 0,b=String(p.mode||"reference"),h=String(p.targetPath||"subModels.grid").trim()||"subModels.grid","grid"!==(S=String(p.mountSubKey||"grid").trim()||"grid"))throw Error("[block-reference] Only 'grid' mountSubKey is supported (got '".concat(S,"')."));if("subModels.grid"!==h)throw Error("[block-reference] Only 'subModels.grid' targetPath is supported (got '".concat(h,"')."));if(!m)return[2];if(!v)throw Error("[block-reference] Missing targetUid for template import (templateUid='".concat(m,"'). This is required for reference mode."));if(!(w=null==(n=l.subModels)?void 0:n.grid))throw Error("[block-reference] Cannot mount to '".concat(S,"': mountTarget has no grid subModel."));if("copy"!==b)return[3,9];return[4,(0,f.createBlockScopedEngine)(l.flowEngine).loadModel({uid:v})];case 3:if(x=C.sent(),!(O=eI(T=s().get(x,h),f.FlowModel)?T:s().castArray(T).find(function(e){return eI(e,f.FlowModel)})))throw Error("[block-reference] Template fragment is invalid: ".concat(h));return[4,l.flowEngine.duplicateModel(O.uid)];case 4:return k=C.sent(),[4,l.flowEngine.modelRepository.move(k.uid,w.uid,"after")];case 5:return C.sent(),M=l.flowEngine.createModel(eN(eF({},k),{parentId:l.uid,subKey:"grid",subType:"object"})),l.setSubModel("grid",M),[4,M.afterAddAsSubModel()];case 6:return C.sent(),[4,l.flowEngine.destroyModel(w.uid)];case 7:case 10:case 15:return C.sent(),[4,l.rerender()];case 8:case 11:case 16:return C.sent(),[2];case 9:if(P={templateUid:m,templateName:y,templateDescription:g,targetUid:v,targetPath:h,mode:b},"ReferenceFormGridModel"!==w.use)return[3,12];return w.setStepParams(eR,eK,P),[4,w.saveStepParams()];case 12:return E=w.uid,I=(j=w.stepParams&&"object"===e_(w.stepParams)?w.stepParams:{})[eR]&&"object"===e_(j[eR])?j[eR]:{},F=eE({},eR,eN(eF({},I),eE({},eK,P))),[4,l.flowEngine.destroyModel(E)];case 13:return C.sent(),N=l.flowEngine.createModel({uid:E,use:"ReferenceFormGridModel",props:w.props,sortIndex:w.sortIndex,parentId:l.uid,subKey:"grid",subType:"object",stepParams:F}),l.setSubModel("grid",N),[4,N.afterAddAsSubModel()];case 14:return C.sent(),[4,N.save()]}})})()}},{key:"save",value:function(){var e=this;return eP(function(){return eU(this,function(t){return[2,{uid:e.uid}]})})()}},{key:"saveStepParams",value:function(){var e=this;return eP(function(){return eU(this,function(t){return[2,{uid:e.uid}]})})()}},{key:"render",value:function(){return null}},{key:"getTemplateDisabledReason",value:function(e,t,n){var r,o,i=String((null==n?void 0:n.dataSourceKey)||(null==(r=this.props)?void 0:r.expectedDataSourceKey)||"").trim(),l=String((null==n?void 0:n.collectionName)||(null==(o=this.props)?void 0:o.expectedCollectionName)||"").trim();if(i&&l)return A(e,t,{dataSourceKey:i,collectionName:l},{dataSourceManager:this.context.dataSourceManager})}},{key:"fetchTemplateOptions",value:function(e,t,n){var r=this;return eP(function(){var o,i,l,a,u,c,s,d,p,f,m,v,y,g,b;return eU(this,function(h){switch(h.label){case 0:if(!(null==(o=e.api)?void 0:o.resource))return[2,{options:[],hasMore:!1}];i=Math.max(1,Number((null==n?void 0:n.page)||1)),l=Math.max(1,Number((null==n?void 0:n.pageSize)||20)),h.label=1;case 1:var S;return h.trys.push([1,3,,4]),s=(c=(u=null==(a=r.props)?void 0:a.expectedRootUse)?Array.isArray(u)?u.map(function(e){return String(e)}):[String(u)]:[]).length>0?{$or:[{useModel:{$in:c}},{useModel:null},{useModel:""}]}:void 0,d={$and:[{$or:[{type:{$notIn:["popup"]}},{type:null},{type:""}]}]},p=s?{$and:[s].concat(function(e){if(Array.isArray(e))return ek(e)}(S=d.$and)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(S)||function(e,t){if(e){if("string"==typeof e)return ek(e,void 0);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return ek(e,t)}}(S)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}())}:d,[4,o.resource("flowModelTemplates").list({page:i,pageSize:l,search:t||void 0,filter:p})];case 2:return m=(f=P(h.sent())).rows,v=f.count,y=m.length,g=r.resolveExpectedResourceInfo(e),(b=m.flatMap(function(t,n){var o=null==t?void 0:t.useModel;if(c.length>0&&(!o||!c.includes(String(o))))return[];var a=(null==t?void 0:t.name)||(null==t?void 0:t.uid)||"",u=null==t?void 0:t.description,s=r.getTemplateDisabledReason(e,t,g);return[{__idx:(i-1)*l+n,label:w(a),value:null==t?void 0:t.uid,description:u,rawName:a,targetUid:null==t?void 0:t.targetUid,disabled:!!s,disabledReason:s,dataSourceKey:null==t?void 0:t.dataSourceKey,collectionName:null==t?void 0:t.collectionName,useModel:o}]})).sort(q),[2,{options:b,hasMore:E({page:i,pageSize:l,rowsLength:y,count:v})}];case 3:return console.error("fetch template options failed",h.sent()),[2,{options:[],hasMore:!1}];case 4:return[2]}})})()}}],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}(f.FlowModel);eD.define({hide:!0}),eD.registerFlow({key:eB,title:(0,f.tExpr)("Field template"),manual:!0,sort:-999,steps:{selectTemplate:{preset:!0,title:b("Field template"),uiSchema:function(e){var t=e.model,n=t.getStepParams(eB,"selectTemplate")||{},r=((null==n?void 0:n.templateUid)||"").trim(),o=!!t.isNew;return{templateUid:{title:b("Template"),description:b("Template field section description"),"x-decorator":"FormItem","x-component":"Select","x-component-props":{showSearch:!0,filterOption:!1,allowClear:!0,placeholder:b("Search templates"),disabled:!o&&!!r,optionLabelProp:"label",dropdownMatchSelectWidth:!0,dropdownStyle:{maxWidth:560},getPopupContainer:function(){return document.body},optionRender:x},default:r||void 0,"x-validator":[{required:!0}],"x-reactions":[function(n){var r;H(n,(r=eP(function(n,r,o){return eU(this,function(i){var l;return[2,(l={page:r,pageSize:o},t.fetchTemplateOptions(e,n,l))]})}),function(e,t,n){return r.apply(this,arguments)}),{pageSize:20,composingKey:"__templateComposing"})}]},mode:{title:b("Mode"),"x-decorator":"FormItem","x-component":"Radio.Group",enum:[{label:b("Reference"),value:"reference"},{label:b("Duplicate"),value:"copy"}],default:(null==n?void 0:n.mode)||"reference"},modeDescriptionReference:{type:"void","x-decorator":"FormItem","x-decorator-props":{colon:!1},"x-component":"Alert","x-component-props":{type:"info",showIcon:!1,message:b("Reference mode description"),style:{marginTop:-8}},"x-reactions":{dependencies:["mode"],fulfill:{state:{hidden:'{{$deps[0] === "copy"}}'}}}},modeDescriptionDuplicate:{type:"void","x-decorator":"FormItem","x-decorator-props":{colon:!1},"x-component":"Alert","x-component-props":{type:"info",showIcon:!1,message:b("Duplicate mode description"),style:{marginTop:-8}},"x-reactions":{dependencies:["mode"],fulfill:{state:{hidden:'{{$deps[0] !== "copy"}}'}}}}}},beforeParamsSave:function(e,t){return eP(function(){var n,r,o,i,l,a,c,s,d,p,m,v,g,b,h,w,x,T,O,k,M,P,E,j,I,F,N,C,_,A,U,B,R,K,D,V,G,q,z,H,$,L,W,Q;return eU(this,function(J){switch(J.label){case 0:if(!(a=(l=e.model).parent))return[2];for(p=0,s=null!=(c=null==(n=l.props)?void 0:n.mountToParentLevel)?c:0,d=a;p<s;p++)d=null==d?void 0:d.parent;if(m=e.api,!(v=((null==t?void 0:t.templateUid)||"").trim()))return[2];if(!(null==m?void 0:m.resource))throw Error("[block-reference] ctx.api.resource is required to fetch templates.");return[4,m.resource("flowModelTemplates").get({filterByTk:v})];case 1:if(!(h=((null==(b=(null==(g=J.sent())||null==(r=g.data)?void 0:r.data)||(null==g?void 0:g.data)||g)?void 0:b.targetUid)||(null==t?void 0:t.targetUid)||"").trim()))throw Error("[block-reference] Template '".concat(v,"' has no targetUid."));if(w=((null==b?void 0:b.name)||(null==t?void 0:t.templateName)||"").trim(),x=((null==b?void 0:b.description)||(null==t?void 0:t.templateDescription)||"").trim(),T=(null==t?void 0:t.mode)||"reference",O=((null==(o=l.props)?void 0:o.defaultSourcePath)||"subModels.grid").trim(),"grid"!==(k=((null==(i=l.props)?void 0:i.defaultMountSubKey)||l.subKey||"grid").trim()))throw Error("[block-reference] Only 'grid' mountSubKey is supported (got '".concat(k,"')."));if("subModels.grid"!==O)throw Error("[block-reference] Only 'subModels.grid' targetPath is supported (got '".concat(O,"')."));if((P=null==(M=eO(l))?void 0:M.ref)&&"grid"===P.mountSubKey&&"copy"!==P.mode)throw I=(null==(E=e.t)?void 0:E.call(e,"This block already references field template, please convert fields to copy first",{ns:[y,"client"],nsMode:"fallback"}))||"当前区块已引用字段模板,请先将引用字段转换为复制",null==(F=e.message||d.context.message||l.context.message)||null==(j=F.warning)||j.call(F,I),new f.FlowExitException(eB,l.uid,I);for(N=d,C=0;N&&C<5;){if(null==(_=N.subModels)?void 0:_[k]){d=N;break}N=N.parent,C++}if(!d)return[2];if(A=l.resolveExpectedResourceInfo(e,d),U=l.getTemplateDisabledReason(e,b||{},A))throw Error(U);if("copy"===T||"grid"!==k)return[3,6];if(!(R=null==(B=d.subModels)?void 0:B.grid))throw Error("[block-reference] Cannot mount to '".concat(k,"': mountTarget has no grid subModel."));if("ReferenceFormGridModel"===String((null==R?void 0:R.use)||"")&&(K=R.getStepParams(eR,eK)||{},(D=function(e){return String(e||"").trim()})(K.templateUid)===D(v)&&D(K.targetUid)===D(h)))return l.setStepParams(eB,"selectTemplate",{templateUid:v,targetUid:h,templateName:w,templateDescription:x,targetPath:O,mountSubKey:k,mode:T}),[2];if(G=0===(V=["FormItemModel","FormCustomItemModel","FormJSFieldItemModel"].map(function(e){return d.flowEngine.getModelClass(e)}).filter(Boolean).filter(Boolean)).length,q=[],z=[],d.flowEngine.forEachModel(function(e){if(e&&e.uid!==d.uid&&e.uid!==l.uid&&(null==e||null==(t=e.parent)?void 0:t.uid)===R.uid&&"items"===e.subKey){if(q.push(String(e.uid)),G)return void z.push(String(e.uid));var t,n=e.constructor;V.some(function(e){return n===e||(0,f.isInheritedFrom)(n,e)})&&z.push(String(e.uid))}}),!(z.length>0))return[3,6];return $=e.viewer||d.context.viewer||l.context.viewer,L=(null==(H=e.t)?void 0:H.call(e,"Using reference fields will remove existing fields",{ns:[y,"client"],nsMode:"fallback"}))||"使用引用字段会将当前已经添加的字段移除,是否继续?",(W=e.view)&&"function"==typeof W.close&&W.close(void 0,!0),[4,new Promise(function(e){return setTimeout(e,0)})];case 2:if(J.sent(),!($&&"function"==typeof $.dialog))return[3,4];return[4,new Promise(function(t){var n,r=!1,o=function(e){r||(r=!0,t(e))};$.dialog({title:(null==(n=e.t)?void 0:n.call(e,"Field template",{ns:[y,"client"],nsMode:"fallback"}))||"Field template",width:520,destroyOnClose:!0,content:function(t){var n,r;return u().createElement(u().Fragment,null,u().createElement("div",{style:{marginBottom:16}},L),u().createElement(t.Footer,null,u().createElement(S.Space,{align:"end"},u().createElement(S.Button,{onClick:function(){o(!1),t.close(void 0,!0)}},(null==(n=e.t)?void 0:n.call(e,"Cancel"))||"Cancel"),u().createElement(S.Button,{type:"primary",onClick:function(){o(!0),t.close(void 0,!0)}},(null==(r=e.t)?void 0:r.call(e,"Confirm"))||"Confirm"))))},onClose:function(){return o(!1)},zIndex:"function"==typeof $.getNextZIndex?$.getNextZIndex()+1e3:void 0})})];case 3:return Q=J.sent(),[3,5];case 4:Q=window.confirm("使用引用字段会将当前已经添加的字段移除,是否继续?"),J.label=5;case 5:if(!Q)throw new f.FlowExitException(eB,l.uid,"User cancelled template import");J.label=6;case 6:return l.setStepParams(eB,"selectTemplate",{templateUid:v,targetUid:h,templateName:w,templateDescription:x,targetPath:O,mountSubKey:k,mode:T}),[2]}})})()}}}});var eV=d(584),eG={name:"flowModelTemplates",filterTargetKey:"uid",fields:[{type:"string",name:"name",interface:"input",uiSchema:{type:"string",title:b("Template name"),required:!0,"x-component":"Input"}},{type:"string",name:"description",interface:"textarea",uiSchema:{type:"string",title:b("Template description"),"x-component":"Input.TextArea","x-component-props":{rows:3}}},{type:"string",name:"targetUid",interface:"input",uiSchema:{type:"string",title:"targetUid","x-component":"Input","x-disabled":!0}},{type:"string",name:"useModel",interface:"input",uiSchema:{type:"string",title:"useModel","x-component":"Input","x-disabled":!0,"x-hidden":!0}},{type:"string",name:"dataSourceKey",interface:"input",uiSchema:{type:"string",title:"dataSourceKey","x-component":"Input","x-disabled":!0}},{type:"string",name:"collectionName",interface:"input",uiSchema:{type:"string",title:"collectionName","x-component":"Input","x-disabled":!0}},{type:"string",name:"associationName",interface:"input",uiSchema:{type:"string",title:"associationName","x-component":"Input","x-disabled":!0,"x-hidden":!0}},{type:"string",name:"filterByTk",interface:"input",uiSchema:{type:"string",title:"filterByTk","x-component":"Input","x-disabled":!0}},{type:"string",name:"sourceId",interface:"input",uiSchema:{type:"string",title:"sourceId","x-component":"Input","x-disabled":!0}},{type:"number",name:"usageCount",interface:"number",uiSchema:{type:"number",title:b("Usage count"),"x-component":"InputNumber","x-disabled":!0}}]},eq={type:"void",title:b("Edit"),"x-component":"Action.Link","x-component-props":{openMode:"drawer"},properties:{drawer:{type:"void",title:b("Edit template"),"x-component":"Action.Drawer","x-decorator":"FormV2","x-use-decorator-props":"useFlowModelTemplateEditFormProps",properties:{name:{type:"string",title:b("Template name"),"x-decorator":"FormItem","x-component":"Input",required:!0},description:{type:"string",title:b("Template description"),"x-decorator":"FormItem","x-component":"Input.TextArea","x-component-props":{rows:4}},footer:{type:"void","x-component":"Action.Drawer.Footer",properties:{cancel:{title:'{{t("Cancel")}}',"x-component":"Action","x-component-props":{useAction:"{{ cm.useCancelAction }}"}},submit:{title:'{{t("Submit")}}',"x-component":"Action","x-use-component-props":"useFlowModelTemplateEditActionProps","x-component-props":{type:"primary"}}}}}}}},ez=d(563),eH=d(505);function e$(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 eL(e,t,n,r,o,i,l){try{var a=e[i](l),u=a.value}catch(e){n(e);return}a.done?t(u):Promise.resolve(u).then(r,o)}function eW(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var i=e.apply(t,n);function l(e){eL(i,r,o,l,a,"next",e)}function a(e){eL(i,r,o,l,a,"throw",e)}l(void 0)})}}function eQ(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 eJ(e,t){var n,r,o,i,l={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function a(i){return function(a){var u=[i,a];if(n)throw TypeError("Generator is already executing.");for(;l;)try{if(n=1,r&&(o=2&u[0]?r.return:u[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,u[1])).done)return o;switch(r=0,o&&(u=[2&u[0],o.value]),u[0]){case 0:case 1:o=u;break;case 4:return l.label++,{value:u[1],done:!1};case 5:l.label++,r=u[1],u=[0];continue;case 7:u=l.ops.pop(),l.trys.pop();continue;default:if(!(o=(o=l.trys).length>0&&o[o.length-1])&&(6===u[0]||2===u[0])){l=0;continue}if(3===u[0]&&(!o||u[1]>o[0]&&u[1]<o[3])){l.label=u[1];break}if(6===u[0]&&l.label<o[1]){l.label=o[1],o=u;break}if(o&&l.label<o[2]){l.label=o[2],l.ops.push(u);break}o[2]&&l.ops.pop(),l.trys.pop();continue}u=t.call(e,l)}catch(e){u=[6,e],r=0}finally{n=o=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}}var eZ=function(){var e,t=(0,l.useBlockRequestContext)().service,n=g(),r=(e=(0,a.useState)(""),function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,o=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var i=[],l=!0,a=!1;try{for(o=o.call(e);!(l=(n=o.next()).done)&&(i.push(n.value),i.length!==t);l=!0);}catch(e){a=!0,r=e}finally{try{l||null==o.return||o.return()}finally{if(a)throw r}}return i}}(e,2)||function(e,t){if(e){if("string"==typeof e)return e$(e,2);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return e$(e,t)}}(e,2)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()),o=r[0],i=r[1];(0,a.useEffect)(function(){var e,n;i((null==t||null==(n=t.params)||null==(e=n[0])?void 0:e.search)||"")},[null==t?void 0:t.params]);var u=(0,a.useCallback)(function(e){var n,r,o,i,l=eQ({},(null==t||null==(o=t.params)?void 0:o[0])||{});e?l.search=e:delete l.search,null==t||null==(i=t.run)||i.call(t,(n=eQ({},l),r=r={page:1},Object.getOwnPropertyDescriptors?Object.defineProperties(n,Object.getOwnPropertyDescriptors(r)):(function(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n.push.apply(n,r)}return n})(Object(r)).forEach(function(e){Object.defineProperty(n,e,Object.getOwnPropertyDescriptor(r,e))}),n))},[t]);return{placeholder:n("Search templates"),value:o,onChange:function(e){var t,n,r=null!=(n=null==e||null==(t=e.target)?void 0:t.value)?n:"";i(r),r||u("")},onSearch:function(e){var t;return u((null==e||null==(t=e.trim)?void 0:t.call(e))||"")},allowClear:!0,style:{width:260}}},eX=function(){var e=(0,l.useCollectionRecordData)();return{form:(0,a.useMemo)(function(){return(0,ez.createForm)({initialValues:e})},[e])}},eY=function(){var e=(0,l.useActionContext)().setVisible,t=S.App.useApp().message,n=(0,eH.useForm)(),r=(0,l.useDataBlockResource)(),o=(0,l.useCollection)(),i=(0,l.useBlockRequestContext)().service,a=g();return{type:"primary",onClick:function(){return eW(function(){var l,u;return eJ(this,function(c){switch(c.label){case 0:return[4,n.submit()];case 1:return c.sent(),u=n.values,[4,r.update({values:{name:u.name,description:u.description},filterByTk:u[o.filterTargetKey]})];case 2:return c.sent(),[4,null==i||null==(l=i.refresh)?void 0:l.call(i)];case 3:return c.sent(),t.success(a("Saved")),null==e||e(!1),[2]}})})()}}},e0=function(){var e=(0,l.useCollectionRecordData)(),t=(0,l.useCollection)(),n=(0,l.useDataBlockResource)(),r=(0,l.useBlockRequestContext)().service,o=S.App.useApp().message,i=g(),a=((null==e?void 0:e.usageCount)||0)>0;return{danger:!0,disabled:a,confirm:a?void 0:{title:i("Delete template"),content:i("Are you sure you want to delete this item? This action cannot be undone.")},onClick:function(){return eW(function(){var l;return eJ(this,function(u){switch(u.label){case 0:if(a)return o.warning(i("Template is in use and cannot be deleted")),[2];return[4,n.destroy({filterByTk:null==e?void 0:e[t.filterTargetKey]})];case 1:return u.sent(),[4,null==r||null==(l=r.refresh)?void 0:l.call(r)];case 2:return u.sent(),o.success(i("Deleted")),[2]}})})()}}},e1=function(e){var t,n,r=e.filter,o=(0,l.useSchemaComponentContext)(),i=(0,a.useMemo)(function(){return{type:"void",name:(0,eV.uid)(),"x-component":"CardItem","x-decorator":"TableBlockProvider","x-decorator-props":{collection:eG.name,action:"list",params: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}({sort:"-createdAt",pageSize:50},r?{filter:r}:{}),showIndex:!0,rowKey:eG.filterTargetKey},properties:{actions:{type:"void","x-component":"ActionBar","x-component-props":{style:{marginBottom:16}},properties:{filter:{type:"void",title:'{{ t("Filter") }}',default:{$and:[{name:{$includes:""}}]},"x-action":"filter","x-component":"Filter.Action","x-use-component-props":"useFilterActionProps","x-component-props":{icon:"FilterOutlined"},"x-align":"left"},search:{type:"void","x-component":"Input.Search","x-component-props":{allowClear:!0},"x-use-component-props":"useFlowModelTemplateSearchProps","x-align":"left"},refresh:{type:"void",title:'{{ t("Refresh") }}',"x-component":"Action","x-use-component-props":"useRefreshActionProps","x-component-props":{icon:"ReloadOutlined"},"x-align":"right"}}},table:{type:"array","x-component":"TableV2","x-use-component-props":"useTableBlockProps","x-component-props":{rowKey:eG.filterTargetKey,pagination:{pageSize:50}},properties:{name:{type:"void",title:b("Template name"),"x-component":"TableV2.Column","x-component-props":{width:200},properties:{name:{type:"string","x-component":"CollectionField","x-pattern":"readPretty","x-component-props":{ellipsis:!0}}}},description:{type:"void",title:b("Template description"),"x-component":"TableV2.Column","x-component-props":{width:240},properties:{description:{type:"string","x-component":"CollectionField","x-pattern":"readPretty","x-component-props":{ellipsis:!0}}}},dataSourceKey:{type:"void",title:"Data source","x-component":"TableV2.Column","x-component-props":{width:140},properties:{dataSourceKey:{type:"string","x-component":"CollectionField","x-pattern":"readPretty","x-component-props":{ellipsis:!0}}}},collectionName:{type:"void",title:"Collection","x-component":"TableV2.Column","x-component-props":{width:160},properties:{collectionName:{type:"string","x-component":"CollectionField","x-pattern":"readPretty","x-component-props":{ellipsis:!0}}}},usageCount:{type:"void",title:b("Usage count"),"x-component":"TableV2.Column","x-component-props":{width:120},properties:{usageCount:{type:"number","x-component":"CollectionField","x-pattern":"readPretty"}}},actions:{type:"void",title:b("Actions"),"x-component":"TableV2.Column","x-component-props":{width:160,align:"left"},properties:{actions:{type:"void","x-component":"Space","x-component-props":{split:"|"},properties:{edit:eq,delete:{type:"void",title:b("Delete"),"x-component":"Action.Link","x-use-component-props":"useFlowModelTemplateDeleteActionProps","x-component-props":{danger:!0}}}}}}}}}}},[r]);return u().createElement(l.SchemaComponentContext.Provider,{value:(t=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}({},o),n=n={designable:!1},Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(n)):(function(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n.push.apply(n,r)}return n})(Object(n)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(n,e))}),t)},u().createElement(l.SchemaComponent,{schema:i,scope:{useFlowModelTemplateSearchProps:eZ,useFlowModelTemplateEditFormProps:eX,useFlowModelTemplateEditActionProps:eY,useFlowModelTemplateDeleteActionProps:e0}}))},e2=function(){var e=(0,a.useMemo)(function(){return{$or:[{type:{$ne:"popup"}},{type:{$empty:!0}}]}},[]);return u().createElement(l.ExtendCollectionsProvider,{collections:[eG]},u().createElement(e1,{filter:e}))},e4=function(){var e=(0,a.useMemo)(function(){return{type:"popup"}},[]);return u().createElement(l.ExtendCollectionsProvider,{collections:[eG]},u().createElement(e1,{filter:e}))},e3=d(482);function e6(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 e5(e,t,n,r,o,i,l){try{var a=e[i](l),u=a.value}catch(e){n(e);return}a.done?t(u):Promise.resolve(u).then(r,o)}function e7(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var i=e.apply(t,n);function l(e){e5(i,r,o,l,a,"next",e)}function a(e){e5(i,r,o,l,a,"throw",e)}l(void 0)})}}function e8(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function e9(e,t){return null!=t&&"undefined"!=typeof Symbol&&t[Symbol.hasInstance]?!!t[Symbol.hasInstance](e):e instanceof t}function te(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){e8(e,t,n[t])})}return e}function tt(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n.push.apply(n,r)}return n})(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}function tn(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,o=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var i=[],l=!0,a=!1;try{for(o=o.call(e);!(l=(n=o.next()).done)&&(i.push(n.value),!t||i.length!==t);l=!0);}catch(e){a=!0,r=e}finally{try{l||null==o.return||o.return()}finally{if(a)throw r}}return i}}(e,t)||function(e,t){if(e){if("string"==typeof e)return e6(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return e6(e,t)}}(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function tr(e){return e&&"undefined"!=typeof Symbol&&e.constructor===Symbol?"symbol":typeof e}function to(e,t){var n,r,o,i,l={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function a(i){return function(a){var u=[i,a];if(n)throw TypeError("Generator is already executing.");for(;l;)try{if(n=1,r&&(o=2&u[0]?r.return:u[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,u[1])).done)return o;switch(r=0,o&&(u=[2&u[0],o.value]),u[0]){case 0:case 1:o=u;break;case 4:return l.label++,{value:u[1],done:!1};case 5:l.label++,r=u[1],u=[0];continue;case 7:u=l.ops.pop(),l.trys.pop();continue;default:if(!(o=(o=l.trys).length>0&&o[o.length-1])&&(6===u[0]||2===u[0])){l=0;continue}if(3===u[0]&&(!o||u[1]>o[0]&&u[1]<o[3])){l.label=u[1];break}if(6===u[0]&&l.label<o[1]){l.label=o[1],o=u;break}if(o&&l.label<o[2]){l.label=o[2],l.ops.push(u);break}o[2]&&l.ops.pop(),l.trys.pop();continue}u=t.call(e,l)}catch(e){u=[6,e],r=0}finally{n=o=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}}var ti=function(e){var t,n,r;return null!=(r=null!=(n=null==e||null==(t=e.data)?void 0:t.data)?n:null==e?void 0:e.data)?r:e},tl=function(e){return e?String(e).replace(/\s+/g," ").trim():""},ta=new WeakSet,tu=new WeakSet,tc=new WeakSet,ts=new Set,td=new Set;function tp(e){var t,n=null==(t=e.subModels)?void 0:t.grid;if(!n||"ReferenceFormGridModel"!==n.use)return null;var r=n.getStepParams("referenceSettings","useTemplate");if(!r||(void 0===r?"undefined":tr(r))!=="object")return null;var o=String(r.templateUid||"").trim(),i=String(r.targetUid||"").trim();return o&&i?{grid:n,settings:{templateUid:o,templateName:String(r.templateName||"").trim()||void 0,targetUid:i,targetPath:String(r.targetPath||"").trim()||void 0}}:null}function tf(){return(tf=e7(function(e,t){var n,r,o,i,l,c,d,p,f,m,v,y,g;return to(this,function(t){return(r=h(e),o=e.context.api,i=e.context.viewer,(null==o?void 0:o.resource)&&(null==i?void 0:i.dialog))?ta.has(e)?[2]:(ta.add(e),d=(null==(n=e.context.view)?void 0:n.inputArgs)||{},p=e.context.resource||{},f=e.getStepParams("resourceSettings","init")||{},m=function(e){return(null==p?void 0:p[e])||("function"==typeof(null==p?void 0:p["get".concat(s().upperFirst(e))])?p["get".concat(s().upperFirst(e))]():void 0)||(null==d?void 0:d[e])},v=function(e){var t=null==f?void 0:f[e];if(null!=t)return"string"==typeof t?t.trim()||void 0:t},y=function(){return ta.delete(e)},g=function(t){var n,i,l=t.currentDialog,c=tn(S.Form.useForm(),1)[0],d=tn((0,a.useState)(!1),2),p=d[0],g=d[1],b=tn((0,a.useState)(!1),2),h=b[0],w=b[1],x=(n=e7(function(){var t,n,i,l,a,u,d,p,y,g,b,h,S,w,x,T,O,k,M,P,E,j,I,F,N,C,_,A,U,B,R,K,D,V,G,q,z,H,$,L,W;return to(this,function(Q){switch(Q.label){case 0:return[4,c.validateFields()];case 1:if(d="convert"===(u=Q.sent()).saveMode,p=e.uid,d)return[3,3];return[4,o.resource("flowModels").duplicate({uid:e.uid})];case 2:if(!(b=(g=ti(Q.sent()))&&(void 0===g?"undefined":tr(g))==="object"&&(g.uid||(null==(y=g.data)?void 0:y.uid))||("string"==typeof g?g:void 0)))throw Error("[block-reference] Duplicate block failed.");p=b,Q.label=3;case 3:return w={name:u.name,description:u.description,targetUid:p,useModel:e.use,type:"block",dataSourceKey:m("dataSourceKey")||m("dataSource")||(null==f?void 0:f.dataSourceKey),collectionName:m("collectionName")||(null==f?void 0:f.collectionName),associationName:m("associationName")||(null==f?void 0:f.associationName),filterByTk:null!=(h=v("filterByTk"))?h:m("filterByTk"),sourceId:null!=(S=v("sourceId"))?S:m("sourceId"),detachParent:d},[4,o.resource("flowModelTemplates").create({values:w})];case 4:if(T=(null==(x=ti(Q.sent()))?void 0:x.uid)||(null==x||null==(t=x.data)?void 0:t.uid)||(null==x||null==(i=x.data)||null==(n=i.data)?void 0:n.uid)||p,null==(a=e.context.message)||null==(l=a.success)||l.call(a,r("Template created")),!d)return[3,12];if(O=e.parent,k=e.subKey,M=e.subType,P=e.flowEngine,!(!O||!k||!P))return[3,5];return null==(j=e.context.message)||null==(E=j.error)||E.call(j,r("Parent not found, cannot replace block")),[3,12];case 5:if((_=P.createModel({use:"ReferenceBlockModel",parentId:O.uid,subKey:k,subType:M})).setParent(O),_.setStepParams("referenceSettings","target",{targetUid:p,mode:"reference"}),_.setStepParams("referenceSettings","useTemplate",{templateUid:T,templateName:(null==x?void 0:x.name)||(null==x||null==(I=x.data)?void 0:I.name)||u.name,templateDescription:(null==x?void 0:x.description)||(null==x||null==(F=x.data)?void 0:F.description)||u.description,targetUid:p,mode:"reference"}),"array"!==M)return[3,7];if(Array.isArray(A=O.subModels[k]||[])||(O.subModels[k]=[],A=O.subModels[k]),B=(U=A.findIndex(function(t){return(null==t?void 0:t.uid)===e.uid}))>=0?U:A.length,A.splice(B,+(U>=0),_),A.forEach(function(e,t){return e.sortIndex=t}),(null==(R=O.getStepParams("gridSettings","grid")||{})?void 0:R.rows)&&"object"===tr(R.rows)){K=s().cloneDeep(R.rows),D=!0,V=!1,G=void 0;try{for(q=Object.keys(K)[Symbol.iterator]();!(D=(z=q.next()).done);D=!0)if(H=K[z.value],Array.isArray(H)){for($=0;$<H.length;$++)if(L=H[$],Array.isArray(L))for(W=0;W<L.length;W++)L[W]===e.uid&&(L[W]=_.uid)}}catch(e){V=!0,G=e}finally{try{D||null==q.return||q.return()}finally{if(V)throw G}}O.setStepParams("gridSettings","grid",{rows:K,sizes:R.sizes||{}}),O.setProps("rows",K)}return _.sortIndex=B,[4,_.afterAddAsSubModel()];case 6:return Q.sent(),[3,9];case 7:return O.setSubModel(k,_),[4,_.afterAddAsSubModel()];case 8:Q.sent(),Q.label=9;case 9:return[4,_.save()];case 10:return Q.sent(),[4,O.saveStepParams()];case 11:Q.sent(),null==(C=e.context.message)||null==(N=C.success)||N.call(C,r("Replaced with template block")),Q.label=12;case 12:return[2]}})}),function(){return n.apply(this,arguments)}),T=(i=e7(function(){var t,n,r;return to(this,function(o){switch(o.label){case 0:if(p)return[2];o.label=1;case 1:return o.trys.push([1,3,4,5]),g(!0),[4,x()];case 2:return o.sent(),setTimeout(function(){h||(w(!0),y(),l.close())},0),[3,5];case 3:if(null==(t=o.sent())?void 0:t.errorFields)return[2];return console.error(t),null==(r=e.context.message)||null==(n=r.error)||n.call(r,e9(t,Error)?t.message:String(t)),[2];case 4:return h||g(!1),[7];case 5:return[2]}})}),function(){return i.apply(this,arguments)});return u().createElement(u().Fragment,null,u().createElement(S.Form,{form:c,layout:"vertical",initialValues:{name:tl(e.title),description:"",saveMode:"convert"}},u().createElement(S.Form.Item,{name:"name",label:u().createElement(S.Typography.Text,{strong:!0},r("Template name")),rules:[{required:!0,message:r("Template name is required")}]},u().createElement(S.Input,null)),u().createElement(S.Form.Item,{name:"description",label:u().createElement(S.Typography.Text,{strong:!0},r("Template description"))},u().createElement(S.Input.TextArea,{rows:3})),u().createElement(S.Form.Item,{name:"saveMode",label:u().createElement(S.Typography.Text,{strong:!0},r("Save mode"))},u().createElement(S.Radio.Group,null,u().createElement(S.Space,{direction:"vertical"},u().createElement(S.Radio,{value:"convert"},r("Convert current block to template"),u().createElement(S.Tooltip,{title:r("Convert current block to template description")},u().createElement(e3.QuestionCircleOutlined,{style:{marginLeft:4,color:"#999"}}))),u().createElement(S.Radio,{value:"duplicate"},r("Duplicate current block as template"),u().createElement(S.Tooltip,{title:r("Duplicate current block as template description")},u().createElement(e3.QuestionCircleOutlined,{style:{marginLeft:4,color:"#999"}}))))))),u().createElement(l.Footer,null,u().createElement(S.Space,{align:"end"},u().createElement(S.Button,{onClick:function(){y(),l.close()}},r("Cancel")),u().createElement(S.Button,{type:"primary",loading:p,disabled:p,onClick:T},r("Confirm")))))},[2,i.dialog({title:r("Save as template"),width:600,destroyOnClose:!0,content:function(e){return u().createElement(g,{currentDialog:e})},onClose:y})]):(null==(c=e.context.message)||null==(l=c.error)||l.call(c,"[block-reference] api/viewer is unavailable."),[2])})})).apply(this,arguments)}function tm(){return(tm=e7(function(e,t){var n,r,o,i,l,a,c,s,d,p;return to(this,function(t){return(r=h(e),null==(i=null==(o=e.constructor.globalFlowRegistry.getFlow("referenceSettings"))||null==(n=o.steps)?void 0:n.target)?void 0:i.beforeParamsSave)?(c=e.context.viewer)&&"function"==typeof c.dialog?tu.has(e)||(tu.add(e),p=function(){return tu.delete(e)},S.Modal.confirm({title:r("Are you sure to convert this template block to copy mode?"),icon:u().createElement(e3.ExclamationCircleFilled,null),content:r("Duplicate mode description"),okText:r("Confirm"),cancelText:r("Cancel"),onOk:e7(function(){var t,n,r,o;return to(this,function(l){switch(l.label){case 0:return l.trys.push([0,2,3,4]),t=tt(te({},e.getStepParams("referenceSettings","target")||{}),{mode:"copy"}),[4,i.beforeParamsSave({engine:e.flowEngine,model:e,exit:function(){}},t)];case 1:return l.sent(),[3,4];case 2:throw console.error(n=l.sent()),null==(o=e.context.message)||null==(r=o.error)||r.call(o,e9(n,Error)?n.message:String(n)),n;case 3:return p(),[7];case 4:return[2]}})}),onCancel:p})):null==(d=e.context.message)||null==(s=d.error)||s.call(d,"[block-reference] viewer is unavailable."):null==(a=e.context.message)||null==(l=a.error)||l.call(a,r("Convert reference to duplicate is unavailable")),[2]})})).apply(this,arguments)}function tv(){return(tv=e7(function(e,t){var n,r,o,i,l,a,c;return to(this,function(t){switch(t.label){case 0:var d;if(n=h(e),!(r=tp(e))||(o=r.grid,i=r.settings,l=e.context.viewer,tc.has(e)))return[2];if(tc.add(e),a=function(){return tc.delete(e)},d=e7(function(){var t,r,l,u,c,d,p,m,v,y,g,h,S,w,x,T,O,k,M,P,E,j,I,F;return to(this,function(N){switch(N.label){case 0:if(N.trys.push([0,13,14,15]),d=[],e.flowEngine.forEachModel(function(t){var n;t&&t.uid!==e.uid&&"grid"===t.subKey&&(null==(n=t.parent)?void 0:n.uid)===e.uid&&d.push(String(t.uid))}),p=i.targetUid,"subModels.grid"!==(m=(null==(t=i.targetPath)?void 0:t.trim())||"subModels.grid"))throw Error("[block-reference] Only 'subModels.grid' is supported (got '".concat(m,"')."));return[4,(0,f.createBlockScopedEngine)(e.flowEngine).loadModel({uid:p})];case 1:if(v=N.sent(),!(y=s().get(v,m)))throw Error(n("Target block is invalid"));return[4,e.flowEngine.duplicateModel(y.uid)];case 2:return g=N.sent(),[4,e.flowEngine.modelRepository.move(g.uid,o.uid,"after")];case 3:return N.sent(),h=e.flowEngine.createModel(tt(te({},g),{parentId:e.uid,subKey:"grid",subType:"object"})),e.setSubModel("grid",h),[4,h.afterAddAsSubModel()];case 4:N.sent(),S=function(e){var t=e.title||"",r=[n("Field template"),"Field template","字段模板","字段模板"].concat(b("Field template")).map(function(e){return e?String(e):""}).filter(Boolean).map(function(e){return s().escapeRegExp(e)}).join("|"),o=new RegExp("\\s*\\((".concat(r,")[::]?[^)]*\\)\\s*$"));if(o.test(t)){var i=t.replace(o,"").trim();e.setTitle(i||"")}},w=(null==e?void 0:e.isFork)&&e.master||e,S(e),S(w),null==w||null==(l=w.forks)||null==(r=l.forEach)||r.call(l,function(e){return e9(e,f.FlowModel)&&S(e)}),x=!0,T=!1,O=void 0,N.label=5;case 5:N.trys.push([5,10,11,12]),k=d[Symbol.iterator](),N.label=6;case 6:if(x=(M=k.next()).done)return[3,9];if(!((P=M.value)&&P!==h.uid))return[3,8];return[4,e.flowEngine.destroyModel(P)];case 7:N.sent(),N.label=8;case 8:return x=!0,[3,6];case 9:return[3,12];case 10:return E=N.sent(),T=!0,O=E,[3,12];case 11:try{x||null==k.return||k.return()}finally{if(T)throw O}return[7];case 12:return null==(c=e.context.message)||null==(u=c.success)||u.call(c,n("Saved")),[3,15];case 13:return console.error(j=N.sent()),null==(F=e.context.message)||null==(I=F.error)||I.call(F,e9(j,Error)?j.message:n("Convert reference to duplicate is unavailable")),[3,15];case 14:return a(),[7];case 15:return[2]}})}),c=function(){return d.apply(this,arguments)},!(!l||"function"!=typeof l.dialog))return[3,3];if(!window.confirm(n("Are you sure to convert referenced fields to copy mode?")))return[3,2];return[4,c()];case 1:t.sent(),t.label=2;case 2:return a(),[2];case 3:return S.Modal.confirm({title:n("Are you sure to convert referenced fields to copy mode?"),icon:u().createElement(e3.ExclamationCircleFilled,null),content:n("Duplicate mode description"),okText:n("Confirm"),cancelText:n("Cancel"),onOk:e7(function(){var t,n,r;return to(this,function(o){switch(o.label){case 0:return o.trys.push([0,2,3,4]),[4,c()];case 1:return o.sent(),[3,4];case 2:throw console.error(t=o.sent()),null==(r=e.context.message)||null==(n=r.error)||n.call(r,e9(t,Error)?t.message:String(t)),t;case 3:return a(),[7];case 4:return[2]}})}),onCancel:a}),[2]}})})).apply(this,arguments)}function ty(){return(ty=e7(function(e,t){var n,r,o,i,l,c,s,d,p,f,m,v,g,b,w,x,T,O,k,M,P,E,j,I,F,N,A,U,B,R,K,D,V,G,q;return to(this,function(t){switch(t.label){case 0:var z,H;if(i=e.context.api,l=e.context.viewer,c=h(e),s=function(t,n){var r,o=null==(r=e.context)?void 0:r.t;return"function"!=typeof o?c(t,n):o(t,te({ns:[y,"client"],nsMode:"fallback"},n||{}))},d=function(t,n){var r,o=null==(r=e.context)?void 0:r.t;return"function"!=typeof o?c(t,n):o(t,te({ns:["client"],nsMode:"fallback"},n||{}))},(p=(null==e?void 0:e.uid)||"")&&ts.has(p))return[2];if(p&&ts.add(p),f=function(){p&&ts.delete(p)},!(null==i?void 0:i.resource))return null==(v=e.context.message)||null==(m=v.error)||m.call(v,"[block-reference] api is unavailable."),f(),[2];if(!(g=null==(n=e.getFlow)?void 0:n.call(e,"popupSettings")))return null==(w=e.context.message)||null==(b=w.error)||b.call(w,s("Only Popup can be saved as popup template")),f(),[2];if(T=((null==(x=null==(r=e.context)?void 0:r.collectionField)?void 0:x.title)?tl(x.title):"")||tl(null==e||null==(o=e.getTitle)?void 0:o.call(e))||tl(null==e?void 0:e.title)||tl(e.uid),O=function(e){var t=(null==e?void 0:e.steps)||{};if(null==t?void 0:t.openView)return"openView";var n=Object.entries(t).find(function(e){var t=tn(e,2)[1];return(null==t?void 0:t.use)==="openView"});return null==n?void 0:n[0]},k=void 0!==e.getStepParams("popupSettings","openView")&&"openView"||O(g)||"openView",M=e.getStepParams("popupSettings",k)||{},P=function(e){if(null!=e)return String(e).trim()||void 0},E=function(){var t,n,r=(null==(n=e.context)||null==(t=n.collection)?void 0:t.filterTargetKey)||"id";return"{{ ctx.record.".concat(r," }}")},j=function(){if(P(null==M?void 0:M.associationName))return"{{ ctx.resource.sourceId }}";try{var t,n,r,o=null==(r=e.context)||null==(n=r.resource)||null==(t=n.getSourceId)?void 0:t.call(n);if(null!=o&&""!==String(o))return"{{ ctx.resource.sourceId }}"}catch(e){}},I=P(null==M?void 0:M.filterByTk)||E(),F=P(null==M?void 0:M.sourceId)||j(),N=function(e){var t=[null==e?void 0:e.uid,null==e||null==(i=e.data)?void 0:i.uid,null==e||null==(a=e.data)||null==(l=a.data)?void 0:l.uid,null==e||null==(s=e.data)||null==(c=s.data)||null==(u=c.data)?void 0:u.uid,null==e||null==(m=e.data)||null==(f=m.data)||null==(p=f.data)||null==(d=p.data)?void 0:d.uid],n=!0,r=!1,o=void 0;try{for(var i,l,a,u,c,s,d,p,f,m,v,y=t[Symbol.iterator]();!(n=(v=y.next()).done);n=!0){var g=v.value,b=P(g);if(b)return b}}catch(e){r=!0,o=e}finally{try{n||null==y.return||y.return()}finally{if(r)throw o}}},z=e7(function(){var t,n,r,o;return to(this,function(i){switch(i.label){case 0:return[4,null==(n=e.flowEngine)||null==(t=n.duplicateModel)?void 0:t.call(n,e.uid)];case 1:if(r=i.sent(),!(o=N(r)))throw Error(s("Failed to duplicate pop-up"));return[2,o]}})}),A=function(){return z.apply(this,arguments)},H=e7(function(t){var n;return to(this,function(r){switch(r.label){case 0:return n={name:t.name,description:t.description,targetUid:t.targetUid,useModel:e.use,type:"popup",dataSourceKey:null==M?void 0:M.dataSourceKey,collectionName:null==M?void 0:M.collectionName,associationName:null==M?void 0:M.associationName,filterByTk:I,sourceId:F},[4,i.resource("flowModelTemplates").create({values:n})];case 1:return[2,ti(r.sent())]}})}),U=function(e){return H.apply(this,arguments)},!(!l||"function"!=typeof l.dialog))return[3,7];t.label=1;case 1:if(t.trys.push([1,4,5,6]),!(K=tl(window.prompt(s("Template name"),T||"")||"")))return[2];return[4,A()];case 2:return D=t.sent(),[4,U({name:K,targetUid:D})];case 3:return t.sent(),null==(R=e.context.message)||null==(B=R.success)||B.call(R,s("Saved")),[3,6];case 4:return console.error(V=t.sent()),null==(q=e.context.message)||null==(G=q.error)||G.call(q,e9(V,Error)?V.message:String(V)),[3,6];case 5:return f(),[7];case 6:return[2];case 7:return l.dialog({title:s("Save as template"),width:520,destroyOnClose:!0,content:function(t){return u().createElement(function(){var n,r=tn(S.Form.useForm(),1)[0],o=tn((0,a.useState)(!1),2),i=o[0],l=o[1],c=(n=e7(function(){var n,o,i,a,u,c,d,p,f,m,v,y,g,b,h;return to(this,function(S){switch(S.label){case 0:return[4,r.validateFields()];case 1:if(!(o=tl(null==(n=S.sent())?void 0:n.name)))return null==(a=e.context.message)||null==(i=a.error)||i.call(a,s("Template name is required")),[2];l(!0),S.label=2;case 2:return S.trys.push([2,7,8,9]),[4,A()];case 3:return d=S.sent(),[4,U({name:o,description:tl(null==n?void 0:n.description)||void 0,targetUid:d})];case 4:if(p=S.sent(),f=N(p),!((null==n?void 0:n.saveMode)==="convert"&&f))return[3,6];return(m=te({},M||{})).uid=d,m.popupTemplateUid=f,delete m.popupTemplateContext,(y=_(C(function(t){var n,r;return null==(r=e.flowEngine)||null==(n=r.getModelClass)?void 0:n.call(r,t)},null==(v=null==e?void 0:e.constructor)?void 0:v.name),null==M?void 0:M.filterByTk,null==M?void 0:M.sourceId)).hasFilterByTk?!P(m.filterByTk)&&I&&(m.filterByTk=I):"filterByTk"in m&&delete m.filterByTk,y.hasSourceId?!P(m.sourceId)&&F&&(m.sourceId=F):"sourceId"in m&&delete m.sourceId,m.popupTemplateHasFilterByTk=y.hasFilterByTk,m.popupTemplateHasSourceId=y.hasSourceId,e.setStepParams("popupSettings",e8({},k,m)),[4,e.saveStepParams()];case 5:S.sent(),S.label=6;case 6:return null==(c=e.context.message)||null==(u=c.success)||u.call(c,s("Saved")),t.close(),[3,9];case 7:return console.error(g=S.sent()),null==(h=e.context.message)||null==(b=h.error)||b.call(h,e9(g,Error)?g.message:String(g)),[3,9];case 8:return l(!1),[7];case 9:return[2]}})}),function(){return n.apply(this,arguments)});return u().createElement(u().Fragment,null,u().createElement(S.Form,{form:r,layout:"vertical",initialValues:{name:T,description:"",saveMode:"convert"}},u().createElement(S.Form.Item,{name:"name",label:s("Template name"),rules:[{required:!0,message:s("Template name is required")}]},u().createElement(S.Input,{autoFocus:!0})),u().createElement(S.Form.Item,{name:"description",label:s("Template description")},u().createElement(S.Input.TextArea,{rows:3})),u().createElement(S.Form.Item,{name:"saveMode",label:u().createElement(S.Typography.Text,{strong:!0},s("Save mode"))},u().createElement(S.Radio.Group,null,u().createElement(S.Space,{direction:"vertical"},u().createElement(S.Radio,{value:"convert"},s("Convert current popup to template"),u().createElement(S.Tooltip,{title:s("Convert current popup to template description")},u().createElement(e3.QuestionCircleOutlined,{style:{marginLeft:4,color:"#999"}}))),u().createElement(S.Radio,{value:"duplicate"},s("Duplicate current popup as template"),u().createElement(S.Tooltip,{title:s("Duplicate current popup as template description")},u().createElement(e3.QuestionCircleOutlined,{style:{marginLeft:4,color:"#999"}}))))))),u().createElement(t.Footer,null,u().createElement(S.Space,{align:"end"},u().createElement(S.Button,{onClick:function(){t.close()}},d("Cancel")),u().createElement(S.Button,{type:"primary",loading:i,onClick:c},d("Confirm")))))},null)},onClose:f}),[2]}})})).apply(this,arguments)}function tg(){return(tg=e7(function(e,t){var n,r,o,i,l,a,c,s,d,p,f,m,v,g,b,w,x,T,O,M,P,E;return to(this,function(t){switch(t.label){case 0:var j,I;if(r=e.context.api,o=e.context.viewer,i=h(e),l=function(t,n){var r,o=null==(r=e.context)?void 0:r.t;return"function"!=typeof o?i(t,n):o(t,te({ns:[y,"client"],nsMode:"fallback"},n||{}))},a=function(t,n){var r,o=null==(r=e.context)?void 0:r.t;return"function"!=typeof o?i(t,n):o(t,te({ns:["client"],nsMode:"fallback"},n||{}))},(c=(null==e?void 0:e.uid)||"")&&td.has(c))return[2];if(c&&td.add(c),s=function(){c&&td.delete(c)},!(d=null==(n=e.getFlow)?void 0:n.call(e,"popupSettings")))return null==(f=e.context.message)||null==(p=f.error)||p.call(f,l("Only Popup can be saved as popup template")),s(),[2];if(m=function(e){var t=(null==e?void 0:e.steps)||{};if(null==t?void 0:t.openView)return"openView";var n=Object.entries(t).find(function(e){var t=tn(e,2)[1];return(null==t?void 0:t.use)==="openView"});return null==n?void 0:n[0]},v=void 0!==e.getStepParams("popupSettings","openView")&&"openView"||m(d)||"openView",!(b="string"==typeof(null==(g=e.getStepParams("popupSettings",v)||{})?void 0:g.popupTemplateUid)?g.popupTemplateUid.trim():""))return null==(x=e.context.message)||null==(w=x.error)||w.call(x,l("This pop-up is not using a popup template")),s(),[2];if(T=function(e){var t,n,r;return null!=(r=null!=(n=null==e||null==(t=e.data)?void 0:t.data)?n:null==e?void 0:e.data)?r:e},j=e7(function(){var e;return to(this,function(t){switch(t.label){case 0:if(!(null==r?void 0:r.resource))return[2,null];return[4,r.resource("flowModelTemplates").get({filterByTk:b})];case 1:return[2,(e=T(t.sent()))&&(void 0===e?"undefined":tr(e))==="object"?e:null]}})}),I=e7(function(){var t,n,r,o,i,a,u,c,s,d,p;return to(this,function(f){switch(f.label){case 0:return[4,function(){return j.apply(this,arguments)}()];case 1:if(!(u=k(null==(a=f.sent())?void 0:a.targetUid)||k(null==g?void 0:g.uid)))throw Error(l("Popup template not found"));return[4,e.flowEngine.duplicateModel(u)];case 2:var m;if(!(s=(null==(c=f.sent())?void 0:c.uid)||(null==c||null==(t=c.data)?void 0:t.uid)||(null==c||null==(r=c.data)||null==(n=r.data)?void 0:n.uid)))throw Error(l("Failed to copy popup from template"));return d=a?_(C(function(t){var n,r;return null==(r=e.flowEngine)||null==(n=r.getModelClass)?void 0:n.call(r,t)},null==(m=a)?void 0:m.useModel),null==m?void 0:m.filterByTk,null==m?void 0:m.sourceId):{hasFilterByTk:"boolean"==typeof(null==g?void 0:g.popupTemplateHasFilterByTk)&&g.popupTemplateHasFilterByTk,hasSourceId:"boolean"==typeof(null==g?void 0:g.popupTemplateHasSourceId)&&g.popupTemplateHasSourceId,confidentFilterByTk:!1,confidentSourceId:!1},p=tt(te({},g||{}),{uid:s}),delete p.popupTemplateUid,p.popupTemplateContext=!0,p.popupTemplateHasFilterByTk=d.hasFilterByTk,p.popupTemplateHasSourceId=d.hasSourceId,!d.hasFilterByTk&&"filterByTk"in p&&delete p.filterByTk,!d.hasSourceId&&"sourceId"in p&&delete p.sourceId,e.setStepParams("popupSettings",e8({},v,p)),[4,e.saveStepParams()];case 3:return f.sent(),null==(i=e.context.message)||null==(o=i.success)||o.call(i,l("Converted")),[2]}})}),O=function(){return I.apply(this,arguments)},!(!o||"function"!=typeof o.dialog))return[3,5];if(!window.confirm(l("Are you sure to convert this pop-up to copy mode?")))return[3,4];t.label=1;case 1:return t.trys.push([1,3,,4]),[4,O()];case 2:return t.sent(),[3,4];case 3:return console.error(M=t.sent()),null==(E=e.context.message)||null==(P=E.error)||P.call(E,e9(M,Error)?M.message:String(M)),[3,4];case 4:return s(),[2];case 5:return S.Modal.confirm({title:l("Are you sure to convert this pop-up to copy mode?"),icon:u().createElement(e3.ExclamationCircleFilled,null),content:l("Duplicate mode description"),okText:a("Confirm"),cancelText:a("Cancel"),onOk:e7(function(){var t,n,r;return to(this,function(o){switch(o.label){case 0:return o.trys.push([0,2,3,4]),[4,O()];case 1:return o.sent(),[3,4];case 2:throw console.error(t=o.sent()),null==(r=e.context.message)||null==(n=r.error)||n.call(r,e9(t,Error)?t.message:String(t)),t;case 3:return s(),[7];case 4:return[2]}})}),onCancel:s}),[2]}})})).apply(this,arguments)}function tb(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 th(e,t,n,r,o,i,l){try{var a=e[i](l),u=a.value}catch(e){n(e);return}a.done?t(u):Promise.resolve(u).then(r,o)}function tS(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var i=e.apply(t,n);function l(e){th(i,r,o,l,a,"next",e)}function a(e){th(i,r,o,l,a,"throw",e)}l(void 0)})}}function tw(e,t){var n,r,o,i,l={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function a(i){return function(a){var u=[i,a];if(n)throw TypeError("Generator is already executing.");for(;l;)try{if(n=1,r&&(o=2&u[0]?r.return:u[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,u[1])).done)return o;switch(r=0,o&&(u=[2&u[0],o.value]),u[0]){case 0:case 1:o=u;break;case 4:return l.label++,{value:u[1],done:!1};case 5:l.label++,r=u[1],u=[0];continue;case 7:u=l.ops.pop(),l.trys.pop();continue;default:if(!(o=(o=l.trys).length>0&&o[o.length-1])&&(6===u[0]||2===u[0])){l=0;continue}if(3===u[0]&&(!o||u[1]>o[0]&&u[1]<o[3])){l.label=u[1];break}if(6===u[0]&&l.label<o[1]){l.label=o[1],o=u;break}if(o&&l.label<o[2]){l.label=o[2],l.ops.push(u);break}o[2]&&l.ops.pop(),l.trys.pop();continue}u=t.call(e,l)}catch(e){u=[6,e],r=0}finally{n=o=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}}function tx(e){for(var t=e,n=0;t&&n<6;){var r=null==t?void 0:t.use;if("CreateFormModel"===r||"EditFormModel"===r)return t;t=null==t?void 0:t.parent,n++}}function tT(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 tO(e,t,n,r,o,i,l){try{var a=e[i](l),u=a.value}catch(e){n(e);return}a.done?t(u):Promise.resolve(u).then(r,o)}function tk(e){return function(){var t=this,n=arguments;return new Promise(function(r,o){var i=e.apply(t,n);function l(e){tO(i,r,o,l,a,"next",e)}function a(e){tO(i,r,o,l,a,"throw",e)}l(void 0)})}}function tM(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function tP(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){tM(e,t,n[t])})}return e}function tE(e,t){return t=null!=t?t:{},Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(t)):(function(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n.push.apply(n,r)}return n})(Object(t)).forEach(function(n){Object.defineProperty(e,n,Object.getOwnPropertyDescriptor(t,n))}),e}function tj(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n,r,o=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var i=[],l=!0,a=!1;try{for(o=o.call(e);!(l=(n=o.next()).done)&&(i.push(n.value),!t||i.length!==t);l=!0);}catch(e){a=!0,r=e}finally{try{l||null==o.return||o.return()}finally{if(a)throw r}}return i}}(e,t)||tN(e,t)||function(){throw TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function tI(e){return function(e){if(Array.isArray(e))return tT(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||tN(e)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function tF(e){return e&&"undefined"!=typeof Symbol&&e.constructor===Symbol?"symbol":typeof e}function tN(e,t){if(e){if("string"==typeof e)return tT(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return tT(e,t)}}function tC(e,t){var n,r,o,i,l={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function a(i){return function(a){var u=[i,a];if(n)throw TypeError("Generator is already executing.");for(;l;)try{if(n=1,r&&(o=2&u[0]?r.return:u[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,u[1])).done)return o;switch(r=0,o&&(u=[2&u[0],o.value]),u[0]){case 0:case 1:o=u;break;case 4:return l.label++,{value:u[1],done:!1};case 5:l.label++,r=u[1],u=[0];continue;case 7:u=l.ops.pop(),l.trys.pop();continue;default:if(!(o=(o=l.trys).length>0&&o[o.length-1])&&(6===u[0]||2===u[0])){l=0;continue}if(3===u[0]&&(!o||u[1]>o[0]&&u[1]<o[3])){l.label=u[1];break}if(6===u[0]&&l.label<o[1]){l.label=o[1],o=u;break}if(o&&l.label<o[2]){l.label=o[2],l.ops.push(u);break}o[2]&&l.ops.pop(),l.trys.pop();continue}u=t.call(e,l)}catch(e){u=[6,e],r=0}finally{n=o=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}}var t_=function(e){var t;return!!(null==e||null==(t=e.isAssociationField)?void 0:t.call(e))},tA=function(e,t){var n,r=null==e?void 0:e.engine;return _(C(null==r||null==(n=r.getModelClass)?void 0:n.bind(r),null==t?void 0:t.useModel),null==t?void 0:t.filterByTk,null==t?void 0:t.sourceId)},tU=function(e){var t,n,r=null==e?void 0:e.collectionField,o=null==e||null==(n=e.model)||null==(t=n.parent)?void 0:t.associationPathName,i=null==e?void 0:e.blockModel,l=(null==e?void 0:e.collection)||(null==i?void 0:i.collection),a=!t_(r)&&o&&"function"==typeof(null==l?void 0:l.getFieldByPath)?l.getFieldByPath(o):void 0,u=t_(r)?r:a;return t_(u)?u:void 0},tB=function(e,t){var n,r,o=tU(e);if(o){var i="target"===t?null==o?void 0:o.targetCollection:(null==o?void 0:o.collection)||(null==e||null==(n=e.blockModel)?void 0:n.collection)||(null==e?void 0:e.collection),l=k(null==i?void 0:i.dataSourceKey),a=k(null==i?void 0:i.name);if(l&&a){var u,c,s=k(null==o?void 0:o.resourceName)||(u=k("target"===t?null==o||null==(r=o.collection)?void 0:r.name:null==i?void 0:i.name),c=k(null==o?void 0:o.name),u&&c?"".concat(u,".").concat(c):"");return s?{dataSourceKey:l,collectionName:a,associationName:s}:{dataSourceKey:l,collectionName:a}}}},tR=function(e,t,n){if(t&&(void 0===t?"undefined":tF(t))==="object"){var r=k(null==t?void 0:t.dataSourceKey),o=k(null==t?void 0:t.collectionName),i=k(null==t?void 0:t.associationName);if(r||o||i){var l="",a="";try{var u=null==e?void 0:e.collection;l=k(null==u?void 0:u.dataSourceKey),a=k(null==u?void 0:u.name)}catch(e){}var c={dataSourceKey:r||l,collectionName:o||a,associationName:i},s="target"===n?I(e,c):i?F(c):void 0;if(s)return tP({},s,i?{associationName:i}:{});if(c.dataSourceKey&&c.collectionName)return tP({dataSourceKey:c.dataSourceKey,collectionName:c.collectionName},i?{associationName:i}:{})}}},tK=function(e,t){var n=t&&(void 0===t?"undefined":tF(t))==="object"?k(null==t?void 0:t.associationName):"",r=tR(e,t,"target");if(n&&r)return r;var o=tB(e,"target");if(null==o?void 0:o.associationName)return o;var i=N(e,null==e?void 0:e.model,{includeAssociationName:!0,fallbackCollectionFromCtx:!0});return(null==i?void 0:i.associationName)?i:r||i||{}},tD=function(e,t){var n=t&&(void 0===t?"undefined":tF(t))==="object"?k(null==t?void 0:t.associationName):"",r=tR(e,t,"base");if(n&&r)return r;var o=tB(e,"source");if(o)return o;if(r)return r;for(var i=null==e?void 0:e.model,l=0;i&&l<8;){var a,u=(null==i||null==(a=i.getStepParams)?void 0:a.call(i,"resourceSettings","init"))||{},c=k(null==u?void 0:u.associationName),s=k(null==u?void 0:u.dataSourceKey),d=k(null==u?void 0:u.collectionName);try{var p=(null==i?void 0:i.collection)||(null==e?void 0:e.collection);s=s||k(null==p?void 0:p.dataSourceKey),d=d||k(null==p?void 0:p.name)}catch(e){}if(c&&s){var f=F({dataSourceKey:s,collectionName:d,associationName:c});if(f)return tE(tP({},f),{associationName:c})}if(s&&d)return tP({dataSourceKey:s,collectionName:d},c?{associationName:c}:{});i=null==i?void 0:i.parent,l++}return{}},tV=(e=tk(function(e,t,n,r,o){var i,l,a,u,c,s,d,p,f,m,v,y,g;return tC(this,function(r){return(m=C(null==(f=null==e?void 0:e.engine)||null==(i=f.getModelClass)?void 0:i.bind(f),k(null==e||null==(l=e.model)?void 0:l.use)||k(null==e||null==(u=e.model)||null==(a=u.constructor)?void 0:a.name)),v=tA(e,t),y=A(e,t,n,{associationMatch:"exactIfTemplateHasAssociationName"}))?[2,y]:(null==v?void 0:v.hasFilterByTk)?"collection"===m?[2,j(e,"Cannot resolve template parameter {{param}}",{param:"filterByTk"})]:"record"===m||"both"===m||!k(null==n?void 0:n.associationName)||k(null==o?void 0:o.filterByTk)||(Array.isArray(null==o?void 0:o.defaultInputKeys)?o.defaultInputKeys:[]).some(function(e){return"filterByTk"===String(e)})||(g=!!((null==(c=e.inputArgs)?void 0:c.filterByTk)||(null==(d=e.view)||null==(s=d.inputArgs)?void 0:s.filterByTk)),(null==(p=e.model.forks)?void 0:p.size)>0&&(g=!!tI(e.model.forks)[0].context.record),g)?[2,void 0]:[2,j(e,"Cannot resolve template parameter {{param}}",{param:"filterByTk"})]:[2,void 0]})}),function(t,n,r,o,i){return e.apply(this,arguments)}),tG="__popupTemplateFilterByTk__",tq=function(e){return null!=e&&e!==tG&&("string"==typeof e?""!==e.trim():Array.isArray(e)?e.length>0:(void 0===e?"undefined":tF(e))!=="object"||Object.keys(e).length>0)},tz=function(e,t){if(!t)return null;var n=k(null==t||null==(a=t.targetCollection)?void 0:a.filterTargetKey)||"id",r=k(null==t?void 0:t.targetKey),o=k(null==t?void 0:t.name),i=k(null==t?void 0:t.foreignKey),l=(null==e?void 0:e.record)||(null==e||null==(u=e.inputArgs)?void 0:u.record)||(null==e||null==(d=e.view)||null==(c=d.inputArgs)?void 0:c.record);if(l){var a,u,c,d,p,f,m,v,y,g=l[o];if(o&&g&&(v=s().isArray(g)?s().find(g,tM({},r,null==(y=e.inputArgs)?void 0:y.filterByTk)):g)&&(m=v[n]),!m&&i){var b=l[i];tq(b)&&(m=b)}}var h=null==e||null==(p=e.inputArgs)?void 0:p.filterByTk;return!m&&tq(h)&&(m=h),{targetFilterKey:n,associationTargetKey:r,filterTargetKeyValue:f,associationTargetKeyValue:m}},tH=function(e){if(!e||(void 0===e?"undefined":tF(e))!=="object")return e;var t=tP({},e);delete t.popupTemplateUid,delete t.popupTemplateContext,delete t.popupTemplateHasFilterByTk,delete t.popupTemplateHasSourceId;var n=function(e){return null==e||("string"==typeof e?""===e.trim():Array.isArray(e)?0===e.length:(void 0===e?"undefined":tF(e))==="object"&&0===Object.keys(e).length)};return n(t.filterByTk)&&delete t.filterByTk,n(t.sourceId)&&delete t.sourceId,t},t$=(t=tk(function(e,t){var n,r,o,i,l,a,u,c,s,d,p,m,v,y,g,b,h,S;return tC(this,function(w){switch(w.label){case 0:return r=tP({},e.inputArgs||{}),void 0!==(null==t?void 0:t.dataSourceKey)&&(r.dataSourceKey="string"==typeof t.dataSourceKey?t.dataSourceKey.trim():t.dataSourceKey),void 0!==(null==t?void 0:t.collectionName)&&(r.collectionName="string"==typeof t.collectionName?t.collectionName.trim():t.collectionName),(o="string"==typeof(null==t?void 0:t.associationName)?t.associationName.trim():"")?r.associationName=o:delete r.associationName,i=!o,l="boolean"==typeof t.popupTemplateHasFilterByTk?t.popupTemplateHasFilterByTk:tq(null==t?void 0:t.filterByTk),a="boolean"==typeof t.popupTemplateHasSourceId?t.popupTemplateHasSourceId:""!==k(t.sourceId),c=k(null==(u=tU(e))||null==(n=u.targetCollection)?void 0:n.name),s=k(null==t?void 0:t.collectionName),d=i&&!!c&&!!s&&c===s,p=!1,m=!1,l||(r.filterByTk=null,p=!0),l&&!p&&d&&((v=tz(e,u))&&tq(v.filterTargetKeyValue)&&(r.filterByTk=v.filterTargetKeyValue,p=!0),v&&!p&&tq(v.associationTargetKeyValue)&&(r.filterByTk=v.associationTargetKeyValue,p=!0)),l&&!p&&(tq(r.filterByTk)||(r.filterByTk=tq(b=null==e||null==(g=e.view)||null==(y=g.inputArgs)?void 0:y.filterByTk)?b:tG,p=!0)),a||(r.sourceId=null,m=!0),Array.isArray(r.defaultInputKeys)&&(p||m)&&(h=new Set(tI(p?["filterByTk"]:[]).concat(tI(m?["sourceId"]:[]))),(S=r.defaultInputKeys.filter(function(e){return!h.has(String(e))})).length>0?r.defaultInputKeys=S:delete r.defaultInputKeys),[4,(0,f.createEphemeralContext)(e,{defineProperties:{inputArgs:{value:r}}})];case 1:return[2,w.sent()]}})}),function(e,n){return t.apply(this,arguments)}),tL=(n=tk(function(e,t,n){var r,o,i,l;return tC(this,function(a){switch(a.label){case 0:if(!(null==(r=null==e?void 0:e.api)?void 0:r.resource))return[2,{rows:[]}];return o=Math.max(1,Number((null==n?void 0:n.page)||1)),i=Math.max(1,Number((null==n?void 0:n.pageSize)||20)),[4,r.resource("flowModelTemplates").list({page:o,pageSize:i,search:t||void 0,filter:{type:"popup"}})];case 1:return[2,{rows:(l=P(a.sent())).rows,count:l.count}]}})}),function(e,t,r){return n.apply(this,arguments)}),tW=(r=tk(function(e,t){var n,r,o;return tC(this,function(i){switch(i.label){case 0:if(!(null==(r=null==e?void 0:e.api)?void 0:r.resource))return[2,null];return[4,r.resource("flowModelTemplates").get({filterByTk:t})];case 1:if(!(o=null==(n=i.sent().data)?void 0:n.data))return[2,null];return[2,o]}})}),function(e,t){return r.apply(this,arguments)}),tQ=new WeakMap,tJ=new Map,tZ=function(e){var t=null==e?void 0:e.engine;if(t&&(void 0===t?"undefined":tF(t))==="object"){var n=tQ.get(t);return n||(n=new Map,tQ.set(t,n)),n}return tJ},tX=(o=tk(function(e,t){var n,r,o;return tC(this,function(i){return(n="string"==typeof t?t.trim():"")?(r=tZ(e)).has(n)?[2,r.get(n)]:(o=tk(function(){var t;return tC(this,function(r){switch(r.label){case 0:return r.trys.push([0,2,,3]),[4,tW(e,n)];case 1:if(!(t=r.sent()))return[2,null];return[2,tE(tP({},tA(e,t)),{tpl:t})];case 2:return console.error("[block-reference] getPopupTemplateMeta failed:",r.sent()),[2,null];case 3:return[2]}})})(),r.set(n,o),[2,o]):[2,null]})}),function(e,t){return o.apply(this,arguments)});function tY(e){var t,n,r,o,i,l,c,s,d,p=e.value,m=e.onChange,v=(0,f.useFlowSettingsContext)(),y=(0,eH.useForm)(),g=(0,a.useMemo)(function(){return tK(v,null==y?void 0:y.values)},[v,null==y||null==(o=y.values)?void 0:o.dataSourceKey,null==y||null==(i=y.values)?void 0:i.collectionName,null==y||null==(l=y.values)?void 0:l.associationName]),b=(0,a.useMemo)(function(){return tD(v,null==y?void 0:y.values)},[v,null==y||null==(c=y.values)?void 0:c.dataSourceKey,null==y||null==(s=y.values)?void 0:s.collectionName,null==y||null==(d=y.values)?void 0:d.associationName]),h=tj((0,a.useState)([]),2),T=h[0],O=h[1],k=tj((0,a.useState)(!1),2),M=k[0],P=k[1],I=tj((0,a.useState)(!1),2),F=I[0],N=I[1],C=tj((0,a.useState)(0),2),_=C[0],A=C[1],U=tj((0,a.useState)(""),2),R=U[0],K=U[1],D=tj((0,a.useState)(!0),2),V=D[0],G=D[1],q=(0,a.useRef)(null),H=(0,a.useRef)(!1),$=(0,a.useRef)(0),L=(0,a.useRef)(!1),W=(0,a.useCallback)(function(e,t){return j(v,e,t)},[v]),Q=(0,a.useCallback)((t=tk(function(e){var t,n,r;return tC(this,function(o){switch(o.label){case 0:return t=(null==e?void 0:e.name)||(null==e?void 0:e.uid)||"",n=null==e?void 0:e.description,[4,tV(v,e,g,b,null==y?void 0:y.values)];case 1:return r=o.sent(),[2,{label:w(t),value:e.uid,raw:e,description:n,disabled:!!r,disabledReason:r,rawName:t}]}})}),function(e){return t.apply(this,arguments)}),[v,g,b,y]),J=(0,a.useCallback)((n=tk(function(e){var t,n,r,o,i,l,a;return tC(this,function(u){switch(u.label){case 0:t=("string"==typeof e?e:"").trim(),n=$.current+1,$.current=n,L.current=!1,K(t),A(0),G(!0),P(!0),u.label=1;case 1:return u.trys.push([1,4,5,6]),[4,tL(v,t,{page:1,pageSize:20})];case 2:var c;return o=(r=u.sent()).rows,i=r.count,l=o.length,[4,Promise.all(o.map((c=tk(function(e,t){var n;return tC(this,function(r){switch(r.label){case 0:return n=[{}],[4,Q(e)];case 1:return[2,tE.apply(void 0,[tP.apply(void 0,n.concat([r.sent()])),{__idx:t}])]}})}),function(e,t){return c.apply(this,arguments)})))];case 3:if(a=u.sent(),$.current!==n)return[2];return O(z([],a)),A(1),G(E({page:1,pageSize:20,rowsLength:l,count:i})),[3,6];case 4:if(console.error("fetch popup template options failed",u.sent()),$.current!==n)return[2];return O([]),A(1),G(!1),[3,6];case 5:return $.current===n&&P(!1),[7];case 6:return[2]}})}),function(e){return n.apply(this,arguments)}),[v,Q]),Z=(0,a.useCallback)(tk(function(){var e,t,n,r,o,i,l;return tC(this,function(a){switch(a.label){case 0:if(L.current||M||!V)return[2];e=$.current,t=Math.max(1,_||1)+1,L.current=!0,P(!0),a.label=1;case 1:return a.trys.push([1,4,5,6]),[4,tL(v,R,{page:t,pageSize:20})];case 2:var u;return r=(n=a.sent()).rows,o=n.count,i=r.length,[4,Promise.all(r.map((u=tk(function(e,n){var r;return tC(this,function(o){switch(o.label){case 0:return r=[{}],[4,Q(e)];case 1:return[2,tE.apply(void 0,[tP.apply(void 0,r.concat([o.sent()])),{__idx:(t-1)*20+n}])]}})}),function(e,t){return u.apply(this,arguments)})))];case 3:if(l=a.sent(),$.current!==e)return[2];return O(function(e){return z(e||[],l)}),A(t),G(E({page:t,pageSize:20,rowsLength:i,count:o})),[3,6];case 4:if(console.error("fetch more popup templates failed",a.sent()),$.current!==e)return[2];return G(!1),[3,6];case 5:return L.current=!1,$.current===e&&P(!1),[7];case 6:return[2]}})}),[v,V,R,M,_,Q]);(0,a.useEffect)(function(){var e,t=!0;return(e=tk(function(){var e,n,r;return tC(this,function(o){switch(o.label){case 0:if(!(e="string"==typeof p?p.trim():"")||T.some(function(t){return t.value===e}))return[2];o.label=1;case 1:return o.trys.push([1,4,,5]),[4,tW(v,e)];case 2:if(n=o.sent(),!t||!(null==n?void 0:n.uid))return[2];return[4,Q(n)];case 3:return r=o.sent(),O(function(e){return z(e||[],[tE(tP({},r),{__idx:-1})])}),[3,5];case 4:return o.sent(),[3,5];case 5:return[2]}})}),function(){return e.apply(this,arguments)})(),function(){t=!1}},[v,T,Q,p]);var X=(0,a.useCallback)(function(e,t){try{y.setValuesIn(e,t)}catch(e){console.error(e)}},[y]),Y=(0,a.useCallback)((r=tk(function(e){var t,n,r,o,i,l,a,u,c,s,d,p;return tC(this,function(f){switch(f.label){case 0:if(!(t="string"==typeof e?e.trim():""))return null==m||m(void 0),[2];null==m||m(t),f.label=1;case 1:return f.trys.push([1,3,4,5]),N(!0),[4,tW(v,t)];case 2:if((i=null==(o=f.sent())?void 0:o.targetUid)&&X("uid",i),l=function(e){return null!=e&&("string"!=typeof e||""!==e.trim())},["dataSourceKey","collectionName","filterByTk","sourceId"].forEach(function(e){var t=null==o?void 0:o[e];l(t)&&X(e,t)}),l(a="string"==typeof(null==o?void 0:o.associationName)?String(o.associationName):"")&&X("associationName",a),l(null==o?void 0:o.filterByTk)||l(null==(n=y.values)?void 0:n.filterByTk)||(c=(null==v||null==(u=v.collection)?void 0:u.filterTargetKey)||"id",X("filterByTk","{{ ctx.record.".concat(c," }}"))),!l(null==o?void 0:o.sourceId)&&!l(null==(r=y.values)?void 0:r.sourceId))try{null!=(p=null==v||null==(d=v.resource)||null==(s=d.getSourceId)?void 0:s.call(d))&&""!==String(p)&&X("sourceId","{{ ctx.resource.sourceId }}")}catch(e){}return[3,5];case 3:return console.error("load popup template failed",f.sent()),[3,5];case 4:return N(!1),[7];case 5:return[2]}})}),function(e){return r.apply(this,arguments)}),[v,y.values,m,X]),ee=(0,a.useMemo)(function(){return B()(function(e){return J(e)},300)},[J]);return(0,a.useEffect)(function(){return function(){ee.cancel()}},[ee]),(0,a.useEffect)(function(){var e=null,t=function(){H.current=!0},n=function(){H.current=!1,setTimeout(function(){var t=null==e?void 0:e.value,n="string"==typeof t?t.trim():"";n&&ee(n)},0)},r=setTimeout(function(){var r,o,i,l=null==(o=q.current)?void 0:o.nativeElement,a=null==l||null==(i=l.querySelector)?void 0:i.call(l,"input.ant-select-selection-search-input");(null!=(r=HTMLInputElement)&&"undefined"!=typeof Symbol&&r[Symbol.hasInstance]?!!r[Symbol.hasInstance](a):a instanceof r)&&((e=a).addEventListener("compositionstart",t),e.addEventListener("compositionend",n))},100);return function(){clearTimeout(r),e&&(e.removeEventListener("compositionstart",t),e.removeEventListener("compositionend",n))}},[ee]),u().createElement(S.Select,{ref:q,showSearch:!0,allowClear:!0,filterOption:!1,optionLabelProp:"label",placeholder:W("Select popup template"),loading:M||F,options:T,value:p,onChange:Y,onDropdownVisibleChange:function(e){e&&J("")},onSearch:function(e){H.current||ee("string"==typeof e?e.trim():"")},onPopupScroll:function(e){var t=null==e?void 0:e.target;t&&(t.scrollTop+t.clientHeight<t.scrollHeight-24||Z())},dropdownMatchSelectWidth:!0,dropdownStyle:{maxWidth:560},getPopupContainer:function(){return document.body},optionRender:x})}var t0=(i=tk(function(e,t){var n,r,o,i,l,a,u,c,s,d;return tC(this,function(p){switch(p.label){case 0:if(!(n="string"==typeof(null==t?void 0:t.popupTemplateUid)?t.popupTemplateUid.trim():""))return[2];return[4,tW(e,n)];case 1:if(!(null==(r=p.sent())?void 0:r.targetUid))throw Error(j(e,"Popup template not found"));return o=tK(e,t),i=tD(e,t),[4,tV(e,r,o,i,t)];case 2:if(l=p.sent())throw Error(l);return t.uid=r.targetUid,a=k(null==r?void 0:r.dataSourceKey),u=k(null==r?void 0:r.collectionName),c=k(null==r?void 0:r.associationName),a&&(t.dataSourceKey=a),u&&(t.collectionName=u),c?t.associationName=c:t&&(void 0===t?"undefined":tF(t))==="object"&&"associationName"in t&&delete t.associationName,t.popupTemplateHasFilterByTk=(s=tA(e,r)).hasFilterByTk,t.popupTemplateHasSourceId=s.hasSourceId,(d=function(e,n){if(!n){t&&(void 0===t?"undefined":tF(t))==="object"&&e in t&&delete t[e];return}var o=k(null==r?void 0:r[e]);o&&(t[e]=o)})("filterByTk",s.hasFilterByTk),d("sourceId",s.hasSourceId),[2]}})}),function(e,t){return i.apply(this,arguments)});function t1(e,t,n,r,o,i,l){try{var a=e[i](l),u=a.value}catch(e){n(e);return}a.done?t(u):Promise.resolve(u).then(r,o)}function t2(e,t,n){return(t2=t5()?Reflect.construct:function(e,t,n){var r=[null];r.push.apply(r,t);var o=new(Function.bind.apply(e,r));return n&&t3(o,n.prototype),o}).apply(null,arguments)}function t4(e){return(t4=Object.setPrototypeOf?Object.getPrototypeOf:function(e){return e.__proto__||Object.getPrototypeOf(e)})(e)}function t3(e,t){return(t3=Object.setPrototypeOf||function(e,t){return e.__proto__=t,e})(e,t)}function t6(e){var t="function"==typeof Map?new Map:void 0;return(t6=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,n)}function n(){return t2(e,arguments,t4(this).constructor)}return n.prototype=Object.create(e.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),t3(n,e)})(e)}function t5(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch(e){}return(t5=function(){return!!e})()}var t7="ui-templates",t8=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;if(!(this instanceof n))throw TypeError("Cannot call a class as a function");return e=n,t=arguments,e=t4(e),function(e,t){var n;if(t&&("object"==((n=t)&&"undefined"!=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,t5()?Reflect.construct(e,t||[],t4(this).constructor):e.apply(this,t))}return n.prototype=Object.create(e&&e.prototype,{constructor:{value:n,writable:!0,configurable:!0}}),e&&t3(n,e),t=[{key:"load",value:function(){var e,t=this;return(e=function(){return function(e,t){var n,r,o,i,l={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function a(i){return function(a){var u=[i,a];if(n)throw TypeError("Generator is already executing.");for(;l;)try{if(n=1,r&&(o=2&u[0]?r.return:u[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,u[1])).done)return o;switch(r=0,o&&(u=[2&u[0],o.value]),u[0]){case 0:case 1:o=u;break;case 4:return l.label++,{value:u[1],done:!1};case 5:l.label++,r=u[1],u=[0];continue;case 7:u=l.ops.pop(),l.trys.pop();continue;default:if(!(o=(o=l.trys).length>0&&o[o.length-1])&&(6===u[0]||2===u[0])){l=0;continue}if(3===u[0]&&(!o||u[1]>o[0]&&u[1]<o[3])){l.label=u[1];break}if(6===u[0]&&l.label<o[1]){l.label=o[1],o=u;break}if(o&&l.label<o[2]){l.label=o[2],l.ops.push(u);break}o[2]&&l.ops.pop(),l.trys.pop();continue}u=t.call(e,l)}catch(e){u=[6,e],r=0}finally{n=o=0}if(5&u[0])throw u[1];return{value:u[0]?u[1]:void 0,done:!0}}}}(this,function(e){var n,r,o;return t.flowEngine.registerModels({ReferenceBlockModel:es,ReferenceFormGridModel:eT,SubModelTemplateImporterModel:eD}),!function(e){var t,n=null==(t=e.getModelClass)?void 0:t.call(e,"FormCustomItemModel");if(n&&!n.__subModelTemplateMenuPatched){n.__subModelTemplateMenuPatched=!0;var r,o=n.defineChildren;r=tS(function(e){var t,n,r,i,l,a,u,c,s,d,p,f,m;return tw(this,function(v){switch(v.label){case 0:if(!o)return[3,2];return[4,o.call(this,e)];case 1:return l=v.sent(),[3,3];case 2:l=[],v.label=3;case 3:var g;return a=Array.isArray(i=l)?i:[],u=(null==(t=e.t)?void 0:t.call(e,"Field template",{ns:[y,"client"],nsMode:"fallback"}))||"Field template",d="CreateFormModel"===(s=(null==(c=tx(e.model))?void 0:c.use)||(null==(n=e.model.parent)?void 0:n.use))||"EditFormModel"===s?["CreateFormModel","EditFormModel"]:s,f="string"==typeof(null==(p=(null==c||null==(r=c.getStepParams)?void 0:r.call(c,"resourceSettings","init"))||{})?void 0:p.dataSourceKey)?p.dataSourceKey:void 0,m="string"==typeof(null==p?void 0:p.collectionName)?p.collectionName:void 0,[2,[{key:"__fromTemplate__",label:u,sort:-999,hide:(g=tS(function(e){var t,n,r,o,i,l;return tw(this,function(a){return(r=null==(n=eO(e.model))?void 0:n.ref)&&"grid"===r.mountSubKey&&"copy"!==r.mode||function(e){if(!e)return!1;var t=null==e?void 0:e.parent;return(null==t?void 0:t.use)==="ReferenceBlockModel"}(o=tx(e.model))?[2,!0]:(i=o||e.model.parent)?[2,!!(l=null==i||null==(t=i.subModels)?void 0:t.grid)&&"ReferenceFormGridModel"===String((null==l?void 0:l.use)||"")]:[2,!1]})}),function(e){return g.apply(this,arguments)}),createModelOptions:function(){return{use:"SubModelTemplateImporterModel",props:{defaultSourcePath:"subModels.grid",defaultMountSubKey:"grid",mountToParentLevel:1,expectedRootUse:d,expectedDataSourceKey:f,expectedCollectionName:m}}}}].concat(function(e){if(Array.isArray(e))return tb(e)}(a)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(a)||function(e,t){if(e){if("string"==typeof e)return tb(e,void 0);var n=Object.prototype.toString.call(e).slice(8,-1);if("Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n)return Array.from(n);if("Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return tb(e,t)}}(a)||function(){throw TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()).filter(Boolean)]}})}),n.defineChildren=function(e){return r.apply(this,arguments)}}}(t.flowEngine),!function(e){var t=e.getAction("openView");if(t){var n=t.uiSchema||{},r=n.mode,o=n.size,i=n.uid,l=function(e,t){if(null==e)return{};var n,r,o=function(e,t){if(null==e)return{};var n,r,o={},i=Object.keys(e);for(r=0;r<i.length;r++)n=i[r],t.indexOf(n)>=0||(o[n]=e[n]);return o}(e,t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(e);for(r=0;r<i.length;r++)n=i[r],!(t.indexOf(n)>=0)&&Object.prototype.propertyIsEnumerable.call(e,n)&&(o[n]=e[n])}return o}(n,["mode","size","uid"]),a=tE(tP({},t),{uiSchema:tP(tE(tP({},r?{mode:r}:{},o?{size:o}:{}),{popupTemplateUid:{type:"string",title:'{{t("Popup template", { ns: [\''.concat(y,"', 'client'], nsMode: 'fallback' })}}"),"x-decorator":"FormItem","x-component":tY}}),i?{uid:i}:{},l),beforeParamsSave:function(e,n,r){return tk(function(){return tC(this,function(o){switch(o.label){case 0:return[4,t0(e,n)];case 1:return o.sent(),[4,t.beforeParamsSave(e,tH(n),r)];case 2:return o.sent(),[2]}})})()},handler:function(e,n){return tk(function(){var r,o,i,l,a,u,c,s,d;return tC(this,function(p){switch(p.label){case 0:if(!("string"==typeof(r=n.popupTemplateUid)&&r.trim()))return[3,2];return[4,tX(e,r.trim())];case 1:return i=p.sent(),[3,3];case 2:i=null,p.label=3;case 3:if(o=i,l=tP({},n),o&&(o.confidentFilterByTk&&(l.popupTemplateHasFilterByTk=o.hasFilterByTk),"boolean"==typeof o.hasSourceId&&(l.popupTemplateHasSourceId=o.hasSourceId),!k(null==o||null==(a=o.tpl)?void 0:a.associationName)&&l&&(void 0===l?"undefined":tF(l))==="object"&&"associationName"in l&&delete l.associationName),u="string"==typeof r&&r.trim()||!!(null==l?void 0:l.popupTemplateContext),c=tH(l),!((null==o?void 0:o.hasSourceId)===!0||(null==l?void 0:l.popupTemplateHasSourceId))&&c&&(void 0===c?"undefined":tF(c))==="object"&&delete c.sourceId,!u)return[3,5];return[4,t$(e,l)];case 4:return d=p.sent(),[3,6];case 5:d=e,p.label=6;case 6:return s=d,[2,t.handler(s,c)]}})})()}});e.registerActions({openView:a})}}(t.flowEngine),t.app.pluginSettingsManager.add(t7,{title:'{{t("UI templates", { ns: "'.concat(m.u2,'", nsMode: "fallback" })}}'),icon:"ProfileOutlined"}),t.app.pluginSettingsManager.add("".concat(t7,".block"),{title:'{{t("Block templates (v2)", { ns: "'.concat(m.u2,'", nsMode: "fallback" })}}'),Component:e2}),t.app.pluginSettingsManager.add("".concat(t7,".popup"),{title:'{{t("Popup templates (v2)", { ns: "'.concat(m.u2,'", nsMode: "fallback" })}}'),Component:e4}),l.BlockModel.registerExtraMenuItems({group:"common-actions",sort:-10,matcher:function(e){return!(e9(e,es)||e9(e.parent,es))},items:(n=e7(function(e,t){var n,r;return to(this,function(o){return n=h(e),r=[],tp(e)?r.push({key:"block-reference:convert-fields-to-copy",label:n("Convert reference fields to duplicate"),onClick:function(){return function(e,t){return tv.apply(this,arguments)}(e,t)},sort:-6,group:"common-actions"}):r.push({key:"block-reference:convert-to-template",label:n("Save as template"),onClick:function(){return function(e,t){return tf.apply(this,arguments)}(e,t)},sort:-10,group:"common-actions"}),[2,r]})}),function(e,t){return n.apply(this,arguments)})}),es.registerExtraMenuItems({group:"common-actions",sort:-5,matcher:function(){return!0},items:(r=e7(function(e,t){var n,r,o;return to(this,function(i){return n=h(e),r=[],(null==(o=e.getStepParams("referenceSettings","useTemplate")||{})?void 0:o.templateUid)&&r.push({key:"block-reference:convert-to-copy",label:n("Convert reference to duplicate"),onClick:function(){return function(e,t){return tm.apply(this,arguments)}(e,t)},sort:-5,group:"common-actions"}),[2,r]})}),function(e,t){return r.apply(this,arguments)})}),f.FlowModel.registerExtraMenuItems({group:"common-actions",sort:-8,matcher:function(e){if(!(null==(n=e.getFlow)?void 0:n.call(e,"popupSettings")))return!1;if(null==(r=e.getFlow)?void 0:r.call(e,"displayFieldSettings")){var t=null==(i=e.getStepParams)||null==(o=i.call(e,"displayFieldSettings","clickToOpen"))?void 0:o.clickToOpen;if(!1===t)return!1;if(void 0===t){var n,r,o,i,l,a,u=null==(l=e.context)?void 0:l.collectionField;if(u&&!(null==u||null==(a=u.isAssociationField)?void 0:a.call(u)))return!1}}return!0},items:(o=e7(function(e,t){var n,r,o,i,l,a,u;return to(this,function(c){return(r=null==(n=e.getFlow)?void 0:n.call(e,"popupSettings"),o=function(e){var t=(null==e?void 0:e.steps)||{};if(null==t?void 0:t.openView)return"openView";var n=Object.entries(t).find(function(e){var t=tn(e,2)[1];return(null==t?void 0:t.use)==="openView"});return null==n?void 0:n[0]},i=void 0!==e.getStepParams("popupSettings","openView")&&"openView"||o(r)||"openView",a=!!("string"==typeof(null==(l=e.getStepParams("popupSettings",i)||{})?void 0:l.popupTemplateUid)?l.popupTemplateUid.trim():""),u=h(e),a)?[2,[{key:"block-reference:convert-popup-template-to-copy",label:u("Convert reference to duplicate"),onClick:function(){return function(e,t){return tg.apply(this,arguments)}(e,t)},sort:-8}]]:[2,[{key:"block-reference:save-popup-as-template",label:u("Save as template"),onClick:function(){return function(e,t){return ty.apply(this,arguments)}(e,t)},sort:-8}]]})}),function(e,t){return o.apply(this,arguments)})}),[2]})},function(){var t=this,n=arguments;return new Promise(function(r,o){var i=e.apply(t,n);function l(e){t1(i,r,o,l,a,"next",e)}function a(e){t1(i,r,o,l,a,"throw",e)}l(void 0)})})()}}],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}(t6(l.Plugin)),t9=t8}(),p});
@@ -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 type { FlowModel } from '@nocobase/flow-engine';
10
+ export declare const NAMESPACE: string;
11
+ export declare function useT(): (str: string, options?: Record<string, any>) => string;
12
+ export declare function tStr(key: string): string;
13
+ /**
14
+ * 获取带有插件命名空间的翻译函数(用于非组件环境)
15
+ * @param model FlowModel 实例
16
+ * @returns 翻译函数,使用插件命名空间
17
+ */
18
+ export declare function getPluginT(model: FlowModel): (key: string, options?: any) => string;
@@ -0,0 +1,9 @@
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 function registerMenuExtensions(): void;
@@ -0,0 +1,47 @@
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 { BlockModel } from '@nocobase/client';
11
+ /**
12
+ * ReferenceBlockModel(插件版)
13
+ * - 通过配置 targetUid(实例 model.uid)引用并渲染另一个区块;
14
+ * - 在 BlockScoped 引擎中实例化目标区块,隔离模型实例与事件缓存;
15
+ * - 与目标区块建立父子关系(目标仅作为 Reference 的子模型用于设置菜单聚合,不做持久化);
16
+ * - 当目标缺失/非法/循环时,渲染占位提示;
17
+ * - title 仅展示目标标题;模板信息通过 extraTitle 展示(配置态双标签)。
18
+ */
19
+ export declare class ReferenceBlockModel extends BlockModel {
20
+ constructor(options: any);
21
+ settingsMenuLevel: number;
22
+ private _scopedEngine?;
23
+ private _targetModel?;
24
+ private _resolvedTargetUid?;
25
+ private _invalidTargetUid?;
26
+ get title(): any;
27
+ onInit(option: any): void;
28
+ private _getTargetUidFromParams;
29
+ private _syncExtraTitle;
30
+ private _ensureScopedEngine;
31
+ /**
32
+ * 解析最终目标模型:
33
+ * - 支持 reference-of-reference 扁平化(直到非 ReferenceBlockModel);
34
+ * - 简单循环检测(A→B→A 等);
35
+ * - 目标缺失或非法时返回 null。
36
+ */
37
+ private _resolveFinalTarget;
38
+ onDispatchEventStart(eventName: string): Promise<void>;
39
+ destroy(): Promise<boolean>;
40
+ /**
41
+ * 重写 serialize 方法,排除 target 子模型的序列化
42
+ * 这样在保存引用区块时不会连带保存目标区块,避免破坏目标区块的父子关系
43
+ */
44
+ serialize(): Record<string, any>;
45
+ renderComponent(): React.JSX.Element;
46
+ render(): any;
47
+ }
@@ -0,0 +1,38 @@
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 { type CreateModelOptions, FlowModel } from '@nocobase/flow-engine';
11
+ import { REF_HOST_CTX_KEY } from '../constants';
12
+ export { REF_HOST_CTX_KEY };
13
+ export type ReferenceFormGridTargetSettings = {
14
+ /** 模板 uid(flowModelTemplates.uid) */
15
+ templateUid: string;
16
+ /** 模板名称(用于 UI 展示,可选) */
17
+ templateName?: string;
18
+ /** 模板根区块 uid(flowModels.uid) */
19
+ targetUid: string;
20
+ /** 从模板根上取片段的路径,当前仅支持 'subModels.grid' */
21
+ targetPath?: string;
22
+ };
23
+ export declare class ReferenceFormGridModel extends FlowModel {
24
+ private _scopedEngine?;
25
+ private _targetGrid?;
26
+ private _resolvedTargetUid?;
27
+ private _invalidTargetUid?;
28
+ constructor(options: any);
29
+ private _ensureScopedEngine;
30
+ private _getTargetSettings;
31
+ private _syncHostExtraTitle;
32
+ addSubModel<T extends FlowModel>(subKey: string, options: CreateModelOptions | T): T;
33
+ setSubModel(subKey: string, options: CreateModelOptions | FlowModel): FlowModel<import("@nocobase/flow-engine").DefaultStructure>;
34
+ onDispatchEventStart(eventName: string): Promise<void>;
35
+ clearForks(): void;
36
+ destroy(): Promise<boolean>;
37
+ render(): React.JSX.Element;
38
+ }
@@ -0,0 +1,55 @@
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 { FlowModel, FlowContext } from '@nocobase/flow-engine';
10
+ type ImporterProps = {
11
+ /** 默认从模板根取片段的路径 */
12
+ defaultSourcePath?: string;
13
+ /** 模板根 use 过滤(可选),支持多个候选 */
14
+ expectedRootUse?: string | string[];
15
+ /** 期望的数据源 key(可选,用于禁用不匹配的模板) */
16
+ expectedDataSourceKey?: string;
17
+ /** 期望的 collectionName(可选,用于禁用不匹配的模板) */
18
+ expectedCollectionName?: string;
19
+ /** 默认挂载到当前模型的 subModels 键(可选),否则使用 importer.subKey */
20
+ defaultMountSubKey?: string;
21
+ /**
22
+ * 引入片段时挂载到第几层父级:
23
+ * - 0:挂载到 importer.parent(默认)
24
+ * - 1:挂载到 importer.parent.parent
25
+ * - 2:以此类推
26
+ */
27
+ mountToParentLevel?: number;
28
+ };
29
+ export declare class SubModelTemplateImporterModel extends FlowModel {
30
+ props: ImporterProps;
31
+ resolveExpectedResourceInfo(ctx?: FlowContext, start?: FlowModel): {
32
+ dataSourceKey?: string;
33
+ collectionName?: string;
34
+ };
35
+ afterAddAsSubModel(): Promise<void>;
36
+ save(): Promise<{
37
+ uid: string;
38
+ }>;
39
+ saveStepParams(): Promise<{
40
+ uid: string;
41
+ }>;
42
+ render(): any;
43
+ getTemplateDisabledReason(ctx: FlowContext, tpl: Record<string, any>, expected?: {
44
+ dataSourceKey?: string;
45
+ collectionName?: string;
46
+ }): string | undefined;
47
+ fetchTemplateOptions(ctx: FlowContext, keyword?: string, pagination?: {
48
+ page?: number;
49
+ pageSize?: number;
50
+ }): Promise<{
51
+ options: any[];
52
+ hasMore: boolean;
53
+ }>;
54
+ }
55
+ export {};
@@ -0,0 +1,23 @@
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 { type FlowEngine, type FlowModel } from '@nocobase/flow-engine';
11
+ export declare function ensureBlockScopedEngine(flowEngine: FlowEngine, scopedEngine?: FlowEngine): FlowEngine;
12
+ export declare function unlinkScopedEngine(engine?: FlowEngine): void;
13
+ export declare function renderReferenceTargetPlaceholder(model: {
14
+ translate?: (key: string, options?: any) => string;
15
+ }, state: 'unconfigured' | 'invalid' | 'resolving'): React.JSX.Element;
16
+ export declare const RefViewBridge: React.FC<{
17
+ engine: FlowEngine;
18
+ model: FlowModel;
19
+ }>;
20
+ export declare const ReferenceScopedRenderer: React.FC<{
21
+ engine: FlowEngine;
22
+ model: FlowModel;
23
+ }>;
@@ -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
+ import type { FlowEngine } from '@nocobase/flow-engine';
10
+ export declare function registerOpenViewPopupTemplateAction(flowEngine: FlowEngine): void;
@@ -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 { ISchema } from '@nocobase/client';
10
+ export declare const flowModelTemplateEditActionSchema: ISchema;
11
+ export declare const createFlowModelTemplatesSchema: (filter?: Record<string, any>) => ISchema;
@@ -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
+ import type { FlowEngine } from '@nocobase/flow-engine';
10
+ export declare function registerSubModelMenuExtensions(engine: FlowEngine): void;
@@ -0,0 +1,28 @@
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 type PaginatedOptionsResult<T = any> = {
10
+ options: T[];
11
+ hasMore: boolean;
12
+ };
13
+ export declare const defaultSelectOptionComparator: (a: any, b: any) => number;
14
+ export declare function mergeSelectOptions(prev: any[], next: any[], options?: {
15
+ getKey?: (item: any) => string;
16
+ comparator?: (a: any, b: any) => number;
17
+ }): any[];
18
+ export declare function bindInfiniteScrollToFormilySelect(field: any, fetchPage: (keyword: string, page: number, pageSize: number) => Promise<PaginatedOptionsResult<any>>, options?: {
19
+ pageSize?: number;
20
+ debounceMs?: number;
21
+ scrollThreshold?: number;
22
+ composingKey?: string;
23
+ comparator?: (a: any, b: any) => number;
24
+ }): {
25
+ resetAndLoad: (keyword: string) => Promise<void>;
26
+ loadMore: () => Promise<void>;
27
+ cancelSearch: () => void;
28
+ };