@gisce/react-ooui 1.1.67 → 1.1.68
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.
- package/dist/react-ooui.es.js +27 -2
- package/dist/react-ooui.es.js.map +1 -1
- package/dist/react-ooui.umd.js +2 -2
- package/dist/react-ooui.umd.js.map +1 -1
- package/dist/widgets/custom/Avatar.d.ts +10 -0
- package/dist/widgets/custom/Avatar.d.ts.map +1 -0
- package/dist/widgets/views/Tree.d.ts.map +1 -1
- package/package.json +2 -2
- package/src/stories/custom/Avatar.stories.tsx +27 -0
- package/src/stories/views/Tree.stories.jsx +12 -1
- package/src/widgets/custom/Avatar.tsx +33 -0
- package/src/widgets/views/Tree.tsx +6 -0
package/dist/react-ooui.umd.js
CHANGED
|
@@ -112,7 +112,7 @@ In order to be iterable, non-array objects must have a [Symbol.iterator]() metho
|
|
|
112
112
|
.ant-progress-text {
|
|
113
113
|
display: none;
|
|
114
114
|
}
|
|
115
|
-
`,Many2oneSuffixModal=e=>{const{visible:t,onCancel:r,items:n=[],onItemClicked:a}=e,{t:o}=React.useContext(LocaleContext);return jsxRuntime.jsx(antd.Modal,{title:o("selectAction"),centered:!0,visible:t,footer:null,destroyOnClose:!0,onCancel:r,maskClosable:!1,children:jsxRuntime.jsx(antd.Space,{direction:"vertical",className:"w-full",children:n.map(s=>jsxRuntime.jsx(antd.Button,{className:"w-full",onClick:()=>{a(s)},children:s.name}))})})},Many2oneSuffix=e=>{var w,E;const{id:t,model:r,context:n={}}=e,[a,o]=React.useState(!1),[s,u]=React.useState(!1),[l,c]=React.useState(!1),[d,f]=React.useState(),[p,m]=React.useState(),{t:v}=React.useContext(LocaleContext),x=React.useContext(TabManagerContext),{openRelate:_}=x||{},h=React.useContext(ContentRootContext),{processAction:g}=h||{};if(!t)return null;async function y(){c(!0);try{const T=await ConnectionProvider.getHandler().getView({model:r,type:"form",context:n});f(T);const{fields:M,arch:q}=T,k=(await ConnectionProvider.getHandler().readObjects({model:r,ids:[t],fields:M,context:n}))[0];m({...processValues(k,M),active_id:t}),c(!1)}catch(T){c(!1),showDialog$8(T);return}}function b(){var M;if(l)return jsxRuntime.jsx(antd.Menu,{children:jsxRuntime.jsx("div",{style:{padding:15},children:jsxRuntime.jsx(antd.Spin,{})})});if(!d||!d.toolbar)return jsxRuntime.jsx(antd.Menu,{});const T=(M=d==null?void 0:d.toolbar)==null?void 0:M.relate.map(q=>jsxRuntime.jsx(antd.Menu.Item,{children:q.name},q.id));return jsxRuntime.jsx(antd.Menu,{onClick:C,children:[jsxRuntime.jsx(antd.Menu.Item,{disabled:!d.toolbar.action||d.toolbar.action.length===0,icon:jsxRuntime.jsx(AntIcons.ThunderboltOutlined,{}),children:v("action")},"action"),jsxRuntime.jsx(antd.Menu.Item,{disabled:!d.toolbar.print||d.toolbar.print.length===0,icon:jsxRuntime.jsx(AntIcons.PrinterOutlined,{}),children:v("report")},"print"),jsxRuntime.jsx(antd.Menu.Divider,{}),jsxRuntime.jsx(antd.Menu.ItemGroup,{title:jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(AntIcons.EnterOutlined,{})," ",jsxRuntime.jsxs("span",{children:[" ",v("related")]})]}),children:T})]})}function C(T){if(T.key==="action")o(!0);else if(T.key==="print")u(!0);else{const M=d.toolbar.relate.find(q=>q.id===parseInt(T.key));if(!M)return;_({relateData:M,values:p,fields:d.fields,action_id:M.id,action_type:M.type})}}function O(T){o(!1),g==null||g({actionData:T,values:p,fields:d.fields,context:{active_id:t,active_ids:[t]}})}function F(T){u(!1),g==null||g({actionData:{...T,datas:{...T.datas||{},ids:[t]}},values:p,fields:d.fields})}return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(antd.Dropdown,{overlay:b(),trigger:["click"],children:jsxRuntime.jsx(AntIcons.RightCircleOutlined,{style:{color:"rgba(0,0,0,.45)"},onClick:T=>{T.preventDefault(),y()}})}),jsxRuntime.jsx(Many2oneSuffixModal,{visible:a,items:(w=d==null?void 0:d.toolbar)==null?void 0:w.action,onItemClicked:O,onCancel:()=>o(!1)}),jsxRuntime.jsx(Many2oneSuffixModal,{visible:s,items:(E=d==null?void 0:d.toolbar)==null?void 0:E.print,onItemClicked:F,onCancel:()=>u(!1)})]})},Many2oneTree=e=>{const{m2oField:t}=e;return t?jsxRuntime.jsxs(antd.Space,{children:[jsxRuntime.jsx(jsxRuntime.Fragment,{children:t.value}),jsxRuntime.jsx(Many2oneSuffix,{id:t.id,model:t.model})]}):jsxRuntime.jsx(jsxRuntime.Fragment,{})},ReferenceTree=e=>{const{value:t,context:r,selectionValues:n}=e,[a,o]=React.useState(),[s,u]=React.useState(!1),[l,c]=t?t.split(","):[],d=parseInt(c),f=React.useCallback(async()=>{if(!t||t&&a)return;u(!0);const m=await ConnectionProvider.getHandler().execute({action:"name_get",payload:[d],model:l,context:r});o(m[0][1]),u(!1)},[t,a]);if(React.useEffect(()=>{f()},[t]),!t&&!s)return jsxRuntime.jsx(jsxRuntime.Fragment,{});if(s)return jsxRuntime.jsx(AntIcons.LoadingOutlined,{});const p=n.get(l);return jsxRuntime.jsxs(antd.Space,{children:[jsxRuntime.jsx(jsxRuntime.Fragment,{children:`${p}:`}),jsxRuntime.jsx(jsxRuntime.Fragment,{children:a}),jsxRuntime.jsx(Many2oneSuffix,{id:d,model:l})]})};//! moment.js
|
|
115
|
+
`,Many2oneSuffixModal=e=>{const{visible:t,onCancel:r,items:n=[],onItemClicked:a}=e,{t:o}=React.useContext(LocaleContext);return jsxRuntime.jsx(antd.Modal,{title:o("selectAction"),centered:!0,visible:t,footer:null,destroyOnClose:!0,onCancel:r,maskClosable:!1,children:jsxRuntime.jsx(antd.Space,{direction:"vertical",className:"w-full",children:n.map(s=>jsxRuntime.jsx(antd.Button,{className:"w-full",onClick:()=>{a(s)},children:s.name}))})})},Many2oneSuffix=e=>{var w,E;const{id:t,model:r,context:n={}}=e,[a,o]=React.useState(!1),[s,u]=React.useState(!1),[l,c]=React.useState(!1),[d,f]=React.useState(),[p,m]=React.useState(),{t:v}=React.useContext(LocaleContext),x=React.useContext(TabManagerContext),{openRelate:_}=x||{},h=React.useContext(ContentRootContext),{processAction:g}=h||{};if(!t)return null;async function y(){c(!0);try{const T=await ConnectionProvider.getHandler().getView({model:r,type:"form",context:n});f(T);const{fields:M,arch:q}=T,k=(await ConnectionProvider.getHandler().readObjects({model:r,ids:[t],fields:M,context:n}))[0];m({...processValues(k,M),active_id:t}),c(!1)}catch(T){c(!1),showDialog$8(T);return}}function b(){var M;if(l)return jsxRuntime.jsx(antd.Menu,{children:jsxRuntime.jsx("div",{style:{padding:15},children:jsxRuntime.jsx(antd.Spin,{})})});if(!d||!d.toolbar)return jsxRuntime.jsx(antd.Menu,{});const T=(M=d==null?void 0:d.toolbar)==null?void 0:M.relate.map(q=>jsxRuntime.jsx(antd.Menu.Item,{children:q.name},q.id));return jsxRuntime.jsx(antd.Menu,{onClick:C,children:[jsxRuntime.jsx(antd.Menu.Item,{disabled:!d.toolbar.action||d.toolbar.action.length===0,icon:jsxRuntime.jsx(AntIcons.ThunderboltOutlined,{}),children:v("action")},"action"),jsxRuntime.jsx(antd.Menu.Item,{disabled:!d.toolbar.print||d.toolbar.print.length===0,icon:jsxRuntime.jsx(AntIcons.PrinterOutlined,{}),children:v("report")},"print"),jsxRuntime.jsx(antd.Menu.Divider,{}),jsxRuntime.jsx(antd.Menu.ItemGroup,{title:jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(AntIcons.EnterOutlined,{})," ",jsxRuntime.jsxs("span",{children:[" ",v("related")]})]}),children:T})]})}function C(T){if(T.key==="action")o(!0);else if(T.key==="print")u(!0);else{const M=d.toolbar.relate.find(q=>q.id===parseInt(T.key));if(!M)return;_({relateData:M,values:p,fields:d.fields,action_id:M.id,action_type:M.type})}}function O(T){o(!1),g==null||g({actionData:T,values:p,fields:d.fields,context:{active_id:t,active_ids:[t]}})}function F(T){u(!1),g==null||g({actionData:{...T,datas:{...T.datas||{},ids:[t]}},values:p,fields:d.fields})}return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(antd.Dropdown,{overlay:b(),trigger:["click"],children:jsxRuntime.jsx(AntIcons.RightCircleOutlined,{style:{color:"rgba(0,0,0,.45)"},onClick:T=>{T.preventDefault(),y()}})}),jsxRuntime.jsx(Many2oneSuffixModal,{visible:a,items:(w=d==null?void 0:d.toolbar)==null?void 0:w.action,onItemClicked:O,onCancel:()=>o(!1)}),jsxRuntime.jsx(Many2oneSuffixModal,{visible:s,items:(E=d==null?void 0:d.toolbar)==null?void 0:E.print,onItemClicked:F,onCancel:()=>u(!1)})]})},Many2oneTree=e=>{const{m2oField:t}=e;return t?jsxRuntime.jsxs(antd.Space,{children:[jsxRuntime.jsx(jsxRuntime.Fragment,{children:t.value}),jsxRuntime.jsx(Many2oneSuffix,{id:t.id,model:t.model})]}):jsxRuntime.jsx(jsxRuntime.Fragment,{})},ReferenceTree=e=>{const{value:t,context:r,selectionValues:n}=e,[a,o]=React.useState(),[s,u]=React.useState(!1),[l,c]=t?t.split(","):[],d=parseInt(c),f=React.useCallback(async()=>{if(!t||t&&a)return;u(!0);const m=await ConnectionProvider.getHandler().execute({action:"name_get",payload:[d],model:l,context:r});o(m[0][1]),u(!1)},[t,a]);if(React.useEffect(()=>{f()},[t]),!t&&!s)return jsxRuntime.jsx(jsxRuntime.Fragment,{});if(s)return jsxRuntime.jsx(AntIcons.LoadingOutlined,{});const p=n.get(l);return jsxRuntime.jsxs(antd.Space,{children:[jsxRuntime.jsx(jsxRuntime.Fragment,{children:`${p}:`}),jsxRuntime.jsx(jsxRuntime.Fragment,{children:a}),jsxRuntime.jsx(Many2oneSuffix,{id:d,model:l})]})},Avatar=e=>{console.log("Avatar Props",e);const{ooui:t,value:r}=e;if(!r)return null;let n=r;t.selectionValues.size?n=t.selectionValues.get(r):Array.isArray(r)&&(n=r[1]);const a=n.toString().split(" ").filter(s=>s.length>1).slice(0,3).map(s=>s[0].toUpperCase()).join(""),o=colorFromString(n);return jsxRuntime.jsx(antd.Tooltip,{title:n,children:jsxRuntime.jsx(antd.Avatar,{alt:n,style:{backgroundColor:o},children:a})})};//! moment.js
|
|
116
116
|
//! version : 2.29.4
|
|
117
117
|
//! authors : Tim Wood, Iskren Chernev, Moment.js contributors
|
|
118
118
|
//! license : MIT
|
|
@@ -121,7 +121,7 @@ var hookCallback;function hooks(){return hookCallback.apply(null,arguments)}func
|
|
|
121
121
|
[`+o+"] ";for(s in arguments[0])hasOwnProp(arguments[0],s)&&(a+=s+": "+arguments[0][s]+", ");a=a.slice(0,-2)}else a=arguments[o];n.push(a)}warn(e+`
|
|
122
122
|
Arguments: `+Array.prototype.slice.call(n).join("")+`
|
|
123
123
|
`+new Error().stack),r=!1}return t.apply(this,arguments)},t)}var deprecations={};function deprecateSimple(e,t){hooks.deprecationHandler!=null&&hooks.deprecationHandler(e,t),deprecations[e]||(warn(t),deprecations[e]=!0)}hooks.suppressDeprecationWarnings=!1,hooks.deprecationHandler=null;function isFunction(e){return typeof Function<"u"&&e instanceof Function||Object.prototype.toString.call(e)==="[object Function]"}function set(e){var t,r;for(r in e)hasOwnProp(e,r)&&(t=e[r],isFunction(t)?this[r]=t:this["_"+r]=t);this._config=e,this._dayOfMonthOrdinalParseLenient=new RegExp((this._dayOfMonthOrdinalParse.source||this._ordinalParse.source)+"|"+/\d{1,2}/.source)}function mergeConfigs(e,t){var r=extend({},e),n;for(n in t)hasOwnProp(t,n)&&(isObject(e[n])&&isObject(t[n])?(r[n]={},extend(r[n],e[n]),extend(r[n],t[n])):t[n]!=null?r[n]=t[n]:delete r[n]);for(n in e)hasOwnProp(e,n)&&!hasOwnProp(t,n)&&isObject(e[n])&&(r[n]=extend({},r[n]));return r}function Locale(e){e!=null&&this.set(e)}var keys;Object.keys?keys=Object.keys:keys=function(e){var t,r=[];for(t in e)hasOwnProp(e,t)&&r.push(t);return r};var defaultCalendar={sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"};function calendar(e,t,r){var n=this._calendar[e]||this._calendar.sameElse;return isFunction(n)?n.call(t,r):n}function zeroFill(e,t,r){var n=""+Math.abs(e),a=t-n.length,o=e>=0;return(o?r?"+":"":"-")+Math.pow(10,Math.max(0,a)).toString().substr(1)+n}var formattingTokens=/(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|N{1,5}|YYYYYY|YYYYY|YYYY|YY|y{2,4}|yo?|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g,localFormattingTokens=/(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g,formatFunctions={},formatTokenFunctions={};function addFormatToken(e,t,r,n){var a=n;typeof n=="string"&&(a=function(){return this[n]()}),e&&(formatTokenFunctions[e]=a),t&&(formatTokenFunctions[t[0]]=function(){return zeroFill(a.apply(this,arguments),t[1],t[2])}),r&&(formatTokenFunctions[r]=function(){return this.localeData().ordinal(a.apply(this,arguments),e)})}function removeFormattingTokens(e){return e.match(/\[[\s\S]/)?e.replace(/^\[|\]$/g,""):e.replace(/\\/g,"")}function makeFormatFunction(e){var t=e.match(formattingTokens),r,n;for(r=0,n=t.length;r<n;r++)formatTokenFunctions[t[r]]?t[r]=formatTokenFunctions[t[r]]:t[r]=removeFormattingTokens(t[r]);return function(a){var o="",s;for(s=0;s<n;s++)o+=isFunction(t[s])?t[s].call(a,e):t[s];return o}}function formatMoment(e,t){return e.isValid()?(t=expandFormat(t,e.localeData()),formatFunctions[t]=formatFunctions[t]||makeFormatFunction(t),formatFunctions[t](e)):e.localeData().invalidDate()}function expandFormat(e,t){var r=5;function n(a){return t.longDateFormat(a)||a}for(localFormattingTokens.lastIndex=0;r>=0&&localFormattingTokens.test(e);)e=e.replace(localFormattingTokens,n),localFormattingTokens.lastIndex=0,r-=1;return e}var defaultLongDateFormat={LTS:"h:mm:ss A",LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY h:mm A",LLLL:"dddd, MMMM D, YYYY h:mm A"};function longDateFormat(e){var t=this._longDateFormat[e],r=this._longDateFormat[e.toUpperCase()];return t||!r?t:(this._longDateFormat[e]=r.match(formattingTokens).map(function(n){return n==="MMMM"||n==="MM"||n==="DD"||n==="dddd"?n.slice(1):n}).join(""),this._longDateFormat[e])}var defaultInvalidDate="Invalid date";function invalidDate(){return this._invalidDate}var defaultOrdinal="%d",defaultDayOfMonthOrdinalParse=/\d{1,2}/;function ordinal(e){return this._ordinal.replace("%d",e)}var defaultRelativeTime={future:"in %s",past:"%s ago",s:"a few seconds",ss:"%d seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",w:"a week",ww:"%d weeks",M:"a month",MM:"%d months",y:"a year",yy:"%d years"};function relativeTime(e,t,r,n){var a=this._relativeTime[r];return isFunction(a)?a(e,t,r,n):a.replace(/%d/i,e)}function pastFuture(e,t){var r=this._relativeTime[e>0?"future":"past"];return isFunction(r)?r(t):r.replace(/%s/i,t)}var aliases={};function addUnitAlias(e,t){var r=e.toLowerCase();aliases[r]=aliases[r+"s"]=aliases[t]=e}function normalizeUnits(e){return typeof e=="string"?aliases[e]||aliases[e.toLowerCase()]:void 0}function normalizeObjectUnits(e){var t={},r,n;for(n in e)hasOwnProp(e,n)&&(r=normalizeUnits(n),r&&(t[r]=e[n]));return t}var priorities={};function addUnitPriority(e,t){priorities[e]=t}function getPrioritizedUnits(e){var t=[],r;for(r in e)hasOwnProp(e,r)&&t.push({unit:r,priority:priorities[r]});return t.sort(function(n,a){return n.priority-a.priority}),t}function isLeapYear(e){return e%4===0&&e%100!==0||e%400===0}function absFloor(e){return e<0?Math.ceil(e)||0:Math.floor(e)}function toInt(e){var t=+e,r=0;return t!==0&&isFinite(t)&&(r=absFloor(t)),r}function makeGetSet(e,t){return function(r){return r!=null?(set$1(this,e,r),hooks.updateOffset(this,t),this):get(this,e)}}function get(e,t){return e.isValid()?e._d["get"+(e._isUTC?"UTC":"")+t]():NaN}function set$1(e,t,r){e.isValid()&&!isNaN(r)&&(t==="FullYear"&&isLeapYear(e.year())&&e.month()===1&&e.date()===29?(r=toInt(r),e._d["set"+(e._isUTC?"UTC":"")+t](r,e.month(),daysInMonth(r,e.month()))):e._d["set"+(e._isUTC?"UTC":"")+t](r))}function stringGet(e){return e=normalizeUnits(e),isFunction(this[e])?this[e]():this}function stringSet(e,t){if(typeof e=="object"){e=normalizeObjectUnits(e);var r=getPrioritizedUnits(e),n,a=r.length;for(n=0;n<a;n++)this[r[n].unit](e[r[n].unit])}else if(e=normalizeUnits(e),isFunction(this[e]))return this[e](t);return this}var match1=/\d/,match2=/\d\d/,match3=/\d{3}/,match4=/\d{4}/,match6=/[+-]?\d{6}/,match1to2=/\d\d?/,match3to4=/\d\d\d\d?/,match5to6=/\d\d\d\d\d\d?/,match1to3=/\d{1,3}/,match1to4=/\d{1,4}/,match1to6=/[+-]?\d{1,6}/,matchUnsigned=/\d+/,matchSigned=/[+-]?\d+/,matchOffset=/Z|[+-]\d\d:?\d\d/gi,matchShortOffset=/Z|[+-]\d\d(?::?\d\d)?/gi,matchTimestamp=/[+-]?\d+(\.\d{1,3})?/,matchWord=/[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i,regexes;regexes={};function addRegexToken(e,t,r){regexes[e]=isFunction(t)?t:function(n,a){return n&&r?r:t}}function getParseRegexForToken(e,t){return hasOwnProp(regexes,e)?regexes[e](t._strict,t._locale):new RegExp(unescapeFormat(e))}function unescapeFormat(e){return regexEscape(e.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(t,r,n,a,o){return r||n||a||o}))}function regexEscape(e){return e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}var tokens={};function addParseToken(e,t){var r,n=t,a;for(typeof e=="string"&&(e=[e]),isNumber$1(t)&&(n=function(o,s){s[t]=toInt(o)}),a=e.length,r=0;r<a;r++)tokens[e[r]]=n}function addWeekParseToken(e,t){addParseToken(e,function(r,n,a,o){a._w=a._w||{},t(r,a._w,a,o)})}function addTimeToArrayFromToken(e,t,r){t!=null&&hasOwnProp(tokens,e)&&tokens[e](t,r._a,r,e)}var YEAR=0,MONTH=1,DATE=2,HOUR=3,MINUTE=4,SECOND=5,MILLISECOND=6,WEEK=7,WEEKDAY=8;function mod(e,t){return(e%t+t)%t}var indexOf;Array.prototype.indexOf?indexOf=Array.prototype.indexOf:indexOf=function(e){var t;for(t=0;t<this.length;++t)if(this[t]===e)return t;return-1};function daysInMonth(e,t){if(isNaN(e)||isNaN(t))return NaN;var r=mod(t,12);return e+=(t-r)/12,r===1?isLeapYear(e)?29:28:31-r%7%2}addFormatToken("M",["MM",2],"Mo",function(){return this.month()+1}),addFormatToken("MMM",0,0,function(e){return this.localeData().monthsShort(this,e)}),addFormatToken("MMMM",0,0,function(e){return this.localeData().months(this,e)}),addUnitAlias("month","M"),addUnitPriority("month",8),addRegexToken("M",match1to2),addRegexToken("MM",match1to2,match2),addRegexToken("MMM",function(e,t){return t.monthsShortRegex(e)}),addRegexToken("MMMM",function(e,t){return t.monthsRegex(e)}),addParseToken(["M","MM"],function(e,t){t[MONTH]=toInt(e)-1}),addParseToken(["MMM","MMMM"],function(e,t,r,n){var a=r._locale.monthsParse(e,n,r._strict);a!=null?t[MONTH]=a:getParsingFlags(r).invalidMonth=e});var defaultLocaleMonths="January_February_March_April_May_June_July_August_September_October_November_December".split("_"),defaultLocaleMonthsShort="Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),MONTHS_IN_FORMAT=/D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/,defaultMonthsShortRegex=matchWord,defaultMonthsRegex=matchWord;function localeMonths(e,t){return e?isArray(this._months)?this._months[e.month()]:this._months[(this._months.isFormat||MONTHS_IN_FORMAT).test(t)?"format":"standalone"][e.month()]:isArray(this._months)?this._months:this._months.standalone}function localeMonthsShort(e,t){return e?isArray(this._monthsShort)?this._monthsShort[e.month()]:this._monthsShort[MONTHS_IN_FORMAT.test(t)?"format":"standalone"][e.month()]:isArray(this._monthsShort)?this._monthsShort:this._monthsShort.standalone}function handleStrictParse(e,t,r){var n,a,o,s=e.toLocaleLowerCase();if(!this._monthsParse)for(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[],n=0;n<12;++n)o=createUTC([2e3,n]),this._shortMonthsParse[n]=this.monthsShort(o,"").toLocaleLowerCase(),this._longMonthsParse[n]=this.months(o,"").toLocaleLowerCase();return r?t==="MMM"?(a=indexOf.call(this._shortMonthsParse,s),a!==-1?a:null):(a=indexOf.call(this._longMonthsParse,s),a!==-1?a:null):t==="MMM"?(a=indexOf.call(this._shortMonthsParse,s),a!==-1?a:(a=indexOf.call(this._longMonthsParse,s),a!==-1?a:null)):(a=indexOf.call(this._longMonthsParse,s),a!==-1?a:(a=indexOf.call(this._shortMonthsParse,s),a!==-1?a:null))}function localeMonthsParse(e,t,r){var n,a,o;if(this._monthsParseExact)return handleStrictParse.call(this,e,t,r);for(this._monthsParse||(this._monthsParse=[],this._longMonthsParse=[],this._shortMonthsParse=[]),n=0;n<12;n++){if(a=createUTC([2e3,n]),r&&!this._longMonthsParse[n]&&(this._longMonthsParse[n]=new RegExp("^"+this.months(a,"").replace(".","")+"$","i"),this._shortMonthsParse[n]=new RegExp("^"+this.monthsShort(a,"").replace(".","")+"$","i")),!r&&!this._monthsParse[n]&&(o="^"+this.months(a,"")+"|^"+this.monthsShort(a,""),this._monthsParse[n]=new RegExp(o.replace(".",""),"i")),r&&t==="MMMM"&&this._longMonthsParse[n].test(e))return n;if(r&&t==="MMM"&&this._shortMonthsParse[n].test(e))return n;if(!r&&this._monthsParse[n].test(e))return n}}function setMonth(e,t){var r;if(!e.isValid())return e;if(typeof t=="string"){if(/^\d+$/.test(t))t=toInt(t);else if(t=e.localeData().monthsParse(t),!isNumber$1(t))return e}return r=Math.min(e.date(),daysInMonth(e.year(),t)),e._d["set"+(e._isUTC?"UTC":"")+"Month"](t,r),e}function getSetMonth(e){return e!=null?(setMonth(this,e),hooks.updateOffset(this,!0),this):get(this,"Month")}function getDaysInMonth(){return daysInMonth(this.year(),this.month())}function monthsShortRegex(e){return this._monthsParseExact?(hasOwnProp(this,"_monthsRegex")||computeMonthsParse.call(this),e?this._monthsShortStrictRegex:this._monthsShortRegex):(hasOwnProp(this,"_monthsShortRegex")||(this._monthsShortRegex=defaultMonthsShortRegex),this._monthsShortStrictRegex&&e?this._monthsShortStrictRegex:this._monthsShortRegex)}function monthsRegex(e){return this._monthsParseExact?(hasOwnProp(this,"_monthsRegex")||computeMonthsParse.call(this),e?this._monthsStrictRegex:this._monthsRegex):(hasOwnProp(this,"_monthsRegex")||(this._monthsRegex=defaultMonthsRegex),this._monthsStrictRegex&&e?this._monthsStrictRegex:this._monthsRegex)}function computeMonthsParse(){function e(s,u){return u.length-s.length}var t=[],r=[],n=[],a,o;for(a=0;a<12;a++)o=createUTC([2e3,a]),t.push(this.monthsShort(o,"")),r.push(this.months(o,"")),n.push(this.months(o,"")),n.push(this.monthsShort(o,""));for(t.sort(e),r.sort(e),n.sort(e),a=0;a<12;a++)t[a]=regexEscape(t[a]),r[a]=regexEscape(r[a]);for(a=0;a<24;a++)n[a]=regexEscape(n[a]);this._monthsRegex=new RegExp("^("+n.join("|")+")","i"),this._monthsShortRegex=this._monthsRegex,this._monthsStrictRegex=new RegExp("^("+r.join("|")+")","i"),this._monthsShortStrictRegex=new RegExp("^("+t.join("|")+")","i")}addFormatToken("Y",0,0,function(){var e=this.year();return e<=9999?zeroFill(e,4):"+"+e}),addFormatToken(0,["YY",2],0,function(){return this.year()%100}),addFormatToken(0,["YYYY",4],0,"year"),addFormatToken(0,["YYYYY",5],0,"year"),addFormatToken(0,["YYYYYY",6,!0],0,"year"),addUnitAlias("year","y"),addUnitPriority("year",1),addRegexToken("Y",matchSigned),addRegexToken("YY",match1to2,match2),addRegexToken("YYYY",match1to4,match4),addRegexToken("YYYYY",match1to6,match6),addRegexToken("YYYYYY",match1to6,match6),addParseToken(["YYYYY","YYYYYY"],YEAR),addParseToken("YYYY",function(e,t){t[YEAR]=e.length===2?hooks.parseTwoDigitYear(e):toInt(e)}),addParseToken("YY",function(e,t){t[YEAR]=hooks.parseTwoDigitYear(e)}),addParseToken("Y",function(e,t){t[YEAR]=parseInt(e,10)});function daysInYear(e){return isLeapYear(e)?366:365}hooks.parseTwoDigitYear=function(e){return toInt(e)+(toInt(e)>68?1900:2e3)};var getSetYear=makeGetSet("FullYear",!0);function getIsLeapYear(){return isLeapYear(this.year())}function createDate(e,t,r,n,a,o,s){var u;return e<100&&e>=0?(u=new Date(e+400,t,r,n,a,o,s),isFinite(u.getFullYear())&&u.setFullYear(e)):u=new Date(e,t,r,n,a,o,s),u}function createUTCDate(e){var t,r;return e<100&&e>=0?(r=Array.prototype.slice.call(arguments),r[0]=e+400,t=new Date(Date.UTC.apply(null,r)),isFinite(t.getUTCFullYear())&&t.setUTCFullYear(e)):t=new Date(Date.UTC.apply(null,arguments)),t}function firstWeekOffset(e,t,r){var n=7+t-r,a=(7+createUTCDate(e,0,n).getUTCDay()-t)%7;return-a+n-1}function dayOfYearFromWeeks(e,t,r,n,a){var o=(7+r-n)%7,s=firstWeekOffset(e,n,a),u=1+7*(t-1)+o+s,l,c;return u<=0?(l=e-1,c=daysInYear(l)+u):u>daysInYear(e)?(l=e+1,c=u-daysInYear(e)):(l=e,c=u),{year:l,dayOfYear:c}}function weekOfYear(e,t,r){var n=firstWeekOffset(e.year(),t,r),a=Math.floor((e.dayOfYear()-n-1)/7)+1,o,s;return a<1?(s=e.year()-1,o=a+weeksInYear(s,t,r)):a>weeksInYear(e.year(),t,r)?(o=a-weeksInYear(e.year(),t,r),s=e.year()+1):(s=e.year(),o=a),{week:o,year:s}}function weeksInYear(e,t,r){var n=firstWeekOffset(e,t,r),a=firstWeekOffset(e+1,t,r);return(daysInYear(e)-n+a)/7}addFormatToken("w",["ww",2],"wo","week"),addFormatToken("W",["WW",2],"Wo","isoWeek"),addUnitAlias("week","w"),addUnitAlias("isoWeek","W"),addUnitPriority("week",5),addUnitPriority("isoWeek",5),addRegexToken("w",match1to2),addRegexToken("ww",match1to2,match2),addRegexToken("W",match1to2),addRegexToken("WW",match1to2,match2),addWeekParseToken(["w","ww","W","WW"],function(e,t,r,n){t[n.substr(0,1)]=toInt(e)});function localeWeek(e){return weekOfYear(e,this._week.dow,this._week.doy).week}var defaultLocaleWeek={dow:0,doy:6};function localeFirstDayOfWeek(){return this._week.dow}function localeFirstDayOfYear(){return this._week.doy}function getSetWeek(e){var t=this.localeData().week(this);return e==null?t:this.add((e-t)*7,"d")}function getSetISOWeek(e){var t=weekOfYear(this,1,4).week;return e==null?t:this.add((e-t)*7,"d")}addFormatToken("d",0,"do","day"),addFormatToken("dd",0,0,function(e){return this.localeData().weekdaysMin(this,e)}),addFormatToken("ddd",0,0,function(e){return this.localeData().weekdaysShort(this,e)}),addFormatToken("dddd",0,0,function(e){return this.localeData().weekdays(this,e)}),addFormatToken("e",0,0,"weekday"),addFormatToken("E",0,0,"isoWeekday"),addUnitAlias("day","d"),addUnitAlias("weekday","e"),addUnitAlias("isoWeekday","E"),addUnitPriority("day",11),addUnitPriority("weekday",11),addUnitPriority("isoWeekday",11),addRegexToken("d",match1to2),addRegexToken("e",match1to2),addRegexToken("E",match1to2),addRegexToken("dd",function(e,t){return t.weekdaysMinRegex(e)}),addRegexToken("ddd",function(e,t){return t.weekdaysShortRegex(e)}),addRegexToken("dddd",function(e,t){return t.weekdaysRegex(e)}),addWeekParseToken(["dd","ddd","dddd"],function(e,t,r,n){var a=r._locale.weekdaysParse(e,n,r._strict);a!=null?t.d=a:getParsingFlags(r).invalidWeekday=e}),addWeekParseToken(["d","e","E"],function(e,t,r,n){t[n]=toInt(e)});function parseWeekday(e,t){return typeof e!="string"?e:isNaN(e)?(e=t.weekdaysParse(e),typeof e=="number"?e:null):parseInt(e,10)}function parseIsoWeekday(e,t){return typeof e=="string"?t.weekdaysParse(e)%7||7:isNaN(e)?null:e}function shiftWeekdays(e,t){return e.slice(t,7).concat(e.slice(0,t))}var defaultLocaleWeekdays="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),defaultLocaleWeekdaysShort="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),defaultLocaleWeekdaysMin="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),defaultWeekdaysRegex=matchWord,defaultWeekdaysShortRegex=matchWord,defaultWeekdaysMinRegex=matchWord;function localeWeekdays(e,t){var r=isArray(this._weekdays)?this._weekdays:this._weekdays[e&&e!==!0&&this._weekdays.isFormat.test(t)?"format":"standalone"];return e===!0?shiftWeekdays(r,this._week.dow):e?r[e.day()]:r}function localeWeekdaysShort(e){return e===!0?shiftWeekdays(this._weekdaysShort,this._week.dow):e?this._weekdaysShort[e.day()]:this._weekdaysShort}function localeWeekdaysMin(e){return e===!0?shiftWeekdays(this._weekdaysMin,this._week.dow):e?this._weekdaysMin[e.day()]:this._weekdaysMin}function handleStrictParse$1(e,t,r){var n,a,o,s=e.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],n=0;n<7;++n)o=createUTC([2e3,1]).day(n),this._minWeekdaysParse[n]=this.weekdaysMin(o,"").toLocaleLowerCase(),this._shortWeekdaysParse[n]=this.weekdaysShort(o,"").toLocaleLowerCase(),this._weekdaysParse[n]=this.weekdays(o,"").toLocaleLowerCase();return r?t==="dddd"?(a=indexOf.call(this._weekdaysParse,s),a!==-1?a:null):t==="ddd"?(a=indexOf.call(this._shortWeekdaysParse,s),a!==-1?a:null):(a=indexOf.call(this._minWeekdaysParse,s),a!==-1?a:null):t==="dddd"?(a=indexOf.call(this._weekdaysParse,s),a!==-1||(a=indexOf.call(this._shortWeekdaysParse,s),a!==-1)?a:(a=indexOf.call(this._minWeekdaysParse,s),a!==-1?a:null)):t==="ddd"?(a=indexOf.call(this._shortWeekdaysParse,s),a!==-1||(a=indexOf.call(this._weekdaysParse,s),a!==-1)?a:(a=indexOf.call(this._minWeekdaysParse,s),a!==-1?a:null)):(a=indexOf.call(this._minWeekdaysParse,s),a!==-1||(a=indexOf.call(this._weekdaysParse,s),a!==-1)?a:(a=indexOf.call(this._shortWeekdaysParse,s),a!==-1?a:null))}function localeWeekdaysParse(e,t,r){var n,a,o;if(this._weekdaysParseExact)return handleStrictParse$1.call(this,e,t,r);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),n=0;n<7;n++){if(a=createUTC([2e3,1]).day(n),r&&!this._fullWeekdaysParse[n]&&(this._fullWeekdaysParse[n]=new RegExp("^"+this.weekdays(a,"").replace(".","\\.?")+"$","i"),this._shortWeekdaysParse[n]=new RegExp("^"+this.weekdaysShort(a,"").replace(".","\\.?")+"$","i"),this._minWeekdaysParse[n]=new RegExp("^"+this.weekdaysMin(a,"").replace(".","\\.?")+"$","i")),this._weekdaysParse[n]||(o="^"+this.weekdays(a,"")+"|^"+this.weekdaysShort(a,"")+"|^"+this.weekdaysMin(a,""),this._weekdaysParse[n]=new RegExp(o.replace(".",""),"i")),r&&t==="dddd"&&this._fullWeekdaysParse[n].test(e))return n;if(r&&t==="ddd"&&this._shortWeekdaysParse[n].test(e))return n;if(r&&t==="dd"&&this._minWeekdaysParse[n].test(e))return n;if(!r&&this._weekdaysParse[n].test(e))return n}}function getSetDayOfWeek(e){if(!this.isValid())return e!=null?this:NaN;var t=this._isUTC?this._d.getUTCDay():this._d.getDay();return e!=null?(e=parseWeekday(e,this.localeData()),this.add(e-t,"d")):t}function getSetLocaleDayOfWeek(e){if(!this.isValid())return e!=null?this:NaN;var t=(this.day()+7-this.localeData()._week.dow)%7;return e==null?t:this.add(e-t,"d")}function getSetISODayOfWeek(e){if(!this.isValid())return e!=null?this:NaN;if(e!=null){var t=parseIsoWeekday(e,this.localeData());return this.day(this.day()%7?t:t-7)}else return this.day()||7}function weekdaysRegex(e){return this._weekdaysParseExact?(hasOwnProp(this,"_weekdaysRegex")||computeWeekdaysParse.call(this),e?this._weekdaysStrictRegex:this._weekdaysRegex):(hasOwnProp(this,"_weekdaysRegex")||(this._weekdaysRegex=defaultWeekdaysRegex),this._weekdaysStrictRegex&&e?this._weekdaysStrictRegex:this._weekdaysRegex)}function weekdaysShortRegex(e){return this._weekdaysParseExact?(hasOwnProp(this,"_weekdaysRegex")||computeWeekdaysParse.call(this),e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(hasOwnProp(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=defaultWeekdaysShortRegex),this._weekdaysShortStrictRegex&&e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)}function weekdaysMinRegex(e){return this._weekdaysParseExact?(hasOwnProp(this,"_weekdaysRegex")||computeWeekdaysParse.call(this),e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(hasOwnProp(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=defaultWeekdaysMinRegex),this._weekdaysMinStrictRegex&&e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)}function computeWeekdaysParse(){function e(d,f){return f.length-d.length}var t=[],r=[],n=[],a=[],o,s,u,l,c;for(o=0;o<7;o++)s=createUTC([2e3,1]).day(o),u=regexEscape(this.weekdaysMin(s,"")),l=regexEscape(this.weekdaysShort(s,"")),c=regexEscape(this.weekdays(s,"")),t.push(u),r.push(l),n.push(c),a.push(u),a.push(l),a.push(c);t.sort(e),r.sort(e),n.sort(e),a.sort(e),this._weekdaysRegex=new RegExp("^("+a.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+n.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+r.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+t.join("|")+")","i")}function hFormat(){return this.hours()%12||12}function kFormat(){return this.hours()||24}addFormatToken("H",["HH",2],0,"hour"),addFormatToken("h",["hh",2],0,hFormat),addFormatToken("k",["kk",2],0,kFormat),addFormatToken("hmm",0,0,function(){return""+hFormat.apply(this)+zeroFill(this.minutes(),2)}),addFormatToken("hmmss",0,0,function(){return""+hFormat.apply(this)+zeroFill(this.minutes(),2)+zeroFill(this.seconds(),2)}),addFormatToken("Hmm",0,0,function(){return""+this.hours()+zeroFill(this.minutes(),2)}),addFormatToken("Hmmss",0,0,function(){return""+this.hours()+zeroFill(this.minutes(),2)+zeroFill(this.seconds(),2)});function meridiem(e,t){addFormatToken(e,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),t)})}meridiem("a",!0),meridiem("A",!1),addUnitAlias("hour","h"),addUnitPriority("hour",13);function matchMeridiem(e,t){return t._meridiemParse}addRegexToken("a",matchMeridiem),addRegexToken("A",matchMeridiem),addRegexToken("H",match1to2),addRegexToken("h",match1to2),addRegexToken("k",match1to2),addRegexToken("HH",match1to2,match2),addRegexToken("hh",match1to2,match2),addRegexToken("kk",match1to2,match2),addRegexToken("hmm",match3to4),addRegexToken("hmmss",match5to6),addRegexToken("Hmm",match3to4),addRegexToken("Hmmss",match5to6),addParseToken(["H","HH"],HOUR),addParseToken(["k","kk"],function(e,t,r){var n=toInt(e);t[HOUR]=n===24?0:n}),addParseToken(["a","A"],function(e,t,r){r._isPm=r._locale.isPM(e),r._meridiem=e}),addParseToken(["h","hh"],function(e,t,r){t[HOUR]=toInt(e),getParsingFlags(r).bigHour=!0}),addParseToken("hmm",function(e,t,r){var n=e.length-2;t[HOUR]=toInt(e.substr(0,n)),t[MINUTE]=toInt(e.substr(n)),getParsingFlags(r).bigHour=!0}),addParseToken("hmmss",function(e,t,r){var n=e.length-4,a=e.length-2;t[HOUR]=toInt(e.substr(0,n)),t[MINUTE]=toInt(e.substr(n,2)),t[SECOND]=toInt(e.substr(a)),getParsingFlags(r).bigHour=!0}),addParseToken("Hmm",function(e,t,r){var n=e.length-2;t[HOUR]=toInt(e.substr(0,n)),t[MINUTE]=toInt(e.substr(n))}),addParseToken("Hmmss",function(e,t,r){var n=e.length-4,a=e.length-2;t[HOUR]=toInt(e.substr(0,n)),t[MINUTE]=toInt(e.substr(n,2)),t[SECOND]=toInt(e.substr(a))});function localeIsPM(e){return(e+"").toLowerCase().charAt(0)==="p"}var defaultLocaleMeridiemParse=/[ap]\.?m?\.?/i,getSetHour=makeGetSet("Hours",!0);function localeMeridiem(e,t,r){return e>11?r?"pm":"PM":r?"am":"AM"}var baseConfig={calendar:defaultCalendar,longDateFormat:defaultLongDateFormat,invalidDate:defaultInvalidDate,ordinal:defaultOrdinal,dayOfMonthOrdinalParse:defaultDayOfMonthOrdinalParse,relativeTime:defaultRelativeTime,months:defaultLocaleMonths,monthsShort:defaultLocaleMonthsShort,week:defaultLocaleWeek,weekdays:defaultLocaleWeekdays,weekdaysMin:defaultLocaleWeekdaysMin,weekdaysShort:defaultLocaleWeekdaysShort,meridiemParse:defaultLocaleMeridiemParse},locales={},localeFamilies={},globalLocale;function commonPrefix(e,t){var r,n=Math.min(e.length,t.length);for(r=0;r<n;r+=1)if(e[r]!==t[r])return r;return n}function normalizeLocale(e){return e&&e.toLowerCase().replace("_","-")}function chooseLocale(e){for(var t=0,r,n,a,o;t<e.length;){for(o=normalizeLocale(e[t]).split("-"),r=o.length,n=normalizeLocale(e[t+1]),n=n?n.split("-"):null;r>0;){if(a=loadLocale(o.slice(0,r).join("-")),a)return a;if(n&&n.length>=r&&commonPrefix(o,n)>=r-1)break;r--}t++}return globalLocale}function isLocaleNameSane(e){return e.match("^[^/\\\\]*$")!=null}function loadLocale(e){var t=null,r;if(locales[e]===void 0&&typeof module<"u"&&module&&module.exports&&isLocaleNameSane(e))try{t=globalLocale._abbr,r=require,r("./locale/"+e),getSetGlobalLocale(t)}catch{locales[e]=null}return locales[e]}function getSetGlobalLocale(e,t){var r;return e&&(isUndefined(t)?r=getLocale(e):r=defineLocale(e,t),r?globalLocale=r:typeof console<"u"&&console.warn&&console.warn("Locale "+e+" not found. Did you forget to load it?")),globalLocale._abbr}function defineLocale(e,t){if(t!==null){var r,n=baseConfig;if(t.abbr=e,locales[e]!=null)deprecateSimple("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),n=locales[e]._config;else if(t.parentLocale!=null)if(locales[t.parentLocale]!=null)n=locales[t.parentLocale]._config;else if(r=loadLocale(t.parentLocale),r!=null)n=r._config;else return localeFamilies[t.parentLocale]||(localeFamilies[t.parentLocale]=[]),localeFamilies[t.parentLocale].push({name:e,config:t}),null;return locales[e]=new Locale(mergeConfigs(n,t)),localeFamilies[e]&&localeFamilies[e].forEach(function(a){defineLocale(a.name,a.config)}),getSetGlobalLocale(e),locales[e]}else return delete locales[e],null}function updateLocale(e,t){if(t!=null){var r,n,a=baseConfig;locales[e]!=null&&locales[e].parentLocale!=null?locales[e].set(mergeConfigs(locales[e]._config,t)):(n=loadLocale(e),n!=null&&(a=n._config),t=mergeConfigs(a,t),n==null&&(t.abbr=e),r=new Locale(t),r.parentLocale=locales[e],locales[e]=r),getSetGlobalLocale(e)}else locales[e]!=null&&(locales[e].parentLocale!=null?(locales[e]=locales[e].parentLocale,e===getSetGlobalLocale()&&getSetGlobalLocale(e)):locales[e]!=null&&delete locales[e]);return locales[e]}function getLocale(e){var t;if(e&&e._locale&&e._locale._abbr&&(e=e._locale._abbr),!e)return globalLocale;if(!isArray(e)){if(t=loadLocale(e),t)return t;e=[e]}return chooseLocale(e)}function listLocales(){return keys(locales)}function checkOverflow(e){var t,r=e._a;return r&&getParsingFlags(e).overflow===-2&&(t=r[MONTH]<0||r[MONTH]>11?MONTH:r[DATE]<1||r[DATE]>daysInMonth(r[YEAR],r[MONTH])?DATE:r[HOUR]<0||r[HOUR]>24||r[HOUR]===24&&(r[MINUTE]!==0||r[SECOND]!==0||r[MILLISECOND]!==0)?HOUR:r[MINUTE]<0||r[MINUTE]>59?MINUTE:r[SECOND]<0||r[SECOND]>59?SECOND:r[MILLISECOND]<0||r[MILLISECOND]>999?MILLISECOND:-1,getParsingFlags(e)._overflowDayOfYear&&(t<YEAR||t>DATE)&&(t=DATE),getParsingFlags(e)._overflowWeeks&&t===-1&&(t=WEEK),getParsingFlags(e)._overflowWeekday&&t===-1&&(t=WEEKDAY),getParsingFlags(e).overflow=t),e}var extendedIsoRegex=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,basicIsoRegex=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d|))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([+-]\d\d(?::?\d\d)?|\s*Z)?)?$/,tzRegex=/Z|[+-]\d\d(?::?\d\d)?/,isoDates=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/],["YYYYMM",/\d{6}/,!1],["YYYY",/\d{4}/,!1]],isoTimes=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],aspNetJsonRegex=/^\/?Date\((-?\d+)/i,rfc2822=/^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/,obsOffsets={UT:0,GMT:0,EDT:-4*60,EST:-5*60,CDT:-5*60,CST:-6*60,MDT:-6*60,MST:-7*60,PDT:-7*60,PST:-8*60};function configFromISO(e){var t,r,n=e._i,a=extendedIsoRegex.exec(n)||basicIsoRegex.exec(n),o,s,u,l,c=isoDates.length,d=isoTimes.length;if(a){for(getParsingFlags(e).iso=!0,t=0,r=c;t<r;t++)if(isoDates[t][1].exec(a[1])){s=isoDates[t][0],o=isoDates[t][2]!==!1;break}if(s==null){e._isValid=!1;return}if(a[3]){for(t=0,r=d;t<r;t++)if(isoTimes[t][1].exec(a[3])){u=(a[2]||" ")+isoTimes[t][0];break}if(u==null){e._isValid=!1;return}}if(!o&&u!=null){e._isValid=!1;return}if(a[4])if(tzRegex.exec(a[4]))l="Z";else{e._isValid=!1;return}e._f=s+(u||"")+(l||""),configFromStringAndFormat(e)}else e._isValid=!1}function extractFromRFC2822Strings(e,t,r,n,a,o){var s=[untruncateYear(e),defaultLocaleMonthsShort.indexOf(t),parseInt(r,10),parseInt(n,10),parseInt(a,10)];return o&&s.push(parseInt(o,10)),s}function untruncateYear(e){var t=parseInt(e,10);return t<=49?2e3+t:t<=999?1900+t:t}function preprocessRFC2822(e){return e.replace(/\([^()]*\)|[\n\t]/g," ").replace(/(\s\s+)/g," ").replace(/^\s\s*/,"").replace(/\s\s*$/,"")}function checkWeekday(e,t,r){if(e){var n=defaultLocaleWeekdaysShort.indexOf(e),a=new Date(t[0],t[1],t[2]).getDay();if(n!==a)return getParsingFlags(r).weekdayMismatch=!0,r._isValid=!1,!1}return!0}function calculateOffset(e,t,r){if(e)return obsOffsets[e];if(t)return 0;var n=parseInt(r,10),a=n%100,o=(n-a)/100;return o*60+a}function configFromRFC2822(e){var t=rfc2822.exec(preprocessRFC2822(e._i)),r;if(t){if(r=extractFromRFC2822Strings(t[4],t[3],t[2],t[5],t[6],t[7]),!checkWeekday(t[1],r,e))return;e._a=r,e._tzm=calculateOffset(t[8],t[9],t[10]),e._d=createUTCDate.apply(null,e._a),e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),getParsingFlags(e).rfc2822=!0}else e._isValid=!1}function configFromString(e){var t=aspNetJsonRegex.exec(e._i);if(t!==null){e._d=new Date(+t[1]);return}if(configFromISO(e),e._isValid===!1)delete e._isValid;else return;if(configFromRFC2822(e),e._isValid===!1)delete e._isValid;else return;e._strict?e._isValid=!1:hooks.createFromInputFallback(e)}hooks.createFromInputFallback=deprecate("value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are discouraged. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",function(e){e._d=new Date(e._i+(e._useUTC?" UTC":""))});function defaults(e,t,r){return e!=null?e:t!=null?t:r}function currentDateArray(e){var t=new Date(hooks.now());return e._useUTC?[t.getUTCFullYear(),t.getUTCMonth(),t.getUTCDate()]:[t.getFullYear(),t.getMonth(),t.getDate()]}function configFromArray(e){var t,r,n=[],a,o,s;if(!e._d){for(a=currentDateArray(e),e._w&&e._a[DATE]==null&&e._a[MONTH]==null&&dayOfYearFromWeekInfo(e),e._dayOfYear!=null&&(s=defaults(e._a[YEAR],a[YEAR]),(e._dayOfYear>daysInYear(s)||e._dayOfYear===0)&&(getParsingFlags(e)._overflowDayOfYear=!0),r=createUTCDate(s,0,e._dayOfYear),e._a[MONTH]=r.getUTCMonth(),e._a[DATE]=r.getUTCDate()),t=0;t<3&&e._a[t]==null;++t)e._a[t]=n[t]=a[t];for(;t<7;t++)e._a[t]=n[t]=e._a[t]==null?t===2?1:0:e._a[t];e._a[HOUR]===24&&e._a[MINUTE]===0&&e._a[SECOND]===0&&e._a[MILLISECOND]===0&&(e._nextDay=!0,e._a[HOUR]=0),e._d=(e._useUTC?createUTCDate:createDate).apply(null,n),o=e._useUTC?e._d.getUTCDay():e._d.getDay(),e._tzm!=null&&e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),e._nextDay&&(e._a[HOUR]=24),e._w&&typeof e._w.d<"u"&&e._w.d!==o&&(getParsingFlags(e).weekdayMismatch=!0)}}function dayOfYearFromWeekInfo(e){var t,r,n,a,o,s,u,l,c;t=e._w,t.GG!=null||t.W!=null||t.E!=null?(o=1,s=4,r=defaults(t.GG,e._a[YEAR],weekOfYear(createLocal(),1,4).year),n=defaults(t.W,1),a=defaults(t.E,1),(a<1||a>7)&&(l=!0)):(o=e._locale._week.dow,s=e._locale._week.doy,c=weekOfYear(createLocal(),o,s),r=defaults(t.gg,e._a[YEAR],c.year),n=defaults(t.w,c.week),t.d!=null?(a=t.d,(a<0||a>6)&&(l=!0)):t.e!=null?(a=t.e+o,(t.e<0||t.e>6)&&(l=!0)):a=o),n<1||n>weeksInYear(r,o,s)?getParsingFlags(e)._overflowWeeks=!0:l!=null?getParsingFlags(e)._overflowWeekday=!0:(u=dayOfYearFromWeeks(r,n,a,o,s),e._a[YEAR]=u.year,e._dayOfYear=u.dayOfYear)}hooks.ISO_8601=function(){},hooks.RFC_2822=function(){};function configFromStringAndFormat(e){if(e._f===hooks.ISO_8601){configFromISO(e);return}if(e._f===hooks.RFC_2822){configFromRFC2822(e);return}e._a=[],getParsingFlags(e).empty=!0;var t=""+e._i,r,n,a,o,s,u=t.length,l=0,c,d;for(a=expandFormat(e._f,e._locale).match(formattingTokens)||[],d=a.length,r=0;r<d;r++)o=a[r],n=(t.match(getParseRegexForToken(o,e))||[])[0],n&&(s=t.substr(0,t.indexOf(n)),s.length>0&&getParsingFlags(e).unusedInput.push(s),t=t.slice(t.indexOf(n)+n.length),l+=n.length),formatTokenFunctions[o]?(n?getParsingFlags(e).empty=!1:getParsingFlags(e).unusedTokens.push(o),addTimeToArrayFromToken(o,n,e)):e._strict&&!n&&getParsingFlags(e).unusedTokens.push(o);getParsingFlags(e).charsLeftOver=u-l,t.length>0&&getParsingFlags(e).unusedInput.push(t),e._a[HOUR]<=12&&getParsingFlags(e).bigHour===!0&&e._a[HOUR]>0&&(getParsingFlags(e).bigHour=void 0),getParsingFlags(e).parsedDateParts=e._a.slice(0),getParsingFlags(e).meridiem=e._meridiem,e._a[HOUR]=meridiemFixWrap(e._locale,e._a[HOUR],e._meridiem),c=getParsingFlags(e).era,c!==null&&(e._a[YEAR]=e._locale.erasConvertYear(c,e._a[YEAR])),configFromArray(e),checkOverflow(e)}function meridiemFixWrap(e,t,r){var n;return r==null?t:e.meridiemHour!=null?e.meridiemHour(t,r):(e.isPM!=null&&(n=e.isPM(r),n&&t<12&&(t+=12),!n&&t===12&&(t=0)),t)}function configFromStringAndArray(e){var t,r,n,a,o,s,u=!1,l=e._f.length;if(l===0){getParsingFlags(e).invalidFormat=!0,e._d=new Date(NaN);return}for(a=0;a<l;a++)o=0,s=!1,t=copyConfig({},e),e._useUTC!=null&&(t._useUTC=e._useUTC),t._f=e._f[a],configFromStringAndFormat(t),isValid(t)&&(s=!0),o+=getParsingFlags(t).charsLeftOver,o+=getParsingFlags(t).unusedTokens.length*10,getParsingFlags(t).score=o,u?o<n&&(n=o,r=t):(n==null||o<n||s)&&(n=o,r=t,s&&(u=!0));extend(e,r||t)}function configFromObject(e){if(!e._d){var t=normalizeObjectUnits(e._i),r=t.day===void 0?t.date:t.day;e._a=map([t.year,t.month,r,t.hour,t.minute,t.second,t.millisecond],function(n){return n&&parseInt(n,10)}),configFromArray(e)}}function createFromConfig(e){var t=new Moment(checkOverflow(prepareConfig(e)));return t._nextDay&&(t.add(1,"d"),t._nextDay=void 0),t}function prepareConfig(e){var t=e._i,r=e._f;return e._locale=e._locale||getLocale(e._l),t===null||r===void 0&&t===""?createInvalid({nullInput:!0}):(typeof t=="string"&&(e._i=t=e._locale.preparse(t)),isMoment(t)?new Moment(checkOverflow(t)):(isDate(t)?e._d=t:isArray(r)?configFromStringAndArray(e):r?configFromStringAndFormat(e):configFromInput(e),isValid(e)||(e._d=null),e))}function configFromInput(e){var t=e._i;isUndefined(t)?e._d=new Date(hooks.now()):isDate(t)?e._d=new Date(t.valueOf()):typeof t=="string"?configFromString(e):isArray(t)?(e._a=map(t.slice(0),function(r){return parseInt(r,10)}),configFromArray(e)):isObject(t)?configFromObject(e):isNumber$1(t)?e._d=new Date(t):hooks.createFromInputFallback(e)}function createLocalOrUTC(e,t,r,n,a){var o={};return(t===!0||t===!1)&&(n=t,t=void 0),(r===!0||r===!1)&&(n=r,r=void 0),(isObject(e)&&isObjectEmpty(e)||isArray(e)&&e.length===0)&&(e=void 0),o._isAMomentObject=!0,o._useUTC=o._isUTC=a,o._l=r,o._i=e,o._f=t,o._strict=n,createFromConfig(o)}function createLocal(e,t,r,n){return createLocalOrUTC(e,t,r,n,!1)}var prototypeMin=deprecate("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var e=createLocal.apply(null,arguments);return this.isValid()&&e.isValid()?e<this?this:e:createInvalid()}),prototypeMax=deprecate("moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var e=createLocal.apply(null,arguments);return this.isValid()&&e.isValid()?e>this?this:e:createInvalid()});function pickBy(e,t){var r,n;if(t.length===1&&isArray(t[0])&&(t=t[0]),!t.length)return createLocal();for(r=t[0],n=1;n<t.length;++n)(!t[n].isValid()||t[n][e](r))&&(r=t[n]);return r}function min(){var e=[].slice.call(arguments,0);return pickBy("isBefore",e)}function max(){var e=[].slice.call(arguments,0);return pickBy("isAfter",e)}var now=function(){return Date.now?Date.now():+new Date},ordering=["year","quarter","month","week","day","hour","minute","second","millisecond"];function isDurationValid(e){var t,r=!1,n,a=ordering.length;for(t in e)if(hasOwnProp(e,t)&&!(indexOf.call(ordering,t)!==-1&&(e[t]==null||!isNaN(e[t]))))return!1;for(n=0;n<a;++n)if(e[ordering[n]]){if(r)return!1;parseFloat(e[ordering[n]])!==toInt(e[ordering[n]])&&(r=!0)}return!0}function isValid$1(){return this._isValid}function createInvalid$1(){return createDuration(NaN)}function Duration(e){var t=normalizeObjectUnits(e),r=t.year||0,n=t.quarter||0,a=t.month||0,o=t.week||t.isoWeek||0,s=t.day||0,u=t.hour||0,l=t.minute||0,c=t.second||0,d=t.millisecond||0;this._isValid=isDurationValid(t),this._milliseconds=+d+c*1e3+l*6e4+u*1e3*60*60,this._days=+s+o*7,this._months=+a+n*3+r*12,this._data={},this._locale=getLocale(),this._bubble()}function isDuration(e){return e instanceof Duration}function absRound(e){return e<0?Math.round(-1*e)*-1:Math.round(e)}function compareArrays(e,t,r){var n=Math.min(e.length,t.length),a=Math.abs(e.length-t.length),o=0,s;for(s=0;s<n;s++)(r&&e[s]!==t[s]||!r&&toInt(e[s])!==toInt(t[s]))&&o++;return o+a}function offset(e,t){addFormatToken(e,0,0,function(){var r=this.utcOffset(),n="+";return r<0&&(r=-r,n="-"),n+zeroFill(~~(r/60),2)+t+zeroFill(~~r%60,2)})}offset("Z",":"),offset("ZZ",""),addRegexToken("Z",matchShortOffset),addRegexToken("ZZ",matchShortOffset),addParseToken(["Z","ZZ"],function(e,t,r){r._useUTC=!0,r._tzm=offsetFromString(matchShortOffset,e)});var chunkOffset=/([\+\-]|\d\d)/gi;function offsetFromString(e,t){var r=(t||"").match(e),n,a,o;return r===null?null:(n=r[r.length-1]||[],a=(n+"").match(chunkOffset)||["-",0,0],o=+(a[1]*60)+toInt(a[2]),o===0?0:a[0]==="+"?o:-o)}function cloneWithOffset(e,t){var r,n;return t._isUTC?(r=t.clone(),n=(isMoment(e)||isDate(e)?e.valueOf():createLocal(e).valueOf())-r.valueOf(),r._d.setTime(r._d.valueOf()+n),hooks.updateOffset(r,!1),r):createLocal(e).local()}function getDateOffset(e){return-Math.round(e._d.getTimezoneOffset())}hooks.updateOffset=function(){};function getSetOffset(e,t,r){var n=this._offset||0,a;if(!this.isValid())return e!=null?this:NaN;if(e!=null){if(typeof e=="string"){if(e=offsetFromString(matchShortOffset,e),e===null)return this}else Math.abs(e)<16&&!r&&(e=e*60);return!this._isUTC&&t&&(a=getDateOffset(this)),this._offset=e,this._isUTC=!0,a!=null&&this.add(a,"m"),n!==e&&(!t||this._changeInProgress?addSubtract(this,createDuration(e-n,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,hooks.updateOffset(this,!0),this._changeInProgress=null)),this}else return this._isUTC?n:getDateOffset(this)}function getSetZone(e,t){return e!=null?(typeof e!="string"&&(e=-e),this.utcOffset(e,t),this):-this.utcOffset()}function setOffsetToUTC(e){return this.utcOffset(0,e)}function setOffsetToLocal(e){return this._isUTC&&(this.utcOffset(0,e),this._isUTC=!1,e&&this.subtract(getDateOffset(this),"m")),this}function setOffsetToParsedOffset(){if(this._tzm!=null)this.utcOffset(this._tzm,!1,!0);else if(typeof this._i=="string"){var e=offsetFromString(matchOffset,this._i);e!=null?this.utcOffset(e):this.utcOffset(0,!0)}return this}function hasAlignedHourOffset(e){return this.isValid()?(e=e?createLocal(e).utcOffset():0,(this.utcOffset()-e)%60===0):!1}function isDaylightSavingTime(){return this.utcOffset()>this.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function isDaylightSavingTimeShifted(){if(!isUndefined(this._isDSTShifted))return this._isDSTShifted;var e={},t;return copyConfig(e,this),e=prepareConfig(e),e._a?(t=e._isUTC?createUTC(e._a):createLocal(e._a),this._isDSTShifted=this.isValid()&&compareArrays(e._a,t.toArray())>0):this._isDSTShifted=!1,this._isDSTShifted}function isLocal(){return this.isValid()?!this._isUTC:!1}function isUtcOffset(){return this.isValid()?this._isUTC:!1}function isUtc(){return this.isValid()?this._isUTC&&this._offset===0:!1}var aspNetRegex=/^(-|\+)?(?:(\d*)[. ])?(\d+):(\d+)(?::(\d+)(\.\d*)?)?$/,isoRegex=/^(-|\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;function createDuration(e,t){var r=e,n=null,a,o,s;return isDuration(e)?r={ms:e._milliseconds,d:e._days,M:e._months}:isNumber$1(e)||!isNaN(+e)?(r={},t?r[t]=+e:r.milliseconds=+e):(n=aspNetRegex.exec(e))?(a=n[1]==="-"?-1:1,r={y:0,d:toInt(n[DATE])*a,h:toInt(n[HOUR])*a,m:toInt(n[MINUTE])*a,s:toInt(n[SECOND])*a,ms:toInt(absRound(n[MILLISECOND]*1e3))*a}):(n=isoRegex.exec(e))?(a=n[1]==="-"?-1:1,r={y:parseIso(n[2],a),M:parseIso(n[3],a),w:parseIso(n[4],a),d:parseIso(n[5],a),h:parseIso(n[6],a),m:parseIso(n[7],a),s:parseIso(n[8],a)}):r==null?r={}:typeof r=="object"&&("from"in r||"to"in r)&&(s=momentsDifference(createLocal(r.from),createLocal(r.to)),r={},r.ms=s.milliseconds,r.M=s.months),o=new Duration(r),isDuration(e)&&hasOwnProp(e,"_locale")&&(o._locale=e._locale),isDuration(e)&&hasOwnProp(e,"_isValid")&&(o._isValid=e._isValid),o}createDuration.fn=Duration.prototype,createDuration.invalid=createInvalid$1;function parseIso(e,t){var r=e&&parseFloat(e.replace(",","."));return(isNaN(r)?0:r)*t}function positiveMomentsDifference(e,t){var r={};return r.months=t.month()-e.month()+(t.year()-e.year())*12,e.clone().add(r.months,"M").isAfter(t)&&--r.months,r.milliseconds=+t-+e.clone().add(r.months,"M"),r}function momentsDifference(e,t){var r;return e.isValid()&&t.isValid()?(t=cloneWithOffset(t,e),e.isBefore(t)?r=positiveMomentsDifference(e,t):(r=positiveMomentsDifference(t,e),r.milliseconds=-r.milliseconds,r.months=-r.months),r):{milliseconds:0,months:0}}function createAdder(e,t){return function(r,n){var a,o;return n!==null&&!isNaN(+n)&&(deprecateSimple(t,"moment()."+t+"(period, number) is deprecated. Please use moment()."+t+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),o=r,r=n,n=o),a=createDuration(r,n),addSubtract(this,a,e),this}}function addSubtract(e,t,r,n){var a=t._milliseconds,o=absRound(t._days),s=absRound(t._months);!e.isValid()||(n=n==null?!0:n,s&&setMonth(e,get(e,"Month")+s*r),o&&set$1(e,"Date",get(e,"Date")+o*r),a&&e._d.setTime(e._d.valueOf()+a*r),n&&hooks.updateOffset(e,o||s))}var add=createAdder(1,"add"),subtract=createAdder(-1,"subtract");function isString(e){return typeof e=="string"||e instanceof String}function isMomentInput(e){return isMoment(e)||isDate(e)||isString(e)||isNumber$1(e)||isNumberOrStringArray(e)||isMomentInputObject(e)||e===null||e===void 0}function isMomentInputObject(e){var t=isObject(e)&&!isObjectEmpty(e),r=!1,n=["years","year","y","months","month","M","days","day","d","dates","date","D","hours","hour","h","minutes","minute","m","seconds","second","s","milliseconds","millisecond","ms"],a,o,s=n.length;for(a=0;a<s;a+=1)o=n[a],r=r||hasOwnProp(e,o);return t&&r}function isNumberOrStringArray(e){var t=isArray(e),r=!1;return t&&(r=e.filter(function(n){return!isNumber$1(n)&&isString(e)}).length===0),t&&r}function isCalendarSpec(e){var t=isObject(e)&&!isObjectEmpty(e),r=!1,n=["sameDay","nextDay","lastDay","nextWeek","lastWeek","sameElse"],a,o;for(a=0;a<n.length;a+=1)o=n[a],r=r||hasOwnProp(e,o);return t&&r}function getCalendarFormat(e,t){var r=e.diff(t,"days",!0);return r<-6?"sameElse":r<-1?"lastWeek":r<0?"lastDay":r<1?"sameDay":r<2?"nextDay":r<7?"nextWeek":"sameElse"}function calendar$1(e,t){arguments.length===1&&(arguments[0]?isMomentInput(arguments[0])?(e=arguments[0],t=void 0):isCalendarSpec(arguments[0])&&(t=arguments[0],e=void 0):(e=void 0,t=void 0));var r=e||createLocal(),n=cloneWithOffset(r,this).startOf("day"),a=hooks.calendarFormat(this,n)||"sameElse",o=t&&(isFunction(t[a])?t[a].call(this,r):t[a]);return this.format(o||this.localeData().calendar(a,this,createLocal(r)))}function clone(){return new Moment(this)}function isAfter(e,t){var r=isMoment(e)?e:createLocal(e);return this.isValid()&&r.isValid()?(t=normalizeUnits(t)||"millisecond",t==="millisecond"?this.valueOf()>r.valueOf():r.valueOf()<this.clone().startOf(t).valueOf()):!1}function isBefore(e,t){var r=isMoment(e)?e:createLocal(e);return this.isValid()&&r.isValid()?(t=normalizeUnits(t)||"millisecond",t==="millisecond"?this.valueOf()<r.valueOf():this.clone().endOf(t).valueOf()<r.valueOf()):!1}function isBetween(e,t,r,n){var a=isMoment(e)?e:createLocal(e),o=isMoment(t)?t:createLocal(t);return this.isValid()&&a.isValid()&&o.isValid()?(n=n||"()",(n[0]==="("?this.isAfter(a,r):!this.isBefore(a,r))&&(n[1]===")"?this.isBefore(o,r):!this.isAfter(o,r))):!1}function isSame(e,t){var r=isMoment(e)?e:createLocal(e),n;return this.isValid()&&r.isValid()?(t=normalizeUnits(t)||"millisecond",t==="millisecond"?this.valueOf()===r.valueOf():(n=r.valueOf(),this.clone().startOf(t).valueOf()<=n&&n<=this.clone().endOf(t).valueOf())):!1}function isSameOrAfter(e,t){return this.isSame(e,t)||this.isAfter(e,t)}function isSameOrBefore(e,t){return this.isSame(e,t)||this.isBefore(e,t)}function diff(e,t,r){var n,a,o;if(!this.isValid())return NaN;if(n=cloneWithOffset(e,this),!n.isValid())return NaN;switch(a=(n.utcOffset()-this.utcOffset())*6e4,t=normalizeUnits(t),t){case"year":o=monthDiff(this,n)/12;break;case"month":o=monthDiff(this,n);break;case"quarter":o=monthDiff(this,n)/3;break;case"second":o=(this-n)/1e3;break;case"minute":o=(this-n)/6e4;break;case"hour":o=(this-n)/36e5;break;case"day":o=(this-n-a)/864e5;break;case"week":o=(this-n-a)/6048e5;break;default:o=this-n}return r?o:absFloor(o)}function monthDiff(e,t){if(e.date()<t.date())return-monthDiff(t,e);var r=(t.year()-e.year())*12+(t.month()-e.month()),n=e.clone().add(r,"months"),a,o;return t-n<0?(a=e.clone().add(r-1,"months"),o=(t-n)/(n-a)):(a=e.clone().add(r+1,"months"),o=(t-n)/(a-n)),-(r+o)||0}hooks.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",hooks.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";function toString(){return this.clone().locale("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")}function toISOString(e){if(!this.isValid())return null;var t=e!==!0,r=t?this.clone().utc():this;return r.year()<0||r.year()>9999?formatMoment(r,t?"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYYYY-MM-DD[T]HH:mm:ss.SSSZ"):isFunction(Date.prototype.toISOString)?t?this.toDate().toISOString():new Date(this.valueOf()+this.utcOffset()*60*1e3).toISOString().replace("Z",formatMoment(r,"Z")):formatMoment(r,t?"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]":"YYYY-MM-DD[T]HH:mm:ss.SSSZ")}function inspect(){if(!this.isValid())return"moment.invalid(/* "+this._i+" */)";var e="moment",t="",r,n,a,o;return this.isLocal()||(e=this.utcOffset()===0?"moment.utc":"moment.parseZone",t="Z"),r="["+e+'("]',n=0<=this.year()&&this.year()<=9999?"YYYY":"YYYYYY",a="-MM-DD[T]HH:mm:ss.SSS",o=t+'[")]',this.format(r+n+a+o)}function format(e){e||(e=this.isUtc()?hooks.defaultFormatUtc:hooks.defaultFormat);var t=formatMoment(this,e);return this.localeData().postformat(t)}function from(e,t){return this.isValid()&&(isMoment(e)&&e.isValid()||createLocal(e).isValid())?createDuration({to:this,from:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()}function fromNow(e){return this.from(createLocal(),e)}function to(e,t){return this.isValid()&&(isMoment(e)&&e.isValid()||createLocal(e).isValid())?createDuration({from:this,to:e}).locale(this.locale()).humanize(!t):this.localeData().invalidDate()}function toNow(e){return this.to(createLocal(),e)}function locale(e){var t;return e===void 0?this._locale._abbr:(t=getLocale(e),t!=null&&(this._locale=t),this)}var lang=deprecate("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(e){return e===void 0?this.localeData():this.locale(e)});function localeData(){return this._locale}var MS_PER_SECOND=1e3,MS_PER_MINUTE=60*MS_PER_SECOND,MS_PER_HOUR=60*MS_PER_MINUTE,MS_PER_400_YEARS=(365*400+97)*24*MS_PER_HOUR;function mod$1(e,t){return(e%t+t)%t}function localStartOfDate(e,t,r){return e<100&&e>=0?new Date(e+400,t,r)-MS_PER_400_YEARS:new Date(e,t,r).valueOf()}function utcStartOfDate(e,t,r){return e<100&&e>=0?Date.UTC(e+400,t,r)-MS_PER_400_YEARS:Date.UTC(e,t,r)}function startOf(e){var t,r;if(e=normalizeUnits(e),e===void 0||e==="millisecond"||!this.isValid())return this;switch(r=this._isUTC?utcStartOfDate:localStartOfDate,e){case"year":t=r(this.year(),0,1);break;case"quarter":t=r(this.year(),this.month()-this.month()%3,1);break;case"month":t=r(this.year(),this.month(),1);break;case"week":t=r(this.year(),this.month(),this.date()-this.weekday());break;case"isoWeek":t=r(this.year(),this.month(),this.date()-(this.isoWeekday()-1));break;case"day":case"date":t=r(this.year(),this.month(),this.date());break;case"hour":t=this._d.valueOf(),t-=mod$1(t+(this._isUTC?0:this.utcOffset()*MS_PER_MINUTE),MS_PER_HOUR);break;case"minute":t=this._d.valueOf(),t-=mod$1(t,MS_PER_MINUTE);break;case"second":t=this._d.valueOf(),t-=mod$1(t,MS_PER_SECOND);break}return this._d.setTime(t),hooks.updateOffset(this,!0),this}function endOf(e){var t,r;if(e=normalizeUnits(e),e===void 0||e==="millisecond"||!this.isValid())return this;switch(r=this._isUTC?utcStartOfDate:localStartOfDate,e){case"year":t=r(this.year()+1,0,1)-1;break;case"quarter":t=r(this.year(),this.month()-this.month()%3+3,1)-1;break;case"month":t=r(this.year(),this.month()+1,1)-1;break;case"week":t=r(this.year(),this.month(),this.date()-this.weekday()+7)-1;break;case"isoWeek":t=r(this.year(),this.month(),this.date()-(this.isoWeekday()-1)+7)-1;break;case"day":case"date":t=r(this.year(),this.month(),this.date()+1)-1;break;case"hour":t=this._d.valueOf(),t+=MS_PER_HOUR-mod$1(t+(this._isUTC?0:this.utcOffset()*MS_PER_MINUTE),MS_PER_HOUR)-1;break;case"minute":t=this._d.valueOf(),t+=MS_PER_MINUTE-mod$1(t,MS_PER_MINUTE)-1;break;case"second":t=this._d.valueOf(),t+=MS_PER_SECOND-mod$1(t,MS_PER_SECOND)-1;break}return this._d.setTime(t),hooks.updateOffset(this,!0),this}function valueOf(){return this._d.valueOf()-(this._offset||0)*6e4}function unix(){return Math.floor(this.valueOf()/1e3)}function toDate(){return new Date(this.valueOf())}function toArray$1(){var e=this;return[e.year(),e.month(),e.date(),e.hour(),e.minute(),e.second(),e.millisecond()]}function toObject(){var e=this;return{years:e.year(),months:e.month(),date:e.date(),hours:e.hours(),minutes:e.minutes(),seconds:e.seconds(),milliseconds:e.milliseconds()}}function toJSON(){return this.isValid()?this.toISOString():null}function isValid$2(){return isValid(this)}function parsingFlags(){return extend({},getParsingFlags(this))}function invalidAt(){return getParsingFlags(this).overflow}function creationData(){return{input:this._i,format:this._f,locale:this._locale,isUTC:this._isUTC,strict:this._strict}}addFormatToken("N",0,0,"eraAbbr"),addFormatToken("NN",0,0,"eraAbbr"),addFormatToken("NNN",0,0,"eraAbbr"),addFormatToken("NNNN",0,0,"eraName"),addFormatToken("NNNNN",0,0,"eraNarrow"),addFormatToken("y",["y",1],"yo","eraYear"),addFormatToken("y",["yy",2],0,"eraYear"),addFormatToken("y",["yyy",3],0,"eraYear"),addFormatToken("y",["yyyy",4],0,"eraYear"),addRegexToken("N",matchEraAbbr),addRegexToken("NN",matchEraAbbr),addRegexToken("NNN",matchEraAbbr),addRegexToken("NNNN",matchEraName),addRegexToken("NNNNN",matchEraNarrow),addParseToken(["N","NN","NNN","NNNN","NNNNN"],function(e,t,r,n){var a=r._locale.erasParse(e,n,r._strict);a?getParsingFlags(r).era=a:getParsingFlags(r).invalidEra=e}),addRegexToken("y",matchUnsigned),addRegexToken("yy",matchUnsigned),addRegexToken("yyy",matchUnsigned),addRegexToken("yyyy",matchUnsigned),addRegexToken("yo",matchEraYearOrdinal),addParseToken(["y","yy","yyy","yyyy"],YEAR),addParseToken(["yo"],function(e,t,r,n){var a;r._locale._eraYearOrdinalRegex&&(a=e.match(r._locale._eraYearOrdinalRegex)),r._locale.eraYearOrdinalParse?t[YEAR]=r._locale.eraYearOrdinalParse(e,a):t[YEAR]=parseInt(e,10)});function localeEras(e,t){var r,n,a,o=this._eras||getLocale("en")._eras;for(r=0,n=o.length;r<n;++r){switch(typeof o[r].since){case"string":a=hooks(o[r].since).startOf("day"),o[r].since=a.valueOf();break}switch(typeof o[r].until){case"undefined":o[r].until=1/0;break;case"string":a=hooks(o[r].until).startOf("day").valueOf(),o[r].until=a.valueOf();break}}return o}function localeErasParse(e,t,r){var n,a,o=this.eras(),s,u,l;for(e=e.toUpperCase(),n=0,a=o.length;n<a;++n)if(s=o[n].name.toUpperCase(),u=o[n].abbr.toUpperCase(),l=o[n].narrow.toUpperCase(),r)switch(t){case"N":case"NN":case"NNN":if(u===e)return o[n];break;case"NNNN":if(s===e)return o[n];break;case"NNNNN":if(l===e)return o[n];break}else if([s,u,l].indexOf(e)>=0)return o[n]}function localeErasConvertYear(e,t){var r=e.since<=e.until?1:-1;return t===void 0?hooks(e.since).year():hooks(e.since).year()+(t-e.offset)*r}function getEraName(){var e,t,r,n=this.localeData().eras();for(e=0,t=n.length;e<t;++e)if(r=this.clone().startOf("day").valueOf(),n[e].since<=r&&r<=n[e].until||n[e].until<=r&&r<=n[e].since)return n[e].name;return""}function getEraNarrow(){var e,t,r,n=this.localeData().eras();for(e=0,t=n.length;e<t;++e)if(r=this.clone().startOf("day").valueOf(),n[e].since<=r&&r<=n[e].until||n[e].until<=r&&r<=n[e].since)return n[e].narrow;return""}function getEraAbbr(){var e,t,r,n=this.localeData().eras();for(e=0,t=n.length;e<t;++e)if(r=this.clone().startOf("day").valueOf(),n[e].since<=r&&r<=n[e].until||n[e].until<=r&&r<=n[e].since)return n[e].abbr;return""}function getEraYear(){var e,t,r,n,a=this.localeData().eras();for(e=0,t=a.length;e<t;++e)if(r=a[e].since<=a[e].until?1:-1,n=this.clone().startOf("day").valueOf(),a[e].since<=n&&n<=a[e].until||a[e].until<=n&&n<=a[e].since)return(this.year()-hooks(a[e].since).year())*r+a[e].offset;return this.year()}function erasNameRegex(e){return hasOwnProp(this,"_erasNameRegex")||computeErasParse.call(this),e?this._erasNameRegex:this._erasRegex}function erasAbbrRegex(e){return hasOwnProp(this,"_erasAbbrRegex")||computeErasParse.call(this),e?this._erasAbbrRegex:this._erasRegex}function erasNarrowRegex(e){return hasOwnProp(this,"_erasNarrowRegex")||computeErasParse.call(this),e?this._erasNarrowRegex:this._erasRegex}function matchEraAbbr(e,t){return t.erasAbbrRegex(e)}function matchEraName(e,t){return t.erasNameRegex(e)}function matchEraNarrow(e,t){return t.erasNarrowRegex(e)}function matchEraYearOrdinal(e,t){return t._eraYearOrdinalRegex||matchUnsigned}function computeErasParse(){var e=[],t=[],r=[],n=[],a,o,s=this.eras();for(a=0,o=s.length;a<o;++a)t.push(regexEscape(s[a].name)),e.push(regexEscape(s[a].abbr)),r.push(regexEscape(s[a].narrow)),n.push(regexEscape(s[a].name)),n.push(regexEscape(s[a].abbr)),n.push(regexEscape(s[a].narrow));this._erasRegex=new RegExp("^("+n.join("|")+")","i"),this._erasNameRegex=new RegExp("^("+t.join("|")+")","i"),this._erasAbbrRegex=new RegExp("^("+e.join("|")+")","i"),this._erasNarrowRegex=new RegExp("^("+r.join("|")+")","i")}addFormatToken(0,["gg",2],0,function(){return this.weekYear()%100}),addFormatToken(0,["GG",2],0,function(){return this.isoWeekYear()%100});function addWeekYearFormatToken(e,t){addFormatToken(0,[e,e.length],0,t)}addWeekYearFormatToken("gggg","weekYear"),addWeekYearFormatToken("ggggg","weekYear"),addWeekYearFormatToken("GGGG","isoWeekYear"),addWeekYearFormatToken("GGGGG","isoWeekYear"),addUnitAlias("weekYear","gg"),addUnitAlias("isoWeekYear","GG"),addUnitPriority("weekYear",1),addUnitPriority("isoWeekYear",1),addRegexToken("G",matchSigned),addRegexToken("g",matchSigned),addRegexToken("GG",match1to2,match2),addRegexToken("gg",match1to2,match2),addRegexToken("GGGG",match1to4,match4),addRegexToken("gggg",match1to4,match4),addRegexToken("GGGGG",match1to6,match6),addRegexToken("ggggg",match1to6,match6),addWeekParseToken(["gggg","ggggg","GGGG","GGGGG"],function(e,t,r,n){t[n.substr(0,2)]=toInt(e)}),addWeekParseToken(["gg","GG"],function(e,t,r,n){t[n]=hooks.parseTwoDigitYear(e)});function getSetWeekYear(e){return getSetWeekYearHelper.call(this,e,this.week(),this.weekday(),this.localeData()._week.dow,this.localeData()._week.doy)}function getSetISOWeekYear(e){return getSetWeekYearHelper.call(this,e,this.isoWeek(),this.isoWeekday(),1,4)}function getISOWeeksInYear(){return weeksInYear(this.year(),1,4)}function getISOWeeksInISOWeekYear(){return weeksInYear(this.isoWeekYear(),1,4)}function getWeeksInYear(){var e=this.localeData()._week;return weeksInYear(this.year(),e.dow,e.doy)}function getWeeksInWeekYear(){var e=this.localeData()._week;return weeksInYear(this.weekYear(),e.dow,e.doy)}function getSetWeekYearHelper(e,t,r,n,a){var o;return e==null?weekOfYear(this,n,a).year:(o=weeksInYear(e,n,a),t>o&&(t=o),setWeekAll.call(this,e,t,r,n,a))}function setWeekAll(e,t,r,n,a){var o=dayOfYearFromWeeks(e,t,r,n,a),s=createUTCDate(o.year,0,o.dayOfYear);return this.year(s.getUTCFullYear()),this.month(s.getUTCMonth()),this.date(s.getUTCDate()),this}addFormatToken("Q",0,"Qo","quarter"),addUnitAlias("quarter","Q"),addUnitPriority("quarter",7),addRegexToken("Q",match1),addParseToken("Q",function(e,t){t[MONTH]=(toInt(e)-1)*3});function getSetQuarter(e){return e==null?Math.ceil((this.month()+1)/3):this.month((e-1)*3+this.month()%3)}addFormatToken("D",["DD",2],"Do","date"),addUnitAlias("date","D"),addUnitPriority("date",9),addRegexToken("D",match1to2),addRegexToken("DD",match1to2,match2),addRegexToken("Do",function(e,t){return e?t._dayOfMonthOrdinalParse||t._ordinalParse:t._dayOfMonthOrdinalParseLenient}),addParseToken(["D","DD"],DATE),addParseToken("Do",function(e,t){t[DATE]=toInt(e.match(match1to2)[0])});var getSetDayOfMonth=makeGetSet("Date",!0);addFormatToken("DDD",["DDDD",3],"DDDo","dayOfYear"),addUnitAlias("dayOfYear","DDD"),addUnitPriority("dayOfYear",4),addRegexToken("DDD",match1to3),addRegexToken("DDDD",match3),addParseToken(["DDD","DDDD"],function(e,t,r){r._dayOfYear=toInt(e)});function getSetDayOfYear(e){var t=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return e==null?t:this.add(e-t,"d")}addFormatToken("m",["mm",2],0,"minute"),addUnitAlias("minute","m"),addUnitPriority("minute",14),addRegexToken("m",match1to2),addRegexToken("mm",match1to2,match2),addParseToken(["m","mm"],MINUTE);var getSetMinute=makeGetSet("Minutes",!1);addFormatToken("s",["ss",2],0,"second"),addUnitAlias("second","s"),addUnitPriority("second",15),addRegexToken("s",match1to2),addRegexToken("ss",match1to2,match2),addParseToken(["s","ss"],SECOND);var getSetSecond=makeGetSet("Seconds",!1);addFormatToken("S",0,0,function(){return~~(this.millisecond()/100)}),addFormatToken(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),addFormatToken(0,["SSS",3],0,"millisecond"),addFormatToken(0,["SSSS",4],0,function(){return this.millisecond()*10}),addFormatToken(0,["SSSSS",5],0,function(){return this.millisecond()*100}),addFormatToken(0,["SSSSSS",6],0,function(){return this.millisecond()*1e3}),addFormatToken(0,["SSSSSSS",7],0,function(){return this.millisecond()*1e4}),addFormatToken(0,["SSSSSSSS",8],0,function(){return this.millisecond()*1e5}),addFormatToken(0,["SSSSSSSSS",9],0,function(){return this.millisecond()*1e6}),addUnitAlias("millisecond","ms"),addUnitPriority("millisecond",16),addRegexToken("S",match1to3,match1),addRegexToken("SS",match1to3,match2),addRegexToken("SSS",match1to3,match3);var token,getSetMillisecond;for(token="SSSS";token.length<=9;token+="S")addRegexToken(token,matchUnsigned);function parseMs(e,t){t[MILLISECOND]=toInt(("0."+e)*1e3)}for(token="S";token.length<=9;token+="S")addParseToken(token,parseMs);getSetMillisecond=makeGetSet("Milliseconds",!1),addFormatToken("z",0,0,"zoneAbbr"),addFormatToken("zz",0,0,"zoneName");function getZoneAbbr(){return this._isUTC?"UTC":""}function getZoneName(){return this._isUTC?"Coordinated Universal Time":""}var proto=Moment.prototype;proto.add=add,proto.calendar=calendar$1,proto.clone=clone,proto.diff=diff,proto.endOf=endOf,proto.format=format,proto.from=from,proto.fromNow=fromNow,proto.to=to,proto.toNow=toNow,proto.get=stringGet,proto.invalidAt=invalidAt,proto.isAfter=isAfter,proto.isBefore=isBefore,proto.isBetween=isBetween,proto.isSame=isSame,proto.isSameOrAfter=isSameOrAfter,proto.isSameOrBefore=isSameOrBefore,proto.isValid=isValid$2,proto.lang=lang,proto.locale=locale,proto.localeData=localeData,proto.max=prototypeMax,proto.min=prototypeMin,proto.parsingFlags=parsingFlags,proto.set=stringSet,proto.startOf=startOf,proto.subtract=subtract,proto.toArray=toArray$1,proto.toObject=toObject,proto.toDate=toDate,proto.toISOString=toISOString,proto.inspect=inspect,typeof Symbol<"u"&&Symbol.for!=null&&(proto[Symbol.for("nodejs.util.inspect.custom")]=function(){return"Moment<"+this.format()+">"}),proto.toJSON=toJSON,proto.toString=toString,proto.unix=unix,proto.valueOf=valueOf,proto.creationData=creationData,proto.eraName=getEraName,proto.eraNarrow=getEraNarrow,proto.eraAbbr=getEraAbbr,proto.eraYear=getEraYear,proto.year=getSetYear,proto.isLeapYear=getIsLeapYear,proto.weekYear=getSetWeekYear,proto.isoWeekYear=getSetISOWeekYear,proto.quarter=proto.quarters=getSetQuarter,proto.month=getSetMonth,proto.daysInMonth=getDaysInMonth,proto.week=proto.weeks=getSetWeek,proto.isoWeek=proto.isoWeeks=getSetISOWeek,proto.weeksInYear=getWeeksInYear,proto.weeksInWeekYear=getWeeksInWeekYear,proto.isoWeeksInYear=getISOWeeksInYear,proto.isoWeeksInISOWeekYear=getISOWeeksInISOWeekYear,proto.date=getSetDayOfMonth,proto.day=proto.days=getSetDayOfWeek,proto.weekday=getSetLocaleDayOfWeek,proto.isoWeekday=getSetISODayOfWeek,proto.dayOfYear=getSetDayOfYear,proto.hour=proto.hours=getSetHour,proto.minute=proto.minutes=getSetMinute,proto.second=proto.seconds=getSetSecond,proto.millisecond=proto.milliseconds=getSetMillisecond,proto.utcOffset=getSetOffset,proto.utc=setOffsetToUTC,proto.local=setOffsetToLocal,proto.parseZone=setOffsetToParsedOffset,proto.hasAlignedHourOffset=hasAlignedHourOffset,proto.isDST=isDaylightSavingTime,proto.isLocal=isLocal,proto.isUtcOffset=isUtcOffset,proto.isUtc=isUtc,proto.isUTC=isUtc,proto.zoneAbbr=getZoneAbbr,proto.zoneName=getZoneName,proto.dates=deprecate("dates accessor is deprecated. Use date instead.",getSetDayOfMonth),proto.months=deprecate("months accessor is deprecated. Use month instead",getSetMonth),proto.years=deprecate("years accessor is deprecated. Use year instead",getSetYear),proto.zone=deprecate("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",getSetZone),proto.isDSTShifted=deprecate("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",isDaylightSavingTimeShifted);function createUnix(e){return createLocal(e*1e3)}function createInZone(){return createLocal.apply(null,arguments).parseZone()}function preParsePostFormat(e){return e}var proto$1=Locale.prototype;proto$1.calendar=calendar,proto$1.longDateFormat=longDateFormat,proto$1.invalidDate=invalidDate,proto$1.ordinal=ordinal,proto$1.preparse=preParsePostFormat,proto$1.postformat=preParsePostFormat,proto$1.relativeTime=relativeTime,proto$1.pastFuture=pastFuture,proto$1.set=set,proto$1.eras=localeEras,proto$1.erasParse=localeErasParse,proto$1.erasConvertYear=localeErasConvertYear,proto$1.erasAbbrRegex=erasAbbrRegex,proto$1.erasNameRegex=erasNameRegex,proto$1.erasNarrowRegex=erasNarrowRegex,proto$1.months=localeMonths,proto$1.monthsShort=localeMonthsShort,proto$1.monthsParse=localeMonthsParse,proto$1.monthsRegex=monthsRegex,proto$1.monthsShortRegex=monthsShortRegex,proto$1.week=localeWeek,proto$1.firstDayOfYear=localeFirstDayOfYear,proto$1.firstDayOfWeek=localeFirstDayOfWeek,proto$1.weekdays=localeWeekdays,proto$1.weekdaysMin=localeWeekdaysMin,proto$1.weekdaysShort=localeWeekdaysShort,proto$1.weekdaysParse=localeWeekdaysParse,proto$1.weekdaysRegex=weekdaysRegex,proto$1.weekdaysShortRegex=weekdaysShortRegex,proto$1.weekdaysMinRegex=weekdaysMinRegex,proto$1.isPM=localeIsPM,proto$1.meridiem=localeMeridiem;function get$1(e,t,r,n){var a=getLocale(),o=createUTC().set(n,t);return a[r](o,e)}function listMonthsImpl(e,t,r){if(isNumber$1(e)&&(t=e,e=void 0),e=e||"",t!=null)return get$1(e,t,r,"month");var n,a=[];for(n=0;n<12;n++)a[n]=get$1(e,n,r,"month");return a}function listWeekdaysImpl(e,t,r,n){typeof e=="boolean"?(isNumber$1(t)&&(r=t,t=void 0),t=t||""):(t=e,r=t,e=!1,isNumber$1(t)&&(r=t,t=void 0),t=t||"");var a=getLocale(),o=e?a._week.dow:0,s,u=[];if(r!=null)return get$1(t,(r+o)%7,n,"day");for(s=0;s<7;s++)u[s]=get$1(t,(s+o)%7,n,"day");return u}function listMonths(e,t){return listMonthsImpl(e,t,"months")}function listMonthsShort(e,t){return listMonthsImpl(e,t,"monthsShort")}function listWeekdays(e,t,r){return listWeekdaysImpl(e,t,r,"weekdays")}function listWeekdaysShort(e,t,r){return listWeekdaysImpl(e,t,r,"weekdaysShort")}function listWeekdaysMin(e,t,r){return listWeekdaysImpl(e,t,r,"weekdaysMin")}getSetGlobalLocale("en",{eras:[{since:"0001-01-01",until:1/0,offset:1,name:"Anno Domini",narrow:"AD",abbr:"AD"},{since:"0000-12-31",until:-1/0,offset:1,name:"Before Christ",narrow:"BC",abbr:"BC"}],dayOfMonthOrdinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(e){var t=e%10,r=toInt(e%100/10)===1?"th":t===1?"st":t===2?"nd":t===3?"rd":"th";return e+r}}),hooks.lang=deprecate("moment.lang is deprecated. Use moment.locale instead.",getSetGlobalLocale),hooks.langData=deprecate("moment.langData is deprecated. Use moment.localeData instead.",getLocale);var mathAbs=Math.abs;function abs(){var e=this._data;return this._milliseconds=mathAbs(this._milliseconds),this._days=mathAbs(this._days),this._months=mathAbs(this._months),e.milliseconds=mathAbs(e.milliseconds),e.seconds=mathAbs(e.seconds),e.minutes=mathAbs(e.minutes),e.hours=mathAbs(e.hours),e.months=mathAbs(e.months),e.years=mathAbs(e.years),this}function addSubtract$1(e,t,r,n){var a=createDuration(t,r);return e._milliseconds+=n*a._milliseconds,e._days+=n*a._days,e._months+=n*a._months,e._bubble()}function add$1(e,t){return addSubtract$1(this,e,t,1)}function subtract$1(e,t){return addSubtract$1(this,e,t,-1)}function absCeil(e){return e<0?Math.floor(e):Math.ceil(e)}function bubble(){var e=this._milliseconds,t=this._days,r=this._months,n=this._data,a,o,s,u,l;return e>=0&&t>=0&&r>=0||e<=0&&t<=0&&r<=0||(e+=absCeil(monthsToDays(r)+t)*864e5,t=0,r=0),n.milliseconds=e%1e3,a=absFloor(e/1e3),n.seconds=a%60,o=absFloor(a/60),n.minutes=o%60,s=absFloor(o/60),n.hours=s%24,t+=absFloor(s/24),l=absFloor(daysToMonths(t)),r+=l,t-=absCeil(monthsToDays(l)),u=absFloor(r/12),r%=12,n.days=t,n.months=r,n.years=u,this}function daysToMonths(e){return e*4800/146097}function monthsToDays(e){return e*146097/4800}function as(e){if(!this.isValid())return NaN;var t,r,n=this._milliseconds;if(e=normalizeUnits(e),e==="month"||e==="quarter"||e==="year")switch(t=this._days+n/864e5,r=this._months+daysToMonths(t),e){case"month":return r;case"quarter":return r/3;case"year":return r/12}else switch(t=this._days+Math.round(monthsToDays(this._months)),e){case"week":return t/7+n/6048e5;case"day":return t+n/864e5;case"hour":return t*24+n/36e5;case"minute":return t*1440+n/6e4;case"second":return t*86400+n/1e3;case"millisecond":return Math.floor(t*864e5)+n;default:throw new Error("Unknown unit "+e)}}function valueOf$1(){return this.isValid()?this._milliseconds+this._days*864e5+this._months%12*2592e6+toInt(this._months/12)*31536e6:NaN}function makeAs(e){return function(){return this.as(e)}}var asMilliseconds=makeAs("ms"),asSeconds=makeAs("s"),asMinutes=makeAs("m"),asHours=makeAs("h"),asDays=makeAs("d"),asWeeks=makeAs("w"),asMonths=makeAs("M"),asQuarters=makeAs("Q"),asYears=makeAs("y");function clone$1(){return createDuration(this)}function get$2(e){return e=normalizeUnits(e),this.isValid()?this[e+"s"]():NaN}function makeGetter(e){return function(){return this.isValid()?this._data[e]:NaN}}var milliseconds=makeGetter("milliseconds"),seconds=makeGetter("seconds"),minutes=makeGetter("minutes"),hours=makeGetter("hours"),days=makeGetter("days"),months=makeGetter("months"),years=makeGetter("years");function weeks(){return absFloor(this.days()/7)}var round=Math.round,thresholds={ss:44,s:45,m:45,h:22,d:26,w:null,M:11};function substituteTimeAgo(e,t,r,n,a){return a.relativeTime(t||1,!!r,e,n)}function relativeTime$1(e,t,r,n){var a=createDuration(e).abs(),o=round(a.as("s")),s=round(a.as("m")),u=round(a.as("h")),l=round(a.as("d")),c=round(a.as("M")),d=round(a.as("w")),f=round(a.as("y")),p=o<=r.ss&&["s",o]||o<r.s&&["ss",o]||s<=1&&["m"]||s<r.m&&["mm",s]||u<=1&&["h"]||u<r.h&&["hh",u]||l<=1&&["d"]||l<r.d&&["dd",l];return r.w!=null&&(p=p||d<=1&&["w"]||d<r.w&&["ww",d]),p=p||c<=1&&["M"]||c<r.M&&["MM",c]||f<=1&&["y"]||["yy",f],p[2]=t,p[3]=+e>0,p[4]=n,substituteTimeAgo.apply(null,p)}function getSetRelativeTimeRounding(e){return e===void 0?round:typeof e=="function"?(round=e,!0):!1}function getSetRelativeTimeThreshold(e,t){return thresholds[e]===void 0?!1:t===void 0?thresholds[e]:(thresholds[e]=t,e==="s"&&(thresholds.ss=t-1),!0)}function humanize(e,t){if(!this.isValid())return this.localeData().invalidDate();var r=!1,n=thresholds,a,o;return typeof e=="object"&&(t=e,e=!1),typeof e=="boolean"&&(r=e),typeof t=="object"&&(n=Object.assign({},thresholds,t),t.s!=null&&t.ss==null&&(n.ss=t.s-1)),a=this.localeData(),o=relativeTime$1(this,!r,n,a),r&&(o=a.pastFuture(+this,o)),a.postformat(o)}var abs$1=Math.abs;function sign(e){return(e>0)-(e<0)||+e}function toISOString$1(){if(!this.isValid())return this.localeData().invalidDate();var e=abs$1(this._milliseconds)/1e3,t=abs$1(this._days),r=abs$1(this._months),n,a,o,s,u=this.asSeconds(),l,c,d,f;return u?(n=absFloor(e/60),a=absFloor(n/60),e%=60,n%=60,o=absFloor(r/12),r%=12,s=e?e.toFixed(3).replace(/\.?0+$/,""):"",l=u<0?"-":"",c=sign(this._months)!==sign(u)?"-":"",d=sign(this._days)!==sign(u)?"-":"",f=sign(this._milliseconds)!==sign(u)?"-":"",l+"P"+(o?c+o+"Y":"")+(r?c+r+"M":"")+(t?d+t+"D":"")+(a||n||e?"T":"")+(a?f+a+"H":"")+(n?f+n+"M":"")+(e?f+s+"S":"")):"P0D"}var proto$2=Duration.prototype;proto$2.isValid=isValid$1,proto$2.abs=abs,proto$2.add=add$1,proto$2.subtract=subtract$1,proto$2.as=as,proto$2.asMilliseconds=asMilliseconds,proto$2.asSeconds=asSeconds,proto$2.asMinutes=asMinutes,proto$2.asHours=asHours,proto$2.asDays=asDays,proto$2.asWeeks=asWeeks,proto$2.asMonths=asMonths,proto$2.asQuarters=asQuarters,proto$2.asYears=asYears,proto$2.valueOf=valueOf$1,proto$2._bubble=bubble,proto$2.clone=clone$1,proto$2.get=get$2,proto$2.milliseconds=milliseconds,proto$2.seconds=seconds,proto$2.minutes=minutes,proto$2.hours=hours,proto$2.days=days,proto$2.weeks=weeks,proto$2.months=months,proto$2.years=years,proto$2.humanize=humanize,proto$2.toISOString=toISOString$1,proto$2.toString=toISOString$1,proto$2.toJSON=toISOString$1,proto$2.locale=locale,proto$2.localeData=localeData,proto$2.toIsoString=deprecate("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",toISOString$1),proto$2.lang=lang,addFormatToken("X",0,0,"unix"),addFormatToken("x",0,0,"valueOf"),addRegexToken("x",matchSigned),addRegexToken("X",matchTimestamp),addParseToken("X",function(e,t,r){r._d=new Date(parseFloat(e)*1e3)}),addParseToken("x",function(e,t,r){r._d=new Date(toInt(e))});//! moment.js
|
|
124
|
-
hooks.version="2.29.4",setHookCallback(createLocal),hooks.fn=proto,hooks.min=min,hooks.max=max,hooks.now=now,hooks.utc=createUTC,hooks.unix=createUnix,hooks.months=listMonths,hooks.isDate=isDate,hooks.locale=getSetGlobalLocale,hooks.invalid=createInvalid,hooks.duration=createDuration,hooks.isMoment=isMoment,hooks.weekdays=listWeekdays,hooks.parseZone=createInZone,hooks.localeData=getLocale,hooks.isDuration=isDuration,hooks.monthsShort=listMonthsShort,hooks.weekdaysMin=listWeekdaysMin,hooks.defineLocale=defineLocale,hooks.updateLocale=updateLocale,hooks.locales=listLocales,hooks.weekdaysShort=listWeekdaysShort,hooks.normalizeUnits=normalizeUnits,hooks.relativeTimeRounding=getSetRelativeTimeRounding,hooks.relativeTimeThreshold=getSetRelativeTimeThreshold,hooks.calendarFormat=getCalendarFormat,hooks.prototype=proto,hooks.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"GGGG-[W]WW",MONTH:"YYYY-MM"};const DatePickerConfig={date:{placeholder:"__/__/____",dateDisplayFormat:"DD/MM/YYYY",dateInternalFormat:"YYYY-MM-DD"},time:{placeholder:"__/__/____ __:__:__",dateDisplayFormat:"DD/MM/YYYY HH:mm:ss",dateInternalFormat:"YYYY-MM-DD HH:mm:ss"}},DatePicker=e=>{const{ooui:t,showTime:r=!1}=e,{required:n}=t;return jsxRuntime.jsx(Field$1,{required:n,...e,children:jsxRuntime.jsx(DatePickerInput,{ooui:t,showTime:r})})},DatePickerInput=e=>{const{value:t,onChange:r,ooui:n,showTime:a}=e,{id:o,readOnly:s,required:u}=n,l=u&&!s?Config.requiredClass:void 0,c=a?"time":"date",d=v=>{r==null||r(v)},f=v=>{if(v===null){d(void 0);return}d(v.format(DatePickerConfig[c].dateInternalFormat))},p=a?{defaultValue:hooks("00:00:00","HH:mm:ss")}:void 0,m=t?hooks(t,DatePickerConfig[c].dateInternalFormat):void 0;return jsxRuntime.jsx(antd.DatePicker,{style:{width:"100%"},placeholder:a?DatePickerConfig.time.placeholder:DatePickerConfig.date.placeholder,disabled:s,id:o,showTime:p,className:l,format:DatePickerConfig[c].dateDisplayFormat,value:m,onChange:f})},booleanComponentFn=e=>jsxRuntime.jsx("div",{style:{display:"flex",justifyContent:"center",alignContent:"center"},children:jsxRuntime.jsx(antd.Checkbox,{checked:e,disabled:!0})}),many2OneComponentFn=e=>jsxRuntime.jsx(Many2oneTree,{m2oField:e}),textComponentFn=e=>jsxRuntime.jsx(interweave.Interweave,{content:e==null?void 0:e.replace(/(?:\r\n|\r|\n)/g,"<br>")}),dateComponentFn=e=>{if(!e||e&&e.length===0)return jsxRuntime.jsx(jsxRuntime.Fragment,{});const t=hooks(e,DatePickerConfig.date.dateInternalFormat).format(DatePickerConfig.date.dateDisplayFormat);return jsxRuntime.jsx(jsxRuntime.Fragment,{children:t})},dateTimeComponentFn=e=>{if(!e||e&&e.length===0)return jsxRuntime.jsx(jsxRuntime.Fragment,{});const t=hooks(e,DatePickerConfig.time.dateInternalFormat).format(DatePickerConfig.time.dateDisplayFormat);return jsxRuntime.jsx(jsxRuntime.Fragment,{children:t})},one2ManyComponentFn=e=>{const t=Array.isArray(e==null?void 0:e.items)?e==null?void 0:e.items.length:0;return jsxRuntime.jsx(jsxRuntime.Fragment,{children:`( ${t} )`})},progressBarComponentFn=e=>jsxRuntime.jsx(ProgressBarInput,{value:e}),floatTimeComponent=e=>jsxRuntime.jsx(jsxRuntime.Fragment,{children:parseFloatToString(e)}),numberComponent=e=>jsxRuntime.jsx("div",{style:{textAlign:"right"},children:e}),imageComponent=e=>jsxRuntime.jsx("img",{src:`data:image/*;base64,${e}`,style:{maxWidth:"50px",padding:"5px"}}),TagComponent=(e,t,r,n)=>jsxRuntime.jsx(jsxRuntime.Fragment,{children:e?jsxRuntime.jsx(antd.Tag,{color:r.colors[e],children:r.selectionValues.get(e)}):null}),SelectionComponent=(e,t,r,n)=>jsxRuntime.jsx(jsxRuntime.Fragment,{children:r.selectionValues.get(e)}),referenceComponent=(e,t,r,n)=>jsxRuntime.jsx(jsxRuntime.Fragment,{children:jsxRuntime.jsx(ReferenceTree,{value:e,selectionValues:r.selectionValues,context:n})});function Tree(e){const{page:t=1,limit:r,total:n,treeView:a,results:o,onRequestPageChange:s,loading:u,onRowClicked:l,showPagination:c=!0,rowSelection:d,scrollY:f,colorsForResults:p={},onChangeSort:m,sorter:v,onFetchChildrenForRecord:x,childField:_,rootTree:h=!1,context:g}=e,[y,b]=React.useState([]),[C,O]=React.useState([]),F=React.useRef(!1),w=React.useRef(null),{t:E}=React.useContext(LocaleContext),T=React.useRef(r),M=React.useContext(ActionViewContext),{title:q=void 0,setTitle:k=void 0}=(h?M:{})||{};React.useEffect(()=>{w.current=getTree(a);const Y=getTableColumns(w.current,{boolean:booleanComponentFn,many2one:many2OneComponentFn,text:textComponentFn,one2many:one2ManyComponentFn,many2many:one2ManyComponentFn,progressbar:progressBarComponentFn,float_time:floatTimeComponent,image:imageComponent,integer:numberComponent,float:numberComponent,reference:referenceComponent,tag:TagComponent,selection:SelectionComponent,date:dateComponentFn,datetime:dateTimeComponentFn},g);O(Y),w.current.string&&q!==w.current.string&&(k==null||k(w.current.string))},[a]),React.useEffect(()=>{F.current=!1;const Y=getTableItems(w.current,o);b(Y),T.current=r},[o]);const D=(t-1)*T.current+1,$=D-1+y.length,N=n===void 0?null:n===0?E("no_results"):E("summary").replace("{from}",D==null?void 0:D.toString()).replace("{to}",$==null?void 0:$.toString()).replace("{total}",n==null?void 0:n.toString()),L=()=>!c||a.isExpandable||u?null:n===void 0?jsxRuntime.jsx(antd.Spin,{}):jsxRuntime.jsxs(antd.Row,{align:"bottom",className:"pb-4",children:[jsxRuntime.jsx(antd.Col,{span:12,children:jsxRuntime.jsx(antd.Pagination,{total:n,pageSize:T.current===0?n:T.current,current:t,showSizeChanger:!1,onChange:s})}),jsxRuntime.jsx(antd.Col,{span:12,className:"text-right",children:N})]});function I(){var W;const H=w.current.columns.filter(S=>S.sum!==void 0).map(S=>({label:S.sum,field:S.id}));if(!H||H.length===0)return null;let K=[],U=((W=d==null?void 0:d.selectedRowKeys)==null?void 0:W.length)>0?y.filter(S=>d==null?void 0:d.selectedRowKeys.includes(S.id)):y;return H.forEach(S=>{const A=U.reduce((V,X)=>X[S.field]&&!isNaN(X[S.field])?V+X[S.field]:V,0);K.push(`${S.label}: ${Math.round(A*100)/100}`)}),jsxRuntime.jsx("div",{className:"p-1 pb-0 pl-2 mt-2 bg-gray-50",children:K.join(", ")})}let B,z=f;if(w.current!==null){B=calculateColumnsWidth(C,y,600);const H=w.current;f&&H.columns.some(K=>K.sum!==void 0)&&(z=f-30)}return w.current===null?jsxRuntime.jsx(antd.Spin,{style:{padding:"2rem"}}):jsxRuntime.jsxs("div",{children:[L(),jsxRuntime.jsx(reactFormigaTable.Table,{height:z,columns:B.columns,dataSource:y,loading:u,loadingComponent:jsxRuntime.jsx(antd.Spin,{}),onRowStyle:Y=>{if(p[Y.id])return{color:p[Y.id]}},onRowDoubleClick:l,onRowSelectionChange:d==null?void 0:d.onChange,onChangeSort:m,sorter:v,expandableOpts:x?{expandIcon:AntIcons.PlusSquareOutlined,collapseIcon:AntIcons.MinusSquareOutlined,loadingIcon:AntIcons.LoadingOutlined,onFetchChildrenForRecord:x,childField:_}:void 0}),I()]})}function SearchTree(e,t){const{model:r,formView:n,treeView:a,onRowClicked:o,nameSearch:s,treeScrollY:u,domain:l=[],visible:c=!0,rootTree:d=!1,parentContext:f={},onChangeSelectedRowKeys:p}=e,[m,v]=React.useState(!1),[x,_]=React.useState(!1),h=React.useRef(!1),[g,y]=React.useState(),[b,C]=React.useState(),[O,F]=React.useState(),[w,E]=React.useState(),[T,M]=React.useState(200),q=React.useRef(),{height:k}=useWindowDimensions(),D=React.useContext(ContentRootContext),{processAction:$}=D||{},N=React.useContext(ActionViewContext),{setResults:L=void 0,setCurrentItemIndex:I=void 0,currentId:B=void 0,results:z=void 0,selectedRowItems:Y=void 0,setSelectedRowItems:H=void 0,searchParams:K=[],setSearchParams:U=void 0,searchVisible:W=!0,setSearchVisible:S=void 0,sorter:A=void 0,setSorter:V=void 0,setTotalItems:X=void 0,setSearchTreeNameSearch:Z=void 0,setTreeIsLoading:P=void 0,searchValues:j={},setSearchValues:G=void 0,limit:Q=DEFAULT_SEARCH_LIMIT$1,setLimit:ee=void 0}=(d?N:{})||{},{submit:J,clear:ne,fetchResults:te,tableRefreshing:ae,searchFilterLoading:oe,searchError:ye,page:we,offset:Re,getResults:se,requestPageChange:fe,changeSort:me,fetchChildrenForRecord:ge,colorsForResults:ce,totalItems:Se}=useSearch({model:g,setSearchTreeNameSearch:Z,setSelectedRowItems:H,setSearchParams:U,setSearchValues:G,searchParams:K,setSearchVisible:S,setTreeIsLoading:P,nameSearch:s,searchNameGetDoneRef:h,context:f,formView:O,treeView:b,sorter:A,setSorter:V,setCurrentItemIndex:I,setResultsActionView:L,resultsActionView:z,domain:l,currentId:B,setActionViewTotalItems:X,limit:Q,setLimit:ee});React.useImperativeHandle(t,()=>({refreshResults:()=>{h.current=!1,te()}})),React.useEffect(()=>{!x||c&&(h.current=!1,te())},[we,Re,x,c,s]);const be=async()=>{_(!1),v(!0),E(void 0),P==null||P(!0);try{await Oe(),_(!0)}catch(ve){E(ve)}finally{v(!1),P==null||P(!1)}},Oe=async()=>{y(r);let ve=n;n||(ve=await ConnectionProvider.getHandler().getView({model:r,type:"form",context:f}));let Te=a;a||(Te=await ConnectionProvider.getHandler().getView({model:r,type:"tree",context:f})),F(ve),C(Te)};React.useEffect(()=>{be()},[r]);const Ee=ve=>{ee==null||ee(ve)},je=async ve=>{const{id:Te}=ve;q.current||(q.current=await ConnectionProvider.getHandler().treeButOpen({id:b.view_id,model:g,context:f}));const Pe=q.current[0][2];await($==null?void 0:$({actionData:Pe,fields:b.fields,values:{active_id:Te,...ve},context:f}))},le=async ve=>{const{id:Te}=ve;if(b!=null&&b.isExpandable){try{await je(ve)}catch(Pe){showDialog$8(Pe)}return}o({id:Te,model:g,formView:O,treeView:b})};function he(ve){const Te=se().filter(Pe=>ve.includes(Pe.id));H==null||H(Te),p==null||p(ve)}function _e(){return b!=null&&b.isExpandable?k-160:k-(T+210)}const pe=()=>!b||!O?null:jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(SearchFilter,{fields:{...b.fields,...O.fields},searchFields:mergeSearchFields([O.search_fields,b.search_fields]),formXml:O.arch,onClear:ne,limit:Q,offset:Re,isSearching:oe,onSubmit:J,onLimitChange:Ee,setSearchFilterHeight:M,searchError:ye,searchVisible:W,searchValues:j}),jsxRuntime.jsx(Tree,{context:f,total:Se,limit:Q,page:we,treeView:b,results:se(),onRequestPageChange:fe,loading:ae,onRowClicked:le,scrollY:u||_e(),colorsForResults:ce,rowSelection:{selectedRowKeys:Y==null?void 0:Y.map(ve=>ve.id),onChange:he},sorter:A,onChangeSort:me,onFetchChildrenForRecord:b.isExpandable?ge:void 0,childField:b.field_parent,rootTree:d})]}),xe=w||ye;return xe?jsxRuntime.jsx(antd.Alert,{className:"mt-10",message:xe,type:"error",banner:!0}):jsxRuntime.jsx("div",{style:c?{}:{display:"none"},children:m?jsxRuntime.jsx(antd.Spin,{}):pe()})}const SearchTree$1=React.forwardRef(SearchTree),SearchModal=e=>{const{visible:t,onCloseModal:r,onSelectValues:n,model:a,nameSearch:o,domain:s,context:u={}}=e,[l,c]=React.useState(!1),{modalWidth:d,modalHeight:f}=useWindowDimensions(),{t:p}=React.useContext(LocaleContext),[m,v]=React.useState([]),x=async()=>{await new Promise(y=>setTimeout(y,5)),r()},_=async y=>{const{id:b}=y;n([b])};function h(){if(m.length===0){x();return}n(m)}const g=()=>jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(SearchTree$1,{model:a,nameSearch:o,onRowClicked:_,treeScrollY:f*.3,domain:s,parentContext:u,onChangeSelectedRowKeys:y=>{v(y)}}),jsxRuntime.jsx(antd.Divider,{}),jsxRuntime.jsx(antd.Row,{justify:"end",children:jsxRuntime.jsxs(antd.Space,{children:[jsxRuntime.jsx(antd.Button,{icon:jsxRuntime.jsx(AntIcons.FileAddOutlined,{}),onClick:()=>{c(!0)},children:p("new")}),jsxRuntime.jsx(antd.Button,{icon:jsxRuntime.jsx(AntIcons.CheckOutlined,{}),onClick:()=>{h()},type:"primary",children:p("ok")}),jsxRuntime.jsx(antd.Button,{icon:jsxRuntime.jsx(AntIcons.CloseOutlined,{}),onClick:x,children:p("cancel")})]})})]});return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(antd.Modal,{title:p("search"),centered:!0,width:d,visible:t&&!l,closable:!0,onCancel:x,footer:null,destroyOnClose:!0,maskClosable:!1,children:g()}),jsxRuntime.jsx(FormModal,{model:a,visible:l,parentContext:u,onSubmitSucceed:y=>{c(!1),x(),n([y])},onCancel:()=>{c(!1),x()}})]})},{error}=antd.Modal,showDialog$3=e=>{error({title:"Error",icon:jsxRuntime.jsx(AntIcons.ExclamationCircleOutlined,{}),centered:!0,content:e})},Many2one=e=>{const{ooui:t}=e,{required:r}=t,n=async(a,o)=>{if(!o)throw new Error;if(!Array.isArray(o))throw new Error;if(Array.isArray(o)&&!o[0])throw new Error};return jsxRuntime.jsx(Field$1,{required:r,type:"array",validator:n,...e,children:jsxRuntime.jsx(Many2oneInput,{ooui:t})})},Many2oneInput=e=>{const{value:t,onChange:r,ooui:n}=e,{required:a,relation:o,readOnly:s,context:u,id:l,domain:c}=n,d=a&&!s?Config.requiredClass:void 0,[f,p]=React.useState(!1),[m,v]=React.useState(!1),[x,_]=React.useState(!1),[h,g]=React.useState(),y=React.useRef(!1),[b,C]=React.useState(""),O=React.useRef(),F=React.useContext(FormContext$1),{domain:w,getValues:E,getFields:T,getContext:M,elementHasLostFocus:q}=F||{},k=React.useRef([]),[D,$]=React.useState([]),N=t&&t[0]||void 0,L=t&&t[1]||"";React.useEffect(()=>{!Array.isArray(t)&&t&&H(t)},[t]),React.useEffect(()=>{N&&L.length===0?H(N):N&&L.length>0?C(L):!N&&!L&&C(O.current||"")},[t]);const I=S=>{r==null||r(S),q==null||q()},B=S=>{O.current=S.target.value,I([void 0,""])},z=async()=>{if(!x&&b!==L){if(await new Promise(S=>setTimeout(S,100)),y.current){I([void 0,""]);return}_(!0);try{if(k.current&&k.current.length>0)Y(O.current);else{const S=await ConnectionProvider.getHandler().nameSearch({model:o,payload:O.current,context:{...M==null?void 0:M(),...u}});S.length===1?(O.current=void 0,I(S[0])):Y(O.current)}}catch(S){showDialog$3(S)}finally{_(!1)}}},Y=async S=>{if(await K(),k.current&&k.current.length>0){const A=await ConnectionProvider.getHandler().searchAllIds({params:k.current,model:o,context:{...M==null?void 0:M(),...u},totalItems:2});A.length===1?H(A[0]):(g(S),p(!0));return}g(S),p(!0)},H=async S=>{_(!0);try{const A=await ConnectionProvider.getHandler().execute({action:"name_get",payload:[S],model:o,context:{...M==null?void 0:M(),...u}});I([S,A[0][1]])}catch(A){showDialog$3(A)}finally{_(!1)}};async function K(){c&&(k.current=await ConnectionProvider.getHandler().evalDomain({domain:c,values:transformPlainMany2Ones({fields:T(),values:E()}),fields:T(),context:M()})),w&&w.length>0&&(k.current=k.current.concat(ooui.transformDomainForChildWidget({domain:w,widgetFieldName:l}))),$(k.current)}async function U(S){S.keyCode===13?(S.preventDefault(),S.stopPropagation(),await z()):S.code==="Backspace"&&N!==void 0&&(S.preventDefault(),S.stopPropagation(),I([void 0,""]))}const W=a&&!s?RequiredInput:antd.Input;return jsxRuntime.jsxs(antd.Row,{gutter:8,wrap:!1,children:[jsxRuntime.jsx(antd.Col,{flex:"auto",children:jsxRuntime.jsx(W,{type:"text",value:b,disabled:s,onChange:B,className:d,onBlur:z,onKeyDown:U,suffix:jsxRuntime.jsx(Many2oneSuffix,{id:N,model:o,context:{...M==null?void 0:M(),...u}})})}),jsxRuntime.jsx(antd.Col,{flex:"32px",children:jsxRuntime.jsx(antd.Button,{icon:jsxRuntime.jsx(AntIcons.FolderOpenOutlined,{}),disabled:N===void 0||L===""||b===void 0,onClick:()=>{v(!0)},tabIndex:-1})}),jsxRuntime.jsx(antd.Col,{flex:"32px",children:jsxRuntime.jsx(antd.Button,{icon:x?jsxRuntime.jsx(AntIcons.LoadingOutlined,{}):jsxRuntime.jsx(AntIcons.SearchOutlined,{}),disabled:s||x,onClick:()=>{y.current=!0,Y(L)},tabIndex:-1})}),jsxRuntime.jsx(SearchModal,{model:o,domain:D,context:{...M==null?void 0:M(),...u},visible:f,nameSearch:N?void 0:h,onSelectValues:S=>{p(!1),H(S[0]),y.current=!1,O.current=void 0},onCloseModal:()=>{p(!1),y.current=!1}}),jsxRuntime.jsx(FormModal,{model:o,parentContext:{...M==null?void 0:M(),...u},id:t&&t[0],visible:m,onSubmitSucceed:S=>{v(!1),H(S)},onCancel:()=>{v(!1)},mustClearAfterSave:!0,readOnly:s})]})},RequiredInput=styled__default.default(antd.Input)`
|
|
124
|
+
hooks.version="2.29.4",setHookCallback(createLocal),hooks.fn=proto,hooks.min=min,hooks.max=max,hooks.now=now,hooks.utc=createUTC,hooks.unix=createUnix,hooks.months=listMonths,hooks.isDate=isDate,hooks.locale=getSetGlobalLocale,hooks.invalid=createInvalid,hooks.duration=createDuration,hooks.isMoment=isMoment,hooks.weekdays=listWeekdays,hooks.parseZone=createInZone,hooks.localeData=getLocale,hooks.isDuration=isDuration,hooks.monthsShort=listMonthsShort,hooks.weekdaysMin=listWeekdaysMin,hooks.defineLocale=defineLocale,hooks.updateLocale=updateLocale,hooks.locales=listLocales,hooks.weekdaysShort=listWeekdaysShort,hooks.normalizeUnits=normalizeUnits,hooks.relativeTimeRounding=getSetRelativeTimeRounding,hooks.relativeTimeThreshold=getSetRelativeTimeThreshold,hooks.calendarFormat=getCalendarFormat,hooks.prototype=proto,hooks.HTML5_FMT={DATETIME_LOCAL:"YYYY-MM-DDTHH:mm",DATETIME_LOCAL_SECONDS:"YYYY-MM-DDTHH:mm:ss",DATETIME_LOCAL_MS:"YYYY-MM-DDTHH:mm:ss.SSS",DATE:"YYYY-MM-DD",TIME:"HH:mm",TIME_SECONDS:"HH:mm:ss",TIME_MS:"HH:mm:ss.SSS",WEEK:"GGGG-[W]WW",MONTH:"YYYY-MM"};const DatePickerConfig={date:{placeholder:"__/__/____",dateDisplayFormat:"DD/MM/YYYY",dateInternalFormat:"YYYY-MM-DD"},time:{placeholder:"__/__/____ __:__:__",dateDisplayFormat:"DD/MM/YYYY HH:mm:ss",dateInternalFormat:"YYYY-MM-DD HH:mm:ss"}},DatePicker=e=>{const{ooui:t,showTime:r=!1}=e,{required:n}=t;return jsxRuntime.jsx(Field$1,{required:n,...e,children:jsxRuntime.jsx(DatePickerInput,{ooui:t,showTime:r})})},DatePickerInput=e=>{const{value:t,onChange:r,ooui:n,showTime:a}=e,{id:o,readOnly:s,required:u}=n,l=u&&!s?Config.requiredClass:void 0,c=a?"time":"date",d=v=>{r==null||r(v)},f=v=>{if(v===null){d(void 0);return}d(v.format(DatePickerConfig[c].dateInternalFormat))},p=a?{defaultValue:hooks("00:00:00","HH:mm:ss")}:void 0,m=t?hooks(t,DatePickerConfig[c].dateInternalFormat):void 0;return jsxRuntime.jsx(antd.DatePicker,{style:{width:"100%"},placeholder:a?DatePickerConfig.time.placeholder:DatePickerConfig.date.placeholder,disabled:s,id:o,showTime:p,className:l,format:DatePickerConfig[c].dateDisplayFormat,value:m,onChange:f})},booleanComponentFn=e=>jsxRuntime.jsx("div",{style:{display:"flex",justifyContent:"center",alignContent:"center"},children:jsxRuntime.jsx(antd.Checkbox,{checked:e,disabled:!0})}),many2OneComponentFn=e=>jsxRuntime.jsx(Many2oneTree,{m2oField:e}),textComponentFn=e=>jsxRuntime.jsx(interweave.Interweave,{content:e==null?void 0:e.replace(/(?:\r\n|\r|\n)/g,"<br>")}),dateComponentFn=e=>{if(!e||e&&e.length===0)return jsxRuntime.jsx(jsxRuntime.Fragment,{});const t=hooks(e,DatePickerConfig.date.dateInternalFormat).format(DatePickerConfig.date.dateDisplayFormat);return jsxRuntime.jsx(jsxRuntime.Fragment,{children:t})},dateTimeComponentFn=e=>{if(!e||e&&e.length===0)return jsxRuntime.jsx(jsxRuntime.Fragment,{});const t=hooks(e,DatePickerConfig.time.dateInternalFormat).format(DatePickerConfig.time.dateDisplayFormat);return jsxRuntime.jsx(jsxRuntime.Fragment,{children:t})},one2ManyComponentFn=e=>{const t=Array.isArray(e==null?void 0:e.items)?e==null?void 0:e.items.length:0;return jsxRuntime.jsx(jsxRuntime.Fragment,{children:`( ${t} )`})},progressBarComponentFn=e=>jsxRuntime.jsx(ProgressBarInput,{value:e}),floatTimeComponent=e=>jsxRuntime.jsx(jsxRuntime.Fragment,{children:parseFloatToString(e)}),numberComponent=e=>jsxRuntime.jsx("div",{style:{textAlign:"right"},children:e}),imageComponent=e=>jsxRuntime.jsx("img",{src:`data:image/*;base64,${e}`,style:{maxWidth:"50px",padding:"5px"}}),TagComponent=(e,t,r,n)=>jsxRuntime.jsx(jsxRuntime.Fragment,{children:e?jsxRuntime.jsx(antd.Tag,{color:r.colors[e],children:r.selectionValues.get(e)}):null}),SelectionComponent=(e,t,r,n)=>jsxRuntime.jsx(jsxRuntime.Fragment,{children:r.selectionValues.get(e)}),referenceComponent=(e,t,r,n)=>jsxRuntime.jsx(jsxRuntime.Fragment,{children:jsxRuntime.jsx(ReferenceTree,{value:e,selectionValues:r.selectionValues,context:n})}),AvatarFn=(e,t,r,n)=>jsxRuntime.jsx(Avatar,{ooui:r,value:e});function Tree(e){const{page:t=1,limit:r,total:n,treeView:a,results:o,onRequestPageChange:s,loading:u,onRowClicked:l,showPagination:c=!0,rowSelection:d,scrollY:f,colorsForResults:p={},onChangeSort:m,sorter:v,onFetchChildrenForRecord:x,childField:_,rootTree:h=!1,context:g}=e,[y,b]=React.useState([]),[C,O]=React.useState([]),F=React.useRef(!1),w=React.useRef(null),{t:E}=React.useContext(LocaleContext),T=React.useRef(r),M=React.useContext(ActionViewContext),{title:q=void 0,setTitle:k=void 0}=(h?M:{})||{};React.useEffect(()=>{w.current=getTree(a);const Y=getTableColumns(w.current,{boolean:booleanComponentFn,many2one:many2OneComponentFn,text:textComponentFn,one2many:one2ManyComponentFn,many2many:one2ManyComponentFn,progressbar:progressBarComponentFn,float_time:floatTimeComponent,image:imageComponent,integer:numberComponent,float:numberComponent,reference:referenceComponent,tag:TagComponent,selection:SelectionComponent,date:dateComponentFn,datetime:dateTimeComponentFn,avatar:AvatarFn},g);O(Y),w.current.string&&q!==w.current.string&&(k==null||k(w.current.string))},[a]),React.useEffect(()=>{F.current=!1;const Y=getTableItems(w.current,o);b(Y),T.current=r},[o]);const D=(t-1)*T.current+1,$=D-1+y.length,N=n===void 0?null:n===0?E("no_results"):E("summary").replace("{from}",D==null?void 0:D.toString()).replace("{to}",$==null?void 0:$.toString()).replace("{total}",n==null?void 0:n.toString()),L=()=>!c||a.isExpandable||u?null:n===void 0?jsxRuntime.jsx(antd.Spin,{}):jsxRuntime.jsxs(antd.Row,{align:"bottom",className:"pb-4",children:[jsxRuntime.jsx(antd.Col,{span:12,children:jsxRuntime.jsx(antd.Pagination,{total:n,pageSize:T.current===0?n:T.current,current:t,showSizeChanger:!1,onChange:s})}),jsxRuntime.jsx(antd.Col,{span:12,className:"text-right",children:N})]});function I(){var W;const H=w.current.columns.filter(S=>S.sum!==void 0).map(S=>({label:S.sum,field:S.id}));if(!H||H.length===0)return null;let K=[],U=((W=d==null?void 0:d.selectedRowKeys)==null?void 0:W.length)>0?y.filter(S=>d==null?void 0:d.selectedRowKeys.includes(S.id)):y;return H.forEach(S=>{const A=U.reduce((V,X)=>X[S.field]&&!isNaN(X[S.field])?V+X[S.field]:V,0);K.push(`${S.label}: ${Math.round(A*100)/100}`)}),jsxRuntime.jsx("div",{className:"p-1 pb-0 pl-2 mt-2 bg-gray-50",children:K.join(", ")})}let B,z=f;if(w.current!==null){B=calculateColumnsWidth(C,y,600);const H=w.current;f&&H.columns.some(K=>K.sum!==void 0)&&(z=f-30)}return w.current===null?jsxRuntime.jsx(antd.Spin,{style:{padding:"2rem"}}):jsxRuntime.jsxs("div",{children:[L(),jsxRuntime.jsx(reactFormigaTable.Table,{height:z,columns:B.columns,dataSource:y,loading:u,loadingComponent:jsxRuntime.jsx(antd.Spin,{}),onRowStyle:Y=>{if(p[Y.id])return{color:p[Y.id]}},onRowDoubleClick:l,onRowSelectionChange:d==null?void 0:d.onChange,onChangeSort:m,sorter:v,expandableOpts:x?{expandIcon:AntIcons.PlusSquareOutlined,collapseIcon:AntIcons.MinusSquareOutlined,loadingIcon:AntIcons.LoadingOutlined,onFetchChildrenForRecord:x,childField:_}:void 0}),I()]})}function SearchTree(e,t){const{model:r,formView:n,treeView:a,onRowClicked:o,nameSearch:s,treeScrollY:u,domain:l=[],visible:c=!0,rootTree:d=!1,parentContext:f={},onChangeSelectedRowKeys:p}=e,[m,v]=React.useState(!1),[x,_]=React.useState(!1),h=React.useRef(!1),[g,y]=React.useState(),[b,C]=React.useState(),[O,F]=React.useState(),[w,E]=React.useState(),[T,M]=React.useState(200),q=React.useRef(),{height:k}=useWindowDimensions(),D=React.useContext(ContentRootContext),{processAction:$}=D||{},N=React.useContext(ActionViewContext),{setResults:L=void 0,setCurrentItemIndex:I=void 0,currentId:B=void 0,results:z=void 0,selectedRowItems:Y=void 0,setSelectedRowItems:H=void 0,searchParams:K=[],setSearchParams:U=void 0,searchVisible:W=!0,setSearchVisible:S=void 0,sorter:A=void 0,setSorter:V=void 0,setTotalItems:X=void 0,setSearchTreeNameSearch:Z=void 0,setTreeIsLoading:P=void 0,searchValues:j={},setSearchValues:G=void 0,limit:Q=DEFAULT_SEARCH_LIMIT$1,setLimit:ee=void 0}=(d?N:{})||{},{submit:J,clear:ne,fetchResults:te,tableRefreshing:ae,searchFilterLoading:oe,searchError:ye,page:we,offset:Re,getResults:se,requestPageChange:fe,changeSort:me,fetchChildrenForRecord:ge,colorsForResults:ce,totalItems:Se}=useSearch({model:g,setSearchTreeNameSearch:Z,setSelectedRowItems:H,setSearchParams:U,setSearchValues:G,searchParams:K,setSearchVisible:S,setTreeIsLoading:P,nameSearch:s,searchNameGetDoneRef:h,context:f,formView:O,treeView:b,sorter:A,setSorter:V,setCurrentItemIndex:I,setResultsActionView:L,resultsActionView:z,domain:l,currentId:B,setActionViewTotalItems:X,limit:Q,setLimit:ee});React.useImperativeHandle(t,()=>({refreshResults:()=>{h.current=!1,te()}})),React.useEffect(()=>{!x||c&&(h.current=!1,te())},[we,Re,x,c,s]);const be=async()=>{_(!1),v(!0),E(void 0),P==null||P(!0);try{await Oe(),_(!0)}catch(ve){E(ve)}finally{v(!1),P==null||P(!1)}},Oe=async()=>{y(r);let ve=n;n||(ve=await ConnectionProvider.getHandler().getView({model:r,type:"form",context:f}));let Te=a;a||(Te=await ConnectionProvider.getHandler().getView({model:r,type:"tree",context:f})),F(ve),C(Te)};React.useEffect(()=>{be()},[r]);const Ee=ve=>{ee==null||ee(ve)},je=async ve=>{const{id:Te}=ve;q.current||(q.current=await ConnectionProvider.getHandler().treeButOpen({id:b.view_id,model:g,context:f}));const Pe=q.current[0][2];await($==null?void 0:$({actionData:Pe,fields:b.fields,values:{active_id:Te,...ve},context:f}))},le=async ve=>{const{id:Te}=ve;if(b!=null&&b.isExpandable){try{await je(ve)}catch(Pe){showDialog$8(Pe)}return}o({id:Te,model:g,formView:O,treeView:b})};function he(ve){const Te=se().filter(Pe=>ve.includes(Pe.id));H==null||H(Te),p==null||p(ve)}function _e(){return b!=null&&b.isExpandable?k-160:k-(T+210)}const pe=()=>!b||!O?null:jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(SearchFilter,{fields:{...b.fields,...O.fields},searchFields:mergeSearchFields([O.search_fields,b.search_fields]),formXml:O.arch,onClear:ne,limit:Q,offset:Re,isSearching:oe,onSubmit:J,onLimitChange:Ee,setSearchFilterHeight:M,searchError:ye,searchVisible:W,searchValues:j}),jsxRuntime.jsx(Tree,{context:f,total:Se,limit:Q,page:we,treeView:b,results:se(),onRequestPageChange:fe,loading:ae,onRowClicked:le,scrollY:u||_e(),colorsForResults:ce,rowSelection:{selectedRowKeys:Y==null?void 0:Y.map(ve=>ve.id),onChange:he},sorter:A,onChangeSort:me,onFetchChildrenForRecord:b.isExpandable?ge:void 0,childField:b.field_parent,rootTree:d})]}),xe=w||ye;return xe?jsxRuntime.jsx(antd.Alert,{className:"mt-10",message:xe,type:"error",banner:!0}):jsxRuntime.jsx("div",{style:c?{}:{display:"none"},children:m?jsxRuntime.jsx(antd.Spin,{}):pe()})}const SearchTree$1=React.forwardRef(SearchTree),SearchModal=e=>{const{visible:t,onCloseModal:r,onSelectValues:n,model:a,nameSearch:o,domain:s,context:u={}}=e,[l,c]=React.useState(!1),{modalWidth:d,modalHeight:f}=useWindowDimensions(),{t:p}=React.useContext(LocaleContext),[m,v]=React.useState([]),x=async()=>{await new Promise(y=>setTimeout(y,5)),r()},_=async y=>{const{id:b}=y;n([b])};function h(){if(m.length===0){x();return}n(m)}const g=()=>jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(SearchTree$1,{model:a,nameSearch:o,onRowClicked:_,treeScrollY:f*.3,domain:s,parentContext:u,onChangeSelectedRowKeys:y=>{v(y)}}),jsxRuntime.jsx(antd.Divider,{}),jsxRuntime.jsx(antd.Row,{justify:"end",children:jsxRuntime.jsxs(antd.Space,{children:[jsxRuntime.jsx(antd.Button,{icon:jsxRuntime.jsx(AntIcons.FileAddOutlined,{}),onClick:()=>{c(!0)},children:p("new")}),jsxRuntime.jsx(antd.Button,{icon:jsxRuntime.jsx(AntIcons.CheckOutlined,{}),onClick:()=>{h()},type:"primary",children:p("ok")}),jsxRuntime.jsx(antd.Button,{icon:jsxRuntime.jsx(AntIcons.CloseOutlined,{}),onClick:x,children:p("cancel")})]})})]});return jsxRuntime.jsxs(jsxRuntime.Fragment,{children:[jsxRuntime.jsx(antd.Modal,{title:p("search"),centered:!0,width:d,visible:t&&!l,closable:!0,onCancel:x,footer:null,destroyOnClose:!0,maskClosable:!1,children:g()}),jsxRuntime.jsx(FormModal,{model:a,visible:l,parentContext:u,onSubmitSucceed:y=>{c(!1),x(),n([y])},onCancel:()=>{c(!1),x()}})]})},{error}=antd.Modal,showDialog$3=e=>{error({title:"Error",icon:jsxRuntime.jsx(AntIcons.ExclamationCircleOutlined,{}),centered:!0,content:e})},Many2one=e=>{const{ooui:t}=e,{required:r}=t,n=async(a,o)=>{if(!o)throw new Error;if(!Array.isArray(o))throw new Error;if(Array.isArray(o)&&!o[0])throw new Error};return jsxRuntime.jsx(Field$1,{required:r,type:"array",validator:n,...e,children:jsxRuntime.jsx(Many2oneInput,{ooui:t})})},Many2oneInput=e=>{const{value:t,onChange:r,ooui:n}=e,{required:a,relation:o,readOnly:s,context:u,id:l,domain:c}=n,d=a&&!s?Config.requiredClass:void 0,[f,p]=React.useState(!1),[m,v]=React.useState(!1),[x,_]=React.useState(!1),[h,g]=React.useState(),y=React.useRef(!1),[b,C]=React.useState(""),O=React.useRef(),F=React.useContext(FormContext$1),{domain:w,getValues:E,getFields:T,getContext:M,elementHasLostFocus:q}=F||{},k=React.useRef([]),[D,$]=React.useState([]),N=t&&t[0]||void 0,L=t&&t[1]||"";React.useEffect(()=>{!Array.isArray(t)&&t&&H(t)},[t]),React.useEffect(()=>{N&&L.length===0?H(N):N&&L.length>0?C(L):!N&&!L&&C(O.current||"")},[t]);const I=S=>{r==null||r(S),q==null||q()},B=S=>{O.current=S.target.value,I([void 0,""])},z=async()=>{if(!x&&b!==L){if(await new Promise(S=>setTimeout(S,100)),y.current){I([void 0,""]);return}_(!0);try{if(k.current&&k.current.length>0)Y(O.current);else{const S=await ConnectionProvider.getHandler().nameSearch({model:o,payload:O.current,context:{...M==null?void 0:M(),...u}});S.length===1?(O.current=void 0,I(S[0])):Y(O.current)}}catch(S){showDialog$3(S)}finally{_(!1)}}},Y=async S=>{if(await K(),k.current&&k.current.length>0){const A=await ConnectionProvider.getHandler().searchAllIds({params:k.current,model:o,context:{...M==null?void 0:M(),...u},totalItems:2});A.length===1?H(A[0]):(g(S),p(!0));return}g(S),p(!0)},H=async S=>{_(!0);try{const A=await ConnectionProvider.getHandler().execute({action:"name_get",payload:[S],model:o,context:{...M==null?void 0:M(),...u}});I([S,A[0][1]])}catch(A){showDialog$3(A)}finally{_(!1)}};async function K(){c&&(k.current=await ConnectionProvider.getHandler().evalDomain({domain:c,values:transformPlainMany2Ones({fields:T(),values:E()}),fields:T(),context:M()})),w&&w.length>0&&(k.current=k.current.concat(ooui.transformDomainForChildWidget({domain:w,widgetFieldName:l}))),$(k.current)}async function U(S){S.keyCode===13?(S.preventDefault(),S.stopPropagation(),await z()):S.code==="Backspace"&&N!==void 0&&(S.preventDefault(),S.stopPropagation(),I([void 0,""]))}const W=a&&!s?RequiredInput:antd.Input;return jsxRuntime.jsxs(antd.Row,{gutter:8,wrap:!1,children:[jsxRuntime.jsx(antd.Col,{flex:"auto",children:jsxRuntime.jsx(W,{type:"text",value:b,disabled:s,onChange:B,className:d,onBlur:z,onKeyDown:U,suffix:jsxRuntime.jsx(Many2oneSuffix,{id:N,model:o,context:{...M==null?void 0:M(),...u}})})}),jsxRuntime.jsx(antd.Col,{flex:"32px",children:jsxRuntime.jsx(antd.Button,{icon:jsxRuntime.jsx(AntIcons.FolderOpenOutlined,{}),disabled:N===void 0||L===""||b===void 0,onClick:()=>{v(!0)},tabIndex:-1})}),jsxRuntime.jsx(antd.Col,{flex:"32px",children:jsxRuntime.jsx(antd.Button,{icon:x?jsxRuntime.jsx(AntIcons.LoadingOutlined,{}):jsxRuntime.jsx(AntIcons.SearchOutlined,{}),disabled:s||x,onClick:()=>{y.current=!0,Y(L)},tabIndex:-1})}),jsxRuntime.jsx(SearchModal,{model:o,domain:D,context:{...M==null?void 0:M(),...u},visible:f,nameSearch:N?void 0:h,onSelectValues:S=>{p(!1),H(S[0]),y.current=!1,O.current=void 0},onCloseModal:()=>{p(!1),y.current=!1}}),jsxRuntime.jsx(FormModal,{model:o,parentContext:{...M==null?void 0:M(),...u},id:t&&t[0],visible:m,onSubmitSucceed:S=>{v(!1),H(S)},onCancel:()=>{v(!1)},mustClearAfterSave:!0,readOnly:s})]})},RequiredInput=styled__default.default(antd.Input)`
|
|
125
125
|
.ant-input {
|
|
126
126
|
background-color: ${Config.requiredColor};
|
|
127
127
|
}
|