define("Controls/filter",["react/jsx-runtime","react","i18n!Controls","WasabyLoader/ModulesLoader","Vdom/Vdom","UICore/Jsx","UICommon/Utils","UICommon/State","UICommon/Deps","UI/Utils","UI/State","UI/Contexts","UI/Base","Types/util","Types/object","Types/formatter","Types/entity","Types/collection","Types/chain","ParametersWebAPI/Scope","Env/Env","Core/core-merge","Core/core-instance","Controls/popup","Controls/event","Controls/error","Controls/dropdown","Controls/design","Controls/dataSource","Controls/buttons","Controls/HistoryStore","Controls/Container/Async","Compiler/IR","Application/Env","require","exports","css!Controls/filter"],(function(e,t,i,r,o,s,n,l,a,u,d,c,p,m,f,h,_,y,g,v,F,P,C,I,T,O,x,b,D,V,w,S,E,R,N,k){Object.defineProperty(k,"__esModule",{value:true}),k["Controls/_filter/DateUtils"]=true;var M=function(e,t,i,r){"use strict";function o(e,t){return[new i.DateTime(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours(),e.getMinutes()-t,t?e.getSeconds():null),e]}function s(e,t){return[new i.DateTime(e.getFullYear(),e.getMonth(),e.getDate(),e.getHours()-t),e]}function n(e,t){return[new i.Date(e.getFullYear(),e.getMonth(),e.getDate()-t),e]}function l(e){return[new i.Date(e.getFullYear(),e.getMonth(),e.getDate()-1),new i.Date(e.getFullYear(),e.getMonth(),e.getDate()-1)]}function a(e,t){const i=t?new Date(t):new Date;return i.setMonth(i.getMonth()-e),[i,t||new Date]}Object.defineProperty(t,"__esModule",{value:true}),t.getDates=void 0;const u=7,d=1,c=3,p=12,m=1,f=5,h=30;function _(e){var t,_,y,g;const v=(0,r.loadSync)("Controls/dateUtils").Base,F=null===(t=e.editorOptions)||void 0===t?void 0:t._date,P=F||new i.DateTime,C=F||new i.Date,I=(null===(_=e.editorOptions)||void 0===_?void 0:_.periodType)||"current",T=null===(g=null===(y=e.editorOptions)||void 0===y?void 0:y.userPeriods)||void 0===g?void 0:g.find((t=>e.value===t.key));if(T)if(T.getValueFunctionName)return(0,r.loadSync)(T.getValueFunctionName)();else return;switch(e.value){case"minute":return"last"===I?o(P,m):o(P,0);case"5minutes":return o(P,f);case"30minutes":return o(P,h);case"hour":return"last"===I?s(P,1):s(P,0);case"today":return n(C,0);case"yesterday":return l(C);case"week":return"last"===I?n(C,u):[v.getStartOfWeek(C),v.getEndOfWeek(C)];case"month":return"last"===I?a(d,F):[v.getStartOfMonth(C),v.getEndOfMonth(C)];case"quarter":return"last"===I?a(c,F):[v.getStartOfQuarter(C),v.getEndOfQuarter(C)];case"year":return"last"===I?a(p,F):[v.getStartOfYear(C),v.getEndOfYear(C)];default:return e.value}}return t.getDates=_,t}(N,{},_,r);k["Controls/_filter/Editors/DateRange"]=true;var q=function(e,t,i,r,o,s,n){"use strict";return Object.defineProperty(t,"__esModule",{value:true}),t.default=r.forwardRef((function e(t,r){const{clearProps:l}=(0,o.delimitProps)(t);return(0,i.jsx)(s.default,{templateName:"Controls/filterDateRangeEditor",onTextValueChanged:function(){var e;const i=new n.SyntheticEvent(null,{type:"textValueChanged"});null===(e=t.onTextvaluechanged||t.onTextValueChanged)||void 0===e||e(i,...arguments)},onRangeChanged:function(){const e=new n.SyntheticEvent(null,{type:"rangeChanged"});(t.onRangechanged||t.onRangeChanged)(e,...arguments)},customEvents:["onTextValueChanged","onRangeChanged"],templateOptions:{...l,ref:r,onRangeChanged:null,onTextValueChanged:null}})})),t}(N,{},e,t,s,S,o),j=q;k["Controls/_filter/MenuUtils"]=true;var H=function(e,t,i,r,o){"use strict";function s(e,t){return e.value(r.factory.recordSet,{adapter:t.getAdapter(),keyProperty:t.getKeyProperty(),format:t.getFormat(),model:t.getModel(),metaData:t.getMetaData()})}function n(e,t,r){const o=e.clone();o.prepend(t);const n=undefined;return s((0,i.factory)(o).filter(((e,t)=>{if(o.getIndexByValue(r,e.get(r))===t)return true})),e)}function l(e,t,r,o,l){const a=e.getCount();let u=n(e,t,o);if(r&&r.hasMoreData("down",l))u=(0,i.factory)(u).first(a),u=s(u,e);return u}function a(e,t,i,r,s,n){let a;const u=l(e,t,i,s,n);if((0,o.instanceOfModule)(r,"Controls/history:Source"))a=r.prepareItems(u);else a=u;return a}return Object.defineProperty(t,"__esModule",{value:true}),t.getUniqItems=t.getItemsWithHistory=void 0,t.getUniqItems=n,t.getItemsWithHistory=a,t}(N,{},g,y,C);k["Controls/_filter/View/ItemTemplate"]=true;var L=function(e,t,i,r){"use strict";Object.defineProperty(t,"__esModule",{value:true});const o=function e(t){return(0,i.jsx)("div",{className:`icon-DayForward controls-FilterView__iconArrow\n               controls-FilterView-${t.alignment}__iconArrow\n               controls-FilterView__iconArrow_state_${t.readOnly?"readOnly":"enabled"}`})};return t.default=r.forwardRef((function e(t,r){var s;return(0,i.jsxs)("div",{ref:r,onMouseDown:t.onMouseDown,className:` ${t.className||(null===(s=t.attrs)||void 0===s?void 0:s.className)} controls_filter_theme-${t.theme} controls-FilterView__block ${null===t.beforeContentTemplate?"controls-FilterView__block-withoutArrow":"controls-FilterView__block-withArrow"}`,"data-qa":"FilterView__block",children:[void 0!==t.beforeContentTemplate?t.beforeContentTemplate?(0,i.jsx)(t.beforeContentTemplate,{}):null:(0,i.jsx)(o,{alignment:t.alignment,readOnly:t.readOnly}),t.contentTemplate?(0,i.jsx)(t.contentTemplate,{...t,className:"js-controls-FilterView__target"}):(0,i.jsxs)("div",{className:`controls-FilterView__text-wrapper\n                  js-controls-FilterView__target\n                  controls-FilterView__text_state_${t.readOnly?"readOnly":"enabled"}`,title:t.title,name:t.itemName,children:[(0,i.jsx)("div",{className:"controls-FilterView__text",children:t.text}),t.moreText?(0,i.jsx)("span",{className:"controls-FilterView__hasMoreText",children:t.moreText}):null]})]})})),t}(N,{},e,t),A=L;k["Controls/_filter/FilterCalculator"]=true;var B=function(e,t,i,r,o){"use strict";function s({viewMode:e,value:t,visibility:i,descriptionToValueConverter:r}){return!!(void 0!==t&&(void 0===i||i||"frequent"===e||r))}function n(e,r,o){var s,n;let a;if("string"===typeof e.descriptionToValueConverter&&(0,i.isLoaded)(e.descriptionToValueConverter))a=(0,i.loadSync)(e.descriptionToValueConverter);else a=e.descriptionToValueConverter;if(a){const i=a(e,o);if(i===t.DESCRIPTION_CONVERTER_DELETE_VALUE)delete r[e.name];else Object.assign(r,i)}else if("Controls/filterPanelEditors:DateMenu"===e.editorTemplateName&&!(null===(s=e.editorOptions)||void 0===s?void 0:s.dateMenuItems)&&!(null===(n=e.editorOptions)||void 0===n?void 0:n.items))r[e.name]=l(e);else r[e.name]=e.value}function l(e){return(0,o.getDates)(e)}function a(e={},t=[]){const i={...e};return t.forEach((e=>{const r=e.name||e.id;if(s(e))n(e,i,t);else delete i[r]})),i}function u(e,t){const i={};for(const o in e)if(e.hasOwnProperty(o))if(!(0,r.isEqual)(e[o],t[o]))i[o]=t[o];for(const r in t)if(t.hasOwnProperty(r)&&!e.hasOwnProperty(r))i[r]=t[r];return i}return Object.defineProperty(t,"__esModule",{value:true}),t.DESCRIPTION_CONVERTER_DELETE_VALUE=void 0,t.DESCRIPTION_CONVERTER_DELETE_VALUE=Symbol("DescriptionConverterDelete"),t.default={getFilterByFilterDescription:a,getChangedFilters:u,getDatesByFilterItem:l,DESCRIPTION_CONVERTER_DELETE_VALUE:t.DESCRIPTION_CONVERTER_DELETE_VALUE},t}(N,{},r,f,M),U=B;k["Controls/_filter/View/ViewReact"]=true;var $=function(e,t,i,r,o,s,n,l,a,u){"use strict";function d(e){const t=o.useCallback((()=>{e.openDetailPanel("emptyTextTarget")}),[e.openDetailPanel]);if(e.needShowDetailPanelTarget&&e.emptyText&&!e.detailPanelTemplateName)return(0,i.jsx)(e.itemTemplate,{name:"emptyTextTarget",itemName:"emptyTextTarget",readOnly:e.readOnly,theme:e.theme,text:e.emptyText,title:e.emptyText,className:`controls-FilterView__emptyText ${"controls-FilterView-"+e.alignment+"__block"}`,onMouseDown:t});return null}Object.defineProperty(t,"__esModule",{value:true});const c=o.forwardRef(((e,t)=>(0,i.jsx)("span",{ref:t,className:"controls-FilterView__iconReset icon-CloseNew","ws-no-focus":"true",onMouseDown:e.reset,title:r("Сбросить"),"data-qa":"FilterView__iconReset"}))),p=o.forwardRef(((e,t)=>{const r=o.useCallback((()=>{e.openDetailPanel()}),[e.openDetailPanel]);if(e.filterText)return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(e.itemTemplate,{ref:t,readOnly:e.readOnly,theme:e.theme,text:e.filterText,title:e.filterText,onMouseDown:r,className:`controls-FilterView__filterTextLine ${e.alignmentClass}`}),e.needShowResetCross&&!e.readOnly?(0,i.jsx)(c,{reset:e.resetFilterText}):null]});return null})),m=o.forwardRef(((e,t)=>{const r=e.itemConfig,s=o.useCallback((t=>{e.openPanel(t,r.name)}),[e.openPanel,r.name]),n=o.useCallback((()=>{e.resetFrequentItem(r)}),[e.resetFrequentItem,r]);return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(e.itemTemplate,{readOnly:e.readOnly,theme:e.theme,text:e.displayText[r.name].text,title:e.displayText[r.name].title,moreText:e.displayText[r.name].hasMoreText,onMouseDown:s,name:r.name,item:r,itemName:r.name,className:`controls-FilterView__frequentFilter ${e.alignmentClass}`}),false!==e.resetButtonVisible&&r.hasOwnProperty("resetValue")&&!e.readOnly?(0,i.jsx)(c,{reset:n}):null]})}));function f(e){const t=e.primaryFilter;if(t)return(0,i.jsx)(m,{itemConfig:t,itemTemplate:e.itemTemplate,openPanel:e.openPanel,resetFrequentItem:e.resetFrequentItem,readOnly:e.readOnly,theme:e.theme,displayText:e.displayText,alignmentClass:e.alignmentClass,resetButtonVisible:!(0,l.isEqual)(t.value,t.resetValue)},t.name);else return null}const h=function(e){const t=o.useCallback((t=>{e.openPanel(t,"all_frequent")}),[e.openPanel]);if(e.needShowFastFilter){const o=[];return e.source.forEach(((t,r)=>{var s,n,l,a;const u=null===(n=null===(s=e.configs[t.name])||void 0===s?void 0:s.items)||void 0===n?void 0:n.getCount();if(!t.primary&&(u&&void 0!==(null===(l=e.displayText[t.name])||void 0===l?void 0:l.text)||(null===(a=e.displayText[t.name])||void 0===a?void 0:a.text)))o.push((0,i.jsx)(m,{itemConfig:t,itemTemplate:e.itemTemplate,openPanel:e.openPanel,resetFrequentItem:e.resetFrequentItem,readOnly:e.readOnly,theme:e.theme,displayText:e.displayText,alignmentClass:e.alignmentClass},t.name))})),(0,i.jsxs)(i.Fragment,{children:[e.detailPanelTemplateName&&(e.emptyText&&e.emptyText+""!==r("Все")+""&&e.isFastReseted||e.isFiltersReseted)?(0,i.jsx)(e.itemTemplate,{name:"all_frequent",itemName:"all_frequent",readOnly:e.readOnly,theme:e.theme,text:e.emptyText||r("Все"),className:`controls-FilterView__frequentFilter ${e.alignmentClass}`,onMouseDown:t}):null,o]})}return null},_=o.forwardRef(((e,t)=>{var r,s;const{dateRangeItem:a}=e,u=o.useCallback((t=>{e.openPanel(t,null===a||void 0===a?void 0:a.name)}),[e.openPanel,null===a||void 0===a?void 0:a.name]),d=o.useCallback((()=>{e.resetFrequentItem(a)}),[e.resetFrequentItem]);if(!a||a.filterVisibilityCallback&&false===a.visibility)return null;const p=e.needShowDetailPanelTarget&&(!e.emptyText||e.detailPanelTemplateName),m=1===e.source.length&&!e.needShowFastFilter,f=p?"default":m&&"bold"||void 0;if("extended"!==a.viewMode)if("dateMenu"===a.type){const o=a.hasOwnProperty("resetValue")&&!(0,l.isEqual)(a.resetValue,a.value),s=a.textValue||(null===(r=a.editorOptions)||void 0===r?void 0:r.emptyCaption)||a.emptyText;return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(e.itemTemplate,{theme:e.theme,text:s,title:s,onMouseDown:u,name:a.name,item:a,itemName:a.name,ref:t,className:`controls-FilterView__DateMenuEditor ${e.alignmentClass}`}),o&&!e.readOnly?(0,i.jsx)(c,{reset:d}):null]})}else return(0,i.jsx)(n.default,{...a.editorOptions,validators:a.validators,value:a.value,resetValue:a.resetValue,type:a.type,ref:t,editorTemplateName:a.editorTemplateName,fontColorStyle:"filterItem",validateValueBeforeChange:true,fontWeight:(null===(s=a.editorOptions)||void 0===s?void 0:s.fontWeight)||f,onTextValueChanged:e.textValueHandler,onRangeChanged:e.dateRangeHandler,customEvents:["onTextValueChanged","onRangeChanged"]});return null}));function y(e){if("hidden"===e.resetButtonVisibility||"withoutTextValue"===e.resetButtonVisibility&&(e.filterText||e.allChangedFilterTextValueInvisible||!e.isFastReseted))return(0,i.jsxs)("div",{className:"controls-FilterView__wrapper",children:[(0,i.jsx)(_,{dateRangeItem:e.dateRangeItem,needShowDetailPanelTarget:e.needShowDetailPanelTarget,emptyText:e.emptyText,detailPanelTemplateName:e.detailPanelTemplateName,source:e.source,needShowFastFilter:e.needShowFastFilter,openPanel:e.openPanel,resetFrequentItem:e.resetFrequentItem,itemTemplate:e.itemTemplate,theme:e.theme,alignmentClass:e.alignmentClass,readOnly:e.readOnly,textValueHandler:e.textValueHandler,dateRangeHandler:e.dateRangeHandler}),(0,i.jsx)(f,{source:e.source,configs:e.configs,displayText:e.displayText,openPanel:e.openPanel,resetFrequentItem:e.resetFrequentItem,primaryFilter:e.primaryFilter,itemTemplate:e.itemTemplate,readOnly:e.readOnly,theme:e.theme,alignmentClass:e.alignmentClass}),(0,i.jsx)(h,{needShowFastFilter:e.needShowFastFilter,source:e.source,configs:e.configs,displayText:e.displayText,openPanel:e.openPanel,resetFrequentItem:e.resetFrequentItem,detailPanelTemplateName:e.detailPanelTemplateName,emptyText:e.emptyText,isFastReseted:e.isFastReseted,isFiltersReseted:e.isFiltersReseted,itemTemplate:e.itemTemplate,readOnly:e.readOnly,theme:e.theme,alignmentClass:e.alignmentClass}),(0,i.jsx)(p,{openDetailPanel:e.openDetailPanel,itemTemplate:e.itemTemplate,filterText:e.filterText,readOnly:e.readOnly,theme:e.theme,alignmentClass:e.alignmentClass,needShowResetCross:e.needShowResetCross,resetFilterText:e.resetFilterText}),(0,i.jsx)(d,{itemTemplate:e.itemTemplate,openDetailPanel:e.openDetailPanel,needShowDetailPanelTarget:e.needShowDetailPanelTarget,detailPanelTemplateName:e.detailPanelTemplateName,readOnly:e.readOnly,theme:e.theme,emptyText:e.emptyText,alignment:e.alignment})]});else return(0,i.jsx)(s.Button,{caption:r("Сбросить"),viewMode:"link",fontColorStyle:"label",fontSize:"m",onClick:e.resetFilter,"data-qa":"FilterView__Reset"})}const g=o.forwardRef((function e(t,r){var s;const n=o.useContext(a.DesignContext),l=o.useContext((0,u.getWasabyContext)()),d=(0,u.useReadonly)(t),c=o.useMemo((()=>(null===l||void 0===l?void 0:l.workByKeyboard)&&!d),[l,d]),p=o.useMemo((()=>{if(t.setAlignment)t.setAlignment((null===n||void 0===n?void 0:n.alignment)||t.alignment);return(null===n||void 0===n?void 0:n.alignment)||t.alignment}),[t.alignment,n]),m=o.useCallback((()=>{t.openDetailPanel()}),[t.openDetailPanel]),f=t.needShowDetailPanelTarget&&(!t.emptyText||t.detailPanelTemplateName)||!t.showFilterText,h=t.detailPanelTemplateName?"controls-FilterView-"+p+"__block":"";return(0,i.jsxs)("div",{ref:r,...t.attrs,className:`${null===(s=t.attrs)||void 0===s?void 0:s.className} controls_filter_theme-${t.theme} controls-FilterView controls-FilterView-${p}\n            controls-FilterView_${f?"withButton":"withoutButton"}\n            ${t.readOnly?"controls-FilterView_readOnly":""}`,onMouseEnter:t.startLoadDependencies,children:[t.showFilterText?(0,i.jsx)(y,{dateRangeItem:t.dateRangeItem,emptyText:t.emptyText,detailPanelTemplateName:t.detailPanelTemplateName,source:t.source,needShowFastFilter:t.needShowFastFilter,openPanel:t.openPanel,itemTemplate:t.itemTemplate,textValueHandler:t.textValueHandler,dateRangeHandler:t.dateRangeHandler,configs:t.configs,displayText:t.displayText,resetFrequentItem:t.resetFrequentItem,isFastReseted:t.isFastReseted,isFiltersReseted:t.isFiltersReseted,openDetailPanel:t.openDetailPanel,filterText:t.filterText,needShowResetCross:t.needShowResetCross,primaryFilter:t.primaryFilter,resetFilterText:t.resetFilterText,needShowDetailPanelTarget:t.needShowDetailPanelTarget,theme:t.theme,readOnly:t.readOnly,alignmentClass:h,alignment:p,isAdaptive:t.isAdaptive,resetFilter:t.resetFilter,startLoadDependencies:t.startLoadDependencies,resetButtonVisibility:t.resetButtonVisibility,allChangedFilterTextValueInvisible:t.allChangedFilterTextValueInvisible}):null,f?(0,i.jsx)("div",{tabIndex:0,name:"detailPanelTarget",className:`controls-FilterView__icon controls-notFocusOnEnter ${c?"controls-focused-item_background":""}\n                                           ${!t.resetFilterButtonCaption?"controls-FilterView-button-"+p:""}\n                                           controls-FilterView__icon_state_${t.readOnly?"disabled":"enabled"}\n                                           icon-FilterNew`,onMouseDown:m,"data-qa":"FilterView__icon","data-name":"FilterView__icon",children:t.isAdaptive&&(t.filterText||!t.isFastReseted)?(0,i.jsx)("div",{className:`controls-FilterView-buttonIndicator\n                        controls-FilterView-buttonIndicator_${false===t.showFilterText?"visible":"hidden"}\n                        `}):null}):null]})}));return g.defaultProps={showFilterText:true},t.default=g,t}(N,{},e,i,t,V,q,f,b,c);k["Controls/_filter/FilterDescription"]=true;var K=function(e,t,i,r,o,s,n,l,a,u){"use strict";Object.defineProperty(t,"__esModule",{value:true}),t.getFilterItemProperty=t.getItemOnFilterChangedCallback=t.initFilterDescription=t.getFilterFromURL=t.applyFilterUserHistoryToDescription=t.isFilterDescriptionChanged=void 0;const d="Controls-ListEnv/filterPrefetch";function c(e){return e.some(m)}function p(e=[],t){return e.filter((e=>e.saveToUrl||t&&!e.hasOwnProperty("saveToUrl")))}function m(e){const{name:t,value:o,resetValue:s,visibility:n,editorTemplateName:l,filterVisibilityCallback:a}=e,u=e.hasOwnProperty("resetValue")?!(0,i.isEqual)(o,s):void 0!==o,d=!a||false!==n;if(u&&!d&&!l)r.Logger.error(`Для элемента фильтра ${t} установлено visibility: false при изменённом значении опции value (value !== resetValue).`);return u&&d}function f(e,t){if(!t.length)return e;const i=undefined;return o.object.clonePlain(e).map((e=>{const i=t.find((({name:t})=>t===e.name));if(i)Object.keys(i).forEach((t=>{if(e.hasOwnProperty(t))if("object"===typeof e[t])e[t]={...e[t],...i[t]};else e[t]=i[t]}));return e}))}function h(e,t=false){const i=s.query.get.filter;if(!i||!p(e,t).length)return;let o;try{const e=new n.Serializer;o=JSON.parse(decodeURIComponent(i),e.deserialize)||[]}catch(e){if((0,r.isDebug)())r.Logger.error("Controls/filter::в query параметре filter лежит невалидное значение, которое невозможно сериализовать.");o=[]}return o}function _(t,r=false){const o=p(t,r);if(null===o||void 0===o?void 0:o.length){const r=y(t);if((0,i.isEmpty)(r))r.replace=true;new Promise(((t,i)=>{e(["Router/router"],t,i)})).then((e=>{const t=e.MaskResolver.calculateQueryHref(r),i=(0,s.getConfig)("appRoot");let o;if(!i||"/"===i){const e=t.indexOf("/page/");o=t.substring(e)}e.History.replaceState({state:t,href:o})})).catch((function(e){requirejs.onError(e)}))}}function y(e){const t=[];for(const r of e)if(!(0,i.isEqual)(r.value,r.resetValue))t.push({name:r.name,value:r.value,textValue:r.textValue,visibility:r.visibility});const r=new n.Serializer;let o={};if(t.length)o={filter:JSON.stringify(t,r.serialize)};return o}function g(e,t){const i=e.historyId,r=t.historyId;return e.name===t.name&&(!i||!r||i===r)}function v(e,t,i){const r=t[e];let o;switch(e){case"viewMode":o=void 0!==r&&("frequent"!==r&&"frequent"!==i.viewMode||!i.viewMode);break;case"textValueVisible":o=!i.hasOwnProperty(e);break;case"textValue":o=t.hasOwnProperty(e);break;case"appliedFrom":o=true;break;default:o=t.hasOwnProperty(e)&&i.hasOwnProperty(e)}return o}function F(e=[],t=[],i){return e.forEach((e=>{t.forEach((t=>{if(g(e,t))for(const r in t)if(t.hasOwnProperty(r)&&(!i||i.includes(r))){const i=t[r];if(v(r,t,e))e[r]=i}}))})),e}function P(e,t,i,r,s){const n="string"===typeof e?(0,l.loadSync)(e):e;if(n)return n(o.object.clonePlain(t,{processCloneable:false}),i,r,s)}function C(e,t,i,r){const o=(0,l.loadSync)("Controls/filter:FilterLoader");if(o.isCallbacksLoaded(e))w(t,i,e,r);else o.loadCallbacks(e).then((()=>{w(t,i,e,r)}))}function I(e,t,i){C(e,{},t,i)}function T(e,t,i,r){return P(e.filterChangedCallback,e,t,i,r)||e}function O(e,t,i,r){return P(r,e,t,i)}function x(e,t,r,o){const s=u.default.getChangedFilters(t,r);if(!(0,i.isEmpty)(s))C(e,s,r,o);else if(r)o(e)}function b(e,t,i){if(e.filterVisibilityCallback)e.visibility=O(e,t,i,e.filterVisibilityCallback)}function D(e,t={},i){const r=u.default.getFilterByFilterDescription(t,e),o=i||u.default.getChangedFilters(t,r);null===e||void 0===e||e.forEach((e=>{b(e,r,o)}))}function V(e,t={},i){const r=[],o=u.default.getFilterByFilterDescription(t,e),s=i||u.default.getChangedFilters(t,o);return e.forEach((t=>{r.push(T(t,o,s,e))})),r}function w(e,t,i,r){const o=V(i,t,e);if(D(o,t,e),"function"===typeof r)r(o);return o}function S(e){let t=false;return(0,a.factory)(e).each((e=>{if(t)return;t=void 0!==e.resetValue})),t}function E(){if(!(0,l.isLoaded)(d))r.Logger.error(`Controls/filter для работы кэширования необходимо загрузить модуль: ${d}`);return(0,l.loadSync)(d).Prefetch}function R(e,t,i){return E().prepareFilter(e,t,i)}function N(e){const t=e.resetValue,i=e.textValue,r=e.editorOptions,o=e.viewMode,s=e.filterVisibilityCallback;if(void 0!==e.visibility)if(s)e.visibility=void 0;else if("extended"===e.viewMode&&!e.editorTemplateName)e.visibility=false;if(e.hasOwnProperty("resetValue")){if(e.value=t,((null===r||void 0===r?void 0:r.extendedCaption)||e.extendedCaption)&&"basic"===o)e.viewMode="extended";if(void 0!==i)e.textValue=null===i?i:""}return e}function k(e,t){const i=t?o.object.clonePlain(e):e;return i.forEach(N),i}function M(e,t){return e.find((e=>e.name===t))}function q(e,t,r){const s=o.object.clonePlain(e);if(F(s,t),!(0,i.isEqual)(s,e)){const e=u.default.getFilterByFilterDescription(r,s),t=u.default.getChangedFilters(r,e);if(!(0,i.isEmpty)(t))return w(t,e,s);else return s}}function j(e,t,r){return t.forEach((t=>{const o=M(e,t.name);if(o&&!(0,i.isEqual)(t.value,o.value))t.appliedFrom=!(0,i.isEqual)(t.value,t.resetValue)?r:void 0})),t}function H(e,t,i){let r;if(e)if("function"===typeof e)r=e(t);else if(i)r=F(L(e),i);else if(t)r=F(L(e),t);else r=L(e);return r}function L(e){return e.map((e=>({...e})))}t.isFilterDescriptionChanged=c,t.applyFilterUserHistoryToDescription=f,t.getFilterFromURL=h,t.initFilterDescription=I,t.getItemOnFilterChangedCallback=T;const A="CalcCountBy";function B(e,t,{countFilterLinkedNames:i,countFilterValueConverter:r,countFilterUserPeriods:s,countFilterPeriodType:n}){if(void 0!==e){const a=o.object.clonePlain(t,{processCloneable:false});return null===i||void 0===i||i.forEach((t=>{const i=a.find((e=>e.name===t)),o={...K(i,"editorOptions","panel")};let d;if(null===e&&!r)o.filter={...o.filter},delete o.filter[A];else{let t=r;if("string"===typeof r)t=(0,l.loadSync)(r);if(t)d=t(e,i,a);else{const t=u.default.getDatesByFilterItem({name:"",value:e,editorOptions:{userPeriods:s,periodType:n}});d={[A]:t}}o.filter={...o.filter,...d}}W(i,"editorOptions",o,"panel")})),a}return t}const U=["Controls/filterPanelEditors:DateRange","Controls/filterPanelEditors:Date"];function $(e){return!!(null===e||void 0===e?void 0:e.find((({value:e,resetValue:t,type:r,editorTemplateName:o})=>("dateRange"===r||"date"===r||U.includes(o))&&!(0,i.isEqual)(e,t))))}function K(e,t,i){var r,o;if(i)return null!==(o=null===(r=e[i])||void 0===r?void 0:r[t])&&void 0!==o?o:e[t];else return e[t]}function W(e,t,i,r){var o;if(r&&(null===(o=e[r])||void 0===o?void 0:o[t]))e[r][t]=i;else e[t]=i}function z(e,t){var i;return K(e,"extendedCaption",t)||(null===(i=e.editorOptions)||void 0===i?void 0:i.extendedCaption)}return t.getFilterItemProperty=K,t.default={applyFilterDescriptionToURL:_,applyFilterDescription:q,isFilterItemChanged:m,getItemVisibility:O,getItemOnFilterChangedCallback:T,callCallbacksOnFilterDescription:w,callVisibilityCallbackOnFilterDescription:D,callFilterChangedCallbackOnFilterDescription:V,getQueryParamsByFilterDescription:y,getFilterFromURL:h,isFilterDescriptionChanged:c,applyFilterUserHistoryToDescription:f,mergeFilterDescriptions:F,resetFilterDescription:k,resetFilterItem:N,hasResetValue:S,updateFilterDescription:x,isEqualItems:g,getItemByName:M,initFilterDescription:I,setAppliedFrom:j,prepareFilterDescription:H,clone:L,applyFilterCounter:B,isDateRangeFilterChanged:$,getPrefetch:E,prepareFilterWithPrefetch:R,getFilterItemProperty:K,setFilterItemProperty:W,getExtendedCaption:z},t}(N,{},f,n,m,R,l,r,g,B),W=K;k["wml!Controls/_filter/View/View"]=true;var z=function(e){"use strict";var t=["_viewProps"];return e.g({v:1,m:"wml!Controls/_filter/View/View",d:e.d(["Controls/_filter/View/ViewReact"],Array.prototype.slice.call(arguments,1)),t:[e.r(((e,t)=>[e.C(t,"ws:Controls/_filter/View/ViewReact",{K:"0_",O:e.S(t,{},e.m(t,0)),m:"attribute",c:true,i:0})]))],p:t.slice(0),e:[(e,i)=>e.g(i,[t[0]])],i:[[[0]]]})}(E,$);k["Controls/_filter/FilterLoader"]=true;var Y=function(e,t,i,r,o,s,n,l,a,u,d){"use strict";Object.defineProperty(t,"__esModule",{value:true}),t.loadEditorTemplateName=t.loadCallbacks=t.reloadFilterItem=t.initFilterDescriptionFromData=t.loadFilterConfiguration=t.EDITORS_NAME_MAP=t.FILTER_USER_PARAM_POSTFIX=void 0,t.FILTER_USER_PARAM_POSTFIX="-filterUserConfiguration";const c="Controls/filterPanel:ListEditor",p="Controls/filterPanelEditors:Lookup",m="Controls/filterPanelEditors:DateMenu";t.EDITORS_NAME_MAP={"Controls/filterPanel:TextEditor":"Controls/filterPanelEditors:Boolean","Controls/filterPanel:BooleanEditor":"Controls/filterPanelEditors:Boolean","Controls/filterPanel:DateMenuEditor":"Controls/filterPanelEditors:DateMenu","Controls/filterPanel:DateRangeEditor":"Controls/filterPanelEditors:DateRange","Controls/filterPanel:DateEditor":"Controls/filterPanelEditors:Date","Controls/filterPanel:DropdownEditor":"Controls/filterPanelEditors:Dropdown","Controls/filterPanel:LookupEditor":"Controls/filterPanelEditors:Lookup","Controls/filterPanel:LookupInputEditor":"Controls/filterPanelEditors:LookupInput"};const f=["filterVisibilityCallback","filterChangedCallback","descriptionToValueConverter","itemActionVisibilityCallbackName"];function h(e){const i=e+t.FILTER_USER_PARAM_POSTFIX;return u.USER.load([i]).then((e=>{const t=e.get(i);let r;if(t)try{r=JSON.parse(t)}catch(e){s.Logger.error("Ошибка разбора сохранённой конфигурации фильтров. Проверьте на правильность JSON и обратитесь за консультацией в платформу.",null,e),r=[]}return Array.isArray(r)?r:[]}))}function _({type:e,editorTemplateName:t}){return"lookup"===e||"Controls/filterPanelEditors:Lookup"===t}function y({type:e,editorTemplateName:t}){return"Controls/filterPanelEditors:Dropdown"===t||"dropdown"===e}function g({type:e}){return"filterPopupList"===e}function v({type:e,editorTemplateName:t}){return"list"===e||t===c}function F(e){return Array.isArray(e)&&e.some((e=>P(e)))}function P(e){const t=v(e)||_(e),{editorOptions:i}=e;return!!(i&&t&&i.source&&!i.sourceController)}function C(e){if(F(e)){const t=[];return e.forEach((e=>{if(P(e)){const o=i.object.clonePlain(e,{processCloneable:false});o.editorOptions.sourceController=new r.NewSourceController({...e.editorOptions,items:e.editorOptions.items}),t.push(o)}else t.push(e)})),t}else return e}function I(e,t,i,r){const n=t.find((({name:t})=>t===e));if(!n)return void s.Logger.error(`FilterLoader::reloadFilterItem() в структуре фильтров отстуствует элемент с именем ${e}`,this);const l=n.editorOptions;if(!l.source)return void s.Logger.error(`$FilterLoader::reloadFilterItem() элемент структуры фильтров ${e} не поддерживает перезагрузку.`,this);return l.sourceController.reload(i,void 0,void 0,r).then((e=>{if(!(0,o.isEqual)(l.items,l.sourceController.getItems()))l.items.assign(l.sourceController.getItems());return e})).catch((e=>e))}function T(e){return!(null===e||void 0===e?void 0:e.find((e=>f.find((t=>{var i;const r=undefined;return!O(e[t]||(null===(i=e.editorOptions)||void 0===i?void 0:i[t]))})))))}function O(e){return void 0===e||null===e||"string"===typeof e&&(0,n.isLoaded)(e)||"function"===typeof e}function x(e){const t=[];return null===e||void 0===e||e.forEach((e=>{var i,r,o;if(f.forEach((i=>t.push(V(e,i)))),e.editorTemplateName===m&&!(null===(i=e.editorOptions)||void 0===i?void 0:i.dateMenuItems)&&!(null===(r=e.editorOptions)||void 0===r?void 0:r.items))if(t.push(w("Controls/dateUtils")),null===(o=e.editorOptions)||void 0===o?void 0:o.userPeriods)e.editorOptions.userPeriods.forEach((e=>{if(e.getValueFunctionName)t.push(w(e.getValueFunctionName))}))})),Promise.all(t)}function b(e,t,i){const r=[];D(e);const s=undefined;if(e.some((e=>v(e)))&&!(0,n.isLoaded)(p))if("cloud"===t)r.push((0,n.loadAsync)(p));else if("cloud|default"===t){const t=undefined;if(e.some((e=>!(0,o.isEqual)(e.value,e.resetValue)&&"frequent"!==e.viewMode&&false!==e.visibility&&e.name!==i&&"list"!==e.type)))r.push((0,n.loadAsync)(p))}const l=e.filter((e=>{var t,i;return e.editorTemplateName===m&&!(null===(t=e.editorOptions)||void 0===t?void 0:t.dateMenuItems)&&!(null===(i=e.editorOptions)||void 0===i?void 0:i.items)}));if(l.length&&"cloud"===t)r.push((0,n.loadAsync)("Controls/filterPanelEditors:GetDateMenuTextValue"));const a=undefined;if(l.some((e=>!(0,o.isEqual)(e.value,e.resetValue)&&("cloud"===t||"frequent"===e.viewMode))))r.push((0,n.loadAsync)("Controls/filterDateRangeEditor"));return Promise.all(r)}function D(e){e.forEach((e=>{if(!!t.EDITORS_NAME_MAP[e.editorTemplateName])e.editorTemplateName=t.EDITORS_NAME_MAP[e.editorTemplateName]}))}function V(e,t){var i;const r=e[t]||(null===(i=e.editorOptions)||void 0===i?void 0:i[t]);let o;if("string"===typeof r)o=r;else if("function"===typeof r){const i=undefined;if(!(r._moduleName||r.prototype&&r.prototype._moduleName)&&l.constants.isServerSide)s.Logger.error(`FilterLoader::функция, указанная в ${t} элемента структуры фильтра c именем ${e.name}, не сериализуется, потому что она анонимная.\n                      ${t} надо задать в виде строки (путь до функции) или указать функцию, которая экспортируется из библиотеки`)}if(o)return w(o);return Promise.resolve()}function w(e){return(0,a.addPageDeps)([e]),(0,n.loadAsync)(e)}function S(e,t){return Promise.all(e.map((e=>V(e,t))))}function E(e){return e.some((e=>R(e)))}function R(e,t){return(_(e)||v(e))&&"frequent"!==e.viewMode||(y(e)||g(e))&&!!t}function N({type:e,value:t,resetValue:i,editorTemplateName:r}){const s=undefined,n=undefined;return!(0,o.isEqual)(t,i)||"Controls/filterPanel:ListEditor"===r||"list"===e}function k(e){const t=e.editorOptions||{};let i;return(0,n.loadAsync)(e.editorOptionsName).then((e=>{if(e instanceof Function)if(i=e(t),i instanceof Promise)return i.then((e=>({...t,...e})));else return{...t,...i};else i=Promise.resolve({...t,...e});return i}))}function M(e,t){return e.map((e=>{const i=e[t];if((null===i||void 0===i?void 0:i.editorOptions)&&R(e))return{...e,[t]:{...i,editorOptions:e.editorOptions}};return e}))}function q(e,t,i,r,o){const s=H(e,t,r,o),l=(0,n.loadAsync)("Controls/dataFactory");return Promise.all([s,l]).then((([e,{PropertyGrid:t}])=>t.loadData({typeDescription:e,editingObject:{},loadDataTimeout:i}).then((e=>M(e.typeDescription,o)))))}function j(e,t,i,r){const o=undefined,s={...e.editorOptions.filter},{editorOptions:n,value:l}=e;if(t&&("cloud"===i||n.navigation)&&v(e))s[n.keyProperty]=Array.isArray(l)?l:[l];if(n.historyId&&!r)s._historyIds=[n.historyId];return s}function H(e,t,i,r){return Promise.all(e.map((e=>e.editorOptionsName&&N(e)?k(e):void 0))).then((s=>(e.forEach(((e,t)=>{if(e.editorOptionsName)e.editorOptions={...null===e||void 0===e?void 0:e.editorOptions,...s[t]}})),e.map((e=>{var s,n,l;const a={...e};if(a.editorOptions={...(0,d.getFilterItemProperty)(a,"editorOptions",r)},a.editorTemplateName=(0,d.getFilterItemProperty)(e,"editorTemplateName",r),R(a,i)){const r=!(0,o.isEqual)(e.value,e.resetValue),u=(null===(s=a.editorOptions)||void 0===s?void 0:s.buildByItems)&&(null===(n=a.editorOptions)||void 0===n?void 0:n.items),d=v(a)||g(a)&&i,c=y(a)&&"cloud"===t&&!u;let p;if(r||d||c){if(d||!r&&c)a.type="list";else if(c)a.type="dropdown";else if(_(e)&&r)a.type="lookup";p=j(a,r,t,i),a.editorOptions.filter=p,null===(l=a.editorOptions.sourceController)||void 0===l||l.setFilter(p)}}return a})))))}function L(e,t){const i=e.find((({viewMode:e})=>"extended"===e)),r=e.find((e=>"extended"===e.viewMode&&e.expanderVisible&&v(e)));return i&&("cloud"===t||r)}return t.loadFilterConfiguration=h,t.initFilterDescriptionFromData=C,t.reloadFilterItem=I,t.loadCallbacks=x,t.loadEditorTemplateName=b,t.default={reloadFilterItem:I,initFilterDescriptionFromData:C,loadFilterConfiguration:h,isCallbacksLoaded:T,loadCallbacks:x,loadCallbacksByName:S,FILTER_USER_PARAM_POSTFIX:t.FILTER_USER_PARAM_POSTFIX,isNeedLoadFilterDescriptionData:E,loadFilterDescriptionData:q,loadEditorTemplateName:b,loadEditorOptions:k,isNeedLoadExtendedItemsTemplate:L},t}(N,{},m,D,f,u,r,F,a,v,K),J=Y;k["Controls/_filter/FilterHistory"]=true;var X=function(e,t,i,r,o,s,n,l,a,u,d,c){"use strict";Object.defineProperty(t,"__esModule",{value:true});const p=0,m=10,f=7,h={pinned:f,recent:f,frequent:0},_={pinned:m,recent:m,frequent:0},y={recentCount:1,pinnedCount:0,frequentCount:0},g="{}",v="Controls-ListEnv/filterPrefetch";function F(e){const t=[];if(Array.isArray(e))e.forEach((e=>{if(e.historyId)t.push(e.historyId)}));return t}function P(){return(0,o.loadSync)(v).Prefetch}function C(e){const t=e.textValue,i=e.value,r=null!==t,o=!r&&e.visibility?false:e.visibility,n={name:e.name},l=void 0!==e.resetValue?!(0,s.isEqual)(i,e.resetValue)&&r:true;if(void 0!==o&&(!e.editorTemplateName||e.filterVisibilityCallback))n.visibility=o;if(l&&void 0!==i)n.value=i;if(false!==o&&t!==e.resetTextValue)if((0,s.isEqual)(i,e.resetValue))n.textValue="";else n.textValue=e.textValue;if(e.historyId)n.historyId=e.historyId;if(void 0!==e.textValueVisible)n.textValueVisible=e.textValueVisible;if(e.appliedFrom)n.appliedFrom=e.appliedFrom;return n}function I(e){return l.object.clonePlain(e).filter((e=>!(0,s.isEqual)(e.value,e.resetValue)&&null!==e.textValue||e.historyId)).map(C)}function T(e){return e.filter((e=>{var t;return!e.doNotSaveToHistory&&("filterSearch"!==e.appliedFrom||!(null===(t=e.editorOptions)||void 0===t?void 0:t.searchSelectedItemTemplate))}))}function O({historyId:e,historyIds:t,prefetchParams:i}){if((null===t||void 0===t?void 0:t.length)&&!i){const i={[e]:_};return t.forEach((e=>{i[e]=y})),i}else if(i)return h;else return _}function x(e){const{historyId:t,prefetchParams:i}=e;return d.Store.load(t,O(e)).then((()=>E(t,i?f:m)))}function b(e){return JSON.parse(e.get("ObjectData"),(new c.Serializer).deserialize)}function D(e,t,r,o){const n=k(e,t,r,o);return x(n).then((()=>{let r,o,l=false;const a=d.Store.getLocal(e).recent;if(null===a||void 0===a?void 0:a.getCount()){const e=a.at(p),t=b(e);r=Object.keys(t).length?t:[],o=e.get("ObjectId")}else r=[];if(r.items){if(Array.isArray(t))r=r.items.map((e=>{const o=i.default.getItemByName(t,e.name);if(o&&V(o)){const t=1e3*60*60*24,n=r.applyDate?Math.trunc((new u.DateTime-r.applyDate)/t):null;if(l=!(0,s.isEqual)(o.value,e.value)&&(!r.applyDate||n>0),n>3||!r.applyDate){if(o.resetValue){const e=undefined;return C(i.default.resetFilterItem(o))}return C(o)}}return e}));else r=r.items;if(l)d.Store.delete(n.historyId,o),j(r,n.historyId)}return S(r,t)})).catch((e=>(e.processed=true,[])))}function V({type:e,editorTemplateName:t}){return"date"===e||"dateRange"===e||"Controls/filterPanelEditors:DateRange"===t||"Controls/filterPanelEditors:DateMenu"===t||"Controls/filterPanelEditors:Date"===t||"Controls-ListEnv/filterPanelExtEditors:DateRangeInputEditor"===t}function w(e){const t=new c.Serializer;return JSON.parse(e.get("ObjectData"),t.deserialize)}function S(e,t){const r=H(e),o=F(t),s=[];return o.forEach((e=>{var t,i;const r=null===(i=null===(t=d.Store.getLocal(e))||void 0===t?void 0:t.recent)||void 0===i?void 0:i.at(0);if(r){const e=w(r);s.push(e)}})),s.forEach((e=>{const t=i.default.getItemByName(r,e[0].name);if(!t)r.push(e[0]);else{const i=r.indexOf(t);r[i]={...e[0]}}})),r}function E(e,t){var i,r;const o=d.Store.getLocal(e);if(!o)return new n.RecordSet({keyProperty:"ObjectId"});const s=new n.RecordSet({keyProperty:"ObjectId",adapter:(o.recent||o.pinned).getAdapter(),format:[{name:"ObjectId",type:"string"},{name:"ObjectData",type:"string"},{name:"HistoryId",type:"string"},{name:"Counter",type:"integer"},{name:"pinned",type:"boolean"}]});let l=0;return null===(i=o.pinned)||void 0===i||i.each((e=>{if(e.get("ObjectData")!==g)s.add(e.clone()),s.at(s.getCount()-1).set("pinned",true),l++})),null===(r=o.recent)||void 0===r||r.each((e=>{if(l<=t-1&&!s.getRecordById(e.getKey())&&e.get("ObjectData")!==g)s.add(e.clone()),l++})),s}function R(e){return"favorite"===e}function N(e,t){let i,r,o,n;if(!d.Store.getLocal(e))return;const l=E(e,m);if(l&&l.getCount())l.each(((e,l)=>{if(!i)if(r=b(e),r){const a=T(t);if(n=I(a),o=I(H(r)),(0,s.isEqual)(n,o))i={item:e,data:r,index:l}}}));return i}function k(e,t,i,r){const o=R(i),s={historyId:e,favorite:!!r||o,prefetchParams:r,recent:true};if(!o&&!r)s.historyIds=F(t);return s}function M(e,t,r){let o={};const s=T(t),n=!!F(s).length;if(i.default.isFilterDescriptionChanged(s)||n){if(r)Object.assign(o,r);if(null===r||void 0===r?void 0:r.prefetchParams)P().addPrefetchToHistory(o,r.prefetchParams);if(o.items=I(s),o.applyDate=new u.DateTime,n&&!(null===r||void 0===r?void 0:r.prefetchParams))o={[e]:o},t.forEach((t=>{if(t.historyId&&t.historyId!==e)o[t.historyId]=[C(t)]}))}return o}function q(e={$_addFromData:true},t,i,r,o){var s;const n=null===r||void 0===r?void 0:r.prefetchParams,l=N(t,i);let a;if(null===e||void 0===e?void 0:e.item){if(a=b(e.item),a&&n){const e=null===(s=a.prefetchParams)||void 0===s?void 0:s.PrefetchSessionId,t=null===n||void 0===n?void 0:n.PrefetchSessionId;if(t&&e!==t)a.prefetchParams={...a.prefetchParams,PrefetchSessionId:t}}}else if(a=M(t,i,r),o instanceof Function)o(a,i);if(l)return d.Store.update(t,l.item.getKey(),a);else return d.Store.push(t,a)}function j(e,t,i,r,o,s){const n=null===o||void 0===o?void 0:o.prefetchParams;if(d.Store.getLocal(t))return q(r,t,e,o,s);else return x({historyId:t,historyIds:F(e),prefetchParams:n}).then((()=>q(r,t,e,o,s)))}function H(e){if(e.items)return e.items;if(!e.applyDate&&Array.isArray(e))return e;return[]}function L(e,t={},o){const s=H(o);let n=i.default.prepareFilterDescription(e,s);if(Array.isArray(e))n=i.default.mergeFilterDescriptions(n,s);if(n=a.default.initFilterDescriptionFromData(n),a.default.isCallbacksLoaded(n))i.default.updateFilterDescription(n,t,r.default.getFilterByFilterDescription(t,n),(e=>{n=e}));return n}function A(e,t){const i=M(e,t);return d.Store.push(e,i)}return t.default={loadFilterHistory:x,getHistoryItems:D,getHistorySourceOptions:k,findItemInHistory:N,update:j,getHistoryIdsFromDescription:F,getHistoryItemsFromData:H,minimizeItem:C,minimizeFilterDescription:I,updateFilterHistory:q,mergeHistoryParams:S,applyFilterDescriptionFromHistory:L,push:A,getItemsByHistory:E,MAX_HISTORY_HORIZONTAL_WINDOW:f,HORIZONTAL_WINDOW_HISTORY_CONFIG:h,MAX_HISTORY:m,getFilterHistoryItemData:b},t}(N,{},K,B,r,f,y,m,Y,_,w,d),Q=X;k["Controls/_filter/View"]=true;var G=function(e,t,i,r,o,s,n,l,a,u,d,c,p,m,f,h,_,y,g,v,F,P,C,I,T,O,x,b){"use strict";Object.defineProperty(t,"__esModule",{value:true});const D="all_frequent",V="emptyTextTarget",w="Controls/filterPanelEditors:DateMenu",S=()=>(0,h.loadSync)("Controls/Store"),{resetFilterItem:E,mergeFilterDescriptions:R,resetFilterDescription:N}=C.default;class k extends r.Control{constructor(e){super(e),this._template=o,this._isDetailPanelOpened=false,this._startLoadDependencies=this._startLoadDependencies.bind(this),this._openPanel=this._openPanel.bind(this),this.openDetailPanel=this.openDetailPanel.bind(this),this._resetFrequentItem=this._resetFrequentItem.bind(this),this.reset=this.reset.bind(this),this._resetFilterText=this._resetFilterText.bind(this),this._rangeTextChangedHandler=this._rangeTextChangedHandler.bind(this),this._rangeValueChangedHandler=this._rangeValueChangedHandler.bind(this)}_openDetailPanel(e){if(this._detailPanelTemplateName){let e={fittingMode:{horizontal:"overflow",vertical:"overflow"},actionOnScroll:"close"};if("right"===this._alignment)e.targetPoint={vertical:"top",horizontal:"right"},e.direction={horizontal:"left"};e=f(e,this._options.detailPanelPopupOptions||{}),e.template=this._detailPanelTemplateName,e.className=(this._isNewPanel()?"controls-FilterPanelPopup-orientation-":"controls-FilterButton-popup-orientation-")+("right"===this._alignment?"left":"right"),e.templateOptions=this._options.detailPanelTemplateOptions||{},this._isDetailPanelOpened=true,this._open(this._popupSource||this._source,e)}else this._openPanel(null,e)}reset(){N(this._source),this._notifyChanges(this._source),this._updateText(this._source,this._configs)}closeDetailPanel(){this._getFilterPopupOpener().close()}_isNewPanel(){return"Controls/filterPanelPopup:Sticky"===this._detailPanelTemplateName}_setAlignment(e){this._alignment=e}_beforeMount(e){let t;if(this._configs={},this._displayText={},this._detailPanelTemplateName=e.detailPanelTemplateName,this._editorsViewMode=e.editorsViewMode,e.source)this._resolveItems(e.source),t=this._reload(true,!!e.panelTemplateName);return this._viewProps=this._getViewProps(e),t}_afterMount(e){if(e.useStore)this._subscribeStoreCommands(),this._storeCtxCallbackId=S().onPropertyChanged("_contextName",(()=>{S().unsubscribe(this._openCallbackId),S().unsubscribe(this._resetCallbackId),this._subscribeStoreCommands()}),true)}_subscribeStoreCommands(){this._openCallbackId=S().declareCommand("openFilterDetailPanel",this.openDetailPanel.bind(this)),this._resetCallbackId=S().declareCommand("resetFilter",this.reset.bind(this))}_getViewProps(e){return{...e,alignment:e.isAdaptive?"right":e.alignment,setAlignment:this._setAlignment.bind(this),source:this._source,configs:this._configs,dateRangeItem:this._dateRangeItem,filterText:this._filterText,displayText:this._displayText,needShowResetCross:this._needShowResetCross(this._source),needShowDetailPanelTarget:this._needShowDetailPanelTarget(this._source,e),allChangedFilterTextValueInvisible:this._allChangedFilterTextValueInvisible(),isFastReseted:this._isFastReseted(),needShowFastFilter:this._needShowFastFilter(this._source),primaryFilter:this._getPrimaryFilter(this._source),isFiltersReseted:this._isFiltersReseted(),startLoadDependencies:this._startLoadDependencies,textValueHandler:this._rangeTextChangedHandler,dateRangeHandler:this._rangeValueChangedHandler,resetFrequentItem:this._resetFrequentItem,resetFilter:this.reset,resetFilterText:this._resetFilterText,openPanel:this._openPanel,openDetailPanel:this.openDetailPanel}}_getItemsForReload(e,t,i){const r=["source","filter","navigation","items"],o=(e,t)=>(i,r)=>{var o,s;return i||!(0,d.isEqual)(null===(o=e.editorOptions)||void 0===o?void 0:o[r],null===(s=t.editorOptions)||void 0===s?void 0:s[r])},s=[];return(0,p.factory)(t).each((t=>{const n=this._getItemByName(e,t.name),l=this._isFrequentItem(t),a=n&&this._isFrequentItem(n),u=i&&i[t.name]&&!i[t.name].sourceController,c=n&&!(0,d.isEqual)(t.value,n.value);if(l&&(!n||!a||r.reduce(o(n,t),false)||c&&i&&!i[t.name]||u)){const e=undefined;if(!(null===t||void 0===t?void 0:t.textValue)||c&&!(0,d.isEqual)(t.value,t.resetValue))s.push(t);else if(i&&i[t.name])delete i[t.name]}})),s}_resetDisplayText(e,t,i){(0,p.factory)(t).each((t=>{const{name:r,viewMode:o,type:s}=t,n=this._getItemByName(e,r);if((!n||this._isFrequentItem(n)&&n.viewMode!==o||this._isDateItem(t)&&n.type!==s)&&i[r])i[r]={}}));const r=this._getFilterButtonText(t);if(this._filterText!==r)this._filterText=r}_beforeUpdate(e){if(this._options.editorsViewMode!==e.editorsViewMode)this._editorsViewMode=e.editorsViewMode;if(e.source&&e.source!==this._options.source){let t;this._resolveItems(e.source),this._resetDisplayText(this._options.source,this._source,this._displayText),this._displayText={...this._displayText},this._detailPanelTemplateName=e.detailPanelTemplateName;const i=this._getItemsForReload(this._options.source,e.source,this._configs),r=i.length||!!this._loadPromise,o=()=>{if(this._updateText(this._source,this._configs),this._getFilterPopupOpener().isOpened()&&this._isDetailPanelOpened)this._openDetailPanel()};if(i.length)this._clearConfigs(this._source,this._configs),t=this._reload(null,!!e.panelTemplateName,i);else if(this._loadPromise)t=this._loadPromise.promise.then((()=>this._loadSelectedItems(this._source,this._configs).then((()=>{o()}))));else{const e=this._loadSelectedItemsForFrequentFilters(this._source,this._configs);if(!e.length)o();else t=Promise.all(e).then((()=>{o()}))}if(r&&this._options.task1182866412)this._updateText(this._source,this._configs);return this._viewProps=this._getViewProps(e),t}const t=this._getViewProps(e);if(!(0,d.isEqual)(this._viewProps,t))this._viewProps=t}_beforeUnmount(){if(this._loadPromise)this._loadPromise.cancel(),this._loadPromise=null;if(this._configs=null,this._displayText=null,(0,a.UnregisterUtil)(this,"customscroll",{listenAll:true}),this._filterPopupOpener)this._filterPopupOpener.destroy();if(this._stackOpener)this._stackOpener.destroy();if(this._dialogOpener)this._dialogOpener.destroy();if(this._options.useStore)S().unsubscribe(this._openCallbackId),S().unsubscribe(this._resetCallbackId),S().unsubscribe(this._storeCtxCallbackId)}_startLoadDependencies(){if(!this._options.readOnly){if(!this._dependenciesTimer)this._dependenciesTimer=new F.DependencyTimer;this._dependenciesTimer.start(this._loadDependencies.bind(this))}}openDetailPanel(e){if(this._loadEditorsDataPromise)return;return this._loadDependencies().then((()=>this._setEditorOptionsPromise.then((()=>(this._popupSource=this._cloneItems(this._source),this._loadEditorsDataPromise=I.default.loadFilterDescriptionData(this._popupSource,"cloud",void 0,true,"window").then((t=>{this._popupSource=t,this._openDetailPanel(e)})).finally((()=>{this._loadEditorsDataPromise=null}))))))).catch((e=>(0,g.process)({error:e})))}_cloneItems(e){return e.map((e=>{var t;const i={...e},r=null===(t=e.editorOptions)||void 0===t?void 0:t.sourceController;if(r){const e=c.object.clonePlain(r.getItems());i.editorOptions={...i.editorOptions},i.editorOptions.sourceController=new y.NewSourceController({...r.getState(),items:e})}return i}))}_openPanel(e,t){const i=this._loadPromise&&!this._loadPromise.promise.isReady(),r=t?this._getItemByName(this._source,t):null;if((this._options.panelTemplateName||"dateMenu"===(null===r||void 0===r?void 0:r.type))&&this._sourcesIsLoaded(this._configs)&&!i){const i=!!t,r=i&&(null===e||void 0===e?void 0:e.currentTarget),o=[];return o.push(this._loadUnloadedFrequentItems(this._configs,this._source)),o.push(this._loadFrequentDependencies(this._source)),Promise.all(o).then((()=>{this._loadItemsTemplates(this._configs,this._source).then((()=>{var e;let o;const s=this._getItemByName(this._source,t);if(s&&("dateMenu"===(null===s||void 0===s?void 0:s.type)||this._isPrimaryItem(s)))o=[this._getPopupItemConfig(s,this._configs[t])];else o=this._getPopupConfig(this._configs,this._source);const n=new u.RecordSet({rawData:o}),l={template:this._options.panelTemplateName||"Controls/filterPopup:SimplePanel",fittingMode:{horizontal:"overflow",vertical:"adaptive"}};if(i)l.target=this._children[t]||(null===(e=r||this._container)||void 0===e?void 0:e.getElementsByClassName("js-controls-FilterView__target")[0]),l.className="controls-FilterView-SimplePanel-popup";else l.className="controls-FilterView-SimplePanel__buttonTarget-popup";l.templateOptions=this._options.panelTemplateOptions||{},this._isDetailPanelOpened=false,this._open(n,l)}))}),(e=>{this._configs={},(0,g.process)({error:e})}))}else if(!this._options.panelTemplateName)this._showSelector(t)}_rangeTextChangedHandler(e,t){const i=undefined;this._getDateRangeItem(this._source).textValue=t}_rangeValueChangedHandler(e,t,i){var r;const o=this._getDateRangeItem(this._source);if("date"===o.type)o.value=t;else o.value=[t,i];if((0,d.isEqual)(o.value,o.resetValue)&&"basic"===o.viewMode&&(o.extendedCaption||(null===(r=o.editorOptions)||void 0===r?void 0:r.extendedCaption)))o.viewMode="extended";this._dateRangeItem=c.object.clone(o),this._notifyChanges(this._source),this._viewProps={...this._viewProps,dateRangeItem:this._dateRangeItem}}_allChangedFilterTextValueInvisible(){return this._source.every((e=>this._isItemChanged(e)?false===e.textValueVisible:true))}_isFastReseted(){let e=true;return(0,p.factory)(this._source).each((t=>{if(this._isFrequentItem(t)&&this._isItemChanged(t)&&false!==t.textValueVisible)e=false})),e}_isFiltersReseted(){let e=true;return(0,p.factory)(this._source).each((t=>{if(!this._isDateItem(t)&&this._isItemChanged(t))e=false})),e||!this._filterText&&this._isFastReseted()}_needShowFastFilter(e){let t=false;return(0,p.factory)(e).each((e=>{if(!t&&this._isFrequentItem(e)&&this._isVisibilityItem(e))t=true})),t}_getPrimaryFilter(e){let t;return(0,p.factory)(e).each((e=>{if(!t&&this._isPrimaryItem(e)&&this._isVisibilityItem(e))t=e})),t}_isVisibilityItem(e){return false!==e.visibility||!e.editorTemplateName}_needShowResetCross(e){return!!e.some((e=>{const t=this._isFilterItemTextVisible(e),i=this._isItemChanged(e);return t&&void 0!==e.resetValue&&i}))}_needShowDetailPanelTarget(e,t=this._options){const i=this._needShowFastFilter(e),r=undefined;return(t.isAdaptive&&(!!t.detailPanelTemplateName||i&&!t.emptyText)||!!t.detailPanelTemplateName||this._isFastReseted()&&i)&&!t.readOnly}_resetFrequentItem(e){const t=this._getFilterPopupOpener();if(t.isOpened())t.close();this._source=this._source.map((t=>t.name===e.name?E({...e}):t)),this._notifyChanges(this._source),this._updateText(this._source,this._configs)}_resetFilterText(){const e=this._getFilterPopupOpener();if(e.isOpened())e.close();(0,p.factory)(this._source).each((e=>{if(this._isFilterItemTextVisible(e))E(e)})),this._notifyChanges(this._source),this._updateText(this._source,this._configs)}_isFilterItemTextVisible(e){return!this._isFrequentItem(e)&&!this._isDateItem(e)&&false!==e.textValueVisible}_prepareTheme(e){const t=undefined;if(e.indexOf("header-")>=0)return e.replace("header-","");return e}_open(e,t){if(this._options.readOnly)return;if(!l.detection.isMobileIOS)(0,a.RegisterUtil)(this,"customscroll",this._handleScroll.bind(this),{listenAll:true});const i={opener:this,adaptiveOptions:{modal:true},templateOptions:{items:e,historyId:this._options.historyId},target:this._container[0]||this._container,className:"controls-FilterView-popup",closeOnOutsideClick:true,eventHandlers:{onResult:this._resultHandler.bind(this),onClose:()=>{this._popupSource=null,this._notify("detailPanelClose")}}};f(i,t);const r=this._prepareTheme(this._options.theme);i.className+=` controls_popupTemplate_theme-${r} controls_filter_theme-${r} controls_filterPopup_theme-${r} controls_dropdownPopup_theme-${r}`,this._getFilterPopupOpener().open(i)}_handleScroll(){const e=this._getFilterPopupOpener();if(e.isOpened())e.close()}_getFilterPopupOpener(){if(!this._filterPopupOpener)this._filterPopupOpener=new F.StickyOpener;return this._filterPopupOpener}_getStackOpener(){if(!this._stackOpener)this._stackOpener=new F.StackOpener;return this._stackOpener}_getDialogOpener(){if(!this._dialogOpener)this._dialogOpener=new F.DialogOpener;return this._dialogOpener}_resultHandler(e){if(!e.action){const t=this._source.map((t=>t.doNotSaveToHistory&&e.history?{...t}:E({...t}))),i="popupCloudPanelDefault"===this._options.editorsViewMode?R(c.object.clonePlain(t,{processCloneable:false}),e.items,["value","viewMode","textValue","visibility"]):R(t,e.items);this._resolveItems(i),this._updateText(this._source,this._configs,true),this._isDetailPanelOpened=false}else switch(e.action){case"itemClick":this._itemClick(e);break;case"applyClick":this._applyClick(e);break;case"selectorResult":this._selectorResult(e);break;case"moreButtonClick":this._moreButtonClick(e);break;case"menuClosed":this._resetSearch(e)}if("moreButtonClick"!==e.action){if(e.history)this._notify("historyApply",[e.history]);this._notifyChanges(this._source)}this._getFilterPopupOpener().close()}_onSelectorTemplateClose(){this._idOpenSelector=null}_onSelectorTemplateResult(e){const t=this._configs[this._idOpenSelector];if(!t.items&&e.getCount())t.items=(0,p.factory)(e).value(u.factory.recordSet,{keyProperty:e.at(0).getKeyProperty(),adapter:e.at(0).getAdapter(),format:e.at(0).getFormat()});const i=this._notify("selectorCallback",[this._configs[this._idOpenSelector].initSelectorItems,e,this._idOpenSelector])||e;this._resultHandler({action:"selectorResult",name:this._idOpenSelector,data:i}),this._idOpenSelector=null}_openSelector(e,t){var i,r;const o=[],s=(null===(i=this._configs[e.name])||void 0===i?void 0:i.popupItems)||(null===(r=this._configs[e.name])||void 0===r?void 0:r.items);(0,p.factory)(t).each((t=>{if(void 0!==t&&null!==t){const i=s.getIndexByValue(this._configs[e.name].keyProperty,t);if(-1!==i)o.push(s.at(i))}}));const n=e.editorOptions.selectorTemplate,l=c.object.clone(n.templateOptions)||{};return l.multiSelect=e.editorOptions.multiSelect,l.selectedItems=new u.List({items:o}),this._idOpenSelector=e.name,this._configs[e.name].initSelectorItems=l.selectedItems,this._getStackOpener().open({opener:this,template:e.editorOptions.selectorTemplate.templateName,templateOptions:l,eventHandlers:{onSelectComplete:(e,t)=>{this._onSelectorTemplateResul(t),this._getStackOpener().close()},onResult:this._onSelectorTemplateResult.bind(this),onClose:this._onSelectorTemplateClose.bind(this)}})}_showSelector(e){var t,i;let r=null;if(e&&e!==D&&e!==V)r=this._getItemByName(this._source,e);else r=(0,p.factory)(this._source).filter((e=>this._isFrequentItem(e))).first();if(r){const e=r.name;if(!this._configs[e])this._setConfigByItem(r);if(null===r||void 0===r?void 0:r.editorOptions.selectorTemplate){const o=(null===(t=this._configs[e])||void 0===t?void 0:t.popupItems)||(null===(i=this._configs[e])||void 0===i?void 0:i.items),s=r.editorOptions.multiSelect?r.value:[r.value];if(o)return this._openSelector(r,s);else return this._loadItems(r).then((()=>this._openSelector(r,s)))}}}_getItemByName(e,t){let i;return(0,p.factory)(e).each((e=>{if(e.name===t)i=e})),i}_isFrequentItem(e){return"frequent"===e.viewMode&&!this._isDateItem(e)}_isPrimaryItem(e){return this._isFrequentItem(e)&&e.primary&&!this._isDateItem(e)}_isDateItem(e){return"dateRange"===e.type||"date"===e.type||"dateMenu"===e.type}_resolveItems(e=[]){this._source=e.map((e=>({...e})))}_sourcesIsLoaded(e){let t=true;return(0,p.factory)(e).each((e=>{if(e.sourceController&&e.sourceController.isLoading())t=false})),t}_getSourceController(e,t,i){if(!e.sourceController)e.sourceController=new y.NewSourceController({source:t,navigation:i,keyProperty:e.keyProperty,filter:e.filter});return e.sourceController}_getDateRangeItem(e){var t,i,r,o,s,l;let a;if((0,p.factory)(e).each((e=>{var t;const i=!(0,d.isEqual)(e.value,e.resetValue)||(e.resetValue instanceof Array?!!e.resetValue.length:!!e.resetValue);if(this._isDateItem(e)&&((null===(t=e.editorOptions)||void 0===t?void 0:t.emptyCaption)||i||e.emptyText))a=e})),a){const e=a.editorTemplateName===w,u=(null===(t=a.editorOptions)||void 0===t?void 0:t.items)||(null===(i=a.editorOptions)||void 0===i?void 0:i.dateMenuItems);if(e&&a.textValue&&u&&!a.filterChangedCallback){const e=undefined,t=((null===(r=a.editorOptions)||void 0===r?void 0:r.dateMenuItems)||(null===(o=a.editorOptions)||void 0===o?void 0:o.items)).getRecordById(a.value);if(t)a.textValue=t.get(a.editorOptions.displayProperty)}if(e&&!u&&!a.textValue&&a.value){const e=n.default.getDatesByFilterItem(a);if(e&&e.length&&(e[0]||e[1]))a.textValue=((null===(s=a.editorOptions)||void 0===s?void 0:s.captionFormatter)||this._dateRangeItemFormatter)(e[0],e[1],null===(l=a.editorOptions)||void 0===l?void 0:l._date)}if("extended"===a.viewMode)x.Logger.error(`Controls/filter:View быстрый фильтр по периоду\n            с именем ${a.name} и типом ${a.type} не может находиться в области 'Можно отобрать' (viewMode: 'extended').\n            Установите viewMode: 'basic' или 'frequent'k`,this)}return a}_dateRangeItemFormatter(e,t,i){var r;const o=(i||new Date).getFullYear(),s=(null===(r=e||t)||void 0===r?void 0:r.getFullYear())===o?b.PeriodConfigurationType.WithoutYear:b.PeriodConfigurationType.Default;return(0,b.period)(e,t,{configuration:s})}_loadUnloadedFrequentItems(e,t){const i=[];return(0,p.factory)(t).each((t=>{if((this._isFrequentItem(t)||"dateMenu"===t.type)&&(!e[t.name]||!e[t.name].items||!e[t.name].sourceController)){if(e[t.name])e[t.name].items=null;i.push(this._loadItems(t))}})),Promise.all(i).then((()=>this._loadSelectedItems(this._source,this._configs)))}_loadFrequentDependencies(e){const t=[];let i=false,r=false;if((0,p.factory)(e).each((e=>{var o,s,n;const l=null===(o=e.editorOptions)||void 0===o?void 0:o.itemTemplate;if(this._isFrequentItem(e)&&l&&"string"===typeof l&&!(0,h.isLoaded)(l))t.push((0,h.loadAsync)(l));if(null===(s=e.editorOptions)||void 0===s?void 0:s.useListRender)i=true;if(null===(n=e.editorOptions)||void 0===n?void 0:n.searchParam)r=true})),i)t.push((0,h.loadAsync)("Controls/list"));if(r)t.push((0,h.loadAsync)("Controls/search"));return Promise.all(t)}_loadItemsTemplates(e,t){const i=[];(0,p.factory)(t).each((t=>{var r,o;const s=null===(r=t.editorOptions)||void 0===r?void 0:r.itemTemplateProperty;if(s&&this._isFrequentItem(t))null===(o=e[t.name].items)||void 0===o||o.forEach((e=>{const t=e.get(s);if("string"===typeof t&&!i.includes(t)&&!(0,h.isLoaded)(t))i.push(t)}))}));const r=i.map((e=>(0,h.loadAsync)(e)));return Promise.all(r)}_getPopupItemConfig(e,t){const i=c.object.clonePlain(t);if(f(i,e.editorOptions),i.name=e.name,i.selectedKeys=e.value instanceof Object?e.value:[e.value],e.hasOwnProperty("resetValue"))i.resetValue=e.resetValue instanceof Object?e.resetValue:[e.resetValue];if(i.items=t.popupItems||t.items,i.selectorItems=t.items,i.editorTemplateName=e.editorTemplateName,i.viewMode=e.viewMode,e.editorOptions.source){if(!t.source&&(!t.loadDeferred||t.loadDeferred.isReady()))i.loadDeferred=this._loadItemsFromSource(t,e.editorOptions.source,i.filter,e.editorOptions.navigation),t.loadDeferred=i.loadDeferred;if(!t.sourceController){const r=undefined;this._getSourceController(t,e.editorOptions.source,e.editorOptions.navigation).setItems(i.items)}else{const e=t.sourceController.getItems();e.assign(i.items),t.sourceController.setItems(e)}i.sourceController=t.sourceController,i.selectorOpener=this._getStackOpener(),i.dialogOpener=this._getDialogOpener(),i.selectorDialogResult=this._onSelectorTemplateResult.bind(this),i.selectorDialogClose=this._onSelectorTemplateClose.bind(this),i.opener=this}return i}_getPopupConfig(e,t){const i=[];return(0,p.factory)(t).each((t=>{if(this._isFrequentItem(t)&&!t.primary&&this._isVisibilityItem(t))i.push(this._getPopupItemConfig(t,e[t.name]))})),i}_getFolderIds(e,{nodeProperty:t,parentProperty:i,keyProperty:r}){const o=[];return(0,p.factory)(e).each((e=>{if(e.get(t)&&!e.get(i))o.push(e.get(r))})),o}_getHasMoreText(e){return e.length>1?", "+i("еще")+" "+(e.length-1):""}_getParentText(e,t){let i="",r=e.get(t.parentProperty);while(void 0!==r&&null!==r){const e=t.items.at(t.items.getIndexByValue(t.keyProperty,r));if(e&&false===e.get(t.nodeProperty))i=`${c.object.getPropertyValue(e,t.displayProperty)} ${i}`;r=null===e||void 0===e?void 0:e.get(t.parentProperty)}return i}_getTextFromItems(e,t,i){const r=[];return(0,p.factory)(t).each((e=>{const t=i.items.at(i.items.getIndexByValue(i.keyProperty,e));if(t){const e=this._getParentText(t,i)||"";r.push(e+c.object.getPropertyValue(t,i.displayProperty))}})),r}_getFastText(e,t,i){let r=[];if(t[0]===e.emptyKey&&e.emptyText)r.push(e.emptyText);else if(e.items){if(r=this._getTextFromItems(e.items,t,e),!r.length&&(null===i||void 0===i?void 0:i.textValue))r.push(i.textValue)}else if(null===i||void 0===i?void 0:i.textValue)r.push(i.textValue);return{text:r[0]||"",title:r.join(", "),hasMoreText:this._getHasMoreText(r)}}_getFilterButtonText(e){const t=[];let i;return(0,p.factory)(e).each((e=>{const r="extended"!==e.viewMode&&(!e.editorTemplateName||false!==e.visibility)||true===e.visibility||void 0===e.visibility;if(false!==e.textValueVisible&&this._isItemChanged(e)&&!this._isFrequentItem(e)&&r&&!this._isDateItem(e))if(i=e.textValue,i)t.push(i)})),t.join(", ")}_updateText(e,t,i=false){(0,p.factory)(e).each((e=>{var r;if(this._isFrequentItem(e))if(this._displayText[e.name]={},this._isItemChanged(e)&&false!==e.textValueVisible){if(t[e.name]){const r=t[e.name].nodeProperty,o=t[e.name].multiSelect||r?e.value:[e.value],s=r?(0,p.factory)(o).flatten().value():o,n=this._getFastText(t[e.name],s,e);if(this._displayText[e.name]=n,!n.text&&i)n.text=e.textValue&&e.textValue.split(", ")[0],n.hasMoreText=this._getHasMoreText(s);if(void 0!==e.textValue&&!i)e.textValue=n.title}else if(e.textValue){const t=(null===(r=e.editorOptions)||void 0===r?void 0:r.multiSelect)?e.value:[e.value];this._displayText[e.name]=this._getFastText({},t,e)}}else if(this._isPrimaryItem(e)&&e.emptyText)this._displayText[e.name]={text:e.emptyText,title:e.emptyText};else if(e.textValue&&!i)e.textValue=""})),this._filterText=this._getFilterButtonText(e),this._dateRangeItem=this._getDateRangeItem(e),this._displayText={...this._displayText},this._viewProps=this._getViewProps(this._options)}_isItemChanged(e){return!(0,d.isEqual)(c.object.getPropertyValue(e,"value"),c.object.getPropertyValue(e,"resetValue"))}_getKeysUnloadedItems(e,t,i){const r=t instanceof Object?t:[t],o=(0,p.factory)(r).flatten().value(),s=[];if(e.items)(0,p.factory)(o).each((t=>{const r=e.items.getIndexByValue(e.keyProperty,t);if(void 0!==t&&-1===r&&!(t===e.emptyKey&&e.emptyText)&&t!==i)s.push(t)}));return s}_getPreparedItems(e,t,i,r){const o=t=>(0,p.factory)(t).filter((t=>t.get(e.parentProperty)===r));let s=o(e.popupItems).value(u.factory.recordSet,{adapter:e.popupItems.getAdapter(),keyProperty:e.popupItems.getKeyProperty(),format:e.popupItems.getFormat(),model:e.popupItems.getModel()});const n=o(i).value();return s=(0,P.getItemsWithHistory)(s,n,e.sourceController,t.editorOptions.source,e.keyProperty,r),s.prepend([e.popupItems.getRecordById(r)]),s}_setItems(e,t,i){let r;if(e.nodeProperty)e.popupItems=e.popupItems||e.items.clone(),r=this._getFolderIds(e.popupItems,e);if(e.nodeProperty&&r.length){let o;if((0,p.factory)(r).each((r=>{if(!o)o=this._getPreparedItems(e,t,i,r);else o.append(this._getPreparedItems(e,t,i,r))})),e.popupItems.assign(o),this._isHistorySource(t.editorOptions.source))e.popupItems=t.editorOptions.source.prepareItems(e.popupItems)}else e.popupItems=(0,P.getItemsWithHistory)(e.popupItems||e.items.clone(),i,e.sourceController,t.editorOptions.source,e.keyProperty);e.items=(0,P.getUniqItems)(e.items,i,e.keyProperty)}_loadSelectedItems(e,t){return Promise.all(this._loadSelectedItemsForFrequentFilters(e,t))}_loadSelectedItemsForFrequentFilters(e,t){const i=[];return(0,p.factory)(e).each((e=>{if(this._isFrequentItem(e)&&t[e.name]){const r=t[e.name],o=this._getKeysUnloadedItems(r,e.value,e.resetValue),s=e.editorTemplateName===w;if(o.length&&!s){const t={source:e.editorOptions.source,filter:{...r.filter}},s=r.keyProperty;t.filter[s]=o;const n=this._loadItemsFromSource({},t.source,t.filter,null,e.editorOptions.dataLoadCallback,false).then((t=>(this._setItems(r,e,t),t)));i.push(n)}}})),i}_loadItemsFromSource(e,t,i,r,o,s=true){let n=f({},i);if(e.nodeProperty)n=f(n,{historyId:e.historyId});n=s?v.dropdownHistoryUtils.getSourceFilter(n,t):n;const l=this._getSourceController(e,t,r);return l.setFilter(n),l.load().then((t=>{if(e.items=t,o)o(t);return t})).catch((e=>(0,g.process)({error:e})))}_setConfigByItem(e){const t=e.editorOptions;this._configs[e.name]=f(this._configs[e.name]||{},c.object.clonePlain(t),{ignoreRegExp:/dataLoadCallback/}),this._configs[e.name].emptyText=e.emptyText,this._configs[e.name].emptyKey=e.hasOwnProperty("emptyKey")?e.emptyKey:null,this._configs[e.name].sourceController=null,this._configs[e.name].popupItems=null}_loadItems(e){const t=e.editorOptions;if(this._setConfigByItem(e),t.source)return this._loadItemsFromSource(this._configs[e.name],t.source,t.filter,t.navigation,t.dataLoadCallback);else return Promise.resolve()}_notifyChanges(e){this._notify("filterChanged",[this._getFilter(e)]),this._notify("itemsChanged",[e])}_getFilter(e){const t={};return(0,p.factory)(e).each((e=>{if(this._isItemChanged(e))t[e.name]=e.value})),t}_clearConfigs(e,t){const i=c.object.clonePlain(t);(0,p.factory)(i).each(((i,r)=>{const o=this._getItemByName(e,r);if(!o||!this._isFrequentItem(o))delete t[r]}))}_reload(e=false,t=true,i){const r=[];if((0,p.factory)(i||this._source).each((i=>{if(this._isFrequentItem(i))if(!e||this._isItemChanged(i))if(t)if(!i.textValue){const e=this._loadItems(i);r.push(e)}else this._setConfigByItem(i);else{this._setConfigByItem(i);const e=this._loadSelectedItemsForFrequentFilters([i],this._configs);if(e.length)r.push(Promise.all(e))}})),r.length)return this._loadPromise=new m.CancelablePromise(Promise.all(r)),this._loadPromise.promise.then((()=>this._loadSelectedItems(this._source,this._configs).then((()=>(this._updateText(this._source,this._configs),this._loadPromise=null,{configs:this._deleteHistorySourceFromConfig(this._configs)}))))).catch((e=>e));else this._updateText(this._source,this._configs)}_isHierarchyFilter(e){let t=false;if(e.nodeProperty)t=!!this._getFolderIds(e.popupItems||e.items,e).length;return t}_setValue(e,t){const i=this._configs[t],r=this._getItemByName(this._source,t),o=c.object.getPropertyValue(r,"resetValue");if(this._isHierarchyFilter(i))e=this._prepareHierarchySelection(e,i,o);let s;if(e instanceof Array&&(!e.length||e.includes(o)||(0,d.isEqual)(e,o)||r.emptyText&&!r.hasOwnProperty("emptyKey")&&e.includes(null)))s=c.object.getPropertyValue(r,"resetValue");else if(this._configs[t].multiSelect||this._configs[r.name].nodeProperty)s=e;else s=e[0];c.object.setPropertyValue(r,"value",s)}_getNewItems(e,t){const i=[],r=t.keyProperty;return(0,p.factory)(e).each((e=>{if(e.has(r))i.push(e)})),i}_getSelectedKeys(e,t){let i;const r=()=>{const r=this._getFolderIds(t.items,t);(0,p.factory)(r).each(((r,o)=>{i[r]=[],(0,p.factory)(e).each((e=>{if(r===e.get(t.keyProperty)||r===e.get(t.parentProperty))i[r].push(e.get(t.keyProperty))}))}))};if(t.nodeProperty)i={},r();else i=[],(0,p.factory)(e).each((e=>{i.push(c.object.getPropertyValue(e,t.keyProperty))}));return i}_getSelectedItems(e,t){const i=[],r=(0,p.factory)(t).flatten().value();return(0,p.factory)(r).each((t=>{if(e.getRecordById(t))i.push(e.getRecordById(t))})),i}_itemClick(e){if(this._setValue(e.selectedKeys,e.name),e.textValue){const t=undefined;this._getItemByName(this._source,e.name).textValue=e.textValue}this._updateText(this._source,this._configs),this._updateHistory(e.name,e.data,e.selectedKeys)}_prepareHierarchySelection(e,t,i){const r=this._getFolderIds(t.items,t);let o=true,s=true,n={};if(r.forEach(((i,r)=>{const l=e[i]||[];if(l.includes(i))n[i]=[i];else s=false,n[i]=l;if(l.length&&!l.includes(t.emptyKey))o=false})),o||s)n=i;return n}_applyClick(e){(0,p.factory)(e.selectedKeys).each(((e,t)=>{if(e){const i=this._configs[t];this._setValue(e,t);const r=this._getSelectedItems(i.items,e);this._updateHistory(t,r)}})),this._updateText(this._source,this._configs)}_selectorResult(e){const t=this._configs[e.name],i=this._getItemByName(this._source,e.name),r=this._getNewItems(e.data,t);if(this._options.panelTemplateName)this._updateHistory(e.name,(0,p.factory)(e.data).toArray());if(this._setItems(t,i,r),this._isHistorySource(i.editorOptions.source)&&r.length)t.sourceController=null;if(i.editorTemplateName&&i.editorOptions.sourceController){const t=this._getRecordSetBySelectorResult(e.data,i.editorOptions.source);if(t)i.editorOptions.sourceController.setItems(t)}const o=this._getSelectedKeys(e.data,t);this._setValue(o,e.name),this._updateText(this._source,this._configs)}_getRecordSetBySelectorResult(e,t){if(e instanceof u.RecordSet)return e;else if(e.getCount()){const i=new u.RecordSet({adapter:t.getAdapter(),model:t.getModel(),format:e.at(0).getFormat(),keyProperty:t.keyProperty});return i.assign(e),i}}_moreButtonClick(e){this._idOpenSelector=e.name,this._configs[e.name].initSelectorItems=e.selectedItems}_resetSearch({searchValue:e}){if(e&&!this._idOpenSelector)this._configs={}}_updateHierarchyHistory(e,t,i){const r=this._getFolderIds(e.items,e),o=i=>{const r=[];return(0,p.factory)(t).each((t=>{if(t.get(e.parentProperty)===i)r.push(t)})),r};(0,p.factory)(r).each((e=>{const t=o(e);if(t.length)i.update(t,f(v.dropdownHistoryUtils.getMetaHistory(),{parentKey:e}))}))}_updateHistory(e,t,i){const r=this._getItemByName(this._source,e).editorOptions.source;if(this._isHistorySource(r)){const o=this._configs[e];let s=t;if(i)s=this._getSelectedItems(o.items,i);if(o.nodeProperty)this._updateHierarchyHistory(o,s,r);else r.update(s,v.dropdownHistoryUtils.getMetaHistory());if(o.sourceController&&r.getItems)o.items=r.getItems()}}_loadDependencies(){var e,t,i;function r(e){return e&&"string"===typeof e?(0,h.loadAsync)(e):null}function o(e,t,i){if(e){const r=T.default.getHistorySourceOptions(e,t,i);return T.default.loadFilterHistory(r)}}try{const s="Controls/filterPopup",n=this._detailPanelTemplateName,l=this._options.detailPanelTopTemplateName,a=null===(e=this._options.detailPanelTemplateOptions)||void 0===e?void 0:e.extendedTemplateName,u=null===(t=this._options.detailPanelTemplateOptions)||void 0===t?void 0:t.emptyHistoryTemplate,d=o(this._options.historyId,this._source,null===(i=this._options.detailPanelTemplateOptions)||void 0===i?void 0:i.historySaveMode);if(!this._loadOperationsPanelPromise)this._loadOperationsPanelPromise=Promise.all([(0,h.loadAsync)(s),r(n),r(l),r(a),this._loadEditorOptions(),I.default.loadEditorTemplateName(this._source,"cloud"),I.default.loadCallbacks(this._source),r(u)]);return Promise.all([this._loadOperationsPanelPromise,d]).then((()=>this._setEditorOptionsForFilterDescription()))}catch(e){l.IoC.resolve("ILogger").error("_filter:View",e)}}_setEditorOptionsForFilterDescription(){return this._setEditorOptionsPromise=Promise.all(this._source.map((e=>e.editorOptionsName?I.default.loadEditorOptions(e):void 0))),this._setEditorOptionsPromise.then((e=>{this._source.forEach(((t,i)=>{if(t.editorOptionsName)if(t.editorOptions=e[i],this._isFrequentItem(t))this._setConfigByItem(t)}))}))}_loadEditorOptions(){return Promise.all(this._source.reduce(((e,{editorOptionsName:t})=>{if(t&&!(0,h.isLoaded)(t))e.push((0,h.loadAsync)(t));return e}),[]))}_isHistorySource(e){return(0,_.instanceOfModule)(e,"Controls/history:Source")}_deleteHistorySourceFromConfig(e){const t=c.object.clonePlain(e);return(0,p.factory)(t).each((e=>{if(this._isHistorySource(e.source))delete e.source})),t}static getDefaultOptions(){return{panelTemplateName:"Controls/filterPopup:SimplePanel",alignment:"right",itemTemplate:s.default,source:[],resetButtonVisibility:"hidden"}}static getOptionTypes(){return{source:(0,O.descriptor)(Array)}}}return t.default=k,t}(N,{},i,p,z,L,B,F,T,y,f,m,g,_,P,r,C,D,O,x,I,H,K,Y,X,_,u,h,"undefined"===typeof css_Controls_filter?null:css_Controls_filter),Z=G;k.FilterUtils=k.HistoryUtils=k.DESCRIPTION_CONVERTER_DELETE_VALUE=k.getDatesByFilterItem=k.setAppliedFrom=k.isEqualItems=k.initFilterDescription=k.getFilterByFilterDescription=k.mergeSource=k.resetFilterItem=k.resetFilterDescription=k.updateFilterDescription=k.loadEditorTemplateName=k.isCallbacksLoaded=k.loadCallbacks=k.ViewItemTemplate=k.FilterDescription=k.FilterHistory=k.FilterCalculator=k.FilterLoader=k.DateRangeEditor=k.View=void 0,Object.defineProperty(k,"FilterDescription",{enumerable:true,get:function(){return W.default}}),Object.defineProperty(k,"FilterCalculator",{enumerable:true,get:function(){return U.default}}),Object.defineProperty(k,"FilterHistory",{enumerable:true,get:function(){return Q.default}}),Object.defineProperty(k,"FilterLoader",{enumerable:true,get:function(){return J.default}}),Object.defineProperty(k,"View",{enumerable:true,get:function(){return Z.default}}),Object.defineProperty(k,"DateRangeEditor",{enumerable:true,get:function(){return j.default}});const{loadCallbacks:ee,isCallbacksLoaded:te,loadEditorTemplateName:ie}=J.default;k.loadCallbacks=ee,k.isCallbacksLoaded=te,k.loadEditorTemplateName=ie;const{getFilterByFilterDescription:re,getDatesByFilterItem:oe,DESCRIPTION_CONVERTER_DELETE_VALUE:se}=U.default;k.getFilterByFilterDescription=re,k.getDatesByFilterItem=oe,k.DESCRIPTION_CONVERTER_DELETE_VALUE=se;const{updateFilterDescription:ne,resetFilterDescription:le,resetFilterItem:ae,mergeFilterDescriptions:ue,initFilterDescription:de,isEqualItems:ce,setAppliedFrom:pe}=W.default;k.updateFilterDescription=ne,k.resetFilterDescription=le,k.resetFilterItem=ae,k.mergeSource=ue,k.initFilterDescription=de,k.isEqualItems=ce,k.setAppliedFrom=pe;const me={loadHistoryItems:Q.default.loadFilterHistory,getParamHistoryIds:Q.default.getHistoryIdsFromDescription};k.HistoryUtils=me;const fe={hasResetValue:W.default.hasResetValue,resetFilterItem:W.default.resetFilterItem,resetFilter:W.default.resetFilterDescription};return k.FilterUtils=fe,Object.defineProperty(k,"ViewItemTemplate",{enumerable:true,get:function(){return A.default}}),k}));