{"version":3,"sources":["Global.js","globals/Constants.js","globals/Icons.js","contextmenu.js","api/WebAccess/ControlsTemplates.js","api/WebAccess/BaseObject.js","api/WebAccess/BaseReactObject.js","api/WebAccess/models/BaseObjectModel.js","api/WebAccess/models/DocumentModel.js","api/WebAccess/models/TaskModel.js","api/WebAccess/models/JobModel.js","api/WebAccess/models/ReferenceRecordModel.js","api/WebAccess/models/FolderModel.js","api/WebAccess/models/WizardModel.js","api/WebAccess/models/AccessRightsEntryModel.js","api/WebAccess/Extension.js","api/WebAccess/WebAccess.js","api/WebAccess/mixins/pluginMixin.js","api/WebAccess/mixins/formMixin.js","api/WebAccess/Plugin.js","pages-main.js","links.js","LocalCopies.js","proxy.js","components.js","ReferenceSelect.js","ReferenceSelectDataProvider.js","PickRequisite.js","UserList.js","KeepAlive.js","api/WebAccess/current/User.js","api/WebAccess/Collection.js","api/WebAccess/mixins/linkMixin.js","api/WebAccess/Link.js","api/WebAccess/URL.js","api/WebAccess/utils/utils.js","api/WebAccess/cache/cache.js","api/WebAccess/utils/log/log.js","api/WebAccess/history/history.js","api/WebAccess/cache/sessionCache.js","api/WebAccess/cache/serverCache.js","api/WebAccess/services/services.js","api/WebAccess/templates/templates.js","api/WebAccess/services/authenticaion/authenticaion.js","api/WebAccess/services/base/console.js","api/WebAccess/services/base/profile.js","api/WebAccess/services/cardform/cardform.js","api/WebAccess/services/cryptography/cryptography.js","api/WebAccess/services/document/document.js","api/WebAccess/services/domain/access.js","api/WebAccess/services/domain/relations.js","api/WebAccess/services/domainobject/foldercontent.js","api/WebAccess/services/entity/entity.js","api/WebAccess/services/folder/folder.js","api/WebAccess/services/reference/reference.js","api/WebAccess/services/requisite/requisite.js","api/WebAccess/services/script/script.js","api/WebAccess/services/session/session.js","api/WebAccess/services/task/task.js","api/WebAccess/components/components.js","api/WebAccess/components/dataViews/BaseDataProvider.js","api/WebAccess/components/dataViews/gridPlugins/_controls/selectList/SelectListControl.js","api/WebAccess/components/dataViews/gridPlugins/_controls/selectList/DateValuesPlugin.js","api/WebAccess/components/dataViews/gridPlugins/_controls/selectList/SpecialValuesPlugin.js","api/WebAccess/components/dataViews/gridPlugins/_controls/DateControl.js","api/WebAccess/components/dataViews/gridPlugins/_editors/StringEditor.js","api/WebAccess/components/dataViews/gridPlugins/_editors/TextEditor.js","api/WebAccess/components/dataViews/gridPlugins/_editors/PickEditor.js","api/WebAccess/components/dataViews/gridPlugins/_editors/DateEditor.js","api/WebAccess/components/dataViews/gridPlugins/_editors/IntegerEditor.js","api/WebAccess/components/dataViews/gridPlugins/_editors/FloatEditor.js","api/WebAccess/components/dataViews/gridPlugins/_editors/BaseObjectSelectEditor.js","api/WebAccess/components/dataViews/gridPlugins/_editors/ReferenceEditor.js","api/WebAccess/components/dataViews/gridPlugins/_editors/DocumentEditor.js","api/WebAccess/components/dataViews/gridPlugins/SortingPlugin.js","api/WebAccess/components/dataViews/gridPlugins/GroupingPlugin.js","api/WebAccess/components/dataViews/gridPlugins/FooterPlugin.js","api/WebAccess/components/dataViews/gridPlugins/CheckboxPlugin.js","api/WebAccess/components/dataViews/gridPlugins/ContextMenuPlugin.js","api/WebAccess/components/dataViews/gridPlugins/ColumnResizePlugin.js","api/WebAccess/components/dataViews/gridPlugins/FilteringPlugin.js","api/WebAccess/components/dataViews/gridPlugins/DetailsContextMenu.js","api/WebAccess/components/dataViews/gridPlugins/EditPlugin.js","api/WebAccess/components/dataViews/Grid.js","api/WebAccess/components/dialogs/BaseDialog.js","api/WebAccess/components/dialogs/BaseMultiSelect.js","api/WebAccess/components/dialogs/ReferenceGridDialog.js","api/WebAccess/components/dialogs/SortableMultiSelect.js","api/WebAccess/components/dialogs/SelectableMultiSelect.js","api/WebAccess/components/dialogs/MessageBox.js","api/WebAccess/components/dialogs/CreateDocument.js","api/WebAccess/components/dialogs/FormDialog.js","api/WebAccess/components/dialogs/FormDialogDataProvider.js","api/WebAccess/components/dialogs/ReportParamsDialog.js","api/WebAccess/components/dialogs/FloatDialog.js","api/WebAccess/components/menus/BaseContextMenu.js","api/WebAccess/components/menus/OnlyIconsContextMenu.js","api/WebAccess/components/forms/FormBuilder.js","api/WebAccess/components/forms/validators.js","api/WebAccess/components/forms/requisites/DocumentSelect.js","api/WebAccess/components/forms/requisites/MultiSelect.js","api/WebAccess/components/forms/requisites/Pick.js","api/WebAccess/components/forms/requisites/ReferenceSelect.js","api/WebAccess/components/wrappers/AbstractBasePageElement.js","api/WebAccess/components/wrappers/BaseReactPageElement.js","api/WebAccess/components/wrappers/BasePageElement.js","api/WebAccess/components/wrappers/toolBar/actions/toggleGroup.js","api/WebAccess/components/wrappers/toolBar/actions/task.js","api/WebAccess/components/wrappers/toolBar/ToolBarButton.js","api/WebAccess/components/wrappers/toolBar/ReactToolBarButton.js","api/WebAccess/components/wrappers/toolBar/ToolBarGroup.js","api/WebAccess/components/wrappers/toolBar/ReactToolBarGroup.js","api/WebAccess/components/wrappers/toolBar/Buttons.js","api/WebAccess/components/wrappers/toolBar/Groups.js","api/WebAccess/components/wrappers/sideBar/Tab.js","api/WebAccess/components/wrappers/sideBar/Tabs.js","api/WebAccess/components/wrappers/sideBar/_ExplorerTabs.js","api/WebAccess/components/wrappers/sideBar/SideBar.js","api/WebAccess/components/wrappers/sideBar/_ExplorerSideBar.js","api/WebAccess/components/wrappers/form/Link.js","api/WebAccess/components/wrappers/form/Button.js","api/WebAccess/components/wrappers/folderTree/FolderTree.js","api/WebAccess/components/notifications/InlineHint.js","api/WebAccess/components/notifications/ReactInlineHint.js","api/WebAccess/components/notifications/Spinner.js","api/WebAccess/components/sidePanel/SidePanel.js","api/WebAccess/components/sidePanel/AboutPanel.js","api/WebAccess/components/sidePanel/SettingsPanel.js","api/WebAccess/components/sidePanel/NotificationPanel.js","api/WebAccess/mixins/requisitesMixin.js","api/WebAccess/components/wrappers/form/RequisiteCollection.js","api/WebAccess/components/wrappers/form/BaseTableLine.js","api/WebAccess/components/wrappers/form/TableRow.js","api/WebAccess/components/wrappers/form/TableColumn.js","api/WebAccess/components/wrappers/form/Table.js","api/WebAccess/components/wrappers/form/Form.js","api/WebAccess/components/wrappers/objectList/ListItem.js","api/WebAccess/components/wrappers/objectList/CustomWorkListItem.js","api/WebAccess/components/wrappers/objectList/ObjectList.js","api/WebAccess/components/wrappers/objectList/FolderList.js","api/WebAccess/components/wrappers/objectList/ObjectsTable.js","api/WebAccess/components/wrappers/requisites/BaseRequisite.js","api/WebAccess/components/wrappers/requisites/BaseObjectSelectRequisite.js","api/WebAccess/components/wrappers/requisites/Reference.js","api/WebAccess/components/wrappers/requisites/Document.js","api/WebAccess/components/wrappers/requisites/Text.js","api/WebAccess/components/wrappers/requisites/Date.js","api/WebAccess/components/wrappers/requisites/Pick.js","api/WebAccess/components/wrappers/requisites/Integer.js","api/WebAccess/components/wrappers/requisites/Radio.js","api/WebAccess/components/wrappers/requisites/CheckBox.js","api/WebAccess/components/wrappers/requisites/ObjectList.js","api/WebAccess/components/wrappers/requisites/_details/editModeMixin.js","api/WebAccess/components/wrappers/requisites/_details/BaseRequisite.js","api/WebAccess/components/wrappers/requisites/_details/Reference.js","api/WebAccess/components/wrappers/requisites/_details/Document.js","api/WebAccess/components/wrappers/requisites/_details/Text.js","api/WebAccess/components/wrappers/requisites/_details/Date.js","api/WebAccess/components/wrappers/requisites/_details/Pick.js","api/WebAccess/components/wrappers/requisites/_details/Integer.js","api/WebAccess/components/wrappers/details/Detail.js","api/WebAccess/components/wrappers/details/DetailsInitializer.js","api/WebAccess/components/notifications/Toast.js","api/WebAccess/components/wrappers/sideBar/_ExplorerTab.js","api/WebAccess/components/wrappers/toolBar/ReactToolBar.js","api/WebAccess/components/wrappers/toolBar/ToolBar.js","api/WebAccess/components/actionButton/ActionButton.js","api/WebAccess/components/cardTab/CardTab.js","api/WebAccess/components/cardTab/CardTabMainTab.js","api/WebAccess/components/cardTab/CardTabStateTab.js","api/WebAccess/components/createPanel/CreatePanel.js","api/WebAccess/components/dialogs/EdmsObjectsRightsDialog.js","api/WebAccess/components/dialogs/MassCreateDocument.js","api/WebAccess/components/header/Header.js","api/WebAccess/components/notifications/Notification.js","api/WebAccess/current/current.js","api/WebAccess/current/window/window.js","api/WebAccess/current/statistics/statistics.js","api/WebAccess/factories/factories.js","api/WebAccess/factories/BaseFactory.js","api/WebAccess/factories/references/references.js","api/WebAccess/factories/scripts/scripts.js","api/WebAccess/factories/reports/reports.js","api/WebAccess/factories/folders/folders.js","api/WebAccess/factories/tasks/tasks.js","api/WebAccess/factories/searches/searches.js","api/WebAccess/factories/jobs/jobs.js","api/WebAccess/factories/dialogs/dialogs.js","api/WebAccess/factories/eDocuments/eDocuments.js","api/WebAccess/isbuilder/constants.js","api/WebAccess/domainMethods/EntityMethods.js","api/WebAccess/domainMethods/VariantParameter.js","api/WebAccess/domainMethods/VariantParameterFactory.js","api/WebAccess/actions/actions.js","core/Core.js","pages.js","notifications.js","core/agent/agent.js","core/agent/RunWithAgentDialog.js","core/agent/WaitAgentRunDialog.js","core/header/header.js","core/header/actions/actions.js","core/sideBar/sideBar.js","core/toolBars/toolBars.js","core/toolBars/objectList/objectList.js","core/toolBars/main/main.js","core/toolBars/main/statuses.js","core/toolBars/main/currentPeriod.js","core/toolBars/reference/reference.js","core/toolBars/job/job.js","core/footer/footer.js","core/footer/agentNotStartedWidget.js","core/footer/openedDocumentsWidget.js","core/dropping.js","core/objectList/objectList.js","core/objectList/dragging.js","core/preview/preview.js","core/preview/data-type.js","core/preview/postprocessors/base-document-postprocessor.js","core/preview/postprocessors/excel-document-postprocessor.js","core/preview/postprocessors/image-document-postprocessor.js","core/preview/postprocessors/word-document-postprocessor.js","core/preview/actions/base-actions.js","core/preview/actions/image-actions.js","core/preview/actions/spreadsheet-actions.js","core/preview/actions/text-actions.js","core/preview/actions/word-document-actions.js","core/preview/settings/base-document-preview-settings.js","core/preview/settings/image-document-preview-settings.js","core/preview/settings/text-document-preview-settings.js","core/preview/toolbar/toolbar.js","core/preview/toolbar/toolbar-button/base-toolbar-button.js","core/preview/toolbar/toolbar-button/selectable-toolbar-button.js","core/preview/toolbar/toolbar-button/fit-to-toolbar-button.js","core/preview/toolbar/toolbar-control/toolbar-control.js","core/preview/toolbar/toolbar-control/pagination-toolbar-control.js","core/contextmenu/contextmenu.js","core/login/authentication.js","core/customWorks/customWorks.js","core/tasks/tasks.js","core/pages/pages.js","core/pages/login.js","core/pages/explorer.js","core/documents/documents.js","core/jobs/jobs.js","core/jobs/performResults.js","api/WebAccess/agent/agent.js","api/WebAccess/agent/updates/updates.js","api/WebAccess/agent/edms/edms.js","api/WebAccess/agent/notifications/notifications.js","api/WebAccess/agent/clipboard/clipboard.js","core/settings/settings.js","core/cards/cards.js","core/grid/grid.js","core/grid/reference/ReferenceDataSource.js","core/grid/reference/SelectListDataProvider.js","core/grid/reference/reference.js","core/grid/details/DetailsDataProvider.js","core/grid/details/details.js","core/grid/Filters.js","core/migration/migration.js","core/migration/localStorage.js","core/migration/templates.js","core/report/reportPage.js","core/requisites/requisites.js","core/requisites/baseSelectRequisite.js","core/requisites/datePeriodRequisite.js","core/requisites/documentSelectRequisite.js","core/requisites/documentSelectDataProvider.js","core/requisites/referenceRecordSelectRequisite.js","core/requisites/ReferenceSelect/referenceSelectBase.js","core/requisites/ReferenceSelect/referenceMultiSelect.js","core/requisites/ReferenceSelect/referenceSelect.js","Task.js","Document.js","Folder.js","ToolBar.js","MultiselectModalWindow.js","CardFormLoader.js","ObjectHistory.js","core/clipboard.js","forms/signform.js","searches.js"],"names":["format","str","params","arguments","length","_params","_typeof","slice","call","s","key","replace","df","datepicker","$","formatDate","regional","currentCultureName","dateFormat","date","formatDateTime","time","removeZeroTime","undefined","timepicker","tf","formatParts","split","timeFormat","tmptime","ampm","indexOf","hours","getHours","minutes","getMinutes","seconds","getSeconds","hour12","leadzero","parseDate","window","ParseDateTime","getHash","reqType","m","h","i","charCodeAt","objectTypeToString","objectType","OBJECT_TYPE","EDOCUMENT","FOLDER","TASK","JOB","REFERENCE_RECORD","ANY","UNKNOWN","objectKindToObjectType","objectKind","WA","raise","toUpperCase","prototype","trunc","n","substr","getISBString","msg","opt_is_async","serviceUrl","radix","chars","len","data","result","SRV","callSync","done","res","generateUniqueID","CHARS","uuid","Math","random","r","D","p","rx","exec","day","join","newSvg","setAttribute","newSvgUse","setAttributeNS","hide","parent","prevSvg","insertBefore","xmlns","xlink","replacingSvgs","svgs","el","getElementsByTagName","svgUse","firstChild","svgName","getAttribute","document","createElementNS","className","baseVal","appendChild","push","forEach","parentNode","removeChild","parseDateTime","inp","val","d","y","daysInMonth","separator","cultureName","russianLocale","trim","enLocale","Date","parseInt","culture","type","today","dmy","dateseparator","getFullYear","tmpDate","substring","getDate","tmpTime","splice","ParseTime","requisiteTypeToString","requisiteTypeFromString","String","this","switchLayout","string","map","q","w","e","t","u","o","[","]","a","f","g","j","l",";","'","z","x","c","v","b",".","/","`","_","ch","replaceAll","needle","replacement","RegExp","escapeHtml","entityMap","<",">","\"","^","unescapeHtml","&","<",">",""","'","/","^","stripHtml","subjectString","toString","position","newStr","endsWith","Object","searchString","lastIndex","fromISBuilderToNormal","func","cloneFunction","reFn","isInBrackets","clone","args","Function","constructor","apply","concat","conf","body","hideAllPopups","fromISO","tz","L","UTC","superFunction","setUTCMinutes","getUTCMinutes","NaN","override","MIN_SUPPORTS_WINDOW_WIDTH","MIN_SUPPORTS_WINDOW_HEIGHT","BUTTON","LARGE","SMALL","FORM_METHOD","POST","GET","ENCTYPE","MULTIPART","URLENCODED","LAST_REFERENCES","ALL","ONLY_USERS","USERS_AND_GROUPS","DIRECTION","ASC","NONE","DESC","TAB_TYPE","CARD","HISTORY","RIGHTS","VERSIONS","ROUTE_SCHEME","CUSTOM_WORK_STATE","TASK_CARD","JOB_CARD","COLUMN_TYPE","DATE","STRING","INTEGER","COMPONENT_TOKEN","REFERENCE","SCRIPT","REPORT","USER","WIZARD","USER_OR_GROUP","SEARCH","DIALOG","TASK_IMPORTANCE","LOW","NORMAL","HIGH","WORK_STATE","INIT","RUNNING","DONE","CONTROLLED","ABORTED","CONTINUED","REQUISITE_TYPE","EMPTY","FLOAT","PICK","TEXT","LARGE_INTEGER","DOCUMENT","OBJECT_LIST","ACTION_ENABLED_MODE","ENABLED_ALWAYS","DISABLED_ALWAYS","ENABLED_ON_BROWSE","ENABLED_ON_EDIT","DISABLED_ON_BROWSE_EMPTY","JOB_ACTION_ENABLED_WHEN","IS_ENABLED_ON_ATTACHMENT_SELECTED","IS_ENABLED_ON_ABORTED","IS_ENABLED_ON_DONE","IS_ENABLED_ON_RUNNING","CONTENTS_ACTION_ENABLED_MODE","ENABLED_IN_SELECTED_MODE","ENABLED_ONLY_FOR_SELECTED","ENABLED_WHEN_MULTISELECT","ORIENTATION","SIDEBAR_ORIENTATION","HORIZONTAL","VERTICAL","MODEL","FULL","CONTENT","LINK","WORK_ACCESS_TYPE","MANUAL","PARTICIPANTS","JOB_KIND","NOTICE","CONTROL_JOB","MESSAGE_TYPE","WARNING","ERROR","INFO","INLINE_HINT_PRIORITY","PRIMARY","SECONDARY","FOLDER_CONTENT_TYPE","SPEC_FOLDER_TYPE","FOLDER_TYPE","INBOX","OUTBOX","FAVORITES","COMMON_FOLDER","USER_FOLDER","SHORTCUTS","LOG_LEVEL","WARN","DEBUG","SERIALIZATION","LITE","DIALOG_ACTION","OK","CANCEL","REFERENCE_MODAL_MODE","VIEW","SINGLE","MULTI","VARIANT_TYPE","BOOLEAN","DATE_TIME","USER_GROUP","USER_ROLE","INTEGER_COLLECTION","SINGLE_COLLECTION","STRING_COLLECTION","BOOLEAN_COLLECTION","DATE_TIME_COLLECTION","TASK_COLLECTION","JOB_COLLECTION","FOLDER_COLLECTION","DOCUMENT_COLLECTION","REFERENCE_RECORD_COLLECTION","USER_COLLECTION","USER_GROUP_COLLECTION","USER_ROLE_COLLECTION","WIZARD_DOCUMENT_STEP_SHOW_MODE","BODY","TOKEN_OPERATION","DOWNLOAD_DOCUMENT_BODY","UPLOAD_DOCUMENT_BODY","UPDATE_AGENT","SIGN_DOCUMENT","SIGN_TASK","GET_NEW_JOB_LIST","LOCK_VERSION","UNLOCK_VERSION","GET_ENCRYPTION_KEY","DIAGNOSTICS","EXPLORER","MAX_OBJECT_ROWS_COUNT","PAGE_EVENTS","ON_BEFORE_TAB_CHANGE","TAB_MODEL_CHANGE","TAB_ON_BEFORE_RENDER_NEW_MODEL","TAB_ON_AFTER_RENDER_NEW_MODEL","TOGGLE_PERIOD","TOOLBAR_BUTTONS_INIT_DONE","TOOLBAR_GROUPS_INIT_DONE","MAIN_TAB_CONTENT_SAFE_LENGTH","STATISTICS","freeze","DEBOUNCE_INTERVAL","REQUEST_INTERVAL","STACK_SIZE","FOLDER_MODE","COVER","LIST","GRID","FOLDER_GRID","WIDTHS_STORAGE_KEY","FOLDER_MODE_KEY","FOLDER_MODE_URL_PARAM","DEFAULT_COLUMN_WIDTH","MIN_COLUMN_WIDTH","MAX_COLUMN_WIDTH","STATETREE_FILTER","JOBS","OUTDATED","UNREAD","OBJECT_ACTION","ATTACH","BOUND","ICONS","Job","Task","Notice","ContextMenu","scrollStep","panel_added","ensurePanelAdded","panel","mousedown","ev","stopPropagation","showPanel","removeClass","redraw","addClass","onHide","hidePanel","hideAllPanels","each","elem","offset","getOffset","ipad","init","menu","eventName","off","on","toggle","defaults","arrowWidth","shiftX","shiftY","cssClass","arrowImage","items","options","doInit","parents","first","extend","_panel","hideAll","hasClass","opt_event","targetElement","show","lastElement","lastPanel","getCoordsFor","coords","fillContainer","floor","top","tuneContainer","ok","onShow","one","preventDefault","click","showAt","isInternal","left","event","imageArrowUp","id","style","divArrowUp","css","append","scroller","imageArrowDown","divArrowDown","html","height","find","wheel","delta","wheelDelta","detail","cancelEvent","cancel","returnValue","scrollTop","attr","innerHeight","removeEventListener","onmousewheel","overflow","width","background","padding","ENV","isAndroid","max","paddingTop","iScroll","useTransform","addEventListener","scroll","autohide","clearTimeout","jContainer","target","correspondingUseElement","jContextMenuTable","render","isTablet","_this","renderItem","proxy","self","item","jsaction","it","oncreate","cont","onCreate","upd","visibility","text","bottomSeparator","href","tbl","disabled","isDefault","isDisabled","iconx","icony","hoverIconX","hoverIconY","imgCell","icon","image","imageX","imageY","renderImage","hoverIcon","hoverImageX","hoverImageY","tr","textCell","_event","iconHoverCSSClass","statistics","iconCSSClass","action","area","onClick","CR","write","stataction","name","get","arrowCell","subPanel","parentCoords","subMenu","zIndex","showSubMenu","hideSubMenu","$this","mouseenter","mouseleave","hover","parentItem","jIcon","isHover","backgroundImage","backgroundPosition","backgroundRepeat","scr","ww","c0","useShift","hh","windowHeight","scrollLeft","lastPanelVisible","getItemById","jQuery","CT","ControlTemplate","Description","toolBar","sideBar","form","dialog","button","buttonSvg","groupCollapsed","groupSvg","tab","tabHelp","BaseObject","Class","_events","fire","EVENT","CLASS_INIT","_deprecatedMethodMessageTemplate","_parseArguments","_warnAboutDeprecatedMethod","methodName","messageTemplate","console","_simplifyName","makeSafeString","toLowerCase","bind","opt_context","ENABLE_EVENTS_LOGGING","log","unbind","isTouch","makeArray","isFunction","fireAll","mainFunc","isRun","me","when","then","newArgs","merge","mainFuncWrapper","asString","toJSON","CLICK","BaseReactObject","model","_model","ACCESS_RIGHTS","NO_ACCESS","CHANGE","COMMAND_TYPE","SHOW_DIALOG","END","EXECUTE_SEARCH","EXECUTE_JS_ACTION","SHOW_MESSAGE_BOX","SHOW_NOTIFICATION","BaseObjectModel","_super","load","rawData","JSONData","toURL","link","Link","ID","Type","ReferenceCode","url","URL","IsNew","setParam","executeAction","actionName","opt_params","entityLink","ReferenceName","actions","executeEntityMethod","opt_parameters","showDialogAndExecuteAction","dialogName","DocumentModel","Deferred","parameters","Array","domainMethods","changes","changedMultiSelects","isExist","ChangedMultiSelectRequisitesValues","applyServerSideChanges","fail","errorMessage","Result","reject","Error","promise","isMethodAvailable","TaskModel","start","accessRights","getLocation","TaskID","Subject","ActiveText","Observers","Performers","JobKind","_getJobKind","Deadline","InitiatorId","InitiatorID","RouteType","Rights","IsEncyptEnabled","startTask","StandardRouteCode","loadEvents","standardRouteEvents","eventsForCurrentRoute","task","eventCallback","standardRouteCode","WebAccess","Events","JobModel","currentStandardRouteEvents","LeadTaskStandartRouteCode","blocks","WorkflowBlockID","bindBeforeAskingCommonEvent","commonEvent","performResult","Core","toolBars","job","performByResultCode","performResultCode","performByResultName","performResultName","perform","performResults","jobs","CONTROLJOB","ReferenceRecordModel","viewName","ReferenceView","Changes","resolve","MethodResult","FolderModel","WizardModel","AccessRightsEntryModel","principalId","isGroupPrincipal","rightsType","global","Extension","setAsCurrent","Ext_Click","reload","ReloadExtension","_whenInitComplete","ready","_getFileExtensionFromURL","parts","include","ajaxSetup","async","cache","getScript","createElement","extensions","components","CMP","services","templates","TMPL","factories","FC","mixins","isbuilder","ISB","history","environment","environmentInfo","agent","navigator","oldMobileBrowser","modernMobile","orientation","os","userAgent","documentElement","appVersion","platform","Init","SideBarInit","AgentInit","ToolBarInit","FormControlsInit","DetailsInit","ObjectListInit","_DetailsGridInit","UserInfoInit","_userInfoInit","current","inlineHint","spinner","notifications","Spinner","InlineHint","ExtensionsInit","FolderTreeInit","_extensionsDataInit","FormInit","ext","extension","EXT","isCurrent","fn","resolveWith","Document","ReferenceRecord","Folder","events","Wizard","setEvents","value","error","message","exception","stack","tryCatchDecorator","TCD","decoratedFunction","err","_location","showError","isMobile","path","location","lastIndexOf","logout","CallService","isSessionInitialized","isPluginAvailable","always","isAvailableResponse","endSession","pluginMixin","_plugins","arg","param","hasOwnProperty","isPlainObject","plugins","plugin","__isPlugin","registerPlugin","register","methods","warning","info","isPluginRegistered","pluginName","selectors","details","links","buttons","tabs","searches","toolBarButtons","toolBarGroups","formMixin","objectList","states","_preInit","tables","_postInit","wrappers","_containerInit","_jContainer","containerSelector","_getSubItems","WR","Detail","_getFormData","serviceURL","controls","_initObjectList","warn","Collection","Button","_ExplorerSideBar","_sideBarContainerSelector","_ExplorerTab","_ExplorerTabs","Tab","trigger","g_hasReactToolbar","resizeHorizontalTabs","ToolBarButton","Buttons","groups","Groups","ToolBarGroup","_detailsGridInit","tableParams","grids","formData","_getGrids","objectLink","_getObjectLink","objectView","Table","tablesInit","values","not","focus","select","elementSelector","ComponentClass","jSearchTarget","index","domElement","assign","_bindLeaderDrivenLoginOnRequisites","table","row","reqs","requisites","toArray","getColumnMetadata","req","currentColumnMetadata","Requisite","reqInfo","leaderRequisites","lookUpLeaderRequisites","drivenRequisites","leadReq","tableName","rowId","getRowId","reqName","leader","parseJSON","driven","drivenReq","_initLeaderDrivenLogic","bindLeaderDrivenLogicToTable","rows","_table","_row","newRow","bindLeaderDrivenLogic","lookup","editMode","_getControls","rs","jInput","extraParams","LeadSelID","jControl","needClearDriven","fillLeaderRequisites","leadValues","leaderRequisiteValues","_clearRequisitesValue","_getLookupValues","leadReqVal","getValue","_getRequisiteByFullName","fullName","getRowById","reqFullNames","_fillLeaderForDetailSectionRequisite","requisite","getReferenceSelectParams","settings","recordId","refCode","getReferences","referenceCodesAndReqNamesInDetailSection","queryContext","number","requisiteNumber","filter","useadditional","disablespecialprocessing","getRow","ReferenceSelectDataProvider","sendQuery","count","leadingRequisitesValue","encodedTitle","displayValue","title","Plugin","context","afterMainClassInit","GetWSSParam","Url","IsFirstParam","CheckForLoginPage","_isSessionAlive","GetParamInURL","getParam","ChangeParamInURL","RemoveParamInURL","PrepareUrl","ParamStr","Params","newUrl","DoAction","paramStr","needSubmitForm","newFormAction","inHash","setTimeout","_iterator","_isArray","isArray","_i","Symbol","iterator","_ref","next","startsWith","paramSplit","submit","ActTab","match","hashTab","hashTabMatch","includes","ex","GetURLHash","GetURLWithoutHash","asStringWithoutHash","DoActionHash","callback","ShowTopSpinner","ExtensionName","ShowMessage","ShowError","HideTopSpinner","showWarning","WrnShow","HintShow","SerializeForm","__legacy_serializeForm","cardForm","hidd","dispInp","serialize","BindBeforeUnload","g_formContainerSelector","initDef","g_prevFormVal","needShowMessage","currentView","g_RightsChanged","CloseWindow","close","addAttachmentInfo","jAttachments","AttachmentStr","jMe","kind","additionalAttachmentInfo","UnbindBeforeUnload","ShowJobAttachments","ShowJobState","GetJobEdit","mode","modeParam","Kind","CardTab","mainTab","isModifiedByUser","ConfirmDialogNew","SetJobApproveParams","BaseAcceptContolJob","resultIndex","acceptContolJob","ResumeContolJob","resumeContolJob","CreateJobSubTask","open","onunload","FreeJob","jobId","JobID","R","WSSParam","ajax","contentType","dataType","success","ShowState","SaveAndCloseTask","CreateSubTask","EnterEditMode","ShowTaskCard","CloseBaseTaskWindow","taskId","FreeTask","StandartRouteSelected","BaseCancelStandartRoute","ShowEDocCard","ShowSignInfo","ShowEDocHistory","ShowEDocPreview","EditModeForEDoc","view","ShowBoundEDocs","response","DocumentID","newMode","View","getReferenceView","NTF","_toggleChange","request","undoRequisiteChanges","JSON","parse","pushState","ToolBarModel","severity","Severity","Number","SaveInDoc","stage","CallbackOrAction","isNeedAddInAttachments","sideBarTabs","enable","needReload","EDocID","edocid","Stage","reloadParentWindowOnClose","opener","AddAttachment","save_ok","warningMessage","ShowSetDocumentRightsDialog","save","Success","save_fail","Password","EncryptionKey","receiverObjectLink","currentUrl","saveAndAttach","parentId","pathname","SaveRights","srcLink","CompCode","SourceLink","dstLink","docLink","DestLink","refLink","Record","Links","SaveWithEncoding","certChkBox","passwordChkbox","RequestPasswordForDecryption","GetEncryptionKeyForDoc","Encoding","PluginName","encryptionKey","password","onError","docID","encoding","onSuccess","RequestToken","token","transmitRequest","Version","src","rightsJson","rightsChanged","IsRightsListValid","ShowInfo","currentRights","CheckRightsHaveChanged","newEcoding","GetDocNewEncoding","rightRecords","rec","RequestActionWithGroup","isGroup","RightType","right","rightsDelegationSetting","GetRightsDelegationSettingValue","rightsDelegationChanged","rightsDelegationInitVal","RightsJSON","RightsDelegationTurnedOn","accessLevel","onActionSelected","IsGroup","needCheck","SetEncryptionForDocument","mbox","dialogs","MessageBox","okCancelButtons","opcode","OpenUpUserGroup","groupID","children","groupName","needOpenSubgroups","onGroupOpened","GroupID","NeedProcessSubGroups","RenderItems","AddUserByDiv","RightsDelegationCheckBoxVal","RightsDelegationCheckBox","is","oldValue","newValue","sort","RightsObject","RightsChanged","OnEncryptionSet","passwordCheckBox","certCheckBox","currentEncoding","newEncoding","RequestSetEncryption","EncodingType","EncodingChanged","encChanged","removeAttr","certEncryptEnabled","tabName","ChangeTab","isChanged","UndoEDoc","SaveAndCloseEDoc","timeoutHandler","CloseDocWindow","UseGlobalLock","toastMsg","Toast","isLocked","showSuccess","LockUnlock","jButton","Export","selectId","checkedId","inNewWindow","VerNumber","DocSendAsAttachment","CloseExportDlg","FreeEDoc","referrer","g_DefaultPage","VerList","ChkLockID","ChkExportedVersion","Warning","prop","GetImgByExt","enableLock","edocId","ShowFolderCard","EnterEditMode_FolderCard","UndoFolderCard","folderId","FreeFolder","noCheckSubObj","SaveFolderCard","need_close","FolderKind","FolderID","selectedUsers","saveRightsByService","additionalText","addButton","CurrentUserID","checkCurrentUserRights","mainText","SaveFolderCard_WithQuestions","ownerType","folderID","needClose","user","hasConfigureAccessRightsToFolderContents","rightsToSubObjectsDialog","applyRights","isNeedReplace","shouldClose","wdialog","OldUserRights","rightsDialog","removeDefaultButtons","resultDialog","BaseDialog","waitDialog","NewUserRights","NeedReplace","closeOrReload","oldRights","parseRightsList","hasFullRights","maxRights","newRights","rights","rightsArray","DisableIsAllCheckboxNotChecked","reqname","el_query","defaultFlag","searchAreaText","checked","searchAreaName","searchObjCustomWork","searchObjFolder","txt","btn","prev","DisableTextbars","searchAreaCard","searchObjEDocument","DisableButton","htmlWarning","before","remove","DisableTextbox","FreeWizard","DisableSearchBtn","SearchPseudoArchiveTagChanged","DisableWizardButtons","notAutomatically","jShowRefCard","versionNum","isAvailable","g_defaultListAction","hasVersions","openForWrite","OpenObjectInWizardStep","getPlugin","SendEDocToAgent","ConfirmDialog","okText","isShowCancelButton","CardTabClick","isSelected","CallServiceInternal","page","CallServiceSync","updateTab","changeTab","ShowAllCustomWorkState","reloadExplorer","PageInit","resize","setRealHeightAndWidthOnResize","setRealHeightAndWidth","InitTooltips","pagezoom","ReloadExplorer","needFillLeadAndDriven","g_FillLead","change","AfterSelectFunc","ClrVal","IsNeedCallFuncOnClr","g_GetLeadSelIDs","RefSel_AttachMultiResult","leaderRequisiteName","leaderControlName","leaderParts","LeadIDs","ht","leaderData","getFirstRefCode","stringify","_leaderControlName","g_FillDriven","FillDrivenIfItResultHasOneRecord","ClrOnlyDriven","DrivenIDs","IDs","CurentID","SetValue","reqID","jInputControl","jRequisiteControl","jFakeInput","jSelectButton","EnableRequisite","LeadSelIDs","refurl","encodeURI","disableInOneCase","Clear","RefSel_InitHint","RefSelID","RefCode","updateHintData","newRecID","compcode","qtip","InitAdditionalInfoTooltip","inpId","BindHelpIcoClickOnModalWindow","debug","browser","major","linktoOldconsole","dir","object","selector","E","service_method","error_handler","OnTabChanged","dfmTabName","htmlEl","triggerHandler","callbackRunChecker","hasAttr","getElementIndexByAttr","array","closest","whenAllDone","deferreds","currentDeferred","failures","successes","cookieName","sessionId","getTime","keepAliveLoop","getSession","cookie","setSession","emulateSession","expires","keepAlive","browserSessionIsRestored","setInterval","runSession","_isDarkTheme","_prefixIfDark","getSelectedLinks","contextMenuObj","takeLinkFromContextMenu","takeLinkFromCard","isAllRecordsInFolderSelected","jObjectContents","componentName","UserFilterText","UserFilterRequisites","getlikeFilterRequisites","PredefinedFilter","getPredefinedFilter","SearchName","SearchID","Mode","ObjectType","_takeLinksFromServiceResponse","takeLinksFromPage","unselectedLink","hyperlinks","unselectedLinks","getUnselectedItems","some","hyperlink","convertTypeToKind","cardObj","opt_isGettingNameFromObj","getCardObjectName","refcode","Name","ReferenceCaption","selected","contextMenuCopyObj","getItems","HTMLElement","node","caption","makeLinksFromItems","getSelectedItems","desc","refCaption","referenceName","getCurrentFolderId","pasteLinksToFolder","destId","source","SourceID","getID","SourceType","EnableOrDisableCheckAll","folderTree","updateByFolderID","pasteLinksToBoundDocuments","destLink","sourceLinks","_afterBinding","relations","bindObjects","boundCount","Pasted","toast","Unchanged","reasons","unchanged","Item2","messageBox","okButton","pasteLinksDefault","DestID","DestType","setLinksSource","sourceId","setItem","sourceType","CopyLinks","clipboard","copyLinksToClipboard","copiedLinksCount","completeMsg","CutLinks","convertAgentLinksToLinkModels","convertedLinks","convertLinkModelsToAgentLinks","linkModels","linkModel","Desc","state","isAllItemsSelected","PasteLinks","destType","g_ViewOnlyMsg","getItem","DeleteLinks","needSubmit","needConfirmDeleting","afterDeleteCallback","isFromTree","getSourceType","callDeleteLinksService","linksToDelete","UnselectedLinks","getLikeFilter","updateChkAll","UpdateCopyPasteIcons","updateNodesWithFolder","ShowTopSpinnerResult","GetSelectedID","deleteAll","GetRowsCount","ReturnLocalCopyCM","obj","version","ReturnLocalCopy","documentID","versionNumber","encodingType","fileName","editDate","OnConfirmRecoverLocalCopy","decryptedKey","DecryptedKey","_returnLocalCopyRequest","resultMessage","RemoveItemFromRecoveryList","modifyDate","GetLastEditDate","confirm","0","1","GetDocumentFileName","LocalCopyRecommendedAction","ShowDocumentRecoveryConfirmation","getDecryptedKey","ReturnDocument","EncodeType","EncryptionPluginName","additionalParams","GetDocumentEncodingType","pass","successCallback","errCallback","getDocumentListItem","DocID","contents","textContent","nodeValue","VersionNumber","GetEncodingPluginName","onConfirm","disableButton","_jDialog","showQuestion","GetConfirmRecoveryDlgHtml","ShowDocumentDeleteCopyConfirmation","yesNoButtons","spinnerHtml","recoveryProcMsg","spinnerImage","outerHTML","OpenLocalCopyCM","OpenLocalCopy","DeleteLocalCopyCM","DeleteLocalCopy","OnDeleteCallback","SilentMode","OnConfirmDeleteLocalCopy","updateOpenedDocumentsWidget","ShowLocalCopiesWindow","content","ControlName","Documents","localCopies","instruction","isShowOkButton","wordWrap","maxHeight","cancelText","initJs","IsRecoveryListEmpty","CloseRecoveryDialog","footer","openedDocumentsWidget","update","Doc","OnPasswordEnter","OnClose","SetNewPassword","ChangePassword","passwordConfirm","oldPassword","docName","passwordInput","onOpen","onClose","setHtml","BindPasswordFieldToOk","keyup","enableButton","SetPasswordForDoc","checkbox","IsPasswordConfirmed","confirmation","changePassword","OldPassword","NewPassword","Token","ShowWarning","SetCertForDoc","passwordCheckbox","LoadSubRelations","additional","list","InitHover","InitListClick","ShowRelations","tblID","tbl_ids","trAdd","isAdded","after","RefSelect_GetSelectedValue","RecID","Reference_OpenRecordInNewWindow","viewNameParam","g_SysCode","g_ExtName","InputOnMouseOverForShowAddIcons","IsShowCreateButton","IsAccessDenied","icons","OpenIco","CreateRecIco","selVal","test","eq","InputOnMouseOutForShowAddIcons","EditVersion","funcReload","ReloadVersionList","VerLockOrUnlock","Ver","addArea","s_res","InitContentListToolbox","cont_id","setInlineHint","checkBox","labels","filterVariants","arr","setLikeFilter","filterVal","filterRequisites","isStatisticEnabled","componentID","LinkClick","SaveLastRun","getStandardRouteCodeByID","routeID","failCallback","getFilteredRecords","referenceCode","filterExpression","filterValue","recordsCount","startFromRecord","sortIndex","sortDirection","FilterValue","Requisites","RecordsCount","StartFromRecord","SortIndex","SortDirection","GetStandardRouteCodeByAnalit","GetRecordWithFilteredRequisitedByAnalit","ToggleItem","jItemCheckBox","jItem","isChecked","toggleItem","ToggleAllItem","isSearchMode","ToggleAllItemsInComponent","comp_id","comp","num","UpdateSelectionNumbers","objList","prepend","sign_button","del_button_initially_disabled","copy_button_title","del_button_title","iconSrc","listReq","chk","scrollActive","_comp","EntityListInit","allowSelect","enableActions","chkAll","eventHandler","superHeight","InitObjectContentsAutoLoad","_updateSelection","bindSelectAndOpenItems","_selectItem","ToggleFolderItem","StopSelectOnIconClick","jItems","handler","classes","InitShowHideActions","which","ShowContextMenu","ListRequisite","jListItem","pageX","pageY","lr","jIcons","trs","InitEDocIconClick","jObjectListItemTitle","DoFirstAction","hoverEventNames","GetEventsName","isManualTriggered","EntityList_ShowAction","isKeyNavigationActive","dbg_is_hover","MakeActions","listActionsSettings","sett","EntityList_HideAction","g_isPreviewEnabled","actionsHTML","objKindMap","fol","ref","usr","ver","GetObjectInfoFromRow","objKind","objStr","iconHtml","needshow","SetPreviewActionFirst","innewwindow","SortEditActionsByPriority","ITEM_IMG_TEMPLATE","temp","js","retFalse","secondAction","DoNotShowInSearchResults","IsDocOpenedForEditByDefault","ShowWhenAgentEnabled","g_openDocForEditByDefault","IsDocOpenedForReadByDefault","defaultAction","IsIsDocOpenedForReadByDefaultAndPreviewDisabled","IsRecoverActionsAvailable","jContext","DoNotShowWhenAgentEnabled","GetSelectedObjects","IsIsDocOpenedForEditByDefaultAndPreviewDisabled","MinBottomDistanceToStartAutoLoad","IsOpenActionsAvailable","AutoLoad","$el","mc","bottomDistance","BindOnScroll","size","$loadbtn","jSpinningThingy","appendTo","removeSpinningThingy","offsetHeight","objs","jAutoLoadNoMore","jSpinnerText","isUnselected","jcheckBox","_loadPage","UpdateRowsCount","explorer","mainScroll","refresh","g_MaxRowsPerPage","sameId","sameKind","ExplorerInitialScroll","nextPage","itemsOnPage","initialItemsCount","pages","updateOrApplyGridOptions","idListReq","ListRequisiteClass","ceil","initScroll","enableButtonAddInListRequisite","AjaxInProcess","control","ProcessEmptyChecks","g_EmptyCheckFunc","div","w1","innerWidth","w2","ShowFolderTree","Reference_SelectRecord","UpdateFolderTreeScroll","InitSearchField","InitContextMenuForBound","blur","InitCheckboxRequisite","displayControl","yes","valueControl","GenReloadVersionList","controlID","ErrorClientID","getHintDataObj","g_addinfo","opt_positionOptions","ClearSelectedElements","SetElementToolBar","getContent","dataobject","targetFolderPath","sourceFolderPath","uniqueIndex","currentFolderPath","GenerateAdditionalInfoTooltipHtml","dragEl","hintContent","solo","delay","opt_showOptions","no","viewport","eval","AttachTooltipToElement","opt_showAfterAttach","hintTimeout","zindex","opt_position","hint","btnPrevClass","btnNextClass","Caption","Href","Text","HasImage","leave","pagesCount","effect","ImageSRC","PageIndex","api","ButtonPrevClass","ButtonNextClass","isPrev","jQtip","jCurrentButton","currentButtonHintSelector","prepare","Image","Style","HasButtons","changeInfo","jCurrentButtonHint","Validator","regexstr","keypress","code","fromCharCode","docSelection","selection","createRange","Sel","SelLength","moveStart","SelStart","SelEnd","selectionStart","selectionEnd","patt","isIDevice","decimalSeparator","oldf","g_clipboard","isFilled","copy_button","IsList","Values","sign_button_initially_disabled","GetButtonsData","isListReq","del_button","objType","reason","allCheckBoxes","checkedBoxes","allCheckBoxCount","Disable","ReadOnly","newLinkWithName","OnLoad","onLoadFunc","ShowSpinner","SignLinks","GetSelectedLinks","hrefs","checkAvailability","signLinks","AddLinks","HideSpinner","linkContainer","apiLinks","svcParams","newCount","oldCount","ClientID","CustomWorkID","CustomWorkType","counter","svcMethodName","CallMyService","CheckObject","AddObject","UpdateList","pasteCount","e1","e2","getLinksFromClipboard","sel","cannotDelete","callServiceToPaste","delCount","ValuesJSON","ConfirmDelete","IsAttachments","RenderList","add_id","input_id","errorStr","grep","ids","DeleteLink","AddRefRecToList","InitAttachments","att","AddRefRec","SetCannotDelete","ReferenceSelectInstance","setValue","EnableSameRecords","newObj","valJSON","NewValues","GetLinks","ShowScrollBar","listContainer","InitJS","ContentKind","EmptyText","IsShowActions","empty","HTML","RegisterEmptyCheck","method","errorCallback","scrollbarWidth","mouse","ReferenceSelect","img","multiselect","ReferenceMultiSelect","SetSelected","resultMulti","ReplaceSelectedItem","oldID","newValues","ReplaceLastSelectedItem","HideContainer","needTriggerResult","SetValues","SetDisabled","SetEnabled","OnSuccess","_parseResponse","entities","OnError","jqXHR","textStatus","status","firstN","currRowData","entity","DropDownList","keyvalues","opt","placeholder","results","initValue","prevValue","_isShown","onAfterChange","addPlaceholder","keyPress","filterPlaceholder","isVisible","keyCode","goTo","selectCurrent","altKey","direction","selEl","newEl","toggleSelected","tmp","keyFilter","hasItems","inArray","setCoord","selectedEl","setInitValue","setPrevValue","opt_needTriggerResult","valueIsChanged","getDisplayValue","clearDropDownListItems","addDropDownListItem","removeDropDownListItem","disable","outerHeight","wh","outerWidth","DropDown","HidePickContainer","UserRightInit","ObjectID","HashCode","Msg","IsNeedHideTree","jRightsTable","updateTree","hideFilterView","rootUl","treeview","collapsed","dataWS","onAfterSuccess","MarkAllGroupsAndUsers","InitTabletContextMenu","delegate","UserInTreeMouseOver","UserInTreeMouseOut","UserRightsMouseOver","UserRightsMouseOut","contextmenuButton","UserListShowContextMenu","undelegate","InitRightsUserTreeKeyNavigation","filterInput","keydown","FilterUserAjax","firstItem","currentTarget","CheckIfFavoritesEmpty","favGroup","nodes","buildTreeNodeHTML","selectedIDs","MarkUser","RightsTable","currObj","_GetContextMenu","addClickHandler","favoritesGroup","favoritesClickHandler","favoritesIcon","itemID","actionIcon","liID","favoritesMenuItemText","addOrRemoveFavorites","addMenuItemText","menuItems","getReferenceCode","itemId","needToAdd","PrincipalID","NeedToAdd","favGroupUl","ReloadFavoritesGroup","initTreeViewItemEvents","add","markUnmarkItemAsFavorite","span","AddFavoritesToRightsTable","siblings","IsSelected","ItemId","isFavorite","iconClass","GetHashCode","live","SetEvents","arrow","SetRightChoose","SetNewRight","GetUserID","UserID","prefixIndex","rightsID","parentsUntil","isOldUser","IsOldUser","g_MaxRightsValue","isExistUsersWithFullRights","GetFullRightsUserCount","oldSelUsers","SelUsers","oldUser","currentRightVal","rightValue","RightsToNumber","g_OldChangedUsers","fullRightsUserCount","jselectedUsers","selectedUsersArray","ChangeRightCycle","sp","rightsClass","DelIco","RemoveUserFromRights","mark","charAt","NewUserID","NewUserName","lastFilledRow","NewUserRight","jRemoveButton","classList","jCircleCell","element","jCellElement","circleRight","newRow_div","hintData","rightsCell","ClearInputFilterUser","SetDefaultFilterValue","FilterUser","idSrc","idDest","UserFilterTTimeout","DoFilter","elJq","GlobalFilterUser","UserTreeId","FilterAreaId","defvalue","clearInlineHint","AjaxUserSearch","FilterArea","currUser","rightsTable","tree","filterResults","mainContent","currentItem","UpDownKeyNavigation","nextItem","down","FindSiblingOrParent","HoverItem","ScrollToHoveredItem","UnhoverAllItems","sibling","subItem","ExpandOrCollapseGroup","expand","lis","currentID","rightsUserList","SelectItem","DeselectItem","scope","InitializeSessionRoutiness","SessionKeepAlive","SessionUpdateTime","storedNotifications","localStorage","storedIds","recievedNotifications","xhr","responseJSON","notificationObj","ntfCount","ObjLockKeepAlive","timeout","LockUpdateTime","exports","User","_current","models","_arr","elements","addElement","deleteElement","deletedElement","clear","linkMixin","isNew","openInDesktop","toLinkModel","fromLinkModel","opt_referenceName","getObjectType","isNaN","_url","_refresh","opt_target","openIn","win","paramName","_getParam","_getNonEncoded","decodeURIComponent","getParamInHash","setParamInHash","_setParam","newHash","hashIndex","getExtension","hash","re","encodeURIComponent","removeParam","urlWithoutHash","regexS","regex","_getUrlFromLink","host","_getPageNameByKind","utils","compareData","v1","v2","NEGATIVE_INFINITY","parseFloat","getAssociativeArrayValues","keys","Cache","_errorCatched","_data","removeItem","isStorageAvailable","_getStorage","setObject","getObject","includedLevels","I","W","logLevels","Log","_BaseObject","_classCallCheck","_possibleConstructorReturn","_disabled","saveImmediate","maxStackSize","_inherits","strToLevel","level","getLevel","logLevel","setLevel","isDebug","_write","isLogsEnabled","queue","_writeQueue","partToSend","tag","_log","showLastMessages","line","dt","Time","fd","getMilliseconds","Level","Tag","Message","last","messages","logParams","onerror","errorMsg","lineNumber","logDebug","ENABLE_EVENTS_LOGGING_JQUERY","prevOff","prevTrigger","History","allowHistory","POP_STATE","CHANGE_STATE","PUSH_STATE","replaceState","SessionCache","sessionStorage","sessionOnly","sessionCache","ServerCache","ParamName","ParamValue","serverCache","_activeRequests","_call","opt_spinnerText","opt_onCompleteSpinnerText","opt_hideError","opt_hideWarning","sync","hideWarning","opt_hideSpinner","deferred","requestId","hideSpinner","rejectWith","ShowInlineHint","hideError","messageType","responseText","errorText","_sessionBrokenDialog","errResp","complete","abort","_sessionRestoredDialog","statusCode","isOpened","openLogin","isSingleInstance","reference","script","authenticaion","folder","session","cardform","userProfile","commandConsole","opt_control_id","hasID","_L","templateName","opt_data","opt_disableCache","opt_sync","opt_partials","jDeferred","getCustomDeferred","loadPartials","partials","template","findTemplate","_template","invertedNames","invert","queries","isEmptyObject","partialKey","partialName","partial","findRemoteTemplate","findCompiledTemplate","findCachedTemplate","cached","Hogan","compile","templateText","userName","newPassword","confirmPassword","isFirstLogin","failed","Login","PasswordOld","PasswordNew","PasswordConfirm","IsFirstLogin","loginUser","providerName","userRealm","userPassword","rememberMe","UserName","Realm","ProviderName","RememberMe","command","setTimeZone","timeZoneId","createTableRow","detailNum","callFunc","Obj","DetailNum","copyTableRow","sourceRowID","SourceRowID","RowID","rowID","cmd","needSaveObject","folderIdToPaste","Req","Cmd","NeedSaveObject","FolderIDToPaste","ReceiverObjectLink","cryptography","getSignableAttributes","certificateIdBase64","pluginNameBase64","service","buildSignature","signingAttributes","signedAttributes","verifySignature","signature","signatureBase64","signContent","comment","isApprovingSign","isForSubstitute","onSignedCallback","additionalInfo","pluginVersion","tokenPinCode","edms","signAttributes","signableAttributes","substituteUserCode","VERSION_STATE","DEFAULT","IN_DESING","ACTIVE","OBSOLETE","getNameById","docs","setNote","docId","verNumber","note","Note","setState","State","sign","documentId","cardTypeCode","certificateId","signDocument","signDocResponse","signContext","onAfterSign","onBeforeSign","access","applyEdmsRights","objectLinks","rightsEntries","edmsObjectLinks","accessRightsEntries","sourceObjects","destObject","sourceObjectLinks","destObjectLink","foldercontent","reinvokeCommand","defaultContents","selectedItems","unselectedItems","commandNumber","commandType","defaultreinvokeCommand","commandResult","reinvokeParameters","setUserStatus","StatusName","setStatusForAllObjects","statusName","createVirtual","folderName","initialContents","getReferenceRecordsNames","jsonObject","names","deleteRecord","recordID","columnsAutoWidthEnabled","referenceView","isEnabled","opt_placementContext","PlacementContext","Enabled","setFilter","opt_referenceView","filterID","FilterID","createNewFilter","filterName","saveFilter","opt_filterName","FilterName","removeFilter","getReferenceCaption","build","Model","buildSync","run","scriptName","scriptParametes","runWithSerializedForm","serializedForm","SerializedForm","SetNewLanguage","langCode","LangCode","setPreviewScale","scaleValue","previewScaleStorageName","setTheme","themeName","opt_themeType","setCustomTheme","themeType","backgroundColor","textColor","addLastUsedObject","objectID","objectName","removeLastUsedObject","deleteLinks","sourceID","pasteLinks","destID","watchedDocumentId","createTaskWithAttachments","attachments","Attachments","setAttachmentsRights","taskID","showLogoutPrompt","exit","ShowReportParams","reportName","showReportParams","menus","forms","_details","dataViews","DV","gridPlugins","_controls","_editors","jEl","selectList","passEventToContainer","BLANK","NOBLANK","TODAY","TOMORROW","THIS_WEEK","THIS_MONTH","THIS_YEAR","BaseDataProvider","loadOptions","totalCount","loadState","saveState","savedWithoutErrors","extendDefaults","ELLIPSIS","TEMPLATES","MAIN_INPUT","LIST_RECORD","POPUP_AREA","LOAD_MARGIN","SelectListControl","instanceID","listInstanceID","dataProvider","minWidth","_jDropDownIcon","_jWait","_jInput","_jOk","_jCancel","_jCheckBoxContaier","_spinnerTimeout","selectedRecords","_render","initialValue","_getInputValue","_initControls","_bindEvents","notSelectedRecords","like","openList","_applyLike","_hideEllipsis","_showEllipsis","_applyOnEnter","column","ctrlKey","charCode","_jList","display","_applyList","_handleScroll","_hideOpenedControls","jList","records","listRecord","rightPosition","winWidth","leftPosition","BEFORE_LIST_OPEN","waitText","_bindListEvents","_initListControls","jArea","_appendRecords","scrollHeight","isPending","fadeIn","take","BEFORE_RECORDS_APPEND","fadeOut","record","invertedMode","_validateLike","currentLike","VALUE_CHANGED","getElementIdFromValue","Value","jOption","compact","isInverted","updateState","newState","equalRes","columnType","filterType","Like","In","Equal","ON_GET_VALUE","ITEM_SELECT","SPECIAL_VALUE","DATE_SPECIAL_VALUE","CONTROL_EVENT","DateValuesPlugin","_selectList","_beforeListOpen","_beforeRecordsAppend","_isAllSelected","_isExist","where","byref_records","unshift","YESTERDAY","SpecialValuesPlugin","_onGetValue","_onRecordSelect","jInp","Display","findIndex","emptyIndex","emptyRecord","hasEmptyRecords","byref_filter","without","findWhere","blankAndNoBlankItems","chain","TEMPLATE","DateControl","showTime","dateType","_fillInputValue","_applyFilter","isSet","prevBeforeShow","newBeforeShow","formatFunc","GET_VALUE","OPEN","StringEditor","_column","_value","_displayValue","renderState","_gridComp","commit","commitChanges","isUndefined","field","container","_getWrapper","_updateData","_getValueForRender","initKeyNavigation","leaveOut","stayHere","stopImmediatePropagation","isAllTextSelected","range","hasText","_isAllTextSelected","caret","UP","_handleUpDownKey","RIGHT","shiftKey","metaKey","ui","_wrapper","_parent","parentCurrent","isRequired","sectionNumber","isReadOnly","hasCalculation","isValueChanged","serializeValue","applyValue","newData","loadValue","validate","valid","destroy","setCustomAction","opt_tooltip","_getColumn","currentTable","getTable","columns","TextEditor","PickEditor","_renderer","selectedKey","selectedValue","Pick","renderAsync","DOWN","clearValues","wrapper","addValue","DateEditor","initPicker","end","adjustDate","LEFT","now","IntegerEditor","autoNumeric","mDec","aPad","currentColumn","FloatEditor","BaseObjectSelectEditor","hiddenInputValue","selectedRecordID","detailRecordId","_createRenderer","jEditContainer","hasNoValue","disableSlickOnEnter","passKeyToInput","press","Event","ENTER","focusToInput","unFocus","DELETE","CONTROL","TAB","ESCAPE","SHIFT","PAGE_UP","PAGE_DOWN","CAPS_LOCK","ignoredKeys","BACKSPACE","selectAllText","_getSelectedItemElements","isFocused","_createWrapper","ReferenceEditor","Reference","setReferences","references","opt_refCode","setValues","setMainReference","addLastObjectsPseudoReference","lastReferences","removeLastObjectsPseudoReference","bindReferenceGridDialog","DocumentEditor","DocumentSelect","SortingPlugin","_grid","useServer","_useServer","grid","Grid","BEFORE_GRID_INIT","_onGridBeforeInit","COLUMN_INIT","_onColumnInit","reSortColumns","_reSort","dataView","byref_settings","byref_column","isSpecialColumn","_onGridInit","slickGrid","_bindOnSort","_restoreSorting","AFTER_DATA_LOADED","sortingColumns","Sort","sortInfo","columnId","sortAsc","IsAsc","setSortColumns","_columns","comparer","g1","g2","setSortColumn","rowsArr","_isNew","rowData","rank","fastSort","invalidate","onSort","subscribe","sortCol","reloadData","GroupingPlugin","_groupItemMetadataProvider","Slick","Data","GroupItemMetadataProvider","GRID_INIT","_onGetVisibleColumnsForDialog","GET_VISIBLE_COLUMNS_FOR_DIALOG","SET_VISIBLE_COLUMNS_FROM_DIALOG","_onSetVisibleColumnsFromDialog","unGroupColumnsById","_unGroupColumnsById_exported","updateGroupingInfo","toogleGrouping","_toogleGrouping_exported","_includeGroupedColumns","_excludeGroupedColumns","columnIds","GroupColumns","grouping","getUID","headerCssClass","getter","formatter","byref_dataView","byref_options","onColumnsReordered","_getGrouping","pluck","isEqual","newGrouping","_oldGrouping","onUnGroup","jColumn","onGroupSort","prevGrouping","groupCol","_restoreGrouping","_handleGroupToggle","IsGroupPanelVisible","setGrid","shrinked","gridColumn","SortIsAsc","restoreGroupedColumns","Opened","expandCollapseGroup","_setupGroupsReordering","prepareDataBeforeToggle","groupingKey","isCollapsed","isClickOnToggle","sortable","containment","connectWith","cursor","tolerance","distance","forcePlaceholderSize","stop","beginUpdate","resortGroupColumns","receive","sender","sortColumnInfo","handleGroupByDrop","bindGroupSort","hideColumn","getGrouping","col","_updatePlaceHolder","groupsCount","_updateGroupingInfo_exported","isExpand","currentGrouping","LastCollapsedGroupingKey","_onAfterDataLoaded","needToEnable","jPHolder","jGroupBy","setOptions","showGroupByRow","groupByRowHeight","resizeViewport","byref_visibleColumns","groupInfo","unGroupingColumns","visibleColumn","FooterPlugin","pageIndex","_jPager","_jPagerControls","STATE_LOADED","_afterGridStateLoaded","_afterGridDataLoaded","updateFooter","_updateFooter_exported","initPager","DATA_LOADED","renderTemplates","pageSize","navPanel","recordsFrom","recordsTo","currentPageText","pop","PAGE_CHANGE","gridId","pageIndexSaved","jGridContainer","Take","selectOn","limit","center","currentFilter","CurrentFilter","DisplayValue","DisplayHint","currentRecordsRange","class","HasFilterExpression","CurrentFilterName","CurrentFilterNameHint","FilterExpression","FilterHint","IsFilterEnabled","IsEnabled","CurrentRecordsRange","CurrentPage","Options","FirstDisabled","PrevDisabled","Selected","NextDisabled","LastDisabled","pagerRowHeight","pager","_initCounter","currentPage","_bindFilterEvents","_bindPagerEvents","resetFilterState","Filters","resetFilter","changeFilterState","afterClick","_getData","prevPageLimit","prevPageIndex","PAGE_LIMIT_CHANGE","_toggleRecordCountDisplayMode","jPager","jRowCount","Expression","spinnerShowDelay","GlobalPageFilter","_setCountLabel","_dataSource","GlobalPageFilterLikeQuery","total","CheckboxPlugin","_checkboxSelector","CheckboxSelectColumn","toolTip","checkboxColumndDef","getColumnDefinition","selectActiveRow","syncGridSelection","SELECTED_ROWS_CHANGED","__nonDataRow","getSelectionModel","selectOnClickEvent","ContextMenuPlugin","_contextMenuOptions","_customMenuClass","_contextMenu","opt_form","_form","openContextMenu","_openContextMenu_exported","clientX","from","_openLegacyContextMenu","_openBaseContextMenu","cancelBubble","setForm","generateItems","_removeMenuSelectCssClassAndReturnClickedRow","srcElement","jRow","ColumnResizePlugin","_settings","_onWindowsResize","autoAdjustColumnWidth","_autoAdjustColumnWidth_exported","_columnsWidthIsEmpty","_saveColumnWidthState","onColumnsResized","IsColumnsAutoWidthEnabled","columnsWidth","_onAfterGridDataLoaded","resizeCanvas","forceFitColumns","autosizeColumns","getColumns","ColumnsWidth","SELECT_LIST_PAGE_SIZE","FilteringPlugin","groupDisplayLimit","selectListDataProvider","_selectListContainerSelector","_popupSelector","_slickHeaderSelector","_dataPickerInputSelector","_datePickerSelector","toggleFiltering","updateFilter","getFillingRequisites","_getFillingRequisites","_toggleFiltersArea_exported","IsFilterPanelVisible","columnFilters","_updateFilterExpression","has","jTarget","FILTER_UPDATE","expression","_getColumnExpression","onHeaderRowCellRendered","renderControl","closeOtherControls","ColumnsFilter","columnFilter","SelectList","selectListDataProviderSettings","requisiteName","skip","_updateStateAndReloadData","noop","CF","isPrevAutoFilter","IsNeedSave","SavedFilters","_getAutoFilterName","setupFiltersState","setSelectedRows","_updateFilter_exported","_updateControlsState","_removeDeniedColumns","_convertToSBRSE","_convertToHumanRedableText","allColumnsIds","filters","maxFilterID","k","needTrunc","reqFilter","requsiteName","columnName","wrapWith","space","group","getDateFilter","yesterday","setDate","_makeOneDayDateExpression","tomorrow","curr","getDay","firstDay","getMonth","lastDay","_makeDateBetweenExpression","block","dateFilter","operand","likeExpr","_makeDateTimeLikeExpression","displayValueFieldName","_makeDateLikeExpression","likeValue","dateValue","_isDateTimeCorrect","fromDate","toDate","d2","GF","currentFilterExpr","equalValue","ITEM","ADD","COPY","VALUE","DISPLAY_VALUE","DetailsContextMenu","_sectionNumber","_clickedCell","_clickedInContextMenu","dfmName","_dfmName","isTableDisabled","label","opt_disabled","_canAddNewRow","_canCopyRow","_getCellNumberFromEvent","editor","BEFORE_ROW_ADDED","getCellEditor","editActiveCell","setActiveCell","getDataLength","addRow","_getRowIdFromEvent","copyRow","deleteRow","currTable","reqArray","tablesArr","getTables","currentTableColumns","isSystem","getCanGUIRead","hasColumnWithDisabledGuiChange","copyRowOnServer","touch","jCell","hasFilledRequisites","lastRow","EditPlugin","_selectionModel","_exceptions","enableCellNavigation","autoEdit","setSelectionModel","CellSelectionModel","onCellChange","cell","onEditorInit","colNum","onBeforeCellEditorDestroy","onGetEditor","byref_editor","lastActiveCell","needRestoreEditorAfterReload","onKeyDown","_bindedTables","DFMName","ROW_ADDED","DATA_RELOADED","_onFocusOrUnFocus","hasAncestor","targetInExceptions","activeElement","targetNode","nodeName","_needSetGridsKeyScope","resetActiveCell","_setGridsKeyScopeTimeout","globalKeyScope","setScope","ASTERISK","_queryDelay","dataSource","cellTemplate","VisibleColumns","getVisibleColumns","_initializeGrid","setTable","setColumns","newColumns","nextVisibleColumns","visible","headerRowHeight","rowHeight","explicitInitialization","syncColumnCellResize","enableColumnReorder","visColumns","DataView","getRowAdditionalInfo","onRowCountChanged","invalidateRows","VIEWPORT_CHANGED","opt_force","prevState","_saveStateDelay","fadeSpeed","fadeTO","fadeTo","BEFORE_DATA_LOADED","Rows","setItems","endUpdate","_initializeColumns","rawColumns","ALIGNMENT_RIGHT","IsRequired","TextAlign","IsReadOnly","Field","columnSettings","IsVisible","Index","resizable","Width","Hint","HasCalculation","DateType","precision","Precision","asyncPostRender","_excludeSpecialColumns","getColumnsForDialog","getVisibleColumnsForDialog","setVisibleColumnsFromDialog","setVisibleColumns","SET_VISIBLE_COLUMNS","visibleIds","visibleColumns","QueryInstanceID","showColumn","opt_index","newColumn","oldColumns","isCurrentPeriodEnabled","ToggleCurrentPeriod","GET_COLUMNS_FOR_DIALOG","modalWindowButtons","_setKeyBindings","dialogClass","closeText","modal","enterOk","closeOnEscape","keyScope","isSingleme","keyBindings","_jContent","setSpinner","opt_text","setTitle","showInDialog","showSpinner","removeCloseButton","AFTER_OPEN","showCancelButton","_placeInCenter","_setupKeyScope","keyName","buttonId","changeButton","updateButtons","primary","secondary","enableButtonWaitState","originalText","addButtonIcon","disableButtonWaitState","removeButtonIcon","orginalText","wnd","isCustomDlg","_getDialogTitleBar","showHelpIcon","contextId","helpLinks","g_IsExtHelpAvailable","lastHelpLink","helpLink","currentLink","_currentLink","contextMenu","onOK","onCancel","existingButtons","closeDialog","data-name","globalPrevBeforeUnloadFunc","globalPrevFormVal","onbeforeunload","optimalHeight","round","InitHoverForButtons","AdjustDialogIfIpad","beforeClose","BEFORE_CLOSE","autoOpen","BEFORE_CLOSE_BY_ESCAPE","AFTER_CLOSE","_setStatisticsClasses","addHelpIcon","jDialogLoader","jDialog","BEFORE_CLOSE_BY_CROSS","at","jModalWindowContainer","AFTER_CLOSE_BY_OK","AFTER_CLOSE_BY_CANCEL","BaseMultiSelect","availableItemslabel","selectedItemslabel","isReadonly","defaultRecordIcon","defaultMarkedRecordIcon","_html","_navigationKeyCodes","_handlers","_jSelectedItemsTable","_jAvailableItemsList","_lastFilterValue","_displayOptions","availableItems","opt_selectedItems","opt_settings","instance","_hoverItem","_unhoverItem","selectItem","newItem","_addItemToSelectedItems","keyPressEventHandler","term","upDownKeyNavigation","_findSiblingOrParent","UnhoverGroup","HoverGroup","recordsList","rightArrowKeyPress","leftArrowKeyPress","idToRemove","deleteItemFromSelectedItemsTable","rowDeleteButton","isSelectionChanged","_prepareAvailableItemsArea","_prepareSelectedItemsArea","_markSelectedItemsInAvailableItemsList","_fixSelectedItemsTableBorder","_jFilterInput","_initEvents","renderedItems","isAreaReadonly","osName","availableItemsArea","is_readonly","availableItem","tooltip","redaonly_attr","placeholder_message","tabindex","filteredItemsEmptyPlaceholder","selItems","_markRecord","displayDelete","displayOptions","_renderSelectedItem","extra_attributes","display_delete","selectedItemsArea","display_options","option_name","area_class","selectedItem","_initSelectedItemsEvents","_initFilterInputEvents","_initExtraEvents","_InitKeyNavigation","_InitAvailableItemsListEvents","isNeedProcessChild","_getColumnsInfo","cols","colWidth","bVisible","bSortable","sWidth","_datatable","dataTable","sScrollY","bAutoWidth","bDeferRender","bPaginate","oLanguage","sZeroRecords","aoColumns","tableWidth","_initSingleSelectedItemEvents","jRemoveFromSelect","idx","_getSelectedItemById","fnDeleteRow","_getAvailableItemById","iconImage","treeMode","favoriteUserIconClass","treeModeRecordIconClass","treeModeMarkedRecordIconClass","_addPlaceholderIfTableIsempty","jRows","_InitSingleSelectedRecordEvents","fnAddData","jNewRow","deleteKeyPress","_getItemsListHeight","itemHeight","expr","Contains","words","matches","locationOrigin","origin","protocol","postMessage","destination","convertObjectListRecord","BROWSER_TOOLBAR_HEIGHT","MIN_DIALOG_MARGIN","ReferenceGridDialog","modalDialogTitle","_addReferenceCaptionToTitle","referenceUrl","_makeReferenceRecordUrl","leaderSelectedId","instanceId","_changeDialogBodyMinWidth","_changeDialogDimensions","_bindDialogEvents","_addSelectRecordColumn","filterTitle","referenceCaption","filterQuery","modalmode","likefilter","hideToolbar","jIframe","IframeWindow","contentDocument","dialogWidth","dialogHeight","setWidth","_sendSelectedRecords","_initSelectionButton","_bindDisableSelectButtonInMultiMode","_bindDisableSelectButtonInSigleMode","ReferenceGridDialogCellClick","leaderValues","_getLeaderValues","contentWindow","selectRecordColumnIndex","recId","columnsAmount","selectedRow","sendRecordById","selectRecordColumn","leadReqNames","selId","originalEvent","leadColumnName","afterGroupName","create","createButton","sendMultiSelectedRecords","getButtons","createAndShow","def","selectionDone","cb","selectionCancel","opt_records","convertedRecords","sendRecordsToParent","SortableMultiSelect","sortingButtons","rowSelector","_swapRows","jPair","itemSelector","SelectableMultiSelect","jMarkedRow","sortButtons","messageBoxIcon","question","buttonText","buttonClick","okCallback","yesCallback","noCallback","cancelCallback","messageBoxButtons","showInfo","defaultButtonId","setMainText","setAdditionalText","_setDefaultButton","_getHtml","splitterIndex","_createSettingsObject","showOkButton","messageBoxIcons","mainTextHtml","additionalTextHtml","CreateDocument","_jWindow","formIsValid","isFormValid","jWindow","CheckFileSize","resArr","linkArr","initCreateNewDocumentControl","opt_mode","folder_id","moveOpenedDialogToCenter","LAYOUT","FormDialog","_pendingOperations","_keepAliveTimer","InstanceID","_freeDialog","ObjectList","showParams","freeAfterClosing","_beforeShow","baseShow","_keepAlive","_getObjectView","_registerOperation","operation","_unRegisterOperation","Height","_afterShow","_fixStyles","_initActions","_initTabs","_initDetails","isAnySelected","Actions","_initActionItems","_executeDefaultAction","HasChangeEventHandler","process","BEFORE_ACTION","getLabel","setLabel","setTooltip","_handleAction","allGrids","gridName","getActiveCell","DialogInstanceID","ActionName","_commandList","_getRequisitesToSend","responseAsObject","_handleFailSave","AFTER_ACTION","preventClose","setOrientation","activeTabDfmName","jTabs","BEFORE_TAB_SWITCH","AFTER_TAB_SWITCH","_isFitted","DetailsInitiializer","DataProviderClass","FormDialogDataProvider","DialogName","dataProviderOptions","detailsInitiializer","Initiializer","initiializer","waitForData","COMPLETE","_locked","_getAvailableHeight","_freeAfterClosing","_DFMName","initialState","_dialogName","_detailSectionNumber","makeParams","jTable","_saveSateTimeout","_makeKey","ReportParamsDialog","FormData","requisitesModels","_fillHiddenParamsCallback","FormHtml","validateForm","hiddenParams","reqKey","currentReq","isValid","highlight","globalWebAccess","FLOAT_DIALOG_TEMPLATE","FloatDialog","_inited","_createHtml","floatDialogTemplate","showMinimizeButton","minimized","showCloseButton","contentAsHtml","isLoading","hidden","loadingText","_jTitle","_jMinimizingIcon","_jCloseIcon","_jContentArea","_jLoading","_jLoadingText","setMinimized","isMinimized","newTitle","setTitleAsHtml","newTitleHtml","setContentAsHtml","setContent","showLoader","isUserExpanded","niceScroll","cursorcolor","cursorwidth","cursorborder","autohidemode","cursorborderradius","railpadding","horizrailenabled","railalign","BaseContextMenu","_imageWidth","_imageHeight","_isRendered","_menu","opt_menuItems","imageWidth","imageHeight","_jObject","_makeMenuObject","hoverImage","addItem","opt_icon","opt_bottomSeparator","opt_selected","getSelectedItem","setSelectedItem","opt_iconCSSClass","force","OnlyIconsContextMenu","opt_controlId","controlId","isHorizontal","itemEls","jMenu","jObjOffset","showIn","atTop","FormBuilder","invalidFields","displayErrors","heigth","_orientaion","_request","_action","_method","_enctype","_constructors","jForm","opt_byId","byId","jField","pickInstance","jRadios","BaseObjectSelectRequisite","setControlValue","_preventDoubles","getHeight","getHeigth","_removeField","afterRender","_addItem","_asterisk","rules","opt_maxlength","opt_validateRules","opt_type","opt_defaultValue","opt_accept","asterisk","addFileField","addInput","_wrapControl","opt_defaultvalue","opt_maxHeigth","maxHeigth","addTextarea","addTextArea","mustache_options","addReferenceSelect","opt_toolTip","opt_searchReqName","opt_filter","other","addObjectList","opt_links","opt_isList","opt_referenceCode","object_type","addMultiSelect","referenceNames","opt_isMultiSelect","searchReqName","isMultiSelect","addPick","opt_displayValues","opt_disabledValues","opt_editable","displayValues","editable","fromServerSide","validateRules","addCustomField","control_html","addCheckbox","opt_isChecked","_tryGetValue","addValidationRule","opt_error_message","_validators","_markAsInvalid","ruleName","prevColor","jBorder","_getFieldBorder","errorsHtml","animate","_markAsValid","_fillItem","setAction","isHtmlFormEnabled","setMethod","form_method","setEnctype","enctype","clean","_preRender","launchPostRender","_postRender","_parseServiceResult","jMasterDeferred","pickWrapper","_fullSerialization","_defaultSerialization","isreadonly","FormJS","formdata","input","referenceSelect","reqTypes","reqUD_inv","deserialize","setDisplayValue","isDate","isDigit","search","isNumber","isEmail","validateEmail","min","ruleValue","email","requestMap","ToolTip","SearchReqName","MultiSelect","RefNames","Filter","IsMultiSelect","disabledValues","DisplayValues","DisabledValues","Editable","getData","AbstractBasePageElement","_errorMessage","isHidden","getTooltip","setIcon","getIcon","opt_callback","unSelect","DISABLE","ENABLE","HIDE","SHOW","BaseReactPageElement","_formatModel","jsAction","onInit","_formatFunction","paramValue","BasePageElement","_storedEvents","_byNameSelectorTemplate","jSvgIcon","jSpriteIcon","jUseElement","_disableClickHandler","_defaultAction","_inlineEvent","_eventHandler","continueDefaultAction","_eventHanler","buttonName","jObject","_storeEvents","_restoreEvents","_storeInlineEvents","_restoreInlineEvents","_sendSetImportanceRequest","SaveBtnName","Promise","Importance","_sendSetCheckedTaskRequest","checkedTask","CheckedTask","_sendSetCheckedRouteRequest","checkedRoute","CheckedRoute","checkedButton","newCheckedRouteMode","_changeImportanceButtonStates","settableButtonName","resetButtonName","settableImportanceButton","resetImportanceButton","CallbackFunc","DoLowImportance","DoImportance","_callee","regeneratorRuntime","wrap","_context","_callee2","_context2","_callee3","newCheckedTaskMode","_context3","_toggleButtonState","_callee4","_context4","_getUserList","sourceVal","_getTaskDeadlineSelector","_getQueryParams","_updateFolderList","_cardTabFullUpdate","initOrUpdateCardTab","cardTabModel","headerElement","initCardHeader","cardHeaderModel","saveTask","modelWrapper","tabNamesToEnable","_getTabName","tabIdsToEnable","tabId","AccessRights","callStartTask","changeTaskButtons","customWorks","showAccessRightsDialog","Change","Full","Ignore","dialogMessage","showTaskDeadlineActualizeDialog","taskDeadlineActualizeButtons","taskDeadlineActualizeDialog","buttonModel","_iterator2","_isArray2","_i2","_ref2","needDisable","deadLine","setHours","setMinutes","difference","isDeadlineActual","abortTask","restoreTask","restartTask","toggleChange","isEditMode","onJobKindChange","toggleCheckedTask","RestartTask","RestoreTask","buttonSelector","groupSelector","isEnabledOnAttachmentSelected","isEnabledOnAborted","isEnabledOnDone","isEnabledOnRunning","_jGroup","_linkedAction","_enabledMode","enabledWhen","_enabledWhen","contentsActionEnableMode","_contentsActionEnableMode","_disabledHint","_hint","isSynthetic","convertTo","buttonType","callee","showCaption","hideCaption","isCaptionVisible","getLinkedAction","getEnabledMode","getIsEnabledOnAttachnentSelected","getIsEnabledOnAttachmentSelected","Boolean","getIsEnabledOnAborted","getIsEnabledOnDone","getIsEnabledOnRunning","getIsEnabledOnlyForSelected","isSmall","getParentGroup","_setActualHint","setHints","disabledHint","ReactToolBarButton","parentGroupName","_isEnabledOnAttachmentSelected","_isEnabledOnAborted","_isEnabledOnDone","_isEnabledOnRunning","buttonSize","ReactToolBar","linkedAction","enabledMode","CHANGE_CAPTION_VISIBILITY","GROUP_FOLD_MODE","SHRINK_SMALL_BUTTONS","CONVERT_LARGE_BUTTONS","COLLAPSE","AUTO","autoHideTimeout","toolBarContainerSelector","groupHeaderSelector","smallButtonSelector","jToolBarContainer","toolBarBottomBorderClass","_index","priority","_isCollapsed","_isCollapsedOnExtension","_bindHeaderClick","headerInlineBlock","addedGroupSelector","tbgroup_header","evt","nextAll","docWidth","jHiddenDiv","divWidth","_autoHideGroup","opt_smallSized","collapse","jVisibleButtons","jButtonArrows","buttonArrowSelector","jAddedDiv","fixSvg","EVENTS","jGroup","jSmallItems","EXPAND","jHeader","filteredButtons","filtered","addBottomBorder","jBottomBorder","color","getWidth","fold","unfold","fitToWidth","hideNextSeparator","showNextSeparator","ReactToolBarGroup","extendedModel","_extendModel","buttonLabel","newButtonModel","foldMode","toolbarButtons","_buttonsByActionName","_buttonsByEnabledMode","_buttonsEnabledOnAttachmentSelection","_buttonsEnabledForMultiSelected","_buttonsEnabledOnlyForOneSelected","_jToolBarConatainer","toolGroupName","contentsActionEnabledMode","currentGroupSelector","byNameSelectorTemplate","jToolGroup","jExistingButton","currentButtonSelector","buttonClass","buttonTemplate","existingButton","getButtonsByActionName","getButtonsByEnabledMode","getButtonsEnabledOnAttachmentSelection","getButtonsEnabledOnlyForOneSelected","toolbarContentsSelector","toolGroupNameToAppendAfter","jToolBar","jExistingGroup","groupTemplate","groupHtml","jBeforeGroup","existingGroup","sideBarConatainerSelector","tabSelector","opt_current","jTab","cardFormTabTemplate","isNotBindedCard","_defaultClickHandler","Tabs","_tabSelector","_cardFormTabTemplate","_cardFormTabSelector","_cssClass","_jPlaceHolder","_jScroller","_jCardForm","_jAfterTabs","currentSidebar","_actualizeCurrentOnClick","_jSearchTarget","_jSideBarConatainer","_updateCurrentSelectedTab","_jSelectedTab","_currentTabSelector","_jExistingTab","_preparePage","_bindOpenHandler","currentTabSelector","_openHandler","targetTabSelector","currentTabName","noCardFormAtStartFound","wrapInner","nowSelect","CustomSearch","moreTabName","moreTabSelector","SideBar","_jSideBar","_fitHorizontalTabs","_fitTabs","_fitVerticalTabs","_getSideBarSize","sideBarSize","_getLastTabSize","sizeName","availableSize","_internalExpand","jSideBar","collapsedTabs","firstCollapsedTab","prevId","jFirstTab","_internalCollapse","_this2","moreTab","toggleClass","collapsedTabsLeftOffset","collapsedTabsWidth","windowWidth","jMore","lastTab","isVertical","moveSidebarToLeftColumn","jTreeArea","jLeftContainer","jTreeContainer","jExpandTreeContainer","jExpandHeaderContainer","jRightColumn","smallIcon","_moveSidebarBeforeCustomWorkCard","jMainContainer","jAttachment","jLeftColumn","attachmentWidth","marginRight","initSavedTextHeight","FolderTree","_containerId","_promise","initComponent","containerId","selectNode","nodeInfo","folderOptions","gridWidths","folderMode","hasFolderCover","nextPath","showCoverOnly","hasCoverOnly","markAsSelected","_findNode","prevPath","toggleNode","loadNode","openNode","_mapNodes","selectNodeByPath","fpath","triggerClick","currentPath","updateUnreadJobCount","forceUpdateCache","_findNodes","showUnread","_updateNode","folderPath","_getNodeContent","hasChildren","_findNodesWithFolder","getCurrentFolderName","setFolderVisibleName","updateFolderName","predicate","nodesPath","_findNodePath","childNodes","filteredNodes","changeFunc","React","constants","systemCode","onFail","ReactDOM","selectedNode","FolderPath","SelectedTreeItem","expanded","IsOpening","_buildFolderUrl","treeitem","_dialogId","_customDialogId","opt_dialogId","description","inlineHintPriority","isShowInDialog","inlineHintParams","showInContainer","dialogId","_updateContext","jDialogContent","_prepareHintModel","hintModel","templateParams","defaultContainerSelectors","defaultContainerSelector","jErrorContainerPrimary","jCurrentErrorContainer","ReactInlineHint","_BaseReactObject","extended","_createClass","_len","_key","SPINNER_SELECTOR","_class","jSpinner","_isVisible","timer","_start","NProgress","isCanRendered","isStarted","isRendered","showDelayed","_stop","IsModalShown","SidePanel","headerString","innerHtml","panelElement","closePanel","contains","toggleActive","isActive","dispatchEvent","AboutPanel","_WA$CMP$SidePanel","initiator","SettingsPanel","settingsElementSelectors","_filterFocus","_filterSettings","initPreviewSettings","initAutoCleaningSettings","initAgentControls","initDocDefaultAction","renderDocumentTab","replaceWith","initManagedFoldersSettings","renderAutoCleaningFoldersTab","parentElement","minFilterTextLength","filterText","isFoundAnySettings","_panelSettingsFilter","_removeAllSettingsPanelFilter","emptyFilterWatermark","_this3","isNeedShowCurrentElement","childElementsVisibility","isLastSelector","jSettingsElements","jElement","innerText","NotificationsPanel","oldNotificationIds","ntf","currentNotifications","newNotifications","createEvent","notificationsHtml","getStoredNotifications","notification","Notification","deleteNtf","idToDel","deleteAllHandler","initCustomEvent","showMessage","new","requisitesMixin","_createRequisite","reqData","opt_isDetail","opt_grid","REQ","Integer","Radio","CheckBox","BaseRequisite","_initRequisiteValues","reqsData","globalReqValuesInit","currReqValueInit","_reqValuesInit","_reqName","_bindMirrors","_isChanged","_disableControls","_enable","parentTable","_enableControls","_disableReadOnlyFields","getRequisiteByControlId","reqI","controlsIds","RequisiteCollection","toDictionary","resultDict","BaseTableLine","_parentTable","_isDisabled","_disable","_makeFullName","newRowNum","ROW_NUMBER","TableRow","_rowID","rowNum","rowNumReq","requisitesData","_jDataItems","_getActualValues","modHiddReqs","hiddReqs","fullReqName","reqNameParts","getRequisites","reqVal","TableColumn","_isSystem","_isCanGUIRead","IsSystem","IsRendered","setCanGUIRead","currentRow","parentGrid","ADD_ROW","DELETE_ROW","ColumnsCollection","colsData","_createTableColumn","newCol","RowsCollection","rowsData","rowsInit","_addRow","parentTableSelector","_deleteRow","_currentForm","_columnsMetadata","_gridColumnsMetadata","parentTabName","_hasPendingOperation","_objectLink","_objectView","_uid","_initRows","tableRows","_initColumns","getColumnsMetadata","fieldName","_makeRowsData","_makeEmptyRow","opt_row","mapObject","columnMetadata","gridColumnMetadata","columnRequisiteName","row_id","requisiteMetadata","rowsMetadata","activeCell","columnsMetadata","_updateRowID","oldId","newId","deleteItem","getRows","resultRowsByName","rowI","_getGeneratedRow","isBuilderEventsSupported","opt_requisiteValues","newRowNumber","_getNextRowNumber","_sendRequest","reduce","reqValue","CmdCode","COMMAND","Section","lastRowNum","exisitingRows","RowData","_appendNewRowToDataView","currentRequisite","tableRow","sourceRowId","_tryToDeleteRow","existingCommand","bindOnRowRequisites","colNames","setUntouched","CHANGE_TYPE","REQUISITE_CHANGE","DETAIL_ROW_INSERT","DETAIL_ROW_DELETE","PICK_VALUES_CHANGE","FORM_CONTROL_CHANGE","FORM_REQUISITE_CONTROL_CHANGE","ACTION_CHANGE","REQUISITE_GUI_CHANGE","CONTROL_TYPE","TABLE","REQUISITE","INPLACE_HINT","HYPERLINK","MULTISELECT","WEB_BROWSER","DETAIL_SECTION_REQUISITE","Form","_calcServiceCall","_fillRequisites","isInitialized","_bindCalculation","_getRequisiteValueDependsOnOptions","getType","dateTimeFormat","isShowTime","onlyValue","opt_options","useRowNumber","withoutTables","transformMultiReqsToDetailRows","reqControl","refSelectInstance","currentValue","detailIndex","currentValueArray","multiReqNames","rowIdentifier","rebindRow","rowRequisites","rowRequisite","_bindRequisiteCalculation","rebindTable","cardRequisite","_showSpinner","_setRequisiteValue","parentObj","RequisiteName","RequisiteValue","resp","_hideSpinner","isFormChanged","_applyRequisiteChanges","_applyPickValuesChange","_applySectionsChange","_applyFormControlChanges","_applyActionChanges","_applyRequisiteGuiChange","_applyMultiSelectRequisiteChanges","guiChanges","_applyGuiChangesCallback","CanGUIWrite","currentRecord","CanGUIRead","isRequisiteEnabled","actionChanges","IsChecked","DisabledHint","currentControl","TextColor","BackgroundColor","jRequisiteConrol","jColoredArea","isControlEnabled","controlChanges","filteredTabs","_this4","currentChange","currentDetail","currentDetailTables","_iterator3","_isArray3","_i3","_ref3","formDataRequisiteName","formRequisite","newDisplayValue","_unTouchRequisites","_iterator4","_isArray4","_i4","_ref4","_iterator5","_isArray5","_i5","_ref5","_iterator6","_isArray6","_i6","_ref6","_iterator7","_isArray7","_i7","_ref7","isMultiselect","First","Second","idParts","refcodes","groupcode","needReset","Items","oldVal","_this5","mapRowIdTmp","sectionRowMap","sections","detailSectionNumber","detailsTablesArray","addedRow","disableHidePreviousInlineHint","reqsStr","_saveExtended","needShowError","_unHighlightRequisites","_saveData","isCommited","_this6","_updateModel","isJSON","_highlightRequisites","_fillRowsID","_this7","appendedRecords","rowNumber2IDs","RowNumber2ID","_iterator8","_isArray8","_i8","_ref8","rowNumber","newRowIDs","ApendedRecords","_loop","section","tempID","realID","needApplyChanges","_updateFormData","initToolbar","headerDomElement","CardHeader","ListItem","isTableItem","clickElementSelector","_setupBindings","jCheckboxObject","showBindIcon","CustomWorkListItem","removeUnreadStyle","addUnreadStyle","isUnread","_jMainContainer","_getType","objectSelector","_items","_isTable","_selectedItemsCache","_getItemsElementsInTable","searchTarget","getFilteredItems","filterSelector","filteredItems","removeItems","linkKind","elementKind","needUpdateTree","selectAll","rowsCount","setCheckedForFilteredItems","selectItemByID","deselectAll","invertSelection","jCheckedItemsLength","executeContentAction","folderLink","jItemCheckboxes","currentItemIsChecked","lastItemId","_onItemsChanged","_getItemIdByjObject","allItemsCount","_onItemSelected","FolderList","maxItemsCount","likeFilterValue","likeFilterRequisites","predefinedFilter","sortIsAsc","isShowFolders","setPredefinedFilter","isPredefinedFilterEmpty","setSort","isObject","getSort","likeRequisites","currentScrollTop","jFolderItems","pageHeight","shownPage","getCurrentViewFolderMode","pageNumber","pageCountToLoad","needUseFilters","needUseSort","afterLoadCallback","loadFolderContent","_loadAndInsertNewPage","itemsToLoad","onclick","folderOrFilter","emptyMessage","opt_itemsToLoad","opt_needUseFilters","opt_needUseSort","newQueryParams","ctrl","filterReq","uid","currentQueryParams","setIsShowFolders","ObjectsTable","_selectedItems","main","enableCheckBoxOnItemsSelect","_setGrid","_slickGrid","_slickGridDataView","itemData","__name","__code","selectedRowIds","getSelectedRowIds","newSelectedItemsData","rowIdStr","selectedRowNums","_raiseOnSelectEvent","getSelectedRows","getIdxById","allItemNums","newSelectedRowNums","lastSelected","_isCalculationDisabled","_isCommited","_referenceViewName","_allControlsInit","opt_parent","_type","_bindUnHighlightOnChange","_raiseInitEvent","unHighlight","isCalculationDisabled","referenceViewName","isString","disableCalculation","enableCalculation","_bindControlEvents","reqFullName","_fireChange","opt_ev","jLabel","_getLabelForControl","jC","opt_jControl","_getControlValue","controlName","_setInvisibleValues","opt_displayValue","_disableControl","_enableControl","opt_NeedTriggerResult","jReq","jReqIcon","reqObj","jReqInput","opt_color","opt_speed","speed","blink","colorLuminance","hex","lum","rgb","borderColor","prevBorder","reqSelector","_getJElementForHighlight","reqChild","reqRef","fakeInput","dictionary","sbrteControlName","AFTER_CHANGE","onControlInitComplete","jCustomControl","opt_leadRequisiteValues","jHidden","controlInit","_fireObjectSelectRequisiteChange","setData","changedData","allowlike","requisiteData","jHidd","referenceSelectData","leadRequisiteValues","getFilter","refSelect","addReferences","_setControlsValues","_updateNewValues","updatedNewValues","withoutDisplayValues","getValues","addValues","currentValues","_addValues","allValues","unique","mainReferenceCode","clearReferences","oldRefs","newRefs","ROUTELASTOBJS","NeedShowHint","DisableSpecialProcessing","valuesToBeSet","entry","baseSetValue","requisiteReferenceInstance","isCustomSelect","changeInpWidthAndPadding","isCheckbox","_isCheckBox","_isEditable","jDisplay","_getCheckBoxControl","ddInstance","cardFormControl","isCheckBox","_applyControlMethod","opt_isDisabled","jControlValue","isNull","getSelectedValue","newLink","Enable","editModeMixin","_filters","_filter","_pickValues","_references","_customAction","_mainReference","_lastReferences","_lastValue","_isChangeFired","_bindGridEvents","_reInitControls","setFilters","refName","isEmpty","editorActive","updateItem","_cellStyle","_grid$grid$setCellCss","cellStyle","_cellStyle2","_grid$grid$setCellCss2","setCellCssStyles","rownNum","flashCellById","_addLastObjectsPseudoReference","_bindReferenceGridDialog","curCol","_clearPick","_useTable","_jTables","useTable","getRecords","opt_tableName","CELL","CELL_WITH_MENU","DATA_ATTR","COLUMNS","SECTION_NUMBER","BUILDER_EVENTS_ENABLED","COLUMN_AUTO_WIDTH","gridInstances","_detailsSelector","_dv","_jDetails","_cellMarkUp","_templates","_contextMenuMarKUp","detailsSelector","ContextMenuClass","cellMarkUp","contextMenuMarkUp","cellWithMenu","_initializeGridInstances","isSideBarBindEventBeforeTab","columnAutoWidth","_getExtraColumns","isBuilderEventsEnabled","DetailSectionNumber","sortedColumns","getCellTemplate","columnDef","dataContext","_contextMenuMarkUp","valueId","openCardButtonTitle","cssClasses","attributes","data-recid","contextmenu","stateVariable","detailName","_getAvailablePlugins","disableOnResizeBinding","config","align","opt_sticky","opt_duration","sticky","actionButtonSelector","_jActionButon","_buttonChangeEvents","_groupChangeEvents","basePageElementEvents","groupModel","currentGroup","_bindOnGroupChangeEvents","currentButton","_bindOnButtonChangeEvents","_extendGroupCollection","_extendButtonCollection","getIsHidden","_hasExpandedButtons","_lowestPriorityGroup","condition","priorityCriteria","Infinity","resultGroup","_findOrCreateGroupMore","groupMore","GROUP_MORE_NAME","minimizedGroupIcon","_hasButtonToMove","isMoved","_toolbarMoveOneButton","_compactGroup","_reduceGroup","toolbarRestore","buttonIndex","changeEventName","_dispatchChangeEvent","createGroup","addGroup","removeGroup","removeAllGroups","_getGroups","removeButton","removeAllButtons","_getButtons","_unbindFromButtonChangeEvents","currentGroupModel","isButtonExist","newGroupModel","indexToPaste","isGroupExist","getButtonsLength","getGroupByName","getGroupsLength","_unbindFromGroupChangeEvents","isFounded","ToolBar","_resizeToolbar","createResizeEndEvent","mouseup","groupContainer","_shrinkedButtonsAfterResize","_restoreToolbar","_getNextButtonWithCaption","buttonWithCaptionInLowPriorityGroup","toolbarGroups","groupPriority","buttonWithCaption","jToolbar","resizeToolbar","jToolbarContents","_getAvailableWidth","_canFitToWidth","toolbarWidth","availableWidth","ActionButton","childComponents","bindChildEvents","shouldResetScroll","forceRerender","component","_childComponents","componentEventChangeState","unbindChildEvents","updateModel","unbindEvents","_requestModelData","requestUrl","requestParams","updateHistoryTable","historyModel","isAllRowsDisplayed","sortHistoryTable","sortingColumnId","sorting","sortingDirection","tableColumns","follower","second","datetime","dateParts","reverse","hoursAndMinutes","transformDatetime","toogleFilterPanelButton","ToggleStateTreeFilterPanel","isFilterPanelVisible","toggleStateTreeFilterPanel","_resetScroll","toolbar","restore","collapseOneButton","toolbarCollapseOneButton","jobStates","stateTab","getStateTree","getExtendedProperties","activeFilter","applyFilter","isIe","processedContent","aside","CardTabMainTab","tasks","bindButtonsEnabling","isNewModel","reactRender","Component","getElementById","_firstRender","_scriptsAlwaysEvalAft","_scriptsEvalAfterRend","_scriptsAlwaysEvalAft2","_scriptsEvalAfterRend2","scriptsEvalAfterRender","scriptsAlwaysEvalAfterRender","InitSavedTextResize","jAttachmentItems","attachmentItemNode","jAttachmentItem","initSelectStandardRouteButton","dragging","initEvents","contentJustReceivedFromServer","_extractScriptsFromHtml","serializedTabData","_serializeCardForm","_serializeAttachments","extendedProps","initCustomWork","_initCustomWork","currentSerializedTabData","shift","opt_container","jMain","jMainFormValues","jHiddenFormValues","attachmentsData","attachmentInfo","sourceHtml","scriptTags","regexForScriptTags","resultHtml","CardTabStateTab","_currentId","_currentKind","getKind","_jobStates","_initTreeRecursive","_toggleCollapseTreeNodesRecursive","_markAndExpandCurrentNode","_shouldScrollToCurrentNode","initTooltips","_scrollToCurrentNode","uniqueId","_currentNode","isExpanded","isNodeExpanded","_currentNodeParent","_isCurrentNodeHiddenByFilter","_applyFilterToNodeRecursive","stateTree","isNodeCompletelyHidden","isExpired","isRead","jCurrentNode","currentNodePosition","currentNodeTop","CreatePanel","button_model","_initButton","button_name","EdmsObjectsRightsDialog","_global$BaseDialog","dialogSelector","rightRecord","rightRecordInfo","rightType","documentList","deniedReasons","resultItem","IsSuccess","TargetObject","DeniedReason","errorDialog","documentIds","Objects","MassCreateDocument","fileList","fData","file","XMLHttpRequest","onreadystatechange","readyState","send","Files","FavoritesFolderID","Header","childObjects","ExplorerHeader","deadline","notificationTypesToOpenDialog","ntfData","getOnClickAttr","_escapeSpecial","\\","Current","_onPopupListeners","FullName","login","Organization","organization","defaultCertificate","DefaultCertificate","hasComponentFullAccess","hasObjectFullAccess","HasObjectFullAccess","hasObjectViewAccess","HasObjectViewAccess","hasESDExportCapability","HasESDExportCapability","hasDisableDocumentTextAccess","HasDisableDocumentTextAccess","onpopstate","isTable","recID","unescape","refView","2","3","9","typesKinds","initCreatePanel","initHeader","createPanelData","createPanel","_renderToolbar","addOnPopupListener","objectModel","initCardTabChildren","_selectCardTab","openReactTab","tabType","forceReload","tabElement","currentHelpLinks","BindHelpIcoClick","tabsToEnable","parsedModel","Window","_isOnBeforeCloseExecuted","_closeCheckerTimeoutHandlers","nameLowered","_bindOnBeforeClose","_bindOnAfterClose","_getWindowOpener","_startWindowCloseChecker","_unbindOnBeforeClose","_unbindOnAfterClose","closed","_clearAndDeleteCloseCheckerTimeoutHandler","frameElement","childWindow","onCloseFunc","childWindowName","_runCallbackIfClose","NeedUpdateOnChildClose","openExplorer","jLikeFilter","predefinedFilters","FilterEDMSContent","reloadParentExplorer","reloadParentGrid","op","formChanged","updateExplorerContent","updateParentExplorerContent","debounceInterval","requestInterval","stackSize","_eventTimestamp","_queueTimestamp","_ignoredActions","_ignoredAreas","HTMLelement","opt_actionTarget","eventParams","_getParams","Action","stat","eventQueue","tagName","actionAndArea","dateNow","Target","_getTargetAndAreas","writeQueue","_getActionAndAreas","Queue","areas","Area","Page","BrowserName","BrowserVersion","OperationSystemVersion","CpuArchitecture","WebAccessVersion","writeEnvironment","OperationSystemFamily","_getAreaFromElement","cpu","returnFirstOnly","cName","cNames","areaElement","actionAndAreas","scripts","reports","folders","documents","eDocuments","BaseFactory","getObjectByID","opt_modelType","_handleModel","proxyCall","objectInfo","getRecordByID","openInModal","newSettings","createRecord","opt_ourFirmID","opt_paramVars","paramVars","opt_environmentVars","query","envVars","environmentVars","bindTo","ourFirmID","ReferenceFactory","openReference","referenceModel","opt_isModal","componentCode","Script","execute","createRequestModel","requestModel","webAccessClientClassName","showDialogAndExecute","getObjectByName","dialogActionName","Report","_execute","referenceRecord","integratedReportRefereneceRecordId","integratedReportRefereneceCode","BEFORE_EXECUTING","guid","deprecatedObject","download","openByAgent","Repository","DownloadTool","loc","transformMultiselectToDetailRows","executeIntegrated","isModal","_showDialog","report","showDialogAndExecuteIntegrated","ABORT_FILLING_PARAMS","queryParamsAndExecute","_queryParams","queryParamsAndExecuteIntegrated","ReportName","_queryParamsFromXml","opt_referenceRecord","serializeForm","getReportByName","getReportsByUnitName","moduleCode","UnitName","showReportsByUnitName","opt_moduleName","opt_width","opt_height","ReportList","isRootFolder","InboxFolderID","OutboxFolderID","CommonFolderID","getRootFolderID","folderType","getFolderByID","createFolder","opt_name","FoldersFactory","TasksFactory","getTaskByID","createTask","parentLink","SearchFactory","showResults","JobsFactory","DialogsFactory","_getObjectBy","getObjectByInstanceID","getDialogByID","getDialogByName","getDialogByInstanceID","attrName","attrValue","getDocumentByID","createNewFromTemplate","typeCode","kindCode","templateCode","EDocumentsFactory","DomainConstants","_ourFirmsConstants","g_SharedPublicConstants","g_OurFirmsPublicConstants","getOurFirmConstant","firmId","isLinkModel","__type","isLinkModelArray","isDateArray","parseMethodResult","methodResult","linkArray","dateArray","entityId","factory","variantParameterFactory","variantParameters","parameter","formRequisites","methodParameters","VariantParameter","getVariantTypeFromLinkType","linkType","getVariantCollectionTypeFromVariantType","VariantParameterFactory","сreateVariantParameter","сreateVariantParameterFromBoolean","сreateVariantParameterFromString","сreateVariantParameterFromObject","сreateVariantParameterFromNumber","boolean","сreateVariantParameterFromDate","parameterType","parameterValue","setActionResultAndExecuteAgain","setContentActionResultAndExecuteAgain","setDomainActionResultAndExecuteAgain","filterRequisite","cmds","Commands","performCommands","ViewName","CommandNumber","CommandType","CommandResult","commandsResult","allCommandsRunner","cmdType","cmdNumber","allCommandsQueue","performShowDialogCommand","performEndCommand","performExecuteSeachCommand","performExecuteJsActionCommand","performShowMessageBox","performShowNotification","cmdResult","showDialogParams","actionResult","__RESULT","SearchContentKind","SearchResult","argsExpression","actionArgsArray","parsedActionArgs","jsActionArgs","jsActionName","asyncResult","returnRowNumber","namespace","ns","IsListExist","callbackIfExist","SelectAll","GetScroller","maincont","elementTop","viewPortBottom","viewPortTop","jViewPort","scrollParent","elementBottom","ArrowKeyNavigation","IsDownPressed","querySelector","IsPageUpDown","nodeSelector","selectedNodeClass","scrollIfNeeded","querySelectorAll","hovered","maincont_h","CheckHovered","oldnext","newNext","jHovered","toCheck","OpenBounds","AsideClick","isRightClick","selectedRunElement","actionElement","nodeClass","parentRunElement","PerformDefaultAction","previousElementSibling","nameCont","getSelection","KeyboardActionWithLink","toolBarBtnSelector","miniToolbarBtnSelector","needCheckIsListExist","toolBtn","functionText","OpenCard","ShowObjectCard","objectParams","openCardLnk","saveButton","SaveCard","Save","copyButton","shortcutBind","actionname","RefRecCopy","shortcut","deleteBoundsInTab","CopyRecord","CloseJobWindow","CloseWizardWindow","wizardKey","confmsg","showTopSpinnerTimer","dlg","instant","inModal","ShowTopSpinnerMessageIfVeryLongQuery","ShowAllRows","GetPageNameByKind","MakeHref","g_WebServerName","pagename","utf8_decode","aa","bb","MakeHrefsFromLinks","ShowAllRowsPostback","incScroll","side","scrollTimeout","deselect","opt_withoutAttachments","CreateTaskTM","CreateFromTemplate","CreateNewDocument","CreateFromFile","CreateFromTemplateOrFile","RefName","InitToolbar","RecordID","CreateFolder","BindToRecord","DeleteAll","UnBindFromRecord","refs","HeaderText","IconAlt","FindParam","aoData","refview","ShowReferences","linkData","Reference_CreateRecord","ShowReferenceRecords","fillreq","afterCreateCallback","parentReq","parentParam","IsUseOurFirm","CreateOurFirmSelectForm","firms","CreateRefRecord","NewRecordService","pickRequisites","firm","useOurFirm","GetAllOurFirms","SetOurFirmID","FirmID","OurFirmID","RequisiteValuesJSON","EnvironmentVarsJSON","ParamsJSON","customTitle","currentCaption","isDoc","tdAdd","added","helper","LoadAddRegion","ShowAddRegion","AddRegionTo","MakeReadedWhenClick","ChangeUnreadCountInTree","wopenf","withoutmenu","screen","availHeight","oWindow","oSize","td","LockEDoc","SaveInJob","SaveInBaseJob","g_LeadJobID","alert","g_ErrMes","UnlockEDoc","$dialog","Job_SetFocusToEditText","SaveAndCloseJob","ReferenceCard_ShowTab","Num","ReferenceCard_ShowDefaultTab","Reference_GetPrefix","Reference_GetName","Reference_GetView","Reference_Save","SuccessCallback","isAutoSave","Reference_IsDisabled","decodeURI","Reference_GetRecordID","setOpenersRequisite","Reference_SaveAndClose","getNewRecordName","Reference_ContextMenu_Card_OnCreate","Reference_ContextMenu_Copy_OnCreate","Reference_CopyRecord","Reference_ContextMenu_Delete_OnCreate","Reference_ContextMenu_Delete","DeleteSelectedRecords","confirmDialogMessage","Reference_DeleteRecord_ToolItemClick","SourceRecordID","BaseCloseRecordCard","FreeRecord","CloseFolderCardWindow","BaseCloseFolderCardWindow","SideItem_Click","notInExplorer","RemoveParamsStr","nameLink","DoDefaultAction","StartAction","needDisableAgentSetts","currentDefaultAction","isSearch","ExpandCollapseButtonMouseDown","SetExpandCollapseButtonImage","ExpandCollapseButtonMouseOver","ExpandCollapseButtonMouseLeave","DestImageType","ArrowImages","RemoveAllCircleArrowClasses","reg","ChangeItemTextsVisible","sub_divs","Sign","GetObjectCardUrl","OpenFolder","newFolderPath","fpathParam","folderTitle","hasCover","SendAsAttachment","routecode","subject","attach","setSubject","ShowInsideFolders","ShowAttachedToTasks","lowerKind","ObjCopyLink","CurrentActionHTMLElement","lrList","GetCryptoObject","WrapToShowErrors","CacheKeepAlive","cache_id","interval","Key","SearchCacheKeepAlive","SearchGUID","UniqueID","OpenReference","ExitBtnClick","callbackFunc","InitTheme","ThemeName","regionalSettings","ViewPreviewSettingsModal_ChangePreviewSettings","radio","ViewPreviewSettingsModal_DisableControls","ReloadWindowToLoadPlugin","g_UserMenuHelpItem","InitExplorerSidebar","isIntegratedSearchMode","isError","okFunc","clearAllModalDivs","bgClass","errHTML","okClick","AppendDialogHelpIcon","ShowDialog","InstructionResize","$ins","CreateDatePicker","clientId","onUpdate","cntl","setDefaults","isClosing","beforeShow","inst","onSelect","needTriggerChange","$input","dateText","SetValidDate","showOn","buttonImageOnly","datetimepicker","showButtonPanel","timeArr","TT","CheckPeriod","lastValue","lastVal","dateInput","isEndDateInput","startDate","endDate","jSavedDate","needHide","CopyInfoToClientBuffer","ShowModalWindow","executeAndCloseFunc","handlerExecuted","errMsg","msgType","MakeErrorMessage","MakeInfoMessage","MakeWarningMessage","shownMessageType","warnMsg","showInformation","infoMsg","hideReferenceDropDown","drag","needShowButtons","showButtons","dragStart","my","of","cnt","afterOpen","ExportEDocNow","eDocId","needLock","needExport","transform","toEsd","withOnlyApprovingSigns","needSendMail","openPreview","GetPreviewEDocUrl","doc_id","ver_num","explock","transformName","lastTimestamp","fileLink","LockDocument","TransformationName","ToEsd","WithApprovingSigns","needShowSpiner","setSpinnerDialogDelay","spinnerDelay","sendEmail","useFullScreen","g_isFullscreenPreview","hideLock","openRead","OkFunc","AgentCallback","exportFunc","tryExportSingleVersion","exportEDocWithDialog","modalWindow","verNumberCheckedRadio","verSize","showLock","requestAnimationFrame","transformationsPick","UpdateExportDialog","jExportWithOnlyApprovingSignature","jExportToEsd","ShowLock","ShowToEsd","DecryptKey","IsExport","decryptKey","ExportEDocToolBar","SendDocByMailToolBar","ExportEDoc","lock","lock_label","verNum","ImportEDocNew","ImportEDoc","helpContextId","GetImportModeSettings","g_import_btn","checkFileSize","isPressed","isImporting","DisplayMode","successText","DoIt","emds","getDocumentDecryptedKey","Callback","Pass","OnImportOkClick","ShowMessageInDialog","isFileSizeAccepted","allowCreateActiveVersion","currentState","CheckAllowCreateActiveVersion","IsImporting","kindName","EDocKind","importEdocId","jEDocTr","AllowMultipleActiveVersions","CountActiveVersions","unlockDocLabel","unlockDoc","allowLock","radios","source_id","jModalWindow","popup","rnd","validForm","pleaseWait","windowName","InitCreateNewDocumentControl","ReportError","$file","req_id","analit","fileSize","files","MaxRequestLength","ReferenceOpen","viewname","sys","WizardExecute","TMExecute","ComponentExecuteInNewProcess","IsWebAccess","iframe","jFiltrationPanel","iframe_wnd","defineProperty","parentWindow","changeCoverStylesImages","jFrame","imagesPath","jFrameContents","jFrameHead","rel","RouteSchemaPath","showHints","check","SetStandardRoute","ShowMultiSelectModalWindow","showObserversModal","threeDotsDiv","ico","isExplorerAboutIco","lastUrl","menu_items","_lastUrl","UpdateModalWindowExtHelpLinks","newLinks","ViewOnDesktop","isForEdit","currentVersion","versionName","OpenWithAgent","Lock","removeDownloadInProgressStatus","jDoc","jDocIcon","setDownloadInProgressStatus","jUploadIcon","checkDocumentHasLocalCopy","GetEDocumentObject","docObj","AskForActionOnDocument","selectedVerRadio","canExportWithLock","AskOpenForView","SendVersionToAgent","EDocumentVersion","GetDocID","GetCurrentVersion","EnableLock","Versions","VerNum","RequestTokenAndContinue","isPreviewSupported","baseDialog","OpenEDocForView","formatSupported","hrefForExport","GetAgentOpenDocRequestParamsObject","clearPluginCache","OpenDoc","Operation","RequestTokenCallback","verIndex","secure","Editor","EditorCode","observetype","CloseObservingType","GetAgentOpenDocRequestParams","ProcessResponse","ClientName","ShutdownAgentSession","selectToolbarBtnOnShowContextMenu","OpenEDocByAgent","wizardLinkRegExp","ReplaceWizardLinks","migration","checkNotifications","notificationsPanel","initFastSearchFilter","AfterSearch","initCurrentFolder","createFolderContextMenu","initPreFiltersMenu","cards","bindTabsEnablingOnFormSave","initResizablePreviewCard","initColoringRecordsSettings","QueryInstanceId","bindButtonsEnablingOnFormChange","isIOS","fitDialogOverlayToPage","treeWidth","MIN_WINDOW_WIDTH","MIN_WINDOW_HEIGHT","offsetWidth","h1","h2","clientWidth","scrollbarHeight","resetZoomForAndroid","applyExtraZoomForSurface","jMeta","reset","resetZoomForIpad","denyScale","allowScale","iframeHeight","overflowY","jContentContainer","setExplorerLayout","inIframe","setMainColumnsHeight","appHeight","isWindowSmall","jBody","toolbarPanelHeight","QFilterHeight","jFiltrationArea","jFolderCover","fullHeight","setReferenceRecordsContainerHeight","oldWidth","setDocumentPreviewHeight","oldHeight","lastWindowWidth","lastWindowHeight","OpenInDesktopClient","isRightButton","EDocument","EDocumentClass","el_name","CopyDoc","lockUnlockRunning","islocked","GetLockUnlockText","currentVersionNumber","GetActualVersionNumber","handle","GetVersions","versions","UpdateVersions","EnsureVersions","FirstValidCertificate","SignVersion","GetVersionByNumber","SetCurrentVersionNumber","GetVersionLockImage","imgHTML","IsLocked","ShowAllVersions","LifeStage","OpenRead","localCopiesCount","isShowPreview","OpenEdit","ViewInEditor","ImportVersion","LockUnlockVersion","ReturnDoc_CanClick","doAction","dc","certObj","GetCertificateFromStorage","cert","VersionNum","NeedLock","_SignVersion","SignStr","signResult","UserCertificateStr","IsSubstituted","CreateVersion","SubstUser","EDocumentVersionClass","CreateVersionToolbar","GetContextMenu","ReturnVersion","CreateNew","SignEDoc","Delete","CanChange","DBLock","LockedByUser","LockTime","SetState","IsLockedByMe","ChangeCountActualVersions","CurrentLifestage","ChangeNote","eDocVersion","JobClass","executeDefaultAction","MarkAsReadOnCreate","MarkAsRead","IsRead","unread","getSelectedLang","selectedLangSelector","newLang","setNewLang","setLanguage","cancelNewLang","lastCount","lastTotalCount","ShowRowsCount","lastIsFiltered","GetTotalRowsCount","isFiltered","ModifyRowsCount","addCount","make","secondText","CreateMessageHtml","messageHtml","availableTransformationNames","DocumentId","getIframeDocument","iframeNode","lastWnd","ShowReport","opt_reportCaption","executeFunction","InitReportParams","fillHiddenParamsCallback","GetParamControl","GetParamValue","required","isOpera","hFrame","ShowReportWithoutParams","divDebug","z-index","opacity","myDateSort","dataTableExt","oSort","outline","globalCore","needShowInstruction","showEnableInstruction","canUseInCurrentDevice","needShow","requestName","checkSessionState","isSessionError","RunWithAgentDialog","agentAction","invoke","showDialog","pluginObj","_getPlugin","setSessionInitialized","defForSession","isSessionRegistered","_updateAgent","getUpdateProgress","checkAgentInterval","ON_UPDATING","clearInterval","AFTER_UPDATING","_initSession","checkStateAttemptsLimit","completeAction","AFTER_UPDATING_RESTARTED","WaitAgentRunDialog","CHECK_STATE_INTERVAL","errCount","checkUpdateState","ON_FAIL_UPDATING","updates","checkUpdates","BEFORE_UPDATING","beginSession","_initAgentUI","agentNotStartedWidget","_startAgent","cancelStart","downloadRpmPackageButton","downloadDebPackageButton","saveDocDefaultActionSettings","initializeAgentSession","isDisableSetted","g_IsAgentEnabled","beforeUpdating","sessionID","g_UserContextID","onUpdating","afterUpdating","onFailUpdating","afterUpdatingRestarted","BUTTONS","WITHOUT_AGENT","PING_SUSPECT_FAIL_TIME","PING_MAX_TIME","_agentStartTimeoutID","_agentStartFailTimeoutID","_waitDialog","_clearCheckAgentTimers","_initButtons","_initDownloadLink","_initUpdateHandling","_disableAgent","_initCheckAgentTimers","AFTER_DOWNLOAD","_beforeUpdating","progress","_onUpdating","_afterUpdating","_onFailUpdating","timeStamp","_unbindUpdateHandlers","RUN_AGENT","PING_INTERVAL","awaitingText","_agentStartTimerId","_initRunWaitHandling","awaitingTextHtml","AFTER_START","header","_iw","_jo","_preInitObjects","oldImage","usersRefCode","userId","hasHint","adjust","jUsername","tabGiven","previousTab","SB","jCardFormTabs","jSelectedTab","jTabItem","dtTables","setOrientationCookie","isNeedInvert","setHorizontal","setVertical","WITHOUT_FILTER_NAME","onSelectFilter","jFilters","statusesMenuItems","menuItem","baseMenu","jSelectedItemText","iconSymbol","updateFastSearchFilterWidth","menuSelector","allFilters","selectedFilterName","IsHidden","statuses","Icon","Tooltip","statusesMenu","OFF","getHoverIconCssClass","defaultDirection","isAsc","sortItemOnClick","clickedItem","jSortText","setSortByMenuItem","jSortIcon","getFastSearchFilterValue","sortIcon","sortDirectionIsAsc","searchModes","getSourceId","enableDeleteButton","toolItem","deleteLinkFromCard","folderTab","pasteToFolder","_createTask","taskTab","handled","$list","enableButtonOnItemsSelect","allItems","enableButtonOnItemsSelectGt","jCheckAll","processFirstSelectedItem","processCurrentObject","enableObjectCardBtn","searchName","TOOLBAR_ACTIONS_WITH_OBJECT_GROUP","openObjectCard","copyObject","enableButtonForDocOrRefRecord","kindLowered","openObjectHistory","showAttachedToTasks","showInsideFolders","showBoundDocuments","sendAsAttachment","openFolderContent","folderContentUrl","isSelectedSecondLevelInRelationTree","enableCutAndDeleteLinksBtn","isSelectedSecondLevelItem","enablePasteLinksBtnOnFolderChange","enablePasteLinksBtn","currFolIsReadolny","pasteBoundsInTab","enableSendAsTaskAttachment","FolderType","createDocumentFromFileAndAttach","createDocumentUsingTemplateAndAttach","createDocumentAndAttach","needBound","docUrl","createFolderAndAttach","ownerId","createAndAttach","_createAndAction","createAndBound","createMenuItems","jSelector","createMenu","jCreateMenuTaregt","createMenuVerticalOffset","createMenuPosition","objects","availableStatuses","statusNameInClassRX","getStatusIconByStatusName","opt_normalClean","toolItemEl","afterChangeCallback","isForList","massSetUserStatus","succFunc","updateStatusInList","statusEl","userStatusMenu","showStatusContextMenu","getUserStatusMenu","openStatusContextMenu","openStatusContextMenuForList","getStatusOfItem","itemEl","statusButtonForListOnInit","isSelectedOnlyReferences","getStatusNameForItems","elStatusName","showHorizontalStatusContextMenu","generalMenu","menuIconEl","itemsStatus","imageCSSClass","menuId","menuitems","oldOnShow","margin-bottom","SetCurrentPeriod","onPeriodSet","CURRENT","PREVIOUS","SLIDING","CUSTOM","MONTH","QUARTER","YEAR","uniqueID","CURRENT_PERIOD_LENGTH","styleClass","previousPick","previousPickData","lastDays","lastDaysHtml","beginDateData","endDateData","currentPickLabel","currentPickHtml","previousPickLabel","lastDaysLabel","lastDaysLabelEnd","periodLabel","endDateLabel","endDateHtml","previousPickHtml","beginDateHtml","beginDateLabel","Previous","LastDays","getIsChanged","EndDate","setType","BeginDate","period","PeriodType","PeriodLength","CURRENT_PERIOD_TYPE","formType","Period","AsString","days","setCurrentPeriodService","PerionBegin","PeriodEnd","CurrentPeriodType","CurrentPeriodLength","Location","onPeriodSetCallback","createCurrentPeriodFilterMenu","opt_needDisableChangeCurrentPeriod","jButtonSelector","isCurrentPeriodRequired","needDisableChangeCurrentPeriod","cm","appendCurrentPeriodInPageTitle","jObjectName","serverBegin","serverEnd","selectFilterButton","toggleFilterPanel","selectUseArchiveDataButton","RefView","enabled","toggleUseArchiveDataPanel","selectGroupButton","toggleGroupPanel","selectVisibleColumns","newVisibleColumns","enableDeleteRecordBtn","hasRights","enableCopyRecordBtn","DeleteRecord","CreateCurrentFilterMenu","contextMenuElementSelector","SetCurrentFilterState","PeriodSetCallback","getReferenceContext","ExportRecords","initPerformButton","performResultsInit","choices","getAll","DisplayName","additionalSettings","showRequestActionOnSubtasksDialog","isTask","abortButton","ConfirmExecDialog","cancelButton","CheckIsWf","ResultNotEmpty","_executeBeforeQueryParamsEvent","hasAskableParams","_requestAskableParams","checkAttachmentAccessRights","performJob","JobId","_setAccessRights","getByCode","getByName","resultEl","LeaderJobID","_showLeaderJobPerformDialog","jobID","activeText","jActiveText","PerformResultName","newActiveText","ShowAskableParams","performResultIndex","nextElementSibling","resIndex","g_ConfirmParam","Content","jobPerformResult","_clickOnResultParam","contentFilterTimeout","jFastSearch","switchView","regionID","resetFilterInputWidth","onFilterInputKeyDown","clearButton","currFldWidth","updateFolderListItems","onFilterInputKeyUp","checkAllWidth","filterDropdownWidth","filterAreaWidth","jCurrentFolderMenu","jCurrentFolder","toogleCurrentFolderArrow","globalFooter","AgentNotStartedWidget","onStart","onDownload","_afterUpdatingRestarted","TITLE_TEMPLATE","CONTENT_TEMPLATE","OpenedDocumentsWidget","_requestGetOpenedDocuments","_startGetOpenedDocumentsTimer","intervalInSec","getOpenedDocuments","_prevDocs","doc","IsObservable","getOpenedDocumentsListComponentHtml","titleHtml","wrappedContent","jOpenDocumentList","dropping","droppable","jDroppbable","isfolderAcceptObject","associations","5","enableCopyButton","jObjectListItem","isCopyKeyPressed","onDropEnd","getTreeItemId","getTreeItemParentId","getDraggingLinks","jDraged","accept","recieverType","jReciever","getFolderType","hoverClass","drop","draggable","dragIsFromFolderTree","handleDrop","enableEscapeButton","isCancelKeyPressed","revert","filterLinks","getObjectName","removeSelection","moveLinks","attachToTask","OL","pastedCount","refreshAll","bindLinks","DestType2Kind","Item1","Id","isLinkRelationChanged","signListItems","sortedLinks","linkElement","signSortedLinks","toggleAll","signDocuments","isSignCustomWork","signingCertificateId","signCustomWork","showSigningUnsupportedDialog","jTokenPinMessage","tokenPinMessageHeight","tokenPinInputHeight","jTokenPinInput","newHeight","LinksTasks","LinksJobs","UseAgent","getSignedCustomWork","IsSignCustomwork","SigningCertificateId","jobLink","SignJob","addTextFrame","taskLink","showRightsDialog","dialogParams","jDraggable","overlayElement","overlaySelector","overlayInfoSelector","jDndOverlayInfo","refreshObjects","dropSetup","dragSetup","MaxVisuallyStackedObjects","jAttachedToCursorItem","cursorAt","createOverlay","jDndOverlay","TaskChange","dataTransfer","dropEffect","showCreateDialog","droppedItems","dirDropped","webkitGetAsEntry","isDirectory","fileNames","totalSize","dialogTitle","FileNames","mass","innerHTML","extensionInfo","baseCssClass","iframeCssClassHidden","iframeSelector","overlayCssClass","Preview","wrapperId","_jFrame","_urlHandler","previewHandlerUrl","documentData","convertedObj","preview","DataType","pageCount","convertedObjId","versionId","scriptFileName","cssLink","errorType","_hideOverlay","_showOverlay","_onFrameLoad","isImage","_drawFirstPageInCanvas","onResize","setVersion","IsImage","PageCount","docExtension","DocExtension","AttachedScriptFileName","selectedObj","_setToolbarControlsVisibility","_loadFrame","frameSrc","_drawImageInCanvas","pageNum","givenScale","forceLoad","shouldFlipHeightAndWidth","jCanvas","onload","scale","_scale","canvas","ctx","getContext","naturalWidth","naturalHeight","degrees","clearRect","rotate","PI","drawImage","docType","isText","wasMadeFromMsWordDocument","BaseDocumentPostprocessor","isSpreadsheet","postprocessor","ExcelDocumentPostprocessor","ImageDocumentPostprocessor","_documentHeadFile","_extension","_getAppropriatePreviewActions","WordDocumentActions","TextActions","toolbarControls","isScalable","fitToButtons","rotateButtons","isMultipage","pagination","updatePaginator","wordButtons","setScale","setSelectedStateAndPerformAction","trackChangesVisibility","commentsVisibility","dispatchFrameReadyEvent","jOverlay","overlayCssClassHidden","enableChangeTrack","_isMultipage","_isImage","filePath","_isIpad","device","_addFilesToHead","_prepareContents","jFrameContentsHead","styleSheet","createTextNode","scrollerStyle","_global$BaseDocumentP","_openLinksToExternalResourcesOnNewTabs","_fixHttpLinks","_setBodyColor","_removeTabScroller","_onTabSwitch","jPreviewBody","jSheetFrame","sheetFrameBody","jScrollFrame","jTabsFrame","jFrameSet","jTabFrameBody","jDocBody","jExcelSheetFrame","frames","jAnchorTag","rebindPassthrow","jFrameSheet","getFrame","jFrameTabs","asposeSelectors","comments","commentAnchors","commentArea","wordDocumentSelector","documentPageBaseCssClass","WordDocumentPostprocessor","_wrapWordPages","_prepareComments","anchors","jContents","jStyle","sectionSizes","_getAsposeSectionSizes","jWrappedBody","asposeSection","mainContentCssStyles","sizes","commentsHtml","jComments","cssText","asposeSizeRulesRegex","pageRules","sectionNameRegex","sectionName","sizeRule","pageRule","sizesRuleRegex","jCommentAnchors","jCurrentComment","infoStr","infos","documentAnchorSelector","jDocumentAnchors","jCurrentAnchor","commentSelector","jPage","jCommentSection","jComment","jCurrentAnchorTop","jPageSection","jPageSectionTop","jCommentSelections","_commentHighlight","commentSelectionSelector","jCurrentCommentSelection","BaseActions","_initAttributes","actionUrl","_jFrameContents","objectsData","movePreview","previewScale","_setScaleValueInDropdown","dropDownList","_createFullscreenUrl","returnUrl","concatSymbol","previewPageNum","previewAllowCopyText","allowCopyText","toggleFullscreen","_fullscreenUrl","printDocFromPreview","execCommand","contentContainer","printFrame","print","PLACEHOLDER_MARGIN","PREVIEW_SCALE","FIT_HEIGHT","FIT_WIDTH","FIT_WINDOW","Directions","directions","ImageActions","_global$BaseActions","ImageDocumentPreviewSettings","postInit","_jCanvas","_jPlaceholder","_placeholderMargin","_imageInitialSize","_recalculateContainerSize","_pageCount","_pagesIterator","_jPageNumber","_getScale","_isCallJumpToPage","_scaleKey","_direction","scrolling","fillWithPlaceHolders","attachToFrameScrolling","_actualizePages","_setScaleValueInDropdownAndButtons","prepareFirstImage","_width","_height","_redrawKnownPages","targetPage","allPages","totalPages","pagesProcessed","targetHeight","targetWidth","jEmptyPages","handleCurrentPage","tmpHtml","jPlaceHolder","yScroll","scrollY","pageYOffset","jFrameParent","areaRect","elementFromPoint","jPlaceholder","currPlaceholder","placeholderWidth","bodyWidth","loadVisiblePages","lastLoadedPage","jLoadedPages","attrLastPageNum","lastPageNum","offsetTop","_containerSize","loadPage","jPrevNotLoadedPages","currentPageNum","prevNotLoadedPage","attrPrevNotLoadedPageNum","prevNotLoadedPageNum","jumpToPage","goToPreviousPage","goToNextPage","initHeight","initWidth","_calculateScaleRelativeToContainer","jPages","jCurrentPage","_setSizesToHtmlAndBody","margin","transformOrigin","isNeedMargin","_rotatePages","cssTransformOrigin","isScaleAlreadySet","buttonKey","Map","turnOn","initialWidth","initialHeight","initSize","rotateCW","tmpWindow","contentDoc","spinnerText","pagesLoaded","customBody","customHTML","downloadingImage","printPage","insertAdjacentHTML","SpreadsheetActions","commentAreaWidth","TextDocumentPreviewSettings","_body","contentGenerator","_zoom","jScaledContent","zoomValue","marginTop","_zoomValue","sourceWidth","maxPageWidth","jWordDocumentPages","commentsWidth","currentPageWidth","viewportTop","viewportBottom","documentWidth","viewportWidth","jDocumentPage","jPageTop","jPageBottom","pageWidth","deletedText","insertedText","_global$TextActions","enableTrackChanges","disableTrackChanges","enableComments","shouldMovePreview","_moveOrScalePreview","disableComments","BaseDocumentPreviewSettings","set","_previewScaleStorageName","defaultScale","storageGroupName","_enableTrackChangesStorageName","_showCommentsStorageName","toolbarDataPrivatePropertyKey","toolbarControlsPrivatePropertyKey","Toolbar","toolbarPrivatePropertyKey","paginationButtons","rotateCCW","reverseAction","_prepareControls","initScaleInputValues","jScaleInput","scaleRequisiteInstance","scaleDropDownItems","PREVIEW_SCALE_LOCALIZATION","updatePageCount","buttonGroupData","_bindContextMenuButton","controlSelectors","getControlSelectorHelper","ToolbarControl","PaginationToolbarControl","_bindPaginationControl","buttonData","FitToToolbarButton","BaseToolbarButton","SelectableToolbarButton","commonButtons","_ref9","jContextMenuButton","_jToolbar","jButtonsPanel","contextmenuOffset","setJumpToPageWrapper","domButton","newPageNumber","jPageNumberField","_ref11","_ref10","toolbarButtonSelectorPrivatePropertyKey","toolbarButtonActionPrivatePropertyKey","_bindAction","_jButton","_performAction","toolbarButtonReverseActionPrivatePropertyKey","_global$BaseToolbarBu","mainAction","isTurnedOn","turnOff","shouldCallDefaultAction","_toggleAction","_reverseAction","shouldBeTurnedOn","DEFAULT_SCALE","toolbarButtonScalePrivatePropertyKey","_global$SelectableToo","buttonScale","shouldFitToScale","toolbarJControlPrivatePropertyKey","selectorList","_jControl","_global$ToolbarContro","menuType","jClickedEl","types","uniq","resultMenuItems","getMassMenuItemsByTypes","_toggleMarkAsReadMenuItemText","getOrAddContextMenuFormCache","setMenuProperties","hasStatusBar","every","showContextMenuInternal","markAsReadMenuItem","enableItem","setDefaultItem","defaultItem","showContextMenuForOneObject","listItem","menuOptions","specObjType","specObjTypeLen","contextMenuSettings","taskChangeButton","isTaskReadOnlyMode","jListParent","showReferenceContextMenu","showForFolderTreeItem","menusCache","menuSettings","deleteItemById","updateContextMenu","props","copyItem","dd","resultMenuItemsId","currentItems","newResultMenuItems","newResultMenuItemsId","agentIsDisabled","agentItems","checkMenuItem","selectClickedElementAndUnselectOther","clickedId","hasClicked","any","enableDisableItems","isElementInFolderTree","disableItem","g_IsReferenceReadOnly","newItems","changedItems","switchItemsForAgent","edoc","com","localcopy","current_fol","showContextMenuForManyObjects","copyFolderLinkOnCreate","jFol","canCopy","pasteLinksOnCreate","pasteLinksToFolderOnCreate","canPaste","deleteLinksFromFolder","parentFolderId","currentFolderIndex","deleteFolderLinkModel","ObjDeleteLink","setAutoCleanFolder","deleteLinksFromFolderOnCreate","canDelete","sendAsTaskAttachmentForFolderOnCreate","canSend","createAndAttachOnCreate","jAttachmentsToolbar","jAttachButton","currentFolderID","NeedToShow","currentNeedToShow","showFolderInListOnCreate","RemoveUserStatusCookie","LoginUser","changePasswordCallback","showMessageCallback","showErrorCallback","mobileView","loginFunc","AUTH_REQUEST_RESULT","CHANGE_DEFAULT_PASSWORD","GetReturnURL","STD_AUTH_PROVIDERS","g_returnUrl","g_defaultPage","WINDOWS","SQL","NOVELL","SHOW_LOGON_MESSAGE","buttonHandlers","accessRightButtons","accessRightsDialog","accessRightsKey","textAreaSelector","buttonNames","isControlChangedBefore","jTextArea","initialTextAreaValue","enableButtonsOnFormChange","setButtonsEnablingOnEnabledMode","printCustomWorkText","contentHead","head","contentSvgScript","contentBody","customWorkId","jRoute","jAdditionalIcons","jSelectStandardRoute","ChangeStandartRoute","inputsWithBindings","isBindNeeded","toolBarButtonNames","enableButtonNames","toolBarButton","createTaskCopy","newTaskLink","SourceTaskID","sourceTaskId","createTaskCopies","sourceTasks","waitIntervalID","selectedProvider","defaultRealm","jPassword","jRealm","jChangePasswordLabel","jDefaultRealm","detectAutomatedTesting","initInputsFocus","initDomObjects","bindInputHandlers","onAuthenticationProviderChange","jAdvancedSettingsContainer","jProviders","jLogin","jError","jLoginContainer","processUserName","formSubmit","duration","credentials","passwordField","enteredLogin","loginField","g_userCredentials","realmField","authenticatedUserName","showMessageOnLogin","showLogonMessage","InitMouseEvents","showChangePasswordMessage","firstMsg","firstLogin","showLoginForm","buttonSet","domainInfo","findDomain","hasDomain","domain","connectionString","separators","showPasswordChangeForm","jLoginLabel","hideMessageOnLogin","ChangeUserPassword","showWait","loginform","hideWait","_jFilterContainer","InitFolderCover","setCurrentState","_initFolderTreeScroll","_setToolbarButtonsEnabledState","openFolder","FolderMode","FolderId","FilterJs","_exec","initViewSwitchingMenu","Main","MainJs","hasCoverSelector","jCoverFrame","hideButtons","actionsModels","ContentsActions","actionModel","localStorageKey","folderWidths","storedMode","jObjectListItems","isLocalStorageOutdated","jObjectListItemColumns","currentWidth","dataName","handles","maxWidth","_onCellResizeStop","cellWidth","getTitle","refreshList","jCurrentView","fmode","isCover","executeQuickSearch","jQuickSearch","jQuickSearchInput","textCriteriaInput","navigateToParentFolder","parentPath","_getParentFolderPath","collapseFolderTree","expandFolderTree","_initExpandFolderTree","_initShowFolderInList","jShowFoldersInListButton","selectedSelector","bindShowFoldersInListClick","_setShowFolderInListState","_bindContentsButtonsEnablingOnItemsSelect","_setContentsButtonsEnabling","checkedItemsCount","checkedItems","buttonssEnabledForMultiSelected","getButtonsEnabledForMultiSelected","buttonsEnabledOnlyForOneSelected","loadAvailableTransformations","","availableTransformations","massExport","transformationValues","transformationIsSuccess","disableTransformation","archiveName","selectedDocuments","CompressResult","PackToEsd","massExportVersionAsk","massExportLockAsk","formBuilder","massExportLockAll","lastactive","ask","addRadioButtons","nolock","exportFailedDocuments","DocumentsMassExportResult","failedDoc","currentDocument","exportDocuments","exportSettings","transformationName","spinnerDialog","res2","Settings","ArchiveName","showExportResult","someDocumentsExported","OnlyApprovingSignaturesType","confirmationDialog","versionFromForm","DocumentMassExportSettings","docSetting","removeDocFromExportSettings","showDialogForOneDocument","isLast","setting","needBlock","exportParam","askLock","docSettingAsked","updateExportSettings","prevSetting","HelpPageCode","exportHelpLink","toggleReadStatus","jobIds","unreadJobs","JobIDList","markAsRead","newModel","serviceURl","PerformResult","_performResults","Code","Agent","agentCore","isDisabledValue","isARM","ua","isBlackberry","_showState","_installPlugin","SessionID","_showWaitMoreDialog","_showWaitMoreDialogTimeout","isAgentStartedAfterWait","transport","cancelClickAndOnClose","_showAgentStartedInAnotherSessionDialog","restart","packageName","g_AgentInstallID","attemptNumber","uploadLogs","appLang","System","IsSecured","g_User","Host","WebLinkServer","NewJobsNotificationToken","LogServiceToken","ClientAffinity","language","httpReady","checkDocumentLocalCopies","DocumentVersion","AdditionalInfo","PluginVersion","TokenPinCode","_signObject","Attributes","signJob","signTask","certificateID","encryptionType","_getObjectDecryptedKey","getTaskDecryptedKey","getJobDecryptedKey","need_unzip","addLink","transmittedRefs","getLinkSourceLocation","jSettingsAutocleaningAfterdays","jSettingsAutocleaningOnCompletion","autocleaningFolderList","defaultSettings","jSettingsAutocleaningPeriod","AllUsersLinkStoringPeriod","AutoCleanInbox","defaultLinks","AutoCleanOutbox","jSettingsAutocleaningEnable","saveAutoCleaningSettings","switchAutoCleaningSettings","jParentControl","parentControlIsChecked","managedFoldersIDs","jChildCheckbox","updateManagedFoldersLinks","saveTimeout","installAgent","InitializeAgentSession","themes","jCheck","jDownload","jLaunch","jUploadLogFiles","applyPreviewSettings","isPreviewEnabled","isColoringRecordsEnabled","isFullscreenPreview","openDocForEditByDefault","openCardByDefault","EnablePreview","g_isColoringRecordsEnabled","EnableColoringRecords","UseFullScreenPreview","OpenCardByDefault","OpenDocForEditByDefault","jColoringRecordsEnabled","jOpenFullscreenPreviewChk","g_isColoringRecordsSettingsHidden","jSettingsAutocleaningDefault","changedObjects","updateDefaultAutocleaningSettings","AutocleaningDefaultChangeLink","enableAutoClean","CleanMode","LinkStoringPeriod","linkStoringPeriod","cleanMode","addAutoCleanFolder","setAutoCleaningSettings","createAutocleaningSettingsFromDefaultSettings","cancelLock","setNewLanguage","isPassthrough","lang","relogin","reloginLater","jBtn","jOpenCardFromListChk","jOpenEditorFromListChk","jOpenDocForReadingDefaultChk","jOpenDocForEditingDefaultChk","langCaption","jOpenPreviewFromListChk","enableRadioButton","disableRadioButton","loadThemesData","initThemesEvents","rgbColor","opt_commit","jParentCheckbox","jChildContainer","changeTheme","changeChildControlsCheckedState","checkedItemsLength","allItemsLength","_bindOnRequisiteKeyPress","deleteTableRow","bindButtonsEnablingOnMainSectionRequisitesInput","bindButtonsEnablingOnDetailSectionRequisitesInput","tabNames","framePosition","jInnerPanel","panelGroupPosition","jPanelGroup","referenceInit","getPlacementContext","g_ReferencePlacementContext","currentTab","prefix","ReferenceDataSource","_cacheID","placementContext","CacheID","rowsQuery","globalLikeFilter","SelectExpression","IgnoreRestrictions","QueryContext","GlobalLikeFilter","forceSaveToServer","SelectListDataProvider","_cachedPages","lastLike","lastExpression","lastCurrentPeriodEnabled","specialRecords","CustomFilter","SelectExpr","Skip","queryInstanceID","LINK_CELL","getReferenceRecordStyle","styleRules","G","B","IsBold","IsItalic","IsStrikeOut","forceReloadData","initReference","createReferenceRecordObj","getReferenceRecordRowAdditionalInfo","backgroundColorObj","sourceTabName","data-refcode","oncontextmenu","sidebarTabs","referenceRecordsCellTemplate","cellNumber","columnRecId","referenceGrid","notifyObjectList","_DetailSectionNumber","ObjectLink","CardTypeCode","rowsList","DetailsDataProvider","newSavedFilters","enableFilterActions","disableFilterActions","getGrid","reloadFiltersAndData","initFilterMenuItems","createReferenceMenu","autoFilter","saveFilterItemIndex","prevLast","currentMenu","saveCurrentFilter","saveCurrentFilterAs","deleteFilter","newCurrentFilter","UnselectAllRecords","createNew","CP","autoFilterName","clearFilter","selectedID","emptyItem","wellFormedFilters","btnsDisabled","updateFilterMenuWidget","jFilterMenuWidget","handlers","newVersion","g_Version","oldVersion","clearOldCache","clearOldTemplates","reportPage","ReportDialog","getSpinnerDialog","showFinishDialog","BaseSelectRequisite","linkPageName","_initControl","_jHidden","_bindOnPaste","_onPaste","pastedData","clipboardData","_loadExtendedDataForLinks","extendedLinks","_setValueByLinks","_convertLinkToReferenceSelectValue","extendedLink","_parsePastedDataAndGetLinks","pastedLines","_parsePastedLine","lineLowered","_sysCodeLowered","_parseSuitableUrl","datePeriodRequisite","DATE_TYPE","DIFFERENT","DAY","RANGE","PRESET","LAST_MONTH","LAST_WEEK","NEXT_WEEK","NEXT_MONTH","_getDateWrapper","clickOnToggle","jDateCriteriaList","dateCriteriaList","searchCriteriaTop","containerHeight","dateCriteriaListHeight","heightDiff","jActiveDateCriteriaList","focusout","selectPreset","jSearchDateRow","jIsSingleDateActiveElement","jDates","jStartDateInput","jEndDateInput","dayNum","dayOfWeek","presetValue","thisMonth","thisYear","setMonth","changeType","jPresetItems","searchDateRow","differentValue","pickSingleDate","jHiddenDates","jHiddenStartDateInput","jHiddenEndDateInput","DocumentSelectRequisite","_showAdditionalButtons","isAccessDenied","_hideAdditionalButtons","referenceSelectPluginSettings","DocumentSelectDataProvider","afterSelectCallback","isNeedCallAfterSelectCallbackOnClear","_link","documentName","idIndex","idStr","_attachResult","afterSelectFunc","isNeedCallFuncOnClear","jOpenBodyIco","jOpenIco","openSelected","inputId","openSelectedBody","queryString","sortRequisite","iconName","g_ImgsByDocExt","editorIcon","signIcon","ReferenceRecordSelectRequisite","lastFocusedInputId","ReferenceSelectBase","inpParent","fakeInp","spinner_timeout","deleteItemsTimeout","refcodesCount","selectedRefCode","selectedRefIsClosed","minChars","mustMatch","showNoMatchText","cellIDIndex","cellToInput","maxPages","sendQueryOnlyOnEnter","suggestLastMode","suggestInProcess","NoMatchText","CancelText","TitleText","_hidePlaceholder","_showPlaceholder","replaceSelectedItem","deleteAllItems","onlyLast","onInputChanged","pollTimer","pollInputChanged","onImgClick","hideContainer","selectedItemsCont","contId","prependTo","moveInputToSelecetedItem","initSelecetedItems","inpVals","_ids","hiddVals","_names","createNewSelecetedItem","createNewSelecetedItemHTML","suggest","oldv","disableSendQuery","selectEmpty","moveReference","nextSelIndex","refCaptions","selectReference","selected_row","_hideAndResetContainer","move","overed","scrollToOver","overTop","childspan","callSelectEmpty","changeHiddenValue","oldHiddVal","triggerResultEvent","isOne","refDesc","inputText","dataText","delIco","spanClass","spanAttributes","dataId","lastItem","middleX","deleteOneItem","oldval","isNeedAnimate","removeFunc","deleteItems","checkVis","parentWidth","inpWidth","getTextMetric","textMetric","styles","replaced","AlwaysEmpty","callResult","showContainer","bindScrollLoad","removeData","IsPseudoReference","_makeIconAccessible","_getReferencesCount","_getToolTip","lbl","lastRequests","afterShowCallback","onSearchQueryDoneCallback","refsWithRecords","lastQuery","onSearchError","searchInOtherReferences","refsWithErrorMessage","requests","OnSuccessFunc","OnErrorFunc","isHttp","lastSelectedRefCode","updateTableVisibility","createRows","Query","Limit","formatMessage","makeTitleAndFooter","beforeRefCodes","afterRefCodes","makeDivs","codes","getHintData","hintClass","table_html","rowUid","getQueryValue","newRows","rowsByUid","setCoordForContainer","checkLongDeletion","multiLeft","multiRight","_startDeleteTime","_deleteTimeout","toBegin","toEnd","vs","clearBlurTimeout","CreateSubTaskFromListActions","CreateSubTaskFromContextMenu","newTaskID","serviceName","serviceParams","newCard","pageUrl","needRemoveModal","StandardRouteID","WorkID","WorkType","WorkflowBlock","currentDialog","ClearOpAfterError","routeId","errMessage","setStandardRouteCallback","StandardRouteId","_showWarningFunc","_isModalShown","inps","ms","isModalShown","referenceSelectInstance","selItem","UsersRefName","UserGroupsRefName","StandardRoutesRefName","RouteLastObjectsRefName","isInModal","isNeedToAddLastObject","itemToReplace","MAX_ROUTE_PARTICIPANT_COUNT","CurrentUsersCount","ShowWarningForTaskRouteException","ExpandUsersGroup","replaceGroup","yesBtn","isButtonClicked","excludeGroups","customPlaceHolder","customPlaceholder","OnAfterOpen","OnSelectedItem","TaskRouteChanged","BindRemoveLastObjectBtn","rowIco","delBtn","touchDev","ShowEncodedObjectError","defaultAttachWidth","attd","maxX","jCardTabContainer","minX","jConversation","clamp","jSavedText","dragAreaHeight","minTextAreaHeight","taskCorrespondsHeight","textAreaHeight","jTreeElements","ShowOnlyCurrentRelatedTasks","jArrow","ChangeItemExpandCollapse","jChildrenOfCurrentElement","jExpandCollapseArrow","jChildrenOfParentForCurrentElement","minHeight","ScrollTreeToCurrentJob","jCurrentCustomWork","savedTextTop","ShowTaskAttachmentsAssignRightDlg","attachmentsRights","currentCustomWorkTop","userRights","postbackAction","resVar","ProceedTaskStarting","DoActionForJob","encryption","encryptCheckBox","EncryptWithCertCheckbox","getSuitableCertificates","signingCustomWorkIds","_sendSignDataToAgent","certId","afterSignCallback","getErrorWithCustomWorkName","SignCustomWork","information","certificate","opt_silent","successMessageCode","certArr","jTokenPinCode","CertificateID","jDocsTokenPinCode","IsValid","onSignCallback","customworkElement","pinCodeValue","tokenPinCodeId","SignTask","GetEncryptedCustomWorkTree","GetDecryptedKey","jCard","encryptTaskWithCert","EncryptTaskWithCert","MainTaskID","ParseLocalCopyModifyDate","timedateSeparatorIndex","timePart","datePart","monthSeparatorIndex","daySeparatorIndex","month","year","hoursSeparatorIndex","minsSeparatorIndex","mins","secs","GetDocumentSizeAsString","sizeB","sizeMB","sizeKB","LocalCopies","hasOnlyOneCopy","documentVersion","localCopyModifyDate","EditDate","documentModifyDate","LastModifiedText","Size","4","GetFileNameFromDoc","ExportCert","certid","registerDisableShowUnreadControlForMobile","kindsToDisable","noKey","disableShowUnreadControl","jShowUnreadControl","getShowUnreadControl","showUnreadPick","jMainContainerInputs","initialSerializedValues","RegisterDisableShowUnreadControlForMobile","DisableShowUnreadControl","MultiSelectModalWindow","rsInstance","dataObject","withGroupColumn","selectedRecordsTable","filterSpinner","groupsListMessageBox","navigationKeyCodes","lastFilterValue","defaultMarkedRecordIconClass","treeUrl","treeModeGroupIconClass","treeModeMarkedGroupIconClass","favoriteUserGroupIconClass","recordsListContextMenu","bindWindowOnInput","_filterTimeout","_isNotAllRecordsShown","bindThis","convNewValues","convertRefSelectItemToThis","convertRefSelectItemIdToThisId","requestTree","sendRequests","_lastRequests","fillAvailableGroups","sendRequest","isLoaded","MULTI_SELECT_RECORD_COUNT","onSuccessGetData","_row$id$split","onErrorGetData","findSelectedItemById","showModalWindow","buildHtml","hideContextMenu","_disableRefSelectInputIfAndroid","fillItemsList","fillSelectedItemsTable","_InitEvents","_adjustModalWindowIfSmallScreen","groupname","buildSelectedRecords","buildSelectedItemsTable","buildSelectedItemsTableRow","buildLeftArea","_BuildPlaceholderString","filterDisabledAttr","hideGroupsListMessage","groupNames","buildItemsList","buildGroupsList","_updateRecordsList","showInfoInGroupsList","_isFilterEmpty","MarkSelectedRecordsInList","buildSingleGroup","g_group","recordName","defaultRecordIconClass","showGroupsListMessage","Filtrator","fillTree","_InitRecordsListEvents","msgBox","_InitInternalObjects","_InitScrollForTouchScreens","maxScrollY","recordsListScroll","_InitSelectedRecordsEvents","_InitLeftAreaEvents","UnhoverItem","_InitItemsListContextMenu","_initHintEvents","pos","ShowHideRecordsGroup","contextMenuBtn","ShowContextMenuTablet","sScrollX","_InitFilterInputEvents","_KeyPressEventHandler","RightArrowKeyPress","LeftArrowKeyPress","DeleteItemFromSelection","DeleteKeyPress","HideRecordsGroup","GetNextItemToSelect","ScrollListToHoveredItem","NextItem","findSiblingOrParent","MoveCursor","getItemsListHeight","scrollListToHoveredItem","abs","ShowRecordsGroup","groupTitle","gr","grEl","_CheckFilterValue","groupCode","_addItemCollectionToSelectedTable","MakeFilterRequest","changedValue","whiteSpaceCheck","MarkRecord","checkEmptyTable","markedIconClass","emptyRow","favoritesItem","c_CardFormCmd_AddDetailItem","c_CardFormCmd_DeleteDetailItem","startMonitoringTime","CardForm","someWait","CardFormInitMonitor","ShowAll","copyLinksToClientBuffer","textHtml","textPlain","copy","text/plain","copyLinksInSessionStorage","copyTextToClipboard","showTokenPinControls","withAnimation","hideTokenPinControls","getSelectedVersionNumber","getIsApproving","getIsSubstitute","id_base64","certInfo","plugin_version","plugin_version_base64","getSelectedUser","setAllowedUserCodes","signType","isMultiple","verData","opt_verNumber","signTypeVal","vis","app","IsApprovingSignType","verSelect","certData","addInfo","getSubstitutedUserCodes","pleaseWaitMessage","checkConditions","userID","canApprovingSign","CanApprovingSign","signatures","SignsInfo","curCert","isApproving","getSelectedCertificate","isSubstitute","docKind","curUserID","curUserName","selectedSubstituteUser","signErr","SignatureType","ByUserID","disableOk","signatureIcon","signIco","updateSignIco","isSignCustomwork","ObjType","runWithCheckReadByUser","confirmed","objTypeName","objtype","objLink","getErrorWithDocName","confirmDialog","okAction","UnlockDocIfNeed","saveSignCustomworkInfo","edocVersion","EdocId","_topSpinner","_pleaseWaitText","_pleaseWaitCounter","isControlsInited","jModalWnd","disableFunction","SignEDoc_InitControls","taskIds","taskNames","jobNames","certSelect","curUserCodes","users","jVersionSelect","saveDialogParams","opt_customWorkSignResults","signMultiple","signResults","_$","selectedVersion","signVersions","OnlyActual","docsWithManyVersions","askFinished","buildNextDialog","CheckIsSearchNotEmpty","emptyCriteriaWarningMessage","isAnyCriteriaFilled","criteriaContainer","criterionInputs","criterionInput","jCriterionInput","BindOnEnterToSearchCrit","ClearSearch","_restoreSearchDefaultValues","jSearch","ChangePositionSearchButtons","LoadSearch","JobSearch","SearchEDoc","TaskSearch","GeneralSearch","heightNew","jsearchCriterias","jsearchCriteriasDiv","searchCriteriasDivHeight","searchCriteriasHeight","margin-right","padding-right","-ms-overflow-style","overflow-x","searchId","ExecuteSearch","showLastObjects","executeLastActedObjectsSearch","actedByRequisiteId","actedDateRequisiteId","sortBy","jRequisite","REFERENCE_NAME","lastWeek"],"mappings":"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","file":"all.js","sourcesContent":["/**\r\n* Π’ΠΎΠ·Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ строку, ΡΠΎΠ±Ρ€Π°Π½Π½ΡƒΡŽ ΠΈΠ· строки Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½Ρ‹Ρ… Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ².\r\n* ЗамСняСт ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ элСмСнт Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π² строкС, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ {0}, {1} … {key}, тСкстовым эквивалСнтным Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ.\r\n* НС ΠΈΠΌΠ΅Π΅Ρ‚ возмоТности ΡΠΊΡ€Π°Π½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ символы {}.\r\n*\r\n* @global\r\n* @function format\r\n* @param {String} text Π‘Ρ‚Ρ€ΠΎΠΊΠ°, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ\r\n* @param {Params} ВСкстовыС эквивалСнтныС значСния для Π·Π°ΠΌΠ΅Π½Ρ‹\r\n* @return {string} Π‘Ρ‚Ρ€ΠΎΠΊΠ°, собранная ΠΈΠ· строки Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½Ρ‹Ρ… Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ².\r\n*\r\n* @example\r\n* a = \"Ρ†Π²Π΅Ρ‚ΠΎΠΊ\"\r\n* b = \"ΠŸΠΎΠ΄ΡΠΎΠ»Π½ΡƒΡ…\";\r\n* var result = format('{1} это {0}', a,b);\r\n* //Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ появится строка Β«ΠŸΠΎΠ΄ΡΠΎΠ»Π½ΡƒΡ… – это Ρ†Π²Π΅Ρ‚ΠΎΠΊΒ»\r\n*/\r\nfunction format(str, params) {\r\n if (!str || arguments.length < 2) return str;\r\n var _params = params;\r\n if (arguments.length > 2 || typeof _params != \"object\")\r\n _params = Array.prototype.slice.call(arguments, 1);\r\n return str.replace(/\\{([^{}]+)\\}/g, function (s, key) {\r\n if (key in _params)\r\n return _params[key];\r\n else\r\n return s;\r\n });\r\n}\r\n//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n/**\r\n* ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Ρ‚Ρƒ Π² строку с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ.\r\n*\r\n* @global\r\n* @function formatDate\r\n* @param {Date} date Π”Π°Ρ‚Π°.\r\n* @param {String} format Π€ΠΎΡ€ΠΌΠ°Ρ‚ Π΄Π°Ρ‚Ρ‹.\r\n* @return {string} ΠžΡ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Π°Ρ строка Π΄Π°Ρ‚Ρ‹.\r\n*/\r\nfunction formatDate(date, format) {\r\n if (!$.datepicker) return '';\r\n var df = format || $.datepicker.regional[currentCultureName].dateFormat;\r\n return $.datepicker.formatDate(df, date);\r\n}\r\n//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n/**\r\n* ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ Π΄Π°Ρ‚Ρƒ ΠΈ врСмя Π² строку с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ.\r\n*\r\n* @global\r\n* @function formatDateTime\r\n* @param {Date} time Π”Π°Ρ‚Π° ΠΈ врСмя.\r\n* @param {String} format Π€ΠΎΡ€ΠΌΠ°Ρ‚ Π΄Π°Ρ‚Ρ‹ ΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ.\r\n* @param {boolean} [removeZeroTime = true] True – Ссли Π½ΡƒΠ»Π΅Π²ΠΎΠ΅ врСмя Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚Π±Ρ€Π°ΡΡ‹Π²Π°Ρ‚ΡŒ, ΠΈΠ½Π°Ρ‡Π΅ False.\r\n* @return {string} ΠžΡ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Π°Ρ строка.\r\n*/\r\nfunction formatDateTime(time, format, removeZeroTime = true) {\r\n if (!$.datepicker || !$.timepicker) return '';\r\n if (time === null) return '';\r\n var df, tf;\r\n\r\n if (format) {\r\n var formatParts = format.split(' ');\r\n df = formatParts[0];\r\n if (formatParts.length > 1) {\r\n tf = formatParts[1];\r\n } else {\r\n tf = '';\r\n }\r\n } else {\r\n df = $.datepicker.regional[currentCultureName].dateFormat;\r\n tf = $.timepicker.regional[currentCultureName].timeFormat;\r\n }\r\n\r\n var ampm = tf.indexOf('TT') > -1;\r\n var tmptime;\r\n var hours = time.getHours();\r\n var minutes = time.getMinutes();\r\n var seconds = time.getSeconds();\r\n\r\n // Если врСмя 00:00:00, Ρ‚ΠΎ отбрасываСм Π΅Π³ΠΎ\r\n if (!removeZeroTime || hours > 0 || minutes > 0 || seconds > 0) {\r\n if (ampm) {\r\n var hour12 = hours % 12;\r\n if (hour12 === 0)\r\n hour12 = 12;\r\n tmptime = tf\r\n .replace(/hh/g, leadzero(hour12))\r\n .replace(/h/g, hour12)\r\n .replace(/mm/g, leadzero(minutes))\r\n .replace(/m/g, minutes)\r\n .replace(/ss/g, leadzero(seconds))\r\n .replace(/s/g, seconds)\r\n .replace(/TT/g, (hours >= 12 ? 'PM' : 'AM'));\r\n } else {\r\n tmptime = tf\r\n .replace(/hh/g, leadzero(hours))\r\n .replace(/h/g, hours)\r\n .replace(/mm/g, leadzero(minutes))\r\n .replace(/m/g, minutes)\r\n .replace(/ss/g, leadzero(seconds))\r\n .replace(/s/g, seconds);\r\n }\r\n return formatDate(time, df) + ' ' + tmptime;\r\n } else {\r\n return formatDate(time, df)\r\n }\r\n}\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ строку Π² Π΄Π°Ρ‚Ρƒ ΠΈ врСмя с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ.\r\n *\r\n * @global\r\n * @function parseDateTime\r\n * @param {string} date Π‘Ρ‚Ρ€ΠΎΠΊΠ° Π΄Π°Ρ‚Ρ‹ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ Π”Π”.ММ.Π“Π“Π“Π“ Π§Π§:ММ\r\n * @return {Date} ΠžΡ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Π°Ρ строка.\r\n *\r\n * @example\r\n * parseDateTime('1')\r\n * parseDateTime('12.11.2012')\r\n * parseDateTime('12.11.12 14:21')\r\n */\r\n var parseDateTime = window.ParseDateTime = function (inp) {\r\n\r\n var val;\r\n var d;\r\n var m;\r\n var y;\r\n var tmpDate;\r\n var daysInMonth;\r\n var i;\r\n var separator;\r\n var format;\r\n var russianLocale = 'ru-RU';\r\n var enLocale = 'en-US';\r\n var cultureName;\r\n\r\n if ($.type(inp) === \"string\") {\r\n val = $.trim(inp);\r\n } else {\r\n val = $.trim(inp.val());\r\n }\r\n if (!val) return null;\r\n\r\n if (val.indexOf('/Date(') === 0) {\r\n return new Date(parseInt(val.replace(\"/Date(\", \"\").replace(\")/\", \"\"), 10));\r\n }\r\n\r\n cultureName = currentCultureName;\r\n\r\n if ($.type(inp) === \"string\") {\r\n if (inp.indexOf('.') !== -1) {\r\n cultureName = russianLocale;\r\n }\r\n\r\n if (inp.indexOf('/') !== -1) {\r\n cultureName = enLocale;\r\n }\r\n }\r\n\r\n var culture = $.datepicker.regional[cultureName];\r\n var separator = culture.dateseparator;\r\n var format = culture.dateFormat.split(separator);\r\n var timeFormat = $.timepicker.regional[cultureName].timeFormat.split(\":\");\r\n\r\n var today = new Date();\r\n var dmy = val.split(separator);\r\n\r\n var timeFormat;\r\n var time = [];\r\n\r\n for (i = 0; i < format.length; i++) {\r\n format[i] = $.trim(format[i]).substring(0, 1);\r\n }\r\n\r\n // Если Π²Π²Π΅Π»ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½ΠΎ число, Ρ‚ΠΎ считаСм, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ΅Π½ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠ΅ мСсяц ΠΈ Π³ΠΎΠ΄ (врСмя 00:00:00).\r\n if ((dmy.length === 1 && !!dmy[0] && parseInt(dmy[0], 10) > 0 && parseInt(dmy[0], 10) <= 31) || (dmy.length === 2 && !dmy[1])) {\r\n d = val;\r\n m = today.getMonth();\r\n y = today.getFullYear();\r\n tmpDate = new Date(y, m + 1, 0);\r\n daysInMonth = parseInt(tmpDate.getDate(), 10);\r\n\r\n if (daysInMonth >= d && d > 0) {\r\n return (new Date(y, m, d));\r\n } else {\r\n return null;\r\n }\r\n }\r\n\r\n // Если Π²Π²Π΅Π»ΠΈ Π΄Π²Π° числа, Ρ‚ΠΎ считаСм, Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ΅Π½ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ Π³ΠΎΠ΄ (врСмя 00:00:00).\r\n if ((dmy.length === 2 && !!dmy[1]) || (dmy.length === 3 && !!dmy[1] && !dmy[2])) {\r\n d = dmy[format.indexOf(\"d\")];\r\n m = parseInt(dmy[format.indexOf(\"m\")], 10) - 1;\r\n y = today.getFullYear();\r\n tmpDate = new Date(y, m + 1, 0);\r\n daysInMonth = parseInt(tmpDate.getDate(), 10);\r\n\r\n if (daysInMonth >= d && d > 0 && m <= 11 && m >= 0)\r\n return (new Date(y, m, d));\r\n else\r\n return null;\r\n }\r\n\r\n // Если Π²Π²Π΅Π»ΠΈ 3 числа ΠΈ срСди Π½ΠΈΡ… Π½Π΅Ρ‚ пустой строки\r\n if (dmy.length == 3 && dmy.indexOf(\"\") == -1) {\r\n d = dmy[format.indexOf(\"d\")];\r\n m = parseInt(dmy[format.indexOf(\"m\")], 10) - 1;\r\n y = parseInt(dmy[format.indexOf(\"y\")], 10);\r\n\r\n // Если Π³ΠΎΠ΄ 2-Ρ…Π·Π½Π°Ρ‡ΠΈΠ½ΠΎΠ΅ число ΠΈ большС 60, это это ΠΏΡ€ΠΎΡˆΠ»Ρ‹ΠΉ Π²Π΅ΠΊ, ΠΈΠ½Π°Ρ‡Π΅ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ.\r\n if (y < 100) {\r\n if (y > 60) y += 1900; else y += 2000;\r\n }\r\n\r\n // Для прСдотвращСния ошибки \"ΠŸΠ΅Ρ€Π΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ SqlDateTime. Π”ΠΎΠ»ΠΆΠ½ΠΎ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π² ΠΏΡ€Π΅Π΄Π΅Π»Π°Ρ… ΠΎΡ‚ 1/1/1753 12:00:00 AM ΠΈ 12/31/9999 11:59:59 PM.\".\r\n if (y < 1800) {\r\n y = 1800;\r\n }\r\n\r\n tmpDate = new Date(y, m + 1, 0);\r\n daysInMonth = parseInt(tmpDate.getDate(), 10);\r\n\r\n time = null;\r\n\r\n // Если Π·Π°Π΄Π°Π½ΠΎ врСмя Π»ΠΈΠ±ΠΎ врСмя+AMPM (для английского Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π°)\r\n var tmpTime = $.trim(val).split(\" \");\r\n if (tmpTime.length > 1 && tmpTime.indexOf(\"\") == -1) {\r\n // Π£Π΄Π°Π»ΠΈΠΌ Π΄Π°Ρ‚Ρƒ ΠΈΠ· массива\r\n tmpDate = tmpTime.splice(0, 1);\r\n time = tmpTime[0];\r\n\r\n\r\n for (var i = 0; i < timeFormat.length; i++) {\r\n timeFormat[i] = $.trim(timeFormat[i]).substring(0, 1);\r\n }\r\n\r\n time = ParseTime(tmpTime, timeFormat);\r\n }\r\n\r\n // Число Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Π½Π΅ большС, Ρ‡Π΅ΠΌ Π² ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ мСсяцС, Π° мСсяц - Π½Π΅ большС 11 (0 - ΡΠ½Π²Π°Ρ€ΡŒ)\r\n if (daysInMonth >= d && d > 0 && m <= 11 && m >= 0) {\r\n if (time) {\r\n return (new Date(y, m, d, time[0], time[1], time[2]));\r\n }\r\n else {\r\n return (new Date(y, m, d));\r\n }\r\n }\r\n else return null;\r\n }\r\n\r\n return null;\r\n };\r\n\r\n /**\r\n * ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ строку Π² Π΄Π°Ρ‚Ρƒ с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ.\r\n *\r\n * @global\r\n * @function parseDate\r\n * @param {String} date Π‘Ρ‚Ρ€ΠΎΠΊΠ° Π΄Π°Ρ‚Ρ‹ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ Π”Π”.ММ.Π“Π“Π“Π“\r\n * @return {string} ΠžΡ‚Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½Π°Ρ строка.\r\n */\r\n function parseDate(date) {\r\n return window.ParseDateTime(date);\r\n }\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ…Π΅Ρˆ (Π½Π° самом Π΄Π΅Π»Π΅ Π½Π΅Ρ‚) ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ строки.\r\n *\r\n * @global\r\n * @function getHash\r\n * @param {string} [str] Π‘Ρ‚Ρ€ΠΎΠΊΠ°, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Ρ…ΡΡˆ.\r\n * @return {number} Π₯Сш строки.\r\n *\r\n * @example\r\n * getHash('Π°Π·Π±ΡƒΠΊΠ°') === 4302529\r\n * getHash('Π°Π·Π±ΡƒΠΊΠΈ') === 4302537\r\n */\r\n function getHash(str = '') {\r\n const m = 12345678;\r\n let h = 0;\r\n for (let i = 0; i < str.length; i++) {\r\n h = (h * 255 + str.charCodeAt(i)) % m;\r\n }\r\n return h;\r\n }\r\n\r\n /**\r\n * ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Ρ‹Π²Π°Π΅Ρ‚ Ρ‚ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° Π² строковоС прСдставлСниС\r\n * @global\r\n * @function requisiteTypeToString\r\n * @param {integer} reqType Π¦Π΅Π»ΠΎΠ΅ прСдставлСниС Ρ‚ΠΈΠΏΠ°\r\n * @return {string} Имя Ρ‚ΠΈΠΏΠ° Π΄Π°Π½Π½Ρ‹Ρ…, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ \"integer\".\r\n * @since 5.2.0.1300\r\n */\r\n window.requisiteTypeToString = function (reqType) {\r\n switch ('' + reqType) {\r\n case '1':\r\n return 'date';\r\n case '2':\r\n return 'float';\r\n case '3':\r\n return 'pick';\r\n case '4':\r\n return 'string';\r\n case '5':\r\n return 'reference';\r\n case '6':\r\n return 'text';\r\n case '7':\r\n return 'integer';\r\n case '8':\r\n return 'largeinteger';\r\n case '9':\r\n return 'document';\r\n case '11':\r\n return 'objectList';\r\n }\r\n };\r\n\r\n window.requisiteTypeFromString = function (reqType) {\r\n switch (reqType) {\r\n case 'date':\r\n return 1;\r\n case 'float':\r\n return 2;\r\n case 'pick':\r\n return 3;\r\n case 'string':\r\n return 4;\r\n case 'reference':\r\n return 5;\r\n case 'text':\r\n return 6;\r\n case 'integer':\r\n return 7;\r\n case 'largeinteger':\r\n return 8;\r\n case 'document':\r\n return 9;\r\n case 'objectList':\r\n return 11;\r\n }\r\n };\r\n\r\n /**\r\n * ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΈΠΏ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π² строку.\r\n *\r\n * @global\r\n * @function objectTypeToString\r\n * @param {OBJECT_TYPE} type Π’ΠΈΠΏ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°\r\n * @return {String} ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½Π½Π°Ρ строка. НапримСр, ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° Β«Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊΒ» Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ Π² строку 'REF'.\r\n * @since 5.0.0.7200\r\n */\r\n function objectTypeToString(objectType) {\r\n switch (objectType) {\r\n case OBJECT_TYPE.EDOCUMENT:\r\n return \"EDOC\";\r\n case OBJECT_TYPE.FOLDER:\r\n return \"FOL\";\r\n case OBJECT_TYPE.TASK:\r\n return \"TASK\";\r\n case OBJECT_TYPE.JOB:\r\n return \"JOB\";\r\n case OBJECT_TYPE.REFERENCE_RECORD:\r\n return \"REF\";\r\n case OBJECT_TYPE.ANY:\r\n return \"ANY\";\r\n case OBJECT_TYPE.UNKNOWN:\r\n return \"UNKNOWN\";\r\n default:\r\n WA.raise('UNKNOWN_TYPE ' + objectType);\r\n break;\r\n }\r\n return null;\r\n }\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠ΅Ρ€Π΅Π²ΠΎΠ΄ строки Π² Ρ‚Ρ€Π΅Π±ΡƒΠ΅ΠΌΡ‹ΠΉ Ρ‚ΠΈΠΏ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°\r\n *\r\n * @global\r\n * @function objectKindToObjectType\r\n * @param {OBJECT_TYPE} type Π’ΠΈΠΏ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°\r\n * @return {OBJECT_TYPE} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° OBJECT_TYPE.\r\n * @since 5.0.0.7200\r\n */\r\n function objectKindToObjectType(objectKind) {\r\n if (!objectKind) return null;\r\n switch (objectKind.toUpperCase()) {\r\n case \"EDOC\":\r\n return OBJECT_TYPE.EDOCUMENT;\r\n case \"FOL\":\r\n return OBJECT_TYPE.FOLDER;\r\n case \"TASK\":\r\n return OBJECT_TYPE.TASK;\r\n case \"JOB\":\r\n return OBJECT_TYPE.JOB;\r\n case \"REF\":\r\n return OBJECT_TYPE.REFERENCE_RECORD;\r\n case \"ANY\":\r\n return OBJECT_TYPE.ANY;\r\n case \"UNKNOWN\":\r\n return OBJECT_TYPE.UNKNOWN;\r\n default:\r\n WA.raise('UNKNOWN_TYPE');\r\n break;\r\n }\r\n return null;\r\n }\r\n\r\n /**\r\n * ΠžΠ±Ρ€Π΅Π·ΠΊΠ° Π΄Π»ΠΈΠ½Π½Ρ‹Ρ… строк\r\n * @method String.trunc\r\n * @param {length} допустимая Π΄Π»ΠΈΠ½Π°\r\n * @since 5.0.0.7300\r\n */\r\n String.prototype.trunc = function (n) {\r\n if (!(\"\" + this)) return '';\r\n if (this.substr) {\r\n if (n < 4) return this[0] + \"...\";\r\n return this.substr(0, n - 3) + (this.length >= n ? '...' : '');\r\n }\r\n return \"\" + this;\r\n };\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠžΠ±Ρ€Π΅Π·ΠΊΠ° Π΄Π»ΠΈΠ½Π½Ρ‹Ρ… строк\r\n * @method String.trunc\r\n * @param {length} допустимая Π΄Π»ΠΈΠ½Π°\r\n * @since 5.0.0.7300\r\n */\r\n String.prototype.switchLayout = function (string) {\r\n var map = {\r\n 'q': 'ΠΉ',\r\n 'w': 'Ρ†',\r\n 'e': 'Ρƒ',\r\n 'r': 'ΠΊ',\r\n 't': 'Π΅',\r\n 'y': 'Π½',\r\n 'u': 'Π³',\r\n 'i': 'ш',\r\n 'o': 'Ρ‰',\r\n 'p': 'Π·',\r\n '[': 'Ρ…',\r\n ']': 'ъ',\r\n 'a': 'Ρ„',\r\n 's': 'Ρ‹',\r\n 'd': 'Π²',\r\n 'f': 'Π°',\r\n 'g': 'ΠΏ',\r\n 'h': 'Ρ€',\r\n 'j': 'ΠΎ',\r\n 'k': 'Π»',\r\n 'l': 'Π΄',\r\n ';': 'ΠΆ',\r\n '\\'': 'э',\r\n 'z': 'я',\r\n 'x': 'Ρ‡',\r\n 'c': 'с',\r\n 'v': 'ΠΌ',\r\n 'b': 'ΠΈ',\r\n 'n': 'Ρ‚',\r\n 'm': 'ь',\r\n ',': 'Π±',\r\n '.': 'ю',\r\n '\\/': '.',\r\n '\\`': 'Ρ‘'\r\n }\r\n //TODO http://underscorejs.org/#invert для RU-EN\r\n return _(this).map(function (ch) {\r\n return map[ch]\r\n }).join('');\r\n };\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π—Π°ΠΌΠ΅Π½Π° всСх подстрок Π² строкС\r\n * @method String.replaceAll\r\n * @param {needle} искомая строка\r\n * @param {replacement} Π·Π°ΠΌΠ΅Π½Π°\r\n * @since 5.0.0.7300\r\n */\r\n String.prototype.replaceAll = function (needle, replacement) {\r\n if (this.replace) return this.replace(new RegExp(needle, 'g'), replacement || '');\r\n else return this;\r\n };\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π­ΠΊΡ€Π°Π½ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ HTML\r\n * @method String.escapeHtml\r\n * @since 5.0.0.7300\r\n */\r\n String.prototype.escapeHtml = function () {\r\n var entityMap = {\r\n \"&\": \"&\",\r\n \"<\": \"<\",\r\n \">\": \">\",\r\n '\"': '"',\r\n \"'\": ''',\r\n \"/\": '/',\r\n \"^\": '^',\r\n };\r\n\r\n return String(this).replace(/[&<>\"'\\/^]/g, (s) => {\r\n return entityMap[s];\r\n });\r\n\r\n }; \r\n\r\n /**\r\n * ДСэкранированиС HTML\r\n * @method String.unescapeHtml\r\n * @since 5.7.1.9000\r\n */\r\n String.prototype.unescapeHtml = function () {\r\n var entityMap = {\r\n '&': '&',\r\n '<': '<',\r\n '>': '>',\r\n '"': '\"',\r\n ''': \"'\",\r\n '/': '/',\r\n '^': '^',\r\n };\r\n\r\n return String(this).replace(/&(amp|lt|gt|quot|#39|#x2F|#94);/g, (s) => {\r\n return entityMap[s];\r\n });\r\n\r\n };\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ HTML Ρ‚Π΅Π³ΠΎΠ² ΠΈΠ· строки\r\n * @method String.stripHtml\r\n * @since 5.1.0.1505\r\n */\r\n String.prototype.stripHtml = function () {\r\n if (this.replace) return this.replace(/<(?:.|\\n)*?>/gm, '');\r\n return this;\r\n };\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n\r\n /**\r\n * ΠŸΠ΅Ρ€Π΅Π²ΠΎΠ΄ пСрСносов строк Π² HTML Ρ‚Π΅Π³ΠΈ br\r\n * @method String.newLinesToBR\r\n * @deprecated\r\n * @since 5.0.0.7300\r\n */\r\n String.prototype.newLinesToBR = function () {\r\n if (this.replace) return this.replace(/\\\\n/g, \"
\");\r\n else return this;\r\n };\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * УадлСяСт всС символы ΠΈ ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ ΠΈΠ· строки, ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π±ΡƒΠΊΠ²Ρ‹ ΠΈ числа\r\n * @method String.makeSafeString\r\n * @param {length} Допустимая Π΄Π»ΠΈΠ½Π°\r\n * @since 5.2.0.1303\r\n */\r\n String.prototype.makeSafeString = function () {\r\n if (this.replace) return this.replace(/[^A-ZА-Π―0-9]+/ig, \"_\");\r\n else return this;\r\n };\r\n\r\n\r\n /**\r\n * Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Π²Π΅Π΄ΡƒΡ‰ΠΈΡ… ΠΈ ΠΊΠΎΠ½Π΅Ρ‡Π½Ρ‹Ρ… ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ².\r\n * @method String.trim\r\n * @since 5.0.0.7300\r\n */\r\n if (typeof String.prototype.trim !== 'function') {\r\n String.prototype.trim = function () {\r\n return this.replace(/^\\s+|\\s+$/g, '');\r\n };\r\n }\r\n\r\n /**\r\n * ΠœΠ΅Ρ‚ΠΎΠ΄ endsWith() опрСдСляСт, заканчиваСтся Π»ΠΈ строка символами Π΄Ρ€ΡƒΠ³ΠΎΠΉ строки, возвращая, соотвСствСнно, true ΠΈΠ»ΠΈ false.\r\n * @method String.endsWith\r\n * @since 5.5.0.9000\r\n */\r\n if (!String.prototype.endsWith) {\r\n Object.defineProperty(String.prototype, 'endsWith', {\r\n value: function (searchString, position) {\r\n var subjectString = this.toString();\r\n if (position === undefined || position > subjectString.length) {\r\n position = subjectString.length;\r\n }\r\n position -= searchString.length;\r\n var lastIndex = subjectString.indexOf(searchString, position);\r\n return lastIndex !== -1 && lastIndex === position;\r\n }\r\n });\r\n }\r\n\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ строки Π±ΠΈΠ»Π΄Π΅Ρ€Π° ΠΊ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠΌΡƒ Π²ΠΈΠ΄Ρƒ\r\n * @method String.fromISBuilderToNormal\r\n * @since 5.0.0.7300\r\n */\r\n String.prototype.fromISBuilderToNormal = function () {\r\n if (!this.replace) return this;\r\n var str = this;\r\n var isInBrackets = false;\r\n var newStr = '';\r\n for (var i = 0; i < str.length; i++) {\r\n if (str[i] == '|' && !isInBrackets) {\r\n newStr = str.substring(0, i) + ' ' + str.substring(i + 1, str.length);\r\n }\r\n else if (str[i] === '&' && (i + 5) < str.length) {\r\n if (str[i + 1] == 'q' && str[i + 2] == 'u' && str[i + 3] == 'o' && str[i + 4] == 't' && str[i + 5] == ';') {\r\n isInBrackets = !isInBrackets;\r\n i += 5;\r\n }\r\n }\r\n }\r\n // ' Ρ‹Π²Π°Π»ΠΏ \\n Π²Π°Π²Π° \\n новая строка'.replace(/\\n/g, ' ')\r\n if (newStr === '') return str.replace(/\\^/g, ' ').replace(/\\n/g, '
');\r\n return newStr.replace(/\\^/g, ' ').replace(/\\n/g, '
');\r\n };\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ копию Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.\r\n *\r\n * @function cloneFunction\r\n * @param {Function} func Ѐункция, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ копию.\r\n * @since 5.0.0.7300\r\n */\r\n var cloneFunction = function (func) {\r\n var reFn = /^function\\s*([^\\s(]*)\\s*\\(([^)]*)\\)[^{]*\\{([^}]*)\\}$/gi\r\n , s = func.toString().replace(/^\\s|\\s$/g, '')\r\n , m = reFn.exec(s);\r\n if (!m || !m.length) return null;\r\n var conf = {\r\n name: m[1] || '',\r\n args: m[2].replace(/\\s+/g, '').split(','),\r\n body: m[3] || ''\r\n };\r\n\r\n var clone = Function.prototype.constructor.apply(this, [].concat(conf.args, conf.body));\r\n for (var key in func) {\r\n if (func.hasOwnProperty(key)) {\r\n clone[key] = func[key];\r\n }\r\n }\r\n return clone;\r\n };\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ строку Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΈΠ· Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… систСмы.\r\n *\r\n * @method getISBString\r\n * @param {String} code Код строки Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ\r\n * @param {boolean} [opt_is_async] ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ ассинхронного получСния Π΄Π°Π½Π½Ρ‹Ρ…\r\n * @since 5.0.0.7300\r\n */\r\n function getISBString(msg, opt_is_async) {\r\n const serviceUrl = 'api/Localization.asmx/GetSystemString'; \r\n let data = { 'stringCode': msg.replace(\"\\'\", \"\\\\'\") };\r\n\r\n opt_is_async = !!opt_is_async ? opt_is_async : false;\r\n if (opt_is_async) {\r\n return WA.SRV.call(serviceUrl, data);\r\n } else {\r\n let result = '';\r\n WA.SRV.callSync(serviceUrl, data).done(function (res) {\r\n result = res;\r\n });\r\n return result;\r\n }\r\n }\r\n\r\n /**\r\n * Π“Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ ΡƒΠ½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ID\r\n * @function generateUniqueID\r\n * @global\r\n * @param {Integer} len Π΄Π»ΠΈΠ½Π° Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠΉ строки\r\n * @since 5.2.0.1100\r\n */\r\n function generateUniqueID(len, radix) {\r\n var CHARS = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz'.split('');\r\n var chars = CHARS, uuid = [], i;\r\n radix = radix || chars.length;\r\n\r\n if (len) {\r\n // Compact form\r\n for (i = 0; i < len; i++) uuid[i] = chars[0 | Math.random() * radix];\r\n } else {\r\n // rfc4122, version 4 form\r\n var r;\r\n\r\n // rfc4122 requires these characters\r\n uuid[8] = uuid[13] = uuid[18] = uuid[23] = '-';\r\n uuid[14] = '4';\r\n\r\n // Fill in random data. At i==19 set the high bits of clock sequence as\r\n // per rfc4122, sec. 4.1.5\r\n for (i = 0; i < 36; i++) {\r\n if (!uuid[i]) {\r\n r = 0 | Math.random() * 16;\r\n uuid[i] = chars[(i == 19) ? (r & 0x3) | 0x8 : r];\r\n }\r\n }\r\n }\r\n\r\n return uuid.join('');\r\n }\r\n\r\n /**\r\n * ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Ρ‹Π²Π°Π΅Ρ‚ строку с Π΄Π°Ρ‚ΠΎΠΉ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° ISO Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° Date.\r\n * @method Date.fromISO\r\n * @param {String} s Π΄Π°Ρ‚Π° Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ISO\r\n * @since 5.2.0.1100\r\n */\r\n (function () {\r\n var D = new Date('2011-06-02T09:34:29+02:00');\r\n if (!D || +D !== 1307000069000) {\r\n Date.fromISO = function (s) {\r\n var day, tz,\r\n rx = /^(\\d{4}\\-\\d\\d\\-\\d\\d([tT ][\\d:\\.]*)?)([zZ]|([+\\-])(\\d\\d):(\\d\\d))?$/,\r\n p = rx.exec(s) || [];\r\n if (p[1]) {\r\n day = p[1].split(/\\D/);\r\n for (var i = 0, L = day.length; i < L; i++) {\r\n day[i] = parseInt(day[i], 10) || 0;\r\n };\r\n day[1] -= 1;\r\n day = new Date(Date.UTC.apply(Date, day));\r\n if (!day.getDate()) return NaN;\r\n if (p[5]) {\r\n tz = (parseInt(p[5], 10) * 60);\r\n if (p[6]) tz += parseInt(p[6], 10);\r\n if (p[4] == '+') tz *= -1;\r\n if (tz) day.setUTCMinutes(day.getUTCMinutes() + tz);\r\n }\r\n return day;\r\n }\r\n return NaN;\r\n }\r\n }\r\n else {\r\n Date.fromISO = function (s) {\r\n return new Date(s);\r\n }\r\n }\r\n })();\r\n\r\n /**\r\n * Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ пСрСзаписи Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ запуска Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.\r\n * @inner\r\n */\r\n Function.prototype.override = function (func) {\r\n var superFunction = this;\r\n return function () {\r\n this.superFunction = superFunction;\r\n return func.apply(this, arguments);\r\n };\r\n };\r\n\r\n /**\r\n * Π‘ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ всС Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡˆΠΈΠ΅ мСнюшки (Π²Ρ‹Π±ΠΎΡ€ ΠΈΠ· справочника, pick, мноТСствСнный Π²Ρ‹Π±ΠΎΡ€ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π° ΠΏΠΎ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°ΠΌ).\r\n * @inner\r\n */\r\n function hideAllPopups() {\r\n // Π‘ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ Π²Ρ‹Π±ΠΎΡ€Ρ‹ ΠΈΠ· справочника.\r\n $('.rs_container').hide();\r\n // Π‘ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ мноТСствСнный Π²Ρ‹Π±ΠΎΡ€ для ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Π³Ρ€ΠΈΠ΄Π°.\r\n $('.selectListPopup').hide();\r\n }\r\n\r\n // Π˜ΡΠΏΡ€Π°Π²Π»ΡΠ΅Ρ‚ косяк IE - послС манипуляций с DOM, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π΅ΡΡ‚ΡŒ svg>use, ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠΈ Π½Π΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ.\r\n function fixSvg(el) {\r\n if (WA.ENV.browser.name !== 'IE') return;\r\n\r\n var xmlns = \"http://www.w3.org/2000/svg\";\r\n var xlink = 'http://www.w3.org/1999/xlink';\r\n\r\n var replacingSvgs = [];\r\n var svgs = el.getElementsByTagName('svg'); // Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ \"ΠΆΠΈΠ²Ρ‹Π΅\", поэтому Π² этой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ нСмСняСтся DOM (Π½Π΅ дСлаСтся insertBefore ΠΈ removeChild)\r\n for (var i = 0; i < svgs.length; i++) {\r\n var prevSvg = svgs[i];\r\n var svgUse = prevSvg.firstChild;\r\n var svgName = svgUse.getAttribute('xlink:href') || svgUse.getAttribute('href');\r\n\r\n var newSvg = document.createElementNS(xmlns, \"svg\");\r\n newSvg.setAttribute('class', prevSvg.className.baseVal);\r\n var newSvgUse = document.createElementNS(xmlns, 'use');\r\n newSvgUse.setAttributeNS(xlink, 'href', svgName);\r\n newSvg.appendChild(newSvgUse);\r\n\r\n replacingSvgs.push({ prevSvg: prevSvg, newSvg: newSvg });\r\n }\r\n replacingSvgs.forEach(function (r) {\r\n var parent = r.prevSvg.parentNode;\r\n parent.insertBefore(r.newSvg, r.prevSvg);\r\n parent.removeChild(r.prevSvg);\r\n });\r\n }\r\n","'use strict';\r\n\r\n/**\r\n * Минимальная поддСрТиваСмая Π²Π΅Π±-доступом ΡˆΠΈΡ€ΠΈΠ½Π° экрана.\r\n * @global\r\n */\r\nwindow.MIN_SUPPORTS_WINDOW_WIDTH = 1024;\r\n/**\r\n * Минимальная поддСрТиваСмая Π²Π΅Π±-доступом высота экрана.\r\n * @global\r\n */\r\nwindow.MIN_SUPPORTS_WINDOW_HEIGHT = 768;\r\n\r\n/**\r\n * Π Π΅ΠΆΠΈΠΌ отобраТСния ΠΊΠ½ΠΎΠΏΠΊΠΈ.\r\n *\r\n * @readonly\r\n * @enum {boolean}\r\n * @type {{LARGE: boolean, SMALL: boolean}}\r\n * @since 5.0.0.4104\r\n * @example\r\n *\r\n * // Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΡƒ с Ρ€Π΅ΠΆΠΈΠΌΠΎΠΌ отобраТСния \"Волько ΠΈΠΊΠΎΠ½ΠΊΠ°\".\r\n * WebAccess.current.toolBar.groups.ATTACHMENTS.createButton(\"myButton\", BUTTON.SMALL);\r\n */\r\nwindow.BUTTON = {\r\n /** ΠžΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ ΠΈΠΊΠΎΠ½ΠΊΡƒ ΠΈ подпись для ΠΊΠ½ΠΎΠΏΠΊΠΈ. */\r\n LARGE: false,\r\n /** ΠžΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠΊΠΎΠ½ΠΊΡƒ ΠΊΠ½ΠΎΠΏΠΊΠΈ. */\r\n SMALL: true\r\n};\r\n\r\n/**\r\n * ΠœΠ΅Ρ‚ΠΎΠ΄ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ Ρ„ΠΎΡ€ΠΌΡ‹ Π½Π° Π²Π΅Π±-сСрвСр.\r\n *\r\n * @readonly\r\n * @global\r\n * @enum {string} FORM_METHOD\r\n * @since 5.0.0.7100\r\n */\r\nwindow.FORM_METHOD = {\r\n /** ΠžΡ‚ΠΏΡ€Π°Π²ΠΊΠ° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ POST */\r\n POST: 'POST',\r\n /** ΠžΡ‚ΠΏΡ€Π°Π²ΠΊΠ° ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ GET */\r\n GET: 'GET'\r\n};\r\n//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n/**\r\n * Π’ΠΈΠΏ отправляСмых Π΄Π°Π½Π½Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌΡ‹.\r\n *\r\n * @readonly\r\n * @global\r\n * @enum {string} ENCTYPE\r\n * @since 5.0.0.7100\r\n */\r\nwindow.ENCTYPE = {\r\n /** Π”Π°Π½Π½Ρ‹Π΅ Ρ„ΠΎΡ€ΠΌΡ‹ Π² Π²ΠΈΠ΄Π΅ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° */\r\n MULTIPART: 'multipart/form-data',\r\n /** Π”Π°Π½Π½Ρ‹Π΅ Ρ„ΠΎΡ€ΠΌΡ‹ Π² тСкстовом Π²ΠΈΠ΄Π΅ */\r\n URLENCODED: 'application/x-www-form-urlencoded'\r\n};\r\n//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n\r\n/**\r\n * Π’ΠΈΠΏ справочника с послСдними ΠΈ ΠΈΠ·Π±Ρ€Π°Π½Π½Ρ‹ΠΌΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ.\r\n *\r\n * @readonly\r\n * @global\r\n * @enum {string} LAST_REFERENCES\r\n * @since 5.0.0.7200\r\n */\r\nwindow.LAST_REFERENCES = {\r\n /** Π’Ρ‹Π±ΠΎΡ€ доступСн ΠΈΠ· справочников Β«ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈΒ», Β«Π“Ρ€ΡƒΠΏΠΏΡ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉΒ» ΠΈ Β«Π’ΠΈΠΏΠΎΠ²Ρ‹Π΅ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚Ρ‹Β» */\r\n ALL: '',\r\n /** Π’Ρ‹Π±ΠΎΡ€ доступСн ΠΈΠ· справочника Β«ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈΒ» */\r\n ONLY_USERS: \"!SR!G\",\r\n /** Π’Ρ‹Π±ΠΎΡ€ доступСн ΠΈΠ· справочников Β«ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈΒ» ΠΈ Β«Π“Ρ€ΡƒΠΏΠΏΡ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉΒ» */\r\n USERS_AND_GROUPS: \"!SR\"\r\n};\r\n//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n/**\r\n * НаправлСниС сортировки.\r\n *\r\n * @readonly\r\n * @global\r\n * @enum {number} DIRECTION\r\n * @since 5.6.0.1000\r\n */\r\nwindow.DIRECTION = {\r\n /** По Π²ΠΎΠ·Ρ€Π°ΡΡ‚Π°Π½ΠΈΡŽ */\r\n ASC: 1,\r\n /** Π‘Π΅Π· сортировки */\r\n NONE: 0,\r\n /** По ΡƒΠ±Ρ‹Π²Π°Π½ΠΈΡŽ */\r\n DESC: -1\r\n};\r\n\r\n/**\r\n * Π’ΠΈΠΏ Π·Π°ΠΊΠ»Π°Π΄ΠΊΠΈ ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.\r\n *\r\n * @readonly\r\n * @global\r\n * @enum {number} TAB_TYPE\r\n * @type {{CARD: number, HISTORY: number, RIGHTS: number, VERSIONS: number, ROUTE_SCHEME: number, CUSTOM_WORK_STATE: number, TASK_CARD: number, JOB_CARD: number}}\r\n * @since 5.6.0.1000\r\n */\r\nwindow.TAB_TYPE = {\r\n /** Π—Π°ΠΊΠ»Π°Π΄ΠΊΠ° Β«ΠšΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠ°Β» */\r\n CARD: 0,\r\n /** Π—Π°ΠΊΠ»Π°Π΄ΠΊΠ° Β«Π˜ΡΡ‚ΠΎΡ€ΠΈΡΒ» */\r\n HISTORY: 1,\r\n /** Π—Π°ΠΊΠ»Π°Π΄ΠΊΠ° «БостояниС» */\r\n RIGHTS: 2,\r\n /** Π—Π°ΠΊΠ»Π°Π΄ΠΊΠ° \"БостояниС\" Π² ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠ°Ρ… Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² */\r\n VERSIONS: 3,\r\n /** Π—Π°ΠΊΠ»Π°Π΄ΠΊΠ° Β«Π‘Ρ…Π΅ΠΌΠ° ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚Π°Β» Π² ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠ°Ρ… Π·Π°Π΄Π°Ρ‡ ΠΈ Π·Π°Π΄Π°Π½ΠΈΠΉ */\r\n ROUTE_SCHEME: 4,\r\n /** Π—Π°ΠΊΠ»Π°Π΄ΠΊΠ° «БостояниС» Π² ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠ°Ρ… Π·Π°Π΄Π°Ρ‡ ΠΈ Π·Π°Π΄Π°Π½ΠΈΠΉ */\r\n CUSTOM_WORK_STATE: 5,\r\n /** ΠšΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠ° Π·Π°Π΄Π°Ρ‡ΠΈ */\r\n TASK_CARD: 6,\r\n /** ΠšΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠ° задания */\r\n JOB_CARD: 7\r\n};\r\n\r\n/**\r\n * Π’ΠΈΠΏ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ.\r\n *\r\n * @readonly\r\n * @global\r\n * @enum {number} COLUMN_TYPE\r\n * @since 5.6.0.9000\r\n */\r\nwindow.COLUMN_TYPE = {\r\n /** Π”Π°Ρ‚Π° */\r\n DATE: 0,\r\n /** Π‘Ρ‚Ρ€ΠΎΠΊΠ° */\r\n STRING: 1,\r\n /** Число */\r\n INTEGER: 2\r\n};\r\n\r\n/**\r\n * Π’ΠΈΠΏ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° систСмы DIRECTUM.\r\n *\r\n * @readonly\r\n * @global\r\n * @enum {number} OBJECT_TYPE\r\n * @since 5.0.0.7100\r\n */\r\nwindow.OBJECT_TYPE = {\r\n /** НСизвСстный Ρ‚ΠΈΠΏ */\r\n UNKNOWN: 10,\r\n /** Папка */\r\n FOLDER: 0,\r\n /** Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ */\r\n EDOCUMENT: 1,\r\n /** Задания */\r\n JOB: 3,\r\n /** Π—Π°Π΄Π°Ρ‡ΠΈ */\r\n TASK: 2,\r\n /** ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ */\r\n COMPONENT_TOKEN: 4,\r\n /** ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ Ρ‚ΠΈΠΏ */\r\n ANY: 5,\r\n /** Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊΠΈ */\r\n REFERENCE: 6,\r\n /** Π‘Ρ†Π΅Π½Π°Ρ€ΠΈΠΈ */\r\n SCRIPT: 7,\r\n /** ΠžΡ‚Ρ‡Π΅Ρ‚Ρ‹ */\r\n REPORT: 8,\r\n /** Π—Π°ΠΏΠΈΡΡŒ справочника */\r\n REFERENCE_RECORD: 9,\r\n /** ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ */\r\n USER: 11,\r\n /** ΠœΠ°ΡΡ‚Π΅Ρ€ дСйствий */\r\n WIZARD: 12,\r\n /** ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΈΠ»ΠΈ Π³Ρ€ΡƒΠΏΠΏΠ° */\r\n USER_OR_GROUP: 100,\r\n /** Поиск */\r\n SEARCH: 101,\r\n /** Π”ΠΈΠ°Π»ΠΎΠ³ */\r\n DIALOG: 102\r\n};\r\n\r\n/**\r\n * ΠŸΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ Π·Π°Π΄Π°Ρ‡ΠΈ.\r\n *\r\n * @const\r\n * @global\r\n * @enum {string} TASK_IMPORTANCE\r\n * @type {{LOW: string, NORMAL: string, HIGH: string}}\r\n */\r\nwindow.TASK_IMPORTANCE = {\r\n /** Низкая Π²Π°ΠΆΠ½ΠΎΡΡ‚ΡŒ */\r\n LOW: 0,\r\n /** ΠΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Π°Ρ Π²Π°ΠΆΠ½ΠΎΡΡ‚ΡŒ */\r\n NORMAL: 1,\r\n /** Высокая Π²Π°ΠΆΠ½ΠΎΡΡ‚ΡŒ */\r\n HIGH: 2\r\n};\r\n\r\n/**\r\n * Π’ΠΈΠΏ состояния Π·Π°Π΄Π°Ρ‡ΠΈ ΠΈ задания.\r\n *\r\n * @readonly\r\n * @global\r\n * @enum {string} WORK_STATE\r\n * @since 5.5.0.9092\r\n */\r\nwindow.WORK_STATE = {\r\n /** Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ */\r\n INIT: 0,\r\n /** Π’ Ρ€Π°Π±ΠΎΡ‚Π΅ */\r\n RUNNING: 1,\r\n /** Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ */\r\n DONE: 2,\r\n /** На ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅ */\r\n CONTROLLED: 3,\r\n /** ΠŸΡ€Π΅ΠΊΡ€Π°Ρ‰Π΅Π½ΠΎ */\r\n ABORTED: 4,\r\n /** Π’ΠΎΠ·ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π° */\r\n CONTINUED: 5\r\n};\r\n\r\n/**\r\n * Π’ΠΈΠΏΡ‹ Π΄Π°Π½Π½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ².\r\n *\r\n * @readonly\r\n * @global\r\n * @enum {string} REQUISITE_TYPE\r\n * @since 5.2.0.1300\r\n */\r\nwindow.REQUISITE_TYPE = {\r\n /** ΠŸΡƒΡΡ‚ΠΎ */\r\n EMPTY: 0,\r\n /** Π”Π°Ρ‚Π° */\r\n DATE: 1,\r\n /** Π”Ρ€ΠΎΠ±Π½ΠΎΠ΅ число */\r\n FLOAT: 2,\r\n /** ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ */\r\n PICK: 3,\r\n /** Π‘Ρ‚Ρ€ΠΎΠΊΠ° */\r\n STRING: 4,\r\n /** Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ */\r\n REFERENCE: 5,\r\n /** ВСкст */\r\n TEXT: 6,\r\n /** Π¦Π΅Π»ΠΎΠ΅ число */\r\n INTEGER: 7,\r\n /** Π‘ΠΎΠ»ΡŒΡˆΠΎΠ΅ Ρ†Π΅Π»ΠΎΠ΅ число */\r\n LARGE_INTEGER: 8,\r\n /** Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ */\r\n DOCUMENT: 9,\r\n /** Бписок ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² */\r\n OBJECT_LIST: 11\r\n};\r\n\r\n/**\r\n * @readonly\r\n * @global\r\n * @enum {string} ACTION_ENABLED_MODE\r\n * @since 5.5.0.2201\r\n */\r\nwindow.ACTION_ENABLED_MODE = {\r\n /** Доступно. */\r\n ENABLED_ALWAYS: 0,\r\n /** НСдоступно. */\r\n DISABLED_ALWAYS: 1,\r\n /** Доступно ΠΏΡ€ΠΈ просмотрС. */\r\n ENABLED_ON_BROWSE: 2,\r\n /** Доступно ΠΏΡ€ΠΈ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ. */\r\n ENABLED_ON_EDIT: 3,\r\n /** НСдоступно Π±Π΅Π· Π΄Π°Π½Π½Ρ‹Ρ…. */\r\n DISABLED_ON_BROWSE_EMPTY: 4\r\n};\r\n\r\n/**\r\n * Условия доступности дСйствий Π² Π—Π—Π£.\r\n *\r\n * @readonly\r\n * @global\r\n * @enum {number} JOB_ACTION_ENABLED_WHEN\r\n * @type {{IS_ENABLED_ON_ATTACHMENT_SELECTED: number, IS_ENABLED_ON_ABORTED: number, IS_ENABLED_ON_DONE: number, IS_ENABLED_ON_RUNNING: number}}\r\n * @since 5.6.0.1300\r\n */\r\nwindow.JOB_ACTION_ENABLED_WHEN = {\r\n /** ДСйствиС доступно, Ссли Π² области Π²Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π²Ρ‹Π΄Π΅Π»Π΅Π½ хотя Π±Ρ‹ ΠΎΠ΄ΠΈΠ½ элСмСнт */\r\n IS_ENABLED_ON_ATTACHMENT_SELECTED: 1 << 0,\r\n /** ДСйствиС доступно, Ссли Π—Π—Π£ ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‰Π΅Π½ΠΎ */\r\n IS_ENABLED_ON_ABORTED: 1 << 1,\r\n /** ДСйствиС доступно, Ссли Π—Π—Π£ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ */\r\n IS_ENABLED_ON_DONE: 1 << 2,\r\n /** ДСйствиС доступно, Ссли Π—Π—Π£ Π² Ρ€Π°Π±ΠΎΡ‚Π΅ */\r\n IS_ENABLED_ON_RUNNING: 1 << 3\r\n};\r\n\r\n/**\r\n * @readonly\r\n * @global\r\n * @enum {number} CONTENTS_ACTION_ENABLED_MODE\r\n * @type {{ENABLED_IN_SELECTED_MODE: number, ENABLED_ONLY_FOR_SELECTED: number, ENABLED_WHEN_MULTISELECT: number}}\r\n * @since 5.6.0.2700\r\n */\r\nwindow.CONTENTS_ACTION_ENABLED_MODE = {\r\n /** Доступно Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ списка. */\r\n ENABLED_IN_SELECTED_MODE: 1 << 0,\r\n /** Доступно Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… записСй. */\r\n ENABLED_ONLY_FOR_SELECTED: 1 << 1,\r\n /** Доступно ΠΏΡ€ΠΈ мноТСсСтвСнном Π²Ρ‹Π±ΠΎΡ€Π΅. */\r\n ENABLED_WHEN_MULTISELECT: 1 << 2\r\n};\r\n\r\n/**\r\n * Π Π΅ΠΆΠΈΠΌ располоТСния.\r\n *\r\n * @readonly\r\n * @enum {number} ORIENTATION\r\n * @since 5.0.0.4200\r\n *\r\n * @example\r\n * //Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΠΎΠ΅ располоТСниС Π±ΠΎΠΊΠΎΠ²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ.\r\n * WebAccess.current.sideBar.setOrientation(ORIENTATION.HORISONTAL);\r\n *\r\n * @example\r\n * //Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ΅ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΠΎΠ΅ располоТСниС элСмСнтов Π½Π° Ρ„ΠΎΡ€ΠΌΠ΅.\r\n * var form = WA.CMP.forms.FormBuilder('someForm');\r\n * form.setOrientation(ORIENTATION.VERTICAL);\r\n */\r\nwindow.ORIENTATION = window.SIDEBAR_ORIENTATION = {\r\n /** Π“ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΠΎΠ΅ */\r\n HORIZONTAL: 0,\r\n /** Π’Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ΅ */\r\n VERTICAL: 1\r\n};\r\n\r\n/**\r\n * Π’ΠΈΠΏ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π΄Π°Π½Π½Ρ‹Ρ….\r\n *\r\n * @readonly\r\n * @enum {number} MODEL\r\n * @since 5.0.0.7300\r\n */\r\nwindow.MODEL = {\r\n /** ΠŸΠΎΠ»Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ */\r\n FULL: 0,\r\n /** ΠšΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠ° */\r\n CARD: 1,\r\n /** Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° */\r\n CONTENT: 2,\r\n /** Бсылка */\r\n LINK: 3\r\n};\r\n\r\n/**\r\n * Π’ΠΈΠΏ доступа ΠΊ Π΄Π΅Π»ΠΎΠ²ΠΎΠΌΡƒ процСссу.\r\n *\r\n * @readonly\r\n * @enum {number} WORK_ACCESS_TYPE\r\n * @since 5.0.0.7300\r\n */\r\nwindow.WORK_ACCESS_TYPE = {\r\n /** ВсСм */\r\n ALL: 0,\r\n /** Π ΡƒΡ‡Π½ΠΎΠΉ */\r\n MANUAL: 2,\r\n /** Участникам */\r\n PARTICIPANTS: 1\r\n};\r\n\r\n/**\r\n * Π’ΠΈΠΏ задания.\r\n *\r\n * @readonly\r\n * @enum {number} JOB_KIND\r\n * @since 5.0.0.7300\r\n */\r\nwindow.JOB_KIND = {\r\n /** Π—Π°Π΄Π°Π½ΠΈΠ΅ */\r\n JOB: 0,\r\n /** Π£Π²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅ */\r\n NOTICE: 1,\r\n /** Π—Π°Π΄Π°Π½ΠΈΠ΅-ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ */\r\n CONTROL_JOB: 2\r\n};\r\n\r\n/**\r\n * Π’ΠΈΠΏ сообщСния.\r\n *\r\n * @readonly\r\n * @enum {number} MESSAGE_TYPE\r\n * @since 5.0.0.7300\r\n *\r\n * TODO: MESSAGE_TYPE ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Ρ‚ΡŒ Π² INLINE_HINT_TYPE (Π±ΠΎΠ»Π΅Π΅ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠ΅ Π½Π°Π·Π²Π°Π½ΠΈΠ΅).\r\n */\r\nwindow.MESSAGE_TYPE = {\r\n /** ΠŸΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ */\r\n WARNING: 0,\r\n /** Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ ΠΎΠ± ошибкС */\r\n ERROR: 1,\r\n /** Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ΅ сообщСниС */\r\n INFO: 2,\r\n};\r\n\r\n/**\r\n * ΠŸΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ встроСнной подсказки.\r\n *\r\n * @readonly\r\n * @enum {number} INLINE_HINT_PRIORITY\r\n * @type {{PRIMARY: number, SECONDARY: number}}\r\n * @since 5.6.0.9050\r\n */\r\nwindow.INLINE_HINT_PRIORITY = {\r\n /** Π˜ΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ */\r\n PRIMARY: 0,\r\n /** Подсказка */\r\n SECONDARY: 1,\r\n};\r\n\r\n/**\r\n * Π’ΠΈΠΏ содСрТимого ΠΏΠ°ΠΏΠΊΠΈ.\r\n *\r\n * @readonly\r\n * @enum {number} FOLDER_CONTENT_TYPE\r\n * @since 5.0.0.7300\r\n */\r\nwindow.FOLDER_CONTENT_TYPE = {\r\n /** Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹ */\r\n EDOCUMENT: 1,\r\n /** Задания */\r\n JOB: 3,\r\n /** Π—Π°Π΄Π°Ρ‡ΠΈ */\r\n TASK: 2,\r\n /** Π’Π°Ρ€ΠΈΠ°Π½Ρ‚ запуска */\r\n COMPONENT_TOKEN: 4,\r\n /** ΠŸΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ Ρ‚ΠΈΠΏ */\r\n ANY: 5\r\n};\r\n\r\n/**\r\n * Π’ΠΈΠΏ ΠΏΠ°ΠΏΠΊΠΈ.\r\n *\r\n * @readonly\r\n * @enum {number} FOLDER_TYPE\r\n * @since 5.0.0.7300\r\n */\r\nwindow.SPEC_FOLDER_TYPE = window.FOLDER_TYPE = {\r\n /** Папка «ВходящиС» */\r\n INBOX: 0,\r\n /** Папка Β«Π˜ΡΡ…ΠΎΠ΄ΡΡ‰ΠΈΠ΅Β» */\r\n OUTBOX: 1,\r\n /** Папка Β«Π˜Π·Π±Ρ€Π°Π½Π½ΠΎΠ΅Β» */\r\n FAVORITES: 2,\r\n /** Папка Β«ΠžΠ±Ρ‰Π°Ρ ΠΏΠ°ΠΏΠΊΠ°Β» */\r\n COMMON_FOLDER: 3,\r\n /** Папка ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ */\r\n USER_FOLDER: 4,\r\n /** Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Β«Π―Ρ€Π»Ρ‹ΠΊΠΈΒ» */\r\n SHORTCUTS: 7,\r\n /** Папка поиска */\r\n SEARCH: 8\r\n};\r\n\r\n/**\r\n * Π£Ρ€ΠΎΠ²Π΅Π½ΡŒ Турналирования\r\n *\r\n * @readonly\r\n * @since 5.1.0.1523\r\n * @enum {string} LOG_LEVEL\r\n * @global\r\n */\r\nwindow.LOG_LEVEL = {\r\n /** Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ ΠΎΠ± ошибкС */\r\n ERROR: 'E',\r\n /** ΠŸΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ */\r\n WARN: 'W',\r\n /** Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ΅ сообщСниС */\r\n INFO: 'I',\r\n /** Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ ΠΎΠ± ΠΎΡ‚Π»Π°Π΄ΠΊΠ΅ */\r\n DEBUG: 'D'\r\n};\r\n\r\n/**\r\n * Π£Ρ€ΠΎΠ²Π΅Π½ΡŒ сСриализации\r\n *\r\n * @readonly\r\n * @since 5.2.0.1600\r\n * @enum {number} SERIALIZATION\r\n * @global\r\n */\r\nwindow.SERIALIZATION = {\r\n /** Минимальная сСриализация, ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ */\r\n LITE: '1',\r\n /** МаксимальноС ΠΊΠΎΠ»-Π²ΠΎ Π΄Π°Π½Π½Ρ‹Ρ… */\r\n FULL: '2'\r\n};\r\n\r\n/**\r\n * Названия стандартных дСйствий Π΄ΠΈΠ°Π»ΠΎΠ³Π°.\r\n *\r\n * @readonly\r\n * @since 5.2.0.1901\r\n * @enum {String} DIALOG_ACTION\r\n * @global\r\n */\r\nwindow.DIALOG_ACTION = {\r\n /** ОК */\r\n OK: 'OkAction',\r\n /** ΠžΡ‚ΠΌΠ΅Π½Π° */\r\n CANCEL: 'CancelAction'\r\n};\r\n\r\n/**\r\n * Π Π΅ΠΆΠΈΠΌ открытия справочника Π² модальном ΠΎΠΊΠ½Π΅.\r\n *\r\n * @readonly\r\n * @since 5.4.0.1013\r\n * @enum {number} REFERENCE_MODAL_MODE\r\n * @global\r\n */\r\nwindow.REFERENCE_MODAL_MODE = {\r\n /** ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€ */\r\n VIEW: 0,\r\n /** Π•Π΄ΠΈΠ½ΠΈΡ‡Π½Ρ‹ΠΉ Π²Ρ‹Π±ΠΎΡ€ */\r\n SINGLE: 1,\r\n /** ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²Π΅Π½Π½Ρ‹ΠΉ Π²Ρ‹Π±ΠΎΡ€ */\r\n MULTI: 2\r\n};\r\n\r\n/**\r\n * Π’ΠΈΠΏ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ.\r\n *\r\n * @readonly\r\n * @since 5.5.0.1000\r\n * @enum {number} VARIANT_TYPE\r\n * @global\r\n */\r\nwindow.VARIANT_TYPE = {\r\n /** Π¦Π΅Π»ΠΎΠ΅ число */\r\n INTEGER: 0,\r\n /** Число с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ */\r\n SINGLE: 1,\r\n /** Π‘Ρ‚Ρ€ΠΎΠΊΠ° */\r\n STRING: 2,\r\n /** ЛогичСский Ρ‚ΠΈΠΏ */\r\n BOOLEAN: 3,\r\n /** Π”Π°Ρ‚Π° */\r\n DATE_TIME: 4,\r\n /** Π—Π°Π΄Π°Ρ‡Π° */\r\n TASK: 5,\r\n /** Π—Π°Π΄Π°Π½ΠΈΠ΅ */\r\n JOB: 6,\r\n /** Папка */\r\n FOLDER: 7,\r\n /** Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ */\r\n DOCUMENT: 8,\r\n /** Π—Π°ΠΏΠΈΡΡŒ справочника */\r\n REFERENCE_RECORD: 9,\r\n /** ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ */\r\n USER: 10,\r\n /** Π“Ρ€ΡƒΠΏΠΏΠ° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ */\r\n USER_GROUP: 11,\r\n /** Роль */\r\n USER_ROLE: 12,\r\n /** ΠšΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡ Ρ†Π΅Π»Ρ‹Ρ… чисСл */\r\n INTEGER_COLLECTION: 13,\r\n /** ΠšΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡ чисСл с ΠΏΠ»Π°Π²Π°ΡŽΡ‰Π΅ΠΉ Ρ‚ΠΎΡ‡ΠΊΠΎΠΉ */\r\n SINGLE_COLLECTION: 14,\r\n /** ΠšΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡ строк */\r\n STRING_COLLECTION: 15,\r\n /** ΠšΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡ логичСских Ρ‚ΠΈΠΏΠΎΠ² */\r\n BOOLEAN_COLLECTION: 16,\r\n /** ΠšΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡ Π΄Π°Ρ‚ */\r\n DATE_TIME_COLLECTION: 17,\r\n /** ΠšΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡ Π·Π°Π΄Π°Ρ‡ */\r\n TASK_COLLECTION: 18,\r\n /** ΠšΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡ Π·Π°Π΄Π°Π½ΠΈΠΉ */\r\n JOB_COLLECTION: 19,\r\n /** ΠšΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡ ΠΏΠ°ΠΏΠΎΠΊ */\r\n FOLDER_COLLECTION: 20,\r\n /** ΠšΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² */\r\n DOCUMENT_COLLECTION: 21,\r\n /** ΠšΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡ записСй справочника */\r\n REFERENCE_RECORD_COLLECTION: 22,\r\n /** ΠšΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ */\r\n USER_COLLECTION: 23,\r\n /** ΠšΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡ Π³Ρ€ΡƒΠΏΠΏ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ */\r\n USER_GROUP_COLLECTION: 24,\r\n /** ΠšΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡ Ρ€ΠΎΠ»Π΅ΠΉ */\r\n USER_ROLE_COLLECTION: 25\r\n};\r\n\r\n/**\r\n * Π Π΅ΠΆΠΈΠΌ открытия Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° Π² мастСрС дСйствий.\r\n *\r\n * @readonly\r\n * @enum {number} WIZARD_DOCUMENT_STEP_SHOW_MODE\r\n * @since 5.4.1.1000\r\n */\r\nwindow.WIZARD_DOCUMENT_STEP_SHOW_MODE = {\r\n /** ΠžΡ‚ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ содСрТимоС Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° */\r\n BODY: 0,\r\n /** ΠžΡ‚ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΡƒ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° */\r\n CARD: 1\r\n};\r\n\r\n/**\r\n * ΠžΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ, доступныС для Ρ‚ΠΎΠΊΠ΅Π½Π°.\r\n *\r\n * @readonly\r\n * @enum {number} TOKEN_OPERATION\r\n * @since 5.4.2.2000\r\n */\r\nwindow.TOKEN_OPERATION = {\r\n /** Π’ΠΎΠΊΠ΅Π½ для ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ получСния Ρ‚Π΅Π»Π° Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° */\r\n DOWNLOAD_DOCUMENT_BODY: 1,\r\n /** Π’ΠΎΠΊΠ΅Π½ для ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ открытия ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° */\r\n UPLOAD_DOCUMENT_BODY: 2,\r\n /** Π’ΠΎΠΊΠ΅Π½ для ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ обновлСния АгСнта */\r\n UPDATE_AGENT: 4,\r\n /** Π’ΠΎΠΊΠ΅Π½ для ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ подписания Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° */\r\n SIGN_DOCUMENT: 8,\r\n /** Π’ΠΎΠΊΠ΅Π½ для ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ подписания Π·Π°Π΄Π°Ρ‡ΠΈ ΠΈΠ»ΠΈ задания */\r\n SIGN_TASK: 8,\r\n /** Π’ΠΎΠΊΠ΅Π½ для ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ получСния списка Π½ΠΎΠ²Ρ‹Ρ… Π·Π°Π΄Π°Π½ΠΈΠΉ */\r\n GET_NEW_JOB_LIST: 16,\r\n /** Π’ΠΎΠΊΠ΅Π½ для ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ Ρ‚Π΅Π»Π° Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° */\r\n LOCK_VERSION: 32,\r\n /** Π’ΠΎΠΊΠ΅Π½ для ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Ρ€Π°Π·Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ Ρ‚Π΅Π»Π° Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° */\r\n UNLOCK_VERSION: 64,\r\n /** Π’ΠΎΠΊΠ΅Π½ для ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ получСния Π·Π°ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ сСссионного ΠΊΠ»ΡŽΡ‡Π° */\r\n GET_ENCRYPTION_KEY: 128,\r\n /** Π’ΠΎΠΊΠ΅Π½ для ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ диагностики */\r\n DIAGNOSTICS: 1073741824\r\n};\r\n\r\n/**\r\n * ΠšΠΎΠ½ΡΡ‚Π°Π½Ρ‚Ρ‹ ΠΈΠ· бэкСнда для explorer\r\n *\r\n * @readonly\r\n * @enum {number} EXPLORER\r\n * @since 5.6.0.9009\r\n */\r\nwindow.EXPLORER = {\r\n /** МаксимальноС ΠΊΠΎΠ»-Π²ΠΎ строк Π² спискС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² */\r\n /** Π”ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π²Π½Π° NpoComputer.WebAccess.Constants.MAX_OBJECT_ROWS_COUNT */\r\n MAX_OBJECT_ROWS_COUNT: 23,\r\n};\r\n\r\n/**\r\n * Бобытия страницы.\r\n * Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‚ΡΡ для Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ событий ΠΈΠ· React-ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚.\r\n *\r\n * @readonly\r\n * @enum {string} PAGE_EVENTS\r\n */\r\nwindow.PAGE_EVENTS = {\r\n /** Π”ΠΎ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π²ΠΊΠ»Π°Π΄ΠΊΠΈ */\r\n ON_BEFORE_TAB_CHANGE: 'OnBeforeTabChange',\r\n /** ΠŸΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π²ΠΊΠ»Π°Π΄ΠΊΠΈ ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠΈ (для Π²Ρ‹Π·ΠΎΠ²Π° Ρ€Π΅Π½Π΄Π΅Ρ€Π° Ρ€Π΅Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ ΠΎΠΊΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Π²Π½Π΅ CardTab */\r\n TAB_MODEL_CHANGE: 'cardTabStateTabChange',\r\n /** Π”ΠΎ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ страницы Π½Π° основании Π½ΠΎΠ²ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ */\r\n TAB_ON_BEFORE_RENDER_NEW_MODEL: 'tabOnBeforeRenderNewModel',\r\n /** ПослС Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ страницы Π½Π° основании Π½ΠΎΠ²ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ */\r\n TAB_ON_AFTER_RENDER_NEW_MODEL: 'tabOnAfterRenderNewModel',\r\n /** ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Π° Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ \"Π˜ΡΡ‚ΠΎΡ€ΠΈΡ\" ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° */\r\n TOGGLE_PERIOD: 'togglePeriod',\r\n /** ΠžΠΊΠΎΠ½Ρ‡Π°Π½ΠΈΠ΅ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΏΠ°Π½Π΅Π»ΠΈ дСйствий */\r\n TOOLBAR_BUTTONS_INIT_DONE: 'toolbarButtonsInitDone',\r\n /** ΠžΠΊΠΎΠ½Ρ‡Π°Π½ΠΈΠ΅ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π³Ρ€ΡƒΠΏΠΏ ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΏΠ°Π½Π΅Π»ΠΈ дСйствий */\r\n TOOLBAR_GROUPS_INIT_DONE: 'toolbarGroupsInitDone',\r\n};\r\n\r\n/**\r\n * Π”Π»ΠΈΠ½Π° Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΈ, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π½Π°Ρ‡ΠΈΠ½Π°Π΅Ρ‚ ΠΏΠ°Π΄Π°Ρ‚ΡŒ Firefox c ошибкой ns_error_illegal_value.\r\n *\r\n * @readonly\r\n * @since 5.6.0.9054\r\n */\r\nwindow.MAIN_TAB_CONTENT_SAFE_LENGTH = 65536;\r\n\r\n/**\r\n * Настройки ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ статистики\r\n *\r\n * @readonly\r\n * @enum {number} STATISTICS\r\n * @since 5.6.0.9054\r\n */\r\nwindow.STATISTICS = Object.freeze({\r\n /** Мин. ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π» ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ событий статистики, мс.\r\n * Из всСх событий, ΠΏΠΎΡΡ‚ΡƒΠΏΠΈΠ²ΡˆΠΈΡ… Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ этого ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Π°, Π½Π° ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΡƒ ΡƒΠΉΠ΄Ρ‘Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ послСднСС. */\r\n DEBOUNCE_INTERVAL: 200,\r\n /** Мин. ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π» ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ статистики, мс. */\r\n REQUEST_INTERVAL: 10 * 1000,\r\n /** Мин. количСство событий Π² ΠΎΠ΄Π½ΠΎΠΌ запросС ΠΊ сСрвСру.\r\n * Если стСк ΡƒΠΆΠ΅ собрался, Π½ΠΎ REQUEST_INTERVAL Π΅Ρ‰Ρ‘ Π½Π΅ ΠΏΡ€ΠΎΡˆΡ‘Π», стСкаСм события дальшС. */\r\n STACK_SIZE: 10,\r\n});\r\n\r\n/**\r\n * Π Π΅ΠΆΠΈΠΌΡ‹ отобраТСния ΠΏΠ°ΠΏΠΊΠΈ.\r\n *\r\n * @readonly\r\n * @enum {number} FOLDER_MODE\r\n * @since 5.6.0.9057\r\n */\r\nwindow.FOLDER_MODE = Object.freeze({\r\n /** НС ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ */\r\n NONE: 0,\r\n /** ОблоТка. */\r\n COVER: 1,\r\n /** Бписок. */\r\n LIST: 2,\r\n /** Π“Ρ€ΠΈΠ΄. */\r\n GRID: 3,\r\n});\r\n\r\n/**\r\n * ΠšΠΎΠ½ΡΡ‚Π°Π½Ρ‚Ρ‹, относящиСся ΠΊ Ρ€Π΅ΠΆΠΈΠΌΡƒ Π³Ρ€ΠΈΠ΄Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊΠ°.\r\n *\r\n * @readonly\r\n * @enum {string, number} FOLDER_GRID\r\n * @since 5.6.0.9057\r\n */\r\nwindow.FOLDER_GRID = Object.freeze({\r\n /** ΠšΠ»ΡŽΡ‡ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° настроСк ΡˆΠΈΡ€ΠΈΠ½ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ Π³Ρ€ΠΈΠ΄Π° Π² localStorage. */\r\n WIDTHS_STORAGE_KEY: 'folderGridWidths',\r\n /** ΠšΠ»ΡŽΡ‡ сохранённого Ρ€Π΅ΠΆΠΈΠΌΠ° отобраТСния ΠΏΠ°ΠΏΠΊΠΈ. */\r\n FOLDER_MODE_KEY: '##m',\r\n /** URL-ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ для Ρ€Π΅ΠΆΠΈΠΌΠ° отобраТСния ΠΏΠ°ΠΏΠΊΠΈ. */\r\n FOLDER_MODE_URL_PARAM: 'fmode',\r\n /** Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΡˆΠΈΡ€ΠΈΠ½Ρ‹ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, px. */\r\n DEFAULT_COLUMN_WIDTH: 200,\r\n /** Минимальная ΡˆΠΈΡ€ΠΈΠ½Π° ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ, px. */\r\n MIN_COLUMN_WIDTH: 24,\r\n /** Максимальная ΡˆΠΈΡ€ΠΈΠ½Π° ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ, px. */\r\n MAX_COLUMN_WIDTH: 1024,\r\n});\r\n\r\n/**\r\n * Π€ΠΈΠ»ΡŒΡ‚Ρ€Ρ‹ Π΄Π΅Ρ€Π΅Π²Π° состояний.\r\n *\r\n * @readonly\r\n * @enum {string, number} STATETREE_FILTER\r\n * @since 5.6.1.9000\r\n */\r\nwindow.STATETREE_FILTER = Object.freeze({\r\n /** ВсС */\r\n ALL: 0,\r\n /** Π’ Ρ€Π°Π±ΠΎΡ‚Π΅ */\r\n RUNNING: 1,\r\n /** Π—Π°Π΄Π°Ρ‡ΠΈ */\r\n JOBS: 2,\r\n /** ΠŸΡ€ΠΎΡΡ€ΠΎΡ‡Π΅Π½Π½Ρ‹Π΅ */\r\n OUTDATED: 3,\r\n /** НСпрочитанныС */\r\n UNREAD: 4,\r\n});\r\n\r\n/**\r\n * ДСйствия Π½Π°Π΄ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ.\r\n *\r\n * @readonly\r\n * @enum {number} OBJECT_ACTION\r\n * @since 5.8.0.9000\r\n */\r\nwindow.OBJECT_ACTION = {\r\n /** Π’Π»ΠΎΠΆΠΈΡ‚ΡŒ */\r\n ATTACH: 0,\r\n /** Π‘Π²ΡΠ·Π°Ρ‚ΡŒ */\r\n BOUND: 1,\r\n};","'use strict';\r\n\r\n/**\r\n * Иконки для Ρ€Π°Π·Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².\r\n *\r\n * @readonly\r\n * @enum {string} ICONS\r\n * @since 5.7\r\n */\r\nwindow.ICONS = Object.freeze({\r\n Job: 'job-32',\r\n Task: 'task-32',\r\n Notice: 'notice-32',\r\n ControlJob: 'jobControl-32',\r\n});\r\n","var ContextMenu;\r\n\r\n(function ($) {\r\n\r\n var panel = $('
');\r\n var init = false;\r\n var panel_added = false;\r\n var scrollStep = 25;\r\n\r\n function ensurePanelAdded() {\r\n if (!panel_added) {\r\n panel_added = true;\r\n $(\"body\").append(panel.mousedown(function (ev) { ev.stopPropagation() }));\r\n }\r\n }\r\n\r\n function showPanel(panel) {\r\n panel.removeClass(\"contextmenu-container__hidden\").redraw();\r\n }\r\n\r\n function hidePanel(panel) {\r\n if (!panel.hasClass(\"contextmenu-container__hidden\")) {\r\n panel.addClass(\"contextmenu-container__hidden\");\r\n if (panel.data('contextMenu') && panel.data('contextMenu').onHide) {\r\n panel.data('contextMenu').onHide.call(panel.data('contextMenu'));\r\n }\r\n }\r\n }\r\n\r\n function hideAllPanels() {\r\n $('.contextmenu-container').each(function () {\r\n hidePanel($(this));\r\n });\r\n }\r\n\r\n function getOffset(elem) {\r\n return elem.offset();\r\n }\r\n\r\n function doInit() {\r\n $(function () {\r\n if (!$.ipad)\r\n $(\"body\").mousedown(function () { ContextMenu.hide(); });\r\n })\r\n }\r\n\r\n $.fn.contextMenu = function (menu, eventName) {\r\n if (typeof eventName == \"undefined\")\r\n eventName = \"click\";\r\n $(this).off(eventName).on(eventName, function () { menu.toggle(this, panel) });\r\n return this;\r\n }\r\n\r\n var defaults = {\r\n width: 200,\r\n arrowWidth: 15,\r\n shiftX: 0,\r\n shiftY: 20,\r\n cssClass: \"\",\r\n arrowImage: \"ArrowRight.png\"\r\n }\r\n\r\n ContextMenu = function (items, options) {\r\n if (!init) {\r\n init = true;\r\n doInit();\r\n }\r\n this.items = items;\r\n $.extend(this, defaults, options);\r\n }\r\n\r\n ContextMenu.hide = function (el) {\r\n var p = panel;\r\n if (el) p = $(el).parents('div.contextmenu-container').first();\r\n hidePanel(p);\r\n }\r\n\r\n ContextMenu.hideAll = function () {\r\n hideAllPanels();\r\n }\r\n\r\n $.extend(ContextMenu.prototype, {\r\n toggle: function (elem, _panel) {\r\n if (typeof _panel == \"undefined\")\r\n _panel = panel;\r\n ensurePanelAdded();\r\n if (!panel.hasClass(\"contextmenu-container__hidden\")) {\r\n hidePanel(_panel);\r\n }\r\n else\r\n this.show(elem, _panel);\r\n },\r\n show: function (elem, _panel, opt_event) {\r\n this.targetElement = elem;\r\n\r\n var el = $(elem);\r\n if (scrollStep < 0) scrollStep = -scrollStep;\r\n if (typeof _panel == \"undefined\")\r\n _panel = panel;\r\n this.lastPanel = _panel;\r\n this.lastElement = el;\r\n _panel = $(_panel);\r\n ensurePanelAdded();\r\n _panel.data('contextMenu', this);\r\n this.fillContainer(_panel, opt_event);\r\n var coords = this.getCoordsFor(getOffset(el), _panel, true);\r\n coords.top = Math.floor(coords.top);\r\n //logDebug(coords.top);\r\n if (coords.top < 0) coords.top = 10;\r\n this.tuneContainer(_panel, coords, true);\r\n if (this.onShow) {\r\n var ok = this.onShow.call(this);\r\n if (ok === false)\r\n return;\r\n }\r\n if ($.ipad) {\r\n $('html').one('mousedown', function (ev) {\r\n ev.preventDefault();\r\n ev.stopPropagation();\r\n $('.contextmenu__manualhide').click();\r\n });\r\n }\r\n showPanel(_panel);\r\n },\r\n\r\n showAt: function (coords, _panel, isInternal, opt_event) {\r\n\r\n if (scrollStep < 0) scrollStep = -scrollStep;\r\n if (!_panel)\r\n _panel = panel;\r\n this.lastPanel = _panel;\r\n ensurePanelAdded();\r\n _panel.data('contextMenu', this);\r\n this.fillContainer(_panel, opt_event);\r\n coords.left -= defaults.shiftX;\r\n coords.top -= defaults.shiftY;\r\n coords.left += this.shiftX;\r\n coords.top += this.shiftY;\r\n if (!isInternal) {\r\n coords = this.getCoordsFor(coords, _panel, false);\r\n }\r\n if (coords.top < 0) coords.top = 10;\r\n this.tuneContainer(_panel, coords);\r\n if (this.onShow) {\r\n var ok = this.onShow.call(this);\r\n if (ok === false)\r\n return;\r\n }\r\n //Π—Π°Π΄Π΅Ρ€ΠΆΠΊΠ° трСбуСтся для IE\r\n setTimeout(function () {\r\n showPanel(_panel);\r\n }, 0);\r\n },\r\n\r\n fillContainer: function (_panel, event) {\r\n\r\n var scroller = $('
', { id: \"menuscroller\", style: \"overflow: auto;\" });\r\n var imageArrowUp = $('').css('background', 'silver').css('cursor', 'pointer');\r\n var divArrowUp = $('
').css('position', 'fixed').hide();\r\n divArrowUp.append(imageArrowUp);\r\n\r\n scroller.html(this.render(_panel, $.ipad, event));\r\n var imageArrowDown = $('').css('background', 'silver').css('cursor', 'pointer');\r\n var divArrowDown = $('
').css('position', 'fixed').hide();\r\n divArrowDown.append(imageArrowDown);\r\n _panel.html(divArrowUp).append(scroller).append(divArrowDown).css('height', scroller.height());\r\n },\r\n\r\n tuneContainer: function (_panel, coords) {\r\n var scroller = $('#menuscroller', _panel);\r\n var divArrowDown = $('#arrowDown', _panel);\r\n var divArrowUp = $('#arrowUp', _panel);\r\n var imageArrowDown = divArrowDown.find('img');\r\n var imageArrowUp = divArrowUp.find('img');\r\n\r\n var wheel = function (e) {\r\n var scroller = $('#menuscroller');\r\n var delta = 0;\r\n e = e ? e : window.event;\r\n // Установим ΠΊΡ€ΠΎΡΡΠ±Ρ€Π°ΡƒΠ·Π΅Ρ€Π½ΡƒΡŽ delta\r\n if (e.wheelDelta) {\r\n // IE, Opera, safari, chrome - ΠΊΡ€Π°Ρ‚Π½ΠΎΡΡ‚ΡŒ Π΄Π΅Π»ΡŒΡ‚Π° Ρ€Π°Π²Π½Π° 120\r\n delta = e.wheelDelta / 120;\r\n } else if (e.detail) {\r\n // Mozilla, ΠΊΡ€Π°Ρ‚Π½ΠΎΡΡ‚ΡŒ Π΄Π΅Π»ΡŒΡ‚Π° Ρ€Π°Π²Π½Π° 3\r\n delta = -e.detail / 3;\r\n }\r\n\r\n var cancelEvent = function (e) {\r\n if (e.stopPropagation) {\r\n e.stopPropagation();\r\n }\r\n if (e.preventDefault) {\r\n e.preventDefault();\r\n }\r\n e.cancelBubble = true;\r\n e.cancel = true;\r\n e.returnValue = false;\r\n return false;\r\n };\r\n\r\n scroller.scrollTop(scroller.scrollTop() - 20 * delta);\r\n return cancelEvent(e);\r\n };\r\n\r\n if (coords.top >= 34) {\r\n var top = coords.top;\r\n if (top + _panel.height() + 34 > window.innerHeight) top -= (top + _panel.height() - window.innerHeight) + 40;\r\n _panel.attr('style', '').css({ left: coords.left + \"px\", top: top + \"px\" });\r\n scroller.attr('style', '');\r\n divArrowDown.hide();\r\n divArrowUp.hide();\r\n if (window.removeEventListener) window.removeEventListener('DOMMouseScroll', wheel, false);\r\n window.onmousewheel = document.onmousewheel = null;\r\n } else {\r\n if (_panel.height() > $(window).height() - 10) { // Ссли контСкстноС мСню Π½Π΅ Π²Π»Π°Π·ΠΈΡ‚ Π² ΠΎΠΊΠ½ΠΎ, Ρ‚ΠΎ ΡƒΡ€Π΅Π·Π°Π΅ΠΌ Π΅Π³ΠΎ\r\n _panel.css({\r\n left: coords.left + \"px\",\r\n top: \"15px\",\r\n height: $(window).height() - 20 + \"px\",\r\n position: \"fixed\",\r\n overflow: \"hidden\"\r\n });\r\n imageArrowDown.css({ width: _panel.width(), background: \"silver\" }).show();\r\n imageArrowUp.css({ width: _panel.width(), background: \"silver\" }).show();\r\n if (!$.ipad) {\r\n divArrowDown.css({ position: \"fixed\", top: _panel.height() + 7 + \"px\" }).show();\r\n divArrowUp.css({ position: \"fixed\", top: 7 + \"px\" }).show();\r\n scroller.css({ overflow: \"hidden\", height: _panel.height() });\r\n if (window.addEventListener) window.addEventListener('DOMMouseScroll', wheel, false);\r\n window.onmousewheel = document.onmousewheel = wheel; // IE, Opera.\r\n } else {\r\n var padding = WA.ENV.isAndroid() ? Math.max(0, coords.left - _panel.width() - 5) : coords.left + 25;\r\n _panel.attr('style', '').css({ left: padding + \"px\", top: \"10px\" });\r\n _panel.css('height', $(window).height() - 20 + \"px\");\r\n divArrowDown.css({ position: \"fixed\", top: _panel.height() + \"px\" }).show();\r\n divArrowUp.css({ position: \"fixed\", top: 8 + \"px\" }).css('z-index', '100000').show();\r\n scroller.css({ overflow: \"auto\", paddingTop: \"5px\", height: _panel.height() - 10, width: $(window).width() + 100 }).addClass('contextmenu_scroller');\r\n if (!WA.ENV.isAndroid()) var contextMenuScroll = new iScroll('menuscroller', { useTransform: true });\r\n if (window.removeEventListener) window.removeEventListener('DOMMouseScroll', wheel, false);\r\n window.onmousewheel = document.onmousewheel = null;\r\n }\r\n } else { // ΠΈΠ½Π°Ρ‡Π΅ просто сдвигаСм\r\n var padding = WA.ENV.isAndroid() ? Math.max(0, coords.left - _panel.width() - 5) : coords.left + 25;\r\n _panel.attr('style', '').css({ left: padding + \"px\", top: \"10px\" });\r\n scroller.attr('style', '');\r\n divArrowDown.hide();\r\n divArrowUp.hide();\r\n if (window.removeEventListener) window.removeEventListener('DOMMouseScroll', wheel, false);\r\n window.onmousewheel = document.onmousewheel = null;\r\n }\r\n }\r\n\r\n scroller.scroll(wheel);\r\n divArrowDown.click(function (ev) {\r\n scroller.scrollTop(scroller.scrollTop() + scrollStep);\r\n });\r\n divArrowUp.click(function (ev) {\r\n scroller.scrollTop(scroller.scrollTop() - scrollStep);\r\n });\r\n var autohide;\r\n $('.contextmenu-container')\r\n .off('mouseenter.contextmenu')\r\n .off('mouseleave.contextmenu')\r\n .on('mouseenter.contextmenu', function () { if (autohide) clearTimeout(autohide); })\r\n .on('mouseleave.contextmenu', function (ev) {\r\n var jContainer = $(this);\r\n\r\n var target = ev.target;\r\n // IE10 Π½Π°Π²Π΅Π΄Π΅Π½ΠΈΠ΅ Π½Π° SVG Π²Π½ΡƒΡ‚Ρ€ΠΈ мСню воспринимаСт ΠΊΠ°ΠΊ ΡƒΡ…ΠΎΠ΄ с контСкстного мСню ΠΈ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ это событиС. \r\n // Π’ IE10 c SVG Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π°Π΄ΠΎ Π½Π΅ Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ https://stackoverflow.com/questions/33672395/use-within-svg-not-finding-closest-div-in-ie\r\n if (target.correspondingUseElement) {\r\n return;\r\n } \r\n\r\n var jContextMenuTable = jContainer.find('table.contextmenu');\r\n autohide = setTimeout(function () {\r\n ContextMenu.hide(jContextMenuTable);\r\n if (window.addEventListener) window.removeEventListener('DOMMouseScroll', wheel, false);\r\n window.onmousewheel = document.onmousewheel = null;\r\n }, 500);\r\n\r\n });\r\n },\r\n\r\n render: function (_panel, isTablet, event) {\r\n var body = $(\"
\").addClass(this.cssClass).css('width', this.width);\r\n if (this.id)\r\n body.attr(\"id\", this.id);\r\n var _this = this;\r\n $.each(_this.items,\r\n function () {\r\n body.append($(\"\").append($(\"\").append(_this.renderItem(this, _panel, $.ipad, event))));\r\n });\r\n if ($.ipad) body.append($('' + L(\"CLOSE\") + ''));\r\n return body;\r\n },\r\n\r\n renderItem: function (it, _panel, isTablet, event) {\r\n var _this = this;\r\n var item = {};\r\n $.extend(item, it);\r\n var proxy = _this.self;\r\n if (typeof proxy == \"undefined\")\r\n proxy = { item: item, menu: _this };\r\n if (item.jsaction) {\r\n item.jsaction = new Function(item.jsaction);\r\n }\r\n if (item.oncreate) {\r\n item.oncreate = new Function(item.oncreate);\r\n }\r\n var cont;\r\n var res = $(\"
\");\r\n if (item.onCreate)\r\n item.onCreate.call(res, item, _this);\r\n if (item.oncreate) {\r\n var upd = item.oncreate.call(proxy);\r\n if (typeof upd == \"object\") {\r\n for (var i in upd) {\r\n item[i] = upd[i];\r\n }\r\n }\r\n }\r\n\r\n if (item.visibility === \"hidden\") {\r\n return;\r\n }\r\n\r\n if (item.text) {\r\n item.text = L(item.text);\r\n }\r\n item.separator = item.separator || item.bottomSeparator;\r\n if (item.separator) {\r\n res.addClass('contextmenu__item_bottomseparator');\r\n }\r\n switch (item.type) {\r\n /*ΠŸΡƒΠ½ΠΊΡ‚ мСню - простой тСкст.*/\r\n case 'text':\r\n res.html(\"
\" + L(item.text) + \"
\");\r\n break;\r\n\r\n /*Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹ΠΉ ΠΏΡƒΠ½ΠΊΡ‚ мСню.*/\r\n default:\r\n var tbl = $(\"
\");\r\n if (item.href) {\r\n cont = $(\"\");\r\n res.append(cont);\r\n }\r\n else {\r\n cont = res;\r\n }\r\n cont.append(tbl);\r\n\r\n if (item['tooltip']) tbl.attr(\"title\", item['tooltip']);\r\n\r\n item['default'] = item['default'] || item.isDefault;\r\n item.disabled = item.disabled || item.isDisabled;\r\n if (item['default'])\r\n res.addClass('contextmenu__item_default');\r\n if (item.disabled)\r\n res.addClass(\"contextmenu__item_disabled\");\r\n if (item.selected) {\r\n res.addClass('contextmenu__item_selected');\r\n }\r\n var tr = $(\"\");\r\n tbl.append(tr);\r\n\r\n\r\n // Иконка дСйствия.\r\n item.icon = item.icon || item.image;\r\n item.iconx = item.iconx || item.imageX;\r\n item.icony = item.icony || item.imageY;\r\n // Иконка ΠΏΡ€ΠΈ Π½Π°Π²Π΅Π΄Π΅Π½ΠΈΠΈ.\r\n item.hoverIcon = item.hoverIcon || item.hoverImage;\r\n item.hoverIconX = item.hoverIconX || item.hoverImageX;\r\n item.hoverIconY = item.hoverIconY || item.hoverImageY;\r\n\r\n var imgCell = $('');\r\n tr.append(imgCell);\r\n cont = imgCell;\r\n\r\n // ДобавляСм ΡΠΊΡ€Ρ‹Ρ‚ΡƒΡŽ ΠΈΠΊΠΎΠ½ΠΊΡƒ ΠΏΡ€ΠΈ Π½Π°Π²Π΅Π΄Π΅Π½ΠΈΠΈ.\r\n if (item.hoverIcon) {\r\n cont.append(this.renderImage(item.hoverIcon, item.hoverIconX, item.hoverIconY, item.iconHoverCSSClass, true));\r\n }\r\n // ДобавляСм ΠΈΠΊΠΎΠ½ΠΊΡƒ дСйствия.\r\n cont.append(this.renderImage(item.icon, item.iconx, item.icony, item.iconCSSClass, false));\r\n\r\n var textCell = $(\"\").html(item.text);\r\n tr.append(textCell);\r\n\r\n if (!item.disabled) {\r\n var _event = _.clone(event);\r\n tbl.click(function (ev) {\r\n if (Core.isStatisticEnabled && WA.CR && WA.CR.statistics) {\r\n ///Π—Π°ΠΏΠΈΡΡŒ Π² статистику\r\n WA.CR.statistics.write({\r\n page: WA.getLocation(),\r\n action: item.stataction || item.name || item.id || 'ContextMenuItem',\r\n area: 'ContextMenu',\r\n target: $(_this.targetElement).get(0) || (!!proxy.tr && proxy.tr.get(0))\r\n });\r\n };\r\n\r\n if (item.onClick || item.href || item.jsaction) {\r\n if (item.onClick) item.onClick.call(this, item, _this, _event);\r\n if (item.jsaction) item.jsaction.call(proxy);\r\n hideAllPanels();\r\n }\r\n ev.stopPropagation();\r\n return true;\r\n });\r\n }\r\n if (item.subMenu) {\r\n var arrowCell = $(\"\").css({ width: this.arrowWidth + \"px\" });\r\n arrowCell.append(\"

\");\r\n tr.append(arrowCell);\r\n var subPanel = $(\"
\").css({ zIndex: parseInt(_panel.css(\"zIndex\"), 10) + 1 });\r\n item.showSubMenu = function () {\r\n var $this = res;\r\n var coords = getOffset($this);\r\n coords.left += $this.width() - 5;\r\n coords.top -= 1;\r\n var parentCoords = getOffset(_panel);\r\n coords.left -= parentCoords.left;\r\n coords.top -= parentCoords.top;\r\n item.subMenu.parentItem = item;\r\n item.subMenu.showAt(coords, subPanel, true);\r\n };\r\n item.hideSubMenu = function () { hidePanel(subPanel) };\r\n res.mouseenter(item.showSubMenu);\r\n res.mouseleave(item.hideSubMenu);\r\n res.append(subPanel);\r\n }\r\n tbl.hover(function () {\r\n tbl.addClass(\"hover\");\r\n }, function () {\r\n tbl.removeClass(\"hover\")\r\n });\r\n break;\r\n }\r\n return res;\r\n },\r\n renderImage: function (icon, iconx, icony, iconCSSClass, isHover) {\r\n var jIcon = null;\r\n if (icon) {\r\n var cssClass = 'contextmenu-item__icon' + (isHover ? ' contextmenu-item__icon_onhover' : '') + (iconCSSClass ? ' contextmenu-item__icon_' + iconCSSClass : '');\r\n if (icon.indexOf(\"App_Sprites\") !== -1) {\r\n if (typeof iconx != \"undefined\") {\r\n jIcon = $('
').css({ backgroundImage: \"url('\" + icon + \"')\", backgroundPosition: (-iconx) + \"px \" + (-icony) + \"px\", backgroundRepeat: \"no-repeat\" });\r\n } else {\r\n jIcon = $('');\r\n }\r\n } else {\r\n jIcon = $('');\r\n }\r\n }\r\n return jIcon;\r\n },\r\n getCoordsFor: function (c0, _panel, useShift) {\r\n //var c0 = getOffset($(elem));\r\n var res = { left: c0.left + (useShift ? this.shiftX : 0), top: c0.top + (useShift ? this.shiftY : 0) };\r\n var w = _panel.width();\r\n var h = _panel.height();\r\n var ww = windowWidth();\r\n var scr = $('body').scrollLeft();\r\n if (scr) {\r\n ww += scr - 20;\r\n }\r\n var hh = windowHeight();\r\n\r\n if (res.left + w > ww - 5) {\r\n res.left = ww - 5 - w;\r\n }\r\n if (res.left < 0) {\r\n res.left = 0;\r\n }\r\n if ((res.top - $(window).scrollTop()) + h > hh && c0.top - $(window).scrollTop() - h >= 0 || res.top + h > $(window).height()) {\r\n res.top = c0.top - h;\r\n }\r\n return res;\r\n },\r\n lastPanelVisible: function () {\r\n return this.lastPanel && this.lastPanel.css(\"visibility\") != \"hidden\";\r\n },\r\n getItemById: function (id) {\r\n var res = null;\r\n $.each(this.items, function () {\r\n if (this.id == id) {\r\n res = this;\r\n return false;\r\n }\r\n });\r\n return res;\r\n }\r\n })\r\n\r\n})(jQuery);\r\n","let CT;\r\nwindow.ControlTemplate = CT = { \"Description\": \"Html-ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ для динамичСских ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΎΠ²\" };\r\n\r\nCT.toolBar = {};\r\nCT.sideBar = {};\r\nCT.form = {};\r\nCT.dialog = {};\r\n\r\n/**\r\n* Π¨Π°Π±Π»ΠΎΠ½ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΏΠ°Π½Π΅Π»ΠΈ инструмСнтов\r\n*\r\n* @param {string} 1 name\r\n* @param {string} 2title\r\n* @param {string} 3 onclick action\r\n* @param {string} 4 icon\r\n* @return buttonTemplate\r\n*/\r\nCT.toolBar.button =\r\n `
\r\n

\r\n {1}\r\n
`;\r\n// Если ΠΈΠΊΠΎΠ½ΠΊΠ° находится Π² атласС svg\r\nCT.toolBar.buttonSvg =\r\n `
\r\n \r\n \r\n \r\n {1}\r\n
`;\r\n//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n// language=HTML\r\n/**\r\n* Π¨Π°Π±Π»ΠΎΠ½ Π“Ρ€ΡƒΠΏΠΏΡ‹ ΠΏΠ°Π½Π΅Π»ΠΈ инструмСнтов\r\n*\r\n* @param {string} 0 name\r\n* @param {string} 1 title\r\n* @param {string} 2 icon\r\n* @return buttonTemplate\r\n*/\r\nCT.toolBar.group =\r\n `
\r\n
\r\n

\r\n {1}\r\n \r\n \r\n \r\n
\r\n
`;\r\nCT.toolBar.groupSvg =\r\n `
\r\n
\r\n \r\n \r\n \r\n {1}\r\n \r\n \r\n \r\n
\r\n
`;\r\n//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n/**\r\n* ПанСлька для свСрнутой Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΊΠ½ΠΎΠΏΠΎΠΊ\r\n*\r\n* @param {string} 0 index\r\n* @param {string} 1 size\r\n*/\r\nCT.toolBar.groupCollapsed = '
';\r\n//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n/**\r\n* Π—Π°ΠΊΠ»Π°Π΄ΠΊΠ° Π±ΠΎΠΊΠΎΠ²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ\r\n*\r\n* @param {string} 0 name\r\n* @param {string} 1 text\r\n* @param {string} 2 icon\r\n* @param {string} 3 cssClass\r\n*/\r\nCT.sideBar.tab = '
\\\r\n
\\\r\n

\\\r\n {1} \\\r\n \\\r\n
\\\r\n
';\r\n//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n/**\r\n* Кнопка дСйствия поиска Π² шапкС сайта.\r\n*\r\n* @param {string} 0 name\r\n* @param {string} 1 text\r\n* @param {string} 2 icon\r\n* @param {string} 3 tooltip\r\n*/\r\nCT.sideBar.search = '
\\\r\n
\\\r\n \\\r\n \\\r\n \\\r\n {1} \\\r\n
\\\r\n
';\r\n//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n/**\r\n* Π—Π°ΠΊΠ»Π°Π΄ΠΊΠ°(ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ Π½Π° ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠ΅)\r\n*\r\n* @param {string} 0 name\r\n*/\r\n\r\nCT.form.tab = '
\\\r\n
';\r\n//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n\r\n/**\r\n* Π Π°Π·ΠΌΠ΅Ρ‚ΠΊΠ° Π½ΠΎΠ²ΠΎΠΉ Π·Π°ΠΊΠ»Π°Π΄ΠΊΠΈ\r\n*\r\n* @param {string} 0 title\r\n* @param {string} 1 helpText\r\n* @param {string} 2 manualLink\r\n*/\r\n\r\nCT.form.tabHelp = '

{0}

\\\r\n
\\\r\n

{1}

\\\r\n {2} \\\r\n ';\r\n//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\nCT.dialog.selectedItemsArea = '
\\\r\n
{label}:
\\\r\n
\\\r\n \\\r\n \\\r\n \\\r\n \\\r\n \\\r\n \\\r\n \\\r\n \\\r\n {data} \\\r\n
{name}{option_name}
\\\r\n
\\\r\n
';\r\n\r\n\r\nCT.dialog.selectedItem = ' \\\r\n \\\r\n \\\r\n \\\r\n \\\r\n
\\\r\n {name} \\\r\n
\\\r\n \\\r\n \\\r\n {option} \\\r\n \\\r\n ';\r\n\r\nCT.dialog.availableItemsArea = '
\\\r\n
{label}:
\\\r\n
\\\r\n \\\r\n

\\\r\n
\\\r\n
\\\r\n
{placeholder_message}
\\\r\n
\\\r\n
\\\r\n {data} \\\r\n
\\\r\n
';\r\n\r\nCT.dialog.availableItem = '
\\\r\n \\\r\n

{name}

\\\r\n \\\r\n
';\r\n\r\n\r\n\r\nCT.dialog.emptyPlaceholder = '{message}';\r\n\r\nCT.dialog.sortingButtons = '

\\\r\n

';\r\n\r\n\r\nCT.dialog.sortButtons = '
\\\r\n \\\r\n \\\r\n \\\r\n \\\r\n \\\r\n \\\r\n
';\r\n","\"use strict\";\r\n\r\n/** \r\n* Π‘Π°Π·ΠΎΠ²Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ событий.\r\n*\r\n* @class BaseObject\r\n* @abstract\r\n* @property {string} className Имя класса\r\n* @property {Class} class Бсылка Π½Π° интСрфСйс класса для ΡƒΠΏΡ€ΠΎΡ‰Ρ‘Π½Π½ΠΎΠ³ΠΎ доступа ΠΊ статичСским свойствам (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, EVENT).\r\n* @param {any} Π”Π°Π½Π½Ρ‹Π΅\r\n*/\r\nvar BaseObject = Class.extend({\r\n\r\n init: function (data) {\r\n if (!this._events) {\r\n this._events = [];\r\n }\r\n this.fire(BaseObject.EVENT.CLASS_INIT, this);\r\n },\r\n\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Имя класса.\r\n *\r\n * @private\r\n * @property BaseObject#className\r\n */\r\n className: \"BaseObject\",\r\n\r\n /**\r\n * Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ ΠΎΠ± ошибкС ΠΏΡ€ΠΈ использовании ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠ΅Π³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°.\r\n *\r\n * @private\r\n * @property WebAccess.components.wrappers.toolBar.ReactToolBarGroup#_deprecatedMethodUsageMessage\r\n */\r\n _deprecatedMethodMessageTemplate: 'Method {0} is deprecated.',\r\n\r\n /** @private */\r\n _events: null,\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΡ€Π΅Π΄-ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²\r\n * @method BaseObject#_parseArguments\r\n * @private\r\n * @since 5.2.0.1100\r\n */\r\n _parseArguments: function (args) {\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ВывСсти ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΎΠ± использовании ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠ΅Π³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°.\r\n *\r\n * @method _warnAboutDeprecatedMethod\r\n * @param {string} methodName Имя ΠΌΠ΅Ρ‚ΠΎΠ΄Π°.\r\n * @param {string} [messageTemplate = this._deprecatedMethodMessageTemplate] Π¨Π°Π±Π»ΠΎΠ½ сообщСния ΠΎΠ± использовании ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠ΅Π³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°\r\n * @private\r\n */\r\n _warnAboutDeprecatedMethod(methodName, messageTemplate = this._deprecatedMethodMessageTemplate) {\r\n console.warn(format(messageTemplate, methodName));\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * @private\r\n * @method BaseObject#_simplifyName\r\n */\r\n _simplifyName: function (name) {\r\n name = \"\" + name;\r\n name = name.makeSafeString().toLowerCase();\r\n if (name.substr(0, 2) === 'on') {\r\n name = name.substr(2, name.length);\r\n };\r\n return name;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /** \r\n * ΠŸΡ€ΠΈΠ²ΡΠ·Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΊ ΡΠΎΠ±Ρ‹Ρ‚ΠΈΡŽ.\r\n * @method BaseObject#bind\r\n * @param {string} name Имя события\r\n * @param {function} callback Ѐункция, ΡΡ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‰Π°Ρ ΠΏΡ€ΠΈ событии\r\n * @param {object} [opt_context] ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚ исполнСния\r\n * @return {BaseObject} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° BaseObject.\r\n */\r\n bind: function (name, func, opt_context) {\r\n name = this._simplifyName(name);\r\n\r\n if (window.ENABLE_EVENTS_LOGGING) {\r\n //Π¨Π°ΠΌΠΎΠ² А.: Для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ событий.\r\n console.log('BaseObject.bind ' + name, arguments);\r\n }\r\n\r\n if (!this._events) {\r\n this._events = [];\r\n }\r\n\r\n if (this._events) {\r\n if (!this._events[name]) {\r\n this._events[name] = [];\r\n }\r\n func = !!opt_context ? $.proxy(func, opt_context) : func;\r\n this._events[name].push(func);\r\n }\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /** \r\n * Π£Π΄Π°Π»ΠΈΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, ΠΏΡ€ΠΈΠ²ΡΠ·Π°Π½Π½ΡƒΡŽ ΠΊ ΡΠΎΠ±Ρ‹Ρ‚ΠΈΡŽ.\r\n *\r\n * @method BaseObject#unbind\r\n * @param {string} name Имя события\r\n * @return {BaseObject} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° BaseObject.\r\n */\r\n unbind: function (name) {\r\n name = this._simplifyName(name);\r\n\r\n if (window.ENABLE_EVENTS_LOGGING) {\r\n //Π¨Π°ΠΌΠΎΠ² А.: Для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ событий.\r\n console.log('BaseObject.unbind ' + name, arguments);\r\n }\r\n this._events[name] = [];\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π’Ρ‹Π·Π²Π°Ρ‚ΡŒ событиС.\r\n *\r\n * @method BaseObject#fire\r\n * @param {string} Имя события\r\n * @return {boolean} ΠœΠ΅Ρ‚ΠΎΠ΄ Π²Π΅Ρ€Π½Π΅Ρ‚ False, Ссли хотя Π±Ρ‹ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² ΠΌΠ΅Ρ‚ΠΎΠ΄Π° bind Π²Π΅Ρ€Π½ΡƒΠ» False. \r\n * ΠŸΡ€ΠΈ этом условии Π΄Ρ€ΡƒΠ³ΠΈΠ΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ событий Π²Ρ‹Π·Π²Π°Π½Ρ‹ Π½Π΅ Π±ΡƒΠ΄ΡƒΡ‚. \r\n */\r\n fire: function (name) {\r\n name = this._simplifyName(name);\r\n\r\n //Π¨Π°ΠΌΠΎΠ² А.: Для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ событий.\r\n if (window.ENABLE_EVENTS_LOGGING) {\r\n if (!WA.ENV.isTouch()) {\r\n console.log('BaseObject.fire ' + name, arguments);\r\n } else {\r\n //Π¨Π°ΠΌΠΎΠ² А.: ΠŸΠΎΡ‡Π΅ΠΌΡƒ-Ρ‚ΠΎ ΠΏΡ€ΠΎΠ²ΠΎΡ†ΠΈΡ€ΡƒΠ΅Ρ‚ ошибки Π½Π° ΠΏΠ»Π°Π½ΡˆΠ΅Ρ‚Π°Ρ….\r\n //logDebug('BaseObject.fire ' + arguments[0]);\r\n }\r\n }\r\n\r\n // try {\r\n var args = $.makeArray(arguments);\r\n args.splice(0, 1);\r\n if (this._events && this._events[name]) {\r\n for (var i = 0, len = this._events[name].length; i < len; i++) {\r\n if ($.isFunction(this._events[name][i])) {\r\n var r = this._events[name][i].apply(this, args);\r\n if (typeof r != 'undefined' && !r) {\r\n return false;\r\n }\r\n }\r\n }\r\n return true;\r\n }\r\n /*} catch (ex) {\r\n console.trace()\r\n log.error('BASE_OBJECT', ex);\r\n return false;\r\n }*/\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /** \r\n * ΠŸΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ события BeforeEvent, Event, AfterEvent.\r\n *\r\n * @method BaseObject#fireAll\r\n * @param {string} eventName Имя события, ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½ΠΎΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ\r\n * @param {string} mainFunc Ѐункция, ΡΡ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‰Π°Ρ ΠΏΡ€ΠΈ событии\r\n * @ignore\r\n */\r\n fireAll: function (eventName, mainFunc) {\r\n eventName = this._simplifyName(eventName);\r\n\r\n //Π¨Π°ΠΌΠΎΠ² А.: Для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ событий.\r\n if (window.ENABLE_EVENTS_LOGGING) {\r\n if (!WA.ENV.isTouch()) {\r\n console.log('BaseObject.fireAll ' + eventName, arguments);\r\n } else {\r\n //Π¨Π°ΠΌΠΎΠ² А.: ΠŸΠΎΡ‡Π΅ΠΌΡƒ-Ρ‚ΠΎ ΠΏΡ€ΠΎΠ²ΠΎΡ†ΠΈΡ€ΡƒΠ΅Ρ‚ ошибки Π½Π° ΠΏΠ»Π°Π½ΡˆΠ΅Ρ‚Π°Ρ….\r\n //logDebug('BaseObject.fireAll ' + eventName);\r\n }\r\n }\r\n\r\n var isRun = false;\r\n var me = this;\r\n var args = $.makeArray(arguments);\r\n args.splice(0, 2);\r\n\r\n // ΠžΠ±Π΅Ρ€Ρ‚ΠΊΠ° Π½Π°Π΄ callback с Π²Ρ‹Π·Π²ΠΎΠ²ΠΎΠΌ Before ΠΈ After событий.\r\n var mainFuncWrapper = function (result) {\r\n if (typeof result == 'undefined' || result) {\r\n var result = mainFunc.apply(me, args);\r\n\r\n $.when(result).then(function () {\r\n var newArgs = $.merge(['After' + eventName], args);\r\n me.fire.apply(me, newArgs);\r\n }); \r\n }\r\n isRun = true;\r\n };\r\n\r\n var newArgs = $.merge(['Before' + eventName, mainFuncWrapper], args);\r\n var r = me.fire.apply(me, newArgs);\r\n if (!isRun) {\r\n mainFuncWrapper(r);\r\n }\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ строковоС прСдставлСниС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.\r\n *\r\n * @method BaseObject#asString\r\n * @since 5.0.0.7100\r\n * @return {string} Π‘Ρ‚Ρ€ΠΎΠΊΠΎΠ²ΠΎΠ΅ прСдставлСниС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.\r\n */\r\n asString: function () {\r\n return $.toJSON(this);\r\n }\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n}, {\r\n EVENT: {\r\n /** Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ окончания ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ экзСмпляра класса */\r\n CLASS_INIT: 'classInit',\r\n /** Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ наТатия Π½Π° элСмСнт, связанный с экзСмпляром класса */\r\n CLICK: 'click'\r\n }\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n});","'use strict';\r\n\r\n/**\r\n * Абстрактный класс React-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.\r\n *\r\n * @abstract\r\n * @extends BaseObject\r\n * @since 5.6.0.1300\r\n */\r\nvar BaseReactObject = BaseObject.extend({\r\n\r\n /**\r\n * ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€.\r\n *\r\n * @private\r\n * @method BaseReactObject#init\r\n * @param model МодСль React-ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹.\r\n * @fires BaseReactObject.EVENTS#CLASS_INIT\r\n */\r\n init: function (model) {\r\n this._model = model;\r\n this._events = this._model.event;\r\n this.fire(BaseReactObject.EVENT.CLASS_INIT, this);\r\n },\r\n\r\n /**\r\n * Имя класса.\r\n *\r\n * @private\r\n * @property BaseReactObject#className\r\n * @override\r\n * @see BaseObject#className\r\n */\r\n className: 'BaseReactObject',\r\n\r\n /**\r\n * Бписок ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² событий.\r\n *\r\n * @private\r\n * @property BaseReactObject#_events\r\n * @override\r\n * @see BaseObject#_events\r\n */\r\n _events: null,\r\n\r\n /**\r\n * МодСль React-ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹.\r\n *\r\n * @private\r\n * @property BaseReactObject#_model\r\n */\r\n _model: null\r\n});","\"use strict\";\r\n\r\n/**\r\n* Π’ΠΈΠΏ ΠΏΡ€Π°Π² Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ систСмы.\r\n* @since 5.0.0.4204\r\n* @readonly\r\n* @enum {string} ACCESS_RIGHTS\r\n* @example \r\n* WebAccess.task.setAttachmentsRights(Π˜Π”Π·Π°Π΄Π°Ρ‡ΠΈ, ACCESS_RIGHTS.VIEW);\r\n*/\r\nvar ACCESS_RIGHTS = {\r\n /** ΠŸΡƒΡΡ‚ΠΎ. */\r\n EMPTY: 0,\r\n /** НСт доступа. */\r\n NO_ACCESS: 2,\r\n /** ΠŸΡ€ΠΎΡΠΌΠΎΡ‚Ρ€. */\r\n VIEW: 4,\r\n /** ИзмСнСниС. */\r\n CHANGE: 8,\r\n /** ΠŸΠΎΠ»Π½Ρ‹Π΅ ΠΏΡ€Π°Π²Π°. */\r\n FULL: 16\r\n};\r\n\r\n\r\n/**\r\n* Π’ΠΈΠΏΡ‹ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄.\r\n* @since 5.0.0.1600\r\n* @enum {string} COMMAND_TYPE\r\n* @readonly\r\n*/\r\nvar COMMAND_TYPE = {\r\n SHOW_DIALOG: 1,\r\n END: 2,\r\n EXECUTE_SEARCH: 3,\r\n EXECUTE_JS_ACTION: 4,\r\n SHOW_MESSAGE_BOX: 5,\r\n SHOW_NOTIFICATION: 6,\r\n};\r\n\r\n/** \r\n* Π‘Π°Π·ΠΎΠ²Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ клиСнтской ΠΌΠΎΠ΄Π΅Π»ΠΈ \r\n* @class BaseObjectModel\r\n* @extends BaseObject\r\n* @param {object} data Π”Π°Π½Π½Ρ‹Π΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ.\r\n* @property {string} className имя класса\r\n* @property {object} rawData Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹ΠΉ json\r\n*/\r\nvar BaseObjectModel = BaseObject.extend({\r\n\r\n /**\r\n * ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€\r\n * @private\r\n */\r\n init: function (data) {\r\n this._super(data);\r\n //Если Π΄Π°Π½Π½Ρ‹Π΅ Π±Ρ‹Π»ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Ρ‹ Π² коструктор, Ρ‚ΠΎ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΠΌ ΠΈΡ… \r\n if (arguments.length > 0) this.load(data);\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n className: \"BaseObjectModel\",\r\n rawData: {},\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /* \r\n * Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π΄Π°Π½Π½Ρ‹Ρ… Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°\r\n * @method \r\n * @param {object} JSONData\r\n */\r\n load: function (JSONData) {\r\n // Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ событиС \"Π”ΠΎΠ—Π°Π³Ρ€ΡƒΠ·ΠΊΠΈΠ”Π°Π½Π½Ρ‹Ρ…\" - \r\n // ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ³ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Ссли Π½Π°ΠΌ, Π²Π΄Ρ€ΡƒΠ³, ΠΏΠΎΠ½Π°Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ ΠΏΠΎΠ΄ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π΅Ρ‰Π΅ Π΄ΠΎ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚\r\n this.rawData = JSONData;\r\n this.fire(\"BeforeDataLoad\", this.rawData);\r\n // Π—Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌ Π΄Π°Π½Π½Ρ‹Π΅ \r\n $.extend(this, this.rawData);\r\n // Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ событиС \"ΠŸΠΎΡΠ»Π΅Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠΈΠ”Π°Π½Π½Ρ‹Ρ…\"\r\n this.fire(\"AfterDataLoad\", this.rawData);\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ ссылку Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° WA.URL.\r\n *\r\n * @method WebAccess.mixins.linkMixin#toURL\r\n * @return {WebAccess.URL} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° URL.\r\n */\r\n toURL: function () {\r\n var link = new WA.Link(this.ID, this.Type, this.ReferenceCode);\r\n var url = new WA.URL(link);\r\n if (this.IsNew) {\r\n url.setParam('mode', 'edit');\r\n };\r\n return url;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Запуск дСйствия.\r\n * @since 5.0.0.1600\r\n * @function BaseObjectModel.executeAction\r\n * @param {string} actionName Имя дСйствия.\r\n * @param {object|WebAccess.components.dialogs.FormDialog} [opt_params] ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ дСйствия ΠΈΠ»ΠΈ Π΄ΠΈΠ°Π»ΠΎΠ³, Ρ‚ΠΎΠ³Π΄Π° значСния Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ² Π΄ΠΈΠ°Π»ΠΎΠ³Π° ΡΠΊΠΎΠΏΠΈΡ€ΡƒΡŽΡ‚ΡΡ Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° для Ρ€Π°Π±ΠΎΡ‚Ρ‹ дСйствия.\r\n * @example \r\n * WebAccess.current.executeAction('ActionName').done(function() { console.log('ДСйствиС Π·Π°Π²Π΅Ρ€ΡˆΠΈΠ»ΠΎΡΡŒ!'); });\r\n */\r\n executeAction(actionName, opt_params) {\r\n let entityLink = new WA.Link(this.ID, this.Type, this.ReferenceName);\r\n return WA.actions.executeAction(actionName, entityLink, this.form, opt_params)\r\n },\r\n\r\n /**\r\n * ВыполняСт ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄.\r\n * @function BaseObjectModel.executeEntityMethod\r\n * @param {string} methodName Имя ΠΌΠ΅Ρ‚ΠΎΠ΄Π°.\r\n * @param {object} [opt_parameters] ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ ΠΌΠ΅Ρ‚ΠΎΠ΄.\r\n * @since 5.5.0.1000\r\n \r\n * @example \r\n * WebAccess.current.executeEntityMethod('MethodName').done(function(result) { console.log(result); });\r\n */\r\n executeEntityMethod(methodName, opt_parameters) {\r\n throw new Error(\"Abstract method!\");\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Запуск дСйствия с ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠΎΠΊΠ°Π·ΠΎΠ² Π΄ΠΈΠ°Π»ΠΎΠ³Π°.\r\n * @since 5.0.0.1901\r\n * @function BaseObjectModel.showDialogAndExecuteAction\r\n * @param {string} actionName Имя дСйствия.\r\n * @param {string} dialogName Имя Π΄ΠΈΠ°Π»ΠΎΠ³Π°.\r\n * @example \r\n * WebAccess.current.showDialogAndExecuteAction('ActionName','DialogName').done(function() { console.log('ДСйствиС Π·Π°Π²Π΅Ρ€ΡˆΠΈΠ»ΠΎΡΡŒ!'); });\r\n */\r\n showDialogAndExecuteAction(actionName, dialogName) {\r\n let entityLink = new WA.Link(this.ID, this.Type, this.ReferenceName);\r\n return WA.actions.showDialogAndExecuteAction(actionName, dialogName, entityLink, this.form)\r\n },\r\n});\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","/**\r\n * МодСль Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°.\r\n *\r\n * @summary Π§Π°ΡΡ‚ΡŒ свойств получаСтся со стороны сСрвСра ΠΈ Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅Ρ‚ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ модСль.\r\n * @see NpoComputer.WebAccess.Models.EDocumentModel\r\n */\r\nvar DocumentModel = BaseObjectModel.extend({\r\n className: \"DocumentModel\",\r\n\r\n /**\r\n * ВыполняСт ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄.\r\n * @function DocumentModel.executeEntityMethod\r\n * @param {string} methodName Имя ΠΌΠ΅Ρ‚ΠΎΠ΄Π°.\r\n * @param {object[]} opt_parameters ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ ΠΌΠ΅Ρ‚ΠΎΠ΄.\r\n * @since 5.5.0.1000\r\n \r\n * @example \r\n * WebAccess.current.executeEntityMethod('MethodName', new WA.Link()).done(function(result) { console.log(result); });\r\n */\r\n executeEntityMethod: function (methodName, opt_parameters) {\r\n var d = $.Deferred();\r\n var me = this;\r\n var parameters = Array.prototype.slice.call(arguments, 1);\r\n\r\n WA.domainMethods.executeEntityMethod(\"/api/Document.asmx/ExecuteEntityMethod\",\r\n this.ID, \"\", methodName, parameters).done(function (res) {\r\n var changes = res.Changes;\r\n var changedMultiSelects = res.ChangedMultiSelectRequisitesValues;\r\n if (me.form && me.form.isExist()) me.form.applyServerSideChanges(changes, changedMultiSelects);\r\n\r\n d.resolve(res.MethodResult);\r\n }).fail(function (errorMessage, res) {\r\n if (res) {\r\n if (res.Result) {\r\n var data = res.Result;\r\n var changes = data.Changes;\r\n var changedMultiSelects = data.ChangedMultiSelectRequisitesValues;\r\n if (me.form && me.form.isExist()) me.form.applyServerSideChanges(changes, changedMultiSelects);\r\n }\r\n d.reject(res.Error);\r\n } else {\r\n d.reject(errorMessage);\r\n }\r\n });\r\n\r\n return d.promise();\r\n },\r\n\r\n /**\r\n * ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅Ρ‚, доступСн Π»ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ для Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°.\r\n * @function DocumentModel.isMethodAvailable\r\n * @param {string} methodName Имя ΠΌΠ΅Ρ‚ΠΎΠ΄Π°.\r\n * @return {boolean} True – ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ доступСн для Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°, ΠΈΠ½Π°Ρ‡Π΅ False.\r\n * @since 5.5.0.1000\r\n */\r\n isMethodAvailable: function (methodName) {\r\n return WA.domainMethods.isMethodAvailable(\"/api/Document.asmx/IsEntityMethodAvailable\", this.ID, methodName);\r\n }\r\n});","var TaskModel = BaseObjectModel.extend({\r\n init: function (data) {\r\n this._super(data);\r\n },\r\n className: \"TaskModel\",\r\n\r\n start() {\r\n let model;\r\n let accessRights;\r\n if (WA.getLocation() !== 'task') {\r\n model = {\r\n TaskID: this.ID,\r\n Subject: this.Subject,\r\n ActiveText: '',\r\n Observers: this.Observers,\r\n Performers: this.Performers,\r\n JobKind: _getJobKind(),\r\n Deadline: this.Deadline || '',\r\n InitiatorId: this.InitiatorID,\r\n RouteType: '',\r\n Rights: '',\r\n IsEncyptEnabled: ''\r\n };\r\n accessRights = ACCESS_RIGHTS.EMPTY;\r\n }\r\n this.fireAll(\r\n 'Start',\r\n () => startTask(model, accessRights),\r\n WA.CR.StandardRouteCode,\r\n );\r\n },\r\n\r\n loadEvents: function (standardRouteEvents) {\r\n var me = this;\r\n var eventsForCurrentRoute = standardRouteEvents[ this.StandardRouteCode ]\r\n\r\n if (typeof eventsForCurrentRoute !== 'undefined' && typeof eventsForCurrentRoute.task !== 'undefined') {\r\n // Π³Ρ€ΡƒΠ·ΠΈΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ события Π·Π°Π΄Π°Ρ‡ΠΈ.\r\n $.each(eventsForCurrentRoute.task, function (eventName, eventCallback) {\r\n me.bind(eventName, eventCallback);\r\n });\r\n }\r\n },\r\n\r\n // standardRouteCode ΡƒΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ, Ссли Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌ событиС \"Π”ΠΎ запроса ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²\".\r\n fireAll: function (eventName, mainFunc, standardRouteCode) {\r\n function fire(eventName) {\r\n if (WebAccess.Events[standardRouteCode]\r\n && WebAccess.Events[standardRouteCode].task\r\n && WebAccess.Events[standardRouteCode].task[eventName]) {\r\n var r = WebAccess.Events[ standardRouteCode ].task[ eventName ].call(this, arguments[ 1 ]);\r\n if (typeof r != 'undefined' && !r) {\r\n return false;\r\n }\r\n return true;\r\n }\r\n }\r\n\r\n if (typeof standardRouteCode != 'undefined') {\r\n var isRun = false;\r\n var me = this;\r\n\r\n // ΠžΠ±Π΅Ρ€Ρ‚ΠΊΠ° Π½Π°Π΄ callback с Π²Ρ‹Π·Π²ΠΎΠ²ΠΎΠΌ Before ΠΈ After событий.\r\n var mainFuncWrapper = function (result) {\r\n if (typeof result == 'undefined' || result) {\r\n mainFunc();\r\n me.fire('After' + eventName);\r\n }\r\n isRun = true;\r\n };\r\n\r\n var r = fire('Before' + eventName, mainFuncWrapper);\r\n if (!isRun) {\r\n mainFuncWrapper(r);\r\n }\r\n }\r\n else {\r\n // Ссли Π½Π΅ ΠΎΠ·Π½Π°Ρ‡Π΅Π½ standardRouteId, Ρ‚ΠΎ Π±Π΅Ρ€Π΅ΠΌ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ fireAll (находимся Π² Π·Π°Π΄Π°Ρ‡Π΅ ΠΈ Ρ‚Π°ΠΌ всС разруливаСтся).\r\n this._super(eventName, mainFunc);\r\n }\r\n }\r\n});","var JobModel = BaseObjectModel.extend({\r\n className: \"JobModel\",\r\n\r\n /**\r\n * Π—Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ события Π±Π»ΠΎΠΊΠ° Ρ‚ΠΈΠΏΠΎΠ²ΠΎΠ³ΠΎ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚Π°.\r\n *\r\n * @method WebAccess.models.JobModel#loadEvents\r\n * @param {object} standardRouteEvents Бобытия Π±Π»ΠΎΠΊΠ° Ρ‚ΠΈΠΏΠΎΠ²ΠΎΠ³ΠΎ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚Π°\r\n * @since 5.7.0\r\n */\r\n loadEvents: function (standardRouteEvents) {\r\n var me = this;\r\n var currentStandardRouteEvents = standardRouteEvents[this.LeadTaskStandartRouteCode];\r\n // НайдСм Π½ΡƒΠΆΠ½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ (для Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ ВМ-Π°).\r\n if (typeof currentStandardRouteEvents != 'undefined') {\r\n // ... ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΠ°. Если подходящСго (ΠΏΠΎ Π˜Π”) Π½Π΅Ρ‚, Ρ‚ΠΎ Π½Π΅ Π±ΠΈΠ½Π΄ΠΈΠΌ.\r\n if (typeof currentStandardRouteEvents.blocks[this.WorkflowBlockID] != 'undefined') {\r\n $.each(currentStandardRouteEvents.blocks[this.WorkflowBlockID], function (eventName, eventCallback) {\r\n me.bind(eventName, eventCallback);\r\n });\r\n }\r\n }\r\n },\r\n\r\n /**\r\n * УстанавливаСт ΠΌΠ΅Ρ‚ΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ вызываСтся для всСх Π·Π°Π΄Π°Π½ΠΈΠΉ ΠΏΠΎ Ρ‚ΠΈΠΏΠΎΠ²ΠΎΠΌΡƒ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚Ρƒ ΠΏΠ΅Ρ€Π΅Π΄ запросом ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ².\r\n *\r\n * @method WebAccess.models.JobModel#bindBeforeAskingCommonEvent\r\n * @param {object} commonEvent Ѐункция, вызываСмая для всСх Π·Π°Π΄Π°Π½ΠΈΠΉ ΠΏΠΎ Ρ‚ΠΈΠΏΠΎΠ²ΠΎΠΌΡƒ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚Ρƒ\r\n * @since 5.7.0\r\n */\r\n bindBeforeAskingCommonEvent: function (commonEvent) {\r\n var me = this;\r\n if ($.isFunction(commonEvent)) {\r\n me.bind('BeforeParamAsking', commonEvent);\r\n }\r\n },\r\n\r\n /**\r\n * ВыполняСт Π·Π°Π΄Π°Π½ΠΈΠ΅ с Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ выполнСния.\r\n *\r\n * @method WebAccess.models.JobModel#performResult\r\n * @param {object} performResult Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния\r\n * @since 5.7.0\r\n */\r\n performResult: function (performResult) {\r\n Core.toolBars.job.performResult(performResult);\r\n },\r\n\r\n /**\r\n * ВыполняСт Π·Π°Π΄Π°Π½ΠΈΠ΅ ΠΏΠΎ ΠΊΠΎΠ΄Ρƒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° выполнСния.\r\n *\r\n * @method WebAccess.models.JobModel#performByResultCode\r\n * @param {string} performResultCode Код Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° выполнСния\r\n * @since 5.8.1\r\n */\r\n performByResultCode: (performResultCode) => {\r\n Core.toolBars.job.performByResultCode(performResultCode);\r\n },\r\n\r\n /**\r\n * ВыполняСт Π·Π°Π΄Π°Π½ΠΈΠ΅ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° выполнСния.\r\n *\r\n * @method WebAccess.models.JobModel#performByResultName\r\n * @param {string} performResultName Имя Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° выполнСния\r\n * @since 5.8.1\r\n */\r\n performByResultName: (performResultName) => {\r\n Core.toolBars.job.performByResultName(performResultName);\r\n },\r\n\r\n /**\r\n * ВыполняСт Π·Π°Π΄Π°Π½ΠΈΠ΅.\r\n *\r\n * @method WebAccess.models.JobModel#perform\r\n * @since 5.8.1\r\n */\r\n perform: () => {\r\n Core.toolBars.job.perform();\r\n },\r\n\r\n /**\r\n * Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ выполнСния задания.\r\n *\r\n * @method WebAccess.models.JobModel#performResults\r\n * @return {Core.jobs.performResults} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° Core.jobs.performResults – Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ выполнСния задания.\r\n * @since 5.8.1\r\n */\r\n performResults: () => {\r\n return Core.jobs.performResults;\r\n }\r\n});\r\n\r\n/**\r\n* Π’ΠΈΠΏ задания.\r\n* @enum {integer} JOB_KIND\r\n* @readonly\r\n* @global\r\n*/\r\nvar JOB_KIND = {\r\n /** Π—Π°Π΄Π°Ρ‡Π° */\r\n JOB: 0,\r\n /** Π£Π²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅ */\r\n NOTICE: 1,\r\n /** Π—Π°Π΄Π°Π½ΠΈΠ΅-ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ */\r\n CONTROLJOB: 2\r\n};","// НаслСдуСм свойства ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°\nvar ReferenceRecordModel = BaseObjectModel.extend({\r\n className: \"ReferenceRecordModel\",\n\n /**\r\n * ВыполняСт ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄.\r\n * @function ReferenceRecordModel.executeEntityMethod\r\n * @param {string} methodName Имя ΠΌΠ΅Ρ‚ΠΎΠ΄Π°.\r\n * @param {object[]} opt_parameters ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ ΠΌΠ΅Ρ‚ΠΎΠ΄.\n * @since 5.5.0.1000\n \r\n * @example \r\n * WebAccess.current.executeEntityMethod('MethodName').done(function(result) { console.log(result); });\r\n */\r\n executeEntityMethod: function (methodName, opt_parameters) {\r\n var d = $.Deferred();\r\n var me = this;\r\n var parameters = Array.prototype.slice.call(arguments, 1);\n\n var viewName = me.ReferenceView === 'undefined' ? \"\" : me.ReferenceView;\n WA.domainMethods.executeEntityMethod(\"/api/Reference.asmx/ExecuteEntityMethod\",\n new WA.Link(this.ID, OBJECT_TYPE.REFERENCE_RECORD, this.ReferenceCode),\n viewName, methodName, parameters).done(function (res) {\r\n var changes = res.Changes;\n var changedMultiSelects = res.ChangedMultiSelectRequisitesValues;\n if (me.form && me.form.isExist()) me.form.applyServerSideChanges(changes, changedMultiSelects);\n\n d.resolve(res.MethodResult);\r\n }).fail(function (errorMessage, res) {\r\n if (res) {\r\n if (res.Result) {\r\n var data = res.Result;\n var changes = data.Changes;\n var changedMultiSelects = data.ChangedMultiSelectRequisitesValues;\n if (me.form && me.form.isExist()) me.form.applyServerSideChanges(changes, changedMultiSelects);\r\n }\n d.reject(res.Error);\r\n } else {\r\n d.reject(errorMessage);\r\n }\r\n });\n\n return d.promise();\r\n },\r\n\r\n /**\r\n * ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅Ρ‚, доступнСн Π»ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄ для Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ справочника.\r\n * @function ReferenceRecordModel.isMethodAvailable\r\n * @param {string} methodName Имя ΠΌΠ΅Ρ‚ΠΎΠ΄Π°.\r\n * @return {boolean} True – ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ доступСн для Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ справочника, ΠΈΠ½Π°Ρ‡Π΅ False.\n * @since 5.5.0.1000\r\n */\n isMethodAvailable: function (methodName) {\r\n return WA.domainMethods.isMethodAvailable(\"/api/Reference.asmx/IsEntityMethodAvailable\", new WA.Link(this.ID, OBJECT_TYPE.REFERENCE_RECORD, this.ReferenceCode), methodName);\r\n }\r\n});","// НаслСдуСм свойства ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°\r\nvar FolderModel = BaseObjectModel.extend({\r\n className: \"FolderModel\"\r\n});","var WizardModel = BaseObjectModel.extend({\r\n init: function (data) {\r\n this._super(data);\r\n },\r\n className: \"WizardModel\"\r\n});","\"use strict\";\r\n\r\n/**\r\n* МодСль записи ΠΏΡ€Π°Π² доступа.\r\n*\r\n* @class AccessRightsEntryModel\r\n* @since 5.8.2.4000\r\n* @extends BaseObjectModel\r\n */\r\n\r\nlet AccessRightsEntryModel = BaseObjectModel.extend({\r\n\r\n /**\r\n * Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ модСль записи ΠΏΡ€Π°Π² доступа.\r\n * @method AccessRightsEntryModel#init\r\n * @param {integer} principalId Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΡΡƒΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΏΡ€Π°Π²\r\n * @param {bool} isGroupPrincipal ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΡΡƒΠ±ΡŠΠ΅ΠΊΡ‚ ΠΏΡ€Π°Π² являСтся Π³Ρ€ΡƒΠΏΠΏΠΎΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ\r\n * @param {ACCESS_RIGHTS} rightsType Π’ΠΈΠΏ ΠΏΡ€Π°Π² доступа\r\n */\r\n init(principalId, isGroupPrincipal, rightsType) {\r\n this._super();\r\n this.className = \"AccessRightsEntryModel\";\r\n\r\n this.principalId = principalId;\r\n this.isGroupPrincipal = isGroupPrincipal;\r\n this.rightsType = rightsType;\r\n }\r\n});","\"use strict\";\r\n\r\n/**\r\n* Π Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅\r\n* \r\n* @class Extension\r\n* @extends BaseObject\r\n* @property {string} name имя Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ\r\n* @param {string} itemSelector ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ элСмСнт страницы\r\n*/\r\n(function (global) {\r\n var Extension = BaseObject.extend({\r\n init: function (data) {\r\n $.extend(this, data);\r\n },\r\n\r\n name: \"\",\r\n\r\n /**\r\n * Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ это Π² качСствС Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ\r\n * @method Extension#setAsCurrent\r\n */\r\n setAsCurrent: function () {\r\n if (WebAccess.getLocation() != \"explorer\") Ext_Click(this, this.name, true);\r\n else Ext_Click(this, this.name, false);\r\n },\r\n\r\n /**\r\n * ΠŸΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ\r\n * @method Extension#reload\r\n */\r\n reload: function () {\r\n ReloadExtension(this.name);\r\n }\r\n });\r\n \r\n global.Extension = Extension;\r\n})(window);\r\n","\"use strict\";\r\n(function () {\r\n /**\r\n * Π‘Π°Π·ΠΎΠ²ΠΎΠ΅ пространство ΠΈΠΌΠ΅Π½.\r\n * БобствСнныС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π΄Π°Π½Π½ΠΎΠ³ΠΎ пространства доступны сразу, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, raise. \r\n * Для запуска ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹ послС ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ всСх ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΎΠ² WebAccess слуТит ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Π°Ρ функция WebAccess.ready(). \r\n *\r\n * Для доступа ΠΊ Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠΌ пространствам ΠΈΠΌΠ΅Π½, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ current ΠΈΠ»ΠΈ extensions, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ сначала Π΄ΠΎΠΆΠ΄Π°Ρ‚ΡŒΡΡ ΠΈΡ… ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ. \r\n * Если Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρƒ лишь с Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΈΠ· Π½ΠΈΡ…, ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹Π΅ deferred-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ SideBarInit, ToolBarInit. \r\n * @example\r\n * console.log(WebAccess.current); // Π’ΠΎΠ·Π²Ρ€Π°Ρ‚ΠΈΡ‚ пустой ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.\r\n * WebAccess.ready(function() {\r\n * console.log(\"Π˜Π½ΠΈΡ†Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Π°\");\r\n * console.log(this); //this = WebAccess;\r\n * console.log(WebAccess.current.toolBar); // ΠžΠ±ΡŠΠ΅ΠΊΡ‚ ΠΏΠ°Π½Π΅Π»ΠΈ инструмСнтов ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½ ΠΈ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½.\r\n * console.log(WebAccess.current.sideBar); // ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Π±ΠΎΠΊΠΎΠ²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½ ΠΈ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½.\r\n * });\r\n *\r\n * // Если прСдполагаСтся Ρ€Π°Π±ΠΎΡ‚Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌΠΈ ΠΏΠ°Π½Π΅Π»ΠΈ \r\n * // инструмСнтов, ΠΌΠΎΠΆΠ½ΠΎ Π½Π΅ Π΄ΠΎΠΆΠΈΠ΄Π°Ρ‚ΡŒΡΡ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ всСх ΠΊΠΎΠΌΠΏΠ½Π΅Π½Ρ‚ΠΎΠ².\r\n * $.when(WebAccess.ToolBarInit).done(function () {\r\n * console.log(\"Π˜Π½ΠΈΡ†Π°Π»ΠΈΠ·Π°Ρ†ΠΈΡ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Π°\");\r\n * console.log(WebAccess.current.toolBar); // ΠžΠ±ΡŠΠ΅ΠΊΡ‚ ΠΏΠ°Π½Π΅Π»ΠΈ инструмСнтов ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½ ΠΈ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½.\r\n * console.log(WebAccess.current.sideBar); // ΠœΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ пустым ΠΈ Π΅Ρ‰Π΅ Π½Π΅ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ. \r\n * });\r\n * @global\r\n * @namespace WebAccess\r\n * @alias WA\r\n */\r\n var WebAccess = function () {\r\n var self = this;\r\n\r\n\r\n this._whenInitComplete = [];\r\n\r\n /**\r\n * ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ. ДобавляСт Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π² ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ Π½Π° исполнСниС, ΠΊΠΎΠ³Π΄Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½Π°Ρ модСль WebAccess Π³ΠΎΡ‚ΠΎΠ²Π° ΠΊ использованию.\r\n *\r\n * @function WebAccess.ready\r\n * @param {function} func Бсылка Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, которая Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π·Π²Π°Π½Π° Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ ΠΏΠΎ готовности ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΊ использованию\r\n * @return {object} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ WebAccess\r\n */\r\n this.ready = function (func) {\r\n if (!func) {\r\n WA.raise('ERR_NOT_ALL_REQUIRED_ARGUMENTS_HAVE_BEEN_SUPLIED', 'function');\r\n } else if (!$.isFunction(func)) {\r\n WA.raise('ERR_INVALID_PARAMETER_TYPE');\r\n } else {\r\n if (WA.Init.state() === 'pending') {\r\n this._whenInitComplete.push(func);\r\n } else {\r\n func.apply(this);\r\n }\r\n\r\n }\r\n return this;\r\n };\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /*\r\n * ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π° ΠΈΠ· URL\r\n * @private\r\n * @since 5.2.0.1100\r\n */\r\n this._getFileExtensionFromURL = function (url) {\r\n if (!url) return null;\r\n if (url.indexOf('.') === -1) return null;\r\n var parts = url.split(\"?\")[0].split('.');\r\n return parts[parts.length - 1];\r\n };\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ДинамичСская ΠΏΠΎΠ΄Π³Ρ€ΡƒΠ·ΠΊΠ° рСсурсов. \r\n * ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ сторонний JS Ρ„Π°ΠΉΠ» ΠΈΠ»ΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ стилСй CSS.\r\n * Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° JS-Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈΠ»ΠΈ Ρ‚Π°Π±Π»ΠΈΡ† стилСй CSS происходит синхронно Π² порядкС ΠΎΡ‡Π΅Ρ€Π΅Π΄ΠΈ.\r\n *\r\n * @function WebAccess.include\r\n * @param {string} url ΠΠ±ΡΠΎΠ»ΡŽΡ‚Π½Ρ‹ΠΉ ΠΈΠ»ΠΈ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΡƒΡ‚ΡŒ ΠΊ Ρ†Π΅Π»Π΅Π²ΠΎΠΌΡƒ Ρ„Π°ΠΉΠ»Ρƒ\r\n * @raise ERR_UNSUPPORTED_TYPE_RESOURCE - Π”Π°Π½Π½Ρ‹ΠΉ Ρ‚ΠΈΠΏ рСсурсов Π½Π΅ поддСрТиваСтся \r\n * @return WebAccess\r\n * @example \r\n * // ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ сторонний Ρ„Π°ΠΉΠ» General.js. \r\n * WebAccess.include('/js/Extension.RecordOffice/General.js');\r\n * // ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ для ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… справочников Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΉ Ρ„Π°ΠΉΠ» для исполнСния спСцифичСской Π»ΠΎΠ³ΠΈΠΊΠΈ ΠΈΡ… Ρ€Π°Π±ΠΎΡ‚Ρ‹.\r\n * varΒ refCode = WebAccess.current.getReferenceCode();Β \r\n * switchΒ (refCode) {Β \r\n * caseΒ 'РКК'Β :Β \r\n * WebAccess.include('/js/Extension.RecordOffice/RRCReference.js');Β \r\n * break;Β \r\n * caseΒ 'RRCAssignments':Β \r\n * WebAccess.include('/js/Extension.RecordOffice/RRCAssignmentsReference.js');Β \r\n * break;Β \r\n * caseΒ 'Π“Π”Π›':Β \r\n * WebAccess.include('/js/Extension.RecordOffice/LogsReference.js');Β \r\n * break;Β \r\n * caseΒ 'IndividualUserModuleSettings':Β \r\n * WebAccess.include('/js/Extension.RecordOffice/IndividualUserModuleSettingsReference.js');Β \r\n * break;Β \r\n * };\r\n */\r\n this.include = function (url) {\r\n var type = this._getFileExtensionFromURL(url);\r\n switch (type) {\r\n case \"js\":\r\n $.ajaxSetup({ async: false, cache: true });\r\n $.getScript(url);\r\n $.ajaxSetup({ async: true, cache: false });\r\n break;\r\n case \"css\":\r\n var link = document.createElement(\"link\");\r\n link.setAttribute(\"rel\", \"stylesheet\");\r\n link.setAttribute(\"type\", \"text/css\");\r\n link.setAttribute(\"href\", url);\r\n document.getElementsByTagName(\"head\")[0].appendChild(link);\r\n break;\r\n default:\r\n this.raise(\"ERR_UNSUPPORTED_TYPE_RESOURCE\", type);\r\n break;\r\n }\r\n return this;\r\n };\r\n\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n \r\n\r\n /**\r\n * ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΠ΅Ρ‚ доступ ΠΊ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ Π²Π΅Π±-модулях ΠΈ срСдства для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π½ΠΈΠΌΠΈ.\r\n * @namespace WebAccess.extensions\r\n */\r\n this.extensions = {};\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΠ΅Ρ‚ инструмСнты для гСнСрирования динамичСских ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚. \r\n * НапримСр, ΠΌΠΎΠ΄Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΎΠΊΠΎΠ½ ΠΈΠ»ΠΈ контСкстных мСню.\r\n * НС Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ использования Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ WebAccess.ready.\r\n * @namespace WebAccess.components\r\n * @since 5.0.0.4000 \r\n */\r\n this.components = this.CMP = {};\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΠ΅Ρ‚ инструмСнты для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π²Π΅Π±-сСрвисами. \r\n * НС Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ использования Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ WebAccess.ready.\r\n * @namespace WebAccess.services\r\n * @alias SRV\r\n * @since 5.0.0.4000 \r\n */\r\n this.services = this.SRV = {};\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΠ΅Ρ‚ инструмСнты для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с шаблонами. \r\n * НС Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ использования Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ WebAccess.ready.\r\n * @namespace WebAccess.templates\r\n * @alias TMPL\r\n * @since 5.0.0.4213\r\n */\r\n this.templates = this.TMPL = {};\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΠ΅Ρ‚ инструмСнты для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ„Π°Π±Ρ€ΠΈΠΊΠ°ΠΌΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ², ΠΏΠ°ΠΏΠΊΠΎΠΊ, Π·Π°Π΄Π°Ρ‡, Π·Π°Π΄Π°Π½ΠΈΠΉ, справочников, ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ² ΠΈ сцСнариСв.\r\n *\r\n * @namespace WebAccess.factories\r\n * @alias TMPL\r\n * @since 5.0.0.7300\r\n */\r\n this.factories = this.FC = {};\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΠ΅Ρ‚ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ для Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ классов, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°ΠΌΠΈ. \r\n * НС ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для создания ΡΠ°ΠΌΠΎΡΡ‚ΠΎΡΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². \r\n * НС Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ использования WebAccess.ready.\r\n * @namespace WebAccess.mixins\r\n * @since 5.0.0.7100\r\n */\r\n this.mixins = {};\r\n\r\n\r\n /**\r\n * ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΠ΅Ρ‚ инструмСнты для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с кэшСм. НС Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ использования Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ WebAccess.ready.\r\n * @namespace WebAccess.cache\r\n * @since 5.0.0.7100\r\n */\r\n this.cache = {};\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΠ΅Ρ‚ инструмСнты для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½Ρ‹ΠΌΠΈ функциями Is-Builder. НС Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ использования Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ WebAccess.ready.\r\n * @namespace WebAccess.isbuilder\r\n * @since 5.5.0.5500\r\n */\r\n this.isbuilder = this.ISB = {};\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΠ΅Ρ‚ инструмСнты для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с историСй. \r\n * Π“Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ события измСнСния стСка истории. \r\n * \r\n * @namespace WebAccess.history\r\n */\r\n this.history = {};\r\n\r\n /**\r\n * ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΠ΅Ρ‚ доступ ΠΊ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½Ρ‹ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².\r\n * @namespace WebAccess.domainMethods\r\n * @since 5.5.0.1000\r\n */\r\n this.domainMethods = {};\r\n\r\n /**\r\n * ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΠ΅Ρ‚ доступ ΠΊ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½Ρ‹ΠΌ дСйствиям.\r\n * @namespace WebAccess.actions\r\n * @since 5.6.0.1000\r\n */\r\n this.actions = {};\r\n\r\n /**\r\n * ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΠ΅Ρ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠΈ. НапримСр, ΠΎ вСрсии Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°, ΠΎΠ± ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС, ΠΎ устройствС.\r\n * @namespace WebAccess.environment\r\n * @property {string} ua Π‘Ρ‚Ρ€ΠΎΠΊΠ° User-agent\r\n * @alias ENV\r\n * @since 5.0.0.4200\r\n *\r\n * @example \r\n * if (WA.ENV.browser.name == \"Firefox\") { alert(\"Π’Π΅ΠΊΡƒΡ‰ΠΈ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ Firefox\"); } \r\n */\r\n\r\n this.environment = this.ENV = window.environmentInfo;\r\n\r\n /**\r\n * Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΠ± ΠΈΠΌΠ΅Π½ΠΈ ΠΈ вСрсии Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°.\r\n *\r\n * @namespace WebAccess.environment.browser \r\n * @property {string} name Имя Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°. Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Β«FirefoxΒ»\r\n * @property {string} major Основная вСрсия Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Β«23Β»\r\n * @property {string} version Полная вСрсия, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Β«23.0Β»\r\n *\r\n * @example \r\n * if (WA.ENV.browser.name == \"Firefox\") { alert(\"Π’Π΅ΠΊΡƒΡ‰ΠΈ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ Firefox\"); } \r\n */\r\n\r\n /**\r\n * Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΠ± Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠ³ΠΎ процСссора.\r\n *\r\n * @namespace WebAccess.environment.cpu\r\n * @property {string} architecture Π‘Π±ΠΎΡ€ΠΊΠ° Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Β«amd64Β»\r\n */\r\n\r\n /**\r\n * Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΠ± ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΌ мобильном устройствС.\r\n *\r\n * @namespace WebAccess.environment.device\r\n * @property {string} model МодСль устройства\r\n * @property {string} vendor ΠŸΠΎΡΡ‚Π°Π²Ρ‰ΠΈΠΊ\r\n * @property {string} type Π’ΠΈΠΏ устройства\r\n */\r\n\r\n /**\r\n * Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Π΄Π²ΠΈΠΆΠΊΠ΅ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°. \r\n *\r\n * @namespace WebAccess.environment.engine\r\n * @property {string} name Имя Π΄Π²ΠΈΠΆΠΊΠ°, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Β«GeckoΒ» \r\n * @property {string} version Полная вСрсия, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Β«23.0Β»\r\n */\r\n\r\n /**\r\n * Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΠ± ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмС.\r\n * @namespace WebAccess.environment.os\r\n * @property {string} name Имя ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΎΠΉ систСмы, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Β«WindowsΒ» \r\n * @property {string} version ВСрсия, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Β«8Β»\r\n */\r\n\r\n this.environment.isMobile = function () {\r\n var agent = navigator.userAgent.toLowerCase();\r\n var oldMobileBrowser = (agent.indexOf(\"series60\") != -1) || (agent.indexOf(\"symbian\") != -1) || (agent.indexOf(\"windows ce\") != -1) || (agent.indexOf(\"blackberry\") != -1);\r\n var modernMobile = typeof orientation != 'undefined' ? true : false;\r\n return oldMobileBrowser || modernMobile;\r\n };\r\n\r\n this.environment.isAndroid = function () {\r\n return self.environment.os.name === \"Android\";\r\n }\r\n\r\n this.environment.isIOS = function () {\r\n return self.environment.os.name === \"iOS\";\r\n }\r\n\r\n this.environment.isTouch = function () {\r\n var agent = navigator.userAgent.toLowerCase(); //todo: Π·Π°ΠΊΠ΅ΡˆΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΠΆΠ΅\r\n // If touch events are defined we are in a modern touch screen OS \r\n return ('ontouchstart' in document.documentElement) ? true : false || agent.indexOf(\"touch\") !== -1 || agent.indexOf(\"tablet\") !== -1;\r\n };\r\n\r\n /**\r\n * ΠžΡ€ΠΈΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ экрана.\r\n */\r\n this.environment.isVertical = function () {\r\n if (($(window).height() / $(window).width()) > 1) return true;\r\n else return false;\r\n };\r\n\r\n /**\r\n * ΠŸΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΠ°.\r\n * \r\n * @deprecated \r\n */\r\n this.environment.platform = \"unknown\"\r\n if (navigator.appVersion.indexOf(\"Win\") != -1) this.environment.platform = \"windows\";\r\n if (navigator.appVersion.indexOf(\"Mac\") != -1) this.environment.platform = \"macos\";\r\n if (navigator.appVersion.indexOf(\"Linux\") != -1 || navigator.appVersion.indexOf(\"X11\") != -1) this.environment.platform = \"linux\";\r\n\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * deferred-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚. Π‘ΠΎΠΎΠ±Ρ‰Π°Π΅Ρ‚ ΠΎ готовности ΠΊ использованию клиСнтской ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ послС Π΅Π΅ ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ.\r\n *\r\n * @member WebAccess.Init\r\n */\r\n this.Init = $.Deferred();\r\n\r\n /**\r\n * deferred-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚. Π‘ΠΎΠΎΠ±Ρ‰Π°Π΅Ρ‚ ΠΎ готовности ΠΊ использованию пространства ΠΈΠΌΠ΅Π½ WebAccess.current.sideBar послС Π΅Π³ΠΎ ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ.\r\n * ΠŸΡ€ΠΈ использовании WebAcces.ready функция Π±ΡƒΠ΄Π΅Ρ‚ исполнСна нСсколько ΠΏΠΎΠ·ΠΆΠ΅, \r\n * Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ функция WeabAcces.ready доТидаСтся ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ всСх deferred-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΡ‚ΠΎΠΌ исполняСт ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½ΡƒΡŽ Π΅ΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ.\r\n *\r\n * @member WebAccess.SideBarInit\r\n *\r\n * @example\r\n * $.when(WebAccess.SideBarInit).done(function () {\r\n *Β Β WebAccess.current.sideBar.tabs.create(\"FilterRRC\").enable().setLabel(L(\"RRC_FILTER\")).setIcon(\"SidebarAndExtensions/EDocumentSearch_24.png\").setHtml(createFilterTabs(\"РКК\"));\r\n *Β Β WebAccess.current.sideBar.tabs.create(\"FilterRRCAssignment\").enable().setLabel(L(\"RRC_ASSIGNMENTS_FILTER\")).setIcon(\"SidebarAndExtensions/EDocumentSearch_24.png\").setHtml(createFilterTabs(\"RRCAssignments\"));\r\n * });\r\n */\r\n this.SideBarInit = $.Deferred();\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n\r\n /**\r\n * deferred ΠΎΠ±ΡŠΠ΅ΠΊΡ‚. Π‘ΠΎΠΎΠ±Ρ‰Π°Π΅Ρ‚ ΠΎ готовности ΠΊ использованию пространства ΠΈΠΌΠ΅Π½ WebAccesst.agent послС Π΅Π³ΠΎ ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ.\r\n * @since 5.1.0.1500\r\n * @member WebAccess.AgentInit \r\n */\r\n this.AgentInit = $.Deferred();\r\n \r\n\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * deferred ΠΎΠ±ΡŠΠ΅ΠΊΡ‚. Π‘ΠΎΠΎΠ±Ρ‰Π°Π΅Ρ‚ ΠΎ готовности ΠΊ использованию пространства ΠΈΠΌΠ΅Π½ WebAccess.current.toolBar послС Π΅Π³ΠΎ ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ.\r\n * @member WebAccess.ToolBarInit\r\n */\r\n this.ToolBarInit = $.Deferred();\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * deferred ΠΎΠ±ΡŠΠ΅ΠΊΡ‚. Π‘ΠΎΠΎΠ±Ρ‰Π°Π΅Ρ‚ ΠΎ готовности ΠΊ использованию пространства ΠΈΠΌΠ΅Π½ WebAccess.current.form.controls послС Π΅Π³ΠΎ ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ.\r\n * @member WebAccess.FormControlsInit\r\n */\r\n this.FormControlsInit = $.Deferred();\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * deferred ΠΎΠ±ΡŠΠ΅ΠΊΡ‚. Π‘ΠΎΠΎΠ±Ρ‰Π°Π΅Ρ‚ ΠΎ готовности ΠΊ использованию пространства ΠΈΠΌΠ΅Π½ WebAccess.current.details послС Π΅Π³ΠΎ ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ.\r\n * @member WebAccess.DetailsInit\r\n */\r\n this.DetailsInit = $.Deferred();\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * deferred ΠΎΠ±ΡŠΠ΅ΠΊΡ‚. Π‘ΠΎΠΎΠ±Ρ‰Π°Π΅Ρ‚ ΠΎ готовности ΠΊ использованию пространства ΠΈΠΌΠ΅Π½ WebAccess.current.objectList послС Π΅Π³ΠΎ ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ.\r\n * @member WebAccess.ObjectListInit\r\n */\r\n this.ObjectListInit = $.Deferred();\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n this._DetailsGridInit = $.Deferred();\r\n\r\n /**\r\n * deferred ΠΎΠ±ΡŠΠ΅ΠΊΡ‚. Π‘ΠΎΠΎΠ±Ρ‰Π°Π΅Ρ‚ ΠΎ готовности ΠΊ использованию пространства ΠΈΠΌΠ΅Π½ WebAccess.current.user послС послС Π΅Π³ΠΎ ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ\r\n * @since 5.0.0.7200\r\n * @member WebAccess.UserInfoInit\r\n */\r\n this.UserInfoInit = $.Deferred();\r\n this._userInfoInit = $.Deferred();\r\n\r\n \r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΠ΅Ρ‚ инструмСнты для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠ΅ΠΉ, ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‰Π΅ΠΉ процСсс Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ.\r\n *\r\n * @namespace WebAccess.current.spinner \r\n * @since 5.0.0.7300 \r\n */\r\n\r\n /**\r\n * ΠžΡ‚Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ запуск Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ процСсса Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ.\r\n *\r\n * @method WebAccess.current.spinner.showDelayed\r\n * @param {Integer} [opt_delay] Π—Π°Π΄Π΅Ρ€ΠΆΠΊΠ° запуска Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ Π² миллисСкундах\r\n * @return {WebAccess.current.spinner} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° spinner.\r\n * @since 5.0.0.7300\r\n */\r\n\r\n /**\r\n * ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΡŽ процСсса Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ.\r\n *\r\n * @method WebAccess.current.spinner.show\r\n * @return {WebAccess.current.spinner} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° spinner.\r\n * @since 5.0.0.7300\r\n */\r\n\r\n /**\r\n * ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΡŽ процСсса Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π² Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅.\r\n *\r\n * @method WebAccess.current.spinner.showInDialog\r\n * @param {Integer} [opt_delay] Π—Π°Π΄Π΅Ρ€ΠΆΠΊΠ° запуска Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ Π² миллисСкундах\r\n * @return {WebAccess.current.spinner} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° spinner.\r\n * @since 5.0.0.7300\r\n */\r\n\r\n /**\r\n * Π‘ΠΊΡ€Ρ‹Ρ‚ΡŒ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΡŽ процСсса Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ.\r\n *\r\n * @method WebAccess.current.spinner.hide\r\n * @param {String} [opt_message] CΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠΈ процСсса Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ.\r\n * @param {Integer} [opt_delay] Π—Π°Π΄Π΅Ρ€ΠΆΠΊΠ° запуска Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ Π² миллисСкундах\r\n * @param {Integer} [opt_callback] Ѐункция, которая Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΏΡƒΡ‰Π΅Π½Π° послС скрытия Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ.\r\n * @return {WebAccess.current.spinner} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° spinner.\r\n * @since 5.0.0.7300\r\n */\r\n\r\n\r\n\r\n /**\r\n * ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΠ΅Ρ‚ инструмСнты для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²Ρ‹ΠΌΠΈ сообщСниями.\r\n *\r\n * @since 5.0.0.7300\r\n * @namespace WebAccess.current.inlineHint\r\n */\r\n\r\n /**\r\n * ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ с ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ΠΌ.\r\n *\r\n * @function WebAccess.current.inlineHint.showWarning\r\n * @param {String} message Основной тСкст прСдупрСТдСния\r\n * @param {String} [opt_details] Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ тСкст, ΠΎΠ±ΡŠΡΡΠ½ΡΡŽΡ‰ΠΈΠΉ ΡΡƒΡ‚ΡŒ прСдупрСТдСния\r\n * @return {WebAccess.current.inlineHint} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° inlineHint.\r\n * @since 5.0.0.7300\r\n */\r\n\r\n /**\r\n * ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ с тСкстом ошибки.\r\n *\r\n * @function WebAccess.current.inlineHint.showError\r\n * @param {String} message Основной тСкст ошибки\r\n * @param {String} [opt_details] Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ тСкст, ΠΎΠ±ΡŠΡΡΠ½ΡΡŽΡ‰ΠΈΠΉ ΠΎΡˆΠΈΠ±ΠΊΡƒ\r\n * @return {WebAccess.current.inlineHint} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° inlineHint.\r\n */\r\n\r\n /**\r\n * ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ с ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ.\r\n *\r\n * @function WebAccess.current.inlineHint.showInfo\r\n * @param {String} message Основной тСкст сообщСния\r\n * @param {String} [opt_details] Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ тСкст, ΠΎΠ±ΡŠΡΡΠ½ΡΡŽΡ‰ΠΈΠΉ ΡΡƒΡ‚ΡŒ сообщСния\r\n * @return {WebAccess.current.inlineHint} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° inlineHint.\r\n * @since 5.1.0.1511\r\n */\r\n\r\n /**\r\n * ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ сообщСния.\r\n *\r\n * @function WebAccess.current.inlineHint.show\r\n * @param {String} message сОсновной тСкст сообщСния\r\n * @param {String} [opt_details] Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ тСкст\r\n * @param {MESSAGE_TYPE} [opt_messageType] Π’ΠΈΠΏ сообщСния\r\n * @return {WebAccess.current.inlineHint} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° inlineHint.\r\n */\r\n \r\n /**\r\n * Π‘ΠΊΡ€Ρ‹Ρ‚ΡŒ послСднСС ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ΅ сообщСниС.\r\n *\r\n * @function WebAccess.current.inlineHint.hide \r\n * @return {WebAccess.current.inlineHint} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° inlineHint.\r\n * @since 5.0.0.7300\r\n */\r\n \r\n /**\r\n * Π‘ΠΊΡ€Ρ‹Ρ‚ΡŒ всС сообщСния.\r\n *\r\n * @function WebAccess.current.inlineHint.hideAll\r\n * @static\r\n * @since 5.0.0.7300\r\n */\r\n\r\n $.when(this.FormControlsInit).done(function () {\r\n if (!$('html').hasClass('mobile') && !self.current.inlineHint) {\r\n self.current.spinner = new WA.CMP.notifications.Spinner();\r\n self.current.inlineHint = new WA.CMP.notifications.InlineHint();\r\n }\r\n });\r\n\r\n\r\n /**\r\n * deferred ΠΎΠ±ΡŠΠ΅ΠΊΡ‚. Π‘ΠΎΠΎΠ±Ρ‰Π°Π΅Ρ‚ ΠΎ готовности ΠΊ использованию пространства ΠΈΠΌΠ΅Π½ WebAccess.extensions послС Π΅Π³ΠΎ ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ.\r\n * @member WebAccess.ExtensionsInit\r\n */\r\n this.ExtensionsInit = $.Deferred();\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * deferred ΠΎΠ±ΡŠΠ΅ΠΊΡ‚. Π‘ΠΎΠΎΠ±Ρ‰Π°Π΅Ρ‚ ΠΎ готовности ΠΊ использованию Π΄Π΅Ρ€Π΅Π²Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²\r\n * @member WebAccess.ExtensionsInit\r\n * @since 5.2.0.1600\r\n * @comment Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ‚ΠΎΡ€Ρ‹, Π½Π΅ Π°ΠΊΡ†Π΅Π½Ρ‚ΠΈΡ€ΡƒΠΉΡ‚Π΅ Π½Π° Π½Π΅Π³ΠΎ ΠΌΠ½ΠΎΠ³ΠΎ внимания, нСмотря Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ½ Π½ΠΎΠ²Ρ‹ΠΉ.\r\n */\r\n this.FolderTreeInit = $.Deferred();\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /** @private */\r\n this._extensionsDataInit = $.Deferred();\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * deferred ΠΎΠ±ΡŠΠ΅ΠΊΡ‚. Π‘ΠΎΠΎΠ±Ρ‰Π°Π΅Ρ‚ ΠΎ готовности ΠΊ использованию пространства ΠΈΠΌΠ΅Π½ WebAccess.current.form послС Π΅Π³ΠΎ ΠΏΠΎΠ»Π½ΠΎΠΉ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ.\r\n * @member WebAccess.FormInit\r\n * @since 5.0.0.7100\r\n */\r\n this.FormInit = $.Deferred();\r\n\r\n\r\n /**\r\n * Когда ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ extensions заполняСтся Π΄Π°Π½Π½Ρ‹ΠΌΠΈ, дополняСм Π΅Π³ΠΎ Π΅Ρ‰Π΅ ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ.\r\n */\r\n $.when(this._extensionsDataInit).done(function () {\r\n for (var extension in self.extensions) {\r\n var ext = new Extension(self.extensions[extension]);\r\n self.extensions[extension] = ext;\r\n /**\r\n * Бсылка Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° Extension, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ…Ρ€Π°Π½ΠΈΡ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ Π²Π΅Π±-ΠΌΠΎΠ΄ΡƒΠ»Π΅.\r\n * @member WebAccess.extensions.current\r\n */\r\n if (ext.isCurrent) self.extensions.current = ext;\r\n }\r\n self.EXT = self.extensions;\r\n self.ExtensionsInit.resolve();\r\n });\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Когда всС элСмСнты Π±ΡƒΠ΄ΡƒΡ‚ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Ρ‹, Ρ‚ΠΎΠ³Π΄Π° Π²Ρ‹Π·ΠΎΠ²Π΅ΠΌ всС Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈΠ½ΠΈΡ†Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ.\r\n * @fixme Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ асинхронно\r\n */\r\n $.when(this.ToolBarInit,\r\n this.SideBarInit,\r\n this.FormControlsInit,\r\n this.DetailsInit,\r\n this.ExtensionsInit,\r\n this.ObjectListInit,\r\n this.FormInit,\r\n this.UserInfoInit).done(function () {\r\n self.Init.resolveWith(self);\r\n self._whenInitComplete.forEach(function (fn) {\r\n setTimeout(() => {\r\n fn.call(self);\r\n }, 0);\r\n });\r\n });\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n \r\n $('html').bind(PAGE_EVENTS.TAB_ON_AFTER_RENDER_NEW_MODEL, function () {\r\n self._whenInitComplete.forEach(function (fn) {\r\n fn.call(self);\r\n });\r\n });\r\n\r\n this.Task = new TaskModel();\r\n this.Job = new JobModel();\r\n this.Document = new DocumentModel();\r\n this.ReferenceRecord = new ReferenceRecordModel();\r\n this.Folder = new FolderModel();\r\n this.Wizard = new WizardModel();\r\n // Π”ΠΎΠ±Π°Π²ΠΈΠ» для ΠΎΡ‚Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ событий \"Π”ΠΎ запроса ΠΏΠ°Ρ€Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²\" ΠΏΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ ВМа.\r\n this.Events = {};\r\n\r\n /**\r\n * @ignore\r\n * @function WebAccess.setEvents\r\n * @todo ΠΊΠΎΠΌΡƒ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ это.\r\n */\r\n this.setEvents = function (events) {\r\n $.each(events, function (key, value) {\r\n self.Events[key] = value;\r\n });\r\n };\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π“Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅.\r\n * Если ΠΏΡ€ΠΈ срабатывании ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π½Π΅ Π±Ρ‹Π»ΠΎ ΠΎΡ‚Π»ΠΎΠ²Π»Π΅Π½ΠΎ конструкциСй try/catch ΠΈΠ»ΠΈ функция\r\n * Π½Π΅ Π±Ρ‹Π»Π° ΠΎΠ±Π΅Ρ€Π½ΡƒΡ‚Π° Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ tryCatchDecorator, Ρ‚ΠΎ выполняСмый сцСнарий остановится.\r\n *\r\n * @function WebAccess.raise\r\n * @param {string} error Код строки ошибки\r\n * @param {string} [value] ΠŸΠ΅Ρ€Π΅Π΄Π°Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ имя ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, Π²Ρ‹Π·Π²Π°Π²ΡˆΠ΅Π³ΠΎ ΠΎΡˆΠΈΠ±ΠΊΡƒ\r\n *\r\n * @example\r\n * // ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° сущСствования Π·Π°ΠΊΠ»Π°Π΄ΠΊΠΈ. Если Π·Π°ΠΊΠ»Π°Π΄ΠΊΠ° сущСствуСт, Ρ‚ΠΎ гСнСрируСтся ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅.\r\n * if (jExistingTab.length > 0) WebAccess.raise(\"ERR_TAB_WITH_THE_SAME_NAME_ALREADY_EXIST\", name);\r\n */\r\n this.raise = function (error, value) {\r\n let message = L(error);\r\n\r\n if (value) {\r\n message += `: ${value}`;\r\n }\r\n\r\n const exception = new Error(message);\r\n \r\n if (window.log) {\r\n log.error('DEFAULT', `${message}\\n${exception.stack}`);\r\n }\r\n\r\n exception.name = error;\r\n\r\n // ВыбрасываСм ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ выполняСмый сцСнарий.\r\n throw exception; \r\n };\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~// \r\n\r\n\r\n /**\r\n * АвтоматичСски ΠΎΡ‚ΠΎΠ±Ρ€Π°Ρ‚ΡŒ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΡ‚ΠΈ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. \r\n * Π’Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎΠ± ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ Π² ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΡƒΡŽ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ ошибок ΠΈ ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ. \r\n * НС рСкомСндуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² мСстах, Π³Π΄Π΅ Π½ΡƒΠΆΠ½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, особСнно ΠΏΡ€ΠΈ Ρ€Π°Π±ΠΎΡ‚Π΅ Π² Ρ†ΠΈΠΊΠ»Π°Ρ….\r\n *\r\n * @function WebAccess.tryCatchDecorator\r\n * @param {function} decoratedFunction дСкорируСмая функция\r\n * @since 5.0.0.4000 \r\n * @alias TCD\r\n *\r\n * @example\r\n * function ShowCustomizationWindow(el) {\r\n * ...\r\n *\t // ΠŸΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅.\r\n * ...\r\n * };\r\n * ShowCustomizationWindow = WebAccess.tryCatchDecorator(ShowCustomizationWindow);\r\n * // Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ выполнСния Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½ΠΎ, ΠΈ Π½Π΅ остановит дальнСйшСС Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ сцСнария.\r\n */\r\n this.tryCatchDecorator = this.TCD = function (decoratedFunction) {\r\n return function () {\r\n try {\r\n return decoratedFunction.apply(this, arguments);\r\n } catch (err) {\r\n if (window.log) log.error('DEFAULT', err);\r\n if (window.console) console.log(err);\r\n $.when(WA.FormControlsInit).then(() => {\r\n WA.CMP.NTF.InlineHint.hideAll();\r\n let message = `${L('JS_ERROR')} : ${err.message}`;\r\n WA.CR.inlineHint.showError(message, null, INLINE_HINT_PRIORITY.PRIMARY);\r\n });\r\n return null;\r\n }\r\n };\r\n };\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π—Π°ΠΊΠ΅ΡˆΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ мСстополоТСниС.\r\n * @private\r\n * @property WebAccess._location\r\n */\r\n this._location = '';\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ мСстополоТСниС.\r\n *\r\n * @function WebAccess.getLocation\r\n * @return {string} Π’Π΅ΠΊΡƒΡ‰Π΅Π΅ мСстонахоТдСниС, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ explorer, task, job, reference, wizard, about.\r\n * @example \r\n * if (WA.getLocation === 'explorer') {\r\n * console.log('Π’ Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΌΡ‹ находимся Π² ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊΠ΅ Π²Π΅Π±-доступа');\r\n * };\r\n */\r\n this.getLocation = () => {\r\n if (!this._location) {\r\n if (!window.location) return '';\r\n const path = window.location.pathname;\r\n this._location = path.substr(1, path.lastIndexOf('.') - 1).toLowerCase();\r\n }\r\n return this._location;\r\n };\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Π²Π΅Π±-доступ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚.\r\n *\r\n * @function WebAccess.isMobile\r\n * @return {boolean} True – ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ Π²Π΅Π±-доступ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚, ΠΈΠ½Π°Ρ‡Π΅ False.\r\n * @since 5.1.0.1505\r\n */\r\n this.isMobile = function () {\r\n return ($(\"html.mobile\").length > 0);\r\n };\r\n\r\n /**\r\n * Π’Ρ‹ΠΉΡ‚ΠΈ ΠΈΠ· ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊΠ° Π²Π΅Π±-доступа.\r\n *\r\n * @function WebAccess.logout\r\n * @return {WebAccess} ΠžΠ±ΡŠΠ΅Ρ‚ Ρ‚ΠΈΠΏΠ° WebAccess. \r\n * @since 5.0.0.7300\r\n */\r\n this.logout = () => {\r\n $.cookie('lang', null);\r\n\r\n if (!this.isMobile()) {\r\n if (WA.agent.isSessionInitialized()) {\r\n //FIXME: always ΠΏΠ΅Ρ€Π΅Π΄Π΅Π»Π°Ρ‚ΡŒ Π½Π° done ΠΈ fail\r\n WA.agent.isPluginAvailable('DocumentPlugin')\r\n .always((isAvailableResponse) => {\r\n //Π‘ΠΎΠΎΠ±Ρ‰Π°Π΅ΠΌ Π°Π³Π΅Π½Ρ‚Ρƒ ΠΎ Π²Ρ‹Ρ…ΠΎΠ΄Π΅\r\n if (isAvailableResponse) {\r\n WA.agent.endSession();\r\n }\r\n });\r\n } \r\n }\r\n\r\n //Π—Π°ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ сСссию\r\n CallService('/Authentication.asmx/Logout', {}, () => window.location = 'Login.aspx');\r\n return this;\r\n };\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n };\r\n\r\n window.WebAccess = window.WA = new WebAccess();\r\n})();\r\n\r\n","\"use strict\";\r\n(function pluginMixin(global) {\r\n\r\n /**\r\n * ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΠ΅Ρ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ для для Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ классов.\r\n *\r\n * @mixin WebAccess.mixins.pluginMixin\r\n * @since 5.2.0.1100\r\n */\r\n global.pluginMixin = { \r\n _plugins: [],\r\n\r\n /**\r\n * ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² конструктора. Если Π² Π½Π΅Π³ΠΎ Π±Ρ‹Π» ΠΏΠ΅Ρ€Π΅Π΄Π°Π½\r\n * ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ со списком ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ², Ρ‚ΠΎ зарСгистрируСм ΠΈΡ… сразу ΠΆΠ΅.\r\n * @method WebAccess.mixins.pluginMixin#_parseArguments\r\n * @private\r\n * @since 5.2.0.1100\r\n */\r\n _parseArguments: function () { \r\n var me = this;\r\n me._plugins = [];\r\n for (var arg = 0; arg < arguments.length; ++arg) {\r\n var param = arguments[arg];\r\n if ($.isPlainObject(param) && param.hasOwnProperty('plugins')) {\r\n var plugins = param.plugins;\r\n\r\n for (var i = 0; i < plugins.length; i++) {\r\n var plugin = plugins[i];\r\n\r\n if (plugin && plugin.__isPlugin === true) {\r\n me.registerPlugin(plugin);\r\n } \r\n }\r\n };\r\n } \r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * РСгистрируСт ΠΏΠ»Π°Π³ΠΈΠ½. \r\n *\r\n * ВызываСтся нСявно, Ссли Π² коструктор класса Π±Ρ‹Π» ΠΏΠ΅Ρ€Π΅Π΄Π°Π½ список ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ².\r\n * МоТно Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ.\r\n * @param {WA.Plugin} plugin Плагин\r\n * @method WebAccess.mixins.pluginMixin#registerPlugin\r\n * @return {WebAccess.mixins.link}\r\n * @since 5.2.0.1100\r\n */\r\n registerPlugin: function (plugin) {\r\n var me = this;\r\n if (plugin.register && plugin.name) {\r\n var methods = plugin.register(me);\r\n\r\n for (var methodName in methods) {\r\n if (this.hasOwnProperty(methodName)) {\r\n log.warning('PLUGIN', '\"'+plugin.name + '\" overrides extiting method \"'+ methodName + '\"');\r\n }\r\n this[methodName] = methods[methodName];\r\n }\r\n\r\n this._plugins.push(plugin.name);\r\n log.info('PLUGIN', '\"' + plugin.name + '\" registered');\r\n } else {\r\n WA.raise(L('PASSED_OBJECT_IS_NOT_PLUGIN_CLASS_INSTANCE'));\r\n }\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅Ρ‚ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ зарСгистрированного ΠΏΠ»Π°Π³ΠΈΠ½Π° Π² классС. \r\n * @param {string} pluginName Имя ΠΏΠ»Π°Π³ΠΈΠ½Π°\r\n * @method WebAccess.mixins.pluginMixin#isPluginRegistered\r\n * @return {boolean}\r\n * @since 5.2.0.1100\r\n */\r\n isPluginRegistered: function(pluginName) {\r\n return this._plugins.indexOf(pluginName) !== -1;\r\n }\r\n\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n };\r\n\r\n})(window.WebAccess.mixins);","\"use strict\";\r\n\r\n(function (global) {\r\n\r\n var selectors = {\r\n details: '.Reference_Detail',\r\n links: 'a',\r\n buttons: '.CardForm_Button, .wizard-form__button',\r\n tabs: '.sidebar_item, .tab_item',\r\n searches: '.explorer-search-panel__item',\r\n toolBarButtons: '.toolbar_button',\r\n toolBarGroups: '.toolbar_group'\r\n };\r\n\r\n /**\r\n * ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΠ΅Ρ‚ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΡ… пространств ΠΈΠΌΠ΅Π½ для ΠΎΠ±Π΅Ρ€Ρ‚ΠΎΠΊ\r\n * элСмСнтов Ρ„ΠΎΡ€ΠΌΡ‹.\r\n *\r\n * @mixin WebAccess.mixins.formMixin\r\n * @since 5.2.0.1600\r\n * @property {WebAccess.components.wrappers.form.Form} form - Ρ„ΠΎΡ€ΠΌΠ°\r\n * @property {WebAccess.components.wrappers.details.Detail} details - Π΄Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Ρ€Π°Π·Π΄Π΅Π»Ρ‹\r\n * @property {WebAccess.components.wrappers.details.sideBar.SideBar} sideBar - Ρ„ΠΎΡ€ΠΌΠ°\r\n * @property {BaseObject} toolBar - панСль инструмСнтов\r\n * @property {window} toolBar - панСль инструмСнтов //TODO\r\n * @property {Object} states - deferred ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΎΠ±Π΅Ρ€Ρ‚ΠΎΠΊ\r\n */\r\n\r\n var formMixin = {\r\n Init: null,\r\n form: null,\r\n details: null,\r\n sideBar: null,\r\n toolBar: null,\r\n window: null,\r\n objectList: null,\r\n states: null,\r\n //---------------------------------------------------------------------//\r\n\r\n /**\r\n * Установка Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ deferred ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²;\r\n * @method _preInit\r\n * @private\r\n * @return {WebAccess.mixins.formMixin} Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅ΠΌΡ‹ΠΉ класс\r\n */\r\n _preInit: function () {\r\n var me = this;\r\n me.states = {\r\n objectList: $.Deferred(),\r\n details: $.Deferred(),\r\n toolBarButtons: $.Deferred(),\r\n toolBarGroups: $.Deferred(),\r\n tabs: $.Deferred(),\r\n tables: $.Deferred(),\r\n links: $.Deferred(),\r\n buttons: $.Deferred(),\r\n form: $.Deferred()\r\n };\r\n\r\n // Π‘Π»ΠΎΠΊ подписки Π½Π° события Π΄ΠΎΠ»ΠΆΠ΅Π½ Π½Π°Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ Π² mixin, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ\r\n // Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ для Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ², Ρ‚Π°ΠΊ ΠΈ для ΠΎΠΊΠ½Π° Π²Π΅Π±-доступа. Если пСрСнСсти этот\r\n // Π±Π»ΠΎΠΊ Π² current.js, ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для WA.CR\r\n $('html').one(PAGE_EVENTS.TOOLBAR_BUTTONS_INIT_DONE, () => {\r\n this.states.toolBarButtons.resolve();\r\n }).one(PAGE_EVENTS.TOOLBAR_GROUPS_INIT_DONE, () => {\r\n this.states.toolBarGroups.resolve();\r\n });\r\n\r\n me.Init = $.Deferred();\r\n return me;\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n /**\r\n * Π—Π°ΠΏΠΎΠ»Π΅Π½Π΅Π½ΠΈΠ΅ ΠΈ инициализация Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΡ… пространств ΠΈΠΌΠ΅Π½\r\n * @method _postInit\r\n * @private\r\n * @return {WebAccess.mixins.formMixin} Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅ΠΌΡ‹ΠΉ класс\r\n */\r\n _postInit: function () {\r\n var me = this;\r\n var WR = global.CMP.wrappers;\r\n\r\n me._containerInit.done(function () {\r\n me._jContainer = $(me.containerSelector);\r\n\r\n me.details = me._getSubItems(selectors.details, WR.details.Detail);\r\n me.states.details.resolve();\r\n\r\n me.form = new WR.form.Form(me._getFormData(), me.serviceURL, me);\r\n me.form.controls = new BaseObject();\r\n me.form.Init.then(function () {\r\n me.states.form.resolve();\r\n });\r\n\r\n if ($.isFunction(me._initObjectList)) {\r\n me._initObjectList();\r\n } else {\r\n console.warn('It is necessary to implement _initObjectList method in ' + me.className + '.');\r\n }\r\n me.states.objectList.resolve();\r\n\r\n me.form.controls.links = new global.Collection(me._getSubItems(selectors.links, WR.form.Link));\r\n me.states.links.resolve();\r\n me.form.controls.buttons = new global.Collection(me._getSubItems(selectors.buttons, WR.form.Button));\r\n me.states.buttons.resolve();\r\n\r\n if (!WA.isMobile()) {\r\n if (me.className === 'Current' && WA.getLocation() === 'explorer') { //спСцобработка\r\n me.sideBar = new WR.sideBar._ExplorerSideBar(me.containerSelector + ' ' + me._sideBarContainerSelector, me);\r\n me.sideBar.tabs = new WR.sideBar._ExplorerTabs(me._getSubItems(selectors.searches, WR.sideBar._ExplorerTab), me.containerSelector + ' ' + me._sideBarContainerSelector, me);\r\n } else {\r\n me.sideBar = new WR.sideBar.SideBar(me.containerSelector + ' ' + me._sideBarContainerSelector, me);\r\n me.sideBar.tabs = new WR.sideBar.Tabs(me._getSubItems(selectors.tabs, WR.sideBar.Tab), me.containerSelector + ' ' + me._sideBarContainerSelector, me);\r\n }\r\n }\r\n\r\n me.states.tabs.resolve();\r\n \r\n // Π’ Π΄ΠΈΠ°Π»ΠΎΠ³Π°Ρ… отсутствуСт Ρ‚ΡƒΠ»Π±Π°Ρ€, поэтому сгСнСрируСм события Π΅Π³ΠΎ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ\r\n if (me.className === 'FormDialog') {\r\n $('html').trigger(PAGE_EVENTS.TOOLBAR_BUTTONS_INIT_DONE);\r\n $('html').trigger(PAGE_EVENTS.TOOLBAR_GROUPS_INIT_DONE);\r\n } else if (!window.g_hasReactToolbar) {\r\n // ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ список ΠΊΠ½ΠΎΠΏΠΎΠΊ\r\n var buttons = new WR.toolBar.Buttons(me._getSubItems(selectors.toolBarButtons, WR.toolBar.ToolBarButton));\r\n me.toolBar = new BaseObject();\r\n if (!WA.isMobile()) {\r\n me.toolBar = new WR.toolBar.ToolBar();\r\n me.toolBar.buttons = buttons;\r\n $('html').trigger(PAGE_EVENTS.TOOLBAR_BUTTONS_INIT_DONE);\r\n me.toolBar.groups = new WR.toolBar.Groups(me._getSubItems(selectors.toolBarGroups, WR.toolBar.ToolBarGroup));\r\n }\r\n\r\n $('html').trigger(PAGE_EVENTS.TOOLBAR_GROUPS_INIT_DONE);\r\n } else {\r\n // TODO ΠΏΠ΅Ρ€Π΅Π΄Π΅Π»Π°Ρ‚ΡŒ рСсайз ΠΏΠ°Π½Π΅Π»ΠΈ Π²ΠΊΠ»Π°Π΄ΠΎΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½Π° Π½Π΅ зависСла ΠΎΡ‚ Ρ‚ΡƒΠ»Π±Π°Ρ€Π°.\r\n // Π’Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌ рСсайз ΠΏΠ°Π½Π΅Π»ΠΈ Π·Π°ΠΊΠ»Π°Π΄ΠΎΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½Π° ΠΏΠΎΠ΄ΡΡ‚Ρ€ΠΎΠΈΠ»Π°ΡΡŒ ΠΏΠΎΠ΄ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΎΠΊΠ½Π° ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ.\r\n me.sideBar.resizeHorizontalTabs()\r\n } \r\n });\r\n\r\n\r\n me._detailsGridInit.done(function () {\r\n var tableParams = {\r\n formData: me._getFormData(),\r\n grids: me._getGrids(),\r\n objectLink: me._getObjectLink(),\r\n objectView: me._getObjectView(),\r\n serviceURL: me.serviceURL,\r\n current: me\r\n };\r\n\r\n var tables = me._getSubItems(selectors.details, global.CMP.wrappers.form.Table, tableParams);\r\n var tablesInit = [];\r\n for (var key in tables) {\r\n var table = tables[key];\r\n tablesInit.push(table.Init);\r\n }\r\n $.when.apply(me, tablesInit).then(function () {\r\n me.form.controls.tables = tables;\r\n me.states.tables.resolve();\r\n });\r\n });\r\n\r\n var states = _(me.states).values();\r\n $.when.apply(me, states).always(function () {\r\n me.Init.resolve();\r\n if (!WA.isMobile()) {\r\n me._jContainer.find('input[type=\"text\"], textarea').not('.Req_Disabled').first().focus().select(); //#106799\r\n }\r\n });\r\n\r\n return me;\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n /**\r\n * Π—Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π΄ΠΎΡ‡Π΅Ρ€Π½Π΅Π³ΠΎ пространства ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΠ²ΡƒΡŽΡ‰ΠΈΠΌΠΈ элСмСнтами\r\n *\r\n * @param {string} elementSelector сСлСктор искомого элСмСнта\r\n * @param {Class} ComponentClass класс ΠΎΠ±Π΅Ρ€Ρ‚ΠΊΠΈ для элСмСнта\r\n * @param {Object} [params = this] ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ Π² конструктор элСмСнта ΠΎΠ±Π΅Ρ€Ρ‚ΠΊΠΈ\r\n * @private\r\n * @return {Array} список ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²-ΠΎΠ±Π΅Ρ€Ρ‚ΠΎΠΊ\r\n */\r\n _getSubItems: function (elementSelector, ComponentClass, params = {current: this}) {\r\n const items = {};\r\n\r\n const jSearchTarget = this._jContainer.find(elementSelector);\r\n jSearchTarget.each((index, domElement) => {\r\n const elem = new ComponentClass(domElement, params);\r\n const item = items[elem.name] = items[elem.name] || Object.assign(elem, {\r\n _jSubElements: [],\r\n });\r\n item._jSubElements.push(domElement);\r\n });\r\n\r\n return items;\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n\r\n /**\r\n * ΠΠ°Π²Π΅ΡˆΠΈΠ²Π°Π΅Ρ‚ Π½Π° всС Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹ строки Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π»ΠΎΠ³ΠΈΠΊΡƒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π²Π΅Π΄ΡƒΡ‰ΠΈΡ…/Π²Π΅Π΄ΠΎΠΌΡ‹Ρ….\r\n * @method _bindLeaderDrivenLoginOnRequisites\r\n * @private\r\n * @param {WebAccess.components.wrappers.form.Table} table Π’Π°Π±Π»ΠΈΡ†Π°, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π½Π°Π²Π΅ΡˆΠΈΠ²Π°Π΅Ρ‚ΡΡ Π»ΠΎΠ³ΠΈΠΊΠ° Π²Π΅Π΄ΡƒΡ‰ΠΈΡ…/Π²Π΅Π΄ΠΎΠΌΡ‹Ρ….\r\n * @param {WebAccess.components.wrappers.form.TableRow} row Π‘Ρ‚Ρ€ΠΎΠΊΠ°, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π½Π°Π²Π΅ΡˆΠΈΠ²Π°Π΅Ρ‚ΡΡ Π»ΠΎΠ³ΠΈΠΊΠ° Π²Π΅Π΄ΡƒΡ‰ΠΈΡ…/Π²Π΅Π΄ΠΎΠΌΡ‹Ρ….\r\n */\r\n _bindLeaderDrivenLoginOnRequisites: function (table, row) {\r\n var me = this;\r\n var reqs = row.requisites.toArray();\r\n for (var j = 0; j < reqs.length; j++) {\r\n var req = reqs[j];\r\n var currentColumnMetadata = table.getColumnMetadata(req.name);\r\n\r\n if (currentColumnMetadata) {\r\n var reqInfo = currentColumnMetadata.Requisite;\r\n if (reqInfo) {\r\n if (reqInfo.leaderRequisites && reqInfo.lookUpLeaderRequisites && reqInfo.drivenRequisites) {\r\n\r\n var leader = _($.parseJSON(reqInfo.leaderRequisites)).map(function (leadReq) {\r\n return { tableName: table.name, rowId: row.getRowId(), reqName: leadReq };\r\n });\r\n\r\n var lookup = $.parseJSON(reqInfo.lookUpLeaderRequisites);\r\n var driven = _($.parseJSON(reqInfo.drivenRequisites)).map(function (drivenReq) {\r\n return { tableName: table.name, rowId: row.getRowId(), reqName: drivenReq };\r\n });\r\n\r\n me._initLeaderDrivenLogic(req, leader, lookup, driven);\r\n }\r\n }\r\n }\r\n }\r\n },\r\n\r\n /**\r\n * ΠΠ°Π²Π΅ΡˆΠΈΠ²Π°Π΅Ρ‚ Π½Π° всС Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π»ΠΎΠ³ΠΈΠΊΡƒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π²Π΅Π΄ΡƒΡ‰ΠΈΡ…/Π²Π΅Π΄ΠΎΠΌΡ‹Ρ….\r\n * @method bindLeaderDrivenLogicToTable\r\n * @param {WebAccess.components.wrappers.form.Table} table Π’Π°Π±Π»ΠΈΡ†Π°, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π½Π°Π²Π΅ΡˆΠΈΠ²Π°Π΅Ρ‚ΡΡ Π»ΠΎΠ³ΠΈΠΊΠ° Π²Π΅Π΄ΡƒΡ‰ΠΈΡ…/Π²Π΅Π΄ΠΎΠΌΡ‹Ρ….\r\n */\r\n bindLeaderDrivenLogicToTable: function (table) {\r\n var me = this;\r\n // Для ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… строк.\r\n var rows = table.rows.toArray();\r\n for (var i = 0; i < rows.length; i++) {\r\n (function (_table, _row) {\r\n me._bindLeaderDrivenLoginOnRequisites(_table, _row);\r\n })(table, rows[i]);\r\n }\r\n // Для Π½ΠΎΠ²Ρ‹Ρ… строк.\r\n (function (_table) {\r\n _table.bind('addRow', function (newRow) { \r\n me._bindLeaderDrivenLoginOnRequisites(_table, newRow);\r\n });\r\n })(table);\r\n },\r\n\r\n /**\r\n * ΠΠ°Π²Π΅ΡˆΠΈΠ²Π°Π΅Ρ‚ Π½Π° всС Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ всСх Π΄Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ² Π»ΠΎΠ³ΠΈΠΊΡƒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π²Π΅Π΄ΡƒΡ‰ΠΈΡ…/Π²Π΅Π΄ΠΎΠΌΡ‹Ρ….\r\n * @method bindLeaderDrivenLogic\r\n */\r\n bindLeaderDrivenLogic: function () {\r\n var me = this;\r\n\r\n $.when(me.states.tables).then(function () {\r\n for (var tableName in me.form.controls.tables) {\r\n var table = me.form.controls.tables[tableName];\r\n (function (_table) {\r\n me.bindLeaderDrivenLogicToTable(_table);\r\n })(table);\r\n };\r\n });\r\n\r\n return me;\r\n },\r\n\r\n /**\r\n * Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ Π»ΠΎΠ³ΠΈΠΊΠΈ Π²Π΅Π΄ΡƒΡ‰ΠΈΡ…/Π²Π΅Π΄ΠΎΠΌΡ‹Ρ… для Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°.\r\n * @method _initLeaderDrivenLogic\r\n * @private\r\n * @param {WebAccess.components.wrappers.form.Table} req Π Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π½Π°Π²Π΅ΡˆΠΈΠ²Π°Π΅Ρ‚ΡΡ Π»ΠΎΠ³ΠΈΠΊΠ° Π²Π΅Π΄ΡƒΡ‰ΠΈΡ…/Π²Π΅Π΄ΠΎΠΌΡ‹Ρ….\r\n * @param {array} leader Π’Π΅Π΄ΡƒΡ‰ΠΈΠ΅ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹.\r\n * @param {array} lookup lookup-Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹.\r\n * @param {array} driven Π’Π΅Π΄ΠΎΠΌΡ‹Π΅ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹.\r\n * @return {WA.formMixin} Π’Π΅ΠΊΡƒΡ‰ΠΈΠΉ миксин.\r\n */\r\n _initLeaderDrivenLogic: function (req, leader, lookup, driven) {\r\n var me = this;\r\n\r\n if (!req || (leader.length === 0 && driven.length === 0)) return me;\r\n\r\n req.bind('editModeChange', function (editMode) {\r\n // Волько Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ рСдактирования ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ·Π½Π°Ρ‡ΠΈΡ‚ΡŒ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ ΠΏΠΎ значСниям Π²Π΅Π΄ΡƒΡ‰ΠΈΡ….\r\n if (!editMode) return;\r\n\r\n _(req._getControls()).each(function (jInput) {\r\n var rs = jInput.data('ReferenceSelectInstance');\r\n if (rs && rs.extraParams) {\r\n var extraParams = rs.extraParams;\r\n // УстанавливаСм условиС Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ ΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ lookup-Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ² ΠΏΠΎ Π²Π΅Π΄ΡƒΡ‰ΠΈΠΌ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°ΠΌ.\r\n $.extend(extraParams, {\r\n LeadSelID: function () {\r\n return me._getLookupValues(leader, lookup);\r\n }\r\n });\r\n rs.extraParams = extraParams;\r\n }\r\n });\r\n });\r\n\r\n req.bind('changeWithLeaderValues', function (jControl, ev, data, needClearDriven) {\r\n //data = { name: ..., value: ..., displayValue: ..., leaderRequisiteValues: ... }\r\n\r\n if (data && data.value !== null) {\r\n // Надо Π±Ρ‹ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π²Π΅Π΄ΡƒΡ‰ΠΈΠ΅ΠΈ ΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ Π²Π΅Π΄ΠΎΠΌΡ‹Π΅.\r\n\r\n // ΠžΡ‡ΠΈΡ‰Π°Π΅ΠΌ Π²Π΅Π΄ΠΎΠΌΡ‹Π΅.\r\n if (needClearDriven) {\r\n me._clearRequisitesValue(driven);\r\n }\r\n // ЗаполняСм Π²Π΅Π΄ΡƒΡ‰ΠΈΠ΅.\r\n fillLeaderRequisites(data);\r\n\r\n // ЗаполняСм Π²Π΅Π΄ΠΎΠΌΡ‹Π΅, Ссли Π² Π½ΠΈΡ… ΠΎΠ΄Π½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ (Π‘ΠΌ. FillDrivenIfItResultHasOneRecord).\r\n //Π’ Π±ΠΈΠ»Π΄Π΅Ρ€Π΅ эта Π»ΠΎΠ³ΠΈΠΊΠ° Π½Π΅ срабатываСт, поэтому ΠΈ Ρƒ нас Π½Π΅ сдСлал.\r\n\r\n } else {\r\n // ΠžΡ‡ΠΈΡ‰Π°Π΅ΠΌ Π²Π΅Π΄ΠΎΠΌΡ‹Π΅.\r\n me._clearRequisitesValue(driven);\r\n }\r\n\r\n //ЗаполняСт Π²Π΅Π΄ΡƒΡ‰ΠΈΠ΅ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹\r\n function fillLeaderRequisites(data) {\r\n for (var i = 0; i < leader.length; i++) {\r\n var leadValues = data.leaderRequisiteValues[lookup[i]];\r\n if (leadValues) {\r\n var leadReq = me._getRequisiteByFullName(leader[i]);\r\n if (leadReq) {\r\n\r\n //УстанавливаСм Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ для Π²Π΅Π΄ΡƒΡ‰Π΅Π³ΠΎ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°\r\n leadReq.setValue(leadValues[0], leadValues[2], true);\r\n\r\n //ΠŸΡ‹Ρ‚Π°Π΅ΠΌΡΡ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π²Π΅Π΄ΡƒΡ‰ΠΈΡ… Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ² для Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ Π²Π΅Π΄ΡƒΡ‰Π΅Π³ΠΎ\r\n me._fillLeaderForDetailSectionRequisite(leadReq, leadValues[0]);\r\n }\r\n }\r\n }\r\n }\r\n\r\n\r\n });\r\n\r\n return me;\r\n },\r\n\r\n /**\r\n * Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ значСния Π²Π΅Π΄ΡƒΡ‰ΠΈΡ… Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ² Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ URL, Ρ‚.Π΅. name1=value1&name2=value2...\r\n * \r\n * @param {Array} leader Массив ΠΈΠ· {tableName: ..., rowId: ..., reqName: ...}\r\n * @param {Array} lookup Массив ΠΈΠΌΠ΅Π½ Π²Π΅Π΄ΡƒΡ‰ΠΈΡ… Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ²\r\n * @returns {} \r\n */\r\n _getLookupValues: function (leader, lookup) {\r\n var me = this;\r\n var val = '';\r\n for (var i = 0; i < leader.length; i++) {\r\n var leadReq = me._getRequisiteByFullName(leader[i]);\r\n if (!leadReq) continue;\r\n var leadReqVal = leadReq.getValue();\r\n val += lookup[i] + '|' + leadReq.name + '=' + (leadReqVal ? leadReqVal : '') + '&';\r\n };\r\n return val;\r\n },\r\n\r\n /**\r\n * Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° ΠΏΠΎ Π΅Π³ΠΎ ΠΏΠΎΠ»Π½ΠΎΠΌΡƒ ΠΈΠΌΠ΅Π½ΠΈ\r\n * \r\n * @param {object} fullName МодСлька ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° Π²ΠΈΠ΄Π° {tableName: ..., rowId: ..., reqName: ...}\r\n * @returns {object} Π Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚\r\n */\r\n _getRequisiteByFullName: function (fullName) {\r\n var me = this;\r\n if (_.isString(fullName)) {\r\n // Π Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠΈ.\r\n return me.form.requisites[fullName];\r\n } else {\r\n // Π Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·Π΄Π΅Π»Π°.\r\n return me.form.controls.tables[fullName.tableName].getRowById(fullName.rowId).requisites[fullName.reqName];\r\n }\r\n },\r\n\r\n /**\r\n * Чистит значСния Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ².\r\n * \r\n * @param {Array} reqFullNames массив ΠΌΠΎΠ΄Π΅Π»Π΅ΠΊ Π²ΠΈΠ΄Π° {tableName: ..., rowId: ..., reqName: ...}\r\n */\r\n _clearRequisitesValue: function (reqFullNames) {\r\n var me = this;\r\n for (var i = 0 ; i < reqFullNames.length; i++) {\r\n var drivenReq = me._getRequisiteByFullName(reqFullNames[i]);\r\n if (drivenReq) drivenReq.clear(true);\r\n }\r\n },\r\n\r\n /**\r\n * ЗаполняСт Π²Π΅Π΄ΡƒΡ‰ΠΈΠ΅ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹ для Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° с Π·Π°Π΄Π°Π½Π½Ρ‹ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ\r\n * \r\n * @param {object} requisite Π Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π±ΡƒΠ΄Ρƒ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Ρ‹ Π²Π΅Π΄ΡƒΡ‰ΠΈΠ΅\r\n * @param {int} value Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π±ΡƒΠ΄Ρƒ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Ρ‹ Π²Π΅Π΄ΡƒΡ‰ΠΈΠ΅\r\n */\r\n _fillLeaderForDetailSectionRequisite: function (requisite, value) {\r\n var me = this;\r\n var row = requisite.getRow();\r\n var table = row.getTable();\r\n var currentColumnMetadata = table.getColumnMetadata(requisite.name);\r\n\r\n if (currentColumnMetadata) {\r\n var reqInfo = currentColumnMetadata.Requisite;\r\n if (reqInfo) {\r\n\r\n var settings = $.parseJSON(reqInfo.settings);\r\n var params = getReferenceSelectParams(reqInfo, settings, value);\r\n\r\n ReferenceSelectDataProvider.sendQuery(settings.url, params, function (count, res) {\r\n var data = res[0];\r\n if (data && data.leadingRequisitesValue !== \"{}\") {\r\n requisite.fire('changeWithLeaderValues', null, null, { name: data.encodedTitle, value: data.id, displayValue: data.title, leaderRequisiteValues: $.parseJSON(data.leadingRequisitesValue) }, false);\r\n }\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ для запроса Π½Π° Π²Ρ‹Π±ΠΎΡ€ΠΊΡƒ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° с ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΌ Π˜Π”\r\n * \r\n * @param {object} reqInfo ΠœΠ΅Ρ‚Π°ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°\r\n * @param {object} settings ΠœΠ΅Ρ‚Π°ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°\r\n * @param {number} recordId Π˜Π” записи, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΏΠΎΠΏΠ°Π΄Π΅Ρ‚ Π² условиС Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ\r\n * @returns {object} ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ запроса\r\n */\r\n function getReferenceSelectParams(reqInfo, settings, recordId) {\r\n var leader = null;\r\n var lookup = null;\r\n if (reqInfo.leaderRequisites && reqInfo.lookUpLeaderRequisites) {\r\n\r\n leader = _($.parseJSON(reqInfo.leaderRequisites)).map(function (leadReq) {\r\n return { tableName: table.name, rowId: row.getRowId(), reqName: leadReq };\r\n });\r\n\r\n lookup = $.parseJSON(reqInfo.lookUpLeaderRequisites);\r\n }\r\n\r\n var refCode = requisite.getReferences()[0];\r\n var queryContext = settings.queryContext;\r\n // ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²Π΅Π½Π½Ρ‹ΠΉ Π²Ρ‹Π±ΠΎΡ€ ссылаСтся Π½Π° нСсколько Ρ€Π΅Π²ΠΈΠ·ΠΈΡ‚ΠΎΠ², поэтому мСняСм контСкст.\r\n if (settings.referenceCodesAndReqNamesInDetailSection && settings.referenceCodesAndReqNamesInDetailSection[refCode]) {\r\n queryContext = JSON.parse(queryContext);\r\n queryContext.requisiteNumber = settings.referenceCodesAndReqNamesInDetailSection[refCode].number;\r\n queryContext = JSON.stringify(queryContext);\r\n }\r\n\r\n return $.extend({\r\n q: \"\",\r\n filter: \"[Π˜Π”]=\" + recordId,\r\n useadditional: settings.useadditional ? \"1\" : \"0\",\r\n disablespecialprocessing: \"1\",\r\n queryContext: queryContext,\r\n LeadSelID: me._getLookupValues(leader, lookup)\r\n }, {});\r\n }\r\n }\r\n };\r\n\r\n global.mixins.formMixin = formMixin;\r\n})(window.WebAccess);\r\n","\"use strict\";\r\n(function BasePluginDefinition(global) {\r\n\r\n /** \r\n * Π‘Π°Π·ΠΎΠ²Ρ‹ΠΉ класс-ΠΏΠ»Π°Π³ΠΈΠ½\r\n * @class WebAccess.Plugin \r\n * @property {String} name имя ΠΏΠ»Π°Π³ΠΈΠ½Π°\r\n * @property {String} className имя класса\r\n * @since 5.2.0.1100\r\n */\r\n global.Plugin = BaseObject.extend({\r\n __isPlugin: true,\r\n name: null, \r\n className: 'Plugin',\r\n \r\n init: function (params) {\r\n this._super(params); \r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~// \r\n\r\n /**\r\n * ΠœΠ΅Ρ‚ΠΎΠ΄ рСгистрации ΠΏΠ»Π°Π³ΠΈΠ½Π°, этот ΠΌΠ΅Ρ‚ΠΎΠ΄ вызываСтся автоматичСски.\r\n * Π’ Π½Π΅Π³ΠΎ пСрСдаСтся ссылка Π½Π° Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅ΠΌΡ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.\r\n * @param {object} context - Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅ΠΌΡ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚\r\n * @method WebAccess.Plugin.register\r\n * @since 5.2.0.1100\r\n * @return {object} свойства ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ доступны Π² Ρ€Π°ΡΡˆΠΈΡΡ€Π΅ΠΌΠΎΠΌ классС \r\n * @example\r\n * //ΠŸΡ€ΠΈΠ½Ρ†ΠΈΠΏ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΠ»Π°Π³ΠΈΠ½Π°ΠΌΠΈ\r\n * var SomeClass = BaseObject.extend([WebAccess.mixins.pluginMixin],{\r\n * init: functtion() {\r\n * this._super();\r\n * }\r\n * });\r\n * ....\r\n * var SomePlugin = WebAccess.Plugin.extend({\r\n * name: 'somePlugin',\r\n * init: functtion() {\r\n * this._super();\r\n * },\r\n * register: function() {\r\n * return {\r\n * 'doSomething': this.doSomething_exported\r\n * }\r\n * }\r\n * doSomething_exported: function() {\r\n * return\r\n * }\r\n * }); \r\n * ...\r\n * var instance = new SomeClass(param1, param2, ..., paramN, {plugins: [new SomePlugin()] });\r\n */\r\n register: function (context) {\r\n this.bind('classInit', this.afterClassInit);\r\n return {}\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~// \r\n\r\n /**\r\n * ΠœΠ΅Ρ‚ΠΎΠ΄, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π·Π²Π°Π½ послС ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. \r\n * @param {object} context - Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅ΠΌΡ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚\r\n * @method WebAccess.Plugin.afterMainClassInit\r\n * @since 5.2.0.1100\r\n * @return {object} свойства ΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ доступны Π² Ρ€Π°ΡΡˆΠΈΡΡ€Π΅ΠΌΠΎΠΌ классС\r\n */\r\n afterMainClassInit: function(context) {\r\n return;\r\n }\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~// \r\n });\r\n\r\n})(window.WebAccess);","/* Π—Π°Π³Π»ΡƒΡˆΠΊΠ° для старых Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ² */\r\nif (typeof window.console == \"undefined\") {\r\n window.console = { log: function () { }, debug: function () { } };\r\n} else if (WA.ENV.browser.name == \"IE\" && WA.ENV.browser.major < 11) {\r\n linktoOldconsole = window.console;\r\n window.console = {\r\n log: function (message) {\r\n //linktoOldconsole.log(typeof message)\r\n\r\n if (typeof message == \"string\") {\r\n linktoOldconsole.log(message);\r\n return;\r\n };\r\n\r\n if (typeof message == \"function\") {\r\n linktoOldconsole.log(message.toString());\r\n return;\r\n };\r\n\r\n if (message && typeof message == \"object\" && typeof message['selector'] !== 'undefined') {\r\n linktoOldconsole.log(\"Jquery object: \" + message.selector);\r\n return;\r\n };\r\n\r\n function dir(object) {\r\n for (s in object) {\r\n linktoOldconsole.log(s + \": \" + object[s].toString().trunc(100).split(\"\\n\")[0]);\r\n }\r\n }\r\n try {\r\n linktoOldconsole.log(dir(message));\r\n } catch (E) {\r\n linktoOldconsole.log(message);\r\n }\r\n },\r\n debug: function () { },\r\n warn: function (message) {\r\n this.log(message);\r\n }\r\n };\r\n}\r\n\r\n/* =Main============================================================================================================================================== */\r\nfunction GetWSSParam(Url, IsFirstParam) {\r\n if (Url.toLowerCase().indexOf(\"wss=1\") != -1) {\r\n return (IsFirstParam ? \"?\" : \"&\") + \"wss=1\";\r\n }\r\n return \"\";\r\n}\r\n// ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅ΠΌ ΠΆΠΈΠ²Π° Π»ΠΈ сСссия ΠΏΠΎ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠΉ страницС.\r\nfunction CheckForLoginPage(res) {\r\n // Если врСмя ΠΆΠΈΠ·Π½ΠΈ сСссии ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π·Π°Π²Π΅Ρ€ΡˆΠΈΠ»ΠΎΡΡŒ - ΠΎΠ±Π½ΠΎΠ²ΠΈΠΌ страницу, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ΅Ρ€Π΅Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π½Π° страницу Π²Ρ…ΠΎΠ΄Π° Π² систСму\r\n if (res != null && (('' + res).indexOf(\"LoginTextBox\") != -1 || (typeof res == \"object\" && res.Error && res.Error == \"sLogin\"))) {\r\n WA.services._isSessionAlive(475);\r\n //location.href = '';\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n}\r\n\r\n/**\r\n * @deprecated since 5.7.0. Use WA.URL.getParam instead.\r\n */\r\nfunction GetParamInURL(name, url) {\r\n //log.warn('DEPRECATED', \"Function GetParamInURL is obsolete. Use class WebAccess.URL instead\");\r\n return (new WA.URL(url)).getParam(name);\r\n}\r\n\r\n/**\r\n * @deprecated since 5.7.0. Use WA.URL.setParam instead.\r\n */\r\nfunction ChangeParamInURL(url, param, value) {\r\n //log.warn('DEPRECATED', \"Function ChangeParamInURL is obsolete. Use class WebAccess.URL instead\");\r\n return (new WA.URL(url)).setParam(param, value).asString();\r\n}\r\n\r\n/**\r\n * @deprecated since 5.7.0. Use WA.URL.removeParam instead.\r\n */\r\nfunction RemoveParamInURL(url, param) {\r\n //log.warn('DEPRECATED', \"Function RemoveParamInURL is obsolete. Use class WebAccess.URL instead\");\r\n return (new WA.URL(url)).removeParam(param).asString();\r\n}\r\n\r\nfunction PrepareUrl(url, ParamStr) {\r\n var Params = ParamStr.split('&');\r\n var newUrl = url;\r\n for (var i = 0; i < Params.length; i++) {\r\n if (Params[i] != '') {\r\n if (Params[i].charAt(0) == '-') {\r\n newUrl = RemoveParamInURL(newUrl, Params[i].substr(1));\r\n } else {\r\n var p = Params[i].split('=');\r\n newUrl = ChangeParamInURL(newUrl, p[0], p[1]);\r\n }\r\n }\r\n }\r\n return newUrl;\r\n}\r\n\r\nfunction DoAction(paramStr, needSubmitForm, newFormAction, inHash) {\r\n setTimeout(() => {\r\n try {\r\n let params = paramStr.split('&');\r\n\r\n if (needSubmitForm) {\r\n for (let param of params) {\r\n if (!param) {\r\n continue;\r\n }\r\n\r\n if (param.startsWith('-')) {\r\n $('#' + param.substr(1)).val('');\r\n } else {\r\n let paramSplit = param.split('=');\r\n $('#' + paramSplit[0]).val(paramSplit[1]);\r\n }\r\n }\r\n const f = $('form:first');\r\n if (newFormAction) {\r\n f.attr('action', newFormAction);\r\n }\r\n f.submit();\r\n } else {\r\n let url = window.location.href;\r\n if (inHash) {\r\n url = (new WA.URL(url)).getHash();\r\n }\r\n url = PrepareUrl(url, paramStr);\r\n\r\n const ActTab = $('#ActiveTab');\r\n if (ActTab.length) {\r\n url = (new WA.URL(url)).setParam('ActiveTab', ActTab.val()).asString();\r\n }\r\n\r\n // Π·Π°ΠΏΠΎΠΌΠ½ΠΈΠΌ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π²ΠΊΠ»Π°Π΄ΠΊΡƒ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ #TabN, Π³Π΄Π΅ N -- Π½ΠΎΠΌΠ΅Ρ€ Π²ΠΊΠ»Π°Π΄ΠΊΠΈ\r\n // ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² Π’ΠšΠ­Π” Π”ΠΎΠ³ΠΎΠ²ΠΎΡ€Π½Ρ‹Ρ… Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ²\r\n const hashTabMatch = url.match(/#Tab\\d/);\r\n let hashTab = hashTabMatch ? hashTabMatch[0] : '';\r\n\r\n if (inHash) {\r\n url = `${(new WA.URL(url)).asStringWithoutHash()}#${url}`;\r\n } else if (!paramStr.includes('#')) {\r\n url = (new WA.URL(url)).asStringWithoutHash();\r\n }\r\n\r\n url += hashTab;\r\n window.location.href = url;\r\n }\r\n } catch (ex) {\r\n }\r\n }, 0);\r\n}\r\n\r\nfunction GetURLHash(url) {\r\n log.warn('DEPRECATED', \"Function GetURLHash is obsolete. Use class WebAccess.URL instead\");\r\n return (new WA.URL(url)).getHash();\r\n}\r\n\r\nfunction GetURLWithoutHash(url) {\r\n log.warn('DEPRECATED', \"Function GetURLWithoutHash is obsolete. Use class WebAccess.URL instead\");\r\n return (new WA.URL(url)).asStringWithoutHash();\r\n}\r\n\r\nfunction DoActionHash(ParamStr, callback) {\r\n DoAction(ParamStr, false, false, true);\r\n callback();\r\n}\r\n\r\nfunction ReloadExtension(ext) {\r\n log.warn('DEPRECATED', \"Function ReloadExtension is obsolete. Use class WebAccess.extensions.current.reload() instead\");\r\n ShowTopSpinner(L('MSG_RELOADING_EXTENSION'));\r\n CallService(\"/Administration.asmx/ReloadExtension\", { ExtensionName: ext }, function (res) {\r\n if (res.Success) {\r\n HideTopSpinner('', 0);\r\n ShowMessage(L('MSG_EXT_RELOADED'), L('SUCCESS'), function () { location.href = location.href; });\r\n } else {\r\n ShowError(res.Error);\r\n }\r\n });\r\n}\r\n\r\n/**\r\n * ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ подсказку Ρ‚ΠΈΠΏΠ° Warning\r\n *\r\n * @method HintShow\r\n * @deprecated since 5.6. Use WA.CR.inlineHint.showWarning instead.\r\n */\r\nfunction HintShow(msg) {\r\n $.when(WA.FormControlsInit).then(() => {\r\n WA.CMP.NTF.InlineHint.hideAll();\r\n WA.CR.inlineHint.showWarning(msg, null, INLINE_HINT_PRIORITY.PRIMARY);\r\n });\r\n console.warn(format(this._deprecatedMethodMessageTemplate, 'HintShow'));\r\n}\r\n\r\n/**\r\n * ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ подсказку Ρ‚ΠΈΠΏΠ° Error\r\n *\r\n * @method WrnShow\r\n * @deprecated since 5.6. Use WA.CR.inlineHint.showError instead.\r\n */\r\nfunction WrnShow(msg) {\r\n\r\n $.when(WA.FormControlsInit).then(() => {\r\n WA.CMP.NTF.InlineHint.hideAll();\r\n WA.CR.inlineHint.showError(msg, null, INLINE_HINT_PRIORITY.PRIMARY);\r\n });\r\n console.warn(format(this._deprecatedMethodMessageTemplate, 'WrnShow'));\r\n}\r\n\r\nvar g_prevFormVal;\r\n\r\nfunction SerializeForm(containerSelector) {\r\n if (WA.isMobile() || !WA.CR.form.isExist()) {\r\n return __legacy_serializeForm(containerSelector);\r\n } else {\r\n return WA.CR.form.asString();\r\n }\r\n}\r\n\r\nfunction __legacy_serializeForm(containerSelector) {\r\n var jContainer;\r\n\r\n if (containerSelector) {\r\n jContainer = $(containerSelector);\r\n } else {\r\n jContainer = $('body');\r\n }\r\n\r\n var r = '';\r\n var cardForm = jContainer.find('.CardForm');\r\n if (cardForm.length == 0) {\r\n r = jContainer.find('input[type=text]:visible,input[type=checkbox]:visible,input[type=radio]:visible,select:visible,textarea:visible');\r\n } else {\r\n // На скрытых Π²ΠΊΠ»Π°Π΄ΠΊΠ°Ρ… Ρ‚ΠΎΠΆΠ΅ ΠΈΡ‰Π΅ΠΌ.\r\n r = cardForm.find('input[type=text],input[type=checkbox],input[type=radio],select,textarea');\r\n }\r\n //ДобавляСм скрытыС поля ΠΈ Π˜Π” Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° \"Π’Ρ‹Π±ΠΎΡ€ ΠΈΠ· справочника\" для ΠΈΠ½ΠΏΡƒΡ‚ΠΎΠ², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²ΠΈΠ΄ΠΈΠΌΡ‹.\r\n var hidd = jContainer.find('input[id^=hSelID_]').filter(function () {\r\n var dispInp = $('#' + $(this).attr('name'));\r\n if (cardForm.length == 0) {\r\n dispInp = dispInp.filter(':visible');\r\n }\r\n return dispInp.length > 0;\r\n });\r\n r = r.serialize() + '&' + hidd.serialize();\r\n\r\n //ДобавляСм ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ влоТСниях для Π—Π—Π£\r\n r += addAttachmentInfo();\r\n return r;\r\n}\r\n\r\nvar g_formContainerSelector;\r\nfunction BindBeforeUnload() {\r\n // Π‘ вСрсии 5.6.0.1327 Π½Π΅ ΠΈΡΠΏΡ€ΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для Π—Π—Π£\r\n const containerSelector = g_formContainerSelector;\r\n let initDef;\r\n\r\n // Π’ мобильной вСрсии Π½Π΅Ρ‚ Form, поэтому этот ΠΌΠ΅Ρ…Π°Π½ΠΈΡ…ΠΌ Π΄ΠΎΠ»ΠΆΠ΅Π½ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΈ отсылки Π½Π° WA.Init.\r\n if (WA.isMobile()) {\r\n initDef = $.Deferred();\r\n initDef.resolve();\r\n } else {\r\n initDef = WA.Init;\r\n }\r\n\r\n initDef.done(() => {\r\n g_prevFormVal = SerializeForm(containerSelector);\r\n\r\n WA.CR.window.bind('beforeClose', () => {\r\n // НСобходимо для ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ ΠΏΠΎΠΊΠ°Π·Π° запроса ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π΅ с Π²ΠΊΠ»Π°Π΄ΠΊΠΈ Π˜ΡΡ‚ΠΎΡ€ΠΈΡ\r\n // ΠŸΡ€ΠΈ Π΄Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠΈΡ… Π΄ΠΎΡ€Π°Π±ΠΎΡ‚ΠΊΠ°Ρ… Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠ±ΠΈΡ€Π°Ρ‚ΡŒ\r\n let currentView = (new WA.URL()).getParam('view').toLowerCase();\r\n let needShowMessage = currentView !== 'history';\r\n\r\n if (needShowMessage && ((SerializeForm(containerSelector) != g_prevFormVal) || (g_RightsChanged == 1))) {\r\n return L('DATA_DIDNT_SAVE');\r\n }\r\n return false;\r\n });\r\n });\r\n}\r\nfunction UnbindBeforeUnload() {\r\n WA.CR.window.unbind('beforeClose');\r\n}\r\nfunction CloseWindow() {\r\n WA.CR.window.close();\r\n}\r\n\r\nfunction addAttachmentInfo() {\r\n //ДобавляСм ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ влоТСниях для Π—Π—Π£\r\n var jAttachments = $('#main_container').find('.attachments_td');\r\n if (!jAttachments.find('#pnlEmpty')) {\r\n var AttachmentStr = [];\r\n jAttachments.find('[data-name=\"ObjectListItem\"]').each(function () {\r\n var jMe = $(this);\r\n var kind = jMe.attr(\"kind\");\r\n var additionalAttachmentInfo = \"\";\r\n if (kind === 'Ref') {\r\n additionalAttachmentInfo = \"_\" + jMe.attr(\"compcode\");\r\n }\r\n AttachmentStr.push(kind + \"_\" + jMe.attr(\"id\") + additionalAttachmentInfo);\r\n })\r\n return '&Attachments=' + AttachmentStr.join(';');\r\n }\r\n return \"\";\r\n}\r\n/* =================================================================================================================================================== */\r\n\r\n/* =Задания=========================================================================================================================================== */\r\nfunction ShowJobCard() {\r\n DoAction('view=JobCard&-op&-val', false);\r\n}\r\nfunction ShowJobAttachments() {\r\n DoAction('view=attach&-op&-val', false);\r\n}\r\nfunction ShowJobState() {\r\n DoAction('view=state&-op&-val', false);\r\n}\r\nfunction GetJobEdit() {\r\n var mode = GetParamInURL(\"mode\");\r\n if (mode.toLowerCase() == \"edit\") {\r\n //Π¨Π°ΠΌΠΎΠ² А.: Π‘Π΄Π΅Π»Π°Π½ΠΎ для ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ. Если Ρ€Π΅ΠΆΠΈΠΌ Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½, Π² сСрвСрном ΠΊΠΎΠ΄Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½ запрос для получСния Ρ‚ΠΈΠΏΠ° задания,\r\n // ΠΎΠ½ Π½Π°ΠΌ Π½ΡƒΠΆΠ΅Π½ Ρ‡Ρ‚ΠΎ Π±Ρ‹ задания-ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ всСгда ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ Π·Π°Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ.\r\n const modeParam = (WA.current.Kind === JOB_KIND.CONTROLJOB) ? \"-mode\" : \"mode=read\"\r\n if (WA.CR.CardTab.mainTab && WA.CR.CardTab.mainTab.isModifiedByUser()) {\r\n ConfirmDialogNew(L('UNSAVED_CHANGES_WILL_BE_LOST'), () => {\r\n UnbindBeforeUnload();\r\n DoAction(modeParam, false);\r\n });\r\n } else {\r\n DoAction(modeParam, false);\r\n }\r\n } else {\r\n DoAction(\"mode=edit\", false);\r\n }\r\n}\r\n\r\nfunction SetJobApproveParams() {\r\n UnbindBeforeUnload();\r\n DoAction('__POSTBACK_ACTION=SaveAskParams', true);\r\n}\r\nfunction CancelSetJobApproveParams() {\r\n DoAction('view=JobCard&-op&-mode&-val', false);\r\n}\r\n\r\n/**\r\n * ΠŸΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π·Π°Π΄Π°Π½ΠΈΠ΅-ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ.\r\n *\r\n * @method BaseAcceptContolJob\r\n * @deprecated since 5.7. Use Core.toolBars.job.acceptContolJob(resultIndex) instead.\r\n */\r\nfunction BaseAcceptContolJob(resultIndex) {\r\n Core.toolBars.job.acceptContolJob(resultIndex);\r\n}\r\n\r\n/**\r\n * ΠžΡ‚ΠΊΠ»ΠΎΠ½ΡΠ΅Ρ‚ Π·Π°Π΄Π°Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ.\r\n *\r\n * @method ResumeContolJob\r\n * @deprecated since 5.7. Use Core.toolBars.job.resumeContolJob() instead.\r\n */\r\nfunction ResumeContolJob() {\r\n Core.toolBars.job.resumeContolJob();\r\n}\r\n\r\nfunction CreateJobSubTask() {\r\n window.open(PrepareUrl(location.href, 'view=JobCard&op=newsubtask'));\r\n}\r\nfunction CloseBaseJobWindow(jobId) {\r\n window.onunload = function () { FreeJob(jobId); };\r\n}\r\nfunction FreeJob(JobID) {\r\n var R;\r\n var WSSParam = GetWSSParam(location.href, true);\r\n $.ajax({\r\n type: \"POST\",\r\n contentType: \"application/json; charset=utf-8\",\r\n dataType: \"json\",\r\n url: \"/Job.asmx/FreeJob\" + WSSParam,\r\n data: \"{'JobID':'\" + JobID + \"'}\",\r\n async: false,\r\n success: function (res) {\r\n R = res.d;\r\n }\r\n });\r\n CheckForLoginPage(R);\r\n return R;\r\n}\r\n/* =================================================================================================================================================== */\r\n\r\n/* =Π—Π°Π΄Π°Ρ‡Π°============================================================================================================================================ */\r\nfunction ShowTaskCard() {\r\n DoAction('-view&-op&-showall', false);\r\n}\r\nfunction ShowAttachments() {\r\n DoAction('view=attach&-op&-showall', false);\r\n}\r\nfunction ShowState() {\r\n DoAction('view=state&-op&-showall', false);\r\n}\r\nfunction ShowTaskHistory() {\r\n DoAction('view=TaskHistory&-op&-ver&-showall', false);\r\n}\r\n\r\nfunction EnterEditMode() {\r\n var mode = GetParamInURL(\"mode\");\r\n if (mode.toLowerCase() == \"edit\") {\r\n DoAction(\"mode=read\", false);\r\n }\r\n else {\r\n DoAction(\"mode=edit\", false);\r\n }\r\n}\r\nfunction SaveInTask() {\r\n UnbindBeforeUnload();\r\n DoAction('__POSTBACK_ACTION=SaveTask', true);\r\n}\r\nfunction SaveAndCloseTask() {\r\n UnbindBeforeUnload();\r\n DoAction('__POSTBACK_ACTION=SaveAndCloseTask', true);\r\n}\r\nfunction CreateSubTask() {\r\n window.open(PrepareUrl(location.href, 'mode=newsubtask&-view&-op&-showall'));\r\n}\r\nfunction BaseChangeStandartRoute(el, css) {\r\n if (!$(el).hasClass(css)) {\r\n DoAction('op=ChangeRoute', false);\r\n } else {\r\n ShowTaskCard();\r\n }\r\n}\r\nfunction LoadRouteParams(route_id) {\r\n DoAction('__POSTBACK_ACTION=ChangeSelRoute', true);\r\n}\r\nfunction StandartRouteSelected() {\r\n UnbindBeforeUnload();\r\n DoAction('__POSTBACK_ACTION=SaveAskParams', true, RemoveParamInURL($('form:first').attr('action'), 'isNew'));\r\n}\r\nfunction BaseCancelStandartRoute(callback) {\r\n UnbindBeforeUnload();\r\n if (GetParamInURL('isNew') == '1') {\r\n callback();\r\n } else {\r\n DoAction('__POSTBACK_ACTION=ClearSelRoute', true);\r\n }\r\n}\r\nfunction CloseBaseTaskWindow(taskId) {\r\n window.onunload = function () { FreeTask(taskId); }\r\n}\r\nfunction FreeTask(TaskID) {\r\n var R;\r\n var WSSParam = GetWSSParam(location.href, true);\r\n $.ajax({\r\n type: \"POST\",\r\n contentType: \"application/json; charset=utf-8\",\r\n dataType: \"json\",\r\n url: \"/Task.asmx/FreeTask\" + WSSParam,\r\n data: \"{'TaskID':'\" + TaskID + \"'}\",\r\n async: false,\r\n success: function (res) {\r\n R = res.d;\r\n }\r\n });\r\n CheckForLoginPage(R);\r\n return R;\r\n}\r\n\r\n/* =================================================================================================================================================== */\r\n\r\n/* =Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚========================================================================================================================================== */\r\n//ПанСль прСдставлСний.\r\nfunction ShowEDocCard() {\r\n DoAction('view=ShowEDoc&-op&-ver&-showall', false);\r\n}\r\nfunction ShowVersionList() {\r\n DoAction('view=ShowVerList&-op&-ver&-showall', false);\r\n}\r\nfunction ShowRightsList() {\r\n DoAction('view=RightsList&-op&-ver&-showall', false);\r\n}\r\nfunction ShowSignInfo() {\r\n DoAction('view=SignInfoEDoc&-op&-ver&-showall', false);\r\n}\r\nfunction ShowBoundEDocs() {\r\n DoAction('view=BoundEDocs&-op&-ver&-showall', false);\r\n}\r\nfunction ShowEDocHistory() {\r\n DoAction('view=EDocHistory&-op&-ver&-showall', false);\r\n}\r\nfunction ShowEDocPreview() {\r\n DoAction('view=EDocPreview&-op&-ver&-showall', false);\r\n}\r\n\r\n/**\r\n* Π˜Π·ΠΌΠ΅Π½ΡΠ΅Ρ‚ Ρ€Π΅ΠΆΠΈΠΌ ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠΈ ΠΏΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ΅ Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ.\r\n* @global\r\n* @function EditModeForEDoc\r\n*/\r\nfunction EditModeForEDoc() {\r\n const url = new WA.URL();\r\n const mode = url.getParam('mode');\r\n const view = url.getParam('view');\r\n if (!view || view.toUpperCase() === 'CARD') {\r\n const newMode = (mode.toLowerCase() === 'edit' || mode.toLowerCase() === 'new') ? 'read': 'edit';\r\n const params = {\r\n DocumentID: WA.CR.ID,\r\n Mode: newMode.toUpperCase(),\r\n View: WA.CR.getReferenceView(),\r\n };\r\n WA.CMP.NTF.InlineHint.hideAll();\r\n\r\n const _toggleChange = () => {\r\n WA.SRV.request('Document.asmx/ChangeMode', params).done(result => {\r\n WA.CR.form.undoRequisiteChanges();\r\n\r\n const model = JSON.parse(result);\r\n\r\n // ΠŸΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ измСнСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΡˆΠ»ΠΈ с сСрвСра\r\n WA.CR.form.applyServerSideChanges(\r\n model.Changes,\r\n model.ChangedMultiSelectRequisitesValues,\r\n );\r\n\r\n if (newMode === 'edit') {\r\n WA.CR.form.enable();\r\n } else {\r\n WA.CR.form.disable();\r\n }\r\n url.setParam('mode', newMode);\r\n history.pushState({\r\n title: document.title,\r\n url: url.asString(),\r\n }, document.title, url.asString());\r\n // ОбновляСм Ρ‚ΡƒΠ»Π±Π°Ρ€.\r\n WA.CR.initToolbar('ToolbarContainer', model.ToolBarModel);\r\n }).fail((message, response) => {\r\n const severity = (response.Severity !== '-1' ? Number(response.Severity) : undefined);\r\n WA.CR.inlineHint.show(response.Error, undefined, severity, INLINE_HINT_PRIORITY.PRIMARY);\r\n });\r\n };\r\n if (WA.CR.form.isChanged()) {\r\n ConfirmDialogNew(L('UNSAVED_CHANGES_WILL_BE_LOST'), () => {\r\n _toggleChange();\r\n });\r\n } else {\r\n _toggleChange();\r\n }\r\n } else {\r\n if (mode.toLowerCase() === 'edit' || mode.toLowerCase() === 'new') {\r\n DoAction('mode=read&-ver', false);\r\n } else {\r\n DoAction('mode=edit&-ver', false);\r\n }\r\n }\r\n}\r\n\r\n/**\r\n* ΠžΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ‚ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ΅ ΠΎΠΊΠ½ΠΎ.\r\n* @global\r\n* @function UpdateOpenerWindow\r\n* @deprecated\r\n*/\r\n\r\n/**\r\n* ΠžΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ‚ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ΅ ΠΎΠΊΠ½ΠΎ ΠΏΡ€ΠΈ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ.\r\n* @global\r\n* @function UpdateOpenerWindowOnClose\r\n* @deprecated\r\n*/\r\n\r\nfunction SaveInDoc(callback) {\r\n //UnbindBeforeUnload();\r\n ShowTopSpinner(L('EDOC_SAVING'));\r\n\r\n var isNeedAddInAttachments = false;\r\n\r\n var data = { DocumentID: parseInt(GetParamInURL('id'), 10), Password: '', EncryptionKey: '' };\r\n data.receiverObjectLink = null;\r\n var currentUrl = new WA.URL();\r\n if (currentUrl.getParam('mode').toLowerCase() === 'new') {\r\n if (currentUrl.getParam('cwid') !== '') {\r\n var type = currentUrl.getParam('cwtype') === 'task' ? OBJECT_TYPE.TASK : OBJECT_TYPE.JOB;\r\n data.receiverObjectLink = new WA.Link(parseInt(currentUrl.getParam('cwid'), 10), type);\r\n isNeedAddInAttachments = true;\r\n } else {\r\n if (currentUrl.getParam('folder') !== '') {\r\n data.receiverObjectLink = new WA.Link(parseInt(currentUrl.getParam('folder'), 10), OBJECT_TYPE.FOLDER);\r\n }\r\n }\r\n }\r\n var view = GetParamInURL('view');\r\n switch (view.toUpperCase()) {\r\n case 'RIGHTSLIST':\r\n SaveRights(function (res) {\r\n if (res.Success) {\r\n save_ok();\r\n } else {\r\n save_fail(res.Error);\r\n }\r\n });\r\n break;\r\n case '':\r\n case 'SHOWEDOC':\r\n case 'CARD':\r\n WA.CR.form.saveAndAttach(function (ok, warningMessage) {\r\n if (ok) {\r\n const parentId = GetParamInURL('parentId');\r\n if (parentId != '' && parentId > 0) {\r\n if (window.opener.location.pathname.toLowerCase() === '/doc.aspx') {\r\n const srcLink = { id: WA.current.ID, Kind: 'EDOC', CompCode: '' };\r\n const dstLink = { id: parentId, Kind: 'EDOC', CompCode: '' };\r\n WA.SRV.call('/Session.asmx/BindObjects', {\r\n SourceLink: dstLink,\r\n DestLink: srcLink,\r\n }).done(() => {\r\n window.opener.location.reload();\r\n });\r\n }\r\n else {\r\n var docLink = { id: WA.current.ID, Kind: 'EDOC', CompCode: '' };\r\n var refLink = { id: parentId, Kind: 'REF', CompCode: '' };\r\n WA.SRV.call('/Session.asmx/BindLinksToRefRecord', {\r\n Record: refLink,\r\n Links: [docLink],\r\n }).done(() => {\r\n window.opener.location.reload();\r\n });\r\n }\r\n }\r\n save_ok(warningMessage);\r\n }\r\n else save_fail();\r\n }, true, data.receiverObjectLink);\r\n break;\r\n case 'SHOWVERLIST':\r\n var edocid = WA.current.ID;\r\n var stage = $('.State_Table').find('input[id$=\"EdocLifeStage\"]').val();\r\n WA.SRV.call(\"/EDocument.asmx/ChangeEdocLifeStage\", {\r\n EDocID: edocid,\r\n Stage: stage\r\n }).done(function (model) {\r\n save_ok();\r\n }).fail(function (error) {\r\n save_fail(error);\r\n });\r\n break;\r\n default:\r\n save(data);\r\n }\r\n\r\n function save_ok(warningMessage, needReload = true) {\r\n if (WA.CMP.NTF.InlineHint) {\r\n WA.CMP.NTF.InlineHint.hideAll();\r\n if (warningMessage) WA.CR.inlineHint.showWarning(warningMessage);\r\n }\r\n\r\n WA.CR.window.reloadParentWindowOnClose();\r\n\r\n if (window.opener) {\r\n try {\r\n // Вставка ссылки Π½Π° Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ Π²ΠΎ влоТСния.\r\n if (isNeedAddInAttachments && (window.opener.WA.getLocation() === 'task' || window.opener.WA.getLocation() === 'job')) {\r\n window.opener.AddAttachment(new WA.Link(WA.CR.ID, OBJECT_TYPE.EDOCUMENT));\r\n }\r\n if (window.opener.NeedUpdateOnChildClose) {\r\n // Ρ…Π°ΠΊ для обновлСния ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊΠ°, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠ° Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° создаСтся ΠΈΠ· эксплорСра ΠΈΠ· Π°ΠΉΡ„Ρ€Π΅ΠΉΠΌΠ°. поэтому здСсь window.parent - пустой ΠΈ нСльзя Ρƒ Π½Π΅Π³ΠΎ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ReloadExplorer\r\n //window.open(\"javascript:void(0)\", \"explorer\").location = window.open(\"javascript:void(0)\", \"explorer\").location;\r\n this.focus();\r\n }\r\n }\r\n catch (e) { }\r\n }\r\n\r\n function CallbackOrAction() {\r\n if (callback) {\r\n callback();\r\n } else {\r\n if (needReload) {\r\n UnbindBeforeUnload(); // ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ ΠΊΠΎΠ³Π΄Π° ΡƒΠΆΠ΅ всС Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ ΡΠΎΡ…Ρ€Π°Π½ΠΈΠ»ΠΎΡΡŒ\r\n DoAction('mode=edit', false);\r\n } else {\r\n // ΠŸΠ΅Ρ€Π΅Π²Π΅Π΄Π΅ΠΌ Π² Ρ€Π΅ΠΆΠΈΠΌ рСдактирования Π±Π΅Π· ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ.\r\n const sideBarTabs = WA.CR.sideBar.tabs.toArray();\r\n sideBarTabs.forEach((tab) => {\r\n tab.enable();\r\n });\r\n const url = new WA.URL();\r\n url.setParam('mode', 'edit');\r\n history.pushState({\r\n title: document.title,\r\n url: url.asString(),\r\n }, document.title, url.asString());\r\n }\r\n }\r\n }\r\n\r\n if (GetParamInURL('mode').toLowerCase() == 'new') {\r\n if ($('html').hasClass('mobile')) {\r\n var id = GetParamInURL('id');\r\n var f = $(\"form:first\");\r\n var url = f.attr('action');\r\n url = ChangeParamInURL(url, 'view', 'Card');\r\n url = ChangeParamInURL(url, 'id', id);\r\n url = RemoveParamInURL(url, 'mode');\r\n f.attr('action', url);\r\n f.submit();\r\n }\r\n else {\r\n ShowSetDocumentRightsDialog(CallbackOrAction);\r\n }\r\n }\r\n else {\r\n CallbackOrAction();\r\n }\r\n }\r\n\r\n function save_fail(err) {\r\n HideTopSpinner();\r\n if (err) {\r\n $.when(WA.FormControlsInit).then(() => {\r\n WA.CMP.NTF.InlineHint.hideAll();\r\n WA.CR.inlineHint.showError(err, null, INLINE_HINT_PRIORITY.PRIMARY);\r\n });\r\n }\r\n }\r\n\r\n function save(data) {\r\n CallService(\"/Document.asmx/Save\", data, function (res) {\r\n if (!res.Success) {\r\n save_fail(res.Error);\r\n } else {\r\n HideTopSpinner();\r\n HideTopSpinner(L(\"EDOC_SAVE_COMPLETE\"), 2000);\r\n save_ok();\r\n }\r\n });\r\n }\r\n}\r\n\r\nfunction SaveWithEncoding(save, data) {\r\n var passwordChkbox = $('#EncryptWithPasswordCheckBox');\r\n var certChkBox = $('#EncryptWithCertCheckBox');\r\n var onError = function (error) { certChkBox.attr('checked', true); passwordChkbox.data('password', null); HideTopSpinner(); ShowError(error); };\r\n data.EncryptionKey = '';\r\n if (passwordChkbox.is(':checked') && !!!passwordChkbox.data('password') && passwordChkbox.data('password') != \"\") {\r\n var dialog = RequestPasswordForDecryption('', function (password) {\r\n data.Password = password;\r\n if (WA.Document.Encoding % 2 == 1) {\r\n //FIXME: ΠΏΠ΅Ρ€Π΅Π΄Π΅Π»Π°Ρ‚ΡŒ Π½Π° WA.agent.getDocumentDecryptionKey\r\n GetEncryptionKeyForDoc(WA.Document.ID, WA.Document.Encoding, WA.Document.PluginName, password, function (encryptionKey) {\r\n data.EncryptionKey = encryptionKey;\r\n save(data);\r\n }, onError);\r\n return;\r\n }\r\n save(data);\r\n });\r\n return;\r\n }\r\n if (!!passwordChkbox.data('password') && passwordChkbox.data('password') != '') data.Password = passwordChkbox.data('password');\r\n if (WA.Document.Encoding % 2 == 1) {\r\n //FIXME: ΠΏΠ΅Ρ€Π΅Π΄Π΅Π»Π°Ρ‚ΡŒ Π½Π° WA.agent.getDocumentDecryptionKey\r\n GetEncryptionKeyForDoc(WA.Document.ID, WA.Document.Encoding, WA.Document.PluginName, data.Password, function (encryptionKey) {\r\n data.EncryptionKey = encryptionKey;\r\n save(data);\r\n }, onError);\r\n return;\r\n }\r\n save(data);\r\n}\r\n\r\nfunction GetEncryptionKeyForDoc(docID, encoding, pluginName, password, onSuccess, onError) {\r\n RequestToken(TOKEN_OPERATION.DOWNLOAD_DOCUMENT_BODY, function (token) {\r\n WebAccess.agent.transmitRequest('getdocdecryptedkey', 'CryptographyPlugin',\r\n {\r\n \"DocID\": docID,\r\n \"Version\": 0,\r\n \"Token\": token,\r\n \"EncodeType\": encoding,\r\n \"EncryptionPluginName\": pluginName,\r\n \"Password\": password\r\n }).done(function (response) {\r\n if (onSuccess) { onSuccess(response.result); }\r\n }).fail(function (response) {\r\n if (onError) onError(response.message);\r\n });\r\n }, docID, 0);\r\n}\r\n\r\nfunction SaveRights(callback, error) {\r\n var src = $('#__SELECTED_USERS').val();\r\n var res = [];\r\n var rightsJson = '';\r\n var rightsChanged = false;\r\n\r\n //ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° наличия ΠΏΠΎΠ»Π½Ρ‹Ρ… ΠΏΡ€Π°Π²\r\n if (!IsRightsListValid()) {\r\n HideTopSpinner();\r\n return ShowInfo(L(\"WARN_EMPRY_RIGHTS_ISNOT_VALID\"));\r\n }\r\n\r\n var currentRights = $('#__CURRENT_USERS_RIGHTS');\r\n if (!!!currentRights.data('changed') || currentRights.data('changed') == '0') currentRights.data('changed', CheckRightsHaveChanged(currentRights.val(), src) ? '1' : '0');\r\n var newEcoding = GetDocNewEncoding($('#EncryptWithPasswordCheckBox'), $('#EncryptWithCertCheckBox'));\r\n\r\n if (currentRights.data('changed') == '1' || (newEcoding > 0 && src.indexOf('g_') != -1)) {\r\n var rightRecords = src.split(';');\r\n for (var i = 0; i < rightRecords.length; i++) {\r\n var rec = $.trim(rightRecords[i]);\r\n if (rec) {\r\n var parts = rec.split('-');\r\n var id = parts[0];\r\n var right = [16, 8, 4][parseInt(parts[1], 10)]; // 0 -> 16 (full), 1 -> 8 (change), 2 -> 4 (view)\r\n var isGroup = false;\r\n if (id.indexOf('g_') == 0) {\r\n id = id.substr(2);\r\n if (newEcoding == 0) {\r\n isGroup = true;\r\n }\r\n else {\r\n RequestActionWithGroup(id, parts[1], function () { SaveRights(callback, error); });\r\n return;\r\n }\r\n }\r\n res.push({ UserID: +id, IsGroup: isGroup, RightType: right });\r\n }\r\n }\r\n rightsJson = $.toJSON(res);\r\n rightsChanged = true;\r\n }\r\n var rightsDelegationSetting = GetRightsDelegationSettingValue();\r\n var rightsDelegationInitVal = $('#RightsDelegationCheckBox').data('initval') == 1;\r\n var rightsDelegationChanged = rightsDelegationSetting != rightsDelegationInitVal;\r\n SetEncryptionForDocument({ RightsJSON: rightsJson, RightsDelegationTurnedOn: rightsDelegationSetting }, rightsChanged || rightsDelegationChanged, callback);\r\n}\r\n\r\nfunction RequestActionWithGroup(groupID, accessLevel, onActionSelected) {\r\n var actions = [L('ADD_GROUP_AND_SUBGROUPS_USERS'), L('ADD_GROUP_USERS_ONLY'), L('REMOVE_GROUP_FROM_ACCESS_RIGHTS')];\r\n var html = '
' + L('CANNOT_USE_USERGROUPS_WITH_ENCRYPTION') + '
';\r\n html += '
';\r\n html += '
';\r\n html += '
' + L('LOCAL_COPY_OPTIONS') + '
';\r\n html += '
';\r\n for (var i = 0; i < actions.length; i++) {\r\n var needCheck = (i == 0);\r\n html += '
'\r\n + ''\r\n + '
';\r\n }\r\n html += '
';\r\n\r\n var mbox = new WA.CMP.dialogs.MessageBox();\r\n mbox.width = 450;\r\n mbox\r\n .okCancelButtons(function () {\r\n var opcode = $('#actionOptions').find('input:checked').attr('opcode');\r\n switch (opcode) {\r\n case \"0\": OpenUpUserGroup(groupID, accessLevel, true, onActionSelected); break;\r\n case \"1\": OpenUpUserGroup(groupID, accessLevel, false, onActionSelected); break;\r\n case \"2\":\r\n $('tr#current_g_' + groupID + ',tr#new_g_' + groupID).find('.rights-table__delete-row').click();\r\n if (onActionSelected) onActionSelected();\r\n break;\r\n }\r\n }, function () { HideTopSpinner(); });\r\n var groupName = $('tr#current_g_' + groupID + ',tr#new_g_' + groupID).children('.Rights_Table_td').children().text();\r\n mbox.showQuestion(L('ADD_GROUP_USERS_TO_ENCODED_OBJECT_RIGHTS', groupName), html);\r\n}\r\n\r\nfunction OpenUpUserGroup(groupID, accessLevel, needOpenSubgroups, onGroupOpened) {\r\n WA.SRV.call('/UserList.asmx/GetUsersInGroup', { 'GroupID': groupID, 'NeedProcessSubGroups': needOpenSubgroups, 'RenderItems': true })//'ObjectID': WA.current.ID, 'ObjectType': 1, 'Filtrator': '' })\r\n .success(function (items) {\r\n for (var i = 0; i < items.length; i++) {\r\n var item = items[i];\r\n if (AddUserByDiv($(item.text)[0])) {\r\n // устанавливаСм Π½ΡƒΠΆΠ½Ρ‹Π΅ ΠΏΡ€Π°Π²Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρƒ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ\r\n $('tr#current_' + item.id + ',tr#new_' + item.id).children('.rights-table__column_current-rights').find('[name=' + accessLevel + ']').click();\r\n }\r\n }\r\n // удаляСм Π³Ρ€ΡƒΠΏΠΏΡƒ ΠΈΠ· Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹\r\n $('tr#current_g_' + groupID + ',tr#new_g_' + groupID).find('.rights-table__delete-row').click();\r\n if (onGroupOpened) onGroupOpened();\r\n });\r\n}\r\n\r\nfunction GetRightsDelegationSettingValue() {\r\n var RightsDelegationCheckBoxVal = false;\r\n var RightsDelegationCheckBox = $('#RightsDelegationCheckBox');\r\n if (RightsDelegationCheckBox.length) { RightsDelegationCheckBoxVal = RightsDelegationCheckBox.is(':checked'); }\r\n return RightsDelegationCheckBoxVal;\r\n}\r\n\r\nfunction CheckRightsHaveChanged(oldValue, newValue) {\r\n if (oldValue.length != newValue.length) return true;\r\n if (oldValue[oldValue.length - 1] == ';') oldValue = oldValue.substr(0, oldValue.length - 1);\r\n if (newValue[newValue.length - 1] == ';') newValue = newValue.substr(0, newValue.length - 1);\r\n if (oldValue.split(';').sort().join(';') != newValue.split(';').sort().join(';')) return true;\r\n return false;\r\n}\r\n\r\nfunction SetEncryptionForDocument(RightsObject, RightsChanged, OnEncryptionSet) {\r\n var passwordCheckBox = $('#EncryptWithPasswordCheckBox');\r\n var certCheckBox = $('#EncryptWithCertCheckBox');\r\n var password = !!passwordCheckBox.data('password') ? passwordCheckBox.data('password') : '';\r\n var currentEncoding = WA.Document.Encoding;\r\n var newEncoding = GetDocNewEncoding(passwordCheckBox, certCheckBox);\r\n var encryptionKey = \"\";\r\n if (currentEncoding != newEncoding || RightsChanged) {\r\n RightsObject.EncodingType = newEncoding;\r\n RightsObject.Password = password;\r\n SaveWithEncoding(function (res) {\r\n RequestSetEncryption(currentEncoding, res, OnEncryptionSet);\r\n }, RightsObject);\r\n return;\r\n }\r\n if (OnEncryptionSet) OnEncryptionSet({ Success: true, EncodingChanged: RightsChanged });\r\n}\r\n\r\nfunction RequestSetEncryption(currentEncoding, RightsObject, OnEncryptionSet) {\r\n RightsObject.DocumentID = WA.Document.ID;\r\n WA.SRV.call(\"/Document.asmx/SetEncryption\", RightsObject) //{ \"DocumentID\": WA.Document.ID, \"EncodingType\": newEncoding, \"Password\": password, \"EncryptionKey\": encryptionKey })\r\n .success(\r\n function (res) {\r\n //WA.current.toolBar.buttons.ChangeDocPassword.enable();\r\n var encChanged = (WA.Document.Encoding != RightsObject.EncodingType && $('#__CURRENT_USERS_RIGHTS').data('changed') == '1');\r\n WA.Document.Encoding = RightsObject.EncodingType;\r\n HideTopSpinner(L(\"EDOC_SAVE_COMPLETE\"), 2000);\r\n if (OnEncryptionSet) OnEncryptionSet({ Success: true, EncodingChanged: encChanged });\r\n })\r\n .fail(\r\n function (res) {\r\n var passwordCheckBox = $('#EncryptWithPasswordCheckBox');\r\n passwordCheckBox.data('password', null);\r\n if (currentEncoding < 2) passwordCheckBox.removeAttr(\"checked\");\r\n else passwordCheckBox.attr('checked', true);\r\n if (currentEncoding % 2 == 1) $('#EncryptWithCertCheckBox').attr(\"checked\");\r\n else $('#EncryptWithCertCheckBox').removeAttr(\"checked\");\r\n if (OnEncryptionSet) OnEncryptionSet({ Success: false, Error: res });\r\n //WA.current.toolBar.buttons.ChangeDocPassword.disable();\r\n });\r\n return;\r\n}\r\n\r\nfunction GetDocNewEncoding(passwordCheckBox, certCheckBox) {\r\n var encoding = 0;\r\n var certEncryptEnabled = certCheckBox.is(':checked');\r\n if (certEncryptEnabled) {\r\n encoding++;\r\n }\r\n if (passwordCheckBox.is(':checked')) {\r\n encoding = 2;\r\n if (certEncryptEnabled) {\r\n encoding++;\r\n }\r\n }\r\n return encoding;\r\n}\r\n\r\nfunction ChangeTabDoc(tabName) {\r\n const ChangeTab = () => {\r\n const url = new WA.URL();\r\n const view = url.getParam('view');\r\n if (tabName === 'close') {\r\n WA.CR.spinner.show(L('PLEASE_WAIT'));\r\n SaveInDoc(() => {\r\n CloseDocWindow(L('DATA_DIDNT_SAVE'), GetParamInURL('id'));\r\n });\r\n } else {\r\n const mode = url.getParam('mode').toLowerCase();\r\n if (['export', 'explock', 'editlock'].includes(mode)) { // Ссли ΠΌΡ‹ ΠΏΠΎΠΏΠ°Π»ΠΈ сюда ΠΏΡ€ΠΈ Π½Π΅ΡƒΠ΄Π°Ρ‡Π½ΠΎΠΉ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ экспорта, Ρ‚ΠΎ ΡƒΠ±Π΅Ρ€Π΅ΠΌ mode\r\n WA.CR.spinner.show(L('PLEASE_WAIT'));\r\n DoAction(`view=${tabName}&-op&-val&-ver&-ShowAll&-mode`, false);\r\n } else {\r\n if ((!view || view.toUpperCase() === 'CARD') && WA.CR.form.isChanged()) {\r\n ConfirmDialogNew(L('UNSAVED_CHANGES_WILL_BE_LOST'), () => {\r\n WA.CR.spinner.show(L('PLEASE_WAIT'));\r\n UnbindBeforeUnload();\r\n DoAction(`view=${tabName}&-op&-val&-ver&-ShowAll`, false);\r\n });\r\n } else {\r\n WA.CR.spinner.show(L('PLEASE_WAIT'));\r\n DoAction(`view=${tabName}&-op&-val&-ver&-ShowAll`, false);\r\n }\r\n }\r\n }\r\n }\r\n ChangeTab();\r\n}\r\nfunction UndoEDoc() {\r\n UnbindBeforeUnload();\r\n DoAction('__POSTBACK_ACTION=UndoEDoc', true);\r\n}\r\n\r\nfunction SaveAndCloseEDoc() {\r\n UnbindBeforeUnload();\r\n SaveInDoc(function () {\r\n CloseDocWindow(L(\"DATA_DIDNT_SAVE\"), GetParamInURL(\"id\"));\r\n if (window.opener && window.opener.timeoutHandler) {\r\n clearTimeout(window.opener.timeoutHandler);\r\n }\r\n });\r\n}\r\n\r\n/**\r\n * Π‘Π½ΡΡ‚ΡŒ ΠΈΠ»ΠΈ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ.\r\n *\r\n * @function LockUnlock\r\n */\r\nfunction LockUnlock() {\r\n\r\n var isLocked = $('#islocked').val() == \"1\";\r\n var jButton = $('[name=LockUnlock]');\r\n\r\n WA.SRV.call(isLocked ? '/Document.asmx/Unlock' : '/Document.asmx/Lock', {\r\n DocumentID: WA.CR.ID,\r\n UseGlobalLock: false\r\n }).done(function () {\r\n var toastMsg = new WA.CMP.notifications.Toast();\r\n\r\n if (!isLocked) {\r\n toastMsg.showSuccess(L('DOC_SUCCESS_LOCK'));\r\n } else {\r\n toastMsg.showSuccess(L('DOC_SUCCESS_UNLOCK'));\r\n WA.CR.inlineHint.hide();\r\n }\r\n\r\n window.location.href = ChangeParamInURL(window.location.href, 'Parent', 'Doc');\r\n });\r\n}\r\nfunction DocSendAsAttachment() {\r\n if (/\\/pda\\//.test(location.pathname))\r\n DoAction('op=SendAsAttach', false);\r\n else\r\n window.open(PrepareUrl(location.href, 'op=SendAsAttach'));\r\n}\r\n// Экспорт\r\nfunction Export(id, selectId, checkedId, inNewWindow) {\r\n UnbindBeforeUnload();\r\n var VerNumber = $(\"#\" + selectId + \" option:selected\").val();\r\n var url;\r\n var WSSParam = GetWSSParam(location.href, false);\r\n if ($(\"#\" + checkedId).is(':checked')) { url = \"/Doc.aspx?ID=\" + id + \"&view=ShowVerList&ver=\" + VerNumber + \"&mode=ExpLock\" + WSSParam; }\r\n else { url = \"/Doc.aspx?ID=\" + id + \"&view=ShowVerList&ver=\" + VerNumber + \"&mode=Export\" + WSSParam; };\r\n if (inNewWindow) {\r\n window.open(url, \"VersionBody\", \"\");\r\n CloseExportDlg();\r\n } else {\r\n location.href = url;\r\n /* Π”Π΅Π»Π°Ρ‚ΡŒ нСльзя, Ρ‚.ΠΊ. Π²Π°Π»ΠΈΡ‚ΡŒΡΡ IEMobile.\r\n setTimeout('CloseExportDlg()', 1000);*/\r\n }\r\n}\r\nfunction CloseExportDlg() {\r\n UnbindBeforeUnload();\r\n var EDocID = GetParamInURL(\"id\");\r\n FreeEDoc(EDocID);\r\n if (document.referrer.toLowerCase().indexOf(g_DefaultPage) != -1) {\r\n window.close();\r\n } else {\r\n var url = window.location.href;\r\n url = RemoveParamInURL(url, \"op\", \"\");\r\n if (\"undefined\" != typeof (GetParamInURL(\"ver\"))) {\r\n url = RemoveParamInURL(url, \"ver\");\r\n }\r\n window.location.href = url;\r\n }\r\n}\r\nfunction ChkExportedVersion(VerList, EDocID, ChkLockID) {\r\n var result = {};\r\n var WSSParam = GetWSSParam(location.href, true);\r\n $.ajax({\r\n type: \"POST\",\r\n contentType: \"application/json; charset=utf-8\",\r\n dataType: \"json\",\r\n url: \"/EDocument.asmx/CheckVersionStateForExport\" + WSSParam,\r\n data: \"{'EDocID':'\" + EDocID + \"', 'VerNum':'\" + VerList.value + \"', 'IsExport':'true'}\",\r\n async: false,\r\n cache: false,\r\n success: function (res) {\r\n if (!CheckForLoginPage(res.d)) {\r\n result = res.d;\r\n if (result.Error) {\r\n $.when(WA.FormControlsInit).then(() => {\r\n WA.CMP.NTF.InlineHint.hideAll();\r\n WA.CR.inlineHint.showError(result.Error, null, INLINE_HINT_PRIORITY.PRIMARY);\r\n });\r\n } else if (!!result.Warning) {\r\n $.when(WA.FormControlsInit).then(() => {\r\n WA.CMP.NTF.InlineHint.hideAll();\r\n WA.CR.inlineHint.showWarning(result.Warning, null, INLINE_HINT_PRIORITY.PRIMARY);\r\n });\r\n }\r\n\r\n let enableLock = result.EnableLock === 'true';\r\n let el = $(\"#\" + ChkLockID);\r\n if (enableLock) {\r\n el.removeAttr('disabled');\r\n } else {\r\n el.attr('disabled', 'disabled').prop('checked', false);\r\n }\r\n }\r\n }\r\n });\r\n}\r\n// Π˜ΠΌΠΏΠΎΡ€Ρ‚ ΠΈ созданиС Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°\r\nfunction GetImgByExt(ext) {\r\n var R;\r\n var WSSParam = GetWSSParam(location.href, true);\r\n $.ajax({\r\n type: \"POST\",\r\n contentType: \"application/json; charset=utf-8\",\r\n dataType: \"json\",\r\n url: \"/EDocument.asmx/GetImgByExt\" + WSSParam,\r\n data: \"{'Extension':'\" + ext + \"'}\",\r\n async: false,\r\n cache: false,\r\n success: function (res) {\r\n R = res.d;\r\n }\r\n });\r\n CheckForLoginPage(R);\r\n return R;\r\n}\r\n// Π˜ΠΌΠΏΠΎΡ€Ρ‚\r\nfunction CloseImportDlg() {\r\n UnbindBeforeUnload();\r\n var EDocID = GetParamInURL(\"id\");\r\n FreeEDoc(EDocID);\r\n if (document.referrer.toLowerCase().indexOf(g_DefaultPage) != -1 || GetParamInURL(\"place\").toLowerCase().indexOf(\"explorer\") != -1) {\r\n window.close();\r\n } else {\r\n var url = window.location.href;\r\n url = RemoveParamInURL(url, \"op\", \"\");\r\n if (\"undefined\" != typeof (GetParamInURL(\"ver\"))) {\r\n url = RemoveParamInURL(url, \"ver\");\r\n }\r\n url = RemoveParamInURL(url, \"mode\");\r\n window.location = url;\r\n }\r\n}\r\n// ΠžΠ±Ρ‰ΠΈΠ΅\r\nfunction BaseCloseDocWindow(edocId) {\r\n window.onunload = function () { FreeEDoc(edocId); };\r\n}\r\nfunction FreeEDoc(EDocID) {\r\n var R;\r\n var WSSParam = GetWSSParam(location.href, true);\r\n $.ajax({\r\n type: \"POST\",\r\n contentType: \"application/json; charset=utf-8\",\r\n dataType: \"json\",\r\n url: \"/EDocument.asmx/FreeEDoc\" + WSSParam,\r\n data: \"{'EDocID':'\" + EDocID + \"'}\",\r\n async: false,\r\n success: function (res) {\r\n R = res.d;\r\n }\r\n });\r\n CheckForLoginPage(R);\r\n return R;\r\n}\r\n/* =================================================================================================================================================== */\r\n\r\n/* =Папки============================================================================================================================================= */\r\nfunction ShowFolderCard() {\r\n DoAction('view=Card&-UpdateExplorer', false);\r\n}\r\nfunction ShowFolderRights() {\r\n DoAction('view=RightsList&-UpdateExplorer', false);\r\n}\r\nfunction UndoFolderCard() {\r\n UnbindBeforeUnload();\r\n DoAction('__POSTBACK_ACTION=Undo&-UpdateExplorer', true);\r\n}\r\nfunction EnterEditMode_FolderCard() {\r\n var mode = GetParamInURL(\"mode\");\r\n if (mode.toLowerCase() == \"edit\") {\r\n DoAction(\"mode=read&-UpdateExplorer\", false);\r\n } else {\r\n DoAction(\"mode=edit&-UpdateExplorer\", false);\r\n }\r\n}\r\n\r\n\r\n\r\nfunction ChangeTabFolder(tabName) {\r\n ShowTopSpinner(L(\"PLEASE_WAIT\"), false);\r\n if (tabName != 'RightsList') {\r\n if (!IsRightsListValid()) {\r\n $.when(WA.FormControlsInit).then(() => {\r\n let message = L(\"WARN_EMPRY_RIGHTS_ISNOT_VALID\");\r\n WA.CMP.NTF.InlineHint.hideAll();\r\n WA.CR.inlineHint.showError(message, null, INLINE_HINT_PRIORITY.PRIMARY);\r\n });\r\n } else {\r\n DoAction('view=' + tabName + '&-op&-val&-ver&-ShowAll', false);\r\n }\r\n } else {\r\n DoAction('view=' + tabName + '&-op&-val&-ver&-ShowAll', false);\r\n }\r\n}\r\n\r\nfunction BaseCloseFolderCardWindow(folderId) {\r\n window.onunload = function () { FreeFolder(folderId); }\r\n}\r\nfunction FreeFolder(folderId) {\r\n var R;\r\n var WSSParam = GetWSSParam(location.href, true);\r\n $.ajax({\r\n type: \"POST\",\r\n contentType: \"application/json; charset=utf-8\",\r\n dataType: \"json\",\r\n url: \"/Folder.asmx/FreeFolder\" + WSSParam,\r\n data: \"{'FolderID':'\" + folderId + \"'}\",\r\n async: false,\r\n success: function (res) {\r\n R = res.d;\r\n }\r\n });\r\n CheckForLoginPage(R);\r\n return R;\r\n}\r\nfunction SaveFolderCard(need_close, noCheckSubObj) {\r\n var FolderKind = $('#hiddctl00_MainContent_ctl00_Kind').val();\r\n var FolderID = WA.CR.ID;\r\n\r\n // Π’ мобильной вСрсии ΠΏΡ€Π°Π²Π° ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊ ΠΏΠ°ΠΏΠΊΠ΅.\r\n if (WA.isMobile())\r\n noCheckSubObj = true;\r\n\r\n if (!IsRightsListValid()) {\r\n HideTopSpinner();\r\n $.when(WA.FormControlsInit).then(() => {\r\n let message = L(\"WARN_EMPRY_RIGHTS_ISNOT_VALID\");\r\n WA.CMP.NTF.InlineHint.hideAll();\r\n WA.CR.inlineHint.showError(message, null, INLINE_HINT_PRIORITY.PRIMARY);\r\n });\r\n return;\r\n } else {\r\n if (!noCheckSubObj && (!WA.isMobile() && WA.CR.sideBar.tabs.current.name === \"RightsList\")) {\r\n var selectedUsers = $('input[name=__SELECTED_USERS]').val();\r\n var currentRights = $('input[name=__CURRENT_USERS_RIGHTS]').val();\r\n\r\n if (selectedUsers !== currentRights) {\r\n if (!checkCurrentUserRights()) {\r\n var dialog = new WA.CMP.dialogs.MessageBox();\r\n\r\n var mainText = L('NO_FOLDER_FULL_RIGHTS')\r\n var additionalText = L('NO_FOLDER_FULL_RIGHTS_ADDITIONAL');\r\n var title = L('WARNING');\r\n\r\n dialog.removeDefaultButtons();\r\n dialog.addButton('Continue', L('PROCEED_SAVING'), function () {\r\n saveRightsByService(FolderID, need_close);\r\n });\r\n dialog.addButton('RestoreRights', L('RESTORE_RIGHTS'), function () {\r\n // ВосстанавливаСм ΠΏΠΎΠ»Π½Ρ‹Π΅ ΠΏΡ€Π°Π²Π° Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌΡƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ\r\n $('input[name=__SELECTED_USERS]').val(selectedUsers + ';' + CurrentUserID + '-0');\r\n saveRightsByService(FolderID, need_close);\r\n });\r\n dialog.addButton('Cancel', L('CANCEL'), function () { });\r\n\r\n dialog.show(mainText, additionalText, title, 'warning');\r\n } else {\r\n saveRightsByService(FolderID, need_close);\r\n }\r\n return;\r\n }\r\n }\r\n }\r\n\r\n // пошлСм запрос Π½Π° сСрвСр ΠΎ нСобходимости Π·Π°Π΄Π°Ρ‚ΡŒ вопрос ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ.\r\n if (FolderKind != null && FolderID != \"\") {\r\n // ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΠΌ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅.\r\n if (typeof (ShowTopSpinner) != 'undefined') ShowTopSpinner(L(\"PLEASE_WAIT\"));\r\n\r\n var WSSParam = GetWSSParam(location.href, true);\r\n $.ajax({\r\n type: \"POST\",\r\n contentType: \"application/json; charset=utf-8\",\r\n dataType: \"json\",\r\n url: \"/Folder.asmx/CheckFolderType\" + WSSParam,\r\n data: \"{'FolderID':'\" + FolderID + \"', 'FolderKind':'\" + FolderKind + \"'}\",\r\n cache: false,\r\n success: function (res) {\r\n if (!CheckForLoginPage(res.d)) {\r\n SaveFolderCard_WithQuestions(res.d, need_close);\r\n }\r\n }\r\n });\r\n return;\r\n }\r\n\r\n SaveFolderCard_WithQuestions(null, need_close);\r\n}\r\n\r\nfunction SaveAndCloseFolder() {\r\n SaveFolderCard(true);\r\n}\r\n\r\nfunction SaveFolderCard_WithQuestions(msg, need_close) {\r\n if (typeof (HideTopSpinner) != 'undefined') HideTopSpinner(\"\", 1);\r\n\r\n function ok() {\r\n UnbindBeforeUnload();\r\n\r\n var currentUrl = new WA.URL();\r\n var isNeedAddInAttachments = false;\r\n var ownerType = currentUrl.getParam('ownerType');\r\n if ((currentUrl.getParam('ownerId') !== '') && (ownerType === 'JOB' || ownerType === 'TASK')) {\r\n isNeedAddInAttachments = true;\r\n }\r\n\r\n DoAction(format('__POSTBACK_ACTION={0}&-UpdateExplorer', need_close ? (isNeedAddInAttachments ? 'SaveAttachAndClose' : 'SaveAndClose') : (isNeedAddInAttachments ? 'SaveAndAttach' : 'Save')), true);\r\n }\r\n\r\n function cancel() {\r\n $('div.saving').hide();\r\n }\r\n\r\n if (msg == null) {\r\n ok();\r\n } else {\r\n ConfirmDialogNew(msg, ok, cancel);\r\n }\r\n}\r\n\r\nfunction saveRightsByService(folderID, needClose) {\r\n if (WA.CR.user.hasConfigureAccessRightsToFolderContents) {\r\n // ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΠΌ, Π½Π΅ пустая Π»ΠΈ ΠΏΠ°ΠΏΠΊΠ°\r\n WA.SRV.call('/Folder.asmx/GetContentCount', { \"FolderID\": folderID }).done(function (res) {\r\n if (res > 0) {\r\n // Если Π΅ΡΡ‚ΡŒ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ элСмСнты, ΡƒΠ·Π½Π°Π΅ΠΌ, Π½Π°Π΄ΠΎ Π»ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ Π½Π° Π½ΠΈΡ… ΠΏΡ€Π°Π²Π°.\r\n rightsToSubObjectsDialog(needClose);\r\n } else {\r\n SaveFolderCard(needClose, true);\r\n }\r\n });\r\n } else {\r\n SaveFolderCard(needClose, true);\r\n }\r\n}\r\n\r\nfunction rightsToSubObjectsDialog(need_close) {\r\n var rightsDialog = new WA.CMP.dialogs.MessageBox();\r\n\r\n var mainText = L('APPLY_ACCESS_RIGHTS_TEXT');\r\n var additionalText = L('APPLY_ACCESS_RIGHTS_LONG_TIME');\r\n var title = L('CONFIRMATION');\r\n\r\n rightsDialog.removeDefaultButtons();\r\n rightsDialog.addButton('NoApply', L('NO'), () => { SaveFolderCard(need_close, true); });\r\n rightsDialog.addButton('ApplyNoRepalce', L('APPLY_ACCESS_RIGHTS_YES_REPLACE'), () => { applyRights(false, need_close); });\r\n rightsDialog.addButton('ApplyReplace', L('YES'), () => { applyRights(true, need_close); });\r\n rightsDialog.show(mainText, additionalText, title, 'question', 'NoApply');\r\n\r\n function applyRights(isNeedReplace, shouldClose) {\r\n var selectedUsers = $('input[name=__SELECTED_USERS]').val();\r\n var currentRights = $('input[name=__CURRENT_USERS_RIGHTS]').val();\r\n var wdialog = waitDialog();\r\n\r\n wdialog.show();\r\n WA.SRV.call('/Folder.asmx/ApplyRightsToFolder', {\r\n FolderID: WA.CR.ID,\r\n NewUserRights: selectedUsers,\r\n OldUserRights: currentRights,\r\n NeedReplace: isNeedReplace\r\n }).done(function (res) {\r\n wdialog.close();\r\n resultDialog(res, shouldClose);\r\n }).fail(function (res) {\r\n wdialog.close();\r\n resultDialog(res, shouldClose);\r\n });\r\n };\r\n\r\n function waitDialog() {\r\n var dialog = new WA.CMP.dialogs.BaseDialog();\r\n dialog.removeDefaultButtons();\r\n dialog.removeCloseButton();\r\n dialog.title = L('APPLY_ACCESS_RIGHTS_PROGRESS_TITLE');\r\n dialog.setHtml(format('{0}', L('PLEASE_WAIT_DONT_CLOSE_PAGE')));\r\n\r\n return dialog;\r\n };\r\n\r\n function resultDialog(res, shouldClose) {\r\n var dialog = new WA.CMP.dialogs.MessageBox();\r\n if (res) {\r\n dialog.mainText = L('APPLY_ACCESS_RIGHTS_ERROR')\r\n dialog.additionalText = res;\r\n dialog.onClose = function () {\r\n UnbindBeforeUnload();\r\n closeOrReload(shouldClose);\r\n };\r\n dialog.showError();\r\n } else {\r\n UnbindBeforeUnload();\r\n closeOrReload(shouldClose);\r\n }\r\n };\r\n\r\n function closeOrReload(shouldClose) {\r\n if (shouldClose) {\r\n CloseWindow();\r\n } else {\r\n window.location.reload();\r\n }\r\n }\r\n}\r\n\r\n// ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅Ρ‚, Π½Π΅ Π·Π°Π±Ρ€Π°Π» Π»ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΠΏΠΎΠ»Π½Ρ‹Π΅ ΠΏΡ€Π°Π²Π° Ρƒ сСбя\r\nfunction checkCurrentUserRights() {\r\n var selectedUsers = $('input[name=__SELECTED_USERS]').val();\r\n var currentRights = $('input[name=__CURRENT_USERS_RIGHTS]').val();\r\n\r\n var oldRights = parseRightsList(currentRights);\r\n var maxRights = null;\r\n var hasFullRights = false;\r\n\r\n for (var i = 0; i < oldRights.length; i++) {\r\n if (oldRights[i].id == CurrentUserID) {\r\n maxRights = oldRights[i].rightsType;\r\n break;\r\n }\r\n }\r\n\r\n if (maxRights) {\r\n var newRights = parseRightsList(selectedUsers);\r\n for (var i = 0; i < newRights.length; i++) {\r\n if (newRights[i].id == CurrentUserID) {\r\n hasFullRights = true;\r\n break;\r\n }\r\n }\r\n } else {\r\n // Если записи с Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΌ Π˜Π” Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ, Π·Π½Π°Ρ‡ΠΈΡ‚ ΠΏΡ€Π°Π²Π° Π±Ρ‹Π»ΠΈ Π²Ρ‹Π΄Π°Π½Ρ‹ нСявно\r\n hasFullRights = true;\r\n }\r\n\r\n return hasFullRights;\r\n}\r\n\r\nfunction parseRightsList(rights) {\r\n var result = [];\r\n\r\n var rightsArray = rights.split(';');\r\n for (var i = 0; i < rightsArray.length; i++) {\r\n var user = rightsArray[i].split('-');\r\n result.push({ id: user[0], rightsType: user[1] });\r\n }\r\n\r\n return result;\r\n}\r\n/* =================================================================================================================================================== */\r\n\r\n/* =Поиски============================================================================================================================================= */\r\nfunction DisableIsAllCheckboxNotChecked(reqname, el_query) {\r\n var tbl = $('.Search_Table:visible');\r\n // Для глобального поиска Π½Π°Π΄ΠΎ false, для ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… true\r\n var defaultFlag = true;\r\n if ($(\"#SrchGeneralAreaT\").length > 0 || $(\"#SrchGeneralAreaC\").length > 0 || $(\"#SrchGeneralAreaN\").length > 0\r\n || $(\"#SrchGeneralObjectE\").length > 0 || $(\"#SrchGeneralObjectW\").length > 0 || $(\"#SrchGeneralObjectF\").length > 0)\r\n defaultFlag = false;\r\n\r\n var searchAreaText = $(\"#SrchGeneralAreaT\").length > 0 ? $(\"#SrchGeneralAreaT\")[0].checked : defaultFlag;\r\n var searchAreaCard = $(\"#SrchGeneralAreaC\").length > 0 ? $(\"#SrchGeneralAreaC\")[0].checked : defaultFlag;\r\n var searchAreaName = $(\"#SrchGeneralAreaN\").length > 0 ? $(\"#SrchGeneralAreaN\")[0].checked : defaultFlag;\r\n var searchObjEDocument = $(\"#SrchGeneralObjectE\").length > 0 ? $(\"#SrchGeneralObjectE\")[0].checked : defaultFlag;\r\n var searchObjCustomWork = $(\"#SrchGeneralObjectW\").length > 0 ? $(\"#SrchGeneralObjectW\")[0].checked : defaultFlag;\r\n var searchObjFolder = $(\"#SrchGeneralObjectF\").length > 0 ? $(\"#SrchGeneralObjectF\")[0].checked : defaultFlag;\r\n var $archiveTag = $(\"#Search\").find('input[id$=SrchGeneralPseudoArchiveTag]');\r\n //var isInvalidCriteria = (searchObjFolder && !searchObjCustomWork && !searchObjEDocument) && (searchAreaText && !searchAreaCard);\r\n //if (!isInvalidCriteria)\r\n // isInvalidCriteria = (!searchObjFolder && !searchObjCustomWork && !searchObjEDocument);\r\n if (tbl.length == 0) {\r\n tbl = $('div.card');\r\n }\r\n //var el = tbl.find(el_query);\r\n var txt = tbl.find(\"input[id*=Text]\");\r\n var btn = tbl.find(\"input.Search_Btn:first\");\r\n var Warning = $(btn).prev(\"div#SrchWarnMsg\");\r\n\r\n var DisableButton = false;\r\n var DisableTextbars = false;\r\n\r\n if (!searchObjFolder && !searchObjCustomWork && !searchObjEDocument) {\r\n DisableButton = true;\r\n } else if (!searchObjFolder && !searchObjCustomWork && !searchObjEDocument && !searchAreaCard) {\r\n DisableButton = true;\r\n } else if (searchObjFolder) {\r\n DisableButton = false;\r\n }\r\n\r\n if (!searchAreaText && !searchAreaCard && !searchAreaName) {\r\n DisableTextbars = true;\r\n }\r\n // поиск ΠΏΠ°ΠΏΠΎΠΊ ΠΏΠΎ тСксу это Π½Π΅Π²Π΅Ρ€Π½Ρ‹Π΅ ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΈ\r\n if (searchAreaText && searchObjFolder && !searchAreaName && !searchAreaCard && !searchObjCustomWork && !searchObjEDocument) {\r\n DisableButton = true;\r\n }\r\n\r\n //ΠžΡ‚ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ элСмСнты\r\n //if ((tbl.find('input[id*=' + reqname + ']:checked').length == 0) || (isInvalidCriteria)) {\r\n if (DisableButton) {\r\n var htmlWarning = \"
\" +\r\n \"

\" +\r\n L(\"WARN_INVALID_SEARCH_CRITERIA\") +\r\n \"

\";\r\n //ДобавляСм сообщСниС\r\n if (Warning.length == 0) $(btn).before(htmlWarning);\r\n //Π±Π»ΠΎΠΊΠΈΡ€ΡƒΠ΅ΠΌ ΠΊΠ½ΠΎΠΏΠΊΡƒ\r\n btn.attr(\"disabled\", true);\r\n btn.addClass('disabled');\r\n } else {\r\n //удаляСм сообщСниС\r\n if (Warning.length > 0) Warning.remove();\r\n //снимаСм Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΡƒ с ΠΊΠ½ΠΎΠΏΠΊΠΈ\r\n btn.removeAttr(\"disabled\");\r\n btn.removeClass('disabled');\r\n }\r\n\r\n if (DisableTextbars) {\r\n //Π±Π»ΠΎΠΊΠΈΡ€ΡƒΠ΅ΠΌ тСкстовыС поля\r\n txt.attr(\"disabled\", true);\r\n txt.addClass('Req_Disabled');\r\n } else {\r\n //снимаСм Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΡƒ с тСкстовых ΠΏΠΎΠ»Π΅ΠΉ\r\n txt.removeAttr(\"disabled\");\r\n txt.removeClass('Req_Disabled');\r\n }\r\n}\r\nfunction DisableTextbox(reqname) {\r\n //DisableIsAllCheckboxNotChecked(reqname, 'input[id*=Text]');\r\n DisableIsAllCheckboxNotChecked(reqname, 'input.Search_Btn:first');\r\n}\r\nfunction DisableSearchBtn(reqname) {\r\n DisableIsAllCheckboxNotChecked(reqname, 'input.Search_Btn:first');\r\n}\r\nfunction SearchPseudoArchiveTagChanged(reqname) {\r\n DisableIsAllCheckboxNotChecked(reqname, 'input.Search_Btn:first');\r\n}\r\n/* =================================================================================================================================================== */\r\n\r\n/* =ΠœΠ°ΡΡ‚Π΅Ρ€Π° дСйствий============================================================================================================================================= */\r\nfunction CloseBaseWizardWindow(key) {\r\n window.onunload = function () { FreeWizard(key); }\r\n}\r\n\r\nfunction FreeWizard(key) {\r\n var R;\r\n var WSSParam = GetWSSParam(location.href, true);\r\n $.ajax({\r\n type: \"POST\",\r\n contentType: \"application/json; charset=utf-8\",\r\n dataType: \"json\",\r\n url: \"/Wizard.asmx/FreeWizard\" + WSSParam,\r\n data: \"{'Key':'\" + key + \"'}\",\r\n async: false,\r\n success: function (res) {\r\n R = res.d;\r\n }\r\n });\r\n CheckForLoginPage(R);\r\n return R;\r\n}\r\n\r\nfunction DisableWizardButtons() {\r\n $('.wizard-form__button').addClass('disabled').attr('disabled', 'disabled');\r\n}\r\n\r\n// Π½Π° этапС мастСра Ρ‚ΠΈΠΏΠ° запись справочника ΠΈ установкС автоматичСски ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ запись справочника - Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒΡΡ Π²ΠΊΠ»Π°Π΄ΠΊΠ°.\r\nfunction OpenObjectInWizardStep(notAutomatically) {\r\n var jShowRefCard = $(\"#ObjectHyperlink\");\r\n\r\n // ΠΎΠΊΠ½Π° шагов Π²ΠΈΠ·Π°Ρ€Π΄Π° ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ Ρ€Π°Π·Π½ΠΎΠ³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π°, Π½ΡƒΠΆΠ½ΠΎ Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€ΠΈΡ‚ΡŒ рСсайз\r\n // Π±Π΅Π· Ρ‚Π°ΠΉΠΌΠ°ΡƒΡ‚Π° Π½Π΅ сработаСт\r\n setTimeout(() => {\r\n $(window).trigger('resize');\r\n }, 500);\r\n\r\n if (jShowRefCard.length > 0) {\r\n if (jShowRefCard.data('hasaccess') == 'True') {\r\n if (jShowRefCard.data('autoshow') == 'True') {\r\n var id = jShowRefCard.data('id');\r\n var versionNum = jShowRefCard.data('version');\r\n var hasVersions = jShowRefCard.data('hasversions') == \"True\";\r\n\r\n if (WA.agent.isAvailable() && (typeof versionNum !== 'undefined') && ('' + versionNum !== '0') && g_defaultListAction !== \"preview\") {\r\n if (hasVersions) {\r\n var openForWrite = false;\r\n if (jShowRefCard.data('openforwrite') == \"True\") {\r\n openForWrite = true;\r\n }\r\n\r\n // Если Ρ€Π΅ΠΆΠΈΠΌ открытия Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° - Ρ‚Π΅Π»ΠΎ\r\n var docLink = new WA.Link(id, OBJECT_TYPE.EDOCUMENT);\r\n if (jShowRefCard.data('showmode') == WIZARD_DOCUMENT_STEP_SHOW_MODE.BODY) {\r\n Core.agent.getPlugin('DocumentPlugin').done(() => {\r\n SendEDocToAgent(id, versionNum, openForWrite);\r\n }).fail(function () {\r\n if (notAutomatically) {\r\n docLink.open();\r\n }\r\n });\r\n }\r\n else {\r\n // Если Ρ€Π΅ΠΆΠΈΠΌ открытия Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° - ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠ°\r\n docLink.open();\r\n }\r\n }\r\n else {\r\n //ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ сообщСниС Ρ‡Ρ‚ΠΎ нСдоступна вСрсия\r\n ConfirmDialog({ title: L(\"INFO\"), text: L(\"ERR_NO_VERSIONS_AVAILABLE\", jShowRefCard.html()), okText: L(\"OK\"), height: \"auto\", width: \"300px\", isShowCancelButton: false });\r\n }\r\n }\r\n else {\r\n jShowRefCard.click();\r\n }\r\n }\r\n }\r\n else {\r\n // ВывСсти сообщСниС ΠΎΠ± отсутствии ΠΏΡ€Π°Π²\r\n ShowError(L(\"OBJECT_NOT_ACCESS_OR_CREATE\"));\r\n }\r\n }\r\n}\r\n/* =================================================================================================================================================== */\r\n\r\nvar CallService, CallServiceSync;\r\n\r\n(function () {\r\n\r\n // Ѐункция, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ сСрвисов Π²Π΅Π±-доступа. Π”Π°Π²Π½ΠΎ Π½ΡƒΠΆΠ½Π° Π±Ρ‹Π»Π°!\r\n // string service_method: ΠΌΠ΅Ρ‚ΠΎΠ΄ сСрвиса, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ /Session.asmx/CopyLinks\r\n // [object params]: ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹\r\n // [function callback(res)]: функция, вызываСмая ΠΏΡ€ΠΈ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΌ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠΈ запроса.\r\n // object res: ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Π΅Ρ€Π½ΡƒΠ» сСрвис.\r\n function CallServiceInternal(service_method, params, callback, error, async) {\r\n params = params || {};\r\n var error_handler = function () { if (error) error.apply(null, arguments); }\r\n $.ajax({\r\n type: \"POST\",\r\n contentType: \"application/json; charset=utf-8\",\r\n dataType: \"json\",\r\n url: service_method,\r\n data: $.toJSON(params),\r\n async: async,\r\n cache: false,\r\n success: function (res) {\r\n if (!res) {\r\n error_handler();\r\n return;\r\n }\r\n res = res.d;\r\n if (CheckForLoginPage(res)) return;\r\n if (typeof callback !== \"undefined\")\r\n callback(res);\r\n },\r\n error: error_handler\r\n });\r\n }\r\n\r\n CallService = function (service_method, params, callback, error) {\r\n CallServiceInternal(service_method, params, callback, error, true);\r\n }\r\n\r\n CallServiceSync = function (service_method, params, callback, error) {\r\n CallServiceInternal(service_method, params, callback, error, false);\r\n }\r\n\r\n})();\r\n\r\n// ==========================================================================================================\r\n// Π‘ΡƒΠΏΠ΅Ρ€-функция. ΠžΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ всС наТатия Π½Π° всС Ρ‚Π°Π±Ρ‹ Π²ΠΎ всСх ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠ°Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² (Π² ΠΈΠ΄Π΅Π°Π»Π΅).\r\n// string tabName - Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π²ΠΊΠ»Π°Π΄ΠΊΠΈ.\r\nfunction CardTabClick(tabName) {\r\n if (!WA.CR.sideBar.tabs[tabName].isSelected()) {\r\n const url = new WA.URL();\r\n const view = url.getParam('view');\r\n const changeTab = () => {\r\n ShowTopSpinner(L('PLEASE_WAIT'), false);\r\n if (page === '/reference.aspx') {\r\n UnbindBeforeUnload();\r\n }\r\n DoAction(`view=${tabName}&-op&-val&-ver&-ShowAll`, false);\r\n };\r\n\r\n if (tabName === 'Card' && $('.CardForm_Tab').length) { // ΠΌΡ‹ Π² ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠ΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€\r\n Core.sideBar.updateTab(1);\r\n } else {\r\n var page = window.location.pathname.toLowerCase();\r\n if (page.indexOf('/doc.aspx') !== -1)\r\n ChangeTabDoc(tabName);\r\n else if (page.indexOf('/folder.aspx') !== -1)\r\n ChangeTabFolder(tabName);\r\n else if (page === '/reference.aspx' && (!view || view.toUpperCase() === 'CARD') && WA.CR.form.isChanged()){\r\n ConfirmDialogNew(L('UNSAVED_CHANGES_WILL_BE_LOST'), () => {\r\n changeTab();\r\n });\r\n } else {\r\n changeTab();\r\n }\r\n }\r\n }\r\n}\r\n\r\nfunction leadzero(x) {\r\n return (x < 10) ? '0' + x : x;\r\n}\r\n\r\n/* =================================================================================================================================================== */\r\n/* =================================================================================================================================================== */\r\n\r\nfunction ShowAllCustomWorkState() {\r\n DoAction('ShowAll=1');\r\n return false;\r\n}\r\n\r\nfunction ReloadExplorer() {\r\n WA.CR.window.reloadExplorer();\r\n}\r\n\r\nfunction PageInit() {\r\n $(function () {\r\n $(window).resize(function () { setRealHeightAndWidthOnResize(); });\r\n setRealHeightAndWidth();\r\n InitMouseEvents();\r\n InitTooltips();\r\n });\r\n jQuery().pagezoom(function () {\r\n setTimeout(function () {\r\n setRealHeightAndWidth();\r\n }, 150);\r\n });\r\n}\r\n\r\n\r\nfunction RefSel_AttachResult(inp, data, id, AfterSelectFunc, IsNeedCallFuncOnClr, leader, driven) {\r\n if (data != null) {\r\n if ($.isFunction(AfterSelectFunc)) AfterSelectFunc(data[0]);\r\n\r\n var needFillLeadAndDriven = (leader.length > 0 || driven.length > 0);\r\n if (needFillLeadAndDriven) {\r\n ClrVal(id, true, driven);\r\n g_FillLead[id] && g_FillLead[id](data[3]);\r\n g_FillDriven[id] && g_FillDriven[id]();\r\n }\r\n\r\n inp.change();\r\n } else {\r\n //Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Ссли ΠΏΠΎΠ»Π΅ ΠΎΡ‡ΠΈΡ‰Π΅Π½ΠΎ\r\n if (IsNeedCallFuncOnClr) AfterSelectFunc(null);\r\n ClrVal(id, false, driven);\r\n }\r\n}\r\n\r\nfunction RefSel_AttachMultiResult(inp, data, AfterSelectFunc) {\r\n if (AfterSelectFunc != null) AfterSelectFunc(inp, data);\r\n}\r\n\r\nvar g_GetLeadSelIDs = {};\r\nvar g_FillLead = {};\r\nvar g_FillDriven = {};\r\n\r\nfunction BindLeaderDrivenRequisites(id, leader, lookup, driven) {\r\n\r\n //ΠŸΠΎΠ»ΡƒΡ‡ΠΈΠΌ значСния Π²Π΅Π΄ΡƒΡ‰ΠΈΡ… Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ².\r\n g_GetLeadSelIDs[id] = function () {\r\n var val = '';\r\n for (var i = 0; i < leader.length; i++) {\r\n var leaderParts = leader[i].split(\"|\");\r\n var leaderControlName = leaderParts[0];\r\n var leaderRequisiteName;\r\n if (leaderParts.length === 1) {\r\n leaderRequisiteName = '';\r\n } else {\r\n leaderRequisiteName = leaderParts[1];\r\n }\r\n\r\n val += lookup[i] + '|' + leaderRequisiteName + '=' + getValue(leaderControlName) + '&';\r\n };\r\n return val;\r\n };\r\n\r\n // Π—Π°ΠΏΠΎΠ»Π½ΠΈΠΌ Π²Π΅Π΄ΡƒΡ‰ΠΈΠ΅ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹.\r\n g_FillLead[id] = function (LeadIDs) {\r\n var ht = $.parseJSON(LeadIDs);\r\n\r\n for (var i = 0; i < leader.length; i++) {\r\n var leaderData = ht[lookup[i]];\r\n var leaderControlName = leader[i].split(\"|\")[0];\r\n\r\n if (!$.isEmptyObject(leaderData)) {\r\n var inp = $('input#' + leaderControlName);\r\n if (inp.length > 0) {\r\n var rs = inp.data('ReferenceSelectInstance');\r\n var refCode = rs.getFirstRefCode();\r\n\r\n var queryContext = rs.queryContext;\r\n // ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²Π΅Π½Π½Ρ‹ΠΉ Π²Ρ‹Π±ΠΎΡ€ ссылаСтся Π½Π° нСсколько Ρ€Π΅Π²ΠΈΠ·ΠΈΡ‚ΠΎΠ², поэтому мСняСм контСкст.\r\n if (rs.referenceCodesAndReqNamesInDetailSection && rs.referenceCodesAndReqNamesInDetailSection[refCode]) {\r\n queryContext = JSON.parse(queryContext);\r\n queryContext.requisiteNumber = rs.referenceCodesAndReqNamesInDetailSection[refCode].number;\r\n queryContext = JSON.stringify(queryContext);\r\n }\r\n\r\n var url = rs.url;\r\n var params = $.extend({\r\n q: \"\",\r\n filter: \"[Π˜Π”]=\" + leaderData[0],\r\n useadditional: rs.useadditional ? \"1\" : \"0\",\r\n disablespecialprocessing: \"1\",\r\n queryContext: queryContext\r\n }, rs.extraParams || {});\r\n\r\n rs.dataProvider.sendQuery(url, params, (function (_leaderControlName) {\r\n return function (count, res) {\r\n var data = res[0];\r\n if (data && data.leadingRequisitesValue !== \"{}\") {\r\n g_FillLead[_leaderControlName](data.leadingRequisitesValue);\r\n }\r\n };\r\n })(leaderControlName));\r\n }\r\n\r\n $('#' + leaderControlName).SetValue(leaderData).change();\r\n }\r\n };\r\n };\r\n\r\n // Π’Ρ‹Π·ΠΎΠ²Π΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ автозаполнСния Ρƒ Π²Π΅Π΄ΠΎΠΌΡ‹Ρ… Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ².\r\n g_FillDriven[id] = function () {\r\n try {\r\n for (var i = 0; i < driven.length; i++) {\r\n FillDrivenIfItResultHasOneRecord(driven[i], g_GetLeadSelIDs[driven[i]]);\r\n };\r\n } catch (ex) { }\r\n };\r\n\r\n};\r\n\r\n//ΠžΡ‡ΠΈΡΡ‚ΠΊΠ° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ²\r\nfunction ClrVal(ID, ClrOnlyDriven, DrivenIDs) {\r\n var IDs = [];\r\n var CurentID;\r\n try {\r\n if (ClrOnlyDriven) IDs = IDs.concat(DrivenIDs);\r\n else IDs = IDs.concat(ID, DrivenIDs);\r\n for (i = 0; i < IDs.length; i++) {\r\n CurentID = IDs[i];\r\n var inp = $(\"#\" + CurentID);\r\n inp.SetValue(null).change();\r\n }\r\n } catch (ex) { }\r\n}\r\n\r\n// ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°\r\nfunction getValue(reqID, inp) {\r\n var v = $('#hSelID_' + reqID).val();\r\n return (typeof v == 'undefined' ? '' : v);\r\n}\r\n\r\nfunction EnableRequisite(id, enable) {\r\n var jInputControl = $(\"#\" + id);\r\n var jRequisiteControl = jInputControl.parent().parent().parent();\r\n var jFakeInput = jRequisiteControl.find('.fakeInput');\r\n var jSelectButton = jRequisiteControl.find('.RefSelect_Arrow');\r\n\r\n if (enable) {\r\n jInputControl.removeClass(\"Req_Disabled\");\r\n jSelectButton.removeClass(\"Req_Disabled\");\r\n jSelectButton.removeClass(\"Req_Icon_Disabled\");\r\n jFakeInput.removeClass(\"Req_Disabled\");\r\n jInputControl.removeAttr(\"readonly\");\r\n } else {\r\n jInputControl.attr(\"readonly\", \"readonly\");\r\n jInputControl.addClass(\"Req_Disabled\");\r\n jSelectButton.addClass(\"Req_Disabled\");\r\n jSelectButton.addClass(\"Req_Icon_Disabled\");\r\n jFakeInput.addClass(\"Req_Disabled\");\r\n }\r\n}\r\n\r\nfunction FillDrivenIfItResultHasOneRecord(id, LeadSelIDs) {\r\n var jControl = $(\"#\" + id);\r\n var refurl = jControl.attr(\"refurl\");\r\n var disableInOneCase = jControl.attr(\"disable-for-single-value\") === \"true\";\r\n $(\"#\" + id).Clear();\r\n if (refurl) {\r\n $.ajax({\r\n type: \"GET\",\r\n dataType: \"text\",\r\n url: refurl + \"&LeadSelID=\" + encodeURI(LeadSelIDs()),\r\n cache: false,\r\n success: function (res) {\r\n var rows = res.split(\"\\r\\n\");\r\n if (rows.length > 0 && rows[0] != 'ERROR' && rows.length == 3) {\r\n $(\"#\" + id).SetValue(rows[1].split('|')).change();\r\n if (disableInOneCase)\r\n EnableRequisite(id, false);\r\n } else {\r\n if (disableInOneCase)\r\n EnableRequisite(id, true);\r\n }\r\n }\r\n });\r\n }\r\n}\r\n\r\n// Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌ подсказки для Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° Π²Ρ‹Π±ΠΎΡ€Π° ΠΈΠ· справочника.\r\nfunction RefSel_InitHint(el, RefSelID, RefCode) {\r\n var inpId = el.attr('id');\r\n el.addClass('hint').data('data-hint', { id: RefSelID, compcode: RefCode }).removeClass('hintInit').qtip('hide');\r\n\r\n function updateHintData($this, newRecID, RefCode) {\r\n if (newRecID != null && newRecID != '') {\r\n $this.data('data-hint', { id: newRecID, compcode: RefCode })\r\n $this.removeClass('hintInit').qtip('hide');\r\n InitAdditionalInfoTooltip($this);\r\n } else {\r\n $this.removeData('data-hint').removeClass('hintInit').qtip('hide').qtip('disable');\r\n }\r\n }\r\n\r\n el.bind('onSelected', function () {\r\n updateHintData($(this), $('#hSelID_' + inpId).val(), RefCode);\r\n });\r\n el.result(function (event, data) {\r\n updateHintData($(this), (data != null ? data[0] : null), RefCode);\r\n });\r\n}\r\n\r\nvar OnTabChanged = function (callback, tabName, dfmTabName) {\r\n if (tabName === 'Card') dfmTabName = 'Card';\r\n\r\n var isRun = false;\r\n var callbackRunChecker = function () {\r\n var r;\r\n if (callback) {\r\n r = callback();\r\n }\r\n isRun = true;\r\n return r;\r\n };\r\n dfmTabName = dfmTabName || '';\r\n\r\n var htmlEl = $('div.tab_item').filter('[id$=_' + tabName + ']');\r\n\r\n var result = $('html').triggerHandler('OnTabChanged', [tabName, dfmTabName, callbackRunChecker, htmlEl]);\r\n if (!isRun && (typeof result == 'undefined' || result)) {\r\n callbackRunChecker();\r\n }\r\n}\r\n\r\n/**\r\n* ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Π΅ символы Π² HTML сущности\r\n* @function HTMLEncode\r\n* @global\r\n* @param {string} text\r\n* @return {string}\r\n* @deprecated\r\n*/\r\nfunction escapeHtml(text) {\r\n return ('' + text).escapeHtml();\r\n};\r\n\r\n/**\r\n* Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² WebAccess для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ наличия Π±ΠΈΠ½Π΄ΠΈΠ½Π³ΠΎΠ², Π½Π΅ удаляйтС поТалуйста(ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· ΡƒΠΆΠ΅ ΠΏΡ€ΠΎΠΏΠ°Π»ΠΎ)\r\n* @function jQuery.hasAttr\r\n* @param {string} name\r\n* @return {boolean}\r\n*/\r\n$.fn.hasAttr = function (name) {\r\n return this.attr(name) !== undefined;\r\n};\r\n\r\n/**\r\n* Поиск ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π² массивС ΠΏΠΎ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρƒ\r\n* @function getElementIndexByAttr\r\n* @global\r\n* @param {array} array массив ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²\r\n* @param {string} key Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ ищСтся ΠΎΠ±ΡŠΠ΅ΠΊΡ‚\r\n* @param {string} value Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°\r\n* @return {integer} индСкс Π½Π°ΠΉΠ΄Π΅Π½Π½ΠΎΠ³ΠΎ элСмСнта, Π»ΠΈΠ±ΠΎ -1 Ссли Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½\r\n*/\r\nwindow.getElementIndexByAttr = function (array, key, value) {\r\n for (var i = 0, len = array.length; i < len; i++) {\r\n if (array[i][key] === value) {\r\n return i;\r\n };\r\n };\r\n return -1;\r\n};\r\n\r\n/**\r\n* Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ пСрСзаписи Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ запуска Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.\r\n* @global\r\n*/\r\nFunction.prototype.override = function (func) {\r\n var superFunction = this;\r\n return function () {\r\n this.superFunction = superFunction;\r\n return func.apply(this, arguments);\r\n };\r\n};\r\n\r\n// ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ модальноС ΠΎΠΊΠ½ΠΎ с инструкциСй\r\nfunction showInstructionDialog() {\r\n WA.SRV.call(\"/Task.asmx/GetInstruction\", { \"Type\": WA.getLocation(), \"ID\": GetParamInURL(\"id\") }).success(function (result) {\r\n var dialog = new WebAccess.components.dialogs.BaseDialog();\r\n dialog.setHtml(this.Result.html);\r\n dialog.width = '600px';\r\n dialog.height = 'auto';\r\n dialog.title = this.Result.title;\r\n dialog.okText = L(\"CLOSE\");\r\n dialog.show();\r\n BindHelpIcoClickOnModalWindow('Instruction');\r\n }).error(function (error) {\r\n console.log(error);\r\n });\r\n}\r\n\r\n/**\r\n* Поиск ΠΏΡ€Π΅Π΄ΠΊΠ° для элСмСнта\r\n*/\r\n$.fn.hasAncestor = function (a) {\r\n return this.filter(function () {\r\n return !!$(this).closest(a).length;\r\n });\r\n};\r\n\r\n/**\r\n* Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ when jquery рСзолвится сразу ΠΊΠ°ΠΊ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ зафСйлится ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΈΠ· Π΄Π΅Ρ„Π΅Ρ€Ρ€Π΅Π΄ΠΎΠ².\r\n* Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ доТидаСтся всСй ΠΏΠ°Ρ‡ΠΊΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½Ρ‹Ρ… deferred-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚ΠΎΠ³Π΄Π° вызываСтся done ΠΈΠ»ΠΈ fail;\r\n*/\r\n$.whenAllDone = function () {\r\n var deferreds = [];\r\n var result = $.Deferred();\r\n\r\n $.each(arguments, function (i, current) {\r\n var currentDeferred = $.Deferred();\r\n current.then(function () {\r\n currentDeferred.resolve(false, arguments);\r\n }, function () {\r\n currentDeferred.resolve(true, arguments);\r\n });\r\n deferreds.push(currentDeferred);\r\n });\r\n\r\n $.when.apply($, deferreds).then(function () {\r\n var failures = [];\r\n var successes = [];\r\n\r\n $.each(arguments, function (i, args) {\r\n // If we resolved with `true` as the first parameter\r\n // we have a failure, a success otherwise\r\n var target = args[0] ? failures : successes;\r\n var data = args[1];\r\n // Push either all arguments or the only one\r\n target.push(data && data.length === 1 ? data[0] : args);\r\n });\r\n\r\n if (failures.length) {\r\n return result.reject.apply(result, failures);\r\n }\r\n\r\n return result.resolve.apply(result, successes);\r\n });\r\n\r\n return result;\r\n};\r\n\r\n/**\r\n* Бпособ для опрСдСлСния Ρ‚ΠΎΠ³ΠΎ,\r\n* Ρ‡Ρ‚ΠΎ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ Π±Ρ‹Π» ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΡƒΡ‰Π΅Π½ для Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π΅ Π³Ρ€ΠΎΡ…Π°ΡŽΡ‚ сСссионныС ΠΊΡƒΠΊΠΈ\r\n* @see #93027\r\n*/\r\n(function emulateSession() {\r\n var cookieName = 'fakeSession';\r\n var sessionId = new Date().getTime();\r\n var keepAliveLoop = null;\r\n\r\n var getSession = function () {\r\n return $.cookie(cookieName);\r\n }\r\n\r\n var setSession = function () {\r\n var options = { expires: new Date((new Date).getTime() + 5 * 1000) };\r\n $.cookie(cookieName, sessionId, options);\r\n };\r\n\r\n var runSession = function () {\r\n var me = this;\r\n var seconds = 2 * 1000;\r\n var keepAlive = function () {\r\n\r\n if (getSession()) setSession();\r\n else if (WA.getLocation() !== 'login') {\r\n window.browserSessionIsRestored = true;\r\n }\r\n };\r\n\r\n if (!keepAliveLoop) keepAliveLoop = setInterval(keepAlive, seconds);\r\n keepAlive();\r\n };\r\n\r\n if (WA.getLocation() === 'login') setSession();\r\n\r\n else setTimeout(function () {\r\n window.browserSessionIsRestored = false;\r\n setSession();\r\n }, 100);\r\n\r\n runSession();\r\n})();\r\n\r\n/* DEPRECATED */\r\n(function () {\r\n window._isDarkTheme = function () {\r\n return false;\r\n };\r\n\r\n window._prefixIfDark = function () {\r\n return '';\r\n };\r\n})();","/**\r\n * ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΠ΅Ρ‚ инструмСнты для Ρ€Π°Π±ΠΎΡ‚Ρ‹ со ссылками. НапримСр, ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ссылки Π² Π±ΡƒΡ„Π΅Ρ€ ΠΎΠ±ΠΌΠ΅Π½Π°.\r\n *\r\n * @namespace window\r\n * @since 5.4.0.1000\r\n */\r\n(function (global) {\r\n /**\r\n * Π—Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚ΡŒ Π² кэшС источник ссылок.\r\n *\r\n * @method window#setLinksSource\r\n * @param {string} sourceId Π˜Π” рСсурса.\r\n * @param {string} sourceType Π’ΠΈΠΏ рСсурса.\r\n */\r\n global.setLinksSource = (sourceId, sourceType) => {\r\n WA.cache.setItem('sourceID', sourceId);\r\n WA.cache.setItem('sourceType', sourceType);\r\n }\r\n\r\n /**\r\n * Π‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ cсылки Π² Π±ΡƒΡ„Π΅Ρ€.\r\n *\r\n * @method window#CopyLinks\r\n * @param {object} [contextMenuCopyObj] ΠžΠ±ΡŠΠ΅ΠΊΡ‚, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π±Ρ‹Π»ΠΎ Π²Ρ‹Π·Π²Π°Π½ΠΎ контСкстноС мСню\r\n */\r\n global.CopyLinks = (contextMenuCopyObj) => {\r\n setLinksSource(null, null);\r\n\r\n ShowTopSpinner();\r\n let links = getSelectedLinks(contextMenuCopyObj);\r\n\r\n Core.clipboard.copyLinksToClipboard(links).done((copiedLinksCount) => {\r\n HideTopSpinner(L('COPIED_LINKS', copiedLinksCount), 2000);\r\n }).fail((completeMsg) => {\r\n HideTopSpinner(completeMsg, 2000);\r\n });\r\n }\r\n\r\n /**\r\n * Π’Ρ‹Ρ€Π΅Π·Π°Ρ‚ΡŒ ссылки.\r\n *\r\n * @method window#CutLinks\r\n * @param {object} [contextMenuCopyObj] ΠžΠ±ΡŠΠ΅ΠΊΡ‚, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π±Ρ‹Π»ΠΎ Π²Ρ‹Π·Π²Π°Π½ΠΎ контСкстноС мСню\r\n */\r\n global.CutLinks = (contextMenuCopyObj) => {\r\n ShowTopSpinner();\r\n\r\n let folderId = getCurrentFolderId();\r\n\r\n //Ссли находимся Π½Π΅ Π² ΠΏΠ°ΠΏΠΊΠ΅, Ρ‚ΠΎ вмСсто вырСзания просто ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅ΠΌ\r\n if (folderId === null) {\r\n setLinksSource(null, null);\r\n } else {\r\n setLinksSource(folderId, 'F');\r\n }\r\n\r\n let links = getSelectedLinks(contextMenuCopyObj);\r\n\r\n Core.clipboard.copyLinksToClipboard(links).done((copiedLinksCount) => {\r\n HideTopSpinner(L('CUT_LINKS', copiedLinksCount), 2000);\r\n }).fail((completeMsg) => {\r\n HideTopSpinner(completeMsg, 2000);\r\n });\r\n }\r\n\r\n /**\r\n * Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ массив ссылок, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΡ‚ΠΌΠ΅Ρ‡Π΅Π½Ρ‹ ΠΊΠ°ΠΊ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Π΅.\r\n *\r\n * @param {object} [contextMenuObj] ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π±Ρ‹Π»ΠΎ Π²Ρ‹Π·Π²Π°Π½ΠΎ контСкстноС мСню\r\n * @return {Array} массив ссылок Π²ΠΈΠ΄Π° {ID:..., Type:..., CompCode:..., Description}\r\n */\r\n function getSelectedLinks(contextMenuObj) {\r\n let links = [];\r\n\r\n if (!!contextMenuObj) {\r\n // Ссли ΠΌΡ‹ Π² ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊΠ΅ ΠΈΠ»ΠΈ справочникС, Π·Π½Π°Ρ‡ΠΈΡ‚ происходит ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ‡Π΅Ρ€Π΅Π· контСкстноС мСню\r\n if (WA.getLocation() === 'explorer' || WA.getLocation() === 'referencerecords') {\r\n links = takeLinkFromContextMenu(contextMenuObj);\r\n } else {\r\n //ΠΈΠ½Π°Ρ‡Π΅ ΠΌΡ‹ Π² ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠ΅ Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°/Π—Π—Π£/Записи справочника\r\n links = takeLinkFromCard(contextMenuObj, WA.getLocation() === 'documentpreview');\r\n }\r\n\r\n } else {\r\n // Π²Ρ‹Π΄Π΅Π»Π΅Π½Ρ‹ всС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹\r\n if (isAllRecordsInFolderSelected()) {\r\n const jObjectContents = $('.object_contents.auto_load');\r\n if (jObjectContents.length) {\r\n let componentName = jObjectContents.data('component')\r\n if (componentName === 'FolderContents' || componentName === 'SearchContents') {\r\n let params = {\r\n UserFilterText: WA.CR.objectList.getLikeFilter(),\r\n UserFilterRequisites: WA.CR.objectList.getlikeFilterRequisites(),\r\n };\r\n let serviceUrl;\r\n if (componentName === 'FolderContents') {\r\n serviceUrl = '/Folder.asmx/ContentAsHRefs'\r\n const folderId = GetParamInURL('ID', location.href);\r\n params.FolderID = folderId;\r\n params.PredefinedFilter = WA.CR.objectList.getPredefinedFilter();\r\n\r\n } else {\r\n serviceUrl = '/Session.asmx/GetSearchContentLinks';\r\n let url = new WA.URL();\r\n params.SearchName = url.getParam('searchname');\r\n params.SearchID = jObjectContents.data('uid') || '';\r\n params.Mode = url.getParam('mode');\r\n params.ObjectType = url.getParam('objtype');\r\n }\r\n CallServiceSync(\r\n serviceUrl,\r\n params,\r\n (res) => {\r\n links = _takeLinksFromServiceResponse(res);\r\n }\r\n );\r\n }\r\n }\r\n }\r\n //Ссли список пустой, Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅\r\n if (!links.length) {\r\n links = takeLinksFromPage();\r\n }\r\n }\r\n return links;\r\n }\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ссылки, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Π΅Ρ€Π½ΡƒΠ» Π²Π΅Π±-сСрвис ΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΈΠ· Π½ΠΈΡ… Π½Π΅Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Π΅.\r\n *\r\n * @method _takeLinksFromServiceResponse\r\n * @private\r\n * @since 5.6.0\r\n */\r\n function _takeLinksFromServiceResponse(res) {\r\n let links = [];\r\n if (res.Success) {\r\n let hyperlinks = res.Result;\r\n let unselectedLinks = WA.CR.objectList.getUnselectedItems();\r\n let isUnselected = (link) => {\r\n return unselectedLinks.some((unselectedLink) => {\r\n let id = +unselectedLink.id;\r\n return (unselectedLink.kind === convertTypeToKind(link.Type) && link.ID === id);\r\n })\r\n }\r\n hyperlinks.forEach((hyperlink) => {\r\n let link = {\r\n Type: hyperlink.Type,\r\n ID: hyperlink.ID,\r\n CompCode: hyperlink.ReferenceName || '',\r\n Description: hyperlink.Description,\r\n };\r\n // Π˜ΡΠΊΠ»ΡŽΡ‡ΠΈΠΌ Π½Π΅Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Π΅ ссылки \r\n if (!unselectedLinks.length || !isUnselected(link)) {\r\n links.push(link);\r\n }\r\n })\r\n return links;\r\n } else {\r\n HideTopSpinner(L('ERROR_MSG', res.Error), 5000);\r\n return links;\r\n }\r\n }\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ссылку ΠΈΠ· ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠΈ.\r\n *\r\n * @param {any} cardObj ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠΈ. ΠœΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΊΠ°ΠΊ основным ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠΈ, Ρ‚Π°ΠΊ ΠΈ Π²Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ.\r\n * @param {boolean} opt_isGettingNameFromObj ΠΏΡ€ΠΈΠ·Π½Π°ΠΊ, Ρ‡Ρ‚ΠΎ Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π±Ρ€Π°Ρ‚ΡŒ ΠΈΠ· ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°\r\n * @return {object} ссылка Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ для Π°Π³Π΅Π½Ρ‚Π° Π²ΠΈΠ΄Π° {ID:..., Type:..., CompCode:..., Description}\r\n */\r\n function takeLinkFromCard(cardObj, opt_isGettingNameFromObj) {\r\n //Π’ΡƒΡ‚ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡ‚ΡŒ, ΠΌΡ‹ ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅ΠΌ сам ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠΈ ΠΈΠ»ΠΈ Π΅Π³ΠΎ Π²Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅\r\n //ΠžΠ±ΡŠΠ΅ΠΊΡ‚ с Π²Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΈΠΌΠ΅Π΅Ρ‚ tr, Ρ‚Π°ΠΊ ΠΌΡ‹ Π΅Π³ΠΎ ΠΈ ΠΎΠΏΠΎΠ·Π½Π°Π΅ΠΌ\r\n // ΠšΡ€ΠΎΠΌΠ΅ прСдпросмотра, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΎΠΆΠ΅ ΠΈΠΌΠ΅Π΅Ρ‚ tr, поэтому Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π΄ΠΎΠΏ. ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ opt_isGettingNameFromObj\r\n return [\r\n {\r\n ID: cardObj.id,\r\n Type: cardObj.type[0],\r\n CompCode: !!cardObj.refcode ? cardObj.refcode : '',\r\n Description: ((cardObj.tr && !opt_isGettingNameFromObj) ? cardObj.tr.find('div.objectname').text() : getCardObjectName()).unescapeHtml()\r\n }\r\n ];\r\n }\r\n\r\n function getCardObjectName() {\r\n switch (WebAccess.getLocation()) {\r\n case 'job': return WebAccess.Job.Subject;\r\n case 'task': return WebAccess.Task.Subject;\r\n case 'doc':\r\n case 'documentpreview': return WA.Document.Name;\r\n case 'reference': return `${WebAccess.ReferenceRecord.ReferenceCaption}: ${WebAccess.ReferenceRecord.Name}`;\r\n default: return '';\r\n }\r\n }\r\n\r\n /**\r\n * Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ссылку ΠΏΡ€ΠΈ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ Ρ‡Π΅Ρ€Π΅Π· контСкстноС мСню\r\n *\r\n * @param {any} contextMenuCopyObj ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π±Ρ‹Π»ΠΎ Π²Ρ‹Π·Π²Π°Π½ΠΎ контСкстноС мСню\r\n * @return {object} ссылка Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ для Π°Π³Π΅Π½Ρ‚Π° Π²ΠΈΠ΄Π° {ID:..., Type:..., CompCode:..., Description}\r\n */\r\n function takeLinkFromContextMenu(contextMenuCopyObj) {\r\n let selected = [];\r\n let items = WA.CR.objectList.getItems();\r\n selected.push(items[contextMenuCopyObj.id]);\r\n //Ссли контСкстноС мСню Π²Ρ‹Π·Π²Π°Π½ΠΎ Ρƒ ΠΏΠ°ΠΏΠΊΠΈ ΠΈΠ· Π΄Π΅Ρ€Π΅Π²Π° ΠΏΠ°ΠΏΠΎΠΊ\r\n if (selected.length === 1 && typeof selected[0] === 'undefined') {\r\n selected[0] = contextMenuCopyObj;\r\n // Если элСмСнт ΠΈΠ· DOM, Ρ‚ΠΎ Π±Π΅Ρ€Π΅ΠΌ имя прямо со страницы, ΠΈΠ½Π°Ρ‡Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½ ΡƒΠ·Π΅Π» Π΄Π΅Ρ€Π΅Π²Π°, ΠΈ Π±Π΅Ρ€Π΅ΠΌ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΈΠ· Π½Π΅Π³ΠΎ.\r\n if (contextMenuCopyObj instanceof jQuery || contextMenuCopyObj instanceof HTMLElement || contextMenuCopyObj.type === 'CurrentFolder') {\r\n selected[0].name = contextMenuCopyObj.tr.find('.current-folder__name').text();\r\n } else {\r\n if (contextMenuCopyObj.node) {\r\n selected[0].name = contextMenuCopyObj.node.caption;\r\n }\r\n }\r\n }\r\n return makeLinksFromItems(selected);\r\n }\r\n\r\n /**\r\n * Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ссылки ΠΏΠΎΠΌΠ΅Ρ‡Π΅Π½Π½Ρ‹Π΅ ΠΊΠ°ΠΊ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Π΅ с Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ страницы\r\n *\r\n * @return {Array} Массив ссылок Π²ΠΈΠ΄Π° {ID:..., Type:..., CompCode:..., Description}\r\n */\r\n function takeLinksFromPage() {\r\n let selected = WA.CR.objectList.getSelectedItems();\r\n return makeLinksFromItems(selected);\r\n }\r\n\r\n /**\r\n * ΠšΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ API-ссылки Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ для Π°Π³Π΅Π½Ρ‚Π°.\r\n *\r\n * @param {Array} items Массив ссылок Π²ΠΈΠ΄Π° {id:..., kind:..., referenceName:..., name:...}\r\n * @return {Array} Массив ссылок Π²ΠΈΠ΄Π° {ID:..., Type:..., CompCode:..., Description}\r\n */\r\n function makeLinksFromItems(items) {\r\n let links = items.map((item) => {\r\n let desc = item.name;\r\n if (item.referenceName && WA.getLocation() === 'referencerecords') {\r\n // НСбольшая оптимизация, Ρ‚.ΠΊ. для получСния описания записи справочника отправляСтся запрос Π½Π° сСрвСр, Π° Ссли Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Ρ‚ΠΎΡ€ΠΌΠΎΠ·Π° ΠΈ большая Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠ°.\r\n let refCaption = $('.card-header__label').data('captioned');\r\n desc = `${refCaption}: ${item.name}`;\r\n }\r\n return {\r\n ID: item.id,\r\n Type: item.kind[0].toUpperCase(),\r\n CompCode: item.referenceName || '',\r\n Description: desc,\r\n };\r\n });\r\n return links;\r\n }\r\n\r\n /**\r\n * ΠšΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ‚ΠΈΠΏ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΊ Π²ΠΈΠ΄Ρƒ \r\n * \r\n * @param {string} type Π’ΠΈΠΏ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°\r\n * @returns {string} Π’ΠΈΠ΄ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°\r\n */\r\n function convertTypeToKind(type) {\r\n switch (type.toUpperCase()) {\r\n case 'E': return 'EDOC';\r\n case 'F': return 'FOL';\r\n case 'J': return 'JOB';\r\n case 'T': return 'TASK';\r\n case 'R': return 'REF';\r\n }\r\n return '';\r\n }\r\n\r\n /**\r\n * ΠšΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ссылки ΠΈΠ· Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π°Π³Π΅Π½Ρ‚Π° Π² Models.Link\r\n *\r\n * @param {Array} links массив ссылок Π²ΠΈΠ΄Π° {ID:..., Type:..., CompCode:..., Description:...}}\r\n * @returns {Array} массив ссылок Π²ΠΈΠ΄Π° {ID:..., Kind:..., CompCode:..., Desc:...}}\r\n */\r\n global.convertAgentLinksToLinkModels = (links) => {\r\n let convertedLinks = [];\r\n links.forEach((link) => {\r\n convertedLinks.push({\r\n Kind: convertTypeToKind(link.Type[0]),\r\n ID: link.ID,\r\n CompCode: link.CompCode,\r\n Desc: link.Description,\r\n });\r\n });\r\n return convertedLinks;\r\n }\r\n\r\n /**\r\n * ΠŸΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΡ‚ ссылки ΠΈΠ· Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Models.Link Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Π°Π³Π΅Π½Ρ‚Π°\r\n *\r\n * @param {Array} links массив ссылок Π²ΠΈΠ΄Π° {ID:..., Kind:..., CompCode:..., Desc:...}}\r\n * @returns {Array} массив ссылок Π²ΠΈΠ΄Π° {ID:..., Type:..., CompCode:..., Description:...}}\r\n */\r\n global.convertLinkModelsToAgentLinks = (linkModels) => {\r\n let convertedLinks = [];\r\n linkModels.forEach((linkModel) => {\r\n convertedLinks.push({\r\n Type: linkModel.Kind[0],\r\n ID: linkModel.ID,\r\n CompCode: linkModel.CompCode,\r\n Description: linkModel.Desc,\r\n });\r\n });\r\n return convertedLinks;\r\n }\r\n\r\n function getCurrentFolderId() {\r\n if (WebAccess.getLocation() === 'explorer' && GetParamInURL('mode') === '') {\r\n return GetParamInURL('id');\r\n }\r\n return null;\r\n }\r\n\r\n /**\r\n * Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΏΡ€ΠΈΠ·Π½Π°ΠΊ Π²Ρ‹Π΄Π΅Π»Π΅Π½Ρ‹ Π»ΠΈ всС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΈΠ»ΠΈ Π½Π΅Ρ‚.\r\n *\r\n * @method window#isAllRecordsInFolderSelected\r\n * @return {boolean}\r\n */\r\n global.isAllRecordsInFolderSelected = () => {\r\n return WA.ObjectListInit.state() === 'resolved' && !!WA.CR.objectList && WA.CR.objectList.isAllItemsSelected();\r\n }\r\n\r\n /**\r\n * Π’ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ cсылки ΠΈΠ· Π±ΡƒΡ„Π΅Ρ€Π°.\r\n *\r\n * @method window#PasteLinks\r\n * @param destType: Π’ΠΈΠΏ ΠΏΡ€ΠΈΠ΅ΠΌΠ½ΠΈΠΊΠ° ссылок.\r\n * @param destId: ΠŸΡ€ΠΈΠ΅ΠΌΠ½ΠΈΠΊ ссылок.\r\n * @param callback: Ѐункция ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ Π²Ρ‹Π·ΠΎΠ²Π° для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠΉ ссылки.\r\n */\r\n global.PasteLinks = (destType, destId, callback) => {\r\n if (g_ViewOnlyMsg) {\r\n ShowTopSpinnerResult(g_ViewOnlyMsg, 2000);\r\n return;\r\n }\r\n\r\n if (typeof callback === 'undefined') {\r\n ShowTopSpinner(L('PASTE_LINKS'));\r\n }\r\n destType = destType || 'FOLDER';\r\n destId = destId || getCurrentFolderId();\r\n\r\n let source = {\r\n SourceID: WA.cache.getItem('sourceID'),\r\n SourceType: WA.cache.getItem('sourceType'),\r\n };\r\n\r\n WebAccess.agent.isPluginAvailable('Clipboard').always((isAvailableResponse) => {\r\n if (isAvailableResponse) {\r\n WebAccess.agent.clipboard.getLinksFromClipboard().done((links) => {\r\n if (links.length && typeof links !== 'string') {\r\n //ВставляСм ссылки Π² ΠΏΠ°ΠΏΠΊΡƒ\r\n switch (destType) {\r\n case 'FOLDER':\r\n pasteLinksToFolder(destId, links, source, callback);\r\n break;\r\n case 'EDOCUMENT':\r\n pasteLinksToBoundDocuments(destId, links, callback);\r\n break;\r\n }\r\n }\r\n else {\r\n HideTopSpinner();\r\n }\r\n }).fail(() => {\r\n pasteLinksDefault(destId, destType, source.SourceID, callback);\r\n });\r\n } else {\r\n pasteLinksDefault(destId, destType, source.SourceID, callback);\r\n }\r\n setLinksSource(null, null);\r\n });\r\n }\r\n\r\n /**\r\n * Π’ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ссылки Π² ΠΏΠ°ΠΏΠΊΡƒ.\r\n *\r\n * @function pasteLinksToFolder\r\n * @param {number} destId Π˜Π” ΠΏΠ°ΠΏΠΊΠΈ назначСния.\r\n * @param {Array} links Массив ссылок для вставки.\r\n * @param {Object} [source] Бсылка Π½Π° источник, ΠΎΡ‚ΠΊΡƒΠ΄Π° Π±Ρ‹Π»ΠΈ скопированы ссылки.\r\n * @param {function} callback Ѐункция ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ Π²Ρ‹Π·ΠΎΠ²Π°.\r\n * @return {Deferred}\r\n * @see https://api.jquery.com/category/deferred-object/\r\n */\r\n function pasteLinksToFolder(destId, links, source, callback) {\r\n CallService('/Folder.asmx/AddLinks', { FolderID: destId, Links: links }, (res) => {\r\n if (res.Success) {\r\n let d = $.Deferred();\r\n //Если ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ вставили, Ρ‚ΠΎ удаляСм ссылки ΠΈΠ· источника\r\n if ((source != null) && (source.SourceID != null) && source.SourceID != WA.current.getID() && source.SourceType === 'F') {\r\n let params = {\r\n FolderID: source.SourceID,\r\n Links: links,\r\n };\r\n d = WA.SRV.call('/Folder.asmx/RemoveLinks', params);\r\n } else {\r\n d.resolve();\r\n }\r\n\r\n d.always(() => {\r\n if (!CheckForLoginPage(res)) {\r\n if (res.Result != 0) {\r\n if (typeof callback !== 'undefined') {\r\n EnableOrDisableCheckAll();\r\n callback();\r\n } else {\r\n // ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ список ΠΈ Π΄Π΅Ρ€Π΅Π²ΠΎ\r\n WA.CR.objectList.reload().always(() => {\r\n EnableOrDisableCheckAll();\r\n });\r\n WA.CR.folderTree.updateByFolderID(destId);\r\n HideTopSpinner(L('PASTED_LINKS', res.Result), 2000);\r\n }\r\n } else {\r\n if (typeof callback === 'undefined')\r\n HideTopSpinner(L('NOT_LINKS_TO_PASTE'), 2000);\r\n }\r\n }\r\n });\r\n } else {\r\n HideTopSpinner(L('ERROR_MSG', res.Error), 5000);\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * ВставляСт ссылки Π½Π° связанныС Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹ Π² Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚.\r\n * @function pasteLinksToBoundDocuments\r\n * @param {number} docID Π˜Π” Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° назначСния.\r\n * @param {Array} links Массив ссылок для вставки.\r\n * @param {function} callback Ѐункция ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ Π²Ρ‹Π·ΠΎΠ²Π°.\r\n */\r\n function pasteLinksToBoundDocuments(docID, links, callback) {\r\n let destLink = {\r\n id: Number(docID),\r\n kind: \"EDOC\",\r\n compcode: \"\"\r\n };\r\n\r\n //ΠšΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌ ссылки Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ сСрвиса\r\n let sourceLinks = [];\r\n for (let i = 0; i < links.length; i++) {\r\n sourceLinks[i] = {\r\n id: Number(links[i].ID),\r\n kind: links[i].Kind,\r\n name: \"\"\r\n };\r\n };\r\n\r\n let _afterBinding = (callback) => {\r\n if (callback instanceof Function) {\r\n callback();\r\n } else {\r\n WA.CR.window.reload();\r\n }\r\n }\r\n\r\n WA.SRV.relations.bindObjects(sourceLinks, destLink).done((result) => {\r\n let boundCount = result.Pasted.length;\r\n\r\n //ΠŸΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅\r\n var toast = new WA.CMP.NTF.Toast();\r\n if (boundCount > 0) {\r\n toast.show(L('BOUND_LINKS', boundCount));\r\n } else {\r\n toast.show(L('NOT_LINKS_TO_BIND'));\r\n }\r\n\r\n //Если ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΡΠ²ΡΠ·Π°Ρ‚ΡŒ Π½Π΅ всС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, Ρ‚ΠΎ ΠΏΠΎΠΊΠ°ΠΆΠ΅ΠΌ модальноС ΠΎΠΊΠ½ΠΎ с ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ΠΌ ΠΏΡ€ΠΈΡ‡ΠΈΠ½\r\n if (result.Unchanged.length > 0) {\r\n let reasons = '';\r\n result.Unchanged.forEach((unchanged) => {\r\n if (reasons !== '') reasons += '

';\r\n reasons += unchanged.Item2.escapeHtml();\r\n });\r\n let messageBox = new WA.CMP.dialogs.MessageBox({ width: 680 });\r\n messageBox.okButton(() => { _afterBinding(callback) });\r\n messageBox.bind('crossClose', () => { _afterBinding(callback) });\r\n messageBox.showWarning(L('WARN_BINDING_FAILED_FOR_REASONS'), reasons);\r\n } else {\r\n _afterBinding(callback);\r\n }\r\n });\r\n }\r\n\r\n function pasteLinksDefault(DestID, DestType, SourceID, callback) {\r\n let params = {\r\n DestID: DestID,\r\n DestType: DestType,\r\n SourceID: SourceID,\r\n };\r\n CallService('/Session.asmx/PasteLinks', params, (res) => {\r\n if (!CheckForLoginPage(res)) {\r\n if (res.Result != 0) {\r\n EnableOrDisableCheckAll();\r\n if (typeof callback != 'undefined')\r\n callback();\r\n else {\r\n if (DestType === 'FOLDER') {\r\n // ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ список ΠΈ Π΄Π΅Ρ€Π΅Π²ΠΎ\r\n WA.CR.objectList.reload().always(() => {\r\n EnableOrDisableCheckAll();\r\n });\r\n WA.CR.folderTree.updateByFolderID(DestID);\r\n HideTopSpinner(L('PASTED_LINKS', res.Result), 2000);\r\n } else\r\n $('form:first').submit();\r\n }\r\n } else {\r\n if (typeof callback === 'undefined')\r\n HideTopSpinner(L('NOT_LINKS_TO_PASTE'), 2000);\r\n };\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * Π£Π΄Π°Π»ΠΈΡ‚ΡŒ cсылки\r\n *\r\n * @method window#DeleteLinks\r\n * @param {object} extraParams: Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹.\r\n * @param {array} links: Бсылки.\r\n * @param {boolean} [needSubmit = false]\r\n * @param {number} [sourceId = ''] Π˜Π” источника ссылок.\r\n * @param {boolean} [needConfirmDeleting = true] ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ нСобходимости подтвСрТдСния удалСния.\r\n * @param {function} afterDeleteCallback: Ѐункция ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ Π²Ρ‹Π·ΠΎΠ²Π° для ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΉ ссылки.\r\n * @param {boolean} isFromTree: ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ принадлСТности Π΄Π΅Ρ€Π΅Π²Ρƒ.\r\n */\r\n global.DeleteLinks = (extraParams, links, needSubmit = false, sourceId = '', needConfirmDeleting = true, afterDeleteCallback, isFromTree) => {\r\n if (!isFromTree && g_ViewOnlyMsg != '') {\r\n ShowTopSpinnerResult(g_ViewOnlyMsg, 2000);\r\n } else {\r\n if (extraParams === null) extraParams = '';\r\n let linksToDelete = [];\r\n\r\n let deleteAll = isAllRecordsInFolderSelected();\r\n if ((!deleteAll) || (getSourceType() !== 'FOLDER')) {\r\n linksToDelete = links || GetSelectedID().links;\r\n } else {\r\n linksToDelete = [{\r\n ID: 0,\r\n Kind: 'ALL',\r\n }];\r\n }\r\n\r\n function getSourceType() {\r\n let src = WA.getLocation();\r\n switch (src) {\r\n case 'explorer':\r\n return 'FOLDER';\r\n case 'doc':\r\n return 'EDOCUMENT';\r\n case 'job':\r\n return 'JOB';\r\n case 'task':\r\n return 'TASK';\r\n default:\r\n return 'FOLDER';\r\n }\r\n }\r\n\r\n function callDeleteLinksService() {\r\n ShowTopSpinner(L('DELETE_LINKS'));\r\n let params = {\r\n Links: linksToDelete,\r\n SourceID: (sourceId || GetParamInURL('id')),\r\n SourceType: getSourceType(),\r\n UserFilterText: WA.CR.objectList.getLikeFilter(),\r\n UserFilterRequisites: WA.CR.objectList.getlikeFilterRequisites(),\r\n PredefinedFilter: WA.CR.objectList.getPredefinedFilter(),\r\n UnselectedLinks: WA.CR.objectList.getUnselectedItems(),\r\n };\r\n CallService('/Session.asmx/DeleteLinksWithFilter', params, (res) => {\r\n if (res.Success) {\r\n res = res.Result;\r\n if (res) {\r\n if (getSourceType() === 'FOLDER') {\r\n WA.CR.objectList.reload().done(() => {\r\n if (WA.CR.folderTree) {\r\n WA.CR.folderTree.updateNodesWithFolder(WA.CR.getID());\r\n }\r\n });\r\n updateChkAll($('div.object_contents'), $('#chkAll'));\r\n UpdateCopyPasteIcons();\r\n HideTopSpinner(L('DELETED_LINKS', res), 2000);\r\n EnableOrDisableCheckAll();\r\n } else {\r\n $('form:first').submit();\r\n }\r\n if ($.isFunction(afterDeleteCallback)) {\r\n afterDeleteCallback();\r\n }\r\n } else {\r\n if (!needSubmit) {\r\n HideTopSpinner(L('NO_RIGHT_DELETE_LINKS'), 2000);\r\n }\r\n }\r\n } else {\r\n HideTopSpinner(res.Error, 2000);\r\n }\r\n });\r\n }\r\n\r\n if (linksToDelete.length) {\r\n if (needConfirmDeleting) {\r\n ConfirmDelete(deleteAll ? GetRowsCount() : linksToDelete.length).done(() => {\r\n callDeleteLinksService();\r\n });\r\n }\r\n else {\r\n callDeleteLinksService();\r\n }\r\n }\r\n else {\r\n ShowTopSpinnerResult(L('OBJECTS_NOT_SELECTED'), 2000);\r\n }\r\n }\r\n }\r\n})(window);\r\n","//Бписок Ρ€Π΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡƒΠ΅ΠΌΡ‹Ρ… дСйствий для Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΏΠΈΠΉ.\r\nvar LocalCopyRecommendedAction = {};\r\n\r\n/*ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ дСйствий Π½Π°Π΄ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ копиями*/\r\n\r\nfunction ReturnLocalCopyCM(obj) {\r\n var item = obj.tr;\r\n var version = item.attr('version');\r\n var encoding = item.attr('encoding');\r\n var pluginName = item.attr('encpluginname');\r\n ReturnLocalCopy(obj.id, version, !!encoding ? encoding : '', !!pluginName ? pluginName : '');\r\n}\r\n\r\n//Π’Π΅Ρ€Π½ΡƒΡ‚ΡŒ Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ копию\r\nfunction ReturnLocalCopy(documentID, versionNumber, encodingType, pluginName, fileName, editDate) {\r\n Core.agent.getPlugin('DocumentPlugin').done((plugin) => {\r\n const OnConfirmRecoverLocalCopy = (decryptedKey) => {\r\n const params = { \"DocumentID\": documentID, \"Version\": versionNumber, \"DecryptedKey\": decryptedKey ? decryptedKey : '' };\r\n _returnLocalCopyRequest(params, (result) => {\r\n var resultMessage = L('RECOVER_FROM_LOCAL_COPY_SUCCESS');\r\n ShowTopSpinnerResult(resultMessage);\r\n RemoveItemFromRecoveryList(documentID, versionNumber);\r\n }, (err) => {\r\n ShowError(err.message || L('RECOVER_FROM_LOCAL_COPY_FAIL'))\r\n });\r\n }\r\n var modifyDate = formatDateTime(new Date(editDate ? editDate : GetLastEditDate(documentID, versionNumber)));\r\n var confirm = (format(L(\"CONFIRM_RECOVER_FROM_LOCAL_COPY\"), { 0: versionNumber, 1: (fileName ? fileName : GetDocumentFileName(documentID)) })).escapeHtml();\r\n var warning = LocalCopyRecommendedAction[(documentID + 'v' + versionNumber)] == 'RECOVER' ? \"\" : (format(L(\"MSG_DELETE_COPY\"), { 0: modifyDate })).escapeHtml();\r\n ShowDocumentRecoveryConfirmation(confirm, warning, (dialog) => {\r\n getDecryptedKey(documentID, encodingType, pluginName, OnConfirmRecoverLocalCopy);\r\n });\r\n });\r\n}\r\n\r\n// Π’ΠΎΠ·Π²Ρ€Π°Ρ‚ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°, ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ³ΠΎ Π² Π°Π³Π΅Π½Ρ‚Π΅.\r\nfunction ReturnDocument(documentID, versionNumber, encodingType, pluginName, fileName, editDate) {\r\n Core.agent.getPlugin('DocumentPlugin').done((plugin) => {\r\n var OnConfirmRecoverLocalCopy = function (additionalParams) {\r\n var params = { \"DocumentID\": documentID, \"Version\": versionNumber, \"EncodeType\": encodingType, \"EncryptionPluginName\": pluginName };\r\n if (!!additionalParams) $.extend(params, additionalParams);\r\n _returnLocalCopyRequest(params, function (result) {\r\n var resultMessage = L('AGENT_RETURN_DOCUMENT_SUCCESS');\r\n ShowTopSpinnerResult(resultMessage);\r\n RemoveItemFromRecoveryList(documentID, versionNumber);\r\n }, function (err) {\r\n var resultMessage = \"\";\r\n try {\r\n resultMessage = err.message;\r\n } catch (e) {\r\n resultMessage = L('AGENT_RETURN_DOCUMENT_FAIL');\r\n }\r\n ShowError(resultMessage);\r\n });\r\n }\r\n\r\n if (GetDocumentEncodingType(documentID) >= 2) {\r\n RequestPasswordForDecryption(null, function (pass) { OnConfirmRecoverLocalCopy({ Password: pass }); });\r\n return;\r\n }\r\n OnConfirmRecoverLocalCopy(null);\r\n });\r\n}\r\n\r\n// Запрос Π½Π° Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° ΠΈΠ· локальной ΠΊΠΎΠΏΠΈΠΈ.\r\nfunction _returnLocalCopyRequest(params, successCallback, errCallback) {\r\n RequestToken(TOKEN_OPERATION.UPLOAD_DOCUMENT_BODY | TOKEN_OPERATION.DOWNLOAD_DOCUMENT_BODY, function (token) {\r\n $.extend(params, { \"Token\": token });\r\n\r\n Core.agent.invoke('ReturnLocalCopy', 'DocumentPlugin', params).done((result) => {\r\n successCallback(result);\r\n }).fail(function(result) {\r\n errCallback(result);\r\n });\r\n\r\n }, params['DocumentID'], params['Version']);\r\n}\r\n\r\nfunction getDocumentListItem(docID) {\r\n return $('.List')\r\n .filter('[mode=OpenedDocs], [mode=EDocRestore]')\r\n .filter('#' + docID);\r\n}\r\n\r\nfunction GetDocumentFileName(DocID) {\r\n var item = getDocumentListItem(DocID);\r\n var ext = item.find('svg.Icon32>use').attr('alt');\r\n var name = item.find('div.objectname').contents()[0];\r\n return (!!name.textContent ? name.textContent : name.nodeValue) + '.' + ext;\r\n}\r\n\r\nfunction GetLastEditDate(DocID, VersionNumber) {\r\n var date = getDocumentListItem(DocID)\r\n .filter('[version=' + VersionNumber + ']')\r\n .attr('localeditdate');\r\n return !!date ? date : \"\";\r\n}\r\n\r\nfunction GetDocumentEncodingType(DocID) {\r\n return getDocumentListItem(DocID).attr('encoding');\r\n}\r\n\r\nfunction GetEncodingPluginName(DocID) {\r\n return getDocumentListItem(DocID).attr('encpluginname');\r\n}\r\n\r\nfunction ShowDocumentRecoveryConfirmation(message, warning, onConfirm) {\r\n var dialog = new WA.components.dialogs.MessageBox();\r\n dialog.width = 600;\r\n dialog.okText = L(\"RESTORE\");\r\n dialog.okCancelButtons(function () {\r\n dialog.disableButton(\"modal_ok_button\");\r\n dialog.disableButton(\"modal_cancel_button\");\r\n $('.ui-dialog-titlebar-close:visible', dialog._jDialog.parent()).remove();\r\n dialog._jDialog.find('.upper-area').hide().next().children().show();\r\n if (onConfirm) onConfirm(dialog);\r\n }, null);\r\n dialog.showQuestion(message, warning + GetConfirmRecoveryDlgHtml());\r\n}\r\n\r\nfunction ShowDocumentDeleteCopyConfirmation(message, warning, onConfirm) {\r\n var dialog = new WA.components.dialogs.MessageBox();\r\n dialog.width = 600;\r\n dialog.yesNoButtons(onConfirm, null);\r\n dialog.showQuestion(message, warning);\r\n}\r\n\r\nfunction GetConfirmRecoveryDlgHtml() {\r\n var html = '';\r\n var spinnerImage = 'spinner.gif';\r\n var spinnerHtml = $('')[0].outerHTML;\r\n var recoveryProcMsg = $('').html(L('DOCUMENT_RECOVER_PROCESS'))[0].outerHTML;\r\n html += $('
').html(spinnerHtml + recoveryProcMsg).attr('id', 'recovery_spinner').hide()[0].outerHTML;\r\n return html;\r\n}\r\n\r\nfunction OpenLocalCopyCM(obj) {\r\n OpenLocalCopy(obj.id, obj.tr.attr('version'));\r\n}\r\n\r\n//ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ копию\r\nfunction OpenLocalCopy(documentID, versionNumber) {\r\n Core.agent.getPlugin('DocumentPlugin').done((plugin) => {\r\n var params = { \"DocumentID\": documentID, \"Version\": versionNumber };\r\n plugin.invoke(\"OpenLocalCopy\", params).fail(function (result) {\r\n try {\r\n var resultMessage = result.message;\r\n ShowMessage(resultMessage, L('INFO'));\r\n } catch (e) { }\r\n });\r\n });\r\n}\r\n\r\nfunction DeleteLocalCopyCM(obj) {\r\n DeleteLocalCopy(obj.id, obj.tr.attr('version'));\r\n}\r\n\r\n//Π£Π΄Π°Π»ΠΈΡ‚ΡŒ Π»ΠΎΠΊΠ°Π»ΡŒΠ½ΡƒΡŽ копию\r\nfunction DeleteLocalCopy(documentID, versionNumber, OnDeleteCallback, SilentMode) {\r\n Core.agent.getPlugin('DocumentPlugin').done((plugin) => {\r\n var OnConfirmDeleteLocalCopy = function () {\r\n var resultMessage = \"\";\r\n RequestToken(TOKEN_OPERATION.UNLOCK_VERSION, function (token) {\r\n var params = { \"DocumentID\": documentID, \"Version\": versionNumber, \"Token\": token };\r\n WebAccess.agent.transmitRequest('DeleteLocalCopy', 'DocumentPlugin', params).done((result) => {\r\n resultMessage = L('LOCAL_COPY_DELETE_SUCCESS');\r\n updateOpenedDocumentsWidget();\r\n if (!SilentMode) {\r\n ShowTopSpinnerResult(resultMessage);\r\n }\r\n RemoveItemFromRecoveryList(documentID, versionNumber);\r\n if (OnDeleteCallback) OnDeleteCallback();\r\n }).fail(function (result) {\r\n try {\r\n resultMessage = result.message;\r\n } catch (e) {\r\n resultMessage = L('LOCAL_COPY_DELETE_FAIL');\r\n }\r\n\r\n if (!SilentMode) ShowError(resultMessage);\r\n });\r\n }, documentID, versionNumber);\r\n }\r\n\r\n if (SilentMode) {\r\n OnConfirmDeleteLocalCopy();\r\n } else {\r\n var confirm = L(\"CONFIRM_DELETE_LOCAL_COPY\");\r\n var warning = LocalCopyRecommendedAction[(documentID + 'v' + versionNumber)] == 'DELETE' ? \"\" : L(\"MSG_RECOVERY_FROM_COPY\");\r\n ShowDocumentDeleteCopyConfirmation(confirm, warning, OnConfirmDeleteLocalCopy);\r\n }\r\n });\r\n}\r\n\r\n// ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΎΠΊΠ½ΠΎ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΏΠΈΠΉ.\r\nfunction ShowLocalCopiesWindow(localCopies) {\r\n CallService(\"/ModalWindow.asmx/Create\", { ControlName: \"LocalCopiesProcess\", Params: $.toJSON({ Documents: localCopies }) }, function (res) {\r\n if (res.Success) {\r\n var content = $(res.Result.html);\r\n if (content.children().length > 0) {\r\n var instruction = MakeInfoMessage(L(localCopies.length == 1 ? 'LOCAL_COPY_RECOVERY_INSTRUCTION' : 'LOCAL_COPIES_RECOVERY_INSTRUCTION'))[0].outerHTML;\r\n var dialog = new WebAccess.components.dialogs.BaseDialog({ wordWrap: false, maxHeight: 400 });\r\n dialog.title = L(\"EDOCUMENT_LOCAL_COPIES\");\r\n dialog.setHtml(instruction + $('
').css('overflow-y', 'auto').css('overflow-x', 'hidden').css('position', 'relative').css('max-height', 400).html(content)[0].outerHTML);\r\n dialog.isShowOkButton = false;\r\n dialog.cancelText = L('CLOSE');\r\n dialog.isShowCancelButton = true;\r\n dialog.width = 630;\r\n dialog.show();\r\n BindHelpIcoClickOnModalWindow('RestoreDocuments', $('#dialog_content_' + dialog.id).parents('.ui-dialog'));\r\n }\r\n if (res.Result.initJs) {\r\n var f = new Function(res.Result.initJs);\r\n setTimeout(function () {\r\n f.apply(window);\r\n }, 10);\r\n }\r\n } else {\r\n if (res.Error == \"NO_DOCS\") { console.log('no local copies'); }\r\n }\r\n HideTopSpinner();\r\n });\r\n}\r\n\r\nfunction RemoveItemFromRecoveryList(DocID, Version) {\r\n var dialog = $('div[role=dialog]:visible');\r\n dialog.find('div#' + DocID + '[version=' + Version + ']').remove();\r\n if (IsRecoveryListEmpty(dialog)) {\r\n //AddEmptyItemToList(dialog);\r\n CloseRecoveryDialog(dialog);\r\n }\r\n}\r\n\r\nfunction AddEmptyItemToList(dialog) {\r\n dialog.find('#modal_window').children('span').append('' + L(\"EMPTY\") + '');\r\n}\r\n\r\nfunction IsRecoveryListEmpty(dialog) {\r\n return dialog.find('#modal_window').find('.List').length == 0;\r\n}\r\n\r\nfunction CloseRecoveryDialog(dialog) {\r\n dialog.find('.ui-icon-closethick').click();\r\n}\r\n\r\nfunction updateOpenedDocumentsWidget() {\r\n if (Core.footer.openedDocumentsWidget)\r\n Core.footer.openedDocumentsWidget.update();\r\n};","/// \r\n\r\nfunction RequestPasswordForDecryption(Doc, OnPasswordEnter, OnClose, SetNewPassword, ChangePassword) {\r\n var settings = {\r\n ok: function () {\r\n var password = $(\"#docPassword\").val();\r\n $(\"#docPassword\").data('entered', true);\r\n if (!!SetNewPassword && OnPasswordEnter) {\r\n var passwordConfirm = $('#docPasswordConfirm').val();\r\n return OnPasswordEnter(password, passwordConfirm);\r\n }\r\n if (!!ChangePassword && OnPasswordEnter) {\r\n var oldPassword = $('#docOldPassword').val();\r\n var passwordConfirm = $('#docPasswordConfirm').val();\r\n return OnPasswordEnter(oldPassword, password, passwordConfirm);\r\n }\r\n if (OnPasswordEnter) return OnPasswordEnter(password);\r\n }\r\n };\r\n var dialog = new WA.components.dialogs.BaseDialog(settings);\r\n\r\n var docName = '
';\r\n //'
' +\r\n //'
' + Doc.ClientName + '.' + Doc.Editor.Extension.toLowerCase() + '
' +\r\n //'
';\r\n var passwordInput = '
' +\r\n (!!ChangePassword ? '' : '') +\r\n '' +\r\n (!!SetNewPassword || !!ChangePassword ? '' : '') +\r\n '
';\r\n\r\n\r\n dialog.title = L(\"ENTER_PASSWORD\");\r\n dialog.isShowCancelButton = true;\r\n //dialog.onClose = function () { clearAllModalDivs(); }\r\n if (!!OnClose) dialog.onClose = function() { OnClose(); };\r\n dialog.onOpen = function () { BindPasswordFieldToOk(dialog); dialog.disableButton('modal_ok_button'); };\r\n dialog.setHtml(docName + passwordInput);\r\n dialog.show();\r\n return dialog;\r\n}\r\n\r\nfunction OnKeyUpPassDoc(event, el, id) {\r\n if (event.keyCode == 13) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n var button = $('#dialog_content_' + id).parent().parent().find('button.primary'); //$('div.ui-dialog').find('.ui-dialog-buttonset:visible').children().first();\r\n if (!button.hasClass('disabled')) button.click();\r\n return false;\r\n }\r\n}\r\n\r\nfunction BindPasswordFieldToOk(dialog) {\r\n $('#docPassword').keyup(function (ev) {\r\n if ($(this).val() != '')\r\n {\r\n dialog.enableButton('modal_ok_button');\r\n }\r\n else {\r\n dialog.disableButton('modal_ok_button');\r\n }\r\n });\r\n}\r\n\r\n\r\nfunction SetPasswordForDoc(checkbox) {\r\n checkbox = $(checkbox);\r\n if (checkbox.is(':checked')) {\r\n if (true){//$('#__SELECTED_USERS').val().indexOf('g_') == -1) {\r\n if (!!checkbox.data('password')) {\r\n }\r\n else {\r\n if (WA.Document.Encoding < 2) {\r\n RequestPasswordForDecryption(\"\", function (password, confirmation) {\r\n if (!IsPasswordConfirmed(password, confirmation)) return false;\r\n checkbox.data('password', password);\r\n return true;\r\n },\r\n function () {\r\n if (!!!checkbox.data('password') && checkbox.data('password') != \"\") { checkbox.removeAttr('checked'); }\r\n },\r\n true);\r\n }\r\n }\r\n }\r\n else {\r\n ShowWarning(L('CANNOT_ENCRYPT_PASSWORD_USERGROUP_QUALIFIED'), null, 400);\r\n checkbox.removeAttr('checked');\r\n }\r\n }\r\n else {\r\n if (WA.Document.Encoding >= 2) {\r\n RequestPasswordForDecryption(\"\", function (password) {\r\n checkbox.data('password', password);\r\n //WA.current.toolBar.buttons.ChangeDocPassword.disable();\r\n },\r\n function () {\r\n if (!!!checkbox.data('password')) { checkbox.attr('checked', true); }\r\n });\r\n }\r\n else {\r\n checkbox.data('password', null);\r\n }\r\n }\r\n}\r\n\r\nfunction ChangeDocPassword() {\r\n\r\n var changePassword = function (oldPassword, password, encryptionKey) {\r\n encryptionKey = !!encryptionKey ? encryptionKey : \"\";\r\n WA.SRV.call(\"/Document.asmx/ChangePassword\", { DocumentID: WA.Document.ID, OldPassword: oldPassword, NewPassword: password, EncryptionKey : encryptionKey }).success(function () {\r\n HideTopSpinner(L(\"USER_PASSWORD_WAS_CHANGED_SUCCESSFULLY\"), 2000);\r\n }).fail(function (error) {\r\n ShowError(error);\r\n });\r\n };\r\n\r\n if (WA.Document.Encoding >= 2)\r\n {\r\n RequestPasswordForDecryption(\"\", function (oldPassword, password, confirmation) {\r\n if (!IsPasswordConfirmed(password, confirmation)) return false;\r\n\r\n if (WA.Document.Encoding == 3) {\r\n RequestToken(TOKEN_OPERATION.DOWNLOAD_DOCUMENT_BODY, function (token) {\r\n WebAccess.agent.transmitRequest('getdocdecryptedkey', 'CryptographyPlugin',\r\n { \"DocID\": WA.Document.ID, \"Version\": 0, \"Token\": token, \"EncodeType\": WA.Document.Encoding, \"EncryptionPluginName\": WA.Document.PluginName, \"Password\": oldPassword })\r\n .done(function(response) {\r\n changePassword(oldPassword, password, response.result);\r\n }).fail(function(response) {\r\n ShowError(response.message);\r\n });\r\n }, WA.Document.ID, 0);\r\n return true;\r\n }\r\n changePassword(oldPassword, password, null);\r\n return true;\r\n }, null, null, true);\r\n }\r\n}\r\n\r\nfunction IsPasswordConfirmed(password, confirmation)\r\n{\r\n if (password != \"\" && confirmation == \"\") {\r\n ShowWarning(L(\"WRN_ENTER_PASSWORD_CONFIRAMATION\"), null, 350, function () { $('#docPasswordConfirm').focus(); });\r\n return false;\r\n }\r\n if (password != confirmation) {\r\n ShowWarning(L(\"WRN_PASSWORD_AND_CONFIRMATION_MUST_MATCH\"), null, 350, function () { $('#docPasswordConfirm').focus(); });\r\n return false;\r\n }\r\n if (password == \"\") return false;\r\n return true;\r\n}\r\n\r\nfunction SetCertForDoc(checkbox) {\r\n checkbox = $(checkbox);\r\n var passwordCheckbox = $('#EncryptWithPasswordCheckBox');\r\n if (checkbox.is(':checked')) {\r\n if (true){//$('#__SELECTED_USERS').val().indexOf('g_') == -1) {\r\n if (WA.Document.Encoding == 3) {\r\n passwordCheckbox.data('password', null);\r\n }\r\n if (WA.Document.Encoding == 2) {\r\n RequestPasswordForDecryption(\"\", function (password) {\r\n passwordCheckbox.data('password', password);\r\n return true;\r\n },\r\n function () {\r\n if (!!!passwordCheckbox.data('password') && checkbox.data('password') != \"\") { checkbox.removeAttr('checked'); }\r\n });\r\n }\r\n }\r\n else {\r\n ShowWarning(L('CANNOT_ENCRYPT_CERT_USERGROUP_QUALIFIED'), null, 400);\r\n checkbox.removeAttr('checked');\r\n }\r\n }\r\n else {\r\n if (WA.Document.Encoding == 3) {\r\n if (!passwordCheckbox.data('password') || passwordCheckbox.data('password') == \"\") {\r\n RequestPasswordForDecryption(\"\", function (password) {\r\n passwordCheckbox.data('password', password);\r\n //WA.current.toolBar.buttons.ChangeDocPassword.disable();\r\n return true;\r\n },\r\n function () {\r\n if (!passwordCheckbox.data('password') && passwordCheckbox.data('password') != \"\") { checkbox.attr('checked', true); }\r\n });\r\n }\r\n }\r\n }\r\n}\r\n","/* =БвязанныС Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹=========================================================================================================================== */\r\nfunction LoadSubRelations(type, obj, id, refcode, filter, additional) {\r\n $.ajax({\r\n type: \"GET\",\r\n dataType: \"html\",\r\n url: \"DynControl.ashx?c=\" + type + \"&id=\" + id + \"&refcode=\" + refcode + \"&filter=\" + filter + '&additional=' + additional,\r\n success: function (res) {\r\n if (!CheckForLoginPage(res)) {\r\n obj.html(res);\r\n var list = obj.find('.List');\r\n InitHover(list);\r\n InitListClick(list);\r\n if (WA.ObjectListInit.state() === \"resolved\" && !!WA.CR.objectList) WA.CR.objectList.fire(\"itemsChange\");\r\n }\r\n }\r\n });\r\n}\r\n\r\nfunction ShowRelations(type, obj) {\r\n var tr = $(obj).parent();\r\n\r\n var filter;\r\n var tbl = tr.parent();\r\n var tblID = tbl.attr('id');\r\n var tbl_ids = tblID.split('_');\r\n if (tbl_ids[0] == 'REL') {\r\n filter = tbl_ids[1];\r\n } else {\r\n filter = $('#OBJ_' + tblID).val() + \"-\";\r\n }\r\n\r\n var additional = $('#ADD_' + tblID).val();\r\n\r\n var id = tr.attr('id');\r\n var refcode = tr.attr('compcode');\r\n var isAdded = tr.next().hasClass('SubBounds');\r\n var trAdd;\r\n if (!isAdded) {\r\n tr.after('
');\r\n }\r\n trAdd = tr.next();\r\n if (trAdd.is(':hidden') || !isAdded) {\r\n trAdd.show();\r\n $(obj).find('.att_plus\\\\.png').removeClass('att_plus.png').addClass('att_minus.png');\r\n trAdd.html('');\r\n LoadSubRelations(type, trAdd, id, refcode, filter, additional);\r\n } else {\r\n trAdd.hide();\r\n $(obj).find('.att_minus\\\\.png').removeClass('att_minus.png').addClass('att_plus.png');\r\n }\r\n}\r\n\r\nfunction RefSelect_GetSelectedValue(item, parent) {\r\n var RefCode = $(item).data('refcode');\r\n var RecID = $('#hSelID_' + parent).val();\r\n if (RecID !== '') {\r\n var b = RecID.split(';');\r\n if (b.length == 2) {\r\n RefCode = b[0];\r\n RecID = b[1];\r\n }\r\n return [RefCode, RecID];\r\n } else {\r\n return null;\r\n }\r\n}\r\n\r\nfunction Reference_OpenRecordInNewWindow(item, parent, viewName) {\r\n var viewNameParam = viewName ? \"&refview=\" + viewName : \"\";\r\n var v = RefSelect_GetSelectedValue(item, parent);\r\n window.open(\"/Reference.aspx?sys=\" + g_SysCode + \"&ext=\" + g_ExtName + \"&compcode=\" + encodeURI(v[0]) + viewNameParam + \"&id=\" + v[1] + \"&parent=\" + parent, 'RefRec' + v[1]);\r\n}\r\n\r\nfunction InputOnMouseOverForShowAddIcons(el, inp, IsShowCreateButton, IsAccessDenied) {\r\n var me = $(el).closest('.reference_requisite');\r\n var icons = me.find('.Req_AdditionalIcons');\r\n\r\n var OpenIco = icons.find('.OpenCardIco');\r\n var CreateRecIco = icons.find('.CreateRecIco');\r\n var selVal = RefSelect_GetSelectedValue(OpenIco, inp.attr('id'));\r\n if (selVal != null && selVal !== '*' && !IsAccessDenied && (inp.data('selected') == \"true\" || inp.data('selected') == \"selected\" || inp.data('selected') === true) && /^\\d+$/.test(selVal[1])) {\r\n OpenIco.show();\r\n } else {\r\n OpenIco.hide();\r\n }\r\n\r\n if (IsShowCreateButton && !IsAccessDenied && inp.attr('readonly') != 'readonly') {\r\n CreateRecIco.show();\r\n } else {\r\n CreateRecIco.hide();\r\n }\r\n\r\n icons.show();\r\n\r\n icons.find('.ErrorRecIco').eq(0).attr(\"title\", \"Π’ΠΎΠ·Π½ΠΈΠΊΠ»Π° какая-Ρ‚ΠΎ ошибка\");\r\n icons.find('.ErrorRecIco').show();\r\n}\r\n\r\nfunction InputOnMouseOutForShowAddIcons() {\r\n $(this).parent().find('.Req_AdditionalIcons').hide().find('p').hide();\r\n}\r\n\r\n/* =================================================================================================================================================== */\r\n/* =================================================================================================================================================== */\r\n\r\n/* =Π€ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡ Π²Π²ΠΎΠ΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ согласно рСгулярному Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΡŽ====================================================================================== */\r\n(function ($) {\r\n $.fn.extend({\r\n Validator: function (regexstr, decimalSeparator) {\r\n this.each(function () {\r\n $(this).keypress(function (event) {\r\n if ($(this).attr('readonly') === 'readonly') return;\r\n\r\n var self = this;\r\n var code = event.which;\r\n if (code != 0 && code != 8) {\r\n var c = String.fromCharCode(code); // опрСдСляСм какая Π±ΡƒΠΊΠ²Π° Π±Ρ‹Π»Π° Π½Π°ΠΆΠ°Ρ‚Π°.\r\n var docSelection = document.selection;\r\n if (docSelection) { // для IE<11\r\n self.focus();\r\n var Sel = docSelection.createRange();\r\n var SelLength = docSelection.createRange().text.length;\r\n Sel.moveStart('character', -self.value.length);\r\n SelStart = Sel.text.length - SelLength;\r\n SelEnd = SelStart + SelLength;\r\n $(event.target).trigger('change');\r\n } else {\r\n SelStart = event.target.selectionStart;\r\n SelEnd = event.target.selectionEnd;\r\n if (WA.ENV.browser.name == 'IE' && WA.ENV.browser.major == '11') {\r\n $(event.target).trigger('change');\r\n }\r\n }\r\n //Ρ„ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅ΠΌ Π½ΠΎΠ²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.\r\n var val = self.value.substr(0, SelStart) + c + self.value.substr(SelEnd);\r\n var patt = new RegExp(regexstr);\r\n if (!patt.test(val)) {\r\n return false;\r\n }\r\n var isIDevice = (/iphone|ipad/gi).test(navigator.appVersion);\r\n\r\n if (decimalSeparator) {\r\n if (isIDevice) {\r\n setTimeout(function () {\r\n //Lysenko_YN: ΠΈΠ½Π°Ρ‡Π΅ значСния ΠΏΡ€ΠΈ Π²Π²ΠΎΠ΄Π΅ Π΄ΡƒΠ±Π»ΠΈΡ€ΡƒΡŽΡ‚ΡΡ. ΠŸΡ€ΠΎΠΈΡΡ…ΠΎΠ΄ΠΈΡ‚ ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ Π²Π²ΠΎΠ΄Π΅ значСния self.value ΡƒΠΆΠ΅ содСрТит ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π° Π½Π΅ исходноС.\r\n val = self.value;\r\n $(self).val(val.replace(/[.,]/g, decimalSeparator));\r\n }, 0);\r\n }\r\n else {\r\n setTimeout(function () { $(self).val(val.replace(/[.,]/g, decimalSeparator)) }, 0);\r\n }\r\n }\r\n return true;\r\n }\r\n });\r\n });\r\n return this;\r\n }\r\n });\r\n})(jQuery);\r\n/* =================================================================================================================================================== */\r\n/* =================================================================================================================================================== */\r\n\r\n/* =ΠŸΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ° ΠΎΠΊΠ½Π° послС открытия Π½Π° измСнСния вСрсии============================================================================================== */\r\nfunction EditVersion(el, msg) {\r\n ShowTopSpinner(msg);\r\n var funcReload;\r\n if (typeof ReloadVersionList == \"undefined\")\r\n funcReload = function () { window.location.reload(); };\r\n else\r\n funcReload = ReloadVersionList;\r\n setTimeout(funcReload, 1000);\r\n}\r\n/*function ReloadVerAddRegion(ID) {\r\nvar el = document;\r\nvar update_func = function (ID, el) {\r\n//(\"tr[id=\" + ID + \"].AddRegion tr[id=ViewList_VersionList]\", el).click();\r\nShowAddRegion($(\"tr[id=\" + ID + \"]:first\"), true, true);\r\n}\r\nif (ID == null) {\r\nID = window.name.substring(4);\r\nif (window.opener != null) {\r\nel = window.opener.document;\r\nupdate_func(ID, el);\r\n}\r\n} else {\r\nsetTimeout(function () { update_func(ID, el); }, 1000);\r\n}\r\n}*/\r\nfunction VerLockOrUnlock(ID, Ver, msg, addArea) {\r\n var s_res = {};\r\n ShowTopSpinner(msg);\r\n var funcReload;\r\n if (typeof ReloadVersionList == \"undefined\")\r\n funcReload = function () { window.location.reload(); };\r\n else\r\n funcReload = ReloadVersionList;\r\n $.ajax({\r\n type: \"POST\",\r\n contentType: \"application/json; charset=utf-8\",\r\n dataType: \"json\",\r\n url: \"/EDocument.asmx/VersionLockUnlock\",\r\n data: \"{'EDocID':'\" + ID + \"', 'VerNum':'\" + Ver + \"'}\",\r\n async: false,\r\n cache: false,\r\n success: function (res) {\r\n HideTopSpinner(\"\", 1);\r\n s_res = res.d;\r\n if (!CheckForLoginPage(s_res)) {\r\n if (s_res.Warning == '' && s_res.Error == '') {\r\n funcReload();\r\n } else { \r\n $.when(WA.FormControlsInit).then(() => {\r\n WA.CMP.NTF.InlineHint.hideAll(); \r\n if (s_res.Warning) {\r\n WA.CR.inlineHint.showWarning(s_res.Warning, null, INLINE_HINT_PRIORITY.PRIMARY);\r\n } else {\r\n WA.CR.inlineHint.showError(s_res.Error, null, INLINE_HINT_PRIORITY.PRIMARY);\r\n } \r\n }); \r\n }\r\n }\r\n }\r\n });\r\n}\r\n/* =================================================================================================================================================== */\r\n/* =================================================================================================================================================== */\r\n\r\nvar oldf = '';\r\nfunction InitContentListToolbox(cont_id) {\r\n setInlineHint();\r\n EnableOrDisableCheckAll();\r\n}\r\n\r\nfunction EnableOrDisableCheckAll() {\r\n var checkBox = $('#QFilter').find('#chkAll');\r\n if (checkBox.length) {\r\n if ($('.List').length > 0) {\r\n checkBox.attr('disabled', false);\r\n }\r\n else checkBox.attr('disabled', true);\r\n }\r\n}\r\n\r\nfunction clearInlineHint(obj) {\r\n if (!$.ipad) {\r\n if ($(obj).hasClass('Req_Gray')) {\r\n $(obj).val('').removeClass('Req_Gray');\r\n }\r\n }\r\n}\r\n\r\nfunction setInlineHint() {\r\n var labels = L('SEARCH_BY') + \" \";\r\n var filterVariants = $(\"#QFilter input[id*='FilterVariantsLoc']\");\r\n if (filterVariants.length > 0) {\r\n var arr = filterVariants.val().split(\";\");\r\n for (var i = 0; i < arr.length; i++) {\r\n labels += arr[i].toLowerCase() + \", \";\r\n }\r\n labels = labels.substr(0, labels.length - 2);\r\n $('#FastSearch').attr('placeholder', labels);\r\n }\r\n}\r\n\r\nfunction FilterEDMSContent(componentID, filterVal, filterRequisites) {\r\n WA.CR.objectList.setLikeFilter(filterVal, filterRequisites).reload();\r\n\r\n if (Core.isStatisticEnabled) {\r\n ///Π—Π°ΠΏΠΈΡΡŒ Π² статистику\r\n WA.CR.statistics.write({\r\n page: WA.getLocation(),\r\n action: \"FilterQuery\",\r\n area: 'FilterPanel',\r\n target: $('#' + componentID).get(0)\r\n });\r\n };\r\n}\r\n\r\nvar g_clipboard = null;\r\n\r\n/* =================================================================================================================================================== */\r\n/* =================================================================================================================================================== */\r\n\r\n\r\n/* = ΠšΠ»ΠΈΠ΅Π½Ρ‚ΡΠΊΠ°Ρ сортировка ============================================================================================== */\r\nfunction LinkClick(el) {\r\n $(\"form:first\").attr(\"action\", el.href).submit();\r\n}\r\n\r\n// Π‘ΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ послСднСго Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.\r\nfunction SaveLastRun(id) {\r\n var WSSParam = GetWSSParam(location.href, true);\r\n $.ajax({\r\n type: \"POST\",\r\n contentType: \"application/json; charset=utf-8\",\r\n dataType: \"json\",\r\n url: \"/Wizard.asmx/LastRun\" + WSSParam,\r\n data: \"{'ID':'\" + id + \"'}\",\r\n async: false,\r\n cache: false,\r\n success: function (res) {\r\n }\r\n });\r\n}\r\n\r\n/* =================================================================================================================================================== */\r\n\r\n/**\r\n * ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ ВМа ΠΏΠΎ Π΅Π³ΠΎ Π˜Π”.\r\n *\r\n * @global\r\n * @function getStandardRouteCodeByID\r\n * @param {number} routeID Π˜Π” ВМа.\r\n * @param {function} [successCallback] Callback-функция, выполняСмая Π² случаС ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠ³ΠΎ получСния ΠΊΠΎΠ΄Π° записи справочника.\r\n * @param {function} [failCallback] Callback-функция, выполняСмая Π² случаС Π½Π΅ΡƒΠ΄Π°Π»Π΅Π½ΠΎΠ³ΠΎ получСния ΠΊΠΎΠ΄Π° записи справочника.\r\n */\r\nfunction getStandardRouteCodeByID(routeID, successCallback, failCallback) {\r\n getFilteredRecords(\r\n 'ВМВ',\r\n `[Π˜Π”] = ${routeID}`,\r\n '',\r\n ['Код'],\r\n 1,\r\n 0,\r\n 0,\r\n '',\r\n successCallback,\r\n failCallback\r\n );\r\n}\r\n\r\n/**\r\n * ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ записи справочника.\r\n *\r\n * @global\r\n * @function getFilteredRecords\r\n * @param {string} referenceCode Код справочника.\r\n * @param {string} filterExpression Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ.\r\n * @param {string} filterValue Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°.\r\n * @param {array} requisites Бписок Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ² для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ.\r\n * @param {number} recordsCount Число записСй для Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ.\r\n * @param {number} startFromRecord ИндСкс записи, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ начинаСтся Π²Ρ‹Π±ΠΎΡ€ΠΊΠ°.\r\n * @param {number} sortIndex ИндСкс Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ производится сортировка.\r\n * @param {string} sortDirection НаправлСниС сортировки.\r\n * @param {function} [successCallback] Callback-функция, выполняСмая Π² случаС ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΉ Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ записСй справочника.\r\n * @param {function} [failCallback] Callback-функция, выполняСмая Π² случаС Π½Π΅ΡƒΠ΄Π°Π»Π΅Π½ΠΎΠ³ΠΎ Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ записСй справочника.\r\n */\r\nfunction getFilteredRecords(referenceCode, filterExpression, filterValue, requisites, recordsCount, startFromRecord, sortIndex, sortDirection, successCallback, failCallback) {\r\n CallServiceSync('/Reference.asmx/GetRecords', {\r\n ReferenceCode: referenceCode,\r\n FilterExpression: filterExpression,\r\n FilterValue: filterValue,\r\n Requisites: requisites,\r\n RecordsCount: recordsCount,\r\n StartFromRecord: startFromRecord,\r\n SortIndex: sortIndex,\r\n SortDirection: sortDirection,\r\n }, (data) => {\r\n if (data.Success) {\r\n if (successCallback instanceof Function) {\r\n successCallback(data);\r\n }\r\n } else {\r\n if (failCallback instanceof Function) {\r\n failCallback(data);\r\n }\r\n }\r\n });\r\n}\r\n\r\n/**\r\n * ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊΠΎΠ΄ ВМа ΠΏΠΎ Π΅Π³ΠΎ Π˜Π”.\r\n *\r\n * @global\r\n * @function GetStandardRouteCodeByAnalit\r\n * @param {number} routeID Π˜Π” ВМа.\r\n * @param {function} [successCallback] Callback-функция, выполняСмая Π² случаС ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠ³ΠΎ получСния ΠΊΠΎΠ΄Π° записи справочника.\r\n * @param {function} [failCallback] Callback-функция, выполняСмая Π² случаС Π½Π΅ΡƒΠ΄Π°Π»Π΅Π½ΠΎΠ³ΠΎ получСния ΠΊΠΎΠ΄Π° записи справочника.\r\n * @deprecated since 5.6. Use getStandardRouteCodeByID instead.\r\n */\r\nfunction GetStandardRouteCodeByAnalit(...args) {\r\n getStandardRouteCodeByID(...args);\r\n}\r\n\r\n/**\r\n * ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ записи справочника.\r\n *\r\n * @global\r\n * @function GetRecordWithFilteredRequisitedByAnalit\r\n * @param {string} referenceCode Код справочника.\r\n * @param {string} filterExpression Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ.\r\n * @param {string} filterValue Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°.\r\n * @param {array} requisites Бписок Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ² для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ.\r\n * @param {number} recordsCount Число записСй для Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ.\r\n * @param {number} startFromRecord ИндСкс записи, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ начинаСтся Π²Ρ‹Π±ΠΎΡ€ΠΊΠ°.\r\n * @param {number} sortIndex ИндСкс Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ производится сортировка.\r\n * @param {string} sortDirection НаправлСниС сортировки.\r\n * @param {function} [successCallback] Callback-функция, выполняСмая Π² случаС ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΉ Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ записСй справочника.\r\n * @param {function} [failCallback] Callback-функция, выполняСмая Π² случаС Π½Π΅ΡƒΠ΄Π°Π»Π΅Π½ΠΎΠ³ΠΎ Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ записСй справочника.\r\n * @deprecated since 5.6. Use getFilteredRecords instead.\r\n */\r\nfunction GetRecordWithFilteredRequisitedByAnalit(...args) {\r\n getFilteredRecords(...args);\r\n}\r\n\r\n/* =================================================================================================================================================== */\r\n\r\n/* =ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ ============================================================================================== */\r\n\r\n/**\r\n * Ѐункция выдСлСния элСмСнта ΠΈΠ· списка ΠΎΠ±Π΅ΠΊΡ‚ΠΎΠ²\r\n *\r\n * @global\r\n * @function ToggleItem\r\n * @param {object} jItemCheckBox jQuery-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ чСкбокса выдСляСмого элСмСнта.\r\n * @param {object} [jItem] jQuery-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ выдСляСмого элСмСнта списка.\r\n * @param {bool} [isChecked] True - Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ элСмСнт, False - ΡΠ½ΡΡ‚ΡŒ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅.\r\n * @deprecated Use WA.CR.objectList.toggleItem instead.\r\n */\r\nfunction ToggleItem(jItemCheckBox, jItem, isChecked) {\r\n WA.CR.objectList.toggleItem(jItemCheckBox, jItem, isChecked);\r\n}\r\n\r\nfunction ToggleAllItem(el) {\r\n var inp;\r\n var isSearchMode = (GetParamInURL('mode') == 'search');\r\n if ($(el).is(':checked')) {\r\n if (!isSearchMode) {\r\n $('.List:not(.selected)').each(function () {\r\n if ($(this).is(':visible')) {\r\n inp = $(this).find('input:first').attr('checked', true);\r\n ToggleItem(inp);\r\n }\r\n });\r\n $(el).attr('title', L('DESELECT_ALL'));\r\n }\r\n else {\r\n $(el).removeAttr('checked').attr('title', L('CANNOT_COPY_ALL_LINKS_IN_SEARCH_RESULTS'));\r\n }\r\n }\r\n else {\r\n $(\".List.selected\").each(function () {\r\n inp = $(this).find('input:first').attr('checked', false);\r\n ToggleItem(inp);\r\n });\r\n $(el).removeClass('notallyet').attr('title', L(isSearchMode ? 'CANNOT_COPY_ALL_LINKS_IN_SEARCH_RESULTS' : 'SELECT_ALL'));\r\n }\r\n UpdateCopyPasteIcons();\r\n}\r\n\r\nfunction ToggleAllItemsInComponent(comp_id) {\r\n var comp = $('#' + comp_id);\r\n var el = $('#' + comp_id + '_chkAll');\r\n\r\n var inp;\r\n if (el.is(':checked')) {\r\n comp.find('.List:not(.selected)').each(\r\n function () {\r\n inp = $(this).find('input:first').attr('checked', 'true'); //.show();\r\n ToggleItem(inp);\r\n }\r\n );\r\n $(el).attr('title', L('DESELECT_ALL'));\r\n }\r\n else {\r\n comp.find('.selected').each(\r\n function () {\r\n inp = $(this).find('input:first').attr('checked', ''); //.hide();\r\n ToggleItem(inp);\r\n }\r\n );\r\n $(el).attr('title', L('SELECT_ALL'));\r\n }\r\n UpdateCopyPasteIcons(comp);\r\n var isChecked = el.is(':checked');\r\n setTimeout(function () { el.attr('checked', isChecked) }, 0); // WTF fix (something makes another check, so to override this...)\r\n}\r\n\r\n// ΠžΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ‚ ΠΈΠΊΠΎΠ½ΠΊΠΈ (9+)\r\nfunction UpdateSelectionNumbers() {\r\n var objList = $('.object_contents:first');\r\n var num = $('.List.selected', objList).length - (objList.hasClass('ReferenceTable') ? 1 : 0);\r\n if (num == 0) {\r\n $('#toolbar_container .selection_numbers_icon_container').remove();\r\n } else {\r\n $('#toolbar_container .selection_numbers:not(:has(>.selection_numbers_icon_container))').prepend('
');\r\n var cont = $('#toolbar_container .selection_numbers_icon_container');\r\n\r\n // Π½Π°ΠΉΡ‚ΠΈ всС .List:not(.selected) Π² objList (всС элСмСнты с классом List, Π½ΠΎ Π±Π΅Π· класса selected Π² objList). Если Ρ‚Π°ΠΊΠΈΡ… элСмСнтов 0 => Π²Ρ‹Π±Ρ€Π°Π»ΠΈ всС.\r\n if ($('.List:not(.selected)', objList).length == 0) {\r\n num = GetRowsCount();\r\n }\r\n\r\n var title = L('SEND_AS_ATTACHMENT', num);\r\n if (num > 9) num = 10;\r\n var iconSrc = format('links_count_{0}.png', num);\r\n cont.html(format('

', iconSrc, title));\r\n }\r\n}\r\n\r\nvar UpdateCopyPasteIcons; // устанавливаСт .disabled Ρƒ \"ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ\" ΠΈ \"ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ\", Ссли Π½Π΅ Π²Ρ‹Π±Ρ€Π°Π½ Π½ΠΈ ΠΎΠ΄ΠΈΠ½ элСмСнт\r\n(function () {\r\n\r\n function GetButtonsData(comp) {\r\n return comp.data('copypasteicons') || (function () {\r\n var res = {};\r\n res.copy_button = comp.find('div.copy_btn:first');\r\n if (res.copy_button.length) {\r\n res.del_button = comp.find('div.delete_btn');\r\n res.sign_button = comp.find('div.sign_btn');\r\n res.sign_button_initially_disabled = res.sign_button.hasClass('disabled');\r\n res.copy_button_initially_disabled = res.copy_button.hasClass('disabled');\r\n res.del_button_initially_disabled = res.del_button.hasClass('disabled');\r\n res.copy_button_title = res.copy_button.attr('title');\r\n res.del_button_title = res.del_button.attr('title');\r\n }\r\n comp.data('copypasteicons', res);\r\n return res;\r\n })();\r\n }\r\n\r\n UpdateCopyPasteIcons = function (listReq) {\r\n var isFilled = false; // ListRequisite ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. Если Ρ‚Π°ΠΌ Π΅ΡΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, Ρ‚ΠΎ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ всС Ρ€Π°Π²Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚.\r\n if (!listReq || !listReq.length) {\r\n listReq = $('.object_contents:first');\r\n UpdateSelectionNumbers();\r\n } else {\r\n var lr = ListRequisite(listReq.attr('id'));\r\n isFilled = !lr.IsList && lr.Values && lr.Values.length > 0;\r\n }\r\n var b = GetButtonsData(listReq);\r\n var isListReq = listReq.hasClass('ListRequisite');\r\n\r\n /**\r\n * Если Π΅ΡΡ‚ΡŒ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Π΅ ссылки ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Ρ‚ΠΈΠΏΠ°\r\n * @inner\r\n * @function isSelected\r\n * @return {boolean}\r\n */\r\n var isSelected = function (objType) {\r\n return (listReq.find('.List.' + objType + '_obj.selected').length);\r\n };\r\n\r\n if (b.copy_button.length) {\r\n if (isFilled || listReq.find((isListReq ? '' : '>') + '.List.selected').length) {\r\n if (!b.copy_button_initially_disabled) b.copy_button.removeClass('disabled').attr('title', b.copy_button_title);\r\n\r\n // ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌ ΠΊΠ½ΠΎΠΏΠΊΠΈ для подписания всСгда, Ρ‚.ΠΊ. Π½Π΅ Π·Π½Π°Π΅ΠΌ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ Π°Π³Π΅Π½Ρ‚.\r\n if (isSelected('Job') || isSelected('EDoc') || isSelected('Task')) {\r\n if (!b.sign_button_initially_disabled) b.sign_button.removeClass('disabled').attr('title', L('TOOLBAR_LINKS_SIGN_LINK_TOOLTIP'));\r\n } else {\r\n b.sign_button.addClass('disabled').attr('title', L(\"NO_LIST_SELECTION\"));\r\n }\r\n\r\n if (listReq.find((isListReq ? '' : '>') + '.List.selected.cannot_delete').length) {\r\n if (!b.del_button_initially_disabled) b.del_button.addClass('disabled').attr('title', L(\"CANNOT_DELETE_ATTACHMENTS_NOT_OWNED\"));\r\n } else {\r\n if (!b.del_button_initially_disabled) b.del_button.removeClass('disabled').attr('title', b.del_button_title);\r\n }\r\n }\r\n else {\r\n var reason = L(\"NO_LIST_SELECTION\");\r\n if (!b.copy_button_initially_disabled) {\r\n b.copy_button.addClass('disabled').attr('title', reason);\r\n }\r\n if (!b.del_button_initially_disabled) {\r\n b.del_button.addClass('disabled').attr('title', reason);\r\n }\r\n if (!b.sign_button_initially_disabled) {\r\n b.sign_button.addClass('disabled').attr('title', reason);\r\n }\r\n //ΠŸΡ€ΠΈ пустом спискС чСкбокс нСдизСйблился\r\n EnableOrDisableCheckAll();\r\n }\r\n }\r\n };\r\n\r\n})();\r\n\r\n/////////////////////////////// ListRequisite ////////////////////////////////////////////////////////////////////////\r\n\r\nlet updateChkAll = (comp, chkAll) => {\r\n let allCheckBoxes = comp.find('input.chk');\r\n let checkedBoxes = allCheckBoxes.filter(':checked'); \r\n // ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΠΎΠ±Ρ‰Π΅Π΅ количСство ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²: для содСрТимого ΠΏΠ°ΠΏΠΎΠΊ ΠΈ поисков - это ΠΎΠ±Ρ‰Π΅Π΅ количСство всСх элСмСнтов, \r\n // для ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… - Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹\r\n let allCheckBoxCount = GetRowsCount() || allCheckBoxes.length; \r\n // УстанавливаСм Π’Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ всС, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли Π²Ρ‹Π΄Π΅Π»Π΅Π½Ρ‹ всС записи.\r\n if (checkedBoxes.length === +allCheckBoxCount) {\r\n if (!GetParamInURL('searchname')) {\r\n chkAll.attr('checked', '1').attr('title', L('DESELECT_ALL'));\r\n }\r\n } else {\r\n chkAll.removeClass('notallyet').removeAttr('checked').attr('title', L('SELECT_ALL'));\r\n }\r\n};\r\n\r\nfunction ToggleFolderItem($this) {\r\n var chk;\r\n if ($this.hasClass('chk')) {\r\n chk = $this;\r\n } else {\r\n if ($this.hasClass('Icon32')) {\r\n chk = $this.parent().find('input.chk:first');\r\n } else {\r\n chk = $this.find('input.chk:first');\r\n }\r\n }\r\n ToggleItem(chk);\r\n}\r\n\r\n// Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρƒ EntityList.\r\nfunction EntityListInit(_comp, allowSelect, enableActions) {\r\n var comp = _comp;\r\n var tr = comp.children('div.folder_item');\r\n comp.children('div:odd').addClass('even');\r\n\r\n // Π§Ρ‚ΠΎ Π±Ρ‹ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΠΈ, Π² Ρ‚ΠΎΠΌ числС, ΠΊΠΎΠ³Π΄Π° Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ.\r\n UpdateCopyPasteIcons(listReq);\r\n\r\n if (tr.length == 0)\r\n return;\r\n\r\n var el0 = $(tr[0]);\r\n if ($.scrollActive && WA.ENV.isAndroid() && _comp.hasClass('object_contents')) {\r\n var h = _comp.offset().top + _comp.height() + 50;\r\n _comp.css('margin-bottom', '-50px');\r\n setRealHeightAndWidth(null, h);\r\n $.superHeight = true;\r\n }\r\n if (!el0.data('initialized')) {\r\n el0.data('initialized', '1');\r\n InitObjectContentsAutoLoad();\r\n }\r\n\r\n var listReq = _comp.parents('.ListRequisite');\r\n var chkAll = $(\"#\" + listReq.attr('id') + \"_chkAll\");\r\n if (chkAll.length == 0) {\r\n comp = comp.parents(':has(#chkAll)');\r\n chkAll = comp.find('#chkAll');\r\n }\r\n\r\n /**\r\n * ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ‚ ΠΏΡ€ΠΈ ΠΊΠ»ΠΈΠΊΠ΅ Π½Π° строку списка\r\n */\r\n var eventHandler = function () {\r\n\r\n /**\r\n * @function updateSelection\r\n * @private\r\n */\r\n var _updateSelection = function () {\r\n updateChkAll(_comp, chkAll.addClass('notallyet'));\r\n UpdateCopyPasteIcons(listReq);\r\n };\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠΌΠ΅Ρ‡Π°Π΅Ρ‚ элСмСнт Π²Ρ‹Π±ΠΎΡ€Π°Π½Π½Ρ‹ΠΌ\r\n * @function _selectItem\r\n * @param {Object} jItem - элСмСнт списка. Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС tr.\r\n * @private\r\n */\r\n var _selectItem = function (jItem) {\r\n ToggleFolderItem(jItem);\r\n _updateSelection();\r\n jItem.redraw();\r\n };\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π’Ρ‹Π±ΠΎΡ€ элСмСнта ΠΏΡ€ΠΈ ΠΊΠ»ΠΈΠΊΠ΅ Π½Π° Π½Π΅Π³ΠΎ, ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° ΠΏΡ€ΠΈ ΠΊΠ»ΠΈΠΊΠ΅ Π½Π° ΠΈΠΊΠΎΠ½ΠΊΡƒ\r\n * @function bindSelectItems\r\n */\r\n this.bindSelectAndOpenItems = function (jItems) {\r\n if (allowSelect) {\r\n jItems.unbind('mousedown.entitylist').bind('mousedown.entitylist', ev => {\r\n const jItem = $(ev.target);\r\n const classes = jItem.attr('class').split(' ');\r\n // Ссли ΠΊΠ»ΠΈΠΊ ΠΏΠΎ resizable ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Ρƒ Π³Ρ€ΠΈΠ΄Π°, ΡƒΡ…ΠΎΠ΄ΠΈΠΌ ΠΎΡ‚ΡΡŽΠ΄Π°\r\n if (classes.includes('ui-resizable-e')) {\r\n return;\r\n }\r\n if (ev.which === 1) {\r\n ev.stopPropagation();\r\n _selectItem(jItem.closest('.object-list-item'));\r\n }\r\n });\r\n StopSelectOnIconClick(jItems.find('.object-list-item__bound-expand-icon, .object-list-item__icon'));\r\n }\r\n InitEDocIconClick(jItems.find('.object-list-item__icon'));\r\n };\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n _comp.data('updateSelection', _updateSelection);\r\n };\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n var handler = new eventHandler();\r\n\r\n // ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅/скрытиС дСйствий (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌ).\r\n if (enableActions) {\r\n InitShowHideActions(tr);\r\n }\r\n\r\n InitHover(tr);\r\n\r\n handler.bindSelectAndOpenItems(tr);\r\n\r\n tr.unbind('contextmenu.entitylist').bind('contextmenu.entitylist', function (e) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n ShowContextMenu($(this), {}, { 'left': e.pageX, 'top': e.pageY }, true);\r\n\r\n //ОбновляСм Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΎΠΊ для элСмСнтов списка, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ rightClick сам Π½Π΅ ΠΏΡ€ΠΎΠ²ΠΎΡ†ΠΈΡ€ΡƒΠ΅Ρ‚\r\n UpdateCopyPasteIcons(listReq);\r\n return false;\r\n });\r\n\r\n if (listReq.length) {\r\n var lr = ListRequisite(listReq.attr('id'));\r\n if (lr.onUpdate) lr.onUpdate.call(lr);\r\n }\r\n\r\n InitTooltips();\r\n}\r\n\r\nfunction InitListClick(trs) {\r\n trs.unbind('mousedown.entitylist').bind('mousedown.entitylist', function (ev) {\r\n const jItem = $(ev.target);\r\n if (ev.which === 1) {\r\n ev.stopPropagation();\r\n const jListItem = jItem.closest('.object-list-item');\r\n ToggleFolderItem(jListItem);\r\n updateChkAll(jListItem.parent(), $('#chkAll').addClass('notallyet'));\r\n jListItem.redraw();\r\n } \r\n });\r\n StopSelectOnIconClick(trs.find(\".object-list-item__bound-expand-icon, .object-list-item__icon\"));\r\n InitEDocIconClick(trs.find(\".object-list-item__icon\"));\r\n}\r\n\r\n// ΠŸΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π³Π°Π»ΠΎΡ‡ΠΊΠΎΠΉ ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ\r\nfunction StopSelectOnIconClick(jIcons) {\r\n jIcons\r\n .off('mousedown.entitylist')\r\n .on('mousedown.entitylist', function (ev) {\r\n // ΠŸΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‰Π°Π΅ΠΌ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π³Π°Π»ΠΎΡ‡ΠΊΠΎΠΉ.\r\n ev.stopPropagation();\r\n });\r\n}\r\n\r\nfunction InitEDocIconClick(jIcons) {\r\n // ΠŸΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° ΠΈΠΊΠΎΠ½ΠΊΡƒ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°, ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π³Π°Π»ΠΎΡ‡ΠΊΠΎΠΉ\r\n jIcons\r\n .off('click.entitylist')\r\n .on('click.entitylist', function (ev) {\r\n ev.stopPropagation();\r\n let jObjectListItemTitle = $(this).closest('.object-list-item').find('.object-list-item__title');\r\n DoFirstAction(jObjectListItemTitle, jObjectListItemTitle.data('type'));\r\n });\r\n}\r\n\r\nfunction InitHover(trs) {\r\n if ($.ipad) return;\r\n var hoverEventNames = GetEventsName('hover_entitylist');\r\n trs\r\n .unbind(hoverEventNames[0]).bind(hoverEventNames[0], function (ev, isManualTriggered) {\r\n if (!isKeyNavigationActive || isManualTriggered) {\r\n $('.List.hover').removeClass('hover');\r\n $(this).addClass('hover');\r\n }\r\n })\r\n .unbind(hoverEventNames[1]).bind(hoverEventNames[1], function (ev, isManualTriggered) {\r\n if (!isKeyNavigationActive || isManualTriggered) {\r\n $(this).removeClass('hover');\r\n }\r\n });\r\n}\r\n\r\nfunction InitShowHideActions(trs) {\r\n if (!$.ipad) {\r\n trs.each(function () {\r\n var $this = $(this);\r\n $this\r\n .unbind('mouseenter.animate_entitylist').bind('mouseenter.animate_entitylist', function (ev, isManualTriggered) {\r\n if (!isKeyNavigationActive || isManualTriggered) {\r\n EntityList_ShowAction($this, trs);\r\n }\r\n })\r\n .unbind('mouseleave.animate_entitylist').bind('mouseleave.animate_entitylist', function (ev, isManualTriggered) {\r\n if (!isKeyNavigationActive || isManualTriggered) {\r\n EntityList_HideAction($this);\r\n }\r\n });\r\n });\r\n }\r\n}\r\n\r\nvar dbg_is_hover = false;\r\n\r\n// ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ дСйствий для элСмСнта списка.\r\nfunction EntityList_ShowAction(el, trs) {\r\n // Π€ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅Ρ‚ панСль Π±Ρ‹ΡΡ‚Ρ€Ρ‹ΡŠ дСйствий.\r\n function MakeActions(el) {\r\n if (typeof listActionsSettings != 'undefined') {\r\n var objKindMap = { \"edoc\": \"EDocument\", \"task\": \"Task\", \"job\": \"Job\", \"fol\": \"Folder\", \"ref\": \"ReferenceRecord\", \"usr\": \"UserSettings\", 'ver': 'EDocumentVersion' };\r\n var proxy = GetObjectInfoFromRow(el);\r\n var objKind = proxy.kind.toLowerCase();\r\n proxy.type = objKindMap[objKind];\r\n\r\n var sett;\r\n var mode = proxy.tr.attr('mode');\r\n switch (mode) {\r\n case 'EDocRestore':\r\n sett = listActionsSettings['EDocRestore'];\r\n break;\r\n case 'OpenedDocs':\r\n sett = listActionsSettings['OpenedDocs'];\r\n break;\r\n default:\r\n sett = listActionsSettings[proxy.type];\r\n }\r\n\r\n if (sett) {\r\n // Π’Ρ‹Π±Π΅Ρ€Π΅ΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π΅ дСйствия, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ.\r\n var actions = _.filter(sett.items.slice(0), function (item) { return item.needshow ? window[item.needshow](proxy) : true });\r\n if (actions.length > 0) {\r\n if (objKind == 'edoc' && mode != 'EDocRestore' && mode != 'OpenedDocs') {\r\n SetPreviewActionFirst(actions);\r\n if (g_isPreviewEnabled) SortEditActionsByPriority(actions);\r\n }\r\n var actionsHTML = '

';\r\n for (var i = 0; i < actions.length; i++) {\r\n var item = actions[i];\r\n // Π€ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅ΠΌ Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ Π±Ρ‹ всС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Π±Ρ‹Π»ΠΈ Π² ΠΎΠ΄ΠΈΠ½Π°Ρ€Π½Ρ‹Ρ… ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠ°Ρ… ($.toJSON Π΄Π΅Π»Π°Π΅Ρ‚ всС Π² Π΄Π²ΠΎΠΉΠ½Ρ‹Ρ…)\r\n var objStr = \"{'id\\':\" + proxy.id +\r\n \", 'kind':'\" + proxy.kind +\r\n \"', 'type':'\" + proxy.kind +\r\n \"', 'refcode':'\" + (typeof proxy.refcode == 'undefined' ? '' : proxy.refcode) +\r\n \"', 'version':'\" + proxy.tr.attr('version') +\r\n \"', 'encodeType':'\" + (!!proxy.tr.attr('encoding') ? proxy.tr.attr('encoding') : \"\") +\r\n \"', 'pluginName' : '\" + (!!proxy.tr.attr('encpluginname') ? proxy.tr.attr('encpluginname') : \"\") +\r\n \"'}\";\r\n\r\n // Π€ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅ΠΌ гипСрссылку, Ссли Π½ΡƒΠΆΠ½ΠΎ.\r\n var hyperlink = MakeActionListItemHyperlink(item, proxy);\r\n\r\n // Π€ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅ΠΌ тСкст ссылки.\r\n var text = L(item.text);\r\n if (objKind == 'job' && item.id == 'MarkAsRead') {\r\n if (!el.hasClass('unread')) {\r\n text = L('MENU_MARK_AS_UNREAD');\r\n } else {\r\n text = L('MENU_MARK_AS_READ');\r\n }\r\n }\r\n // Π€ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅ΠΌ ссылку (быстроС дСйствиС).\r\n var ITEM_IMG_TEMPLATE = '';\r\n var iconHtml = (typeof item.icon !== 'undefined') ? format(ITEM_IMG_TEMPLATE, { icon: item.icon }) : '';\r\n actionsHTML += format('{img}', {\r\n 'img': iconHtml,\r\n 'name': item.id,\r\n 'href': (hyperlink != '' ? hyperlink : '#'),\r\n 'target': (item.innewwindow == 'True' ? ('target=\"' + proxy.kind + proxy.id + '\" ') : ' target=\"_self\" '),\r\n 'stopPropagation': 'if(typeof evt != \\'undefined\\') evt.stopPropagation(); else { cancelBubble(event); };',\r\n 'js': (typeof item.jsaction != 'undefined' ? '(function(CurrentActionHTMLElement) {{ ' + item.jsaction + ' }}).call(' + objStr + ',this);' : ''),\r\n 'retFalse': (hyperlink != '' ? '' : 'return false;'),\r\n 'title': text\r\n });\r\n }\r\n return actionsHTML + '
';\r\n }\r\n }\r\n }\r\n return \"\";\r\n }\r\n\r\n\r\n var content = $(el).addClass('showingActions').find('.content');\r\n if (!isKeyNavigationActive && content.length > 0) {\r\n // Π€ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅ΠΌ html-ΠΊΠΎΠ΄ дСйствий.\r\n var actionsHTML = MakeActions(el);\r\n if (actionsHTML != '') {\r\n content.append(actionsHTML);\r\n content.find('.fastActions').show();\r\n }\r\n }\r\n}\r\n\r\n// ставит дСйствиС ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° Π½Π° ΠΏΠ΅Ρ€Π²ΠΎΠ΅ мСсто Π² быстрых дСйствиях\r\nfunction SetPreviewActionFirst(actions) {\r\n //var defaultAction = g_isPreviewEnabled ? 'preview' : (g_openDocForEditByDefault ? 'open' : 'viewineditor');\r\n if (actions[0].id.toLowerCase() != g_defaultListAction) {\r\n for (var i = 0; i < actions.length; i++) {\r\n if (actions[i].id.toLowerCase() == g_defaultListAction) {\r\n var temp = actions[i];\r\n actions[i] = actions[0];\r\n actions[0] = temp;\r\n break;\r\n }\r\n }\r\n }\r\n}\r\n\r\nfunction SortEditActionsByPriority(actions) {\r\n var defaultAction = 'open';//(g_openDocForEditByDefault ? 'open' : 'viewineditor');\r\n var secondAction = 'viewineditor';//(!g_openDocForEditByDefault ? 'open' : 'viewineditor');\r\n for (var i = 0; i < actions.length; i++) {\r\n if (actions[i].id.toLowerCase() == defaultAction && i > 0 && actions[i - 1].id.toLowerCase() == secondAction) {\r\n var temp = actions[i];\r\n actions[i] = actions[i - 1];\r\n actions[i - 1] = temp;\r\n break;\r\n }\r\n }\r\n\r\n}\r\n\r\nfunction DoNotShowInSearchResults() {\r\n return !Core.toolBars.main.isSearchMode();\r\n}\r\n\r\nfunction DoNotShowWhenAgentEnabled() {\r\n return !WA.agent.isAvailable();\r\n}\r\n\r\nfunction ShowWhenAgentEnabled() {\r\n return WA.agent.isAvailable();\r\n}\r\n\r\nfunction IsDocOpenedForEditByDefault() {\r\n return ShowWhenAgentEnabled() && g_openDocForEditByDefault;\r\n}\r\n\r\nfunction IsDocOpenedForReadByDefault() {\r\n return ShowWhenAgentEnabled() && !g_openDocForEditByDefault;\r\n}\r\n\r\nfunction IsIsDocOpenedForEditByDefaultAndPreviewDisabled() {\r\n return IsDocOpenedForEditByDefault() && !g_isPreviewEnabled;\r\n}\r\n\r\nfunction IsIsDocOpenedForReadByDefaultAndPreviewDisabled() {\r\n return IsDocOpenedForReadByDefault() && !g_isPreviewEnabled;\r\n}\r\n\r\nfunction IsRecoverActionsAvailable(proxy) {\r\n return $(proxy.tr.context).hasClass('list-item__doc_to-recover');\r\n}\r\n\r\nfunction IsReturnActionAvailable(proxy) {\r\n return $(proxy.tr.context).hasClass('list-item__doc_edited');\r\n}\r\n\r\nfunction IsOpenActionsAvailable(proxy) {\r\n var jContext = $(proxy.tr.context);\r\n return jContext.hasClass('list-item__doc_edited') || jContext.hasClass('list-item__doc_no-change');\r\n}\r\n\r\n\r\n// Π‘ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ дСйствий для элСмСнта списка.\r\nfunction EntityList_HideAction(el) {\r\n var $el = $(el);\r\n if ($el.hasClass('showingActions') && !$el.hasClass('menu_select')) {\r\n $(el).removeClass('showingActions').find('.fastActions').remove();\r\n }\r\n}\r\n\r\n// ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ список Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².\r\nfunction GetSelectedObjects() {\r\n var selected = WA.CR.objectList.getSelectedItems();\r\n return _(selected).map(function (item) {\r\n return {\r\n id: item.id,\r\n kind: item.kind,\r\n refcode: item.referenceName ? item.referenceName : ''\r\n };\r\n });\r\n}\r\n\r\n// Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ Π°Π²Ρ‚ΠΎΠΏΠΎΠ΄Π³Ρ€ΡƒΠ·ΠΊΠΈ Π² спискС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².\r\nfunction InitObjectContentsAutoLoad(filterVal, filterRequisites) {\r\n var browser = WA.ENV.browser.name.toLowerCase();\r\n\r\n var MinBottomDistanceToStartAutoLoad = 150; // пиксСлСй\r\n\r\n function BindOnScroll(obj) {\r\n if ($.superHeight || WA.ENV.isAndroid()) {\r\n $.when(WA.ObjectListInit).done(function () {\r\n if (_(WA.CR.objectList.getItems()).size() >= EXPLORER.MAX_OBJECT_ROWS_COUNT) {\r\n // Если Π΄Π»ΠΈΠ½Π° списка >= MAX_OBJECT_ROWS_COUNT, Ρ‚ΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΠΌ ссылку \"ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ большС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²\".\r\n if (!$('.main-content__load-more').length) {\r\n var $loadbtn = $('
' + L('AUTO_LOAD_MORE') + '
').click(function () {\r\n $.when(WA.ObjectListInit).done(function () {\r\n AutoLoad(obj);\r\n });\r\n $loadbtn.remove();\r\n });\r\n obj.append($loadbtn);\r\n }\r\n } else {\r\n // Π˜Π½Π°Ρ‡Π΅ ΡƒΠ΄Π°Π»ΠΈΠΌ эту ссылку \"ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ большС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²\", Ρ‚.ΠΊ. Π·Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ большС Π½Π΅Ρ‡Π΅Π³ΠΎ ΠΈ Ρ‚Π°ΠΊ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅Ρ‚.\r\n $('.main-content__load-more').remove();\r\n }\r\n });\r\n } else {\r\n var mc = obj.parents('#main_container');\r\n var scroller = mc;\r\n mc.unbind('scroll.auto_load').bind('scroll.auto_load', function () {\r\n if ($.scrollActive) {\r\n var bottomDistance = obj[0].offsetHeight - scroller[0].offsetHeight - scroller.offset().top + obj.offset().top;\r\n } else {\r\n if (browser === 'ie') {\r\n var bottomDistance = obj.height() - scroller.height() - scroller.scrollTop();\r\n } else {\r\n var bottomDistance = obj[0].offsetHeight - scroller[0].offsetHeight - scroller[0].scrollTop;\r\n }\r\n }\r\n if (bottomDistance <= MinBottomDistanceToStartAutoLoad) {\r\n mc.unbind('scroll.auto_load');\r\n $.when(WA.ObjectListInit).done(function () {\r\n AutoLoad(obj);\r\n });\r\n }\r\n });\r\n }\r\n }\r\n\r\n function AutoLoad(obj) {\r\n const page = obj.data('nextPage') || 2; \r\n obj.data('nextPage', page + 1);\r\n\r\n const folderId = WA.CR.getID();\r\n\r\n if (filterVal && filterRequisites) {\r\n WA.CR.objectList.setLikeFilter(filterVal, filterRequisites);\r\n }\r\n\r\n removeSpinningThingy();\r\n\r\n const jSpinningThingy = $('
');\r\n const jSpinnerIcon = $('');\r\n const jSpinnerText = $('').html(\r\n L('PLEASE_WAIT')\r\n );\r\n jSpinningThingy.append(jSpinnerIcon).append(jSpinnerText);\r\n jSpinningThingy.appendTo(obj);\r\n obj.data('spinningThingy', jSpinningThingy);\r\n\r\n function removeSpinningThingy() {\r\n if (obj.data('spinningThingy')) {\r\n obj.data('spinningThingy').remove();\r\n obj.data('spinningThingy', null);\r\n }\r\n }\r\n\r\n // Π—Π°ΠΏΠΎΠΌΠ½ΠΈΠΌ Π½Π΅Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ записи, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈ Π΄ΠΎΠ·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ ΠΎΠ½ΠΈ Π½Π΅ Π²Ρ‹Π΄Π΅Π»ΠΈΠ»ΠΈΡΡŒ\r\n let unselectedLinks = WA.CR.objectList.getUnselectedItems();\r\n \r\n WA.CR.objectList._loadPage(folderId, page).done((res) => {\r\n removeSpinningThingy();\r\n if (!CheckForLoginPage(res)) {\r\n const count = obj.children('div.List').length;\r\n obj.append(res);\r\n EntityListInit(obj, true);\r\n if ($.scrollActive && window.mainScroll) {\r\n mainScroll.refresh();\r\n }\r\n setTimeout(() => {\r\n let objs = obj.children('div.List');\r\n if (objs.length > count) {\r\n BindOnScroll(obj);\r\n } else {\r\n if (objs.length > g_MaxRowsPerPage) {\r\n let jAutoLoadNoMore = $('.main-content__all-loaded', obj);\r\n if (!jAutoLoadNoMore.length) {\r\n $('
' + L('NO_MORE_ITEMS') + '
').appendTo(obj);\r\n }\r\n else {\r\n jAutoLoadNoMore.show();\r\n }\r\n }\r\n $('.main-content__load-more').hide();\r\n }\r\n\r\n if (WA.ObjectListInit.state() === 'resolved' && !!WA.CR.objectList && WA.CR.objectList.isAllItemsSelected()) { \r\n let isUnselected = (jItem) => { \r\n return unselectedLinks.some((unselectedLink) => {\r\n let sameId = +unselectedLink.id === +jItem.attr('id');\r\n let sameKind = unselectedLink.kind.toLowerCase() === jItem.attr('kind').toLowerCase();\r\n return sameId && sameKind;\r\n });\r\n }\r\n \r\n // ΠžΡ‚ΠΌΠ΅Ρ‡Π°Π΅ΠΌ ΠΊΠ°ΠΊ Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ вновь Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹Π΅ строки\r\n objs.not('.selected').each((index, item) => { \r\n let jItem = $(item);\r\n if (!unselectedLinks.length || !isUnselected(jItem)) { \r\n let jcheckBox = jItem.find('input') \r\n WA.CR.objectList.toggleItem(jcheckBox, jItem, true); \r\n } \r\n });\r\n }\r\n\r\n UpdateRowsCount();\r\n Core.pages.explorer.updateOrApplyGridOptions(folderId);\r\n\r\n /**\r\n * Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠ° Π½Π° iPad ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΠ»Π° Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π° списка\r\n * @see Π—Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅ 78037\r\n */\r\n if ($.scrollActive && window.mainScroll) {\r\n mainScroll.refresh();\r\n }\r\n\r\n //Обновим ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ клиСнтской ОМ\r\n if (WA.ObjectListInit.state() === 'resolved' && !!WA.CR.objectList) {\r\n WA.CR.objectList.fire('itemsChange');\r\n }\r\n }, 0);\r\n }\r\n }).fail(() => {\r\n removeSpinningThingy();\r\n });\r\n }\r\n\r\n $('.object_contents.auto_load').each(function () {\r\n var $this = $(this);\r\n $this.data('AutoLoad', function () {\r\n $.when(WA.ObjectListInit).done(function () {\r\n AutoLoad($this);\r\n });\r\n });\r\n BindOnScroll($this);\r\n });\r\n}\r\n\r\nfunction ExplorerInitialScroll(initialItemsCount, itemsOnPage) {\r\n var obj = $('.object_contents.auto_load');\r\n if (obj.length) {\r\n var nextPage = (itemsOnPage === 0) ? 1 : Math.ceil(initialItemsCount / itemsOnPage) + 1;\r\n obj.data('nextPage', nextPage);\r\n var initScroll = parseInt($.cookie('load_scroll'), 10);\r\n if (initScroll) {\r\n setTimeout(function () {\r\n obj.parents('#main_container').scrollTop(initScroll);\r\n }, 0);\r\n }\r\n }\r\n}\r\n\r\nfunction enableButtonAddInListRequisite(idListReq, data) {\r\n if (data != null) {\r\n if (data.length != 0) {\r\n $('#' + idListReq).find('button').removeClass('disabled').removeAttr('disabled');\r\n }\r\n } else {\r\n $('#' + idListReq).find('button').addClass('disabled').attr('disabled', 'diasabled');\r\n }\r\n}\r\n// Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ для Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° \"Бписок ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²\".\r\nvar ListRequisite;\r\n(function () {\r\n\r\n // Кэш ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ListRequisiteClass.\r\n var controls = {};\r\n\r\n // Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ListRequisite.\r\n // string id: ClientID ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°\r\n ListRequisite = function (id) {\r\n if (!id) {\r\n return {};\r\n } else if (id === 'ctl00_MainContent_Attachments_AttachmentsList' || id === 'Attachments_AttachmentsList_list') {\r\n // Π³Π΄Π΅-Ρ‚ΠΎ остался старый id ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°, соСдиним ΠΈΡ…\r\n id = 'Attachments_AttachmentsList';\r\n }\r\n\r\n if (!controls.hasOwnProperty(id)) {\r\n controls[id] = new ListRequisiteClass(id);\r\n if (!controls[id].elem) {\r\n controls[id].elem = $(`#${id}`);\r\n }\r\n }\r\n\r\n const list = controls[id];\r\n if (list.elem && !list.elem.length) {\r\n list.elem = $(list.elem.selector);\r\n }\r\n return list;\r\n };\r\n\r\n // Класс для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ListRequisite.\r\n function ListRequisiteClass(id) {\r\n this.id = id;\r\n }\r\n\r\n ListRequisiteClass.prototype = {\r\n\r\n AjaxInProcess: false,\r\n\r\n // Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.\r\n // string param.ContentKind: Ρ‚ΠΈΠΏ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² спискС\r\n // bool param.ReadOnly: Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для чтСния\r\n // string param.RefCode: ΠΊΠΎΠ΄ справочника\r\n // bool param.IsList: Ссли true, Ρ‚ΠΎ это список, ΠΈΠ½Π°Ρ‡Π΅ это 1 ΠΎΠ±ΡŠΠ΅ΠΊΡ‚\r\n // array param.Values: массив ссылок Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹\r\n Init: function (param) {\r\n var me = this;\r\n $.extend(me, param);\r\n me.elem = $('#' + me.id);\r\n me.Values = $.parseJSON(me.Values);\r\n var valJSON = $.toJSON(me.Values);\r\n $('#' + me.id + \"_data\").val(valJSON);\r\n me.AjaxInProcess = false;\r\n if (param.OnLoad) {\r\n var onLoadFunc = new Function(param.OnLoad);\r\n onLoadFunc.call(me);\r\n }\r\n UpdateCopyPasteIcons(me.elem);\r\n },\r\n\r\n Disable: function () {\r\n var me = this;\r\n me.elem.find('.ListRequisiteOuterPanel').addClass('readonly')\r\n .find('.paste_btn, .cut_btn, .delete_btn').hide();\r\n me.elem.find('.ListRequisite__addReferencePanel').hide();\r\n me.ReadOnly = true;\r\n },\r\n\r\n Enable: function () {\r\n var me = this;\r\n me.elem.find('.ListRequisiteOuterPanel').removeClass('readonly')\r\n .find('.paste_btn, .delete_btn').show();\r\n me.elem.find('.ListRequisite__addReferencePanel').show();\r\n me.ReadOnly = false;\r\n },\r\n\r\n /**\r\n * ΠŸΠΎΠ΄ΠΏΠΈΡΡ‹Π²Π°Π΅Ρ‚ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Π΅ ссылки\r\n * @method ListRequisie#SignLinks\r\n * @param callback: функция ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ Π²Ρ‹Π·ΠΎΠ²Π° для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠΉ ссылки.\r\n * @param completeMsg: сообщСниС ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ.\r\n * @since 5.1.0.1505\r\n * @return {ListRequisie}\r\n */\r\n SignLinks: function (callback, completeMsg) {\r\n var me = this;\r\n var links = me.GetSelectedLinks();\r\n if (links.hrefs != '') {\r\n if (WA.agent.checkAvailability()) {\r\n Core.agent.getPlugin('CryptographyPlugin').done(() => {\r\n Core.objectList.signLinks(_.map(links.links, function (link) {\r\n var newLinkWithName = $.extend({}, link);\r\n // GetSelectedLinks Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ссылки, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π² ΠΏΠΎΠ»Π΅ Desc написано Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, Π½ΠΎ для отобраТСния ошибок Π½ΡƒΠΆΠ½ΠΎ свойство name.\r\n newLinkWithName[\"name\"] = newLinkWithName[\"Desc\"];\r\n delete newLinkWithName[\"Desc\"];\r\n return newLinkWithName;\r\n }));\r\n });\r\n }\r\n } else {\r\n (new WA.CMP.NTF.Toast).show(L(\"OBJECTS_NOT_SELECTED\"));\r\n }\r\n return this;\r\n },\r\n\r\n /**\r\n * ΠšΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ ссылки Π² Π±ΡƒΡ„Π΅Ρ€.\r\n *\r\n * @param {function} callback функция ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ Π²Ρ‹Π·ΠΎΠ²Π° для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠΉ ссылки.\r\n * @param {string} completeMsg сообщСниС ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ.\r\n */\r\n CopyLinks: function (callback, completeMsg) {\r\n var me = this;\r\n\r\n setLinksSource(null, null);\r\n\r\n me.ShowSpinner(L(\"COPY_LINKS\"));\r\n\r\n var linkContainer = me.GetSelectedLinks();\r\n if (linkContainer.hrefs != '') {\r\n var linkModels = linkContainer.links;\r\n var apiLinks = convertLinkModelsToAgentLinks(linkModels);\r\n Core.clipboard.copyLinksToClipboard(apiLinks).done(function (copiedLinksCount) {\r\n me.HideSpinner(L(\"COPIED_LINKS\", copiedLinksCount), 2000);\r\n }).fail(function (completeMsg) {\r\n me.HideSpinner(completeMsg, 2000);\r\n });\r\n } else {\r\n me.ShowSpinner(L(\"OBJECTS_NOT_SELECTED\"), 2000);\r\n }\r\n },\r\n\r\n /**\r\n * ВставляСт ссылки Π² список ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² (с ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΎΠΉ соотвСтствия).\r\n *\r\n * @param {function} callback функция ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ Π²Ρ‹Π·ΠΎΠ²Π° для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠΉ ссылки.\r\n * @param {string} completeMsg сообщСниС ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ.\r\n */\r\n PasteLinks: function (callback, completeMsg) {\r\n var me = this;\r\n\r\n if (me.ReadOnly) return;\r\n\r\n if (!me.AjaxInProcess) {\r\n me.AjaxInProcess = true;\r\n setLinksSource(null, null);\r\n me.ShowSpinner(L(\"PASTE_LINKS\"));\r\n if (!me.IsAttachments) {\r\n WebAccess.agent.isPluginAvailable(\"Clipboard\").always(function (isAvailableResponse) {\r\n // HACK: АгСнт Π½Π΅Π°Π΄Π΅ΠΊΠ²Π°Ρ‚Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ Π² IE. ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ всС вставки ссылок Π±ΡƒΠ΄ΡƒΡ‚ ΠΈΠ΄Ρ‚ΠΈ Ρ‡Π΅Ρ€Π΅Π· Session.asmx.\r\n if ((isAvailableResponse) && (WA.ENV.browser.name != \"IE\")) {\r\n Core.clipboard.getLinksFromClipboard().done(function (links) {\r\n me.AddLinks(links, me, callback, completeMsg);\r\n me.AjaxInProcess = false;\r\n });\r\n } else {\r\n CallService(\"/Session.asmx/GetLinksFromBuffer\",\r\n null,\r\n function (res) {\r\n if (res.Success) {\r\n var links = res.Result;\r\n me.AddLinks(links, me, callback, completeMsg);\r\n } else {\r\n me.HideSpinner(res.Error, 5000);\r\n }\r\n me.AjaxInProcess = false;\r\n },\r\n function () {\r\n me.AjaxInProcess = false;\r\n });\r\n }\r\n }\r\n );\r\n } else {\r\n var oldCount = me.Values.length;\r\n var svcParams = {\r\n ClientID: me.id + \"_list\",\r\n CustomWorkID: me.CustomWorkID,\r\n CustomWorkType: me.CustomWorkType\r\n };\r\n\r\n var callServiceToPaste = function (svcMethodName, svcParams) {\r\n me.CallMyService(svcMethodName,\r\n svcParams,\r\n function (res) {\r\n me.RenderList(res);\r\n\r\n var newCount = me.Values.length;\r\n var pasteCount = newCount - oldCount;\r\n if (pasteCount > 0) {\r\n //Обновим ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ клиСнтской ОМ\r\n if (WA.ObjectListInit.state() === 'resolved' && !!WA.CR.objectList) {\r\n WA.CR.objectList.fire('itemsChange');\r\n }\r\n me.elem.trigger('change', me.Values);\r\n if (completeMsg === \"\" || !(completeMsg))\r\n me.HideSpinner(L(\"PASTED_LINKS\", pasteCount), 2000);\r\n else\r\n me.HideSpinner(completeMsg, 2000);\r\n EnableOrDisableCheckAll();\r\n } else {\r\n me.HideSpinner(L(\"NOT_LINKS_TO_PASTE\"), 2000);\r\n }\r\n if (callback) callback(res);\r\n me.AjaxInProcess = false;\r\n },\r\n function (x, e1, e2) {\r\n me.AjaxInProcess = false;\r\n });\r\n };\r\n\r\n WebAccess.agent.isPluginAvailable(\"Clipboard\").always(function (isAvailableResponse) {\r\n if (isAvailableResponse) {\r\n Core.clipboard.getLinksFromClipboard()\r\n .done(function (links) {\r\n $.extend(svcParams, { Links: links });\r\n callServiceToPaste(\"PasteLinks\", svcParams);\r\n }).fail(function () {\r\n callServiceToPaste(\"PasteAttachments\", svcParams);\r\n });\r\n } else {\r\n callServiceToPaste(\"PasteAttachments\", svcParams);\r\n }\r\n });\r\n }\r\n }\r\n },\r\n\r\n // ДобавляСт ссылки Π² список.\r\n // @param callback: функция ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ Π²Ρ‹Π·ΠΎΠ²Π° для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠΉ ссылки.\r\n // @param completeMsg: сообщСниС ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ.\r\n AddLinks: function (links, me, callback, completeMsg) {\r\n var me = this;\r\n if (me.ReadOnly) return;\r\n\r\n var counter = 0;\r\n if (links) {\r\n $.each(links, function () {\r\n //ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅ΠΌ Π½Π° соотвСтствиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° списку\r\n if (me.CheckObject(this)) {\r\n //ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅ΠΌ вставился Π»ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π² список\r\n if ((!callback) || (callback(this))) {\r\n me.AddObject(this);\r\n counter += 1;\r\n return me.IsList;\r\n }\r\n }\r\n });\r\n }\r\n if (counter > 0) {\r\n me.UpdateList(function () {\r\n if (completeMsg === \"\")\r\n me.HideSpinner(L(\"PASTED_LINKS\", counter), 2000);\r\n else\r\n me.HideSpinner(completeMsg, 2000);\r\n });\r\n } else {\r\n me.HideSpinner(L(\"NOT_LINKS_TO_PASTE\"), 2000);\r\n }\r\n },\r\n\r\n // УдаляСт Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ ссылки ΠΈΠ· списка ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².\r\n // @param callback: функция ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ Π²Ρ‹Π·ΠΎΠ²Π° для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½ΠΎΠΉ ссылки.\r\n // @param completeMsg: сообщСниС ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ.\r\n DeleteLinks: function (links, callback, completeMsg) {\r\n var me = this;\r\n if (me.ReadOnly) return;\r\n\r\n var me = this;\r\n if (!me.AjaxInProcess) {\r\n if (!links) {\r\n var sel = me.GetSelectedLinks();\r\n if (sel.cannotDelete)\r\n return;\r\n links = sel.links;\r\n }\r\n var oldCount = me.Values.length;\r\n if ((links) && (links.length > 0)) {\r\n ConfirmDelete(links.length, me.IsAttachments ? (links.length > 1 ? L(\"CONFIRM_DELETE_ATTACHMENTS\", links.length) : L(\"CONFIRM_DELETE_ATTACHMENT\")) : null).done(function () {\r\n\r\n me.AjaxInProcess = true;\r\n if (!me.IsAttachments) {\r\n var ids = $.map(links, function (link) { return parseInt(link.ID, 10) });\r\n me.Values = $.grep(me.Values, function (v) { return $.inArray(v.ID, ids) == -1; });\r\n var newCount = me.Values.length;\r\n var delCount = oldCount - newCount;\r\n if (delCount > 0) {\r\n me.ShowSpinner(L(\"DELETE_LINKS\"));\r\n me.UpdateList(function () {\r\n if (completeMsg === \"\")\r\n me.HideSpinner(L(\"DELETED_LINKS\", delCount), 2000);\r\n else\r\n me.HideSpinner(completeMsg, 2000);\r\n me.AjaxInProcess = false;\r\n });\r\n if (callback) $.each(links, function (index, link) { callback(link); });\r\n }\r\n } else {\r\n me.ShowSpinner(L(\"DELETE_LINKS\"));\r\n\r\n WA.SRV.call('/ListRequisite.asmx/DeleteAttachments', {\r\n ClientID: me.id + \"_list\",\r\n CustomWorkID: me.CustomWorkID,\r\n CustomWorkType: me.CustomWorkType,\r\n ValuesJSON: $.toJSON(links)\r\n }, null, null, true, true).done(function (res, obj) {\r\n me.RenderList(res);\r\n var newCount = me.Values.length;\r\n var delCount = oldCount - newCount;\r\n if (completeMsg === \"\")\r\n me.HideSpinner(L(\"DELETED_LINKS\", delCount), 2000);\r\n else\r\n me.HideSpinner(completeMsg, 2000);\r\n EnableOrDisableCheckAll();\r\n me.AjaxInProcess = false;\r\n //ΠžΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ сообщСниС\r\n if (obj.Warning) {\r\n var errorStr = JSON.parse(obj.Warning);\r\n if (errorStr.mainText) {\r\n var dialog = new WA.CMP.dialogs.MessageBox({ width: 600 });\r\n dialog.showWarning(errorStr.mainText, errorStr.additionalText.replace('\\n', '

'));\r\n }\r\n }\r\n }).fail(function (e) {\r\n me.AjaxInProcess = false;\r\n //ΠžΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ сообщСниС\r\n var dialog = new WA.CMP.dialogs.MessageBox({ width: 600 });\r\n dialog.showError(e);\r\n });\r\n }\r\n\r\n });\r\n } else {\r\n //me.ShowSpinner(L(\"OBJECTS_NOT_SELECTED\"), 2000);\r\n }\r\n }\r\n },\r\n\r\n DeleteLink: function (obj, callback, msg) {\r\n var me = this;\r\n if (me.ReadOnly) return;\r\n\r\n this.DeleteLinks([{ ID: obj.id, Kind: obj.kind, CompCode: obj.refcode || '' }], callback, msg);\r\n },\r\n\r\n // УдаляСт всС ссылки ΠΈΠ· списка ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².\r\n Clear: function (callback) {\r\n var me = this;\r\n if (me.ReadOnly) return;\r\n\r\n var me = this;\r\n if (!me.AjaxInProcess) {\r\n me.AjaxInProcess = true;\r\n\r\n if (callback) {\r\n $.each(me.Values, function () { callback(this); });\r\n }\r\n\r\n me.Values = [];\r\n me.UpdateList(function () {\r\n me.AjaxInProcess = false;\r\n });\r\n }\r\n },\r\n\r\n // ДобавляСт Π²Ρ‹Π±Ρ€Π°Π½Π½ΡƒΡŽ запись справочника.\r\n // string input_id: ID контроля Π²Ρ‹Π±ΠΎΡ€ ΠΈΠ· справочника.\r\n AddRefRec: function (input_id) {\r\n var me = this;\r\n if (me.ReadOnly) return;\r\n\r\n var add_id;\r\n try {\r\n add_id = parseInt($(\"#hSelID_\" + input_id).val(), 10);\r\n } catch (e) {\r\n add_id = 0;\r\n }\r\n if (add_id) {\r\n var req = $(\"#\" + input_id).data();\r\n req.ReferenceSelectInstance.setValue();\r\n\r\n // Lysenko_YN: EnableSameRecords - Ссли установлСно Π² false, Ρ‚ΠΎ ΠΎΠ΄Π½Ρƒ ΠΈ Ρ‚ΡƒΠΆΠ΅ запись Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ нСсколько Ρ€Π°Π· нСльзя\r\n if ((me.EnableSameRecords === false) || (me.elem && (me.elem.attr('data-enableSameRecords') == 'false'))) {\r\n if ($.grep(me.Values, function (v) { return v.ID == add_id }).length == 0) {\r\n me.AddRefRecToList(add_id);\r\n }\r\n } else { //Π¨Π°ΠΌΠΎΠ² А.: По ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΡŽ 75532 - Ρ‡Ρ‚ΠΎ Π±Ρ‹ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π΄Π°Π±Π°Π²Π»ΡΡ‚ΡŒ ΠΎΠ΄Π½Ρƒ ΠΈ Ρ‚ΡƒΠΆΠ΅ запись справочника нСсколько Ρ€Π°Π·.\r\n me.AddRefRecToList(add_id);\r\n }\r\n }\r\n },\r\n\r\n //ДобавляСт запись Π² список\r\n AddRefRecToList: function (add_id) {\r\n var me = this;\r\n if (me.ReadOnly) return;\r\n\r\n var newObj = { ID: add_id, Kind: \"REF\", CompCode: me.RefCode };\r\n if (me.IsList) {\r\n me.Values.push(newObj);\r\n } else {\r\n me.Values = [newObj];\r\n };\r\n me.ShowSpinner(L(\"PLEASE_WAIT\"));\r\n me.UpdateList(function () {\r\n me.HideSpinner(\"\", 0);\r\n });\r\n },\r\n\r\n\r\n InitAttachments: function (CustomWorkID, CustomWorkType) {\r\n this.IsAttachments = true;\r\n this.CustomWorkID = CustomWorkID;\r\n this.CustomWorkType = CustomWorkType;\r\n var att = this.elem.parents('.attachments');\r\n var cont = att.parents('.attachments_container');\r\n\r\n var me = this;\r\n me.elem.find('div.ListRequisiteList')\r\n .attr('kind', 'att')\r\n .bind('contextmenu', function (e) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n ShowContextMenu($(this), {}, { 'left': e.pageX, 'top': e.pageY }, true);\r\n return false;\r\n });\r\n },\r\n\r\n SetCannotDelete: function (ids) {\r\n var me = this;\r\n $.each(ids, function () {\r\n var row = $('#' + this + '.folder_item:not(.cannot_delete)', me.elem);\r\n if (row.length)\r\n row.addClass('cannot_delete');\r\n });\r\n },\r\n\r\n //////////////// PRIVATE /////////////////////////////\r\n\r\n // Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ список Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².\r\n // return object:\r\n // string .hrefs: ссылки Π² тСкстовом Π²ΠΈΠ΄Π΅ для вставки Π² Π±ΡƒΡ„Π΅Ρ€.\r\n // array .links: массив ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² для ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡ΠΈ сСрвису.\r\n GetSelectedLinks: function () {\r\n if (!this.IsList)\r\n return GetSelectedID(this.elem.find('.folder_item'));\r\n else {\r\n var items = this.elem.find('.folder_item.selected');\r\n var res = GetSelectedID(items);\r\n if (items.filter('.cannot_delete').length) {\r\n res.cannotDelete = true;\r\n }\r\n return res;\r\n }\r\n },\r\n\r\n\r\n GetLinks: function () {\r\n if (!this.IsList)\r\n return GetSelectedID(this.elem.find('.folder_item'));\r\n else {\r\n var items = this.elem.find('.folder_item');\r\n var res = GetSelectedID(items);\r\n if (items.filter('.cannot_delete').length) {\r\n res.cannotDelete = true;\r\n }\r\n return res;\r\n }\r\n },\r\n\r\n // ΠŸΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ΅ сообщСниС.\r\n // string msg: сообщСниС\r\n // [int delay]: Ссли ΡƒΠΊΠ°Π·Π°Π½ΠΎ, Ρ‚ΠΎ сообщСниС ΠΏΡ€ΠΎΠΏΠ°Π΄Π΅Ρ‚ Ρ‡Π΅Ρ€Π΅Π· delay миллисСкунд\r\n ShowSpinner: function (msg, delay) {\r\n if (delay) {\r\n ShowTopSpinnerResult(msg, delay);\r\n } else {\r\n ShowTopSpinner(msg);\r\n }\r\n },\r\n\r\n // ΠŸΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ΅ сообщСниС ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠΈ дСйствия. Если Π΄ΠΎ этого панСль спиннСра Π±Ρ‹Π»Π° спрятана, Π½ΡƒΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ShowSpinner.\r\n // string msg: сообщСниС\r\n // int delay: Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠ° Π² миллисСкундах\r\n HideSpinner: function (msg, delay) {\r\n HideTopSpinner(msg, delay);\r\n },\r\n\r\n // ΠžΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ‚ список ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² с сСрвСра. Π’Π°ΠΊΠΆΠ΅ сохраняСт Values Π² скрытоС ΠΏΠΎΠ»Π΅.\r\n // [function callback()]: вызываСтся послС обновлСния списка\r\n UpdateList: function (callback) {\r\n var me = this;\r\n\r\n var valJSON = $.toJSON(me.Values);\r\n $('#' + me.id + \"_data\").val(valJSON);\r\n me.CallMyService(\"UpdateList\", {\r\n ClientID: me.id + \"_list\",\r\n ContentKind: me.ContentKind,\r\n RefCode: me.RefCode,\r\n IsList: me.IsList,\r\n ShowScrollBar: me.ShowScrollBar,\r\n Values: valJSON,\r\n EmptyText: me.EmptyText || '',\r\n IsShowActions: me.IsShowActions\r\n }, function (res) {\r\n me.RenderList(res);\r\n if (typeof callback !== \"undefined\")\r\n callback.call(me);\r\n });\r\n EnableOrDisableCheckAll();\r\n },\r\n\r\n RenderList: function (res) {\r\n var me = this;\r\n if (res.NewValues != null) {\r\n\r\n me.Values = $.parseJSON(res.NewValues);\r\n $('#' + me.id + \"_data\").val(res.NewValues);\r\n }\r\n var listContainer = $('#' + me.id + '_list');\r\n listContainer.empty();\r\n if (me.ShowScrollBar && me.Values.length > 3) {\r\n listContainer.addClass('ListRequisiteScroller');\r\n } else {\r\n listContainer.removeClass('ListRequisiteScroller');\r\n }\r\n if (res.HTML) listContainer.html(res.HTML);\r\n if (res.InitJS) eval(res.InitJS);\r\n $('#' + me.id + \"_chkAll\").removeAttr('checked').attr('title', L('SELECT_ALL'));\r\n try { // Волько для мастСров!\r\n ProcessEmptyChecks();\r\n } catch (e) { }\r\n UpdateCopyPasteIcons(this.elem);\r\n me.elem.trigger('change');\r\n },\r\n\r\n // Π’Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ сСрвиса ListRequisite.\r\n // string method: ΠΌΠ΅Ρ‚ΠΎΠ΄\r\n // [object params]: ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹\r\n // [function callback(res)]: функция, вызываСмая ΠΏΡ€ΠΈ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ (result.Success == true)\r\n // object res: Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ (result.Result)\r\n CallMyService: function (method, params, callback, errorCallback) {\r\n var me = this;\r\n CallService(\"/ListRequisite.asmx/\" + method, params, function (res) {\r\n if (res.Success) {\r\n if (typeof callback !== \"undefined\")\r\n callback.call(me, res.Result);\r\n }\r\n else {\r\n me.ShowSpinner(\"Π’ΠΎ врСмя ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»Π° ошибка. ΠžΠ±Ρ€Π°Ρ‚ΠΈΡ‚Π΅ΡΡŒ ΠΊ администратору.\", 5000);\r\n }\r\n }, errorCallback);\r\n },\r\n\r\n // ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π½Π° соотвСтстиС списку.\r\n // object obj: ΠΎΠ±ΡŠΠ΅ΠΊΡ‚\r\n // int obj.ID: Π˜Π” ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°\r\n // string obj.Kind: Ρ‚ΠΈΠΏ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°\r\n // string obj.CompCode: ΠΊΠΎΠ΄ справочника\r\n // return bool: соотвСтствуСт Π»ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ списку\r\n CheckObject: function (obj) {\r\n obj.Kind = obj.Kind.toUpperCase();\r\n if (this.ContentKind != \"ANY\" &&\r\n (obj.Kind != this.ContentKind ||\r\n obj.Kind == \"REF\" && obj.CompCode != this.RefCode)) {\r\n return false;\r\n }\r\n return ($.grep(this.Values, function (v) { return v.ID == obj.ID; }).length == 0);\r\n },\r\n\r\n // ДобавляСт ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π² список.\r\n // object obj: ΠΎΠ±ΡŠΠ΅ΠΊΡ‚\r\n // int obj.ID: Π˜Π” ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°\r\n // string obj.Kind: Ρ‚ΠΈΠΏ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°\r\n // string obj.CompCode: ΠΊΠΎΠ΄ справочника\r\n AddObject: function (obj) {\r\n obj.Kind = obj.Kind.toUpperCase();\r\n var newObj = { ID: obj.ID, Kind: obj.Kind.toUpperCase(), CompCode: obj.CompCode };\r\n if (this.IsList) {\r\n this.Values.push(newObj);\r\n } else {\r\n this.Values = [newObj];\r\n }\r\n }\r\n };\r\n\r\n})();\r\n\r\n// Бписок Π²Π°Π»ΠΈΠ΄Π°Ρ‚ΠΎΡ€ΠΎΠ².\r\nvar g_EmptyCheckFunc = [];\r\n\r\n// ДобавляСт Π²Π°Π»ΠΈΠ΄Π°Ρ‚ΠΎΡ€ для контроля.\r\n// [jQuerySet control]: ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ, Π½Π° события ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π²Π΅ΡˆΠ°Π΅Ρ‚ΡΡ опСрация ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ валидности.\r\n// function func(): функция-Π²Π°Π»ΠΈΠ΄Π°Ρ‚ΠΎΡ€.\r\nfunction RegisterEmptyCheck(control, func) {\r\n g_EmptyCheckFunc.push(func);\r\n if (control) {\r\n var events = ['blur', 'click', 'change', 'keyup'];\r\n for (var i = 0; i < events.length; ++i) {\r\n try {\r\n control[events[i]](ProcessEmptyChecks);\r\n }\r\n catch (e) { }\r\n }\r\n }\r\n}\r\n\r\n// ВыполняСт Π²Π°Π»ΠΈΠ΄Π°Ρ†ΠΈΡŽ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅ΠΉ Π½Π° страницС.\r\nfunction ProcessEmptyChecks() {\r\n // ΠŸΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ ΠΈΠ· справочника значСния Π΅Ρ‰Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ Π±Ρ‹Ρ‚ΡŒ. НапримСр, Ρ‚Π°ΠΊΠΎΠ΅ Π±Ρ‹Π²Π°Π΅Ρ‚ Ссли Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΡˆΡŒ ΠΈΠ· \"Π˜Π·Π±Ρ€Π°Π½Π½Ρ‹Ρ… ΠΈ послСдних\" Π² Π²Ρ‹Π±ΠΎΡ€Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ. #107229\r\n setTimeout(function () {\r\n var ok = true;\r\n for (var i = 0; i < g_EmptyCheckFunc.length; ++i) {\r\n if (!g_EmptyCheckFunc[i]()) {\r\n ok = false;\r\n break;\r\n }\r\n }\r\n $('.next_button').each(function () {\r\n var init;\r\n var disabled;\r\n init = $(this).data('initial_disabled');\r\n if (!init) {\r\n init = ($(this).attr('disabled') || $(this).attr('disabled') === \"\") ? \"y\" : \"n\";\r\n $(this).data('initial_disabled', init);\r\n }\r\n\r\n disabled = (ok ? (init == \"y\") : true);\r\n if (disabled) {\r\n $(this).attr('disabled', 'disabled').addClass(\"disabled\");\r\n } else {\r\n $(this).removeAttr('disabled').removeClass(\"disabled\");\r\n }\r\n });\r\n }, 100);\r\n}\r\n\r\n/* =================================================================================================================================================== */\r\n/* =================================================================================================================================================== */\r\n\r\n\r\n/* = ΠšΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠ° справочника ============================================================================================================================ */\r\n\r\nfunction scrollbarWidth() {\r\n var div = $('
');\r\n // Append our div, do our calculation and then remove it\r\n $('body:first').append(div);\r\n var w1 = $('div', div).innerWidth();\r\n div.css('overflow-y', 'scroll');\r\n var w2 = $('div', div).innerWidth();\r\n $(div).remove();\r\n return (w1 - w2);\r\n}\r\n\r\nfunction Reference_SelectRecord(el) {\r\n var chk = $(el);\r\n var tr = chk.parents('.List:first');\r\n if (chk.is(':checked')) {\r\n tr.addClass('selected');\r\n } else {\r\n tr.removeClass('selected');\r\n }\r\n updateChkAll(tr.parent(), $('#chkAll').addClass('notallyet'));\r\n UpdateCopyPasteIcons();\r\n}\r\n\r\n/* =================================================================================================================================================== */\r\n/* =================================================================================================================================================== */\r\n\r\n/////////////////////////////////////////////////////////////////////////////////////////////////////////////////\r\n// Поля поиска\r\n/////////////////////////////////////////////////////////////////////////////////////////////////////////////////\r\nfunction InitSearchField() {\r\n $('.explorer-search-input').focus(function () {\r\n var me = $(this);\r\n if (!me.hasClass('Search_FilledField')) {\r\n // Π‘Ρ‚ΠΈΡ€Π°Π΅ΠΌ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ тСкст, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли это ΠΎΠ±Ρ‰ΠΈΠΉ поиск.\r\n if (me.attr(\"id\") == \"SrchQuickText\")\r\n me.val('');\r\n me.addClass('Search_FilledField');\r\n }\r\n })\r\n .blur(function () {\r\n var me = $(this);\r\n if (me.val() == '') {\r\n me.val(me.data('empty'));\r\n me.removeClass('Search_FilledField');\r\n }\r\n }).each(function () {\r\n var me = $(this);\r\n if (me.data('empty') && (me.val() == '' || me.val() == me.data('empty')))\r\n me.val(me.data('empty'));\r\n else\r\n me.addClass('Search_FilledField');\r\n });\r\n}\r\n\r\n//////////////////// ΠšΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° \"список вСрсий\" /////////////////////////////////////////\r\n\r\n// Π“Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡŽΡ‰ΡƒΡŽ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ с сСрвСра списка вСрсий.\r\n// controlID - id контроля списка\r\n// EDocID - id Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°\r\n// ErrorClientID - id контроля Error\r\nfunction GenReloadVersionList(controlID, EDocID, ErrorClientID) {\r\n return function () {\r\n $.ajax({\r\n type: \"GET\",\r\n dataType: \"html\",\r\n url: format(\"DynControl.ashx?c=versions&EDocID={0}&ErrorClientID={1}\", EDocID, ErrorClientID),\r\n success: function (res) {\r\n if (!CheckForLoginPage(res)) {\r\n $('#' + controlID).html(res);\r\n HideTopSpinner();\r\n }\r\n },\r\n error: function (err) {\r\n HideTopSpinner(err, 5000);\r\n },\r\n cache: false\r\n });\r\n };\r\n}\r\n\r\n// ΠŸΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π΄Π΅Ρ€Π΅Π²ΠΎ \"Папки\" Π² Π»Π΅Π²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ.\r\nfunction ShowFolderTree(el) {\r\n ClearSelectedElements(el);\r\n SetElementToolBar(el);\r\n $('#Tree').show().find(\".FolderTreeDiv\").show();\r\n if (window.UpdateFolderTreeScroll) UpdateFolderTreeScroll();\r\n}\r\n\r\n//ΠžΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅Ρ‚, являСтся Π»ΠΈ ΠΏΠ°ΠΏΠΊΠ° targetFolder Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠΉ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ sourceFolder (targetFolder ΠΈ sourceFolder = fpath ΠΈΠ· url = id li)\r\nfunction isChildFolder(sourceFolderPath, targetFolderPath, currentFolderPath) {\r\n /*\r\n tp = \"1-2-3-4-5-\";\r\n sp = \"1-2-\";\r\n tp.split(sp).indexOf(\"\") == 0; => isChildFolder\r\n */\r\n var arr = targetFolderPath.split(sourceFolderPath);\r\n return (arr.length > 1 && arr.indexOf(\"\") == 1 && currentFolderPath != sourceFolderPath);\r\n}\r\n\r\n// опрСдСляСт, Ρ‡Ρ‚ΠΎ dragEl - корнСвая ΠΏΠ°ΠΏΠΊΠ° (Favorites, Outbox, Inbox, Common)\r\nfunction isRootFolder(dragEl) {\r\n return ($(dragEl).parent().parent().parent(\"ul.treeview\").length == 1);\r\n}\r\n\r\n// Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ мСню ΠΏΠΎ ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠ΅ Π² ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π΅ для построСния связанных Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ²/записСй справочника.\r\nfunction InitContextMenuForBound(trs) {\r\n if (!trs) trs = $('.List');\r\n trs\r\n .unbind('contextmenu.bound').bind('contextmenu.bound', function (e) {\r\n ShowContextMenu($(this).children(), {}, { 'left': e.pageX, 'top': e.pageY });\r\n return false;\r\n });\r\n}\r\n\r\n// Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ Ρ‚ΠΈΠΏΠ° \"Ρ„Π»Π°ΠΆΠΎΠΊ\".\r\nfunction InitCheckboxRequisite(el) {\r\n //setTimeout(function () {\r\n var displayControl = $(format('#{0}_display', el.attr('id')), el);\r\n var valueControl = $(format('#{0}_value', el.attr('id')), el);\r\n el.data('requisite').val = function (value) {\r\n if (typeof value !== 'undefined') {\r\n displayControl.prop('checked', value == el.data('requisite').yes);\r\n valueControl.val(value);\r\n } else {\r\n return valueControl.val();\r\n }\r\n };\r\n displayControl.bind('click change', function () {\r\n if (displayControl.is(':checked')) {\r\n valueControl.val(el.data('requisite').yes);\r\n } else {\r\n valueControl.val(el.data('requisite').no);\r\n }\r\n });\r\n //}, 0);\r\n}\r\n\r\nfunction getHintDataObj(el) {\r\n return (typeof el.data(\"data-hint\") == 'undefined' ? eval(\"(\" + el.attr(\"data-hint\") + \")\") : el.data(\"data-hint\")); //FIXME: eval\r\n}\r\n\r\n\r\nlet g_addinfo = [];\r\n/**\r\n* ΠΠ°Π²Π΅ΡˆΠΈΠ²Π°Π΅Ρ‚ подсказку ΠΏΠΎ Π΄ΠΎΠΏ. Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°ΠΌ Π½Π° элСмСнт.\r\n*\r\n* @function AttachTooltipToElement\r\n* @param {Object} el - Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ элСмСнт.\r\n* @param {Object} ev - событиС.\r\n* @param {boolean} [opt_showAfterAttach = true] - ΠΏΡ€ΠΈΠ·Π½Π°ΠΊ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒΠ»ΠΈ послС привязки.\r\n* @param {Object} [opt_showOptions = {}] - ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΏΠΎΠΊΠ°Π·Π°.\r\n* @param {Object} [opt_positionOptions = {}] - позиция.\r\n*/\r\nfunction AttachTooltipToElement(el, ev, opt_showAfterAttach = true, opt_showOptions = {}, opt_positionOptions = {}) {\r\n // ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ содСрТимого подсказки.\r\n const getContent = function (el, callback) {\r\n const dataobject = getHintDataObj(el); //Π΅ΡΡ‚ΡŒ Π΄Π²Π° поля: id ΠΈ compcode\r\n if (dataobject.id && dataobject.compcode) {\r\n const params = {\r\n RefCode: dataobject.compcode,\r\n RecID: dataobject.id,\r\n };\r\n CallService('/Reference.asmx/GetAdditionalInfoForAllRecords', params, res => {\r\n if (res.Success) {\r\n el.qtip(\"enable\");\r\n el.qtip.zindex = 130000;\r\n\r\n const uniqueIndex = `${dataobject.compcode}_${dataobject.id}`;\r\n g_addinfo[uniqueIndex] = res.Result;\r\n\r\n if (res.Result[0].Requisites.length) {\r\n GenerateAdditionalInfoTooltipHtml(res.Result[0], 0, res.Result.length).done((html) => {\r\n if (html) {\r\n if (callback) callback(html);\r\n } else {\r\n el.qtip(\"disable\");\r\n }\r\n });\r\n }\r\n } else {\r\n el.qtip(\"disable\");\r\n }\r\n });\r\n }\r\n };\r\n\r\n // Если ΡƒΠΆΠ΅ навСсили подсказку, большС этого Π½Π΅ Π΄Π΅Π»Π°Π΅ΠΌ.\r\n if (!el.hasClass('hintInit')) {\r\n getContent(el, function (hintContent) {\r\n hintContent = $(hintContent);\r\n // Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ ΠΏΠΎ крСстику для закрытия Ρ…ΠΈΠ½Ρ‚Π°.\r\n hintContent.find('i').bind('click.hint', function () {\r\n el.qtip('hide', ev);\r\n });\r\n el.addClass('hintInit').qtip('destroy').qtip({\r\n style: { classes: \"ui-tooltip-light ui-tooltip-shadow ui-tooltip-rounded\" },\r\n show: $.extend({\r\n effect: false,\r\n solo: true,\r\n delay: 800,\r\n }, opt_showOptions),\r\n content: { text: hintContent },\r\n hide: {\r\n effect: false,\r\n fixed: true, \r\n delay: 100,\r\n leave: false,\r\n },\r\n position: $.extend({\r\n viewport: $(window),\r\n effect: false,\r\n target: 'mouse',\r\n adjust: {\r\n mouse: false,\r\n x: 15,\r\n y: 0,\r\n },\r\n my: 'bottom left',\r\n at: 'bottom left',\r\n }, opt_positionOptions),\r\n events: {\r\n show: function (event, api) {\r\n if (!el.is(':visible')) {\r\n event.preventDefault();\r\n }\r\n }\r\n }\r\n });\r\n if (opt_showAfterAttach) el.qtip('show', ev);\r\n });\r\n }\r\n};\r\n\r\nlet hintTimeout;\r\n/**\r\n* Ѐункция для ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ подсказок ΠΏΠΎ Π΄ΠΎΠΏΡ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°ΠΌ.\r\n*\r\n* @function InitAdditionalInfoTooltip\r\n* @param {Object} el - Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ элСмСнт.\r\n* @param {number} [opt_position] - позиция.\r\n*/\r\nfunction InitAdditionalInfoTooltip(el, opt_position) {\r\n const me = el;\r\n if (!$.ipad) {\r\n me.unbind('mouseenter.hint').bind('mouseenter.hint', function (ev) {\r\n var $this = $(this);\r\n if (hintTimeout) clearTimeout(hintTimeout);\r\n hintTimeout = setTimeout(function () {\r\n AttachTooltipToElement($this, ev, true, undefined, opt_position);\r\n }, 800);\r\n }).unbind('mouseleave.hint').bind('mouseleave.hint', function () {\r\n if (hintTimeout) clearTimeout(hintTimeout);\r\n });\r\n }\r\n}\r\n\r\n/**\r\n* Π“Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ подсказку ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ систСмы.\r\n*\r\n* @function GenerateAdditionalInfoTooltipHtml\r\n* @param hint - информация для подсказки.\r\n* @param page - Π½ΠΎΠΌΠ΅Ρ€ страницы Π² подсказкС.\r\n* @param pagesCount - всСго страниц.\r\n* @return html шаблон подсказки.\r\n*/\r\nfunction GenerateAdditionalInfoTooltipHtml(hint, page, pagesCount) {\r\n let reqs = [];\r\n let btnPrevClass = '';\r\n let btnNextClass = ''; \r\n for (let i = 0; i < hint.Requisites.length; i++) { \r\n reqs.push({\r\n Class: (i === 0 ? 'first' : ''),\r\n Caption: (hint.Requisites[i].Caption || ''),\r\n Href: hint.Requisites[i].Href,\r\n Text: (hint.Requisites[i].Text? hint.Requisites[i].Text.unescapeHtml(): ''),\r\n HasImage: (hint.Requisites[i].Href !== null),\r\n });\r\n }\r\n\r\n if ((page === 0) && (pagesCount > 1)) {\r\n btnPrevClass = 'disabled';\r\n }\r\n\r\n if (page === pagesCount-1) {\r\n btnNextClass = 'disabled';\r\n }\r\n\r\n const params = WA.TMPL.prepare({\r\n HasImage: !!hint.Image,\r\n ImageSRC: hint.Image,\r\n Style: (hint.Image ? 'style=\"left:120px;\"' : ''),\r\n Requisites: reqs,\r\n PageIndex: page,\r\n ButtonPrevClass: btnPrevClass,\r\n ButtonNextClass: btnNextClass,\r\n HasButtons: (pagesCount > 1),\r\n });\r\n return WA.TMPL.render('referenceRecords/objectTooltip.html', params);\r\n}\r\n\r\n/**\r\n* ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ подсказки Π² ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎΠ± ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅.\r\n*\r\n* @function changeInfo\r\n* @param {Object} btn - тСкущая ΠΊΠ½ΠΎΠΏΠΊΠ°.\r\n* @param {boolean} isPrev - TRUE - Ссли тСкущая ΠΊΠ½ΠΎΠΏΠΊΠ° это ΠΊΠ½ΠΎΠΏΠΊΠ° 'Назад', ΠΈΠ½Π°Ρ‡Π΅ - FALSE.\r\n*/\r\nfunction changeInfo(btn, isPrev) {\r\n const jCurrentButton = $(btn);\r\n if (jCurrentButton.hasClass('disabled')) {\r\n return;\r\n }\r\n\r\n let index = parseInt(jCurrentButton.data('pageindex'));\r\n\r\n if (isPrev) {\r\n index--;\r\n } else {\r\n index++;\r\n }\r\n \r\n const jQtip = jCurrentButton.parents('.qtip');\r\n const currentButtonHintSelector = `[aria-describedby='${jQtip[0].id}']`;\r\n const jCurrentButtonHint = $(currentButtonHintSelector);\r\n let dataobject = getHintDataObj(jCurrentButtonHint);\r\n const uniqueIndex = `${dataobject.compcode}_${dataobject.id}`;\r\n const info = g_addinfo[uniqueIndex];\r\n\r\n GenerateAdditionalInfoTooltipHtml(info[index], index, info.length).done(html => {\r\n if (html) {\r\n //ΠΎΡ‚Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΡ‚ΡŒ\r\n jCurrentButtonHint.qtip('option', 'content.text', html);\r\n }\r\n });\r\n}","/* Π’Ρ‹Π±ΠΎΡ€ ΠΈΠ· справочника */\r\n(function ($) {\r\n $.fn.extend({\r\n ReferenceSelect: function (options, img) {\r\n if (options.multiselect) {\r\n this.data('ReferenceSelectInstance', new Core.requisites.ReferenceMultiSelect(this, options, img));\r\n } else {\r\n this.data('ReferenceSelectInstance', new Core.requisites.ReferenceSelect(this, options, img));\r\n }\r\n this.trigger('Init');\r\n return this;\r\n },\r\n SetSelected: function (v) {\r\n this.trigger('SetSelected', [v]);\r\n },\r\n result: function (handler) {\r\n return this.bind(\"result\", handler);\r\n },\r\n resultMulti: function (handler) {\r\n return this.bind(\"resultMulti\", handler);\r\n },\r\n ReplaceSelectedItem: function (oldID, newValues) {\r\n this.trigger('ReplaceSelectedItem', [oldID, newValues, false]);\r\n },\r\n ReplaceLastSelectedItem: function (oldID, newValues) {\r\n this.trigger('ReplaceSelectedItem', [oldID, newValues, true]);\r\n },\r\n Clear: function () {\r\n this.trigger(\"Clear\");\r\n },\r\n HideContainer: function () {\r\n this.trigger(\"HideContainer\");\r\n },\r\n SetValue: function (val, needTriggerResult) {\r\n this.trigger(\"SetValue\", [val, needTriggerResult]);\r\n return $(this);\r\n },\r\n SetValues: function (values, needTriggerResult) {\r\n this.trigger(\"SetValues\", [values, needTriggerResult]);\r\n return $(this);\r\n },\r\n SetDisabled: function () {\r\n this.trigger(\"SetDisabled\", [true]);\r\n return $(this);\r\n },\r\n SetEnabled: function () {\r\n this.trigger(\"SetDisabled\", [false]);\r\n return $(this);\r\n }\r\n });\r\n})(jQuery);\r\n","(function ($, global) {\r\n /**\r\n * Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π²Ρ‹Π±ΠΎΡ€Π° ΠΈΠ· справочника.\r\n * @typedef {Object} ReferenceSelectData\r\n * @property {string} id Π˜Π” записи.\r\n * @property {string} encodedTitle Π­ΠΊΡ€Π°Π½ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ записи.\r\n * @property {string} title Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ записи.\r\n * @property {string} leadingRequisitesValue ЗначСния Π²Π΅Π΄ΡƒΡ‰ΠΈΡ… Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ² (Π² JSON-Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅)\r\n * @since 5.5.0.1000\r\n */\r\n\r\n /**\r\n * Ѐункция, вызываСмая ΠΏΡ€ΠΈ ΡƒΠ΄Π°Ρ‡Π½ΠΎΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ запроса ΠΎΡ‚ сСрвСра. \r\n * @callback ReferenceSelectSuccessCallback\r\n * @param {number} pageCount ΠžΠ±Ρ‰Π΅Π΅ количСство страниц с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ.\r\n * @param {ReferenceSelectData[]} entities Π”Π°Π½Π½Ρ‹Π΅ ΠΎΡ‚ сСрвСра.\r\n * @since 5.5.0.1000\r\n */\r\n\r\n /**\r\n * Ѐункция, вызываСмая ΠΏΡ€ΠΈ НЕ ΡƒΠ΄Π°Ρ‡Π½ΠΎΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ запроса ΠΎΡ‚ сСрвСра. \r\n * @callback ReferenceSelectErrorCallback\r\n * @param {string} message Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ ΠΎΠ± ошибкС.\r\n * @param {boolean} isHttp ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°ΡŽΡ‰ΠΈΠΉ Π±Ρ‹Π»Π° Π»ΠΈ это HTTP ошибка.\r\n * @since 5.5.0.1000\r\n */\r\n\r\n /**\r\n * ΠŸΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€ Π΄Π°Π½Π½Ρ‹Ρ… для Π²Ρ‹Π±ΠΎΡ€Π° ΠΈΠ· справочника.\r\n * @since 5.5.0.1000\r\n */\r\n var ReferenceSelectDataProvider = {\r\n /**\r\n * ΠžΡ‚ΠΏΡ€Π°Π²Π»ΡΠ΅Ρ‚ запрос Π½Π° сСрвСр ΠΈ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹.\r\n * @param {string} url АдрСс Π²Π΅Π±-сСрвиса ΠΈΠ»ΠΈ Π²Π΅Π±-хэндлСра.\r\n * @param {Object} params Бписок ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Π²Π΅Π±-сСрвиса ΠΈΠ»ΠΈ Π²Π΅Π±-хэндлСра.\r\n * @param {ReferenceSelectSuccessCallback} OnSuccess Ѐункция, вызываСмая ΠΏΡ€ΠΈ ΡƒΠ΄Π°Ρ‡Π½ΠΎΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ запроса ΠΎΡ‚ сСрвСра. \r\n * @param {ReferenceSelectErrorCallback} OnError Ѐункция, вызываСмая ΠΏΡ€ΠΈ НЕ ΡƒΠ΄Π°Ρ‡Π½ΠΎΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ запроса ΠΎΡ‚ сСрвСра. \r\n * @returns {jqXHR} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ запроса Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ jQuery.ajax.\r\n */\r\n sendQuery: function (url, params, OnSuccess, OnError) {\r\n var me = this;\r\n\r\n return $.ajax({\r\n type: \"POST\",\r\n dataType: \"text\",\r\n url: url,\r\n cache: false,\r\n data: params,\r\n success: function (res) {\r\n if (!CheckForLoginPage(res)) {\r\n var data = me._parseResponse(res);\r\n if (data.success) {\r\n if (OnSuccess) OnSuccess(data.pagesCount, data.entities);\r\n } else {\r\n if (OnError) OnError(data.errorMessage, false);\r\n }\r\n }\r\n },\r\n error: function (jqXHR, textStatus, errorThrown) {\r\n if (OnError) OnError(textStatus, true);\r\n }\r\n });\r\n\r\n },\r\n\r\n /**\r\n * ΠŸΠ°Ρ€ΡΠΈΡ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ ΠΎΡ‚ хэндлСра Π² массив ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².\r\n * @private\r\n */\r\n _parseResponse: function (response) {\r\n var firstN = response.indexOf('\\n');\r\n var status = response.substr(0, firstN);\r\n var data = response.substr(firstN + 1);\r\n\r\n if ($.trim(status) != \"ERROR\") {\r\n var rows = data.split(\"\\r\\n\");\r\n var entities = rows.map(function (row) {\r\n row = $.trim(row);\r\n if (row) {\r\n var currRowData = row.split(\"|\");\r\n return {\r\n id: currRowData[0], //строка, Ρ‚.ΠΊ. ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ \"ΠŸΠžΠ›_103576\" Ρ‚Π°ΠΊΠΈΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ - Ρ‚Π°ΠΊΠΎΠ΅ Π΅ΡΡ‚ΡŒ Π² послСдних ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°Ρ…\r\n encodedTitle: currRowData[1].replace(\"#PIPE#\",\"|\"),\r\n title: currRowData[2].replace(\"#PIPE#\", \"|\"),\r\n leadingRequisitesValue: currRowData[3]\r\n };\r\n } else {\r\n return null;\r\n }\r\n }).filter(function (entity) { return !!entity; });\r\n\r\n return {\r\n success: true,\r\n pagesCount: parseInt(status, 10),\r\n entities: entities\r\n };\r\n } else {\r\n return {\r\n success: false,\r\n errorMessage: data\r\n };\r\n }\r\n }\r\n\r\n };\r\n\r\n global.ReferenceSelectDataProvider = ReferenceSelectDataProvider;\r\n\r\n})(jQuery, window);\r\n","/* Pick-Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ */\r\n(function ($) {\r\n function DropDownList(inp, img, hidd, keyvalues, opt, placeholder) {\r\n this.init(inp, img, hidd, keyvalues, opt, placeholder);\r\n }\r\n DropDownList.prototype = {\r\n inp: null,\r\n img: null,\r\n hidd: null,\r\n results: null,\r\n initValue: null,\r\n prevValue: null,\r\n\r\n _isShown: false,\r\n\r\n onAfterChange: null,\r\n\r\n keyvalues: [],\r\n\r\n // Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ класса.\r\n // inp - тСкстовоС ΠΏΠΎΠ»Π΅ элСмСнта.\r\n // img - ΠΈΠΊΠΎΠ½ΠΊΠ° калСндаря, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ откроСтся Π²Ρ‹Π±ΠΎΡ€.\r\n // hidd - скрытоС ΠΏΠΎΠ»Π΅ для хранСния ΠΊΠ»ΡŽΡ‡Π° Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ значСния.\r\n // keyvalues - список Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈ ΠΊΠ»ΡŽΡ‡Π΅ΠΉ.\r\n // opt - Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ настройки (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, onAfterChange).\r\n init: function (inp, img, hidd, keyvalues, opt, placeholder) {\r\n\r\n var me = this;\r\n me.inp = inp;\r\n me.img = img;\r\n me.hidd = hidd;\r\n me.initValue = hidd.val();\r\n me.prevValue = me.initValue;\r\n me.keyvalues = keyvalues;\r\n me.filterPlaceholder = (!!placeholder) ? placeholder : L(\"PLEASE_INPUT_VALUE\");\r\n\r\n $.extend(me, opt);\r\n \r\n // ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅ΠΌ Π±Ρ‹Π»Π° Π»ΠΈ инициализация ΠΈΠ»ΠΈ Π½Π΅Ρ‚.\r\n if (!me.inp.data('initComplete')) {\r\n // Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡƒΠ΅ΠΌ тСкстовоС ΠΏΠΎΠ»Π΅. \r\n if (!me.inp.hasClass('editable')) {\r\n me.inp.bind('click.DropDownList', function (ev) {\r\n ev.stopPropagation();\r\n if (me._isShown) me.hide();\r\n else me.show();\r\n });\r\n \r\n me.inp.prop('readonly', true);\r\n } else {\r\n me.addPlaceholder();\r\n me.inp.on('change.DropDownList', function () {\r\n me.hidd.val(\"-1\");\r\n });\r\n };\r\n\r\n // Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ событий ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹. \r\n me.inp.bind('keydown.DropDownList', me, me.keyPress); \r\n\r\n // Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡƒΠ΅ΠΌ ΠΈΠΊΠΎΠ½ΠΊΡƒ. \r\n if (me.img) me.img.bind('click.DropDownList', function (ev) {\r\n ev.stopPropagation();\r\n if (me._isShown) me.hide();\r\n else me.show();\r\n });\r\n\r\n // Π‘ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² ΠΏΡ€ΠΈ click Π½Π° любоС Π΄Ρ€ΡƒΠ³ΠΎΠ΅ мСсто.\r\n setTimeout(() => {\r\n $('body').bind('click.DropDownList', () => {\r\n this.hide();\r\n });\r\n }, 0);\r\n setTimeout(() => {\r\n try {\r\n $('iframe').contents().bind('click.DropDownList', () => {\r\n this.hide();\r\n });\r\n } catch (e) { }\r\n }, 0);\r\n setTimeout(() => {\r\n $('.ui-dialog-titlebar-close').bind('click.DropDownList', () => {\r\n this.hide();\r\n });\r\n }, 0); //ΠšΡ€Π΅ΡΡ‚ΠΈΠΊ Π² ΠΌΠΎΠ΄Π°Π»ΠΊΠ΅. ΠžΡ‚Ρ‡Π΅Π³ΠΎ-Ρ‚ΠΎ ΠΎΠ½ особый. Π—Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅ #4683153\r\n\r\n // Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½Π°.\r\n me.inp.data('initComplete', true);\r\n }\r\n },\r\n\r\n addPlaceholder: function () {\r\n var me = this;\r\n me.inp.focus(function () {\r\n if ($(this).val() == me.filterPlaceholder) {\r\n $(this).removeClass(\"placeholderInInput\");\r\n $(this).val('');\r\n }\r\n });\r\n\r\n me.inp.blur(function () {\r\n if ($(this).val() == '') {\r\n $(this).addClass(\"placeholderInInput\");\r\n $(this).val(me.filterPlaceholder);\r\n } else {\r\n $(this).removeClass(\"placeholderInInput\");\r\n }\r\n });\r\n },\r\n\r\n // Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹.\r\n keyPress: function (e) {\r\n \r\n var me = e.data;\r\n var isVisible = me.results != null && me.results.is(':visible');\r\n\r\n if (me.inp.hasClass('disabled') || me.inp.attr('disabled')) return;\r\n\r\n if (isVisible) {\r\n if (/27$|38$|40$/.test(e.keyCode) || /9$|13$/.test(e.keyCode)) {\r\n\r\n e.preventDefault();\r\n e.stopPropagation();\r\n switch (e.keyCode) {\r\n case 38: // up\r\n // Если Π²Ρ‹Π±ΠΎΡ€ Π½Π΅ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚, Ρ‚ΠΎ ΠΎΡ‚ΠΊΡ€ΠΎΠ΅ΠΌ Π΅Π³ΠΎ ΠΈ Π²Ρ‹Π΄Π΅Π»ΠΈΠΌ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ запись.\r\n me.goTo(isVisible ? -1 : 0);\r\n break;\r\n case 40: // down\r\n // Если Π²Ρ‹Π±ΠΎΡ€ Π½Π΅ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚, Ρ‚ΠΎ ΠΎΡ‚ΠΊΡ€ΠΎΠ΅ΠΌ Π΅Π³ΠΎ ΠΈ Π²Ρ‹Π΄Π΅Π»ΠΈΠΌ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ запись.\r\n me.goTo(isVisible ? 1 : 0);\r\n break;\r\n case 9: // tab\r\n case 13: // return\r\n me.selectCurrent();\r\n $('.rs_container').hide();\r\n break;\r\n case 27: // escape\r\n me.hide();\r\n break;\r\n }\r\n }\r\n } else {\r\n if (/38$|40$/.test(e.keyCode) && e.altKey) {\r\n me.show();\r\n }\r\n }\r\n },\r\n\r\n // ΠœΠ΅Ρ‚ΠΎΠ΄ для ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° ΠΏΠΎ элСмСнтам.\r\n goTo: function (direction) {\r\n var me = this;\r\n if (!me.results) return;\r\n var selEl = me.results.find('.rs_tr_over');\r\n var newEl;\r\n\r\n // ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ Ρ€Π°Π· ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ c Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΉ ΠΏΠ΅Ρ€Π²ΠΎΠΉ записью. \r\n if (selEl.length == 0 && direction == 0) {\r\n selEl = me.results.find('tr:first');\r\n me.toggleSelected(selEl);\r\n } else {\r\n // ΠŸΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.\r\n if (direction == -1) {\r\n newEl = selEl.prev();\r\n if (newEl.length == 0) {\r\n newEl = selEl.parent().find('tr:last');\r\n }\r\n me.toggleSelected(newEl);\r\n } else\r\n // Π‘Π»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.\r\n if (direction == 1) {\r\n newEl = selEl.next();\r\n if (newEl.length == 0) {\r\n newEl = selEl.parent().find('tr:first');\r\n }\r\n me.toggleSelected(newEl);\r\n }\r\n }\r\n },\r\n\r\n // Π‘Π½ΠΈΠΌΠ°Π΅Ρ‚ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ со всСх Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, ΠΈ устанавливаСт Ρƒ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½ΠΎΠ³ΠΎ.\r\n toggleSelected: function (el) {\r\n el.parent().find('.rs_tr_over').removeClass('rs_tr_over');\r\n el.addClass('rs_tr_over');\r\n },\r\n\r\n // ΠŸΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π²Ρ‹Π±ΠΎΡ€ значСния.\r\n show: function () {\r\n var me = this;\r\n\r\n // Если Π½Π΅ Π°ΠΊΡ‚ΠΈΠ²Π΅Π½ input, Ρ‚ΠΎ Π½Π΅ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π΅ мСню.\r\n if (me.inp.hasClass('Req_Disabled')) return;\r\n\r\n // Π€ΠΈΠ»ΡŒΡ‚Ρ€ для отобраТСния элСмСнтов списка.\r\n var keyFilter = null;\r\n var tmp = me.inp.data('filter');\r\n if (typeof tmp != 'undefined') {\r\n keyFilter = tmp.split(';');\r\n me.results = null;\r\n }\r\n\r\n if (!me.results) {\r\n var html = '
';\r\n var hasItems = false;\r\n for (var i = 0, j = 0, c = me.keyvalues.length; i < c; i++) {\r\n if (me.keyvalues[i][0] != \"-1\") {\r\n if (keyFilter == null || (keyFilter != null && $.inArray(me.keyvalues[i][0], keyFilter) != -1)) {\r\n html += '';\r\n hasItems = true;\r\n j++;\r\n }\r\n }\r\n }\r\n\r\n if (!hasItems) {\r\n html += '';\r\n };\r\n\r\n html += '
' + me.keyvalues[i][2] + '
' + L(\"NO_ITEMS_FOUND\") + '
';\r\n me.results = $(html).appendTo(\"body\");\r\n\r\n if (hasItems) {\r\n // НавСшиваСм события Π½Π° строки.\r\n me.results.find('tr:not(.disabled)')\r\n .hover(function () { $(this).addClass('rs_tr_over'); }, function () { $(this).parent().find('.rs_tr_over').removeClass('rs_tr_over'); })\r\n .unbind('click.DropDownList').bind('click.DropDownList', function () {\r\n me.selectCurrent(this);\r\n });\r\n }\r\n }\r\n\r\n // УстанавливаСм ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ списка.\r\n me.setCoord();\r\n\r\n if (!me.results.is(':visible')) {\r\n\r\n $('.rs_container').hide();\r\n me.results.show();\r\n }\r\n me._isShown = true;\r\n },\r\n\r\n // Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ ΠΏΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ значСния ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ.\r\n selectCurrent: function (selectedEl) {\r\n var me = this;\r\n var el;\r\n if (selectedEl == null || typeof selectedEl == 'undefined') {\r\n el = me.results.find('.rs_tr_over');\r\n } else {\r\n el = $(selectedEl);\r\n }\r\n\r\n if (el.length == 1) {\r\n me.setValue(el.attr('data-key'));\r\n }\r\n },\r\n\r\n setInitValue: function () {\r\n return this.setValue(this.initValue);\r\n },\r\n\r\n setPrevValue: function () {\r\n return this.setValue(this.prevValue);\r\n },\r\n\r\n setValue: function (value, displayValue, opt_needTriggerResult) {\r\n var me = this;\r\n var needTriggerResult = (opt_needTriggerResult !== false); //ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ события срабатываСт, Ссли помСнялось Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.\r\n var valueIsChanged = false;\r\n\r\n if (typeof displayValue === 'undefined') {\r\n for (var i = 0; i < me.keyvalues.length; i++) {\r\n if (me.keyvalues[i][0] === value.escapeHtml()) {\r\n me.prevValue = me.hidd.val();\r\n\r\n me.inp.val(me.keyvalues[i][1]);\r\n me.hidd.val(value);\r\n\r\n valueIsChanged = true;\r\n \r\n break;\r\n }\r\n }\r\n } else {\r\n me.prevValue = me.hidd.val();\r\n me.inp.val(displayValue);\r\n me.hidd.val(value);\r\n valueIsChanged = true;\r\n }\r\n\r\n if (needTriggerResult && valueIsChanged) {\r\n me.inp.change(); //change Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌ явно, Ρ‚.ΠΊ. ΠΎΠ½ΠΎ Π½Π΅ вызываСтся ΠΏΡ€ΠΈ установкС val(), Π° Π² мастСрах дСйствия Π½Π°Π²Π΅ΡˆΠΈΠ²Π°Π΅Ρ‚ΡΡ это событиС\r\n me.inp.removeClass(\"placeholderInInput\");\r\n var v = me.hidd.val();\r\n if (me.onAfterChange) me.onAfterChange(v);\r\n me.inp.trigger('result', [v]);\r\n }\r\n\r\n return this;\r\n },\r\n\r\n getValue: function () {\r\n return this.hidd.val();\r\n },\r\n\r\n getDisplayValue: function () {\r\n var me = this;\r\n if (me.inp.hasClass('placeholderInInput')) {\r\n return '';\r\n } else {\r\n return me.inp.val();\r\n }\r\n },\r\n \r\n clearDropDownListItems: function () {\r\n this.keyvalues = [];\r\n if (!!this.results) this.results.remove();\r\n this.results = null;\r\n return this;\r\n },\r\n\r\n\r\n addDropDownListItem: function (item) {\r\n this.keyvalues.push(item);\r\n if (!!this.results) this.results.remove();\r\n this.results = null;\r\n return this;\r\n },\r\n\r\n removeDropDownListItem: function (key) {\r\n var me = this;\r\n for (var i = 0; i < me.keyvalues.length; i++) {\r\n if (me.keyvalues[i][0] === key) {\r\n me.keyvalues[i][0] = '-1';\r\n if (!!this.results) this.results.remove();\r\n this.results = null;\r\n break;\r\n }\r\n }\r\n return this;\r\n },\r\n\r\n // Π‘ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ Π²Ρ‹Π±ΠΎΡ€ значСния.\r\n hide: function () {\r\n if (this.results) this.results.hide();\r\n this._isShown = false;\r\n return this;\r\n },\r\n\r\n disable: function () {\r\n this.inp.addClass('Req_Disabled');\r\n return this;\r\n },\r\n\r\n enable: function () {\r\n this.inp.removeClass('Req_Disabled');\r\n return this;\r\n },\r\n\r\n setCoord: function () {\r\n var me = this;\r\n var c = me.inp;\r\n\r\n var top = c.offset().top + c.height() + 6;\r\n var height = me.results.outerHeight();\r\n var wh = $(window).height();\r\n if ((top + height) > wh) {\r\n top = c.offset().top - height - 1;\r\n if (top < 0) top = 0;\r\n }\r\n\r\n me.results.css({\r\n left: (c.offset().left + 1),\r\n top: top,\r\n width: Math.max(c.width() - 10, 130),\r\n minWidth: me.inp.outerWidth(true) - 5\r\n });\r\n }\r\n\r\n };\r\n\r\n // РСгистрируСм ΠΏΠ»Π°Π³ΠΈΠ½ jQuery.\r\n $.fn.extend({\r\n DropDown: function (img, hidd, keyvalues, opt) {\r\n this.data('DropDownListInstance', new DropDownList($(this), img, hidd, keyvalues, opt));\r\n this.trigger('Init');\r\n return this;\r\n },\r\n HidePickContainer: function () {\r\n this.data('DropDownListInstance').hide();\r\n return this;\r\n }\r\n });\r\n})(jQuery);\r\n","var g_RightsChanged = 0;\r\n\r\nfunction UserRightInit(ClientID, ObjectID, HashCode, Msg, IsNeedHideTree) {\r\n var jRightsTable = $('.Rights');\r\n var updateTree = function (event, hideFilterView) {\r\n if (IsNeedHideTree) {\r\n if (hideFilterView) $('#Filter_User_View_' + ClientID).hide();\r\n var rootUl = $('#ul' + ClientID).empty();\r\n rootUl.treeview({\r\n url: \"/UserList.asmx/GetUsers\",\r\n collapsed: true,\r\n ajax: {\r\n contentType: \"application/json; charset=utf-8\",\r\n dataType: \"json\",\r\n dataWS: \"'ObjectID':\" + ObjectID + \", 'ObjectType':\" + HashCode + \",'Filtrator':'' \",\r\n async: true,\r\n cache: false,\r\n type: \"post\",\r\n onAfterSuccess: function (el, cont) {\r\n $(el).find('.hint').each(function () {\r\n InitAdditionalInfoTooltip($(this));\r\n });\r\n MarkAllGroupsAndUsers(jRightsTable);\r\n $('#spinnerDiv').hide();\r\n if ($('#0').children('ul').children().length == 0) {\r\n $('#ShowingTreeError').show();\r\n } else {\r\n $('#ShowingTreeError').hide();\r\n }\r\n\r\n $('#scroller').height($('#right_column').height());\r\n\r\n if ($.ipad || WA.ENV.isAndroid()) {\r\n InitTabletContextMenu($('.Rights_List_div:not(#g_0)', el));\r\n }\r\n }\r\n }\r\n });\r\n }\r\n jRightsTable.delegate('.Rights_List_div', 'mouseover', UserInTreeMouseOver);\r\n jRightsTable.delegate('.Rights_List_div', 'mouseout', UserInTreeMouseOut);\r\n jRightsTable.delegate('.Rights_Table tr', 'mouseover', UserRightsMouseOver);\r\n jRightsTable.delegate('.Rights_Table tr', 'mouseout', UserRightsMouseOut);\r\n if (!$.ipad && !WA.ENV.isAndroid()) {\r\n jRightsTable.undelegate('.Rights_List_div > span', 'contextmenu').delegate('.Rights_List_div:not(#g_0) > span', 'contextmenu', UserListShowContextMenu);\r\n } else {\r\n var contextmenuButton = '';\r\n $('.Rights_List_div:not(#g_0)', jRightsTable).find('p.icon').before(contextmenuButton).prev().unbind('click').bind('click', UserListShowContextMenu);\r\n }\r\n // Если Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π½Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½, Π·Π½Π°Ρ‡ΠΈΡ‚ вызываСтся для массовой установки ΠΏΡ€Π°Π², Ρ‚Π°ΠΌ навигация Π½Π΅ трСбуСтся.\r\n if (ObjectID !== '-1') {\r\n InitRightsUserTreeKeyNavigation();\r\n }\r\n\r\n // Π¨Π°ΠΌΠΎΠ² А.: keydown сдСлано ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ, Ρ‚.ΠΊ. Π½Π° keyup Π½Π΅ блокируСтся Enter.\r\n var filterInput = $('#Filter_User_' + ClientID);\r\n filterInput.keydown(function (ev) {\r\n if (ev.keyCode == 9) {\r\n filterInput.blur();\r\n var firstItem = $('.Rights_List_div:visible:first', '.Rights_User_List');\r\n if (firstItem.length == 0) firstItem = $('.Rights_User_List').find('ul').find('.Rights_List_div:visible:first');\r\n UserInTreeMouseOver({ currentTarget: firstItem });\r\n } else {\r\n return FilterUserAjax(ev, 'ul' + ClientID, 'Filter_User_View_' + ClientID, ObjectID, HashCode, this, Msg);\r\n }\r\n });\r\n };\r\n\r\n // ИзмСнились Π»ΠΈ ΠΏΡ€Π°Π²Π°, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π΅ Π½Π° Π΄Ρ€ΡƒΠ³ΡƒΡŽ Π²ΠΊΠ»Π°Π΄ΠΊΡƒ Ρ€ΡƒΠ½Π½ΡƒΡ‚ΡŒΡΡ Π½Π° сохранСнныС Π΄Π°Π½Π½Ρ‹Π΅.\r\n jRightsTable.on('rightsChange', function () {\r\n g_RightsChanged = 1;\r\n });\r\n\r\n jRightsTable.on('reload.UserTree', updateTree);\r\n updateTree(null, true);\r\n}\r\n\r\nfunction CheckIfFavoritesEmpty(favGroup) {\r\n if (favGroup.children('ul').children().length > 0) {\r\n $('#ShowingTreeError').hide();\r\n }\r\n else {\r\n if ($('.treeview:visible').length > 0) {\r\n favGroup.attr('class', '');\r\n $('#ShowingTreeError').show();\r\n }\r\n }\r\n}\r\n\r\n\r\nfunction fillTree(res) {\r\n var html = \"\";\r\n if (res.Error == null) {\r\n if (res.Result.length > 0) {\r\n var nodes = res.Result;\r\n for (var i = 0; i < nodes.length; i++) {\r\n if (nodes[i].id > 0) {\r\n html += buildTreeNodeHTML(nodes[i]);\r\n }\r\n else {\r\n //this.showGroupsListMessage(nodes[i].text);\r\n }\r\n }\r\n }\r\n }\r\n return html;\r\n}\r\n\r\nfunction buildTreeNodeHTML(node) {\r\n var html = node.text;\r\n return html;\r\n}\r\n\r\nfunction MarkAllGroupsAndUsers(RightsTable) {\r\n var selectedIDs = $('[name=__SELECTED_USERS]').val().split(';');\r\n for (var i = 0; i < selectedIDs.length; i++) {\r\n var id = selectedIDs[i].split('-')[0];\r\n if (id != \"\") MarkUser(RightsTable.find('#' + id), true);\r\n }\r\n}\r\n\r\nfunction InitTabletContextMenu(items) {\r\n if (items.find('.tabletcontextm').length > 0) {\r\n items.find('.tabletcontextm').unbind('click').bind('click', UserListShowContextMenu);\r\n } else {\r\n var contextmenuButton = '';\r\n items.find('p.icon').before(contextmenuButton).prev().unbind('click').bind('click', UserListShowContextMenu);\r\n }\r\n}\r\n\r\nfunction UserListShowContextMenu(e) {\r\n e.preventDefault(); e.stopPropagation();\r\n var currObj = $(this);\r\n if (!currObj.attr('id')) currObj = currObj.parents('.Rights_List_div:first');\r\n var menu = _GetContextMenu(currObj, $('#0'));\r\n menu.showAt({ 'left': e.pageX, 'top': e.pageY });\r\n}\r\n\r\n// ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ контСкстного мСню для элСмСнта Π΄Π΅Ρ€Π΅Π²Π°\r\nfunction _GetContextMenu(item, favoritesGroup) {\r\n var menuItems = [];\r\n var addMenuItemText;\r\n var addClickHandler;\r\n var favoritesMenuItemText;\r\n var favoritesClickHandler;\r\n var favoritesIcon = \"folderFavorites-16\";\r\n var itemID = item.attr('id');\r\n var actionIcon;\r\n var liID = itemID;\r\n if (itemID[0] == 'g') { liID = itemID.substr(2); }\r\n if (favoritesGroup.children('ul').children('#' + liID).length > 0 || item.hasClass('favorite')) {\r\n favoritesMenuItemText = L(\"REMOVE_FROM_FAVORITES\");\r\n favoritesClickHandler = function () {\r\n addOrRemoveFavorites(item, itemID, false, favoritesGroup);\r\n };\r\n favoritesIcon = \"deleteFromFavourites-16\";\r\n }\r\n else {\r\n favoritesMenuItemText = L(\"ADD_TO_FAVORITES\");\r\n favoritesClickHandler = function () {\r\n addOrRemoveFavorites(item, itemID, true, favoritesGroup);\r\n };\r\n }\r\n if (IsSelected(itemID)) {\r\n // Ρ‚ΠΎ элСмСнт ΡƒΠΆΠ΅ Π²Ρ‹Π±Ρ€Π°Π½\r\n addMenuItemText = L(\"USERGROUP_EXCLUDE\");\r\n addClickHandler = function () {\r\n $('.Rights_Table').find('tr[id$=' + itemID + ']').find('p:first').trigger('click');\r\n };\r\n actionIcon = \"unchooseRecord-16\";\r\n }\r\n else {\r\n addMenuItemText = L(\"USERGROUP_INCLUDE\");\r\n addClickHandler = function () { AddUserByDiv(item); MarkUser(item, true); };\r\n actionIcon = \"chooseRecord-16\";\r\n }\r\n\r\n menuItems.push({ text: addMenuItemText, onClick: addClickHandler, icon: actionIcon });\r\n menuItems.push({ text: favoritesMenuItemText, onClick: favoritesClickHandler, icon: favoritesIcon });\r\n\r\n var menu = new ContextMenu(menuItems, { width: \"auto\" });\r\n var proxy = { id: item.attr('id'), kind: 'ref', refcode: WA.CR.getReferenceCode(), elem: item, tr: item };\r\n menu.self = proxy\r\n return menu\r\n}\r\n\r\n// Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΈΠ· ΠΈΠ·Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ\r\n// item - элСмСнт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π°Π΄ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ\r\n// needToAdd - Π½ΡƒΠΆΠ½ΠΎ Π»ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΈΠ»ΠΈ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ\r\nfunction addOrRemoveFavorites(item, itemId, needToAdd, favoritesGroup) {\r\n var liID = itemId;\r\n var isGroup = false;\r\n if (itemId[0] == 'g') { liID = itemId.substr(2); isGroup = true; }\r\n CallService(\"/UserList.asmx/AddOrRemoveFavorites\", { PrincipalID: liID, IsGroup: isGroup, NeedToAdd: needToAdd },\r\n function (res) {\r\n if (res.Success) {\r\n var favGroupUl = favoritesGroup.children('ul');\r\n if (favGroupUl.length == 0) {\r\n favGroupUl = $('
    ');\r\n favoritesGroup.append(favGroupUl);\r\n }\r\n if (needToAdd) {\r\n if (favGroupUl.children('#' + liID).length == 0) {\r\n var clone;\r\n if (item.parent('.Filter_User_View').length > 0) {\r\n ReloadFavoritesGroup(favoritesGroup, favGroupUl);\r\n }\r\n else {\r\n clone = item.parent().parent().clone();\r\n initTreeViewItemEvents(clone);\r\n clone.appendTo(favGroupUl);\r\n clone.removeClass('collapsable');\r\n clone.find('.collapsable').removeClass('collapsable');\r\n if (favGroupUl.children().length == 1) {\r\n if (favoritesGroup.children('.hitarea').length == 0) {\r\n favoritesGroup.prepend('
    ');\r\n }\r\n $('.treeview').treeview({ add: favoritesGroup });\r\n } else {\r\n $('.treeview').treeview({ add: clone });\r\n }\r\n }\r\n markUnmarkItemAsFavorite(itemId, needToAdd);\r\n }\r\n }\r\n else {\r\n favGroupUl.children('li#' + liID).remove();\r\n markUnmarkItemAsFavorite(itemId, needToAdd);\r\n }\r\n CheckIfFavoritesEmpty(favoritesGroup);\r\n }\r\n });\r\n}\r\n\r\nfunction ReloadFavoritesGroup(favoritesGroup, favGroupUl) {\r\n //var hitArea = favoritesGroup.children('.hitarea');\r\n // if (hitArea.length > 0) {\r\n // favoritesGroup.removeClass('open').addClass('hasChildren');\r\n // favGroupUl.empty();\r\n // hitArea.click().click();\r\n // favoritesGroup.hasClass('expandable') ? favGroupUl.hide() : favGroupUl.show();\r\n // } else {\r\n $('.Rights').data('needUpdTree', true);\r\n //}\r\n}\r\n\r\nfunction initTreeViewItemEvents(item) {\r\n var span = item.find('.Rights_List_div')\r\n .bind('mouseover', UserInTreeMouseOver)\r\n .bind('mouseout', UserInTreeMouseOut)\r\n .on('click', function () {\r\n var el = $(this);\r\n AddUserByDiv(el);\r\n MarkUser(el, true);\r\n })\r\n .children('span');\r\n if ($.ipad || WA.ENV.isAndroid()) {\r\n InitTabletContextMenu(item.find('.Rights_List_div'));\r\n } else {\r\n span.bind('contextmenu', UserListShowContextMenu);\r\n }\r\n}\r\n\r\nfunction AddFavoritesToRightsTable(el) {\r\n $(el).parent().siblings('ul').children().find('.Rights_List_div:first').click();\r\n}\r\n\r\nfunction IsSelected(ItemId) {\r\n var selectedIDs = $('[name=__SELECTED_USERS]').val().split(';');\r\n var isSelected = false;\r\n for (var i = 0; i < selectedIDs.length; i++) {\r\n var id = selectedIDs[i].split('-')[0];\r\n if (id == ItemId) isSelected = true;\r\n }\r\n return isSelected;\r\n}\r\n\r\n// ΠŸΠΎΠΌΠ΅Ρ‡Π°Π΅Ρ‚ ΠΈΠ»ΠΈ снимаСт ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΡƒ ΠΈΠ·Π±Ρ€Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΈΠ»ΠΈ Π³Ρ€ΡƒΠΏΠΏ\r\n// isFavorite - ΠΏΡ€ΠΈΠ·Π½Π°ΠΊ ΠΏΠΎΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊ ΠΈΠ·Π±Ρ€Π°Π½Π½ΠΎΠ΅ ΠΈΠ»ΠΈ Π½Π΅Ρ‚\r\nfunction markUnmarkItemAsFavorite(id, isFavorite) {\r\n if (id) {\r\n var item = $('.treeview').children(':not(#0)').find('#' + id).add($('.Filter_User_View').find('#' + id));\r\n var icon = item.children('span').find('p.icon');\r\n var isGroup = id[0] == 'g';\r\n var iconClass = isGroup ? 'user-tree__icon_group' : 'user-tree__icon_user';\r\n var isSelected = IsSelected(id);\r\n\r\n if (isFavorite) {\r\n if (id[0] != 'g') { // Ссли это ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ\r\n if (!isSelected) { // Ρƒ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Ρ… записСй ΠΈΠΊΠΎΠ½ΠΊΠΈ Π½Π΅ мСняСм\r\n icon.removeClass(iconClass).addClass('user-tree__icon_fav-user');\r\n }\r\n } // Ссли это Π³Ρ€ΡƒΠΏΠΏΠ°\r\n else {\r\n if (!isSelected) {\r\n icon.removeClass('user-tree__icon_group').addClass('user-tree__icon_fav-group');\r\n }\r\n }\r\n item.addClass('favorite');\r\n }\r\n else {\r\n if (id[0] != 'g') { // Ссли это ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ\r\n if (!isSelected) { // Ρƒ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Ρ… записСй ΠΈΠΊΠΎΠ½ΠΊΠΈ Π½Π΅ мСняСм\r\n icon.removeClass('user-tree__icon_fav-user').addClass(iconClass);\r\n }\r\n } // Ссли это Π³Ρ€ΡƒΠΏΠΏΠ°\r\n else {\r\n if (!isSelected) {\r\n icon.removeClass('user-tree__icon_fav-group').addClass('user-tree__icon_group');\r\n }\r\n }\r\n item.find('.favorite').removeClass('favorite');\r\n item.removeClass('favorite');\r\n }\r\n }\r\n}\r\n\r\nfunction UserRightTreeInit(ClientID, ObjectID, GetHashCode) {\r\n $('#ul>' + ClientID).treeview({\r\n url: \"/UserList.asmx/GetUsers\",\r\n collapsed: true,\r\n ajax: {\r\n contentType: \"application/json; charset=utf-8\",\r\n dataType: \"json\",\r\n dataWS: \"'ObjectID':'\" + ObjectID + \"','ObjectType':'\" + GetHashCode + \"','Filtrator':''\",\r\n async: true,\r\n cache: false,\r\n type: \"post\"\r\n }\r\n });\r\n\r\n // Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ ΠΏΡ€ΠΈ Π½Π°Π²Π΅Π΄Π΅Π½ΠΈΠΈ Π½Π° элСмСнт Π΄Π΅Ρ€Π΅Π²Π°.\r\n $('.treeview div').live('mouseover', function () { $(this).addClass('over'); });\r\n $('.treeview div').live('mouseout', function () { $(this).removeClass('over'); });\r\n\r\n setTimeout(SetEvents, 1000);\r\n SetCurrentUsers();\r\n}\r\n\r\n// Ѐункция ΠΏΡ€ΠΈ Π½Π°Π²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΌΡ‹ΡˆΠΊΠΈ Π½Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈΠ»ΠΈ Π³Ρ€ΡƒΠΏΠΏΡƒ Π² Π΄Π΅Ρ€Π΅Π²Π΅.\r\nfunction UserInTreeMouseOver(event) {\r\n var el = event.currentTarget;\r\n $('div.over', '.Rights_User_List').removeClass('over').find('p.treeview_img_action').css('visibility', 'hidden');\r\n if ($(el).length) {\r\n if (!$(el).hasClass(\"marked\")) {\r\n var arrow = $(el).find('p.treeview_img_action');\r\n arrow.css('visibility', 'visible');\r\n //$(el).find('span > div').attr('title', arrow.attr('title'));\r\n }\r\n }\r\n $(el).addClass('over');\r\n}\r\n\r\n// Ѐункция ΠΏΡ€ΠΈ ΠΎΡ‚Π²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΌΡ‹ΡˆΠΊΠΈ с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈΠ»ΠΈ Π³Ρ€ΡƒΠΏΠΏΡ‹ Π² Π΄Π΅Ρ€Π΅Π²Π΅.\r\nfunction UserInTreeMouseOut(event) {\r\n $('div.over', '.treeview').removeClass('over').find('p.treeview_img_action').css('visibility', 'hidden');\r\n var el = event.currentTarget;\r\n $(el).find('p.treeview_img_action').css('visibility', 'hidden');\r\n // $(el).find('span > div').attr('title', '');\r\n $(el).removeClass('over');\r\n}\r\n\r\n// Клик Π½Π° ΠΊΡ€ΡƒΠΆΠΎΡ‡ΠΊΠ΅.\r\nfunction SetRightChoose(elem) {\r\n SetNewRight(elem);\r\n}\r\n\r\nfunction GetUserID(tr) {\r\n var UserID = tr.attr('id');\r\n var prefixIndex = UserID.indexOf('_');\r\n if (prefixIndex != -1) {\r\n UserID = UserID.substr(prefixIndex + 1);\r\n }\r\n return UserID;\r\n}\r\n\r\nvar g_OldChangedUsers = {};\r\n\r\n// УстанавливаСт ΠΏΡ€Π°Π²Π° для Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.\r\nfunction SetNewRight(el) {\r\n el = $(el);\r\n var rights = el.attr(\"class\");\r\n var rightsID = el.attr(\"name\");\r\n var tbl = $(el).parentsUntil(\"table\");\r\n var UserID = GetUserID($(tbl[tbl.length - 2]));\r\n var currentRightVal;\r\n\r\n var isOldUser = IsOldUser(UserID); // супСр Π»ΠΎΠ³ΠΈΠΊΠ° для измСнСния ΠΏΡ€Π°Π², имСя Π½Π΅ΠΏΠΎΠ»Π½Ρ‹Π΅ ΠΏΡ€Π°Π²Π°. для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡƒΠΆΠ΅ Π΅ΡΡ‚ΡŒ Π² спискС ΠΌΠΎΠΆΠ΅ΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΠ²Ρ‹ΡˆΠ°Ρ‚ΡŒ ΠΏΡ€Π°Π²Π°\r\n\r\n //ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° ΠΏΠΎΠ»Π½Ρ‹Ρ… ΠΏΡ€Π°Π²\r\n // Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΏΡ€Π°Π²Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Ссли Ρƒ Π½ΠΈΡ… ΠΏΠΎΠ»Π½Ρ‹Π΅,Π° Ρƒ нас Π½Π΅Ρ‚\r\n if (rightsID < g_MaxRightsValue || (el.parent().hasClass(\"full\") && g_MaxRightsValue != 0 && isOldUser)) return; // g_MaxRightsValue - максимальноС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΡ€Π°Π², ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°Π·Π½Π°Ρ‡ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ\r\n if (rightsID > 0 && !GetFullRightsUserCount(UserID) && isExistUsersWithFullRights()) return ShowInfo(L(\"WARN_EMPRY_RIGHTS_ISNOT_VALID\"));\r\n if (el.parent().hasClass(rights)) return;\r\n\r\n // ЗамСняСм Ρƒ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΏΡ€Π°Π²Π°.\r\n var SelUsers = $(\"input[name='__SELECTED_USERS']\");\r\n var oldSelUsers = SelUsers.val().split(';');\r\n for (var i = 0; i < oldSelUsers.length; i++) {\r\n var oldUser = oldSelUsers[i].split('-');\r\n if (oldUser[0] == UserID) {\r\n currentRightVal = oldUser[1];\r\n oldSelUsers[i] = UserID + '-' + rightsID;\r\n break;\r\n }\r\n }\r\n var rightValue = RightsToNumber($.trim(el.parent().attr(\"class\"))); // Π΄ΠΎ своСго уровня.\r\n // Ссли Ρƒ нас Π½Π΅Ρ‚ ΠΏΠΎΠ»Π½Ρ‹Ρ… ΠΏΡ€Π°Π² ΠΈ ΠΌΡ‹ пытаСмся ΠΏΠΎΠ½ΠΈΠ·ΠΈΡ‚ΡŒ ΠΏΡ€Π°Π²Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ ΠΎΠ½ΠΈ ΡƒΠΆΠ΅ Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹\r\n if (g_MaxRightsValue != 0 && rightsID > rightValue && isOldUser && !g_OldChangedUsers[UserID]) return;\r\n // Ссли ΠΌΡ‹ ΠΏΠΎΠ²Ρ‹ΡˆΠ°Π»ΠΈ старому ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ ΠΏΡ€Π°Π²Π° (Π΄ΠΎ ИзмСнСниС ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ ΠΏΡ€Π°Π²) ΠΈ мСняСм Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎ\r\n if (isOldUser && rightsID != rightValue) { g_OldChangedUsers[UserID] ? delete g_OldChangedUsers[UserID] : g_OldChangedUsers[UserID] = 1; }\r\n\r\n el.parent().attr(\"class\", rights).removeClass('disabled'); // ΠΎΠΊΡ€Π°ΡˆΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΊΡ€ΡƒΠΆΠΎΡ‡ΠΊΠΈ\r\n el.siblings(\"span\").text(L(\"RIGHT_\" + $.trim(el.parent().attr('class').toUpperCase())));\r\n SelUsers.val(oldSelUsers.join(';'));\r\n\r\n $('.Rights').trigger('rightsChange');\r\n}\r\n\r\n// опрСдСляСт Π±Ρ‹Π»ΠΈ Π»ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŽ ΡƒΠΆΠ΅ Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ ΠΏΡ€Π°Π²Π°.\r\n//Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ ΠΏΡ€Π°Π² ΡŽΠ·Π΅Ρ€ Π½Π΅ ΠΌΠΎΠ³ ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΏΡ€Π°Π²Π° Ρ‚Π΅ΠΌ, ΠΊΠΎΠΌΡƒ ΡƒΠΆΠ΅ Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹\r\nfunction IsOldUser(UserID) {\r\n var SelUsers = $(\"input[name='__CURRENT_USERS_RIGHTS']\");\r\n var oldSelUsers = SelUsers.val().split(';');\r\n for (var i = 0; i < oldSelUsers.length; i++) {\r\n var oldUser = oldSelUsers[i].split('-');\r\n if (oldUser[0] == UserID) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n}\r\n\r\nfunction RightsToNumber(right) {\r\n switch (right) {\r\n case \"full\": return 0;\r\n case \"change\": return 1;\r\n case \"view\": return 2;\r\n }\r\n}\r\n\r\nfunction IsRightsListValid() {\r\n var SelUsers = $(\"input[name='__SELECTED_USERS']\");\r\n if (SelUsers.length > 0) {\r\n return GetFullRightsUserCount() > 0;\r\n } else {\r\n return true;\r\n }\r\n}\r\n\r\n//ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ΠΊ-Π²ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ с ΠΏΠΎΠ»Π½Ρ‹ΠΌΠΈ ΠΏΡ€Π°Π²Π°ΠΌΠΈ, с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.\r\nfunction GetFullRightsUserCount(UserID) {\r\n var SelUsers = $(\"input[name='__SELECTED_USERS']\");\r\n var oldSelUsers = SelUsers.val().split(';');\r\n var fullRightsUserCount = 0;\r\n //ΠŸΠΎΠ΄ΡΡ‡ΠΈΡ‚Π°Π΅ΠΌ количСство ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΏΠΎΠ»Π½Ρ‹Π΅ ΠΏΡ€Π°Π²Π°,\r\n for (var i = 0; i < oldSelUsers.length; i++) {\r\n var oldUser = oldSelUsers[i].split('-');\r\n if (oldUser[1] === \"0\" && oldUser[0] !== UserID)++fullRightsUserCount;\r\n }\r\n return fullRightsUserCount;\r\n}\r\n\r\n/**\r\n* ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅Ρ‚ Π΅ΡΡ‚ΡŒ Π»ΠΈ Π² спискС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ с ΠΏΠΎΠ»Π½Ρ‹ΠΌΠΈ ΠΏΡ€Π°Π²Π°ΠΌΠΈ.\r\n* @function isExistUsersWithFullRights\r\n*/\r\nfunction isExistUsersWithFullRights() {\r\n const jselectedUsers = $(\"input[name='__SELECTED_USERS']\");\r\n const selectedUsersArray = jselectedUsers.val().split(';');\r\n\r\n //ΠŸΠΎΠ΄ΡΡ‡ΠΈΡ‚Π°Π΅ΠΌ количСство ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΈΠΌΠ΅ΡŽΡ‚ пустой Ρ‚ΠΈΠΏ ΠΏΡ€Π°Π²\r\n for (let i = 0; i < selectedUsersArray.length; i++) {\r\n const rightsEntry = selectedUsersArray[i].split('-');\r\n if (rightsEntry[1] === \"0\") {\r\n return true;\r\n }\r\n }\r\n return false;\r\n}\r\n\r\n// Π¦ΠΈΠΊΠ»ΠΈΡ‡Π½ΠΎ измСняСт ΠΏΡ€Π°Π²Π° для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.\r\nfunction ChangeRightCycle(elem) {\r\n var sp = $(elem).parent();\r\n var rightsClass = sp.attr(\"class\");\r\n var rightsID = sp.children(\".\" + rightsClass).attr(\"name\");\r\n \r\n if (!rightsID) rightsID = g_MaxRightsValue;\r\n if (rightsID == 0 && g_MaxRightsValue > 0) return;\r\n rightsID -= 1;\r\n if (rightsID < g_MaxRightsValue) rightsID = 2;\r\n\r\n // Если ΠΏΡ€Π°Π²Π° ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹, Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΠΌ Π² View.\r\n if (rightsClass === 'empty') {\r\n rightsID = 2;\r\n }\r\n\r\n sp.children(\"[name='\" + rightsID + \"']\").click();\r\n}\r\n\r\n// Ѐункция ΠΏΡ€ΠΈ Π½Π°Π²Π΅Π΄Π΅Π½ΠΈΠΈ ΠΌΡ‹ΡˆΠΊΠΈ Π½Π° строку ΠΏΡ€Π°Π².\r\nfunction UserRightsMouseOver(event) {\r\n var el = $(event.currentTarget);\r\n var DelIco = el.find('td:first p');\r\n if (DelIco.length > 0) {\r\n el.addClass('over');\r\n DelIco.css('visibility', 'visible');\r\n }\r\n}\r\n\r\n// Ѐункция ΠΏΡ€ΠΈ ΠΎΡ‚Π²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΌΡ‹ΡˆΠΊΠΈ со строки ΠΏΡ€Π°Π².\r\nfunction UserRightsMouseOut(event) {\r\n var el = $(event.currentTarget);\r\n var DelIco = el.find('td:first p');\r\n if (DelIco.length > 0) {\r\n DelIco.css('visibility', 'hidden');\r\n el.removeClass('over');\r\n }\r\n}\r\n\r\n// УдаляСт Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈΠ· ΠΏΡ€Π°Π².\r\nfunction RemoveUserFromRights(elem) {\r\n var el = $(elem);\r\n var tr = el.parent().parent();\r\n\r\n //Ссли ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ всСго ΠΎΠ΄ΠΈΠ½, Ρ‚ΠΎ ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ Π΅Π³ΠΎ нСльзя\r\n if (tr.parent().parent().find('tbody>tr.rights-table__row').length < 2) {\r\n ShowInfo(L(\"WARN_EMPRY_RIGHTS_ISNOT_VALID\"));\r\n } else {\r\n var UserID = GetUserID(tr);\r\n // Ссли ΠΏΡ€Π°Π²Π° Π½Π΅ ΠΏΠΎΠ»Π½Ρ‹Π΅, Ρ‚ΠΎ Π·Π°ΠΏΡ€Π΅Ρ‚ΠΈΠΌ ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ ΠΈΠ· списка ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΡƒΠΆΠ΅ Π±Ρ‹Π»ΠΈ Π½Π°Π·Π½Π°Ρ‡Π΅Π½Ρ‹ ΠΏΡ€Π°Π²Π°\r\n if (g_MaxRightsValue != 0 && IsOldUser(UserID)) return;\r\n var SelUsers = $(\"input[name='__SELECTED_USERS']\");\r\n var oldSelUsers = SelUsers.val().split(';');\r\n\r\n\r\n //Если ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ с ΠΏΠΎΠ»Π½Ρ‹ΠΌΠΈ ΠΏΡ€Π°Π²Π°ΠΌΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈ ΠΌΡ‹ Π΅Π³ΠΎ удаляСм,\r\n if (!GetFullRightsUserCount(UserID) && isExistUsersWithFullRights()) return ShowInfo(L(\"WARN_EMPRY_RIGHTS_ISNOT_VALID\"));\r\n // УдяляСт Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈΠ· ΠΏΡ€Π°Π²Π°.\r\n for (var i = 0; i < oldSelUsers.length; i++) {\r\n var oldUser = oldSelUsers[i].split('-');\r\n if (oldUser[0] == UserID) {\r\n oldSelUsers[i] = '';\r\n break;\r\n }\r\n }\r\n\r\n SelUsers.val(oldSelUsers.join(';').replace(';;', ';'));\r\n tr.remove();\r\n\r\n MarkUser($('.Rights').find('div#' + UserID), false);\r\n }\r\n\r\n\r\n $('.Rights').trigger('rightsChange');\r\n}\r\n\r\nfunction MarkUser(el, mark) {\r\n if (el.length > 0) {\r\n if (el.hasClass('bubble')) {\r\n // Если Π²Ρ‹Π±Ρ€Π°Π½ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ Π³Π°Π»ΠΎΡ‡ΠΊΡƒ.\r\n if (mark) {\r\n el.unbind('mouseenter mouseleave').children('i').attr('title', '');\r\n } else {\r\n // Если Π½Π΅Ρ‚, Ρ‚ΠΎ ΠΏΡ€ΠΈ Π½Π°Π²Π΅Π΄Π΅Π½ΠΈΠΈ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ стрСлочку для добавлСния ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π² ΠΏΡ€Π°Π²Π°.\r\n el\r\n .hover(function () {\r\n $(this).children('i').show();\r\n }, function () {\r\n $(this).children('i').hide();\r\n })\r\n .children('i')\r\n .removeClass('TaskAndJob/PerformJob_16.png').addClass('Rights_AddUserOrGroup.png')\r\n .attr('title', L('ADD'))\r\n .hide()\r\n .one('click.Rights', function () { //событиС click убСрСтся послС ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ ΠΊΠ»ΠΈΠΊΠ° ΠΏΠΎ стрСлочкС\r\n AddUserByDiv(el.data('div'));\r\n MarkUser(el, true);\r\n });\r\n }\r\n } else {\r\n el = $('.Rights').find('div#' + el.attr('id')); // Π½Π°Ρ…ΠΎΠ΄ΠΈΠΌ всС Ρ‚Π°ΠΊΠΈΠ΅ элСмСнты Π² Π΄Π΅Ρ€Π΅Π²Π΅\r\n if (el.length > 0) {\r\n var img = el.find('p.icon');\r\n if (el.attr('id').charAt(0) != 'g') // user\r\n {\r\n if (mark) {\r\n img.removeClass('user-tree__icon_user').removeClass('user-tree__icon_fav-user').addClass('user-tree__icon_selected-user');\r\n el.addClass('marked');\r\n } else {\r\n img.removeClass('user-tree__icon_selected-user').addClass(el.hasClass('favorite') ? 'user-tree__icon_fav-user' : 'user-tree__icon_user');\r\n $('.treeview > #0').find('.user-tree__icon_fav-user').removeClass('user-tree__icon_fav-user').addClass('user-tree__icon_user');\r\n el.removeClass('marked');\r\n }\r\n } else { // group\r\n if (mark) {\r\n img.removeClass('user-tree__icon_group').removeClass('user-tree__icon_fav-group').addClass('user-tree__icon_selected-group');\r\n el.addClass('marked');\r\n } else {\r\n img.removeClass('user-tree__icon_selected-group').addClass(el.hasClass('favorite') ? 'user-tree__icon_fav-group' : 'user-tree__icon_group');\r\n $('.treeview > #0').children('ul').find('.user-tree__icon_fav-group').removeClass('user-tree__icon_fav-group').addClass('user-tree__icon_group');\r\n el.removeClass('marked');\r\n }\r\n }\r\n }\r\n }\r\n }\r\n}\r\n\r\n// ДобавляСт ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.\r\nfunction AddUserByDiv(elem) {\r\n var el = $(elem);\r\n var NewUserID = el.attr('id');\r\n var NewUserName = el.find('span > div').text();\r\n\r\n var table = $('.Rights_Table');\r\n var lastFilledRow = table.find('tr:last');\r\n\r\n if (table.find(`tr#new_${NewUserID},tr#current_${NewUserID}`).length) {\r\n // Π½Π΅ добавляСм ΡŽΠ·Π΅Ρ€ΠΎΠ² нСсколько Ρ€Π°Π·\r\n return false;\r\n }\r\n\r\n $('.Rights').trigger('rightsChange');\r\n\r\n MarkUser(el, true);\r\n\r\n // Для добавляСмых ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΏΡ€Π°Π²Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° Ρ‡Ρ‚Π΅Π½ΠΈΠ΅.\r\n const NewUserRight = 2;\r\n\r\n let newRow = lastFilledRow.clone(true);\r\n newRow.attr('id', 'new_' + NewUserID);\r\n\r\n // Π½Π° случай Ссли Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ Π΄Π΅Π»Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€Π°Π²\r\n let jRemoveButton = newRow.find('svg:first');\r\n jRemoveButton.attr('title', L('REMOVE_FROM_RIGHTS_LIST'));\r\n try {\r\n jRemoveButton[0].classList.remove('disabled');\r\n } catch(e) {}\r\n\r\n let jCircleCell = newRow.find('td:last');\r\n jCircleCell.attr('title', L('PUSH_TO_CHANGE_TYPE_RIGHT'));\r\n\r\n // ΠŸΡ€ΠΈ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠΈ послСднСй Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½ΠΎΠΉ, ΠΊΠΎΠΏΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΈ стили disabled.\r\n // Π‘Π½ΠΈΠΌΠ΅ΠΌ ΠΈΡ… Π² соотвСтствии с максимально Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΌΠΈ для назначСния ΠΏΡ€Π°Π²Π°ΠΌΠΈ.\r\n $.each(jCircleCell.find('svg'), (index, element) => {\r\n let jCellElement = $(element);\r\n let circleRight = +jCellElement.attr('name');\r\n if (circleRight >= g_MaxRightsValue) {\r\n jCellElement.removeClass('disabled');\r\n jCellElement.attr('title', '');\r\n } else {\r\n jCellElement.addClass('disabled');\r\n jCellElement.attr('title', L('CANNOT_ASSIGN_RIGHTS_HIGHER'));\r\n }\r\n });\r\n jCircleCell.find('span').removeClass('disabled');\r\n\r\n var newRow_div = newRow.find('td div').text(NewUserName);\r\n lastFilledRow.after(newRow.show());\r\n\r\n //Подсказка\r\n var hintData = getHintDataObj(el);\r\n if (typeof hintData !== 'undefined') {\r\n // Подсказка Π΅ΡΡ‚ΡŒ, Π·Π½Π°Ρ‡ΠΈΡ‚ НЕ Π½Π°Π΄ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ title.\r\n newRow_div.removeAttr('title');\r\n\r\n var hint = newRow.find('.Rights_Table_td');\r\n hint.removeClass('hintInit').qtip('hide').removeAttr('data-hint').data('data-hint', hintData)\r\n InitAdditionalInfoTooltip(hint);\r\n } else {\r\n // Подсказки Π½Π΅Ρ‚, Π·Π½Π°Ρ‡ΠΈΡ‚ Π½Π°Π΄ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ title.\r\n newRow_div.attr('title', NewUserName);\r\n var rightsCell = newRow.find('.Rights_Table_td');\r\n rightsCell.removeClass('hint').removeClass('hintInit').qtip('hide').qtip('destroy');\r\n rightsCell.removeAttr(\"data-hint\");\r\n }\r\n\r\n // ΠŸΠ΅Ρ€Π΅ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌ подсказки.\r\n newRow.parent().find('.hint').each(function () {\r\n $(this).removeClass('hintInit').qtip('hide');\r\n InitAdditionalInfoTooltip($(this));\r\n });\r\n\r\n SetNewRight(newRow.find('td:last svg:first'), NewUserRight);\r\n\r\n var SelUsers = $(\"input[name='__SELECTED_USERS']\");\r\n var oldSelUsers = SelUsers.val();\r\n SelUsers.val(oldSelUsers + NewUserID + '-' + NewUserRight + ';');\r\n\r\n return true;\r\n}\r\n\r\n/* =Π€ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Π² ΠΏΡ€Π°Π²Π°Ρ…================================================================================================================== */\r\nvar UserFilterTTimeout;\r\nfunction ClearInputFilterUser(el) {\r\n if (!$.ipad) {\r\n if ($(el).hasClass('Req_Gray')) {\r\n $(el).removeClass('Req_Gray');\r\n $(el).val('');\r\n }\r\n } else {\r\n $(el).trigger('keyup');\r\n }\r\n}\r\nfunction SetDefaultFilterValue(el, value) {\r\n if (!$.ipad) {\r\n if ($(el).val().length == 0) {\r\n $(el).val(value);\r\n $(el).addClass('Req_Gray');\r\n }\r\n }\r\n}\r\n\r\nfunction FilterUser(idSrc, idDest, el) {\r\n clearTimeout(UserFilterTTimeout);\r\n UserFilterTTimeout = setTimeout(function () { DoFilter(idSrc, idDest, el); }, 400);\r\n}\r\nfunction DoFilter(idSrc, idDest, el) {\r\n var elJq = $(el);\r\n var value = $.trim(elJq.val());\r\n if (value.length != 0) {\r\n $('#' + idDest).empty();\r\n var GlobalFilterUser = \"\";\r\n $('#' + idSrc + ' span[innerHTML]').each(function () {\r\n if (($(this).attr('innerHTML').toUpperCase().indexOf(value.toUpperCase()) != -1) && ($(this).parent().attr('id').split('g_').length == 1)) {\r\n var div = $(this).parent();\r\n if (GlobalFilterUser.indexOf(div.attr('id')) == -1) {\r\n var cloneDiv = div.clone(true);\r\n $('#' + idDest).append(cloneDiv);\r\n GlobalFilterUser = GlobalFilterUser + div.attr('id') + \";\";\r\n }\r\n }\r\n });\r\n $('#' + idDest).show();\r\n $('#' + idSrc).hide();\r\n }\r\n else {\r\n $('#' + idDest).empty().hide();\r\n $('#' + idSrc).show();\r\n }\r\n}\r\n\r\nfunction FilterUserAjax(ev, UserTreeId, FilterAreaId, ObjectID, ObjectType, el, defvalue) {\r\n clearInlineHint(el);\r\n clearTimeout(UserFilterTTimeout);\r\n UserFilterTTimeout = setTimeout(function () { AjaxUserSearch(UserTreeId, FilterAreaId, ObjectID, ObjectType, el, defvalue); }, 400);\r\n return ev.keyCode != 13;\r\n}\r\n\r\n//Поиск ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ajax.\r\nfunction AjaxUserSearch(UserTreeId, FilterAreaId, ObjectID, ObjectType, el, defvalue) {\r\n var elJq = $(el);\r\n var value = $.trim(elJq.val());\r\n if (value.length != 0 && value != defvalue) {\r\n\r\n if (Core.isStatisticEnabled) {\r\n ///Π—Π°ΠΏΠΈΡΡŒ Π² статистику\r\n WA.CR.statistics.write({\r\n page: WA.getLocation(),\r\n action: \"FilterQuery\",\r\n area: 'UsersTree',\r\n target: elJq.get(0)\r\n });\r\n };\r\n\r\n $.ajax({\r\n type: \"POST\",\r\n contentType: \"application/json; charset=utf-8\",\r\n dataType: \"json\",\r\n url: \"/UserList.asmx/GetUsers\",\r\n data: \"{'ObjectID':\" + ObjectID + \", 'ObjectType':\" + ObjectType + \", 'FolderID':'', 'Filtrator':'\" + value + \"'}\",\r\n async: true,\r\n cache: false,\r\n success: function (res) {\r\n var FilterArea = $('#' + FilterAreaId);\r\n $('#' + UserTreeId).hide();\r\n $('#ShowingTreeError').hide();\r\n\r\n var SelUsers = ';' + $(\"input[name='__SELECTED_USERS']\").val();\r\n\r\n FilterArea.empty().show();\r\n\r\n if (res.d.Result.length == 0) {\r\n FilterArea.append('
    ' + L('EMPTY_WITH_FILTER') + '
    ');\r\n } else {\r\n $(res.d.Result).each(function () {\r\n var currUser = this;\r\n var itemId = currUser.id;\r\n if (currUser.isGroup) itemId = 'g_' + itemId;\r\n var isSelected = (SelUsers.indexOf(';' + itemId + '-') != -1);\r\n var u;\r\n if (currUser.id > -1) {\r\n if (currUser.hint == null) {\r\n // Подсказки НЕ настроСны.\r\n u = $(currUser.text);\r\n if (u.hasClass('hint')) {\r\n u.each(function () {\r\n InitAdditionalInfoTooltip($(this));\r\n });\r\n }\r\n MarkUser(u, isSelected);\r\n } else {\r\n // Подсказки настроСны.\r\n u = $(GenerateAdditionalInfoTooltipHtml(currUser.hint));\r\n u.attr('id', itemId).data('div', currUser.text).append('');\r\n MarkUser(u, isSelected);\r\n }\r\n } else {\r\n // -1 - сообщСниС ΠΎΠ± ошибкС.\r\n if (this.text) {\r\n u = $('
    ' + (currUser.text) + '
    ');\r\n } else {\r\n u = null;\r\n }\r\n }\r\n if (u) {\r\n FilterArea.append(u);\r\n }\r\n });\r\n if ($.ipad || WA.ENV.isAndroid()) {\r\n InitTabletContextMenu(FilterArea.find('.Rights_List_div'));\r\n }\r\n MarkAllGroupsAndUsers($('.Rights'));\r\n };\r\n }\r\n });\r\n } else {\r\n $('#' + UserTreeId).show();\r\n CheckIfFavoritesEmpty($('li#0'));\r\n var rightsTable = $('.Rights');\r\n if (rightsTable.data('needUpdTree') == true) {\r\n rightsTable.trigger('reload.UserTree', [false]);\r\n rightsTable.data('needUpdTree', null);\r\n }\r\n $('#' + FilterAreaId).hide();\r\n }\r\n}\r\n\r\nfunction InitRightsUserTreeKeyNavigation() {\r\n var tree = $('ul.treeview:visible');\r\n var filterResults = $('.Filter_User_View');\r\n var mainContent = $('#scroller');\r\n var rightsTable = $('.Rights_Table');\r\n var rightsUserList = $('.Rights_User_List');\r\n if (!$.ipad) {\r\n mainContent.height(mainContent.parent().parent().height()).css('overflow', 'auto');\r\n }\r\n\r\n var UpDownKeyNavigation = function (down) {\r\n if (tree.length > 0 && tree.css('display') != \"none\") {\r\n var currentItem = tree.find('div.over').parents('li:first');\r\n if (currentItem.length) {\r\n // ΠΎΡ‚ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ элСмСнта Π΄Π΅Π»Π°Π΅ΠΌ поиск Π² 3-Ρ… направлСниях: Π² Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΡ… элСмСнтах, Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… элСмСнтах Π½Π° ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ Π²Ρ‹ΡˆΠ΅ ΠΈ Π² элСмСнтах Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ уровня\r\n var nextItem;\r\n if (down) {\r\n nextItem = currentItem.find('li:visible:first');\r\n if (nextItem.length == 0) { // Ссли Π½Π΅ нашли Π²Π½ΠΈΠ·Ρƒ\r\n nextItem = FindSiblingOrParent(currentItem, down);\r\n }\r\n }\r\n else {\r\n nextItem = FindSiblingOrParent(currentItem, down);\r\n }\r\n if (nextItem.length) {\r\n UnhoverAllItems();\r\n HoverItem(nextItem);\r\n ScrollToHoveredItem(nextItem, down);\r\n }\r\n }\r\n else {\r\n if (down) {\r\n HoverItem(tree.find('li:visible:first'));\r\n mainContent.scrollTop(0);\r\n }\r\n else {\r\n HoverItem(tree.find('li:visible:last'));\r\n mainContent.scrollTop(100000);\r\n }\r\n }\r\n }\r\n else {\r\n var currentItem = filterResults.find('div.over');\r\n if (currentItem.length) {\r\n var nextItem;\r\n if (down) {\r\n nextItem = currentItem.next('.Rights_List_div');\r\n }\r\n else {\r\n nextItem = currentItem.prev();\r\n }\r\n if (!nextItem.length) nextItem = currentItem;\r\n UnhoverAllItems();\r\n HoverItem(nextItem);\r\n ScrollToHoveredItem(nextItem, down);\r\n }\r\n else {\r\n if (down) {\r\n HoverItem(filterResults.children('div:first:visible'));\r\n mainContent.scrollTop(0);\r\n }\r\n else {\r\n HoverItem(filterResults.children('div:last:visible'));\r\n mainContent.scrollTop(100000);\r\n }\r\n }\r\n }\r\n };\r\n\r\n var FindSiblingOrParent = function (item, down) {\r\n var nextItem;\r\n if (down) {\r\n nextItem = item.next('li:visible:first'); // ΠΈΡ‰Π΅ΠΌ слСд элСмСнт Π½Π° этом ΠΆΠ΅ ΡƒΡ€ΠΎΠ²Π½Π΅\r\n if (nextItem.length == 0) { // Ссли Π½Π΅ нашли\r\n if (!item.parent('.treeview').length) { // ΠΈ Ссли Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ элСмСнт это Π½Π΅ всС Π΄Π΅Ρ€Π΅Π²ΠΎ, ΠΈ Π·Π½Π°Ρ‡ΠΈΡ‚ Π΅ΡΡ‚ΡŒ ΠΊΡƒΠ΄Π° ΠΏΠΎΠ΄Π½ΠΈΠΌΠ°Ρ‚ΡŒΡΡ Π²Ρ‹ΡˆΠ΅\r\n nextItem = FindSiblingOrParent(item.parents('li:visible:first'), down); // ΠΈΡ‰Π΅ΠΌ сиблингов Ρƒ родитСля ΠΈΠ»ΠΈ Π΅Π³ΠΎ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΉ\r\n } else {\r\n nextItem = item;\r\n }\r\n }\r\n } else { // Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π²Π²Π΅Ρ€Ρ…\r\n nextItem = item.prev('li:visible:first'); // ΠΈΡ‰Π΅ΠΌ спСрва сиблинга\r\n var sibling = true;\r\n if (nextItem.length == 0) { // Ссли Π΅Π³ΠΎ Π½Π΅ нашли ΠΈ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ элСмСнт Π½Π΅ само Π΄Π΅Ρ€Π΅Π²ΠΎ, ΠΈ Π·Π½Π°Ρ‡ΠΈΡ‚ Π΅ΡΡ‚ΡŒ ΠΊΡƒΠ΄Π° ΠΏΠΎΠ΄Π½ΠΈΠΌΠ°Ρ‚ΡŒΡΡ Π²Ρ‹ΡˆΠ΅\r\n if (!item.parent('.treeview').length) {\r\n nextItem = item.parents('li:visible:first'); // Ρ‚ΠΎ Π±Π΅Ρ€Π΅ΠΌ родитСля\r\n sibling = false;\r\n if (nextItem.length == 0) { // Ссли Π΅Π³ΠΎ Π½Π΅ нашли, Ρ‚ΠΎ пытаСмся Π½Π°ΠΉΡ‚ΠΈ сиблинга родитСля ΠΈΠ»ΠΈ Π΅Π³ΠΎ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΉ\r\n nextItem = FindSiblingOrParent(item.parents('li:visible:first'), down);\r\n }\r\n } else { // Ссли Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ - это всС Π΄Π΅Ρ€Π΅Π²ΠΎ, Ρ‚ΠΎ ΠΌΡ‹ Π½Π° ΠΊΡ€Π°ΠΉΠ½Π΅ΠΌ элСмСнтС ΠΈ Π½ΠΈΠΊΡƒΠ΄Π° Π½Π΅ двигаСмся\r\n nextItem = item;\r\n sibling = false;\r\n }\r\n }\r\n if (sibling) { // Ссли нашли сиблинга, Ρ‚ΠΎ провСряСм Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΡ… ΡƒΠ·Π»ΠΎΠ² ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ ΠΊ Π½ΠΈΠΌ\r\n var subItem = nextItem.find('li:visible:last');\r\n if (subItem.length) {\r\n nextItem = subItem;\r\n }\r\n }\r\n }\r\n return nextItem;\r\n };\r\n\r\n var ExpandOrCollapseGroup = function (expand) {\r\n if (tree.length > 0 && tree.css('display') != \"none\") {\r\n var currentItem = tree.find('div.over').parents('li:visible:first');\r\n if (expand) {\r\n if (currentItem.hasClass('expandable')) {\r\n currentItem.children('div.hitarea').click();\r\n }\r\n } else {\r\n if (currentItem.hasClass('collapsable')) {\r\n currentItem.children('div.hitarea').click();\r\n } else {\r\n if (!currentItem.parent('.treeview').length) {\r\n var parent = currentItem.parents('li:visible:first');\r\n UnhoverAllItems();\r\n HoverItem(parent);\r\n parent.children('div.hitarea').click();\r\n }\r\n }\r\n }\r\n }\r\n };\r\n\r\n var ScrollToHoveredItem = function (item, down) {\r\n if (tree.filter(':visible').height() > mainContent.height() ||\r\n (filterResults.height() > mainContent.height() && filterResults.css('display') != \"none\")) {\r\n\r\n var height = 65;\r\n var currentID = item.attr('id');\r\n var lis = tree.filter(':visible').length ? tree.find('li:visible') : filterResults.children('.Rights_List_div');\r\n\r\n\r\n if (down) {\r\n for (var i = lis.length - 1; i >= 0; i--) {\r\n if ($(lis[i]).attr('id') == currentID) {\r\n height += (i + 1) * 24;\r\n break;\r\n }\r\n }\r\n if (mainContent.height() - height < 100) {\r\n mainContent.scrollTop(mainContent.scrollTop() + 24);\r\n }\r\n } else {\r\n for (var i = 0; i < lis.length; i++) {\r\n if ($(lis[i]).attr('id') == currentID) {\r\n height += (i + 1) * 24;\r\n break;\r\n }\r\n }\r\n if (height - mainContent.scrollTop() < 100) {\r\n mainContent.scrollTop(mainContent.scrollTop() - 24);\r\n }\r\n }\r\n }\r\n };\r\n\r\n var HoverItem = function (item) {\r\n UnhoverAllItems();\r\n if (tree.length == 0 || tree.css('display') == \"none\") {\r\n item.filter('div.Rights_List_div:first').addClass('over');\r\n } else {\r\n item.find('div.Rights_List_div:first').addClass('over');\r\n }\r\n if (!item.hasClass('notallshown') && item.length) {\r\n if (item.find('p:first')[0].className.indexOf('Marked') == -1) {\r\n item.find('p.treeview_img_action:first').css('visibility', 'visible');\r\n }\r\n }\r\n };\r\n var UnhoverAllItems = function () {\r\n var title = rightsUserList.find('div.over'); //tree.css('display') == \"none\" ? filterResults.find('div.over') : tree.find('div.over');\r\n if (title.length == 0) title = rightsUserList.find('ul').find('div.over');\r\n title.removeClass('over').find('p.treeview_img_action').css('visibility', 'hidden');\r\n title.parent().removeClass('hover');\r\n };\r\n\r\n var SelectItem = function () {\r\n tree.length == 0 || tree.css('display') == \"none\" ?\r\n filterResults.find('div.over').click() :\r\n tree.find('div.over').click();\r\n };\r\n\r\n var DeselectItem = function () {\r\n var item = tree.length == 0 || tree.css('display') == \"none\" ?\r\n filterResults.find('div.over').click() :\r\n tree.find('div.over').click();\r\n var tr = rightsTable.find('tr[id$=\"_' + item.attr('id') + '\"]');\r\n RemoveUserFromRights(tr.find('td:first').children());\r\n };\r\n\r\n var scope = 'common';\r\n key('down', scope, function () { UpDownKeyNavigation(true); return false; });\r\n key('up', scope, function () { UpDownKeyNavigation(false); return false; });\r\n key('right', scope, function () { ExpandOrCollapseGroup(true); return false; });\r\n key('left', scope, function () { ExpandOrCollapseGroup(false); return false; });\r\n key('enter', scope, function () { SelectItem(); return false; });\r\n key('delete', scope, function () { DeselectItem(); return false; });\r\n key('shift+tab', scope, function () { $(':focus').blur(); $('input.Filter_Text').focus(); UnhoverAllItems(); return false; });\r\n $('input.Filter_Text').focus(function () { ClearInputFilterUser(this); UnhoverAllItems(); });\r\n // key('shift+down', function () { UpDownKeyNavigation(true); return false; });\r\n // key('shift+up', function () { UpDownKeyNavigation(false); return false; });\r\n // key('shift+right', function () { ExpandOrCollapseGroup(true); return false; });\r\n // key('shift+left', function () { ExpandOrCollapseGroup(false); return false; });\r\n // key('shift+enter', function () { SelectItem(); return false; });\r\n // key('shift+delete', function () { DeselectItem(); return false; });\r\n}\r\n","function InitializeSessionRoutiness() {\r\n setTimeout(SessionKeepAlive, SessionUpdateTime);\r\n}\r\n\r\nfunction SessionKeepAlive() {\r\n $.ajax({\r\n type: \"POST\",\r\n contentType: \"application/json; charset=utf-8\",\r\n dataType: \"json\",\r\n url: \"api/UserSession.asmx/KeepAlive\",\r\n cache: false,\r\n success: function (data, textStatus, xhr) {\r\n const storedNotifications = JSON.parse(localStorage.getItem('notifications')) || [];\r\n const storedIds = storedNotifications.map(function (item) { return item.id; });\r\n\r\n const recievedNotifications = JSON.parse(xhr.responseJSON.d.Result);\r\n recievedNotifications.forEach(function (notificationObj) {\r\n if (!storedIds.includes(notificationObj.id)) {\r\n notificationObj.new = true;\r\n storedNotifications.unshift(notificationObj);\r\n }\r\n });\r\n\r\n localStorage.setItem('notifications', JSON.stringify(storedNotifications));\r\n\r\n const ntfCount = recievedNotifications.length;\r\n if (ntfCount && WA.ENV.browser.name !== 'IE') {\r\n document.notificationsPanel.render().notifyNew(recievedNotifications);\r\n }\r\n\r\n // Π’ мобильной вСрсии WebAccess Π½Π΅Ρ‚.\r\n try {\r\n if (WebAccess) {\r\n $.when(WA.AgentInit).done(function () {\r\n WebAccess.agent.keepAlive();\r\n });\r\n }\r\n } catch (e) {\r\n console.log('using WebAccess to keep alive the Agent');\r\n }\r\n setTimeout(SessionKeepAlive, SessionUpdateTime);\r\n if (!WA.services._isSessionAlive(xhr.status)) return;\r\n },\r\n error: function (err) {\r\n setTimeout(SessionKeepAlive, SessionUpdateTime);\r\n if (!WA.services._isSessionAlive(err.status)) return;\r\n }\r\n });\r\n}\r\n\r\nfunction ObjLockKeepAlive(url, data) {\r\n var R = false;\r\n var obj = {\r\n timeout: null //Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π»Π° ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π° ΠΏΠΎ сслыкС\r\n };\r\n\r\n //TODO ΠŸΠΎΡ‡Π΅ΠΌΡƒ синхронныС запросы?\r\n $.ajax({\r\n type: \"POST\",\r\n contentType: \"application/json; charset=utf-8\",\r\n dataType: \"json\",\r\n url: url,\r\n cache: false,\r\n async: false,\r\n data: data,\r\n success: function (res) {\r\n R = res.d;\r\n },\r\n error: function (err) {\r\n obj.timeout = setTimeout(function () { ObjLockKeepAlive.call(ObjLockKeepAlive, url, data) }, LockUpdateTime);\r\n if (!WA.services._isSessionAlive(err.status)) return;\r\n }\r\n });\r\n if (R) {\r\n obj.timeout = setTimeout(function () { ObjLockKeepAlive.call(ObjLockKeepAlive, url, data) }, LockUpdateTime);\r\n }\r\n\r\n return obj;\r\n}\r\n","(function (exports) {\r\n\r\n // МодСль ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ. ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€.\r\n let User = exports.User = function (data) {\r\n _.extend(this, data);\r\n };\r\n\r\n User.prototype.constructor = User;\r\n User.prototype.toString = function () {\r\n return '[object models.User]';\r\n };\r\n\r\n // ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.\r\n User.current = function () {\r\n return User._current;\r\n };\r\n\r\n})(window.models || (window.models = {}));\r\n","(function (global) {\r\n\r\n /**\r\n * ΠšΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡ элСмСнтов. \r\n * @class WebAccess.Collection\r\n * @param {object} elements Π­Π»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ.\r\n * @since 5.0.0.7100\r\n */\r\n var Collection = Class.extend({\r\n className: \"Collection\",\r\n\r\n /**\r\n * Массив элСмСнтов.\r\n * @since 5.0.0.7100\r\n * @private\r\n */\r\n _arr: [],\r\n\r\n /**\r\n * ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€.\r\n * @since 5.0.0.7100\r\n * @private\r\n */\r\n init: function (elements) {\r\n this._arr = [];\r\n for (var name in elements) {\r\n this.addElement(name, elements[name]);\r\n }\r\n },\r\n\r\n /**\r\n * ДобавляСт Π½ΠΎΠ²Ρ‹ΠΉ элСмСнт Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ.\r\n * @method WebAccess.Collection#addElement\r\n * @param {string} name НазваниС элСмСнта ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ.\r\n * @param {object} data Π”Π°Π½Π½Ρ‹Π΅ элСмСнта ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ.\r\n * @return {WebAccess.Collection}\r\n * @since 5.0.0.7100\r\n */\r\n addElement: function (name, data) { \r\n this[name] = data;\r\n if (!$.isFunction(data)) this._arr.push(data);\r\n return this;\r\n },\r\n\r\n /**\r\n * УдаляСт элСмСнт ΠΈΠ· ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ.\r\n * @method WebAccess.Collection#deleteElement\r\n * @param {string} name НазваниС элСмСнта ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ.\r\n * @return {object} Π£Π΄Π°Π»Π΅Π½Π½Ρ‹ΠΉ элСмСнт.\r\n * @since 5.0.0.7100\r\n */\r\n deleteElement: function (name) {\r\n var me = this;\r\n var deletedElement = null;\r\n if (me[name]) {\r\n deletedElement = me[name];\r\n delete me[name];\r\n\r\n for (var i = 0; i < me._arr.length; i++) {\r\n if (me._arr[i] === deletedElement) {\r\n me._arr.splice(i, 1);\r\n break;\r\n }\r\n }\r\n }\r\n return deletedElement;\r\n },\r\n\r\n /**\r\n * ΠžΡ‡ΠΈΡ‰Π°Π΅Ρ‚ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ.\r\n * @method WebAccess.Collection#clear\r\n * @return {WebAccess.Collection}\r\n */\r\n clear: function () {\r\n var me = this;\r\n for (var name in me) {\r\n if ($.inArray(me[name], me._arr) !== -1) {\r\n delete me[name];\r\n }\r\n }\r\n this._arr = [];\r\n return this;\r\n },\r\n\r\n /**\r\n * Кол-Π²ΠΎ элСмСнтов ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ\r\n * @method WebAccess.Collection#count\r\n * @return {integer}\r\n */\r\n count: function () {\r\n return this._arr.length;\r\n },\r\n\r\n /**\r\n * ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅Ρ‚ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ элСмСнта Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ.\r\n * @method WebAccess.Collection#isExist\r\n * @param {string} name НазваниС элСмСнта ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ.\r\n * @return {Boolean}\r\n */\r\n isExist: function (name) {\r\n return !!this[name];\r\n },\r\n\r\n /**\r\n * Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ элСмСнты ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Π² Π²ΠΈΠ΄Π΅ массива.\r\n * @method WebAccess.Collection#toArray\r\n * @return {Array}\r\n */\r\n toArray: function () {\r\n return this._arr;\r\n }\r\n\r\n });\r\n\r\n global.Collection = Collection;\r\n\r\n})(window.WebAccess);","\"use strict\";\r\n\r\n(function (global) {\r\n\r\n /**\r\n * ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΠ΅Ρ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ со ссылками Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹.\r\n *\r\n * @mixin WebAccess.mixins.linkMixin\r\n * @since 5.0.0.7300\r\n */\r\n var linkMixin = {\r\n\r\n /**\r\n * ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ ссылку Π² Π½ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅.\r\n *\r\n * @method WebAccess.mixins.linkMixin#open\r\n * @return {WebAccess.mixins.link} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° link.\r\n */\r\n open: function () {\r\n var url = this.toURL();\r\n if (this.isNew) {\r\n url.setParam('mode', 'edit');\r\n };\r\n url.open();\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~// \r\n\r\n /**\r\n * ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ ссылку Π² desktop-ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅.\r\n *\r\n * @method WebAccess.mixins.linkMixin#openInDesktop\r\n * @return {WebAccess.mixins.link} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° link.\r\n */\r\n openInDesktop: function () {\r\n var url = this.toURL();\r\n url.setParam('Desktop', 1);\r\n url.setParam('-view');\r\n url.open();\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ ссылку Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° WA.URL.\r\n *\r\n * @method WebAccess.mixins.linkMixin#toURL\r\n * @return {WebAccess.URL} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° URL.\r\n */\r\n toURL: function () {\r\n //TODO Π¨Π°ΠΌΠΎΠ² А.: БломаСтся Π²Π΅Π·Π΄Π΅, ΠΊΡ€ΠΎΠΌΠ΅ Link, Ссли ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ этот mixin Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ классС.\r\n //Π¨Π°Π±Π°Ρ€Π΄ΠΈΠ½ П.: Π”Π° сломаСтся, Π½Ρƒ ΠΈ Ρ‡Ρ‚ΠΎ Ρ€Π°ΡΡˆΠΈΡ€ΠΈΠΌ URL, Π² Π½Π΅ΠΌ для этого Π½Π΅Ρ‚ ΠΏΡ€Π΅Π³Ρ€Π°Π΄, Π° Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΎΠ±ΡŠΠΊΠ΅Ρ‚ΠΎΠ² ΠΌΡ‹ ΠΏΠΎΠΊΠ° Π½Π΅ Π·Π½Π°Π΅ΠΌ, ΠΊΠΎΠ³Π΄Π° Π±ΡƒΠ΄Π΅ΠΌ Π΄Π΅Π»Π°Ρ‚ΡŒ - Ρ‚ΠΎΠ³Π΄Π° ΠΈ Ρ€Π°ΡΡˆΠΈΡ€ΠΈΠΌ.\r\n var url = new WA.URL(this);\r\n if (this.isNew) {\r\n url.setParam('mode', 'edit');\r\n };\r\n\r\n return url;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ ссылку Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° WebAccess.Models.Link, совмСстимый с сСрвСрной объСкной модСлью.\r\n *\r\n * @method WebAccess.mixins.linkMixin#toLinkModel\r\n * @return {Object} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° WebAccess.Models.Link.\r\n */\r\n toLinkModel: function () {\r\n return {\r\n ID: this.id,\r\n Kind: objectTypeToString(this.type),\r\n CompCode: this.referenceName\r\n }\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° WebAccess.Models.Link Π² ссылку.\r\n *\r\n * @method WebAccess.mixins.linkMixin#toLinkModel\r\n * @return {Object} Бсылка Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.\r\n */\r\n fromLinkModel: function (model) {\r\n if (!model) WA.raise('ERR_NOT_ALL_REQUIRED_ARGUMENTS_HAVE_BEEN_SUPLIED');\r\n this.id = model.ID;\r\n this.type = objectKindToObjectType(model.Kind);\r\n this.referenceName = model.CompCode;\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ строковоС прСдставлСниС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.\r\n *\r\n * @method WebAccess.mixins.linkMixin#asString\r\n * @since 5.0.0.7300 \r\n * @return {string} Π‘Ρ‚Ρ€ΠΎΠΊΠΎΠ²ΠΎΠ΅ прСдставлСниС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.\r\n */\r\n asString: function () {\r\n return $.toJSON({\r\n id: this.id,\r\n type: this.type,\r\n referenceName: this.referenceName\r\n });\r\n }\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n };\r\n\r\n global.linkMixin = linkMixin;\r\n})(window.WebAccess.mixins);","\"use strict\";\r\n(function (global) {\r\n\r\n /** \r\n * Бсылка Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.\r\n *\r\n * @class WebAccess.Link\r\n * @mixes WebAccess.mixins.linkMixin\r\n * @param {Integer} id Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°\r\n * @param {OBJECT_TYPE} type Π’ΠΈΠΏ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°\r\n * @param {String} [opt_referenceName] Имя справочника\r\n * @property {Integer} id Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°\r\n * @property {OBJECT_TYPE} type Π’ΠΈΠΏ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°\r\n * @property {String} referenceCode Имя справочника\r\n * @property {String} className Имя класса\r\n * @since 5.0.0.7300 \r\n */\r\n var Link = Class.extend([global.mixins.linkMixin], {\r\n className: \"Link\",\r\n id: 0,\r\n type: OBJECT_TYPE.UNKNOWN,\r\n referenceName: null,\r\n isNew: false,\r\n\r\n init: function (id, type, opt_referenceName) {\r\n if (isNaN(id) && typeof id !== 'object') {\r\n this.id = WA.CR.getID();\r\n this.type = WA.CR.getObjectType();\r\n this.referenceName = WA.CR.getReferenceCode();\r\n return this;\r\n }\r\n\r\n if (typeof id === 'object') {\r\n this.id = id['id'];\r\n this.type = id['type'];\r\n this.referenceName = id['referenceName'];\r\n } else {\r\n this.id = id;\r\n this.type = type;\r\n this.referenceName = opt_referenceName;\r\n }\r\n return this;\r\n }\r\n\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~// \r\n });\r\n\r\n global.Link = Link;\r\n})(window.WebAccess);","\"use strict\";\r\n(function (global) {\r\n\r\n /** \r\n * Бсылки.\r\n\r\n * @class WebAccess.URL\r\n * @param {String|WA.Link} url АдрСс URL, Π»ΠΈΠ±ΠΎ ссылка WA.Link Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ систСмы.\r\n * @property {String} className Имя класса \r\n * @property {integer} id Π˜Π” ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°\r\n * @since 5.0.0.7300\r\n */\r\n var URL = Class.extend({\r\n className: \"URL\",\r\n _url: '',\r\n\r\n init: function (url) {\r\n if (typeof url === 'object' && url.className === 'Link') {\r\n this._url = this._getUrlFromLink(url);\r\n } else {\r\n this._url = url;\r\n }\r\n if (!url) this._url = window.location.href;\r\n this._refresh();\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~// \r\n\r\n /**\r\n * todo, ΠΌΠΎΠΆΠ΅Ρ‚ ΠΊΠΎΠ³Π΄Π° Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ\r\n * @ignore\r\n */\r\n _refresh: function () {\r\n return;\r\n //$.extend(this, new window.URL(this._url));\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠžΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ URL-ссылку Π² Π½ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅.\r\n * ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅. Π‘Ρ€Π°ΡƒΠ·Π΅Ρ€ Google Chrome Π±Π»ΠΎΠΊΠΈΡ€ΡƒΠ΅Ρ‚ страницы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°ΡŽΡ‚ΡΡ Ρ‡Π΅Ρ€Π΅Π· асинхронный Π²Ρ‹Π·ΠΎΠ² ΠΈΠ»ΠΈ ΠΈΠ· ΠΏΠΎΡ‚ΠΎΠΊΠ°, \r\n * Π½Π΅ ΠΈΠΌΠ΅ΡŽΡ‰Π΅Π³ΠΎ прямого участия с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ. Для устранСния этой ситуации, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€, прСдставлСнный Π½ΠΈΠΆΠ΅.\r\n *\r\n * @method WebAccess.URL#open\r\n * @since 5.0.0.7300\r\n * @return {WebAccess.current.window} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° window.\r\n *\r\n * @example ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ ссылки Π² Π½ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅\r\n * var url = new WA.URL('/Explorer.aspx');\r\n * url.open();\r\n *\r\n * @example АсинхронноС ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²\r\n * function createTask() {\r\n * var taskTab = new WA.URL('/PleaseWait.aspx').open(); // Бсылка Π½Π° ΡƒΠΊΠ°Π·Π°Π½Π½ΡƒΡŽ Π²Π΅Π±-страницу открываСтся.\r\n * WebAccess.factories.tasks.createTask().done(function(task) {\r\n * // Если здСсь Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ task.toURL().open(), Ρ‚ΠΎ Π² Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π΅ Google Crome появится ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ ΠΎΠΊΠ½ΠΎ Π·Π°Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Π½ΠΎ.\r\n * task.toURL().openIn(taskTab);\r\n * // Π’Ρ‚ΠΎΡ€ΠΎΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚: taskTab.location.href = task.toURL();\r\n * });\r\n * };\r\n */\r\n open: function (opt_target) {\r\n opt_target = opt_target || '_blank';\r\n return window.open(this._url, opt_target);\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠžΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ URL-ссылку Π² ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ ΠΎΠΊΠ½Π΅.\r\n *\r\n * @method WebAccess.URL#openIn\r\n * @param {window} window Окно Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ URL-ссылку\r\n * @return {WebAccess.current.window} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° window.\r\n * @since 5.0.0.7300\r\n */\r\n openIn: function (win) {\r\n return win.location.href = this._url;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ URL-ссылки.\r\n *\r\n * @method WebAccess.URL#getParam\r\n * @param {String} paramName Имя ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°\r\n * @return {String} НаимСнованиС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° URL-ссылки.\r\n * @since 5.0.0.7300\r\n */\r\n getParam: function (paramName) {\r\n return this._getParam(paramName, this.asStringWithoutHash());\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠΈΠ· URL.\r\n *\r\n * @method WebAccess.URL#getParam\r\n * @param {String} paramName Имя ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°\r\n * @since 5.0.0.7300\r\n * @return {String}\r\n * @private\r\n */\r\n _getParam: function (paramName, url) {\r\n var param = this._getNonEncoded(url, paramName);\r\n try {\r\n return decodeURIComponent(param);\r\n } catch (_) {\r\n return param;\r\n }\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠΈΠ· Ρ…Π΅ΡˆΠ° URL-ссылки.\r\n *\r\n * @method WebAccess.URL#getParamInHash\r\n * @param {String} paramName Имя ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°\r\n * @since 5.0.0.7300\r\n * @return {String} НаимСнованиС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠ³ΠΎ ΠΈΠ· Ρ…Π΅ΡˆΠ° URL-ссылки.\r\n */\r\n getParamInHash: function (paramName) {\r\n return this._getParam(paramName, '?' + this.getHash());\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π‘ΠΎΠ·Π΄Π°Π΅Ρ‚ ΠΈΠ»ΠΈ измСняСт ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠΈΠ· Ρ…Π΅ΡˆΠ° URL-ссылки.\r\n *\r\n * @method WebAccess.URL#getParamInHash\r\n * @param {String} paramName Имя ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°\r\n * @since 5.2.0.1100\r\n * @return {String} НаимСнованиС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°, ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠ³ΠΎ ΠΈΠ· Ρ…Π΅ΡˆΠ° URL-ссылки.\r\n */\r\n setParamInHash: function (paramName, value) {\r\n var me = this;\r\n var newHash = me._setParam(paramName, value, '?' + me.getHash()).substr(1);\r\n if (newHash.charAt(0) === '&') newHash = newHash.substr(1); //УдаляСм лишний & Π²Π½Π°Ρ‡Π°Π»Π΅\r\n me._url = me.asStringWithoutHash() + '#' + newHash;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Ρ…Π΅Ρˆ URL-ссылки.\r\n *\r\n * @method WebAccess.URL#getHash\r\n * @since 5.0.0.7300\r\n * @return {String} Π‘Ρ‚Ρ€ΠΎΠ³Π°, содСрТащая Ρ…Π΅Ρˆ URL-ссылки.\r\n */\r\n getHash: function () {\r\n var hashIndex = this._url.indexOf('#');\r\n if (hashIndex != -1) {\r\n return this._url.substr(hashIndex + 1);\r\n } else {\r\n return \"\";\r\n }\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ Ρ„Π°ΠΉΠ»Π°.\r\n * @method WebAccess.URL#getExtension\r\n * @since 5.2.0.1100\r\n * @return {String}\r\n */\r\n getExtension: function () {\r\n return WA._getFileExtensionFromURL(this._url);\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ строку URL-ссылки Π±Π΅Π· Ρ…ΡΡˆ-символов.\r\n * @method WebAccess.URL#asStringWithoutHash\r\n * @since 5.0.0.7300\r\n * @return {String} Π‘Ρ‚Ρ€ΠΎΠΊΠ° URL-ссылки Π±Π΅Π· Ρ…ΡΡˆ-символов.\r\n */\r\n asStringWithoutHash: function () {\r\n var hashIndex = this._url.indexOf('#');\r\n if (hashIndex != -1) {\r\n return this._url.substr(0, hashIndex);\r\n } else {\r\n return this._url;\r\n }\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π‘ΠΎΠ·Π΄Π°Π΅Ρ‚ ΠΈΠ»ΠΈ измСняСт ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ URL-ссылки.\r\n *\r\n * @method WebAccess.URL#setParam\r\n * @param {String} paramName Имя ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°\r\n * @param {String} value НовоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρƒ\r\n * @return {WebAccess.URL} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° URL.\r\n * @since 5.0.0.7300\r\n */\r\n setParam: function (paramName, value) {\r\n var hash = this.getHash(this._url);\r\n\r\n this._url = this._setParam(paramName, value, this.asStringWithoutHash());\r\n if (hash)\r\n this._url = this._url + '#' + hash;\r\n\r\n this._refresh();\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π‘ΠΎΠ·Π΄Π°Π΅Ρ‚ ΠΈΠ»ΠΈ измСняСт ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ URL-ссылки.\r\n *\r\n * @method WebAccess.URL#setParam\r\n * @param {String} paramName Имя ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°\r\n * @param {String} value НовоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π·Π°Π΄Π°Π½Π½ΠΎΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρƒ\r\n * @param {String} url URL-ссылка.\r\n * @return {WebAccess.URL} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° URL.\r\n * @since 5.2.0.1100\r\n * @private\r\n */\r\n _setParam: function (paramName, value, url) {\r\n var newUrl = url;\r\n var re = new RegExp('([\\?|&])' + paramName + '=([^?&]*)', 'i');\r\n var m = re.exec(newUrl);\r\n if (!m) {\r\n newUrl += ((newUrl.indexOf('?') == -1) ? '?' : '&') + paramName + \"=\" + encodeURIComponent(value);\r\n } else {\r\n newUrl = newUrl.replace(re, m[1] + paramName + \"=\" + encodeURIComponent(value));\r\n }\r\n return newUrl;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * УдаляСт ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠΈΠ· URL-ссылки.\r\n *\r\n * @method WebAccess.URL#removeParam\r\n * @param {String} paramName Имя ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°\r\n * @since 5.0.0.7300\r\n * @return {WebAccess.URL} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° URL.\r\n */\r\n removeParam: function (paramName) {\r\n var me = this;\r\n var hash = me.getHash(me._url);\r\n var urlWithoutHash = me.asStringWithoutHash();\r\n var re = new RegExp('([\\?|&]?)' + paramName + '=([^?&]*)', 'ig');\r\n urlWithoutHash = urlWithoutHash.replace(re, \"$1\").replace('?&', '?').replace('&&', '&');\r\n if (urlWithoutHash.charAt(urlWithoutHash.length - 1) === '&') {\r\n urlWithoutHash = urlWithoutHash.substr(0, urlWithoutHash.length - 1);\r\n }\r\n if (hash) {\r\n me._url = urlWithoutHash + '#' + hash;\r\n } else {\r\n me._url = urlWithoutHash;\r\n }\r\n me._refresh();\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π½Π΅ Π·Π°ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ URL\r\n * @method WebAccess.URL#_getNonEncoded\r\n * @private\r\n * @since 5.0.0.7300\r\n * @return {String}\r\n */\r\n _getNonEncoded: function (url, name) {\r\n name = name.replace(/[\\[]/, \"\\\\\\[\").replace(/[\\]]/, \"\\\\\\]\");\r\n var regexS = \"[\\\\?&]\" + name + \"=([^&#]*)\";\r\n var regex = new RegExp(regexS, 'i');\r\n var results = null;\r\n if (!url) {\r\n results = regex.exec(window.location.href);\r\n } else {\r\n results = regex.exec(url);\r\n }\r\n if (!results) {\r\n return \"\";\r\n } else {\r\n return results[1];\r\n }\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Link - Π²Ρ‹ΠΆΠΈΠΌΠΊΠ° ΠΈ сборка ΠΈΠ· Π½Π΅Π³ΠΎ url\r\n * @method WebAccess.URL._getUrlFromLink\r\n * @private\r\n * @return {String} строка url\r\n * @since 5.0.0.7300\r\n */\r\n _getUrlFromLink: function (link) {\r\n var host = window.location.href.substr(0, window.location.href.lastIndexOf('/') + 1);\r\n var page = this._getPageNameByKind(objectTypeToString(link.type));\r\n var url = host + page + \"x?sys=\" + g_SysCode +\r\n \"&id=\" + link.id +\r\n (link.referenceName ? \"&compcode=\" + encodeURIComponent(link.referenceName) : '') +\r\n \"&ext=\" + g_ExtName;\r\n return url;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π½ΠΈ страницы исходя ΠΈΠ· Ρ‚ΠΈΠΏΠ° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.\r\n * @method WebAccess.URL._getPageNameByKind\r\n * @param {String} kind\r\n * @private\r\n * @return {String}\r\n * @since 5.0.0.7300\r\n */\r\n _getPageNameByKind: function (kind) {\r\n switch (kind.toUpperCase()) {\r\n case \"EDOC\": return \"doc.asp\";\r\n case \"FOL\": return \"folder.asp\";\r\n case \"JOB\": return \"job.asp\";\r\n case \"TASK\": return \"task.asp\";\r\n case \"REF\": return \"reference.asp\";\r\n default:\r\n return null;\r\n break;\r\n }\r\n return null;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ строковС прСдставлСниС адрСса URL-ссылки.\r\n *\r\n * @method WebAccess.URL#asString\r\n * @since 5.0.0.7300\r\n * @return {String} Π‘Ρ‚Ρ€ΠΎΠΊΠ° с адрСсом URL-ссылки.\r\n */\r\n asString: function () {\r\n return this._url;\r\n }\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n });\r\n\r\n global.URL = URL;\r\n})(window.WebAccess);","\"use strict\";\r\n\r\n(function (global) {\r\n /**\r\n * ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΠ΅Ρ‚ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ инструмСнты.\r\n * \r\n * @namespace WebAccess.utils\r\n * @since 5.1.0.1523\r\n */\r\n global.utils = {};\r\n\r\n global.utils.compareData = function (v1, v2, dataType) {\r\n if (v1 === null) v1 = \"\";\r\n if (v2 === null) v2 = \"\";\r\n\r\n v1 = (\"\" + v1).toLowerCase();\r\n v2 = (\"\" + v2).toLowerCase();\r\n\r\n if (dataType.toLowerCase() == 'date') {\r\n //TODO ΠŸΠ°Ρ€ΡΠΈΠ½Π³ строк ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΌΠ΅Π΄Π»Π΅Π½Π½Ρ‹ΠΌ. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ стоит timestamp Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ с сСрвСра Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΌ ΠΏΠΎΠ»Π΅.\r\n v1 = (v1 == '' ? new Date(100, 1, 1, 0, 0, 0) : parseDateTime('' + v1));\r\n v2 = (v2 == '' ? new Date(100, 1, 1, 0, 0, 0) : parseDateTime('' + v2));\r\n }\r\n\r\n if (dataType.toLowerCase() == 'float') {\r\n v1 = (v1 == '' ? Number.NEGATIVE_INFINITY : parseFloat(v1.replaceAll(',', '.')));\r\n v2 = (v2 == '' ? Number.NEGATIVE_INFINITY : parseFloat(v2.replaceAll(',', '.')));\r\n }\r\n\r\n if (dataType.toLowerCase() == 'integer') {\r\n v1 = +v1;\r\n v2 = +v2;\r\n }\r\n\r\n if (v1 < v2) return -1;\r\n if (v1 > v2) return 1;\r\n return 0;\r\n };\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ значСния ассоциативного массива.\r\n *\r\n * @method getAssociativeArrayValues\r\n * @memberOf WebAccess.utils\r\n * @param {array} array Массив, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ список Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.\r\n * @return {array} Бписок Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ массива.\r\n * @since 5.6.0.1300\r\n */\r\n global.utils.getAssociativeArrayValues = function (array) {\r\n return Object.keys(array).map(function (key) {\r\n return array[key];\r\n });\r\n };\r\n\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n})(window.WebAccess);","\"use strict\";\r\n/**\r\n * ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΠ΅Ρ‚ инструмСнты для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с кэш-Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ΠΌ.\r\n *\r\n * @namespace WebAccess.cache\r\n * @since 5.0.0.7100\r\n */\r\n(function (global) { \r\n\r\n var Cache = BaseObject.extend({\r\n _errorCatched: false,\r\n init: function (data) {\r\n var me = this;\r\n },\r\n\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n _data: {\r\n setItem: function (key, value) {\r\n this[key] = value;\r\n return this;\r\n },\r\n removeItem: function(key) {\r\n delete this[key];\r\n },\r\n getItem: function (key) {\r\n return this[key]; \r\n },\r\n clear: function () {\r\n for (p in this) {\r\n if (!$.isFunction(this[p])) {\r\n delete this[p];\r\n }\r\n }\r\n return this;\r\n }\r\n },\r\n className: \"Cache\",\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /** \r\n * ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, поддСрТиваСтся Π»ΠΈ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠΌ локальноС Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ (localStorage).\r\n *\r\n * @function WebAccess.cache.isLocalStorageAvailable\r\n * @return {boolean} True – локальноС Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ поддСрТиваСтся Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠΌ, ΠΈΠ½Π°Ρ‡Π΅ False.\r\n * @since 5.0.0.7100 \r\n * @since 5.1.0.1505 RENAMED_FROM isLocalStorageAvailable \r\n */\r\n isStorageAvailable: function () {\r\n return !!(window[\"localStorage\"]) && !this._errorCatched;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * @private \r\n * @method WebAccess.cache._getStorage\r\n */\r\n _getStorage: function () {\r\n if (this.isStorageAvailable) return window.localStorage;\r\n else {\r\n log.warn('CACHE', 'LocalStorage is not available for this browser, using local variable instead');\r\n return this._data;\r\n }\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /** \r\n * Π£Π΄Π°Π»ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.\r\n *\r\n * @function WebAccess.cache.removeItem\r\n * @param {string} key ΠšΠ»ΡŽΡ‡ кэш-Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° \r\n * @return {WebAccess.cache} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° cache.\r\n * @since 5.1.0.1534 \r\n */\r\n removeItem: WA.TCD(function (key) {\r\n var me = this;\r\n try {\r\n this._getStorage().removeItem(key); \r\n this.fire('itemRemoved', key);\r\n } catch (e) {\r\n log.error('CACHE', e);\r\n me._errorCatched = true;\r\n }\r\n return this;\r\n }),\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /** \r\n * Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² кэш.\r\n *\r\n * @function WebAccess.cache.setItem\r\n * @param {string} key ΠšΠ»ΡŽΡ‡ кэш-Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° \r\n * @param {string} value БохраняСмоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π½Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ΡΡ\r\n * @return {WebAccess.cache} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° cache.\r\n * @since 5.0.0.7100\r\n */\r\n setItem: function (key, value) {\r\n var me = this;\r\n try {\r\n this._getStorage().setItem(key, value); \r\n this.fire('itemSet', key, value);\r\n } catch (e) {\r\n log.error('CACHE',e);\r\n me._errorCatched = true; \r\n }\r\n\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /** \r\n * ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ· кэша.\r\n *\r\n * @function WebAccess.cache.getItem\r\n * @param {string} key ΠšΠ»ΡŽΡ‡ кэш-Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° \r\n * @return {String|Integer} ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠ° String ΠΈΠ»ΠΈ Integer.\r\n * @since 5.0.0.7100\r\n */\r\n getItem: function (key) {\r\n return this._getStorage().getItem(key); \r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /** \r\n * Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π² кэш.\r\n *\r\n * @function WebAccess.cache.setObject\r\n * @param {string} key ΠšΠ»ΡŽΡ‡\r\n * @param {object} value БохраняСмый ΠΎΠ±ΡŠΠ΅ΠΊΡ‚\r\n * @return {WebAccess.cache} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° cache.\r\n * @since 5.0.0.7100\r\n */\r\n setObject: WA.TCD(function(key, value) {\r\n this.setItem(key, $.toJSON(value));\r\n return this;\r\n }),\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /** \r\n * ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΈΠ· кэша.\r\n *\r\n * @function WebAccess.cache.getObject\r\n * @param {string} key ΠšΠ»ΡŽΡ‡\r\n * @return {object} ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.\r\n * @since 5.0.0.7100\r\n */\r\n getObject: function (key) {\r\n var value = this.getItem(key);\r\n return value && (value !=='undefined' ? $.parseJSON(value) : null);\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /** \r\n * ΠžΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ кэш.\r\n *\r\n * @function WebAccess.cache.clear\r\n * @return {WebAccess.cache} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° cache.\r\n * @since 5.0.0.7100\r\n */\r\n clear: function () {\r\n this._getStorage().clear();\r\n return this;\r\n } \r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n });\r\n\r\n \r\n global.cache = new Cache();\r\n global.cache.Cache = Cache;\r\n})(window.WebAccess);","'use strict';\r\n\r\n//Π’ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ всСх событий. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ.\r\n//window.ENABLE_EVENTS_LOGGING = true;\r\n//window.ENABLE_EVENTS_LOGGING_JQUERY = true;\r\n\r\n(function (global) {\r\n\r\n // Бписок ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ логирования ΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Π΅ΠΌΡƒ Ρ‚ΠΈΠΏΠΎΠ² Π»ΠΎΠ³ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… сообщСний.\r\n const includedLevels = Object.freeze({\r\n D: [ 'E', 'W', 'I', 'D' ],\r\n E: [ 'E' ],\r\n I: [ 'E', 'W', 'I' ],\r\n W: [ 'E', 'W' ],\r\n });\r\n\r\n // Ассоциативный массив соотвСтствия строковых Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ ошибок ΠΈΡ… значСниям Π² пСрСчислСнии.\r\n const logLevels = Object.freeze({\r\n debug: LOG_LEVEL.DEBUG,\r\n error: LOG_LEVEL.ERROR,\r\n info: LOG_LEVEL.INFO,\r\n warn: LOG_LEVEL.WARN,\r\n warning: LOG_LEVEL.WARN,\r\n });\r\n\r\n /**\r\n * ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΠ΅Ρ‚ инструмСнты для логирования.\r\n * Π’ Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ Π²Π΅Π±-доступ записываСт всС дСйствия Π² Π»ΠΎΠ³-Ρ„Π°ΠΉΠ»Ρ‹.\r\n * Π”Π°Π½Π½Ρ‹Π΅ Ρ„Π°ΠΉΠ»ΠΎΠ² впослСдствии ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ Π²Π΅Π±-ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ.\r\n *\r\n * @namespace WebAccess.utils.log\r\n * @since 5.1.0.1523\r\n *\r\n * @example\r\n * WA.utils.log.info('Π—Π°Π³Ρ€ΡƒΠΆΠ΅Π½ Π½ΠΎΠ²Ρ‹ΠΉ Π²Π΅Π±-ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Β«ΠœΠΎΠ΄ΡƒΠ»ΡŒ 1.0Β»');\r\n * // Π›ΠΈΠ±ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ‚ΠΎΡ€ΠΎΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ записи.\r\n * log.info('Π—Π°Π³Ρ€ΡƒΠΆΠ΅Π½ Π½ΠΎΠ²Ρ‹ΠΉ Π²Π΅Π±-ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Β«ΠœΠΎΠ΄ΡƒΠ»ΡŒ 1.0Β»');\r\n */\r\n class Log extends BaseObject {\r\n\r\n constructor() {\r\n super();\r\n\r\n // Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ\r\n this.className = 'Log';\r\n this._disabled = true;\r\n this.saveImmediate = false;\r\n this.maxStackSize = 50;\r\n if (!this.isDisabled()) {\r\n this._disabled = false;\r\n }\r\n }\r\n\r\n /**\r\n * ΠŸΡ€ΠΈΠ²Π΅ΡΡ‚ΠΈ строковоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ уровня ошибки ΠΊ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ пСрСчислСния.\r\n *\r\n * @method _strToLevel\r\n * @param {string} level Π£Ρ€ΠΎΠ²Π½Π΅ΡŒ ошибки.\r\n * @private\r\n * @return {LOG_LEVEL} Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ уровня ошибки ΠΈΠ· пСрСчислСния.\r\n */\r\n strToLevel(level) {\r\n return logLevels[level] || null;\r\n }\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ логирования.\r\n *\r\n * @method getLevel\r\n * @return {string} Π‘Ρ‚Ρ€ΠΎΠΊΠ° с ΡƒΡ€ΠΎΠ²Π½Π΅ΠΌ логирования.\r\n */\r\n getLevel() {\r\n return WA.cache.getItem('log.level') || this.strToLevel(Core.logLevel) || LOG_LEVEL.ERROR;\r\n }\r\n\r\n /**\r\n * Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ логирования.\r\n *\r\n * @method setLevel\r\n * @param {string} level Π£Ρ€ΠΎΠ²Π΅Π½ΡŒ логирования.\r\n * @return {WebAccess.utils.Log} Π’Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΎΠ±ΡŠΠ΅Ρ‚ Π»ΠΎΠ³Π΅Ρ€Π°.\r\n */\r\n setLevel(level) {\r\n WA.cache.setItem('log.level', level);\r\n return this;\r\n }\r\n\r\n /**\r\n * ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ Π»ΠΈ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅.\r\n * Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ True.\r\n *\r\n * @method WebAccess.utils.log.isDisabled\r\n * @return {Boolean} True – Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ, ΠΈΠ½Π°Ρ‡Π΅ False.\r\n */\r\n isDisabled() {\r\n return (!window.isDebug && WA.cache.getItem('log.isEnabled') !== 'true');\r\n }\r\n\r\n /**\r\n * Π’ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅.\r\n * По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ.\r\n *\r\n * @method WebAccess.utils.log.enable\r\n * @return {WebAccess.utils.log} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° log.\r\n */\r\n enable() {\r\n WA.cache.setItem('log.isEnabled', 'true');\r\n this._disabled = false;\r\n return this;\r\n }\r\n\r\n /**\r\n * ΠžΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π»ΠΎΠ³ΠΈ Π½Π° клиСнтскиС Π»ΠΎΠ³ΠΈ Π½Π° сСрвСр.\r\n *\r\n * @method _write\r\n * @param {object} params ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ обращСния ΠΊ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ Π²Π΅Π±-сСрвиса.\r\n * @return {WebAccess.utils.Log} Π’Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π»ΠΎΠ³Π΅Ρ€Π°.\r\n * @private\r\n */\r\n _write(params) {\r\n if (!Core.isLogsEnabled || this._disabled || WA.getLocation() === 'login' || !params) {\r\n return this;\r\n }\r\n if (this.saveImmediate) {\r\n WA.SRV.request('/ClientLogs.asmx/Write', params);\r\n } else {\r\n const queue = WA.cache.getObject('logs') || [];\r\n queue.push(params);\r\n WA.cache.setObject('logs', queue);\r\n if (queue.length > this.maxStackSize) {\r\n this._writeQueue();\r\n }\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * Π’Ρ‹Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΏΠ°ΠΊΠ΅Ρ‚ Π»ΠΎΠ³Π° Π½Π° Π²Π΅Π±-сСрвСр.\r\n * @method WebAccess.current.statistics._writeQueue\r\n * @private\r\n */\r\n _writeQueue() {\r\n if (this._disabled) {\r\n return this;\r\n }\r\n let queue = WA.cache.getObject('logs');\r\n const partToSend = queue.splice(0, this.maxStackSize);\r\n WA.cache.setObject('logs', queue);\r\n\r\n WA.SRV.request('/ClientLogs.asmx/writeQueue', {\r\n Queue: partToSend,\r\n }).done((success) => {\r\n if (!success) {\r\n queue = [\r\n ...partToSend,\r\n ...WA.cache.getObject('logs'),\r\n ];\r\n WA.cache.setObject('logs', queue);\r\n }\r\n });\r\n return this;\r\n }\r\n\r\n /**\r\n * ΠžΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅.\r\n * По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ.\r\n *\r\n * @method WebAccess.utils.log.enable\r\n * @return {WebAccess.utils.log} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° log.\r\n */\r\n disable() {\r\n WA.cache.setItem('log.isEnabled', 'false');\r\n this._disabled = true;\r\n return this;\r\n }\r\n\r\n /**\r\n * Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ Π² Π»ΠΎΠ³.\r\n * По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ.\r\n *\r\n * @method WebAccess.utils.log.warn\r\n * @param {string} tag Вэг\r\n * @param {string} message Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅\r\n * @return {WebAccess.utils.log} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° log.\r\n */\r\n warn(tag, message) {\r\n return this._log(LOG_LEVEL.WARN, tag, message);\r\n }\r\n\r\n /**\r\n * Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ Π² Π»ΠΎΠ³.\r\n * По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π»ΠΎΠ³ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ.\r\n *\r\n * @method WebAccess.utils.log.warning\r\n * @param {string} tag Вэг\r\n * @param {string} message Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅\r\n * @alias WebAccess.utils.log.warn\r\n * @return {WebAccess.utils.log} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° log.\r\n */\r\n warning(tag, message) {\r\n return this.warn(tag, message);\r\n }\r\n\r\n /**\r\n * Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π² Π»ΠΎΠ³ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ΅ сообщСниС.\r\n *\r\n * @method WebAccess.utils.log.info\r\n * @param {string} tag Вэг\r\n * @param {string} message Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅\r\n * @return {WebAccess.utils.log} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° log.\r\n * @since 5.1.0.1523\r\n *\r\n * @example\r\n * // Для Π²Ρ‹Π²ΠΎΠ΄Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ сообщСния INFO Π’Π΅Π±-ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½\r\n * WA.utils.log.info('INFO', 'Π’Π΅Π±-ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½.');\r\n *\r\n * // Для Π²Ρ‹Π²ΠΎΠ΄Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ³ΠΎ сообщСния DEFAULT Π’Π΅Π±-ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½\r\n * WA.utils.log.info('Π’Π΅Π±-ΠΌΠΎΠ΄ΡƒΠ»ΡŒ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½.');\r\n */\r\n info(tag, message) {\r\n return this._log(LOG_LEVEL.INFO, tag, message);\r\n }\r\n\r\n /**\r\n * Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π² Π»ΠΎΠ³ сообщСниС ΠΎΠ± ошибкС.\r\n *\r\n * @method WebAccess.utils.log.error\r\n * @param {string} tag Вэг\r\n * @param {string} message Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅\r\n * @return {WebAccess.utils.log} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° log.\r\n * @since 5.1.0.1523\r\n */\r\n error(tag, message) {\r\n return this._log(LOG_LEVEL.ERROR, tag, message);\r\n }\r\n\r\n /**\r\n * ΠžΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ Π² консоли послСдниС сообщСния, ΠΎΠΆΠΈΠ΄Π°ΡŽΡ‰ΠΈΠ΅ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ Π½Π° Π²Π΅Π±-сСрвСр.\r\n *\r\n * @method WebAccess.utils.log.showLastMessages\r\n * @return {WebAccess.utils.log} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° log.\r\n */\r\n showLastMessages() {\r\n const queue = WA.cache.getObject('logs') || [];\r\n for (const line of queue) {\r\n const dt = new Date(line.Time);\r\n const fd = formatDateTime(dt).split(' ')[ 1 ] + ':' + dt.getSeconds() + '.' + dt.getMilliseconds();\r\n console.log(fd + ' ' + line.Level + ' ' + line.Tag + ' ' + line.Message);\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * ΠžΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ послСднСС сообщСниС.\r\n *\r\n * @method last\r\n */\r\n last() {\r\n this.showLastMessages();\r\n }\r\n\r\n /**\r\n * Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π»ΠΎΠ³ Π² Ρ„Π°ΠΉΠ» Π½Π° Π²Π΅Π±-сСрвСрС.\r\n *\r\n * @method WebAccess.utils.log.save\r\n * @return {WebAccess.utils.log} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° log.\r\n */\r\n save() {\r\n this._writeQueue();\r\n return this;\r\n }\r\n\r\n /**\r\n * Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π² Π»ΠΎΠ³ сообщСниС ΠΎΠ± ΠΎΡ‚Π»Π°Π΄ΠΊΠ΅\r\n * @method WebAccess.utils.log.debug\r\n * @return {WebAccess.utils.log} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° log.\r\n * @since 5.1.0.1523\r\n */\r\n debug(tag, message) {\r\n return this._log(LOG_LEVEL.DEBUG, tag, message);\r\n }\r\n\r\n /**\r\n * НСпосрСдствСнная ΠΎΠ±Ρ€Π°Π±Ρ‚ΠΊΠ° Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² записи Π² ΠΆΡƒΡ€Π½Π°Π»\r\n * @method WebAccess.utils.log._log\r\n * @return {WebAccess.utils.log}\r\n * @private\r\n * @since 5.1.0.1523\r\n */\r\n _log(level, tag, message) {\r\n if (this._disabled) {\r\n return;\r\n }\r\n\r\n let messages;\r\n if (message) {\r\n messages = [ message ];\r\n tag = tag.toUpperCase();\r\n } else {\r\n messages = [ tag ];\r\n tag = 'DEFAULT';\r\n }\r\n\r\n if (includedLevels[ this.getLevel() ].indexOf(level) === -1) return this;\r\n\r\n const dt = new Date();\r\n const t = formatDateTime(dt).split(' ')[ 1 ] + ':' + dt.getSeconds() + '.' + dt.getMilliseconds();\r\n this.fire('onMessage', level, t, tag, messages);\r\n\r\n const params = { 'Time': new Date(), 'Tag': tag, 'Level': level, 'Message': messages.join(' ') };\r\n const logParams = [ t, tag ].concat(messages).join(' ');\r\n\r\n if (WA.ENV.browser.name !== 'IE') {\r\n switch (level) {\r\n case LOG_LEVEL.ERROR:\r\n console.error(logParams);\r\n break;\r\n case LOG_LEVEL.INFO:\r\n console.info(logParams);\r\n break;\r\n case LOG_LEVEL.WARN:\r\n console.warn(logParams);\r\n break;\r\n case LOG_LEVEL.DEBUG:\r\n default:\r\n console.log(logParams);\r\n }\r\n } else {\r\n console.log(logParams);\r\n }\r\n\r\n this._write(params);\r\n return this;\r\n }\r\n }\r\n\r\n global.log = new Log();\r\n window.onerror = (errorMsg, url, lineNumber) => {\r\n if (!WA.ENV.isTouch()) {\r\n log.error('DEFAULT', format('{0} {1}:{2}', errorMsg, url, lineNumber));\r\n } else {\r\n logDebug('ERROR: ' + format('{0} {1}:{2}', errorMsg, url, lineNumber));\r\n }\r\n return false;\r\n }\r\n\r\n})(window.WebAccess.utils);\r\n\r\n\r\n//Π¨Π°ΠΌΠΎΠ² А.: Для ΠΎΡ‚Π»Π°Π΄ΠΊΠΈ событий.\r\nif (window.ENABLE_EVENTS_LOGGING && window.ENABLE_EVENTS_LOGGING_JQUERY) {\r\n var prevOn = jQuery.fn.on;\r\n jQuery.fn.on = function () {\r\n console.log('jQuery.on', arguments);\r\n return prevOn.apply(this, arguments);\r\n };\r\n\r\n var prevOff = jQuery.fn.off;\r\n jQuery.fn.off = function () {\r\n console.log('jQuery.off', arguments);\r\n return prevOff.apply(this, arguments);\r\n };\r\n\r\n var prevTrigger = jQuery.fn.trigger;\r\n jQuery.fn.trigger = function () {\r\n if (!WA.ENV.isTouch()) {\r\n console.log('jQuery.trigger', arguments);\r\n } else {\r\n logDebug('jQuery.trigger ' + arguments[ 0 ]);\r\n }\r\n return prevTrigger.apply(this, arguments);\r\n };\r\n\r\n var prevTriggerHandler = jQuery.fn.triggerHandler;\r\n jQuery.fn.triggerHandler = function () {\r\n if (!WA.ENV.isTouch()) {\r\n console.log('jQuery.triggerHandler', arguments);\r\n } else {\r\n logDebug('jQuery.triggerHandler ' + arguments[ 0 ]);\r\n }\r\n return prevTriggerHandler.apply(this, arguments);\r\n };\r\n}","\"use strict\";\r\n\r\n(function (global) {\r\n /**\r\n * ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΠ΅Ρ‚ инструмСнты для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с историСй. \r\n */\r\n var History = BaseObject.extend({\r\n allowHistory: null,\r\n\r\n init: function () {\r\n var me = this;\r\n me.allowHistory = window.history && history.pushState;\r\n\r\n if (me.allowHistory) {\r\n // HACK: Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ Π»ΠΎΠ²ΠΈΡ‚ΡŒ onpopstate ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ страницы Π² Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°Ρ….\r\n window.addEventListener('load', function() {\r\n setTimeout(function() {\r\n window.addEventListener('popstate', function(event) {\r\n me.fire(me.EVENT.POP_STATE, event);\r\n me.fire(me.EVENT.CHANGE_STATE, event.state);\r\n });\r\n }, 0);\r\n });\r\n }\r\n },\r\n\r\n /**\r\n * Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ состояниС Π² ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ.\r\n * \r\n * @param {object} state ΠžΠ±ΡŠΠ΅ΠΊΡ‚ состояния. \r\n * @param {string} title Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ страницы. \r\n * @param {string} url URL страницы.\r\n */\r\n pushState: function (state, title, url) {\r\n var me = this;\r\n if (me.allowHistory) {\r\n if (!state.type) {\r\n state.type = WA.getLocation();\r\n }\r\n\r\n history.pushState(state, title, url);\r\n me.fire(me.EVENT.PUSH_STATE, state, title, url);\r\n me.fire(me.EVENT.CHANGE_STATE, state);\r\n } else {\r\n window.open(url, '_self');\r\n }\r\n },\r\n\r\n /**\r\n * Π—Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ состояниС. \r\n * \r\n * @param {object} state ΠžΠ±ΡŠΠ΅ΠΊΡ‚ состояния. \r\n * @param {string} title Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ страницы. \r\n * @param {string} url URL страницы.\r\n */\r\n replaceState: function (state, title, url) {\r\n var me = this;\r\n if (me.allowHistory) {\r\n if (!state.type) {\r\n state.type = WA.getLocation();\r\n }\r\n\r\n history.replaceState(state, title, url);\r\n me.fire(me.EVENT.PUSH_STATE, state, title, url);\r\n me.fire(me.EVENT.CHANGE_STATE, state);\r\n }\r\n },\r\n \r\n /**\r\n * Бобытия. \r\n */\r\n EVENT: {\r\n /**\r\n * Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ состояниС Π² ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ. \r\n */\r\n PUSH_STATE: 'pushstate',\r\n /**\r\n * Π˜Π·Π²Π»Π΅Ρ‡Π΅Π½ΠΎ состояниС ΠΈΠ· истории. \r\n */\r\n POP_STATE: 'popstate',\r\n /**\r\n * ИзмСнСно Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠ΅Π΅ состояниС. \r\n */\r\n CHANGE_STATE: 'changestate'\r\n }\r\n });\r\n\r\n global.history = new History();\r\n})(WebAccess);","\"use strict\";\r\n/**\r\n * ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΠ΅Ρ‚ инструмСнты для Ρ€Π°Π±ΠΎΡ‚Ρ‹ со сСссионным Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ΠΌ (sessionStorage).\r\n *\r\n * @namespace WebAccess.cache.sessionCache\r\n * @since 5.1.0.1534\r\n */\r\n(function (global) { \r\n var SessionCache = global.cache.Cache.extend({\r\n init: function (data) {\r\n this._super(data);\r\n },\r\n\r\n /** \r\n * ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, поддСрТиваСтся Π»ΠΈ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠΌ сСссионноС Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ (sessionStorage).\r\n *\r\n * @function WebAccess.cache.sessionCache.isStorageAvailable\r\n * @since 5.1.0.1505\r\n * @return {boolean} True – сСссионноС Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ поддСрТиваСтся Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠΌ, ΠΈΠ½Π°Ρ‡Π΅ False.\r\n */\r\n isStorageAvailable: function () {\r\n return !!(window[\"sessionStorage\"]);\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * @private \r\n * @since 5.1.0.1505\r\n * @method WebAccess.cache.sessionCache._getStorage\r\n */\r\n _getStorage: function () {\r\n if (this.isStorageAvailable) return window.sessionStorage;\r\n else {\r\n console.warn('sessionCache is not available for this browser, using local variable instead');\r\n return this._data;\r\n }\r\n }\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n \r\n });\r\n global.cache.sessionOnly = global.cache.sessionCache = new SessionCache();\r\n})(window.WebAccess);","\"use strict\";\r\n/**\r\n * ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΠ΅Ρ‚ инструмСнты для Ρ€Π°Π±ΠΎΡ‚Ρ‹ со сСссионным Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ΠΌ (sessionStorage).\r\n *\r\n * @namespace WebAccess.cache.sessionCache\r\n * @since 5.1.0.1534\r\n */\r\n(function (global) {\r\n var ServerCache = global.cache.Cache.extend({\r\n init: function (data) {\r\n this._super(data);\r\n },\r\n\r\n /** \r\n * ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, поддСрТиваСтся Π»ΠΈ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠΌ сСссионноС Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ (sessionStorage).\r\n *\r\n * @function WebAccess.cache.sessionCache.isStorageAvailable\r\n * @since 5.1.0.1505\r\n * @return {boolean} True – сСссионноС Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π΅ поддСрТиваСтся Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠΌ, ΠΈΠ½Π°Ρ‡Π΅ False.\r\n */\r\n isStorageAvailable: function () {\r\n return !!(window[\"sessionStorage\"]);\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /** \r\n * Π£Π΄Π°Π»ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.\r\n *\r\n * @function WebAccess.cache.removeItem\r\n * @param {string} key ΠšΠ»ΡŽΡ‡ кэш-Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° \r\n * @return {WebAccess.cache} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° cache.\r\n * @since 5.1.0.1534 \r\n */\r\n removeItem: WA.TCD(function (key) {\r\n var me = this;\r\n try {\r\n this._getStorage().removeItem(key);\r\n this.fire('itemRemoved', key);\r\n } catch (e) {\r\n log.error('CACHE', e);\r\n me._errorCatched = true;\r\n }\r\n return this;\r\n }),\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /** \r\n * Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² кэш.\r\n *\r\n * @function WebAccess.cache.setItem\r\n * @param {string} key ΠšΠ»ΡŽΡ‡ кэш-Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° \r\n * @param {string} value БохраняСмоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. ΠžΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π½Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΡŽΡ‚ΡΡ\r\n * @return {WebAccess.cache} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° cache.\r\n * @since 5.0.0.7100\r\n */\r\n setItem: function (key, value) {\r\n var me = this;\r\n value = $.toJSON(value);\r\n return WA.SRV.call('/Session.asmx/SetUserProfileSettings', { ParamName: key, ParamValue: value }).done(function () {\r\n me.fire('itemSet', key, value);\r\n }).fail(function(e) {\r\n log.error('CACHE', e);\r\n me._errorCatched = true;\r\n });\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ· кэша.\r\n *\r\n * @function WebAccess.cache.getItem\r\n * @param {string} key ΠšΠ»ΡŽΡ‡ кэш-Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°\r\n * @return {Deferred} Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ запроса.\r\n * @since 5.0.0.7100\r\n * @see https://api.jquery.com/category/deferred-object/\r\n */\r\n getItem: function (key) {\r\n var me = this;\r\n var result = $.Deferred();\r\n WA.SRV.call('/Session.asmx/GetUserProfileSettings', { ParamName: key }).done(function (value) {\r\n value = $.parseJSON(value);\r\n result.resolve(value);\r\n }).fail(function (e) {\r\n result.reject(e)\r\n log.error('CACHE', e);\r\n me._errorCatched = true;\r\n });\r\n return result;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n setObject: function(key,value) {\r\n return this.setItem(key, value);\r\n },\r\n\r\n getObject: function(key,value) {\r\n return this.getItem(key);\r\n },\r\n\r\n /**\r\n * @private \r\n * @since 5.1.0.1505\r\n * @method WebAccess.cache.sessionCache._getStorage\r\n */\r\n _getStorage: function () {\r\n if (this.isStorageAvailable) return window.sessionStorage;\r\n else {\r\n console.warn('sessionCache is not available for this browser, using local variable instead');\r\n return this._data;\r\n }\r\n }\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n });\r\n global.cache.serverCache = new ServerCache();\r\n})(window.WebAccess);","\"use strict\";\r\n\r\n(function (global) {\r\n\r\n /**\r\n * Массив с timestamp запросов.\r\n *\r\n * @private\r\n * @property _activeRequests\r\n * @since 5.6.0.9000\r\n */\r\n global.services._activeRequests = {};\r\n\r\n /**\r\n * Π’Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π²Π΅Π±-сСрвисов.\r\n * Π’ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ done ΠΈ error ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ Π²Ρ‹Π·ΠΎΠ²Π°,\r\n * ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ ΠΎΡ‚Π²Π΅Ρ‚ ΠΎΡ‚ сСрвиса.\r\n * Если ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π²Π΅Π±-сСрвиса ΠΏΡ€ΠΎΡˆΠ»ΠΈ Π±Π΅Π· сбоСв, Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π·Π²Π°Π½Π° функция,\r\n * пСрСданная Π² ΠΌΠ΅Ρ‚ΠΎΠ΄ done Π΄Π°Π½Π½ΠΎΠ³ΠΎ deferred-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, ΠΈΠ½Π°Ρ‡Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π·Π²Π°Π½Π° функция, пСрСданная Π² ΠΌΠ΅Ρ‚ΠΎΠ΄ Π΅rror.\r\n * ΠŸΠΎΠ»Π½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚ сСрвиса ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ, ΠΎΠ±Ρ€Π°Ρ‚ΠΈΠ²ΡˆΠΈΡΡŒ ΠΊ контСксту this Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ callback.\r\n * @function WebAccess.services.request\r\n * @param {string} method Π’Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π²Π΅Π±-сСрвиса.\r\n * @param {object} [params] ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Π²Π΅Π±-сСрвиса (ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π΄Π°Π½Π½Ρ‹Ρ…).\r\n * @param {object} [options = {}] ΠžΠΏΡ†ΠΈΠΈ запроса.\r\n * @param {boolean} [options.sync = false] ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ синхронного запроса ΠΊ сСрвСру.\r\n * @param {boolean} [options.hideError = false] ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ отобраТСния сообщСния ΠΎΠ± ошибкС.\r\n * @param {boolean} [options.hideWarning = false] ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ отобраТСния прСдупрСТдСния.\r\n * @param {boolean} [options.hideSpinner = false] ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ отобраТСния Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ процСсса Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ.\r\n * @return {object} Deferred-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ – ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ для управлСния ΠΎΡ‚Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌΠΈ Π²Ρ‹Π·ΠΎΠ²Π°ΠΌΠΈ.\r\n * @this {object} result - Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния сСрвиса содСрТит ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚.\r\n * @since 5.6.0.9054\r\n *\r\n * @example\r\n * WA.SRV.request('/Reference.asmx/CreateNewFilter', {\r\n * ReferenceCode: WA.current.getReferenceCode(),\r\n * Name: displayValue\r\n * }).success(function (result) {\r\n * console.log(result); //Ρ‚ΠΎ ΠΆΠ΅ самоС Ρ‡Ρ‚ΠΎ this.Result.\r\n * console.log(this.Result);\r\n * console.log(this.Warning);\r\n * console.log(this.Success);\r\n * console.log(this.Error);\r\n * }).error(function(error) {\r\n * console.log(error);\r\n * });\r\n *\r\n * @example\r\n * WA.SRV.request('/Script.asmx/Run', {\r\n * Name: 'WADemoTest',\r\n * Params: { id: 10 }\r\n * }, {\r\n * sync: true,\r\n * hideSpinner: true\r\n * }).error(function(errorText) {\r\n * ShowDialog(errorText);\r\n * });\r\n */\r\n global.services.request = function (method, params = {}, options = {}) {\r\n return global.services._call(method, params, options);\r\n };\r\n\r\n /**\r\n * Π’Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π²Π΅Π±-сСрвисов.\r\n * Π’ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ done ΠΈ error ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ Π²Ρ‹Π·ΠΎΠ²Π°,\r\n * ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ ΠΎΡ‚Π²Π΅Ρ‚ ΠΎΡ‚ сСрвиса.\r\n * Если ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π²Π΅Π±-сСрвиса ΠΏΡ€ΠΎΡˆΠ»ΠΈ Π±Π΅Π· сбоСв, Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π·Π²Π°Π½Π° функция,\r\n * пСрСданная Π² ΠΌΠ΅Ρ‚ΠΎΠ΄ done Π΄Π°Π½Π½ΠΎΠ³ΠΎ deferred-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, ΠΈΠ½Π°Ρ‡Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π·Π²Π°Π½Π° функция, пСрСданная Π² ΠΌΠ΅Ρ‚ΠΎΠ΄ Π΅rror.\r\n * ΠŸΠΎΠ»Π½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚ сСрвиса ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΎΠ±Ρ€Π°Ρ‚ΠΈΠ²ΡˆΠΈΡΡŒ ΠΊ контСксту this Π²Π½ΡƒΡ‚Ρ€ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ callback.\r\n * @tutorial services\r\n * @function WebAccess.services.call\r\n * @param {string} service_method Π’Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π²Π΅Π±-сСрвиса.\r\n * @param {object} [opt_params] ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Π²Π΅Π±-сСрвиса.\r\n * @param {string} [opt_spinnerText] ВСкст строки прогрСсса.\r\n * @param {string} [opt_onCompleteSpinnerText] ВСкст строки прогрСсса послС выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ.\r\n * @param {boolean} [opt_hideError] НС ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ ΠΎΡˆΠΈΠ±ΠΊΡƒ.\r\n * @param {boolean} [opt_hideWarning] НС ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ увСдомлСния.\r\n * @return {Deferred} deferred-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ – ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ для управлСния ΠΎΡ‚Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌΠΈ Π²Ρ‹Π·ΠΎΠ²Π°ΠΌΠΈ.\r\n * @this {object} result - Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния сСрвиса содСрТит ΠΏΠΎΠ»Π½Ρ‹ΠΉ ΠΎΡ‚Π²Π΅Ρ‚.\r\n * @since 5.0.0.4000\r\n * @deprecated since 5.6.0.9054. Use WebAccess.services.request instead\r\n *\r\n * @example\r\n * WA.SRV.call(\"/Reference.asmx/CreateNewFilter\", { \"ReferenceCode\": WA.current.getReferenceCode(), \"Name\": displayValue }).success(function (result) {\r\n * console.log(result); //Ρ‚ΠΎ ΠΆΠ΅ самоС Ρ‡Ρ‚ΠΎ this.Result.\r\n console.log(this.Result);\r\n console.log(this.Warning);\r\n console.log(this.Success);\r\n console.log(this.Error);\r\n * }).error(function(error) {\r\n console.log(error);\r\n });\r\n *\r\n * @example\r\n * WA.SRV.call(\"/Script.asmx/Run\",{Name:\"WADemoTest\",\"Params\": {\"id\": 10} }).error(function(errorText) { ShowDialog(errorText); } );\r\n */\r\n global.services.call = function (service_method, opt_params, opt_spinnerText, opt_onCompleteSpinnerText, opt_hideError, opt_hideWarning) {\r\n if (opt_spinnerText) console.log('Calling function WA.SRV.call() with deprecated parameter: opt_spinnerText');\r\n if (opt_onCompleteSpinnerText) console.log('Calling function WA.SRV.call() with deprecated parameter: opt_onCompleteSpinnerText');\r\n opt_params = opt_params || {};\r\n return global.services.request(service_method, opt_params, {\r\n sync: false,\r\n hideError: opt_hideError,\r\n hideWarning: opt_hideWarning,\r\n });\r\n };\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ синхронный Π²Ρ‹Π·ΠΎΠ² ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² Π²Π΅Π±-сСрвисов.\r\n * Π’ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ done ΠΈ error ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ Π²Ρ‹Π·ΠΎΠ²Π°,\r\n * ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ Ρ‚ΠΎΠ³Π΄Π°, ΠΊΠΎΠ³Π΄Π° Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ ΠΎΡ‚Π²Π΅Ρ‚ ΠΎΡ‚ сСрвиса.\r\n * Если ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ Π²Π΅Π±-сСрвиса ΠΏΡ€ΠΎΡˆΠ»ΠΈ Π±Π΅Π· сбоСв, Ρ‚ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π·Π²Π°Π½Π° функция,\r\n * пСрСданная Π² ΠΌΠ΅Ρ‚ΠΎΠ΄ done Π΄Π°Π½Π½ΠΎΠ³ΠΎ deferred-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°, ΠΈΠ½Π°Ρ‡Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π·Π²Π°Π½Π° функция, пСрСданная Π² ΠΌΠ΅Ρ‚ΠΎΠ΄ Π΅rror.\r\n *\r\n * @tutorial services\r\n * @function WebAccess.services.callSync\r\n * @param {string} service_method Π’Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π²Π΅Π±-сСрвиса.\r\n * @param {object} [opt_params] ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Π²Π΅Π±-сСрвиса.\r\n * @param {string} [opt_spinnerText] ВСкст строки прогрСсса.\r\n * @param {string} [opt_onCompleteSpinnerText] ВСкст строки прогрСсса послС выполнСния ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ.\r\n * @param {boolean} [opt_hideError] НС ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ ΠΎΡˆΠΈΠ±ΠΊΡƒ.\r\n * @param {boolean} [opt_hideWarning] НС ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ увСдомлСния.\r\n * @param {boolean} [opt_hideSpinner] НС ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ спиннСр (Π»ΠΎΠ°Π΄Π΅Ρ€).\r\n * @return {Deferred} deferred-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ – ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ для управлСния ΠΎΡ‚Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌΠΈ Π²Ρ‹Π·ΠΎΠ²Π°ΠΌΠΈ.\r\n * @since 5.0.0.4004\r\n * @deprecated since 5.6.0.9054. Use WebAccess.services.request instead\r\n */\r\n global.services.callSync = function (service_method, opt_params, opt_spinnerText, opt_onCompleteSpinnerText, opt_hideError, opt_hideWarning, opt_hideSpinner) {\r\n window.log.info('You are using deprecated method WA.SRV.callSync(), use WA.SRV.request() with param { sync: true }');\r\n if (opt_spinnerText) console.log('Calling function WA.SRV.callSync() with deprecated parameter: opt_spinnerText');\r\n if (opt_onCompleteSpinnerText) console.log('Calling function WA.SRV.callSync() with deprecated parameter: opt_onCompleteSpinnerText');\r\n opt_params = opt_params || {};\r\n return global.services.request(service_method, opt_params, {\r\n sync: true,\r\n hideError: opt_hideError,\r\n hideWarning: opt_hideWarning,\r\n hideSpinner: opt_hideSpinner,\r\n });\r\n };\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π’Ρ‹Π·ΠΎΠ² сСрвисов. Базовая функция.\r\n *\r\n * @method _call\r\n * @param {string} method НаимСнованиС ΠΌΠ΅Ρ‚ΠΎΠ΄Π°.\r\n * @param {Object} params ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°.\r\n * @param {Object} options ΠžΠΏΡ†ΠΈΠΈ.\r\n * @return {Deferred} Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния Π²Π΅Π±-ΠΌΠ΅Ρ‚ΠΎΠ΄Π°.\r\n * @private\r\n * @see https://api.jquery.com/category/deferred-object/\r\n */\r\n global.services._call = function (method, params, options) {\r\n let deferred = $.Deferred();\r\n let requestId = + new Date();\r\n\r\n if (!method) {\r\n WA.raise('ERR_NOT_ALL_REQUIRED_ARGUMENTS_HAVE_BEEN_SUPLIED', 'method');\r\n }\r\n\r\n deferred.success = deferred.done;\r\n deferred.error = deferred.fail;\r\n\r\n if (!options.hideSpinner && (!Object.keys(global.services._activeRequests).length || WA.CR.spinner && !WA.CR.spinner.isVisible)) {\r\n window.ShowSpinner();\r\n }\r\n global.services._activeRequests[requestId] = null;\r\n\r\n const xhr = $.ajax({\r\n type: 'POST',\r\n contentType: 'application/json; charset=utf-8',\r\n dataType: 'json',\r\n url: method,\r\n data: $.toJSON(params),\r\n async: !options.sync,\r\n cache: false,\r\n success: (res) => {\r\n if (!res) {\r\n deferred.rejectWith({}, ['NO_ANSWER']);\r\n return;\r\n }\r\n\r\n res = res.d;\r\n\r\n if (!options.hideWarning && res.Warning !== null) {\r\n window.ShowInlineHint(res.Warning, MESSAGE_TYPE.WARNING, INLINE_HINT_PRIORITY.PRIMARY);\r\n }\r\n\r\n if (!res.Success) {\r\n if (!options.hideError && res.Error) {\r\n let messageType = MESSAGE_TYPE.ERROR;\r\n if (res.Severity && res.Severity !== '-1') {\r\n messageType = Number.parseInt(res.Severity);\r\n }\r\n window.ShowInlineHint(res.Error, messageType, INLINE_HINT_PRIORITY.PRIMARY);\r\n }\r\n deferred.rejectWith(res, [res.Error, res]);\r\n }\r\n\r\n if (window.CheckForLoginPage(res)) {\r\n return;\r\n }\r\n\r\n deferred.resolveWith(res, [res.Result, res]);\r\n },\r\n error: (err) => {\r\n let errorText = err.responseJSON ? err.responseJSON.Message : err.responseText;\r\n if (method.includes('/ClientStatistic.asmx/writeQueue')) {\r\n return;\r\n } else if (!global.services._isSessionAlive(err.status)) {\r\n errorText = L('WARN_BROKEN_SESSION');\r\n } else if ((!options.hideError) && (!global.services._sessionBrokenDialog)) {\r\n window.ShowInlineHint(errorText, MESSAGE_TYPE.ERROR, INLINE_HINT_PRIORITY.PRIMARY);\r\n }\r\n\r\n const errResp = Object.freeze({\r\n Result: null,\r\n Success: false,\r\n Warning: null,\r\n Error: errorText\r\n });\r\n deferred.rejectWith(errResp, [errorText, err]);\r\n },\r\n complete: () => {\r\n delete global.services._activeRequests[requestId];\r\n if (!Object.keys(global.services._activeRequests).length) {\r\n window.HideSpinner();\r\n }\r\n }\r\n });\r\n deferred.abort = xhr.abort;\r\n\r\n return deferred;\r\n };\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n global.services._sessionBrokenDialog = null;\r\n global.services._sessionRestoredDialog = null;\r\n\r\n /**\r\n * @fixme: Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ ΠΏΠ»Π°Ρ‡Π΅Ρ‚ ΠΏΠΎ этому\r\n * @private\r\n */\r\n global.services._isSessionAlive = function (statusCode) {\r\n\r\n if (statusCode == 401) {\r\n return false;\r\n }\r\n\r\n if (statusCode == 503) {\r\n WA.CR.inlineHint.show(L('ERROR_DESTRUCTIVE_FAULT'));\r\n log.error('SESSION', 'Service unavailavble');\r\n return false;\r\n }\r\n\r\n var dialog;\r\n if (statusCode == 475) {\r\n dialog = global.services._sessionRestoredDialog;\r\n if (!!dialog && dialog.isOpened()) {\r\n dialog.close();\r\n }\r\n\r\n if (!global.services._sessionBrokenDialog) {\r\n dialog = new WA.CMP.dialogs.MessageBox({ width: 450 });\r\n dialog.id = '475';\r\n dialog.isSingleInstance = true;\r\n dialog.removeDefaultButtons()\r\n .addButton('reloginLater', L('STAY_ON_PAGE'), function () {\r\n\r\n })\r\n .addButton('Relogin', L('LOGIN_AGAIN'), function () {\r\n ShowTopSpinner();\r\n WA.CR.window.openLogin();\r\n })\r\n .show(L('WARN_BROKEN_SESSION'), L('WARN_BROKEN_SESSION_DETAILS'), L('WARNING'), 'warning');\r\n } else {\r\n dialog = global.services._sessionBrokenDialog;\r\n dialog.show();\r\n }\r\n\r\n global.services._sessionBrokenDialog = dialog;\r\n return false;\r\n } else {\r\n dialog = global.services._sessionBrokenDialog;\r\n if (!!dialog && dialog.isOpened()) {\r\n dialog.close();\r\n if (!global.services._sessionRestoredDialog) {\r\n dialog = new WA.CMP.dialogs.MessageBox();\r\n dialog.isSingleInstance = true;\r\n dialog.removeDefaultButtons()\r\n .addButton('ReloginLater', L('OK'))\r\n .show(L('WARN_RESTORED_SESSION'), L('WARN_RESTORED_SESSION_DETAILS'), L('INFO'), 'info');\r\n\r\n }\r\n } else { dialog = global.services._sessionRestoredDialog }\r\n global.services._sessionRestoredDialog = dialog;\r\n }\r\n return true;\r\n };\r\n\r\n /**\r\n * ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΠ΅Ρ‚ инструмСнты для Ρ€Π°Π±ΠΎΡ‚Ρ‹ со справочниками, ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠ°ΠΌΠΈ справочников,\r\n * Π° Ρ‚Π°ΠΊΠΆΠ΅ прСдоставляСт рСсурсы для выполнСния Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… настроСк Π² справочниках, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Ρ€Π°Π±ΠΎΡ‚Π° с Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°ΠΌΠΈ.\r\n *\r\n * @namespace WebAccess.services.reference\r\n * @since 5.0.0.4004\r\n */\r\n global.services.reference = {};\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΠ΅Ρ‚ инструмСнты для Ρ€Π°Π±ΠΎΡ‚Ρ‹ со сцСнариями. НапримСр, позволяСт Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ сцСнарий.\r\n *\r\n * @namespace WebAccess.services.script\r\n * @since 5.0.0.4004\r\n */\r\n global.services.script = {};\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΠ΅Ρ‚ инструмСнты для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ систСмы DIRECTUM.\r\n * НапримСр, позволяСт ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ статус Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅.\r\n *\r\n * @namespace WebAccess.services.entity\r\n * @since 5.0.0.4200\r\n */\r\n global.services.entity = {};\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΠ΅Ρ‚ инструмСнты для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π·Π°Π΄Π°Ρ‡Π°ΠΌΠΈ.\r\n * НапримСр, позволяСт ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π·Π°Π΄Π°Ρ‡Ρƒ с влоТСниями ΠΈ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΡ€Π°Π²Π° Π½Π° влоТСния Π·Π°Π΄Π°Ρ‡ΠΈ.\r\n *\r\n * @namespace WebAccess.services.task\r\n * @since 5.0.0.4200\r\n */\r\n global.services.task = {};\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΠ΅Ρ‚ инструмСнты для провСдСния Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈ Π΅Π³ΠΎ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°ΠΌΠΈ.\r\n * НапримСр, позволяСт ΡΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.\r\n *\r\n * @namespace WebAccess.services.authenticaion\r\n * @since 5.2.0.1200\r\n */\r\n global.services.authenticaion = {};\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΠ΅Ρ‚ инструмСнты для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΠ°ΠΏΠΊΠ°ΠΌΠΈ систСмы DIRECTUM.\r\n * НапримСр, позволяСт ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ статусы Π½Π° ΠΏΠ°ΠΏΠΊΠ°Ρ….\r\n *\r\n * @namespace WebAccess.services.folder\r\n * @since 5.0.0.4200\r\n */\r\n global.services.folder = {};\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΠ΅Ρ‚ инструмСнты для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с сСссиСй ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.\r\n * НапримСр, позволяСт ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΌΡƒ профиля ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.\r\n *\r\n * @namespace WebAccess.services.session\r\n * @since 5.0.0.4214\r\n */\r\n global.services.session = {};\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΠ΅Ρ‚ инструмСнты для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ.\r\n *\r\n * @namespace WebAccess.services.document\r\n * @since 5.0.0.4218\r\n */\r\n global.services.document = {};\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΠ΅Ρ‚ инструмСнты для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠ°ΠΌΠΈ.\r\n *\r\n * @namespace WebAccess.services.cardform\r\n * @since 5.0.0.7100\r\n */\r\n global.services.cardform = {};\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΠ΅Ρ‚ инструмСнты для получСния Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΈ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ² Π½Π° сСрвСрС.\r\n *\r\n * @namespace WebAccess.services.requisite\r\n * @since 5.0.0.7100\r\n */\r\n global.services.requisite = {};\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΠ΅Ρ‚ инструмСнты для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΡ€ΠΎΡ„ΠΈΠ»Π΅ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.\r\n *\r\n * @namespace WebAccess.services.userProfile\r\n * @since 5.6.0.1000\r\n */\r\n global.services.userProfile = {};\r\n\r\n /**\r\n * ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΠ΅Ρ‚ инструмСнты для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ консолью администратора.\r\n *\r\n * @namespace WebAccess.services.commandConsole\r\n * @since 5.8.2.1000\r\n */\r\n global.services.commandConsole = {};\r\n\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΠ΅Ρ‚ инструмСнты для Ρ€Π°Π±ΠΎΡ‚Ρ‹ со связями ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ.\r\n *\r\n * @namespace WebAccess.services.relations\r\n * @since 5.8.0.9000\r\n */\r\n global.services.relations = {};\r\n\r\n /**\r\n * ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΠ΅Ρ‚ инструмСнты для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΏΡ€Π°Π²Π°ΠΌΠΈ доступа.\r\n *\r\n * @namespace WebAccess.services.access\r\n * @since 5.8.2.4000\r\n */\r\n global.services.access = {};\r\n\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n})(window.WebAccess);\r\n","\"use strict\";\r\n\r\n(function (global) {\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚-ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΉ для наполнСния Π΄Π°Π½Π½Ρ‹ΠΌΠΈ шаблона.\r\n * ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ L Π² ΡˆΠ°Π±Π»ΠΎΠ½Π°Ρ… для ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π° строк.\r\n *\r\n * @function WebAccess.templates.prepare\r\n * @return {object} ΠžΠ±ΡŠΠ΅ΠΊΡ‚-ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ для наполнСния Π΄Π°Π½Π½Ρ‹ΠΌΠΈ шаблона.\r\n * @see WebAccess.templates.render\r\n * @since 5.0.0.4321\r\n */\r\n global.templates.prepare = function (opt_control_id) {\r\n var hasID = false;\r\n if (opt_control_id) hasID = true;\r\n\r\n var data = {\r\n \"ID\": $.isPlainObject(opt_control_id) ? (new Date).getTime() : opt_control_id,\r\n \"hasID\": hasID,\r\n \"L\": function () {\r\n return function (a) {\r\n return L($.trim(a));\r\n }\r\n }\r\n };\r\n\r\n if ($.isPlainObject(opt_control_id)) $.extend(data, opt_control_id);\r\n\r\n return data;\r\n };\r\n\r\n\r\n /**\r\n * УстанавливаСт Π΄Π°Π½Π½Ρ‹Π΅ для ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ шаблона.\r\n * НакладываСт Π΄Π°Π½Π½Ρ‹Π΅ Π½Π° ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ шаблон, Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ html-Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΡƒ.\r\n *\r\n * @function WebAccess.templates.render\r\n * @param {string} templateName ΠŸΡƒΡ‚ΡŒ ΠΊ Ρ„Π°ΠΉΠ»Ρƒ шаблона ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΠ°ΠΏΠΊΠΈ Site/templates\r\n * @param {Object} opt_data Π”Π°Π½Π½Ρ‹Π΅ для шаблона\r\n * @param {boolean} opt_disableCache ΠžΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΊΠ΅ΡˆΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ значСния: true, false. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ false\r\n * @param {Object} opt_sync Π—Π°Π³Ρ€ΡƒΠΆΠ°Ρ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ синхронно\r\n * @param {Object} opt_partials ΠŸΠΎΠ΄ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹\r\n * @return {Deferred} Π’Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.\r\n * @since 5.0.0.4213\r\n * @todo ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ для синхронного запроса\r\n * @todo ΠΏΠΎΠΊΡ€Ρ‹Ρ‚ΡŒ тСстами\r\n *\r\n * @example\r\n *\r\n * //ДобавляСм Π΄Π°Π½Π½Ρ‹Π΅ Π² ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ.\r\n * var data = WA.TMPL.prepare();\r\n * data.left = 'ЛСвая ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°';\r\n * data.right = 'ΠŸΡ€Π°Π²Π°Ρ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°';\r\n * data.center = 'Π¦Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Π°Ρ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ° с html';\r\n *\r\n * //ДобавляСм Π΄Π°Π½Π½Ρ‹Π΅ Π² шаблон.\r\n * // layouts/3Columns.html - шаблон с трСмя ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°ΠΌΠΈ Π½Π° Π±Π»ΠΎΠΊΠ°Ρ… Π±Π΅Π· Ρ‚Π°Π±Π»ΠΈΡ†.\r\n * WA.TMPL.render(\"layouts/3Columns.html\", data, false, false, {left: \"panels/left.html\" }).done(function(html) {\r\n * ShowDialog(html);\r\n * });\r\n * //Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ появится ΠΎΠΊΠ½ΠΎ с трСмя ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°ΠΌΠΈ: «ЛСвая ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°Β», Β«ΠŸΡ€Π°Π²Π°Ρ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°Β», Β«Π¦Π΅Π½Ρ‚Ρ€Π°Π»ΡŒΠ½Π°Ρ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ° с htmlΒ».\r\n */\r\n global.templates.render = function (templateName, opt_data, opt_disableCache, opt_sync, opt_partials) {\r\n\r\n opt_data = opt_data || global.templates.prepare();\r\n opt_sync = opt_sync || false;\r\n var jDeferred = getCustomDeferred();\r\n\r\n if (arguments.length < 1) global.raise(\"ERR_NOT_ALL_REQUIRED_ARGUMENTS_HAVE_BEEN_SUPLIED\");\r\n\r\n loadPartials(opt_partials).done(function(partials) {\r\n findTemplate(templateName, opt_sync, opt_disableCache).done(function (template) {\r\n var html = template[0].render(opt_data, partials);\r\n jDeferred.resolveWith(this, [html]);\r\n }).fail(function (err) {\r\n jDeferred.rejectWith(this, [err]);\r\n });\r\n\r\n }).fail(function (err) {\r\n jDeferred.rejectWith(this, [err]);\r\n });\r\n\r\n return jDeferred;\r\n };\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Пока опасаюсь Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹ΠΌ. НС ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Π² Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ\r\n * @since 5.2.0.1300\r\n * @ignore\r\n * @private\r\n */\r\n global.templates.load = function (templateName, opt_disableCache, opt_sync) {\r\n opt_sync = opt_sync || false;\r\n var jDeferred = getCustomDeferred();\r\n if (arguments.length < 1) global.raise(\"ERR_NOT_ALL_REQUIRED_ARGUMENTS_HAVE_BEEN_SUPLIED\");\r\n\r\n findTemplate(templateName, opt_sync, opt_disableCache).done(function(_template) {\r\n jDeferred.resolveWith(this, [_template[0]]);\r\n }).fail(function (err) {\r\n jDeferred.rejectWith(this, [err]);\r\n });\r\n\r\n return jDeferred;\r\n };\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ спСц-Deferred, ΠΏΠΎΡ…ΠΎΠΆΠΈΠΉ Π½Π° Ajax ΠΎΡ‚ jQuery\r\n * @inner\r\n * @ignore\r\n * @function getCustomDeferred\r\n */\r\n var getCustomDeferred = function () {\r\n var jDeferred = jQuery.Deferred();\r\n jDeferred.success = jDeferred.done;\r\n jDeferred.error = jDeferred.fail;\r\n return jDeferred;\r\n }\r\n\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n /**\r\n * Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° подшаблонов.\r\n *\r\n * @function loadPartials\r\n * @inner\r\n * @param {Object} opt_partials ΠŸΠΎΠ΄ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹.\r\n * @return {Deferred} Подшаблон.\r\n * @see https://api.jquery.com/category/deferred-object/\r\n */\r\n var loadPartials = function (opt_partials) {\r\n var jDeferred = jQuery.Deferred();\r\n var invertedNames = _.invert(opt_partials);\r\n var queries = [];\r\n if (opt_partials && !$.isEmptyObject(opt_partials)) {\r\n\r\n for (var partialKey in opt_partials) {\r\n var partialName = opt_partials[partialKey];\r\n queries.push(findTemplate(partialName));\r\n }\r\n\r\n $.when.apply($, queries).done(function () {\r\n var partials = {};\r\n var args = $.makeArray(arguments);\r\n\r\n for (var i =0; i} НайдСнный шаблон.\r\n * @see https://api.jquery.com/category/deferred-object/\r\n */\r\n var findTemplate = function (templateName, opt_sync, opt_disableCache) {\r\n var jDeferred = $.Deferred();\r\n findCompiledTemplate(templateName).done(function (template) {\r\n jDeferred.resolve([template, templateName]);\r\n }).fail(function () {\r\n findCachedTemplate(templateName, opt_disableCache).done(function (template) {\r\n jDeferred.resolve([template, templateName]);\r\n }).fail(function () {\r\n findRemoteTemplate(templateName, opt_sync, opt_disableCache).done(function (template) {\r\n jDeferred.resolve([template, templateName]);\r\n }).fail(function (err) {\r\n jDeferred.reject([err, templateName]);\r\n });\r\n });\r\n });\r\n return jDeferred;\r\n }\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Поиск шаблона срСди скомпилированных\r\n *\r\n * @function findCompiledTemplate\r\n * @inner\r\n * @param {string} templateName Имя шаблона.\r\n * @return {Deferred} НайдСнный шаблон.\r\n * @see https://api.jquery.com/category/deferred-object/\r\n */\r\n var findCompiledTemplate = function (templateName) {\r\n var result = $.Deferred();\r\n if (!!window.templates && templateName.indexOf('.compile.html') !== -1) {\r\n var template = window.templates;\r\n var path = templateName.replace(/\\//g, '_').replace('.compile.html', '');\r\n if (path[0] === '_') path = path.substring(1);\r\n template = template[path];\r\n\r\n if (!!template && template.hasOwnProperty('r')) {\r\n result.resolve(template);\r\n return result;\r\n }\r\n }\r\n result.reject();\r\n return result;\r\n };\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Поиск шаблона срСди Π·Π°ΠΊΠ΅ΡˆΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ…\r\n *\r\n * @function findCachedTemplate\r\n * @inner\r\n * @param {string} templateName Имя шаблона.\r\n * @param {boolean} opt_disableCache ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ игнорирования кэша.\r\n * @return {Deferred} НайдСнный шаблон.\r\n * @see https://api.jquery.com/category/deferred-object/\r\n *\r\n */\r\n var findCachedTemplate = function (templateName, opt_disableCache) {\r\n var result = $.Deferred();\r\n var cached = WA.cache.getItem(templateName);\r\n if (!!cached && !opt_disableCache) {\r\n var template = Hogan.compile(cached);\r\n result.resolve(template);\r\n return result;\r\n }\r\n ;\r\n\r\n result.reject();\r\n return result;\r\n }\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Поиск шаблона Π½Π° сСрвСрС\r\n *\r\n * @function findRemoteTemplate\r\n * @inner\r\n * @param {string} templateName Имя шаблона.\r\n * @param {boolean} opt_sync ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ синхронного запроса.\r\n * @param {boolean} opt_disableCache ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ игнорирования кэша.\r\n * @return {Deferred} НайдСнный шаблон.\r\n * @see https://api.jquery.com/category/deferred-object/\r\n */\r\n var findRemoteTemplate = function (templateName, opt_sync, opt_disableCache) {\r\n var result = $.Deferred();\r\n $.ajax({ url: \"templates/\" + templateName, 'async': !opt_sync, 'cache': opt_disableCache }).done(function (templateText) {\r\n global.cache.setItem(templateName, templateText);\r\n var template = Hogan.compile(templateText);\r\n result.resolve(template);\r\n }).error(function (error) {\r\n result.reject(error);\r\n });\r\n\r\n return result;\r\n }\r\n\r\n\r\n})(window.WebAccess);","\"use strict\";\r\n(function (global) {\r\n\r\n /**\r\n * Π‘ΠΌΠ΅Π½Π° пароля ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.\r\n *\r\n * @function WebAccess.services.authenticaion.changePassword\r\n */\r\n global.authenticaion.changePassword = function (userName, oldPassword, newPassword, confirmPassword, isFirstLogin, success, failed) {\r\n CallService(\"/Authentication.asmx/ChangePassword\", {\r\n Login: userName,\r\n PasswordOld: oldPassword,\r\n PasswordNew: newPassword,\r\n PasswordConfirm: confirmPassword,\r\n IsFirstLogin: isFirstLogin\r\n }, function (res) {\r\n if (res.Success) {\r\n if (success)\r\n success(res);\r\n } else {\r\n if (failed)\r\n failed(res);\r\n }\r\n });\r\n return false;\r\n };\r\n\r\n /**\r\n * Π’Ρ…ΠΎΠ΄ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.\r\n *\r\n * @function WebAccess.services.authenticaion.loginUser\r\n */\r\n global.authenticaion.loginUser = function (providerName, userName, userRealm, userPassword, rememberMe, success, failed) {\r\n var request = {\r\n UserName: userName,\r\n Password: userPassword,\r\n Realm: userRealm,\r\n ProviderName: providerName,\r\n RememberMe: rememberMe\r\n };\r\n \r\n CallService(\"/Authentication.asmx/Login\", request, function (res) {\r\n if (res.Success) {\r\n if (success)\r\n success(res);\r\n } else {\r\n if (failed)\r\n failed(res);\r\n }\r\n });\r\n return false;\r\n };\r\n\r\n})(window.WebAccess.services);","\"use strict\";\r\n(function (global) {\r\n\r\n /**\r\n * ВыполняСт ΡƒΠΊΠ°Π·Π°Π½Π½ΡƒΡŽ ΠΊΠΎΠ½ΡΠΎΠ»ΡŒΠ½ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ.\r\n *\r\n * @tutorial services\r\n * @function WebAccess.services.commandConsole.exec\r\n * @param {string} command ВыполняСмая ΠΊΠΎΠΌΠ°Π½Π΄Π°\r\n * @param {string} args АргумСнты ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹\r\n * @return {Deferred} Deferred-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ для управлСния ΠΎΡ‚Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌΠΈ Π²Ρ‹Π·ΠΎΠ²Π°ΠΌΠΈ.\r\n */\r\n global.commandConsole.exec = function (command, args) {\r\n return global.call('api/Console.asmx/Execute', { 'command': command, 'arguments': args });\r\n };\r\n\r\n})(window.WebAccess.services);","\"use strict\";\r\n(function (global) {\r\n\r\n /**\r\n * УстанавливаСт часовой пояс ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.\r\n *\r\n * @tutorial services\r\n * @function WebAccess.services.userProfile.setTimeZone\r\n * @param {string} timeZoneId Π˜Π” часового пояса.\r\n * @return {Deferred} deferred-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ для управлСния ΠΎΡ‚Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌΠΈ Π²Ρ‹Π·ΠΎΠ²Π°ΠΌΠΈ.\r\n *\r\n * @example\r\n * // Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ часовой пояс для Π•ΠΊΠ°Ρ‚Π΅Ρ€ΠΈΠ½Π±ΡƒΡ€Π³Π°.\r\n * WA.SRV.userProfile.setTimeZone(\"Yekaterinburg Time\");\r\n */\r\n global.userProfile.setTimeZone = function (timeZoneId) {\r\n return global.call('api/UserProfile.asmx/SetTimeZone', { 'timeZoneId': timeZoneId });\r\n };\r\n\r\n})(window.WebAccess.services);","\"use strict\";\r\n(function (global) {\r\n\r\n /**\r\n * Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ строку Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·Π΄Π΅Π»Π°.\r\n *\r\n * @function WebAccess.services.cardform.createTableRow\r\n * @param {Link} obj Бсылка Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚\r\n * @param {string} view ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Π° ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠ°\r\n * @param {integer} detailNum НомСр Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·Π΄Π΅Π»Π°\r\n * @param {string} tableName Имя Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·Π΄Π΅Π»Π°\r\n * @param {integer} number НомСр строки Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹\r\n\r\n * @return {Deferred} Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ deferred-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.\r\n */\r\n global.cardform.createTableRow = function (obj, requisites, view, detailNum, tableName, number, opt_sync) {\r\n var callFunc = (opt_sync === true) ? global.callSync : global.call;\r\n return callFunc(\"/CardForm.asmx/CreateTableRow\", {\r\n Obj: obj,\r\n Requisites: requisites || {},\r\n View: view,\r\n DetailNum: detailNum,\r\n Number: number\r\n });\r\n };\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠšΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ строку Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·Π΄Π΅Π»Π°.\r\n *\r\n * @function WebAccess.services.cardform.copyTableRow\r\n * @param {Link} obj Бсылка Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚\r\n * @param {string} view ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Π° ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠ°\r\n * @param {integer} detailNum НомСр Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·Π΄Π΅Π»Π°\r\n * @param {integer} sourceRowID Π˜Π” ΠΊΠΎΠΏΠΈΡ€ΠΈΡƒΠ΅ΠΌΠΎΠΉ строки\r\n * @param {string} tableName Имя Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·Π΄Π΅Π»Π°\r\n * @param {integer} number НомСр строки Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹\r\n * @return {Deferred} Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ deferred-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.\r\n * @since 5.2.0.1300\r\n */\r\n global.cardform.copyTableRow = function (obj, requisites, view, detailNum, sourceRowID, tableName, number, opt_sync) {\r\n var callFunc = (opt_sync === true) ? global.callSync : global.call;\r\n return callFunc(\"/CardForm.asmx/CopyTableRow\", {\r\n Obj: obj,\r\n View: view,\r\n DetailNum: detailNum,\r\n SourceRowID: sourceRowID,\r\n Number: number,\r\n Requisites: requisites || {}\r\n });\r\n };\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n\r\n\r\n /**\r\n * Π£Π΄Π°Π»ΠΈΡ‚ΡŒ строку Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·Π΄Π΅Π»Π° ΠΏΠΎ Π˜Π”.\r\n *\r\n * @function WebAccess.services.cardform.deleteTableRow\r\n * @param {Link} obj Бсылка Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚\r\n * @param {string} view ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Π° ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠ°\r\n * @param {integer} detailNum НомСр Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·Π΄Π΅Π»Π°\r\n * @param {integer} rowID Π˜Π” строки Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹\r\n * @return {Deferred} Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ deferred-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.\r\n * @since 5.2.0.1300\r\n */\r\n global.cardform.deleteTableRow = function (obj, view, detailNum, rowID, opt_sync) {\r\n var callFunc = (opt_sync === true) ? global.callSync : global.call;\r\n return callFunc(\"/CardForm.asmx/DeleteTableRow\", {\r\n Obj: obj,\r\n View: view,\r\n DetailNum: detailNum,\r\n RowID: rowID\r\n });\r\n };\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΡƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.\r\n *\r\n * @function WebAccess.services.cardform.save\r\n * @param {Link} obj Бсылка Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚\r\n * @param {string} view ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Π° ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠ°\r\n * @param {Object} reqs ЗначСния Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ²\r\n * @param {Object} cmd Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΏΡ€ΠΈ сохранСнии. НапримСр, ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ строки Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·Π΄Π΅Π»Π°\r\n * @param {boolean} needSaveObject ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ нСобходимости сохранСния ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠΈ\r\n * @param {integer} folderIdToPaste Π˜Π” ΠΏΠ°ΠΏΠΊΠΈ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ вставлСна ссылка\r\n * @param {string} Mode Π Π΅ΠΆΠΈΠΌ открытия.\r\n *\r\n * @return {Deferred} Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ deferred-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.\r\n */\r\n global.cardform.save = function (obj, view, reqs, cmd, needSaveObject, folderIdToPaste) {\r\n return global.call(\"/CardForm.asmx/Save\", {\r\n Obj: obj,\r\n View: view,\r\n Req: reqs,\r\n Cmd: cmd,\r\n NeedSaveObject: needSaveObject,\r\n FolderIDToPaste: folderIdToPaste,\r\n Mode: (new WA.URL()).getParam('mode').toUpperCase(),\r\n }, false, false, true, true);\r\n };\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π‘ΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΈ вставка этого ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π² ΠΏΠ°ΠΏΠΊΡƒ ΠΈΠ»ΠΈ Π—Π—Π£.\r\n * @param {Link} obj Бсылка Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.\r\n * @param {string} view ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Π° ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠ°.\r\n * @param {Object} reqs ЗначСния Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ².\r\n * @param {Object} cmd Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΏΡ€ΠΈ сохранСнии (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ строки Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·Π΄Π΅Π»Π°(.\r\n * @param {boolean} needSaveObject ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ Π½ΡƒΠΆΠ½ΠΎ Π»ΠΈ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΡƒ.\r\n * @param {Link} receiverObjectLink Бсылка ΠΊΡƒΠ΄Π° Π½Π°Π΄ΠΎ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ послС сохранСния.\r\n * @param {string} Mode Π Π΅ΠΆΠΈΠΌ открытия.\r\n * @function WebAccess.services.cardform.saveAndAttach\r\n * @return {Deferred} jQuery Deferred ΠΎΠ±ΡŠΠ΅ΠΊΡ‚\r\n */\r\n global.cardform.saveAndAttach = function (obj, view, reqs, cmd, needSaveObject, receiverObjectLink) {\r\n return global.call(\"/CardForm.asmx/SaveAndAttach\", {\r\n Obj: obj,\r\n View: view,\r\n Req: reqs,\r\n Cmd: cmd,\r\n NeedSaveObject: needSaveObject,\r\n ReceiverObjectLink: (!!receiverObjectLink && receiverObjectLink.id ? receiverObjectLink.toLinkModel() : null),\r\n Mode: (new WA.URL()).getParam('mode').toUpperCase(),\r\n }, false, false, true, true);\r\n };\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n})(window.WebAccess.services);\r\n","(function (global) {\r\n global.cryptography = {}\r\n\r\n /**\r\n * Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ подписываСмыС Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ для ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ….\r\n *\r\n * @function WebAccess.services.cryptography.getSignableAttributes\r\n * @param {string} content ΠŸΠΎΠ΄ΠΏΠΈΡΡ‹Π²Π°Π΅ΠΌΡ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅.\r\n * @param {string} certificateIdBase64 Имя сСртификата Π² ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ base64.\r\n * @param {string} pluginNameBase64 Имя ΠΏΠ»Π°Π³ΠΈΠ½Π° Π² ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ base64.\r\n * @return {Deferred} ΠŸΠΎΠ΄ΠΏΠΈΡΡ‹Π²Π°Π΅ΠΌΡ‹Π΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ для ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ….\r\n * @since 5.6.0.1000\r\n * @see https://api.jquery.com/category/deferred-object/\r\n */\r\n global.cryptography.getSignableAttributes = function (content, certificateIdBase64, pluginNameBase64) {\r\n var d = $.Deferred();\r\n\r\n var service = \"/api/Cryptography.asmx/GetSignableAttributes\";\r\n var args = {\r\n \"certificateIdBase64\": certificateIdBase64,\r\n \"pluginNameBase64\": pluginNameBase64,\r\n \"content\": content\r\n }\r\n WA.SRV.call(service, args).done(function (res) {\r\n d.resolve(res);\r\n }).fail(function (res) {\r\n d.reject(res);\r\n });\r\n\r\n return d.promise();\r\n };\r\n\r\n /**\r\n * Π€ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅Ρ‚ ΡΠ»Π΅ΠΊΡ‚Ρ€ΠΎΠ½Π½ΡƒΡŽ подпись.\r\n *\r\n * @function WebAccess.services.cryptography.buildSignature\r\n * @param {string} signingAttributes ΠŸΠΎΠ΄ΠΏΠΈΡΡ‹Π²Π°Π΅ΠΌΡ‹Π΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹.\r\n * @param {string} signedAttributes ΠŸΠΎΠ΄ΠΏΠΈΡΠ°Π½Π½Ρ‹Π΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹.\r\n * @param {string} certificateIdBase64 Имя сСртификата Π² ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ base64.\r\n * @param {string} pluginNameBase64 Имя ΠΏΠ»Π°Π³ΠΈΠ½Π° Π² ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²ΠΊΠ΅ base64.\r\n * @return {Deferred} ЭлСктронная подпись.\r\n * @since 5.6.0.1000\r\n * @see https://api.jquery.com/category/deferred-object/\r\n */\r\n global.cryptography.buildSignature = function (signingAttributes, signedAttributes, certificateIdBase64, pluginNameBase64) {\r\n var d = $.Deferred();\r\n\r\n var service = \"/api/Cryptography.asmx/BuildSignature\";\r\n var args = {\r\n \"certificateIdBase64\": certificateIdBase64,\r\n \"pluginNameBase64\": pluginNameBase64,\r\n \"signingAttributes\": signingAttributes,\r\n \"signedAttributes\": signedAttributes\r\n }\r\n WA.SRV.call(service, args).done(function (res) {\r\n d.resolve(res);\r\n }).fail(function (res) {\r\n d.reject(res);\r\n });\r\n\r\n return d.promise();\r\n };\r\n\r\n /**\r\n * ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅Ρ‚ Π΄ΠΎΡΡ‚ΠΎΠ²Π΅Ρ€Π½ΠΎΡΡ‚ΡŒ элСктронной подписи.\r\n *\r\n * @method WebAccess.services.cryptography.verifySignature\r\n * @param {string} content ΠŸΠΎΠ΄ΠΏΠΈΡΡ‹Π²Π°Π΅ΠΌΡ‹ΠΉ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚.\r\n * @param {string} signature ЭлСктронная подпись.\r\n * @param {string} pluginNameBase64 Имя ΠΏΠ»Π°Π³ΠΈΠ½Π° АгСнта Π²Π΅Π±-доступа для подписания.\r\n * @return {Deferred} True - подпись достовСрна, ΠΈΠ½Π°Ρ‡Π΅ False.\r\n * @see https://api.jquery.com/category/deferred-object/\r\n */\r\n global.cryptography.verifySignature = function (content, signature, pluginNameBase64) {\r\n var d = $.Deferred();\r\n\r\n var service = \"/api/Cryptography.asmx/VerifySignature\";\r\n var args = {\r\n \"pluginNameBase64\": pluginNameBase64,\r\n \"content\": content,\r\n \"signatureBase64\": signature\r\n }\r\n\r\n WA.SRV.call(service, args).done(function (res) {\r\n d.resolve(res);\r\n }).fail(function (res) {\r\n d.reject(res);\r\n });\r\n\r\n return d.promise();\r\n };\r\n\r\n /**\r\n * ΠŸΠΎΠ΄ΠΏΠΈΡΡ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ строковый ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚.\r\n *\r\n * @method WebAccess.services.cryptography.signContent\r\n * @param {string} content ΠŸΠΎΠ΄ΠΏΠΈΡΡ‹Π²Π°Π΅ΠΌΡ‹ΠΉ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚\r\n * @param {string} certificateIdBase64 Π˜Π” сСртификата, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ подписан ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚\r\n * @param {string} pluginNameBase64 Имя ΠΏΠ»Π°Π³ΠΈΠ½Π° АгСнта Π²Π΅Π±-доступа для подписания\r\n * @param {string} comment ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ ΠΊ подписи\r\n * @param {boolean} isApprovingSign ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π°ΡŽΡ‰Π΅ΠΉ подписи\r\n * @param {boolean} isForSubstitute ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ подписания Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° ΠΎΡ‚ ΠΈΠΌΠ΅Π½ΠΈ Π·Π°ΠΌΠ΅Ρ‰Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ\r\n * @param {string} substituteUserCode Код Π·Π°ΠΌΠ΅Ρ‰Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ пСрСдаСтся, Ссли Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π΅ isForSubstitute установлСно Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ true\r\n * @param {function} onSignedCallback Ѐункция ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ Π²Ρ‹Π·ΠΎΠ²Π° для подписания. Π’ качСствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° пСрСдаСтся ΠΎΡ‚Π²Π΅Ρ‚ ΠΎΡ‚ АгСнта Π²Π΅Π±-доступа\r\n * @param {string} additionalInfo Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ информация\r\n * @param {string} pluginVersion ВСрсия ΠΏΠ»Π°Π³ΠΈΠ½Π° АгСнта Π²Π΅Π±-доступа для подписания\r\n * @param {string} tokenPinCode Пин-ΠΊΠΎΠ΄ Ρ‚ΠΎΠΊΠ΅Π½Π°, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ подписываСтся ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚\r\n * @return {Deferred} Base64 строка подписи.\r\n * @see https://api.jquery.com/category/deferred-object/\r\n */\r\n global.cryptography.signContent = function (content, certificateIdBase64, pluginNameBase64, comment, isApprovingSign,\r\n isForSubstitute, substituteUserCode, onSignedCallback, additionalInfo, pluginVersion, tokenPinCode) {\r\n var d = $.Deferred();\r\n\r\n WA.services.cryptography.getSignableAttributes(content, certificateIdBase64, pluginNameBase64).done(function (signableAttributes) {\r\n WA.agent.edms.signAttributes(signableAttributes, certificateIdBase64, pluginNameBase64, pluginVersion, comment, isApprovingSign, isForSubstitute, substituteUserCode, additionalInfo, tokenPinCode, onSignedCallback).done(function (response) {\r\n var signedAttributes = response.result;\r\n WA.services.cryptography.buildSignature(signableAttributes, signedAttributes, certificateIdBase64, pluginNameBase64).done(function (signatureBase64) {\r\n WA.services.cryptography.verifySignature(content, signatureBase64, pluginNameBase64).done(function (success) {\r\n if (success === true) {\r\n d.resolve(signatureBase64);\r\n } else {\r\n d.reject(L(\"SIGNATURE_IS_INVALID\"));\r\n }\r\n }).fail(function (res) {\r\n d.reject(res);\r\n })\r\n }).fail(function (res) {\r\n d.reject(res);\r\n })\r\n }).fail(function (res) {\r\n d.reject(res.message);\r\n })\r\n }).fail(function (res) {\r\n d.reject(res);\r\n })\r\n\r\n return d.promise();\r\n };\r\n\r\n})(window.WebAccess.services);\r\n\r\n\r\n","\"use strict\";\r\n\r\n/**\r\n * CостояниС вСрсии Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°.\r\n *\r\n * @enum {integer} VERSION_STATE\r\n * @readonly\r\n * @since 5.0.0.4218\r\n * @global\r\n * @example\r\n *\r\n * //Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ для ΠΏΠ΅Ρ€Π²ΠΎΠΉ вСрсии Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° с Π˜Π”=123123 состояниС Β«Π’ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅Β».\r\n * WA.SRV.document.version.setState(123123,1,VERSION_STATE.IN_DESING);\r\n */\r\nvar VERSION_STATE = {\r\n /*CостояниС ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ Π² ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠ΅ Π²ΠΈΠ΄Π° Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° Π½Π° Π·Π°ΠΊΠ»Π°Π΄ΠΊΠ΅ Β«Π–ΠΈΠ·Π½Π΅Π½Π½Ρ‹ΠΉ Ρ†ΠΈΠΊΠ»Β».*/\r\n DEFAULT: 0,\r\n /** Π’ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ */\r\n IN_DESING: 1,\r\n /** Π”Π΅ΠΉΡΡ‚Π²ΡƒΡŽΡ‰Π°Ρ */\r\n ACTIVE: 2,\r\n /** Π£ΡΡ‚Π°Ρ€Π΅Π²ΡˆΠ°Ρ */\r\n OBSOLETE: 3\r\n};\r\n\r\n(function (global) {\r\n\r\n /**\r\n * ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΠ΅Ρ‚ инструмСнты для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с вСрсиями Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°.\r\n *\r\n * @namespace WebAccess.services.document.version\r\n * @since 5.0.0.4218\r\n */\r\n global.document.version = {};\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ имя Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° ΠΏΠΎ Π˜Π”.\r\n *\r\n * @function getNameById\r\n * @param {Array} ids Π˜Π” Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°.\r\n * @returns {Deferred} НаимСнованиС Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°.\r\n * @see https://api.jquery.com/category/deferred-object/\r\n */\r\n global.document.getNameById = function (ids) {\r\n var d = $.Deferred();\r\n\r\n WA.SRV.call('/api/LinkQuery.asmx/GetDocumentsById', {\r\n ids: ids\r\n }, null, null, true, true).done(function (data) {\r\n var docs = $.parseJSON(data);\r\n if (docs && docs.length > 0) {\r\n d.resolve(docs[0].name);\r\n } else {\r\n d.reject(L('ERR_OBJECT_NOT_FOUND'));\r\n }\r\n }).fail(function (err) {\r\n d.reject(err);\r\n });\r\n\r\n return d.promise();\r\n };\r\n\r\n\r\n /**\r\n * Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅ вСрсии.\r\n *\r\n * @function WebAccess.services.document.version.setNote\r\n * @param {integer} docId Π˜Π” Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°\r\n * @param {integer} verNumber НомСр вСрсии Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°\r\n * @param {string} note ВСкст примСчания\r\n * @return {deferred} Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ deferred-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.\r\n * @since 5.0.0.4218\r\n * @example\r\n *\r\n * //Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ для ΠΏΠ΅Ρ€Π²ΠΎΠΉ вСрсии Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° с Π˜Π”=123123 ΠΏΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅ «Для рассылки».\r\n * WA.SRV.document.version.setNote(123123,1,\"Для рассылки\");\r\n */\r\n global.document.version.setNote = function (docId, verNumber, note) {\r\n return global.call(\"/Document.asmx/ChangeVersionNote\", {\r\n 'DocumentID': docId,\r\n 'VersionNumber': verNumber,\r\n 'Note': note\r\n }, false, false);\r\n };\r\n\r\n\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n /**\r\n * Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ состояниС вСрсии.\r\n *\r\n * @function WebAccess.services.document.version.setState\r\n * @param {integer} docId Π˜Π” Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°\r\n * @param {integer} verNumber НомСр вСрсии Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°\r\n * @param {string} state БостояниС Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°. Π“Π»ΠΎΠ±Π°Π»ΡŒΠ½Π°Ρ функция VERSION_STATE\r\n * @return {deferred} Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ deferred-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.\r\n * @since 5.0.0.4218\r\n * @example\r\n *\r\n * //Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ для ΠΏΠ΅Ρ€Π²ΠΎΠΉ вСрсии Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° с Π˜Π”=123123 состояниС Β«Π’ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅Β».\r\n * WA.SRV.document.version.setState(123123,1,VERSION_STATE.IN_DESING);\r\n */\r\n global.document.version.setState = function (docId, verNumber, state) {\r\n return global.call(\"/Document.asmx/ChangeVersionState\", {\r\n 'DocumentID': docId,\r\n 'VersionNumber': verNumber,\r\n 'State': state\r\n }, false, false);\r\n };\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠ΄ΠΏΠΈΡΡ‹Π²Π°Π΅Ρ‚ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚.\r\n *\r\n * @function WebAccess.services.document.sign\r\n * @param {number} documentId Π˜Π” Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° для подписания\r\n * @param {string} cardTypeCode Код Ρ‚ΠΈΠΏΠ° ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°\r\n * @param {number} versionNumber НомСр вСрсии Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° для подписания\r\n * @param {number} certificateId Π˜Π” сСртификата, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ подписан Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚\r\n * @param {string} pluginName Имя ΠΏΠ»Π°Π³ΠΈΠ½Π° АгСнта Π²Π΅Π±-доступа для подписания\r\n * @param {string} comment ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ ΠΊ подписи\r\n * @param {boolean} isApprovingSign ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π°ΡŽΡ‰Π΅ΠΉ подписи\r\n * @param {boolean} isForSubstitute ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ подписания Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° ΠΎΡ‚ ΠΈΠΌΠ΅Π½ΠΈ Π·Π°ΠΌΠ΅Ρ‰Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ\r\n * @param {string} substituteUserCode Код Π·Π°ΠΌΠ΅Ρ‰Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ пСрСдаСтся, Ссли Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π΅ isForSubstitute установлСно Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ true\r\n * @param {function} onSignedCallback Ѐункция ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ Π²Ρ‹Π·ΠΎΠ²Π° для подписания. Π’ качСствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° пСрСдаСтся ΠΎΡ‚Π²Π΅Ρ‚ ΠΎΡ‚ АгСнта Π²Π΅Π±-доступа\r\n * @param {string} additionalInfo Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ информация ΠΎ подписи Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°\r\n * @param {string} pluginVersion ВСрсия ΠΏΠ»Π°Π³ΠΈΠ½Π° АгСнта Π²Π΅Π±-доступа для подписания\r\n * @param {string} tokenPinCode Пин-ΠΊΠΎΠ΄ Ρ‚ΠΎΠΊΠ΅Π½Π°, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ подписываСтся Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚\r\n * @return {Deferred} Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ подписания.\r\n * @since 5.6.0.1000\r\n * @see https://api.jquery.com/category/deferred-object/\r\n */\r\n global.document.sign = function (documentId, cardTypeCode, versionNumber, certificateId, pluginName, comment, isApprovingSign,\r\n isForSubstitute, substituteUserCode, onSignedCallback, additionalInfo, pluginVersion, tokenPinCode) {\r\n\r\n var d = $.Deferred();\r\n\r\n global.document.onBeforeSign(documentId, cardTypeCode, versionNumber, certificateId, pluginName, comment, isApprovingSign,\r\n isForSubstitute, substituteUserCode, onSignedCallback, additionalInfo, pluginVersion, tokenPinCode).done(function (success, signContext) {\r\n if (success === true) {\r\n WebAccess.agent.edms.signDocument(documentId, versionNumber, certificateId, pluginName, comment, isApprovingSign,\r\n isForSubstitute, substituteUserCode, onSignedCallback, additionalInfo, pluginVersion, tokenPinCode).always(function (signDocResponse) {\r\n global.document.onAfterSign(signDocResponse, signContext).done(function (result) {\r\n d.resolve(result);\r\n }).fail(function (result) {\r\n d.reject(result);\r\n });\r\n });\r\n } else {\r\n d.resolve(false);\r\n }\r\n }).fail(function (result) {\r\n d.reject(result);\r\n });\r\n return d.promise();\r\n };\r\n\r\n /**\r\n * ВызываСтся Π΄ΠΎ подписания Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°.\r\n *\r\n * @function WebAccess.services.document.onBeforeSign\r\n * @param {number} documentId Π˜Π” Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° для подписания\r\n * @param {string} cardTypeCode Код Ρ‚ΠΈΠΏΠ° ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°\r\n * @param {number} versionNumber НомСр вСрсии Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° для подписания\r\n * @param {number} certificateId Π˜Π” сСртификата, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ подписан Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚\r\n * @param {string} pluginName Имя ΠΏΠ»Π°Π³ΠΈΠ½Π° АгСнта Π²Π΅Π±-доступа для подписания\r\n * @param {string} comment ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ ΠΊ подписи\r\n * @param {boolean} isApprovingSign ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π°ΡŽΡ‰Π΅ΠΉ подписи\r\n * @param {boolean} isForSubstitute ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ подписания Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° ΠΎΡ‚ ΠΈΠΌΠ΅Π½ΠΈ Π·Π°ΠΌΠ΅Ρ‰Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ\r\n * @param {string} substituteUserCode Код Π·Π°ΠΌΠ΅Ρ‰Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ пСрСдаСтся, Ссли Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π΅ isForSubstitute установлСно Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ true\r\n * @param {function} onSignedCallback Ѐункция ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ Π²Ρ‹Π·ΠΎΠ²Π° для подписания. Π’ качСствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° пСрСдаСтся ΠΎΡ‚Π²Π΅Ρ‚ ΠΎΡ‚ АгСнта Π²Π΅Π±-доступа\r\n * @param {string} additionalInfo Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ информация ΠΎ подписи Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°\r\n * @param {string} pluginVersion ВСрсия ΠΏΠ»Π°Π³ΠΈΠ½Π° АгСнта Π²Π΅Π±-доступа для подписания\r\n * @param {string} tokenPinCode Пин-ΠΊΠΎΠ΄ Ρ‚ΠΎΠΊΠ΅Π½Π°, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ подписываСтся Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚\r\n * @return {Deferred} Π£ΡΠΏΠ΅ΡˆΠ½ΠΎΡΡ‚ΡŒ выполнСния.\r\n * @since 5.6.0.1000\r\n */\r\n global.document.onBeforeSign = function (documentId, cardTypeCode, versionNumber, certificateId, pluginName, comment, isApprovingSign,\r\n isForSubstitute, substituteUserCode, onSignedCallback, additionalInfo, pluginVersion, tokenPinCode) {\r\n\r\n var signContext = {};\r\n var d = $.Deferred();\r\n d.resolve(true, signContext);\r\n\r\n return d.promise();\r\n };\r\n\r\n /**\r\n * ВызываСтся послС подписания Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°.\r\n *\r\n * @function WebAccess.services.document.onAfterSign\r\n * @param {object} signDocResponse Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ подписания Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°\r\n * @param {object} signContext Π”Π°Π½Π½Ρ‹Π΅, Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½Ρ‹Π΅ Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π΄ΠΎ подписания\r\n * @return {Deferred}\r\n * @since 5.6.0.1000\r\n * @see https://api.jquery.com/category/deferred-object/\r\n */\r\n global.document.onAfterSign = function (signDocResponse, signContext) {\r\n var d = $.Deferred();\r\n d.resolve();\r\n\r\n return d.promise();\r\n };\r\n\r\n})(window.WebAccess.services);\r\n","\"use strict\";\r\n(function (global) {\r\n\r\n /**\r\n * ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΠ΅Ρ‚ ΠΏΡ€Π°Π²Π° доступа Π½Π° EDMS-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹.\r\n *\r\n * @function WebAccess.services.access.applyEdmsRights\r\n * @param {WA.Link[]} objectLinks Бписок ссылок Π½Π° EDMS-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹\r\n * @param {AccessRightsEntryModel[]} rightsEntries Бписок записСй примСняСмых ΠΏΡ€Π°Π²\r\n * @return {Deferred} Deferred-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ содСрТит список Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠ² примСнСния ΠΏΡ€Π°Π².\r\n * @since 5.8.2.4000\r\n */\r\n global.access.applyEdmsRights = function (objectLinks, rightsEntries) {\r\n return global.call('/api/AccessControl.asmx/ApplyEdmsRights',\r\n {\r\n edmsObjectLinks: objectLinks,\r\n accessRightsEntries: rightsEntries,\r\n });\r\n };\r\n\r\n})(window.WebAccess.services);\r\n","\"use strict\";\r\n(function (global) {\r\n\r\n /**\r\n * БвязываСт ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΏΠΎ списку.\r\n *\r\n * @function WebAccess.services.relations.bindObjects\r\n * @param {WA.Link[]} sourceObjects Бписок ссылок Π½Π° связываСмыС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹\r\n * @param {WA.Link} destObject Бсылка Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΡΠ²ΡΠ·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ ΠΈΠ· списка\r\n * @return {Deferred} Deferred-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ содСрТится список вставлСнных ссылок List Pasted, список Π²Ρ‹Ρ€Π΅Π·Π°Π½Π½Ρ‹Ρ… ссылок List Cutted, список ссылок Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ²ΡˆΠΈΡ… состояниС связи, ΠΈ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρ‹ List> Unchanged.\r\n * @since 5.8.0.3005\r\n */\r\n global.relations.bindObjects = function (sourceObjects, destObject) {\r\n return global.call(\"/api/Relations.asmx/BindObjects \",\r\n {\r\n sourceObjectLinks: sourceObjects,\r\n destObjectLink: destObject,\r\n });\r\n };\r\n\r\n\r\n /**\r\n * Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ список ссылок Π½Π° связанныС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹.\r\n *\r\n * @function WebAccess.services.relations.getBoundObjects\r\n * @param {WA.Link} object Бсылка Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ связанныС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹\r\n * @return {Deferred} Deferred-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ содСрТится список ссылок Π½Π° связанныС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹.\r\n * @since 5.8.3\r\n */\r\n global.relations.getBoundObjects = function (object) {\r\n return global.call(\"/api/Relations.asmx/GetBoundObjects \",\r\n {\r\n objectLink: object,\r\n });\r\n };\r\n})(window.WebAccess.services);\r\n","(function (global) {\r\n global.foldercontent = {}\r\n\r\n /**\r\n * ВыполняСт ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠ΅ дСйствиС Π½Π°Π΄ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ΠΎΠΌ ΠΏΠ°ΠΏΠΊΠΈ.\r\n *\r\n * @function WebAccess.services.foldercontent.executeAction\r\n * @param {string} actionName Имя дСйствия.\r\n * @param {Object} contents ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π°.\r\n * @param {string} contents.folderId Π˜Π” ΠΏΠ°ΠΏΠΊΠΈ, Π½Π°Π΄ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ΠΎΠΌ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΡΠΎΠ²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ дСйствиС.\r\n * @param {Array} [contents.selectedItems =[]] Бписок Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… Π² ΠΏΠ°ΠΏΠΊΠ΅ элСмСнтов.\r\n * @param {Array} [contents.unselectedItems = []] Бписок Π½Π΅Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… Π² ΠΏΠ°ΠΏΠΊΠ΅ элСмСнтов.\r\n * @param {boolean} contents.isAllItemsSelected ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ выдСлСния всСх ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².\r\n * @param {string} [contents.filter=''] Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ like-Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π° Π² ΠΏΠ°ΠΏΠΊΠ΅.\r\n * @param {Array} [contents.filterRequisites = ''] Π Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ происходит Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡ.\r\n * @param {Object} [reinvokeCommand = {}] ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΊΠΎΠΌΠ°Π½Π΄ пост-ΠΎΠ±Ρ€Π°Ρ‚ΠΎΡ‚ΠΊΠΈ дСйствия.\r\n * @param {number} [reinvokeCommand.commandNumber = 0] НомСр ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ пост-ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ дСйствия.\r\n * @param {number} [reinvokeCommand.commandType = 0] Π’ΠΈΠΏ ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ пост-ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ дСйствия.\r\n * @param {Object} [reinvokeCommand.commandResult = 0] Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния ΠΊΠΎΠΌΠ°Π½Π΄ пост-ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ дСйствия.\r\n * @return {Deferred} Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠ³ΠΎ дСйствия.\r\n * @since 5.6.0.1000\r\n * @see https://api.jquery.com/category/deferred-object/\r\n */\r\n global.foldercontent.executeAction = (actionName, contents, reinvokeCommand = {}) => {\r\n let d = $.Deferred();\r\n\r\n const service = '/api/FolderContent.asmx/ExecuteAction';\r\n let defaultContents = {\r\n selectedItems: [],\r\n unselectedItems: [],\r\n filter: '',\r\n filterRequisites: [],\r\n };\r\n let defaultreinvokeCommand = {\r\n commandNumber: 0,\r\n commandType: 0,\r\n commandResult: {},\r\n };\r\n contents = Object.assign(defaultContents, contents);\r\n reinvokeCommand = Object.assign(defaultreinvokeCommand, reinvokeCommand);\r\n let args = {\r\n actionName: actionName,\r\n contents: contents,\r\n reinvokeParameters: reinvokeCommand,\r\n };\r\n WA.SRV.call(service, args).done((res) => {\r\n d.resolve(res);\r\n }).fail((res) => {\r\n d.reject(res);\r\n });\r\n\r\n return d.promise();\r\n };\r\n\r\n})(window.WebAccess.services);\r\n","\"use strict\";\r\n(function (global) {\r\n\r\n /**\r\n * Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ статус для ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.\r\n *\r\n * @function WebAccess.services.entity.setUserStatus\r\n * @param {object} obj ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Π²ΠΈΠ΄Π° {{id: 'Π˜Π”', kind: 'Π’ΠΈΠΏ', refcode: 'Код справочника'}}\r\n * @param {string} StatusName НаимСнованиС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ статуса\r\n * @return {Deferred} deferred-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ для управлСния ΠΎΡ‚Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌΠΈ Π²Ρ‹Π·ΠΎΠ²Π°ΠΌΠΈ.\r\n * @example\r\n *\r\n * //Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ статус Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° – Β«Π—Π΅Π»Π΅Π½Ρ‹ΠΉΒ».\r\n * WA.services.entity.setUserStatus({\"kind\": WA.CR.getKind(), \"id\": WA.CR.getID()}, \"Green\");\r\n */\r\n global.entity.setUserStatus = function (obj, StatusName) {\r\n return global.call(\"/Entity.asmx/SetUserStatus\", {\r\n \"Kind\": obj.kind,\r\n \"ID\": obj.id,\r\n \"StatusName\": StatusName\r\n });\r\n };\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n})(window.WebAccess.services);\r\n","\"use strict\";\r\n(function (global) {\r\n\r\n /**\r\n * Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ статусы для всСх ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², располоТСнных Π² ΠΏΠ°ΠΏΠΊΠ΅.\r\n *\r\n * @function WebAccess.services.folder.setStatusForAllObjects\r\n * @param {integer} Π˜Π” ΠΏΠ°ΠΏΠΊΠΈ\r\n * @param {string} НаимСнованиС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ статуса\r\n * @return {Deferred} Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ deferred-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.\r\n * @example\r\n *\r\n * //Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π½Π° всСх ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°Ρ… Π² ΠΏΠ°ΠΏΠΊΠ΅ с Π˜Π”=1232143 ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ статус Β«Π—Π΅Π»Π΅Π½Ρ‹ΠΉΒ».\r\n * WA.services.folder.setStatusForAllObjects( 1232143, \"Green\");\r\n */\r\n global.folder.setStatusForAllObjects = function (folderId, statusName) {\r\n return global.call(\"/Folder.asmx/SetStatusForAllObjects\", {\r\n 'FolderID': folderId,\r\n 'StatusName': statusName\r\n });\r\n };\r\n\r\n /**\r\n * Π‘ΠΎΠ·Π΄Π°Ρ‘Ρ‚ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΡƒΡŽ ΠΏΠ°ΠΏΠΊΡƒ.\r\n *\r\n * @function WebAccess.services.folder.createVirtual\r\n * @param {string} folderName Имя ΠΏΠ°ΠΏΠΊΠΈ.\r\n * @param {number} contentType Π’ΠΈΠΏ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠΈ.\r\n * @param {Array} initialContents Бписок ссылок Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ систСмы, Π²Ρ‹ΡΡ‚ΡƒΠΏΠ°ΡŽΡ‰ΠΈΠ΅ Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹ΠΌ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ΠΎΠΌ ΠΏΠ°ΠΏΠΊΠΈ.\r\n * @return {Deferred} Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ создания Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠΈ.\r\n * @since 5.6.0.1000\r\n * @see https://api.jquery.com/category/deferred-object/\r\n */\r\n global.folder.createVirtual = (folderName, contentType, initialContents) => {\r\n let d = $.Deferred();\r\n\r\n const service = '/api/FolderService.asmx/CreateVirtualFolder';\r\n let args = {\r\n name: folderName,\r\n contentType: contentType,\r\n initialContents: initialContents\r\n }\r\n\r\n WA.SRV.call(service, args).done((res) => {\r\n d.resolve(res);\r\n }).fail((res) => {\r\n d.reject(res);\r\n });\r\n\r\n return d.promise();\r\n };\r\n\r\n})(window.WebAccess.services);\r\n","\"use strict\";\r\n(function (global) {\r\n\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ записСй справочников ΠΏΠΎ ссылкС.\r\n *\r\n * @function getReferenceRecordsNames\r\n * @param {Array} ids Бписок Π˜Π” записСй справочников.\r\n * @return {Deferred} НаимСнованиС записСй справочников.\r\n * @see https://api.jquery.com/category/deferred-object/\r\n */\r\n global.reference.getReferenceRecordsNames = function (ids) {\r\n var d = $.Deferred();\r\n\r\n WA.SRV.call('/api/LinkQuery.asmx/GetReferenceRecordsById', {\r\n ids: ids\r\n }).done(function (data) {\r\n var jsonObject = JSON.parse(data);\r\n // ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅ΠΌ Π² ассоциативный массив\r\n var names = {};\r\n jsonObject.forEach(function (item, index) {\r\n var link = new WA.Link(item.id, OBJECT_TYPE.REFERENCE_RECORD, item.compcode);\r\n link['name'] = item.name;\r\n names[item.id] = link;\r\n });\r\n d.resolve(names);\r\n }).fail(function (err) {\r\n d.reject(err);\r\n });\r\n\r\n return d.promise();\r\n };\r\n\r\n /**\r\n * УдаляСт запись справочника.\r\n *\r\n * @function WebAccess.services.reference.deleteRecord\r\n * @param {string} referenceCode Код справочника\r\n * @param {integer} recordID Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ записи справочника\r\n * @return {Deferred} Deferred-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ для управлСния ΠΎΡ‚Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌΠΈ Π²Ρ‹Π·ΠΎΠ²Π°ΠΌΠΈ.\r\n * @example\r\n *\r\n * WA.SRV.reference.deleteRecord(\"РАБ\",123123).done(\r\n * alert('Π—Π°ΠΏΠΈΡΡŒ с id 123123 ΡƒΠ΄Π°Π»Π΅Π½Π°');\r\n * );\r\n */\r\n global.reference.deleteRecord = function (referenceCode, recordID) {\r\n return global.call(\"/Reference.asmx/DeleteRecord\",\r\n {\r\n \"ReferenceCode\": referenceCode,\r\n \"RecordID\": recordID\r\n },\r\n L('REF_REC_DELETING'),\r\n L('REF_REC_DELETE_COMPLETE')).fail(function () {\r\n WebAccess.components.notifications.Toast.hideAll();\r\n });\r\n };\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π’ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π°Π²Ρ‚ΠΎΠΏΠΎΠ΄Π±ΠΎΡ€ ΡˆΠΈΡ€ΠΈΠ½Ρ‹ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ.\r\n *\r\n * @function WebAccess.services.reference.columnsAutoWidthEnabled\r\n * @param {string} referenceCode Код справочника\r\n * @param {string} referenceView ΠŸΡ€Π΅Π΄ΡΡ‚Π°Π²Π»Π΅Π½ΠΈΠ΅ справочника\r\n * @param {boolean} isEnabled Если ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ true, Π°Π²Ρ‚ΠΎΠΏΠΎΠ΄Π±ΠΎΡ€ ΡˆΠΈΡ€ΠΈΠ½Ρ‹ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ Π±ΡƒΠ΄Π΅Ρ‚ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½, ΠΈΠ½Π°Ρ‡Π΅ false\r\n * @return {Deferred} Deferred-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ для управлСния ΠΎΡ‚Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌΠΈ Π²Ρ‹Π·ΠΎΠ²Π°ΠΌΠΈ.\r\n */\r\n global.reference.columnsAutoWidthEnabled = function (referenceCode, referenceView, isEnabled, opt_placementContext) {\r\n return global.call(\"/Reference.asmx/ColumnsAutoWidthEnabled\", {\r\n \"ReferenceCode\": referenceCode,\r\n \"ReferenceView\": referenceView,\r\n \"PlacementContext\": opt_placementContext || \"\",\r\n \"Enabled\": isEnabled\r\n });\r\n };\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * УстанавливаСт Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ для справочника.\r\n *\r\n * @function WebAccess.services.reference.setFilter\r\n * @param {string} referenceCode Код справочника\r\n * @param {integer} filterID Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°\r\n * @return {Deferred} Deferred-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ для управлСния ΠΎΡ‚Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌΠΈ Π²Ρ‹Π·ΠΎΠ²Π°ΠΌΠΈ.\r\n */\r\n global.reference.setFilter = function (referenceCode, filterID, opt_referenceView, opt_placementContext) {\r\n return global.call(\"/Reference.asmx/SetFilter\", {\r\n \"ReferenceCode\": referenceCode,\r\n \"ReferenceView\": opt_referenceView || \"\",\r\n \"PlacementContext\": opt_placementContext || \"\",\r\n \"FilterID\": filterID\r\n });\r\n };\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π‘ΠΎΠ·Π΄Π°Π΅Ρ‚ Π½ΠΎΠ²Ρ‹ΠΉ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ для справочника.\r\n * Π’ процСссС создания Π½ΠΎΠ²ΠΎΠ³ΠΎ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π° ΠΊΠΎΠΏΠΈΡ€ΡƒΡŽΡ‚ΡΡ значСния Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ ΠΈΠ· Π°Π²Ρ‚ΠΎΡ„ΠΈΠ»ΡŒΡ‚Ρ€Π° ΠΈΠ»ΠΈ ΠΈΠ· Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°.\r\n *\r\n * @function WebAccess.services.reference.createNewFilter\r\n * @param {string} referenceCode Код справочника\r\n * @param {integer} filterName Имя Π½ΠΎΠ²ΠΎΠ³ΠΎ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°\r\n * @return {Deferred} Deferred-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ для управлСния ΠΎΡ‚Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌΠΈ Π²Ρ‹Π·ΠΎΠ²Π°ΠΌΠΈ.\r\n */\r\n global.reference.createNewFilter = function (referenceCode, filterName, opt_referenceView, opt_placementContext) {\r\n return global.call(\"/Reference.asmx/CreateNewFilter\", {\r\n \"ReferenceCode\": referenceCode,\r\n \"ReferenceView\": opt_referenceView || \"\",\r\n \"PlacementContext\": opt_placementContext || \"\",\r\n \"Name\": filterName\r\n });\r\n };\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * БохраняСт Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ справочника.\r\n * Π’Π΅Π±-сСрвис измСняСт Ρ„ΠΈΠ»ΡŒΡ‚Ρ€, ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π±Ρ‹Π» ΠΏΠ΅Ρ€Π΅Π΄Π°Π½.\r\n * Π’ измСняСмый Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ ΠΊΠΎΠΏΠΈΡ€ΡƒΡŽΡ‚ΡΡ значСния Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π° ΠΈΠ· Π±Π°Π·Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ…, ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ – Π°Π²Ρ‚ΠΎΡ„ΠΈΠ»ΡŒΡ‚Ρ€Π°.\r\n *\r\n * @function WebAccess.services.reference.saveFilter\r\n * @param {string} referenceCode Код справочника\r\n * @param {integer} filterID Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ сохраняСмого Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°\r\n * @param {string} filterName НовоС имя Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°\r\n * @return {Deferred} Deferred-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ для управлСния ΠΎΡ‚Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌΠΈ Π²Ρ‹Π·ΠΎΠ²Π°ΠΌΠΈ.\r\n */\r\n global.reference.saveFilter = function (referenceCode, filterID, opt_filterName, opt_referenceView, opt_placementContext) {\r\n return global.call(\"/Reference.asmx/SaveFilter\", {\r\n \"ReferenceCode\": referenceCode,\r\n \"ReferenceView\": opt_referenceView || \"\",\r\n \"PlacementContext\": opt_placementContext || \"\",\r\n \"FilterID\": filterID,\r\n \"FilterName\": opt_filterName || \"\"\r\n });\r\n };\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * УдаляСт Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ справочника.\r\n *\r\n * @function WebAccess.services.reference.removeFilter\r\n * @param {string} referenceCode Код справочника\r\n * @param {integer} filterID Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ удаляСмого Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°\r\n * @return {Deferred} Deferred-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ для управлСния ΠΎΡ‚Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌΠΈ Π²Ρ‹Π·ΠΎΠ²Π°ΠΌΠΈ.\r\n */\r\n global.reference.removeFilter = function (referenceCode, filterID, opt_referenceView, opt_placementContext) {\r\n return global.call(\"/Reference.asmx/RemoveFilter\", {\r\n \"ReferenceCode\": referenceCode,\r\n \"ReferenceView\": opt_referenceView || \"\",\r\n \"PlacementContext\": opt_placementContext || \"\",\r\n \"FilterID\": filterID\r\n });\r\n };\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ справочника.\r\n *\r\n * @function WebAccess.services.reference.getReferenceCaption\r\n * @param {string} referenceCode Код справочника\r\n * @return {Deferred} Deferred-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ для управлСния ΠΎΡ‚Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌΠΈ Π²Ρ‹Π·ΠΎΠ²Π°ΠΌΠΈ.\r\n */\r\n global.reference.getReferenceCaption = function (referenceCode) {\r\n return global.call(\"/Reference.asmx/GetReferenceCaption\", {\r\n \"ReferenceCode\": referenceCode\r\n });\r\n };\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n})(window.WebAccess.services);\r\n","\"use strict\";\r\n(function (global) {\r\n /**\r\n * Π‘ΠΎΠ±Ρ€Π°Ρ‚ΡŒ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹ Π½Π° сСрвСрС с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ асинхронного Π²Ρ‹Π·ΠΎΠ²Π°.\r\n *\r\n * @function WebAccess.services.requisite.build\r\n * @param {object} model МодСль для построСния Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ²\r\n * @return {Deferred} Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ deferred-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.\r\n * @since 5.0.0.7100\r\n */\r\n global.build = function (model) {\r\n return WA.SRV.call(\"/Requisite.asmx/Build\", { \"Model\": model });\r\n };\r\n\r\n /**\r\n * Π‘ΠΎΠ±Ρ€Π°Ρ‚ΡŒ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹ Π½Π° сСрвСрС с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ синхронного Π²Ρ‹Π·ΠΎΠ²Π°.\r\n *\r\n * @function WebAccess.services.requisite.buildSync\r\n * @param {object} model МодСль для построСния Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ²\r\n * @return {Deferred} Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ deferred-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.\r\n * @since 5.0.0.7100\r\n */\r\n global.buildSync = function (model) {\r\n return WA.SRV.callSync(\"/Requisite.asmx/Build\", { \"Model\": model });\r\n };\r\n\r\n})(window.WebAccess.services.requisite);\r\n","\"use strict\";\r\n(function (global) {\r\n /**\r\n * Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ISBL-сцСнарий.\r\n *\r\n * @tutorial services \r\n * @function WebAccess.services.script.run\r\n * @param {string} scriptName Имя ISBL-сцСнария\r\n * @param {dictionary} scriptParameters ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹, ΠΏΠ΅Ρ€Π΅Π΄Π°Π²Π°Π΅ΠΌΡ‹Π΅ ΡΡ†Π΅Π½Π°Ρ€ΠΈΡŽ \r\n * @return {Deferred} deferred-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ для управлСния ΠΎΡ‚Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌΠΈ Π²Ρ‹Π·ΠΎΠ²Π°ΠΌΠΈ.\r\n * @example\r\n *\r\n * WA.SRV.script.run(\"WADemoTest\", {\"id\": 10});\r\n * WA.SRV.script.run(\"WADemoTest\", {\"id\": 10}).success(function(result) { alert(result); }); \r\n */\r\n global.script.run = function (scriptName, scriptParametes) {\r\n return global.call('/Script.asmx/Run', { 'Name': scriptName, 'Params': scriptParametes });\r\n };\r\n\r\n /**\r\n * Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ISBL-сцСнарий с ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ΠΉ сСриализованной Ρ„ΠΎΡ€ΠΌΡ‹.\r\n *\r\n * @tutorial services \r\n * @function WebAccess.services.script.run\r\n * @param {string} scriptName Имя ISBL-сцСнария.\r\n * @param {dictionary} serializedForm Π‘Π΅Ρ€ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹ Ρ„ΠΎΡ€ΠΌΡ‹. \r\n * @return {Deferred} deferred-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ для управлСния ΠΎΡ‚Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌΠΈ Π²Ρ‹Π·ΠΎΠ²Π°ΠΌΠΈ.\r\n * @example\r\n *\r\n * WA.SRV.script.runWithSerializedForm(\"WADemoTest\", dialog.form.serialize({\r\n onlyValue: true,\r\n useRowNumber: true,\r\n withoutTables: true,\r\n transformMultiReqsToDetailRows: true\r\n }));\r\n */\r\n global.script.runWithSerializedForm = function (scriptName, serializedForm) {\r\n return global.call('/Script.asmx/RunWithSerializedForm', { 'Name': scriptName, 'SerializedForm': serializedForm });\r\n };\r\n\r\n})(window.WebAccess.services);","\"use strict\";\r\n(function (global) {\r\n\r\n /**\r\n * Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ€Π΅Π³ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹Π΅ настройки Π²Π΅Π±-доступа.\r\n * Настройки ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ послС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ сСссии ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.\r\n *\r\n * @function WebAccess.services.session.SetNewLanguage\r\n * @param {string} langCode Π―Π·Ρ‹ΠΊ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ интСрфСйса. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ значСния: ru-RU, en-EN\r\n * @return {Deferred} Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ deferred-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.\r\n * @since 5.0.0.7200\r\n */\r\n global.session.SetNewLanguage = function (langCode) {\r\n return global.call(\"/Session.asmx/SetNewLanguage \", { LangCode: langCode });\r\n };\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n\r\n /**\r\n * Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΌΠ°ΡΡˆΡ‚Π°Π± прСдпросмотра для всСх Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ².\r\n *\r\n * @param {string} caleValue ΠœΠ°ΡΡˆΡ‚Π°Π± прСдпросмотра\r\n * @function WebAccess.services.session.setPreviewScale\r\n * @return {Deferred} Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ deferred-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.\r\n * @since 5.1.0.1505\r\n * @deprecated since 5.7.\r\n *\r\n * @example\r\n * // Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ 100%-ΠΌΠ°ΡΡˆΡ‚Π°Π± прСдпросмотра для всСх Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ².\r\n * WebAccess.services.session.setPreviewScale(\"100%\").done(function() {\r\n * location.reload();\r\n * });\r\n */\r\n global.session.setPreviewScale = function (scaleValue) {\r\n const previewScaleStorageName = `preview-${WA.getLocation()}-previewScale`;\r\n localStorage.setItem(previewScaleStorageName, scaleValue);\r\n };\r\n\r\n /**\r\n * DEPRECATED\r\n * Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΌΡƒ ΠΈ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΅Π΅ имя Π² ΠΏΡ€ΠΎΡ„ΠΈΠ»Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.\r\n *\r\n * @function WebAccess.services.session.setTheme\r\n * @param {string} themeName Имя Ρ‚Π΅ΠΌΡ‹. НапримСр, Β«greenΒ», Β«grayΒ».\r\n * @param {string} themeType Π’Π°Ρ€ΠΈΠ°Π½Ρ‚ Ρ‚Π΅ΠΌΡ‹. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ значСния: light, dark.\r\n * @return {Deferred} deferred-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ для управлСния ΠΎΡ‚Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌΠΈ Π²Ρ‹Π·ΠΎΠ²Π°ΠΌΠΈ.\r\n * @since 5.0.0.4301\r\n * @deprecated As of 5.5.0.1801\r\n * @example\r\n *\r\n * // Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Ρ‚Π΅ΠΌΡƒ Π½Π° ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΡƒΡŽ – свСтло-Π³ΠΎΠ»ΡƒΠ±ΡƒΡŽ Ρ‚Π΅ΠΌΡƒ Π² Ρ‚Π΅ΠΌΠ½ΠΎΠΌ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π΅.\r\n * WebAccess.services.session.setTheme(\"blue\",\"dark\").done(function() {\r\n * location.reload();\r\n * });\r\n */\r\n global.session.setTheme = function (themeName, opt_themeType) {\r\n // ΠžΡΡ‚Π°Π²ΠΈΠ»ΠΈ Π½Π° Ρ‚ΠΎΡ‚ случай, Ссли Π² ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡ‹Ρ… модулях этот ΠΌΠ΅Ρ‚ΠΎΠ΄ Π΅Ρ‰Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ\r\n return {'success': false, 'warning': 'Themes are deprecated'};\r\n };\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * DEPRECATED\r\n * Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠΉ Ρ‚Π΅ΠΌΡ‹.\r\n *\r\n * @function WebAccess.services.session.setCustomTheme\r\n * @param {string} themeType Π’Π°Ρ€ΠΈΠ°Π½Ρ‚ Ρ‚Π΅ΠΌΡ‹. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ значСния: light, dark.\r\n * @param {array} backgroundColor Π‘Π°Π·ΠΎΠ²Ρ‹ΠΉ Ρ†Π²Π΅Ρ‚ Ρ„ΠΎΠ½Π° Ρ‚Π΅ΠΌΡ‹, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, [126,233,12]\r\n * @param {array} textColor Π‘Π°Π·ΠΎΠ²Ρ‹ΠΉ Ρ†Π²Π΅Ρ‚ тСкста\r\n * @return {Deferred} deferred-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ для управлСния ΠΎΡ‚Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌΠΈ Π²Ρ‹Π·ΠΎΠ²Π°ΠΌΠΈ.\r\n * @since 5.0.0.4301\r\n * @deprecated As of 5.5.0.1801\r\n * @example\r\n *\r\n * // Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Ρ‚Π΅ΠΌΡƒ Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΡƒΡŽ с ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ†Π²Π΅Ρ‚Π°ΠΌΠΈ.\r\n * WebAccess.services.session.setCustomTheme(\"light\",[215,226,213],[0,0,0]).done(function() {\r\n * location.reload()\r\n * });\r\n */\r\n global.session.setCustomTheme = function (themeType, backgroundColor, textColor) {\r\n return {'success': false, 'warning': 'Themes are deprecated'};\r\n };\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ДобавляСт Π½ΠΎΠ²Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π² справочник, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ содСрТатся послСдниС Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹.\r\n *\r\n * @function WebAccess.services.session.addLastUsedObject\r\n * @param {string} referenceName Код справочника\r\n * @param {array} objectID Π˜Π” ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°\r\n * @param {array} objectName Имя ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°\r\n * @return {Deferred} Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ deferred-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.\r\n * @since 5.0.0.7200\r\n *\r\n * @example\r\n * // Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π² справочник Β«ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈΒ» ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ с Π˜Π”=132970, Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Β«ΠŸΠ΅Ρ‚Ρ€ΠΎΠ² Иван Π€Π΅Π΄ΠΎΡ€ΠΎΠ²ΠΈΡ‡Β».\r\n * WebAccess.services.session.addLastUsedObject(\"ΠŸΠžΠ›\", 132970, \"ΠŸΠ΅Ρ‚Ρ€ΠΎΠ² Иван Π€Π΅Π΄ΠΎΡ€ΠΎΠ²ΠΈΡ‡\");\r\n */\r\n global.session.addLastUsedObject = function (referenceName, objectID, objectName) {\r\n return global.call(\"/Session.asmx/AddLastUsedObject\", {ObjectID: objectID, ObjectName: objectName, ReferenceName: referenceName });\r\n };\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n *\r\n * УдаляСт ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΈΠ· справочника, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ содСрТатся послСдниС Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹.\r\n *\r\n * @function WebAccess.services.session.removeLastUsedObject\r\n * @param {array} objectID Π˜Π” ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°\r\n * @return {Deferred} Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ deferred-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.\r\n * @since 5.0.0.7200\r\n *\r\n * @example\r\n * // Π£Π΄Π°Π»ΠΈΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ с Π˜Π”=132970 ΠΈΠ· списка послСдних Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Ρ….\r\n * WebAccess.services.session.removeLastUsedObject(132970);\r\n */\r\n global.session.removeLastUsedObject = function (objectID) {\r\n return global.call(\"/Session.asmx/RemoveLastUsedObject\", { ObjectID: objectID });\r\n };\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π£Π΄Π°Π»ΠΈΡ‚ΡŒ ссылки Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.\r\n *\r\n * @function WebAccess.services.session.deleteLinks\r\n * @param {WA.Link[]} links Бсылки для удалСния\r\n * @param {integer} sourceID Π˜Π” источника, Π³Π΄Π΅ хранятся ссылки\r\n * @param {OBJECT_TYPE} SourceType Π’ΠΈΠΏ источника\r\n * @param {WA.Link[]} unselectedLinks список Π½Π΅Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Ρ… ссылок\r\n * @return {Deferred} Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ deferred-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.\r\n * @since 5.0.0.7200\r\n */\r\n global.session.deleteLinks = function (links, sourceID, sourceType, unselectedLinks) {\r\n var items = [];\r\n for (var i = 0; i < links.length; i++) {\r\n items[i] = links[i].toLinkModel();\r\n }\r\n var params = {\r\n Links: items,\r\n SourceID: sourceID,\r\n SourceType: objectTypeToString(sourceType),\r\n UnselectedLinks: unselectedLinks || [],\r\n };\r\n\r\n log.info('DELETE_LINKS', $.toJSON(params));\r\n return global.call(\"/Session.asmx/DeleteLinks\", params);\r\n };\r\n\r\n\r\n /**\r\n * Π’ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ссылки Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.\r\n\r\n * @function WebAccess.services.session.pasteLinks\r\n * @param {WA.Link[]} links Бсылки для вставки\r\n * @param {integer} sourceID Π˜Π” источника, ΠΊΡƒΠ΄Π° ΠΊΠΎΠΏΠΈΡ€ΡƒΡŽΡ‚ΡΡ ссылки\r\n * @param {OBJECT_TYPE} SourceType Π’ΠΈΠΏ источника\r\n * @return {Deferred} Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ deferred-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.\r\n * @since 5.0.0.7200\r\n */\r\n global.session.pasteLinks = function (links, destID, destType) {\r\n var items = [];\r\n for (var i = 0; i < links.length; i++) {\r\n items[i] = links[i].toLinkModel();\r\n }\r\n var params = {\r\n Links: items,\r\n DestID: destID,\r\n DestType: objectTypeToString(destType)\r\n };\r\n\r\n log.info('PASTE_LINKS', $.toJSON(params));\r\n\r\n return global.call(\"/Session.asmx/PasteLinksList\", { Links: items, DestID: destID, DestType: objectTypeToString(destType) });\r\n };\r\n\r\n /**\r\n * ΠžΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ‚ состояниС сСссии ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ список Π½ΠΎΠ²Ρ‹Ρ… ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.\r\n *\r\n * @tutorial services\r\n * @function WebAccess.services.session.keepAlive\r\n * @return {Deferred} Deferred-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ для управлСния ΠΎΡ‚Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌΠΈ Π²Ρ‹Π·ΠΎΠ²Π°ΠΌΠΈ.\r\n */\r\n global.session.keepAlive = function () {\r\n return global.call('api/UserSession.asmx/KeepAlive');\r\n };\r\n\r\n /**\r\n * ДобавляСт Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ Π² список наблюдСния Π·Π° состояниСм Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ.\r\n *\r\n * @tutorial services\r\n * @function WebAccess.services.session.watchDocumentLock\r\n * @param {integer} watchedDocumentId Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°, Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ Π²Π΅ΡΡ‚ΠΈΡΡŒ наблюдСниС\r\n * @return {Deferred} Deferred-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ для управлСния ΠΎΡ‚Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌΠΈ Π²Ρ‹Π·ΠΎΠ²Π°ΠΌΠΈ.\r\n */\r\n global.session.watchDocumentLock = function (watchedDocumentId) {\r\n return global.call('api/UserSession.asmx/WatchDocumentLock', { documentId: watchedDocumentId});\r\n };\r\n\r\n})(window.WebAccess.services);\r\n","\"use strict\";\r\n(function (global) {\r\n\r\n /**\r\n * Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Π·Π°Π΄Π°Ρ‡Ρƒ с влоТСниями.\r\n *\r\n * @function WebAccess.services.task.createTaskWithAttachments\r\n * @param {array} attachments Массив ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π²ΠΈΠ΄Π° {{ID: 'Π˜Π”', Kind: 'Π’ΠΈΠΏ', CompCode: 'Код справочника'}}\r\n * @return {Deferred} deferred-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ для управлСния ΠΎΡ‚Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌΠΈ Π²Ρ‹Π·ΠΎΠ²Π°ΠΌΠΈ.\r\n * @example\r\n *\r\n * //Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Π·Π°Π΄Π°Ρ‡Ρƒ с Π²Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ.\r\n * //Π’ Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡ€ΠΈΠ΅Ρ€Π΅ Π²Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ - это Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.\r\n * //ПослС создания Π·Π°Π΄Π°Ρ‡ΠΈ откроСтся Π΅Π΅ ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠ°.\r\n * var call = WA.services.task.createTaskWithAttachments([{ 'ID': WA.current.getID(),\r\n * 'Kind': WA.current.getKind(),\r\n * 'CompCode': WA.current.getReferenceCode }])\r\n * call.success(function (res) {\r\n * window.open(\"Task.aspx?view=Card&mode=edit&id=\" + res, \"task\" + res);\r\n * });\r\n */\r\n global.task.createTaskWithAttachments = function (attachments) {\r\n return global.callSync(\"/Task.asmx/CreateTaskWithAttachments\", {\r\n Attachments: attachments\r\n });\r\n };\r\n\r\n /**\r\n * Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΡ€Π°Π²Π° Π½Π° влоТСния Π·Π°Π΄Π°Ρ‡ΠΈ.\r\n *\r\n * @function WebAccess.services.task.setAttachmentsRights\r\n * @param {int} taskID Π˜Π” Π·Π°Π΄Π°Ρ‡ΠΈ\r\n * @param {int} rights УстанавливаСмый Ρ‚ΠΈΠΏ ΠΏΡ€Π°Π²\r\n * @return {Deferred} deferred-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ для управлСния ΠΎΡ‚Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΌΠΈ Π²Ρ‹Π·ΠΎΠ²Π°ΠΌΠΈ.\r\n * @example\r\n *\r\n * //Π—Π°ΠΏΡ€Π΅Ρ‚ΠΈΡ‚ доступ ΠΊ влоТСниям Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ.\r\n * WebAccess.services.task.setAttachmentsRights(WA.CR.getID(), ACCESS_RIGHTS.NO_ACCESS).;\r\n */\r\n global.task.setAttachmentsRights = function (taskID, rights) {\r\n return global.callSync(\"/Task.asmx/SetAttachmentsRights\", {\r\n TaskID: taskID, Rights: rights\r\n }, null, null, true);\r\n };\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n})(window.WebAccess.services);\r\n","\"use strict\";\r\n\r\n(function (global) {\r\n \r\n \t/**\r\n \t * Π“Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ΠΌΠΎΠ΄Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΎΠΊΠΎΠ½.\r\n *\r\n \t * @namespace WebAccess.components.dialogs\r\n * @since 5.0.0.4000 \r\n *\r\n * @example\r\n * // Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΈ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π½ΠΎΠ²ΠΎΠ΅ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ.\r\n * var dialog = new WebAccess.components.dialogs.BaseDialog();\r\n * dialog.show();\r\n * // Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΈ ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π΄ΠΈΠ°Π»ΠΎΠ³ мноТСствСнного Π²Ρ‹Π±ΠΎΡ€Π°.\r\n * var multiSelectDialog = new WebAccess.components.dialogs.BaseMultiSelect([],[]);\r\n * multiSelectDialog.show();\r\n \t */\r\n\r\n global.components.dialogs = {};\r\n\r\n /**\r\n * Π”ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ \"Π’Ρ‹ ΡƒΠ²Π΅Ρ€Π΅Π½Ρ‹ Ρ‡Ρ‚ΠΎ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π²Ρ‹ΠΉΡ‚ΠΈ ΠΈΠ· Π²Π΅Π±-доступа\" [ΠΏΠΎΠΊΠ° Π² ΠΈΠ³Π½ΠΎΡ€Π΅]\r\n * @function WebAccess.components.dialogs.showLogoutPrompt\r\n * @ignore\r\n * @since 5.0.0.7300\r\n */\r\n global.components.dialogs.showLogoutPrompt = function () {\r\n var exit = function (message) {\r\n if ($(\"#ExitForm\").length === 0)\r\n ConfirmDialogNew({ text: message, width: 400, height: 'auto' }, logout);\r\n };\r\n exit(L('CONFIRM_EXIT'));\r\n return global.components.dialogs;\r\n };\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~// \r\n\r\n /**\r\n * Π”ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ \"Π’Ρ‹ ΡƒΠ²Π΅Ρ€Π΅Π½Ρ‹ Ρ‡Ρ‚ΠΎ Ρ…ΠΎΡ‚ΠΈΡ‚Π΅ Π²Ρ‹ΠΉΡ‚ΠΈ ΠΈΠ· Π²Π΅Π±-доступа\" [ΠΏΠΎΠΊΠ° Π² ΠΈΠ³Π½ΠΎΡ€Π΅]\r\n * @function WebAccess.components.dialogs.showLogoutPrompt \r\n * @ignore\r\n * @since 5.0.0.7300\r\n */\r\n global.components.dialogs.showReportParams = function (reportName, id, refcode) {\r\n ShowReportParams(reportName, id, refcode);\r\n };\r\n\r\n /**\r\n * Π“Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ контСкстных мСню.\r\n *\r\n * @namespace WebAccess.components.menus \r\n * @since 5.0.0.4000\r\n */\r\n global.components.menus = {};\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π“Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ Ρ„ΠΎΡ€ΠΌ ΠΈ ΠΏΡ€ΠΎΡ‡ΠΈΡ… элСмСнтов Π²Π²ΠΎΠ΄Π°.\r\n *\r\n * @namespace WebAccess.components.forms \r\n * @since 5.0.0.4000\r\n */\r\n global.components.forms = {};\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π“Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€Ρ‹ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΎΠ² Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ².\r\n *\r\n * @since 5.0.0.4000\r\n * @namespace WebAccess.components.forms.requisites\r\n */\r\n global.components.forms.requisites = {};\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠžΠ±Π΅Ρ€Ρ‚ΠΊΠΈ для элСмСнтов страниц.\r\n *\r\n * @namespace WebAccess.components.wrappers\r\n * @since 5.0.0.4011\r\n */\r\n global.components.wrappers = {};\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n \r\n\r\n /**\r\n * ΠžΠ±Π΅Ρ€Ρ‚ΠΊΠΈ для Ρ‚Π°Π±Π»ΠΈΡ† – ΠΎΠ±Π΅Ρ€Ρ‚ΠΎΠΊ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ² Π½Π°Π±ΠΎΡ€Π° Π΄Π°Π½Π½Ρ‹Ρ…. \r\n * @since 5.0.0.4011\r\n * @namespace WebAccess.components.wrappers.details\r\n */\r\n global.components.wrappers.details = {};\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠžΠ±Π΅Ρ€Ρ‚ΠΊΠΈ для элСмСнтов Ρ„ΠΎΡ€ΠΌ.\r\n * @since 5.0.0.4011\r\n * @namespace WebAccess.components.wrappers.form\r\n */\r\n global.components.wrappers.form = {};\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠžΠ±Π΅Ρ€Ρ‚ΠΊΠΈ для Π΄Π΅Ρ€Π΅Π²Π° ΠΏΠ°ΠΏΠΎΠΊ\r\n * @since 5.2.0.1600\r\n * @namespace WebAccess.components.wrappers.folderTree\r\n */\r\n global.components.wrappers.folderTree = {};\r\n\r\n /**\r\n * ΠžΠ±Π΅Ρ€Ρ‚ΠΊΠΈ для ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ².\r\n * @since 5.0.0.7100\r\n * @namespace WebAccess.components.wrappers.form.requisites\r\n */\r\n global.components.wrappers.form.requisites = {};\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠžΠ±Π΅Ρ€Ρ‚ΠΊΠΈ для ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ².\r\n * @since 5.0.0.7100\r\n * @private\r\n * @namespace WebAccess.components.wrappers.form.requisites._details\r\n */\r\n global.components.wrappers.form.requisites._details = {};\r\n\r\n /**\r\n * ΠžΠ±Π΅Ρ€Ρ‚ΠΊΠΈ для списка ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².\r\n * @since 5.0.0.4011\r\n * @namespace WebAccess.components.wrappers.objectList\r\n */\r\n global.components.wrappers.objectList = {};\r\n\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n /**\r\n * ΠžΠ±Π΅Ρ€Ρ‚ΠΊΠΈ для элСмСнтов Π±ΠΎΠΊΠΎΠ²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ страницы.\r\n * @since 5.0.0.4011\r\n * @namespace WebAccess.components.wrappers.sideBar\r\n */\r\n global.components.wrappers.sideBar = {};\r\n\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠžΠ±Π΅Ρ€Ρ‚ΠΊΠΈ для элСмСнтов Π»Π΅Π½Ρ‚Ρ‹.\r\n * @since 5.0.0.4011\r\n * @namespace WebAccess.components.wrappers.toolBar\r\n */\r\n global.components.wrappers.toolBar = {};\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * УвСдомлСния.\r\n * @since 5.0.0.4305\r\n * @namespace WebAccess.components.notifications\r\n */\r\n global.components.notifications = global.components.NTF = {}; \r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠžΠ±Π΅Ρ€Ρ‚ΠΊΠΈ для элСмСнтов страниц.\r\n * @since 5.2.0.1100\r\n * @namespace WebAccess.components.dataViews \r\n */\r\n global.components.dataViews = global.components.DV = {};\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠžΠ±Π΅Ρ€Ρ‚ΠΊΠΈ для элСмСнтов страниц.\r\n * @since 5.2.0.1100\r\n * @namespace WebAccess.components.dataViews.gridPlugins \r\n */\r\n global.components.dataViews.gridPlugins = {};\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠžΠ±Π΅Ρ€Ρ‚ΠΊΠΈ для элСмСнтов страниц.\r\n * @since 5.2.0.1100\r\n * @private\r\n * @namespace WebAccess.components.dataViews.gridPlugins._controls \r\n */\r\n global.components.dataViews.gridPlugins._controls = {};\r\n\r\n /**\r\n * ΠžΠ±Π΅Ρ€Ρ‚ΠΊΠΈ для элСмСнтов страниц.\r\n * @since 5.2.0.1100\r\n * @private\r\n * @namespace WebAccess.components.dataViews.gridPlugins._editors \r\n */\r\n global.components.dataViews.gridPlugins._editors = {};\r\n\r\n /**\r\n * ΠžΠ±Π΅Ρ€Ρ‚ΠΊΠΈ для элСмСнтов страниц.\r\n * @since 5.2.0.1100\r\n * @private\r\n * @namespace WebAccess.components.dataViews.gridPlugins._controls.selectList\r\n */\r\n global.components.dataViews.gridPlugins._controls.selectList = {\r\n passEventToContainer: function (element, event) {\r\n var jEl = $(element);\r\n var params = [jEl.is(\":checked\"), jEl.val(), jEl.text(), jEl.data('type')];\r\n jEl.parents('.container').trigger(event, params);\r\n return true;\r\n },\r\n\r\n SPECIAL_VALUE: {\r\n ALL: 'ALL',\r\n BLANK: 'BLANK',\r\n NOBLANK: 'NOBLANK'\r\n },\r\n\r\n DATE_SPECIAL_VALUE: {\r\n YESTERDAY: 'YESTERDAY',\r\n TODAY: 'TODAY',\r\n TOMORROW: 'TOMORROW',\r\n THIS_WEEK: 'THIS_WEEK',\r\n THIS_MONTH: 'THIS_MONTH',\r\n THIS_YEAR: 'THIS_YEAR'\r\n }\r\n };\r\n \r\n\r\n})(window.WebAccess);","\"use strict\";\r\n(function baseDataProviderDefinition(global) {\r\n\r\n /**\r\n * Π‘Π°Π·ΠΎΠ²Ρ‹ΠΉ класс ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€Π° Π΄Π°Π½Π½Ρ‹Ρ…. \r\n * @since 5.2.0.1100\r\n * @class WebAccess.components.dataViews.BaseDataProvider\r\n * @extends BaseObject\r\n * @property {object} defaults ΠšΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ\r\n */\r\n global.BaseDataProvider = BaseObject.extend({\r\n defaults: null,\r\n\r\n init: function (settings) {\r\n this._super(settings);\r\n this.defaults = {};\r\n },\r\n\r\n /**\r\n * Π—Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅.\r\n *\r\n * ΠœΠ΅Ρ‚ΠΎΠ΄ Π² чистом Π²ΠΈΠ΄Π΅ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ. ΠŸΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅Ρ‚ΡΡ наслСдниками. \r\n * @since 5.2.0.1100\r\n * @method WebAccess.components.dataViews.BaseDataProvider#load\r\n * @return {deferred} Deferred-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚\r\n */\r\n load: function (loadOptions) {\r\n var result = $.Deferred();\r\n var data = [];\r\n\r\n result.resolve(data);\r\n return result.promise();\r\n },\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ количСство записСй.\r\n *\r\n * ΠœΠ΅Ρ‚ΠΎΠ΄ Π² чистом Π²ΠΈΠ΄Π΅ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ. ΠŸΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅Ρ‚ΡΡ наслСдниками. \r\n * @since 5.2.0.1100\r\n * @method WebAccess.components.dataViews.BaseDataProvider#totalCount\r\n * @return {deferred} Deferred-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚\r\n */\r\n totalCount: function (filter) {\r\n var result = $.Deferred();\r\n var count = 0;\r\n\r\n result.resolve(count);\r\n return result.promise();\r\n },\r\n\r\n /**\r\n * Π—Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ.\r\n *\r\n * ΠœΠ΅Ρ‚ΠΎΠ΄ Π² чистом Π²ΠΈΠ΄Π΅ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ. ΠŸΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅Ρ‚ΡΡ наслСдниками. \r\n * @since 5.2.0.1100\r\n * @method WebAccess.components.dataViews.BaseDataProvider#loadState\r\n * @return {deferred} Deferred-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚\r\n */\r\n loadState: function () {\r\n var result = $.Deferred();\r\n var state = {};\r\n\r\n result.resolve(state);\r\n return result.promise();\r\n },\r\n\r\n /**\r\n * БохраняСт ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ.\r\n *\r\n * @method WebAccess.components.dataViews.BaseDataProvider#saveState\r\n * @return {Deferred}\r\n * @since 5.2.0.1100\r\n * @see https://api.jquery.com/category/deferred-object/\r\n */\r\n saveState: function () {\r\n var result = $.Deferred();\r\n var savedWithoutErrors = true;\r\n\r\n result.resolve(savedWithoutErrors);\r\n return result.promise();\r\n },\r\n\r\n /**\r\n * Π Π°ΡΡˆΠΈΡ€ΡΠ΅Ρ‚ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡŽ.\r\n *\r\n * @method WebAccess.components.dataViews.BaseDataProvider#extendDefaults\r\n * @since 5.2.0.1100\r\n * @return {object} Π Π°ΡΡˆΠΈΡ€Π΅Π½Π½Π°Ρ конфигурация\r\n */\r\n extendDefaults: function (loadOptions) {\r\n var me = this;\r\n return $.extend({}, this.defaults, loadOptions);\r\n }\r\n });\r\n\r\n})(WA.CMP.dataViews);","(function slectListDefinition(global) {\r\n \"use strict\";\r\n\r\n var ELLIPSIS = '...';\r\n var TEMPLATES = {\r\n MAIN_INPUT: '/components/selectList/mainInput.compile.html',\r\n LIST_RECORD: '/components/selectList/listRecord.compile.html',\r\n POPUP_AREA: '/components/selectList/popup.compile.html'\r\n };\r\n var LOAD_MARGIN = 50;\r\n\r\n /**\r\n * ПолС с Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΌ списком.\r\n *\r\n * @class WebAccess.components.dataViews.gridPlugins._controls.selectList.SelectListControl;\r\n * @extends BaseObject\r\n * @mixes WebAccess.mixins.pluginMixin\r\n * @since 5.2.0.1300\r\n * @param {string} containerSelector Π‘Π»ΠΎΠΊ, содСрТащий Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ;\r\n * @param {WebAccess.components.dataViews.DataProvider} dataProvider Класс, ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ Π΄Π°Π½Π½Ρ‹Π΅ для поля с Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΌ списком; \r\n * @param {Object} defaults Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹;\r\n * @property {String} className Имя класса\r\n * @property {String} instanceID Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ поля с Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΌ списком\r\n * @property {String} listInstanceID Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ списка\r\n * @property {String} dataProvider Класс, ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ Π΄Π°Π½Π½Ρ‹Π΅ поля с Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΌ списком \r\n * @property {String} minWidth Минимальная ΡˆΠΈΡ€ΠΈΠ½Π° Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ списка \r\n * @property {object} state ΠžΠ±ΡŠΠ΅ΠΊΡ‚, хранящий ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ поля\r\n */\r\n var SelectListControl = global.SelectListControl = BaseObject.extend([WA.mixins.pluginMixin], {\r\n className: \"SelectListControl\",\r\n instanceID: null,\r\n listInstanceID: null,\r\n containerSelector: null,\r\n dataProvider: null,\r\n state: {},\r\n minWidth: 260,\r\n\r\n _jContainer: null,\r\n _jDropDownIcon: null,\r\n _jWait: null,\r\n _jInput: null,\r\n _jOk: null,\r\n _jCancel: null,\r\n _jCheckBoxContaier: null,\r\n\r\n _spinnerTimeout: null,\r\n\r\n init: function (containerSelector, dataProvider, defaults) {\r\n var me = this;\r\n\r\n me._super();\r\n me.state = {\r\n selectedRecords: []\r\n };\r\n\r\n me.state = $.extend({}, me.state, defaults);\r\n\r\n me.dataProvider = dataProvider;\r\n me.instanceID = generateUniqueID();\r\n me.listInstanceID = generateUniqueID();\r\n me.containerSelector = containerSelector;\r\n me._jContainer = $(containerSelector);\r\n me._render();\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠžΡ‚Ρ€ΠΈΡΠΎΠ²ΠΊΠ° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π° ΠΈ вставка Π΅Π³ΠΎ Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€\r\n * @method WebAccess.components.dataViews.gridPlugins._controls.selectList.SelectListControl#_render \r\n * @private \r\n * @since 5.2.0.1300\r\n * @return {WebAccess.components.dataViews.gridPlugins._controls.selectList.SelectListControl}\r\n */\r\n _render: function () {\r\n var me = this;\r\n var template = WA.templates.render(TEMPLATES.MAIN_INPUT, {\r\n ID: me.instanceID,\r\n initialValue: me._getInputValue()\r\n }).done(function (html) {\r\n me._jContainer.html(html);\r\n me._initControls();\r\n me._bindEvents();\r\n });\r\n return me;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ значСния основного input-Π°\r\n * @method WebAccess.components.dataViews.gridPlugins._controls.selectList.SelectListControl#_getInputValue\r\n * @private\r\n * @since 5.2.0.1300\r\n * @return {String} Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅\r\n */\r\n _getInputValue: function () {\r\n var me = this;\r\n return ((me.state.selectedRecords && me.state.selectedRecords.length) || (me.state.notSelectedRecords && me.state.notSelectedRecords.length)) ? ELLIPSIS : me.state.like;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ jquery ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΎΠ²\r\n * @method WebAccess.components.dataViews.gridPlugins._controls.selectList.SelectListControl#_initControls\r\n * @private\r\n * @since 5.2.0.1300\r\n * @return {WebAccess.components.dataViews.gridPlugins._controls.selectList.SelectListControl}\r\n */\r\n _initControls: function () {\r\n var me = this;\r\n me._jDropDownIcon = $('.DropDown_Arrow', me.containerSelector);\r\n me._jInput = $('input.input', me.containerSelector);\r\n return me;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * НавСшиваниС событий Π½Π° ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Ρ‹ поля Π²Π²ΠΎΠ΄Π°\r\n * @method WebAccess.components.dataViews.gridPlugins._controls.selectList.SelectListControl#_bindEvents\r\n * @private\r\n * @since 5.2.0.1300\r\n * @return {WebAccess.components.dataViews.gridPlugins._controls.selectList.SelectListControl}\r\n */\r\n _bindEvents: function () {\r\n var me = this;\r\n me._jDropDownIcon.click($.proxy(me.openList, me));\r\n me._jInput.on('change', $.proxy(me._applyLike, me));\r\n me._jInput.on('focus', $.proxy(me._hideEllipsis, me));\r\n me._jInput.on('blur', $.proxy(me._showEllipsis, me));\r\n me._jInput.on('keyup', $.proxy(me._applyOnEnter, me));\r\n\r\n\r\n if (me.state.column && me.state.column.type === 'Date') {\r\n // По Enter дописываСм всС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ части Π΄Π°Ρ‚Ρ‹. Если ввСсли Ρ‚ΠΎΠ»ΡŒΠΊΠΎ дСнь, Ρ‚ΠΎ дописываСм мСсяц ΠΈ Π³ΠΎΠ΄. Если Π²Π²Π΅Π»ΠΈ дСнь ΠΈ мСсяц, Ρ‚ΠΎ дописываСм Π³ΠΎΠ΄.\r\n me._jInput.on('keydown.dateControl', function (e) {\r\n var key = e.which || e.keyCode;\r\n\r\n if (key === 13) {\r\n var inp = me._jInput;\r\n var date = ParseDateTime(inp);\r\n inp.val(formatDate(date));\r\n inp.change();\r\n me.close();\r\n }\r\n\r\n if ((key === 59 || key === 186) && e.ctrlKey) {\r\n var inp = me._jInput;\r\n inp.val(formatDate(new Date()));\r\n inp.change();\r\n me.close();\r\n }\r\n\r\n });\r\n }\r\n return me;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° enter Π² ΠΏΠΎΠ»Π΅ для like-Π²Π²ΠΎΠ΄Π°\r\n * @method WebAccess.components.dataViews.gridPlugins._controls.selectList.SelectListControl#_applyOnEnter\r\n * @private\r\n * @since 5.2.0.1300\r\n * @return {WebAccess.components.dataViews.gridPlugins._controls.selectList.SelectListControl}\r\n */\r\n _applyOnEnter: function (e, d) {\r\n var me = this;\r\n var charCode = e.which || e.keyCode;\r\n if (charCode === 13) {\r\n me._jInput.trigger('change');\r\n }\r\n return me;\r\n },\r\n\r\n /**\r\n * ΠŸΡ€ΠΈ фокусС Π½Π° ΠΏΠΎΠ»Π΅ Π²Π²ΠΎΠ΄Π° скрываСм ΠΌΠ½ΠΎΠ³ΠΎΡ‚ΠΎΡ‡ΠΈΠ΅\r\n * @method WebAccess.components.dataViews.gridPlugins._controls.selectList.SelectListControl#_hideEllipsis\r\n * @private\r\n * @since 5.2.0.1300\r\n * @return {WebAccess.components.dataViews.gridPlugins._controls.selectList.SelectListControl}\r\n */\r\n _hideEllipsis: function () {\r\n var me = this;\r\n if (me._jInput.val() === ELLIPSIS) me._jInput.val('');\r\n return me;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΡ€ΠΈ ΠΏΠΎΡ‚Π΅Ρ€Π΅ фокуса ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ ΠΌΠ½ΠΎΠ³ΠΎΡ‚ΠΎΡ‡ΠΈΠ΅, Ссли ΠΏΠΎΠ»Π΅ пустоС ΠΈ Π΅ΡΡ‚ΡŒ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Π΅ элСмСнты\r\n * @method WebAccess.components.dataViews.gridPlugins._controls.selectList.SelectListControl#_showEllipsis\r\n * @private\r\n * @since 5.2.0.1300\r\n * @return {WebAccess.components.dataViews.gridPlugins._controls.selectList.SelectListControl}\r\n */\r\n _showEllipsis: function () {\r\n var me = this;\r\n if (me.state.selectedRecords && me.state.selectedRecords.length) me._jInput.val(ELLIPSIS);\r\n return me;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠžΠ·Π½Π°Ρ‡ΠΈΠ²Π°Π½ΠΈΠ΅ элСмСнтов Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ списка\r\n * @method WebAccess.components.dataViews.gridPlugins._controls.selectList.SelectListControl#_initListControls\r\n * @private\r\n * @since 5.2.0.1300\r\n * @return {WebAccess.components.dataViews.gridPlugins._controls.selectList.SelectListControl}\r\n */\r\n _initListControls: function () {\r\n var me = this;\r\n me._jList = $(\"#\" + me.listInstanceID);\r\n me._jWait = me._jList.find('.jsSpinner');\r\n me._jCheckBoxContaier = me._jList.find('ul');\r\n me._jOk = me._jList.find('.jsOk');\r\n me._jCancel = me._jList.find('.jsCancel');\r\n return me;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * НавСшиваниС событий Π½Π° элСмСнты Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ списка\r\n * @method WebAccess.components.dataViews.gridPlugins._controls.selectList.SelectListControl#_bindListEvents\r\n * @private\r\n * @since 5.2.0.1300\r\n * @return {WebAccess.components.dataViews.gridPlugins._controls.selectList.SelectListControl}\r\n */\r\n _bindListEvents: function () {\r\n var me = this;\r\n me._jList.on('_change', function (ev, isChecked, value, display, type) {\r\n me.fire(SelectListControl.EVENT.ITEM_SELECT, isChecked, value, display, type);\r\n });\r\n me._jOk.on('click', $.proxy(me._applyList, me));\r\n me._jCancel.on('click', $.proxy(me.close, me));\r\n me._jCheckBoxContaier.on('scroll', $.proxy(me._handleScroll, me));\r\n\r\n return me;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π‘ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Π΅ контСкстныС мСню.\r\n * @method WebAccess.components.dataViews.gridPlugins._controls.selectList.SelectListControl#_hideOpenedControls\r\n * @private\r\n * @since 5.2.0.1300\r\n * @return {WebAccess.components.dataViews.gridPlugins._controls.selectList.SelectListControl}\r\n */\r\n _hideOpenedControls: function () {\r\n ContextMenu.hideAll();\r\n return me;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅Ρ‚, ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ Π»ΠΈ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΉ список.\r\n *\r\n * @method WebAccess.components.dataViews.gridPlugins._controls.selectList.SelectListControl#isOpened \r\n * @since 5.2.0.1300\r\n * @return {Boolean} \r\n */\r\n isOpened: function () {\r\n var me = this;\r\n var jList = $(\"#\" + me.listInstanceID);\r\n return !!jList.length;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠžΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΉ список.\r\n *\r\n * @method WebAccess.components.dataViews.gridPlugins._controls.selectList.SelectListControl#openList \r\n * @since 5.2.0.1300\r\n * @return {WebAccess.components.dataViews.gridPlugins._controls.selectList.SelectListControl} \r\n */\r\n openList: function () {\r\n var me = this;\r\n if (me.isOpened()) {\r\n me.close();\r\n return;\r\n };\r\n\r\n me.state.page = 0;\r\n me.state.skip = 0;\r\n\r\n me._spinnerTimeout = setTimeout(function () {\r\n me._jDropDownIcon.addClass('circle-spinner select-list__spinner');\r\n }, 200);\r\n\r\n me.dataProvider.load(me.state).done(function (records) {\r\n clearTimeout(me._spinnerTimeout);\r\n me._jDropDownIcon.removeClass('circle-spinner select-list__spinner');\r\n\r\n var partials = {\r\n listRecord: TEMPLATES.LIST_RECORD\r\n };\r\n\r\n var leftPosition = null;\r\n var winWidth = $(window).width();\r\n var rightPosition = (winWidth - (me._jContainer.offset().left + me._jContainer.outerWidth()));\r\n\r\n if (winWidth - rightPosition < me.minWidth) {\r\n leftPosition = me._jContainer.offset().left;\r\n }\r\n if (rightPosition === 0 && leftPosition === null) {\r\n rightPosition = 1; //0 воспринимаСтся шаблоном ΠΊΠ°ΠΊ false ΠΈ ΠΎΡ‚ этого right Π½Π΅ задаСтся\r\n };\r\n\r\n me.fire(SelectListControl.EVENT.BEFORE_LIST_OPEN, me, records);\r\n var template = WA.templates.render(TEMPLATES.POPUP_AREA,\r\n {\r\n instanceID: me.listInstanceID,\r\n values: records,\r\n okText: L('OK'),\r\n cancelText: L('CANCEL'),\r\n waitText: L('WAIT'),\r\n position: {\r\n right: rightPosition,\r\n left: leftPosition,\r\n top: me._jContainer.offset().top + me._jContainer.outerHeight(),\r\n width: me._jContainer.width(),\r\n minWidth: me.minWidth\r\n }\r\n }, null, null, partials).done(function (html) {\r\n $('body').append(html);\r\n me._initListControls();\r\n me._bindListEvents();\r\n });\r\n });\r\n return me;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Запуск Π΄ΠΎΠ·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ списка ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠ΅\r\n * @method WebAccess.components.dataViews.gridPlugins._controls.selectList.SelectListControl#_handleScroll \r\n * @private\r\n * @since 5.2.0.1300\r\n * @return {WebAccess.components.dataViews.gridPlugins._controls.selectList.SelectListControl} \r\n */\r\n _handleScroll: function (event, data) {\r\n var me = this;\r\n var area = event.target;\r\n var jArea = me._jCheckBoxContaier;\r\n\r\n if (jArea.scrollTop() + jArea.innerHeight() >= area.scrollHeight - LOAD_MARGIN) {\r\n me._appendRecords();\r\n }\r\n return me;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π”ΠΎΠ·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ списка ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠ΅\r\n * @method WebAccess.components.dataViews.gridPlugins._controls.selectList.SelectListControl#_appendRecords \r\n * @private\r\n * @since 5.2.0.1300\r\n * @return {WebAccess.components.dataViews.gridPlugins._controls.selectList.SelectListControl} \r\n */\r\n _appendRecords: function () {\r\n var me = this;\r\n if (me.state.isPending) return;\r\n\r\n me.state.page++;\r\n me.state.isPending = true;\r\n me.state.skip = me.state.take * me.state.page;\r\n\r\n var timeout = setTimeout(function () {\r\n me._jWait.fadeIn(200);\r\n }, 500);\r\n\r\n me.dataProvider.load(me.state).done(function (records) {\r\n me.fire(SelectListControl.EVENT.BEFORE_RECORDS_APPEND, records, me);\r\n me.state.isPending = false;\r\n clearTimeout(timeout);\r\n\r\n me._jWait.fadeOut(400);\r\n _(records).each(function (record) {\r\n //Π—Π΄Π΅ΡΡŒ синхронно ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ порядок Π²Π°ΠΆΠ΅Π½\r\n\r\n WA.templates.render(TEMPLATES.LIST_RECORD, record, false, true).done(function (line) {\r\n me._jCheckBoxContaier.append(line);\r\n });\r\n });\r\n });\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n\r\n /**\r\n * ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° значСния like-поиска\r\n * @method WebAccess.components.dataViews.gridPlugins._controls.selectList.SelectListControl#_applyLike \r\n * @private\r\n * @since 5.2.0.1300\r\n * @return {WebAccess.components.dataViews.gridPlugins._controls.selectList.SelectListControl} \r\n */\r\n _applyLike: function () {\r\n var me = this;\r\n var currentLike = (me._jInput.val() !== ELLIPSIS) ? me._jInput.val() : '';\r\n var recordsCount = me.state.selectedRecords.length + me.state.notSelectedRecords.length; //Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π±ΠΎΡ‚Π°Π» сброс ΠΏΠΎ enter-Ρƒ\r\n me.state.selectedRecords = [];\r\n me.state.notSelectedRecords = [];\r\n me.state.invertedMode = false;\r\n\r\n if (!me._validateLike(currentLike)) {\r\n me._jInput.val('');\r\n return me;\r\n }\r\n\r\n if (me.state.like !== currentLike || recordsCount > 0) {\r\n me.state.like = currentLike;\r\n me.fire(SelectListControl.EVENT.VALUE_CHANGED, me.getValue());\r\n }\r\n return me;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Валидация значСния like Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°.\r\n * @method WebAccess.components.dataViews.gridPlugins._controls.selectList.SelectListControl#_validateLike \r\n * @private\r\n * @since 5.4.0.1035\r\n * @return {WebAccess.components.dataViews.gridPlugins._controls.selectList.SelectListControl} \r\n */\r\n _validateLike: function (value) {\r\n var me = this;\r\n switch (me.state.column.type) {\r\n case \"Integer\":\r\n return !isNaN(+value);\r\n case \"Float\":\r\n return !isNaN(+value.replaceAll(',', '.'));\r\n }\r\n return true;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Ρ… записСй\r\n * @method WebAccess.components.dataViews.gridPlugins._controls.selectList.SelectListControl#_applyList \r\n * @private\r\n * @since 5.2.0.1300\r\n * @return {WebAccess.components.dataViews.gridPlugins._controls.selectList.SelectListControl} \r\n */\r\n _applyList: function () {\r\n var me = this;\r\n me.state.selectedRecords = me.state.selectedRecords || [];\r\n me.state.notSelectedRecords = me.state.notSelectedRecords || [];\r\n\r\n function getElementIdFromValue(value) {\r\n let id = (\"\" + value).makeSafeString();\r\n if (id === '_') {\r\n switch (value) {\r\n case '+': id = 'APPROVED'; break;\r\n case '?': id = 'DISAPPROVED'; break;\r\n default: id = 'UNSPECIFIED'; break;\r\n }\r\n }\r\n return id;\r\n }\r\n\r\n //Π£Π±ΠΈΡ€Π°Π΅ΠΌ ΠΈΠ· списка Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Ρ… снятыС Π³Π°Π»ΠΎΡ‡ΠΊΠΈ\r\n me.state.selectedRecords = _(_(me.state.selectedRecords).map(function (record, index) {\r\n let id = getElementIdFromValue(record.Value);\r\n let jOption = me._jList.find('#' + id + '-list-option');\r\n if (jOption.length && !jOption.is(':checked')) {\r\n return\r\n } else {\r\n return me.state.selectedRecords[index]\r\n }\r\n })).compact();\r\n\r\n\r\n //Π£Π±ΠΈΡ€Π°Π΅ΠΌ ΠΈΠ· списка Π½Π΅Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Ρ… ΠΎΡ‚ΠΌΠ΅Ρ‡Π΅Π½Π½Ρ‹Π΅ Π³Π°Π»ΠΎΡ‡ΠΊΠΈ\r\n me.state.notSelectedRecords = _(_(me.state.notSelectedRecords).map(function (record, index) {\r\n let id = getElementIdFromValue(record.Value);\r\n let jOption = me._jList.find('#' + id + '-list-option');\r\n if (jOption.length && jOption.is(':checked')) {\r\n return\r\n } else {\r\n return me.state.notSelectedRecords[index]\r\n }\r\n })).compact();\r\n\r\n /**\r\n * Π—Π°ΠΏΠΈΡΡŒ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Π² список ΠΎΠ±Π΅ΠΊΡ‚ΠΎΠ²\r\n */\r\n var isExist = function (value, isInverted) {\r\n if (isInverted) {\r\n return !!_(me.state.notSelectedRecords).find(function (r) { return r.Value === value });\r\n } else {\r\n return !!_(me.state.selectedRecords).find(function (r) { return r.Value === value });\r\n }\r\n };\r\n\r\n\r\n //ДобавляСм Π² список Π½ΠΎΠ²Ρ‹Π΅ ΠΎΡ‚ΠΌΠ΅Ρ‡Π΅Π½Π½Ρ‹Π΅ Π³Π°Π»ΠΎΡ‡ΠΊΠΈ \r\n me._jList.find('input[type=checkbox]:checked').each(function () {\r\n var value = $(this).val();\r\n if (!isExist(value, false)) {\r\n me.state.selectedRecords.push({\r\n Type: $(this).data('type'),\r\n Value: value,\r\n DisplayValue: $(this).attr('title')\r\n });\r\n };\r\n });\r\n\r\n //ДобавляСм Π² список Π½ΠΎΠ²Ρ‹Π΅ Π½Π΅ΠΎΡ‚ΠΌΠ΅Ρ‡Π΅Π½Π½Ρ‹Π΅ Π³Π°Π»ΠΎΡ‡ΠΊΠΈ \r\n me._jList.find('input[type=checkbox]:not(:checked)').each(function () {\r\n var value = $(this).val();\r\n if (!isExist(value, true)) {\r\n me.state.notSelectedRecords.push({\r\n Type: $(this).data('type'),\r\n Value: value,\r\n DisplayValue: $(this).attr('title')\r\n });\r\n };\r\n });\r\n\r\n if (me.state.selectedRecords && me.state.selectedRecords.length) {\r\n me._jInput.val(ELLIPSIS);\r\n } else {\r\n me._jInput.val('');\r\n }\r\n\r\n me.state.like = '';\r\n me.close();\r\n me.fire(SelectListControl.EVENT.VALUE_CHANGED, me.getValue());\r\n return me;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠžΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ‚ состояниС поля.\r\n *\r\n * @method WebAccess.components.dataViews.gridPlugins._controls.selectList.SelectListControl#updateState \r\n * @param {Object} newState НовоС состояниС\r\n * @since 5.2.0.1300\r\n * @return {WebAccess.components.dataViews.gridPlugins._controls.selectList.SelectListControl} \r\n */\r\n updateState: function (newState) {\r\n var me = this;\r\n $.extend(me.state, newState);\r\n me._jInput.val(me._getInputValue());\r\n me.close();\r\n return me;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π—Π°ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΉ список.\r\n *\r\n * @method WebAccess.components.dataViews.gridPlugins._controls.selectList.SelectListControl#close \r\n * @since 5.2.0.1300\r\n * @return {WebAccess.components.dataViews.gridPlugins._controls.selectList.SelectListControl} \r\n */\r\n close: function () {\r\n var me = this;\r\n if (!me._jOk) return;\r\n me._jOk.off('click');\r\n me._jCancel.off('click');\r\n me._jList.remove();\r\n return me;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ поля.\r\n *\r\n * @method WebAccess.components.dataViews.gridPlugins._controls.selectList.SelectListControl#getValue \r\n * @since 5.2.0.1300\r\n * @return {Object} Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ поля.\r\n */\r\n getValue: function () {\r\n var me = this;\r\n var filterType = (me.state.selectedRecords && me.state.selectedRecords.length) ? 'In' : 'Like';\r\n var equalRes = null;\r\n\r\n var columnType = me.state.column.type;\r\n //Π‘Ρ€Π°Π²Π½Π΅Π½ΠΈΠ΅ для числовых Ρ‚ΠΈΠΏΠΎΠ² ΠΏΠΎ Π»Π°ΠΉΠΊ Π²Π²ΠΎΠ΄Ρƒ Π½Π° Ρ€Π°Π²Π½ΠΎ\r\n if (((columnType === 'Float') || (columnType === 'Integer')) && (filterType === 'Like')) {\r\n if (me.state.like) {\r\n me.state.like = me.state.like.replaceAll(',', '.');\r\n }\r\n filterType = 'Equal';\r\n equalRes = $.trim(me.state.like);\r\n }\r\n\r\n var value = {\r\n 'Like': $.trim(me.state.like),\r\n 'In': me.state.selectedRecords,\r\n 'Equal': equalRes,\r\n 'Type': filterType\r\n }\r\n\r\n me.fire(SelectListControl.EVENT.ON_GET_VALUE, me, value);\r\n\r\n if (me.state.invertedMode) {\r\n value.In = me.state.notSelectedRecords;\r\n value.Type = 'Exclude'\r\n };\r\n\r\n return value;\r\n }\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n }, {\r\n EVENT: {\r\n /**\r\n * Π‘Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ΠΌ значСния ΠΈΠ· поля.\r\n *\r\n * @event WebAccess.components.dataViews.gridPlugins._controls.selectList.SelectListControl.EVENT.ON_GET_VALUE\r\n * @param {Object} selectList ссылка Π½Π° экзСмпляр класса ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π°\r\n * @param {Object} byref_value Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ \r\n */\r\n ON_GET_VALUE: 'getValue',\r\n\r\n /**\r\n * Π‘Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ смСнС значСния Π² ΠΏΠΎΠ»Π΅.\r\n *\r\n * @event WebAccess.components.dataViews.gridPlugins._controls.selectList.SelectListControl.EVENT.VALUE_CHANGED\r\n * @param {Object} byref_value Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ \r\n */\r\n VALUE_CHANGED: 'change',\r\n\r\n /**\r\n * Π‘Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ· Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ списка.\r\n *\r\n * @event WebAccess.components.dataViews.gridPlugins._controls.selectList.SelectListControl.EVENT.ITEM_SELECT\r\n * @param {Object} isChecked Π’Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ элСмСнт списка. \r\n * @param {Object} value Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ элСмСнта. \r\n * @param {Object} displayValue Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ поля.\r\n */\r\n ITEM_SELECT: 'select',\r\n\r\n /**\r\n * Π‘Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π΄ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ΠΌ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ списка.\r\n *\r\n * @event WebAccess.components.dataViews.gridPlugins._controls.selectList.SelectListControl.EVENT.BEFORE_LIST_OPEN\r\n * @param {Object} selectList Бсылка Π½Π° экзСмпляр класса поля\r\n * @param {Object} items Бписок Π½Π°Ρ‡Π°Π»ΡŒΠ½Ρ‹Ρ… элСмСнтов Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ списка \r\n */\r\n BEFORE_LIST_OPEN: 'beforeListOpen',\r\n\r\n /**\r\n * Π‘Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ Π½ΠΎΠ²Ρ‹Ρ… записСй Π² Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΉ список.\r\n *\r\n * @event WebAccess.components.dataViews.gridPlugins._controls.selectList.SelectListControl.EVENT.BEFORE_RECORDS_APPEND\r\n * @param {Object} isChecked Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ \r\n * @param {Object} items НовыС элСмСнты списка \r\n */\r\n BEFORE_RECORDS_APPEND: 'beforeRecordsAppend'\r\n }\r\n });\r\n\r\n})(window.WA.components.dataViews.gridPlugins._controls.selectList);","(function checkboxPlugin(global) {\r\n \"use strict\";\r\n\r\n var SPECIAL_VALUE = global.DATE_SPECIAL_VALUE;\r\n var CONTROL_EVENT = global.SelectListControl.EVENT;\r\n\r\n /**\r\n * Плагин для добавлСния ΡΠΏΠ΅Ρ†ΠΈΠ°Π²Π»ΡŒΠ½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ \"ВсС\", \"ΠŸΡƒΡΡ‚Ρ‹Π΅\", \"НС пустыС\" для ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π° SelectList\r\n * @class WebAccess.components.dataViews.gridPlugins._controls.selectList.SpecialValuesPlugin\r\n * @extends WebAccess.Plugin\r\n * @property {string} name Имя ΠΏΠ»Π°Π³ΠΈΠ½Π°. \r\n * @since 5.2.0.1300\r\n */\r\n global.DateValuesPlugin = WA.Plugin.extend({\r\n name: 'SpecialValuesPlugin',\r\n\r\n _selectList: null,\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * РСгистрация ΠΏΠ»Π°Π³ΠΈΠ½Π°.\r\n * @method WebAccess.components.dataViews.gridPlugins._controls.selectList.SpecialValuesPlugin#register\r\n * @param {WebAccess.components.dataViews.gridPlugins._controls.selectList.SelectList} Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅ΠΌΡ‹ΠΉ экзСмпляр\r\n * @since 5.2.0.1300\r\n * @return {object} ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ доступныС Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅ΠΌΠΎΠΌΡƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ.\r\n */\r\n register: function (selectList) {\r\n var me = this;\r\n me._selectList = selectList\r\n .bind(CONTROL_EVENT.BEFORE_LIST_OPEN, $.proxy(me._beforeListOpen, me))\r\n .bind(CONTROL_EVENT.BEFORE_RECORDS_APPEND, $.proxy(me._beforeRecordsAppend, me)) \r\n return {};\r\n },\r\n \r\n /**\r\n * ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎ Π±Ρ‹Π»ΠΈ Π²Ρ‹Π±Ρ€Π°Π½Ρ‹ всС записи\r\n * @private\r\n * @since 5.2.0.1300\r\n * @method WebAccess.components.dataViews.gridPlugins._controls.selectList.SpecialValuesPlugin#_onRecordSelect\r\n * @return {Boolean}\r\n */\r\n _isAllSelected: function () {\r\n var me = this; \r\n return me._selectList._jList.find('#' + SPECIAL_VALUE.ALL + '-list-option').is(':checked');\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n \r\n /**\r\n * ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° наличия значСния Π² спискС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²\r\n * @private\r\n * @since 5.2.0.1300\r\n * @method WebAccess.components.dataViews.gridPlugins._controls.selectList.SpecialValuesPlugin#_isExist\r\n * @param {string} value провСряСмоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅\r\n * @return {Boolean}\r\n */\r\n _isExist: function (value, isInverted) {\r\n var me = this;\r\n var state = me._selectList.state;\r\n if (isInverted) {\r\n return !_(state.notSelectedRecords).where({ Value: value }).length;\r\n } else {\r\n return !!_(state.selectedRecords).where({ Value: value }).length;\r\n }\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π”ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ списка ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² спСц.значСниями ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ списка\r\n * @private\r\n * @since 5.2.0.1300\r\n * @method WebAccess.components.dataViews.gridPlugins._controls.selectList.SpecialValuesPlugin#_beforeListOpen\r\n * @param {string} value провСряСмоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅\r\n * @return {Boolean}\r\n */\r\n _beforeListOpen: function (selectList, byref_records) {\r\n var me = this;\r\n var isInverted = selectList.state.invertedMode; \r\n \r\n byref_records.unshift({\r\n id: (\"\" + SPECIAL_VALUE.THIS_YEAR).makeSafeString(),\r\n value: SPECIAL_VALUE.THIS_YEAR,\r\n displayValue: L('CHOICE_THIS_YEAR'),\r\n type: SPECIAL_VALUE.THIS_YEAR,\r\n isSelected: me._isExist(SPECIAL_VALUE.THIS_YEAR, isInverted),\r\n classes: 'withBottomBorder'\r\n })\r\n\r\n byref_records.unshift({\r\n id: (\"\" + SPECIAL_VALUE.THIS_MONTH).makeSafeString(),\r\n value: SPECIAL_VALUE.THIS_MONTH,\r\n displayValue: L('CHOICE_THIS_MONTH'),\r\n type: SPECIAL_VALUE.THIS_MONTH,\r\n isSelected: me._isExist(SPECIAL_VALUE.THIS_MONTH, isInverted)\r\n });\r\n\r\n byref_records.unshift({\r\n id: (\"\" + SPECIAL_VALUE.THIS_WEEK).makeSafeString(),\r\n value: SPECIAL_VALUE.THIS_WEEK,\r\n displayValue: L('CHOICE_THIS_WEEK'),\r\n type: SPECIAL_VALUE.THIS_WEEK,\r\n isSelected: me._isExist(SPECIAL_VALUE.THIS_WEEK, isInverted)\r\n });\r\n\r\n byref_records.unshift({\r\n id: (\"\" + SPECIAL_VALUE.TOMORROW).makeSafeString(),\r\n value: SPECIAL_VALUE.TOMORROW,\r\n displayValue: L('CHOICE_TOMORROW'),\r\n type: SPECIAL_VALUE.TOMORROW,\r\n isSelected: me._isExist(SPECIAL_VALUE.TOMORROW, isInverted)\r\n });\r\n\r\n byref_records.unshift({\r\n id: (\"\" + SPECIAL_VALUE.TODAY).makeSafeString(),\r\n value: SPECIAL_VALUE.TODAY,\r\n displayValue: L('CHOICE_TODAY'),\r\n type: SPECIAL_VALUE.TODAY,\r\n isSelected: me._isExist(SPECIAL_VALUE.TODAY, isInverted)\r\n });\r\n\r\n byref_records.unshift({\r\n id: (\"\" + SPECIAL_VALUE.YESTERDAY).makeSafeString(),\r\n value: SPECIAL_VALUE.YESTERDAY,\r\n displayValue: L('CHOICE_YESTERDAY'),\r\n type: SPECIAL_VALUE.YESTERDAY,\r\n isSelected: me._isExist(SPECIAL_VALUE.YESTERDAY, isInverted)\r\n });\r\n \r\n return me;\r\n }\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n \r\n });\r\n\r\n})(WA.components.dataViews.gridPlugins._controls.selectList);","(function checkboxPlugin(global) {\r\n \"use strict\";\r\n\r\n var SPECIAL_VALUE = global.SPECIAL_VALUE;\r\n var CONTROL_EVENT = global.SelectListControl.EVENT;\r\n\r\n /**\r\n * Плагин для добавлСния ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ \"ВсС\", \"ΠŸΡƒΡΡ‚Ρ‹Π΅\", \"НС пустыС\" для поля с Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΌ списком\r\n *\r\n * @class WebAccess.components.dataViews.gridPlugins._controls.selectList.SpecialValuesPlugin\r\n * @extends WebAccess.Plugin\r\n * @property {string} name Имя ΠΏΠ»Π°Π³ΠΈΠ½Π°. \r\n * @since 5.2.0.1300\r\n */\r\n global.SpecialValuesPlugin = WA.Plugin.extend({\r\n name: 'SpecialValuesPlugin',\r\n\r\n _selectList: null,\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * РСгистрируСт ΠΏΠ»Π°Π³ΠΈΠ½.\r\n *\r\n * @method WebAccess.components.dataViews.gridPlugins._controls.selectList.SpecialValuesPlugin#register\r\n * @param {WebAccess.components.dataViews.gridPlugins._controls.selectList.SelectList} Π Π°ΡΡˆΠΈΡ€ΡΠ΅ΠΌΡ‹ΠΉ экзСмпляр\r\n * @since 5.2.0.1300\r\n * @return {object} Ассоциативный массив, содСрТащий ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹.\r\n */\r\n register: function (selectList) {\r\n var me = this;\r\n me._selectList = selectList\r\n .bind(CONTROL_EVENT.BEFORE_LIST_OPEN, $.proxy(me._beforeListOpen, me))\r\n .bind(CONTROL_EVENT.BEFORE_RECORDS_APPEND, $.proxy(me._beforeRecordsAppend, me))\r\n .bind(CONTROL_EVENT.ON_GET_VALUE, $.proxy(me._onGetValue, me))\r\n .bind(CONTROL_EVENT.ITEM_SELECT, $.proxy(me._onRecordSelect, me))\r\n return {};\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΊΠ»ΠΈΠΊΠΎΠ² ΠΏΠΎ спСц.значСниям\r\n * @private\r\n * @since 5.2.0.1300\r\n * @method WebAccess.components.dataViews.gridPlugins._controls.selectList.SpecialValuesPlugin#_onRecordSelect\r\n * @return {WebAccess.components.dataViews.gridPlugins._controls.selectList.SpecialValuesPlugin}\r\n */\r\n _onRecordSelect: function (isChecked, value, display, type) {\r\n var me = this;\r\n if (type === SPECIAL_VALUE.ALL) {\r\n var jInp = me._selectList._jList.find('input[type=checkbox]');\r\n\r\n if (isChecked === true) {\r\n me._selectList.state.invertedMode = true;\r\n jInp.prop('checked', true);\r\n } else {\r\n me._selectList.state.invertedMode = false;\r\n jInp.prop('checked', false);\r\n } \r\n\r\n me._selectList.state.selectedRecords = [];\r\n me._selectList.state.notSelectedRecords = [];\r\n }\r\n\r\n if (type === SPECIAL_VALUE.BLANK || type === SPECIAL_VALUE.NOBLANK) {\r\n if (isChecked === true & (!me._isExist(value))) {\r\n if (!me._selectList.state.selectedRecords) me._selectList.state.selectedRecords = [];\r\n me._selectList.state.selectedRecords.push({\r\n Value: value,\r\n Type: type,\r\n Display: display\r\n }); \r\n }\r\n }\r\n return me;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎ Π±Ρ‹Π»ΠΈ Π²Ρ‹Π±Ρ€Π°Π½Ρ‹ всС записи\r\n * @private\r\n * @since 5.2.0.1300\r\n * @method WebAccess.components.dataViews.gridPlugins._controls.selectList.SpecialValuesPlugin#_onRecordSelect\r\n * @return {Boolean}\r\n */\r\n _isAllSelected: function () {\r\n var me = this; \r\n return me._selectList._jList.find('#' + SPECIAL_VALUE.ALL + '-list-option').is(':checked');\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠžΡ‚ΠΌΠ΅Ρ‚ΠΊΠ° чСкбоксов ΠΏΡ€ΠΈ ΠΏΠΎΠ΄Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ Ссли Π±Ρ‹Π»Π° Π²Ρ‹Π±Ρ€Π°Π½Π° Π³Π°Π»ΠΎΡ‡ΠΊΠ° ALL\r\n * @private\r\n * @since 5.2.0.1300\r\n * @method WebAccess.components.dataViews.gridPlugins._controls.selectList.SpecialValuesPlugin#_beforeRecordsAppend\r\n * @return {WebAccess.components.dataViews.gridPlugins._controls.selectList.SpecialValuesPlugin}\r\n */\r\n _beforeRecordsAppend: function (byref_records, selectList) {\r\n var me = this;\r\n if (me._isAllSelected()) {\r\n _(byref_records).each(function (record) { \r\n record.isSelected = true;\r\n //Если Π±Ρ‹Π»ΠΈ записи ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½Π½Ρ‹Π΅ ΠΈΠ· Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ ΠΊΠΎΠ³Π΄Π° наТималась ΠΊΠ½ΠΎΠΏΠΊΠ° \"ВсС\" Π½Π°Π΄ΠΎ ΠΏΡ€ΠΈ восстановлСнии ΡΠ½ΡΡ‚ΡŒ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅;\r\n if (_(selectList.state.notSelectedRecords).findIndex({ 'Value': record.value }) !== -1) {\r\n record.isSelected = false;\r\n }\r\n });\r\n }\r\n return me;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° наличия значСния Π² спискС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²\r\n * @private\r\n * @since 5.2.0.1300\r\n * @method WebAccess.components.dataViews.gridPlugins._controls.selectList.SpecialValuesPlugin#_isExist\r\n * @param {string} value провСряСмоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅\r\n * @return {Boolean}\r\n */\r\n _isExist: function (value, isInverted) {\r\n var me = this;\r\n var state = me._selectList.state;\r\n if (isInverted) {\r\n return !_(state.notSelectedRecords).where({ Value: value }).length;\r\n } else {\r\n return !!_(state.selectedRecords).where({ Value: value }).length;\r\n }\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π”ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ списка ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² спСц.значСниями ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ списка\r\n * @private\r\n * @since 5.2.0.1300\r\n * @method WebAccess.components.dataViews.gridPlugins._controls.selectList.SpecialValuesPlugin#_beforeListOpen\r\n * @param {string} value провСряСмоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅\r\n * @return {Boolean}\r\n */\r\n _beforeListOpen: function (selectList, byref_records) {\r\n var me = this;\r\n var emptyIndex;\r\n var isInverted = selectList.state.invertedMode;\r\n\r\n\r\n var emptyRecord = _(byref_records).find(function (record, index) { \r\n emptyIndex = index;\r\n return record.value === ''; \r\n });\r\n \r\n var hasEmptyRecords = (!$.isEmptyObject(emptyRecord)); \r\n\r\n if (hasEmptyRecords) {\r\n byref_records.splice(emptyIndex, 1)\r\n byref_records.unshift({\r\n id: (\"\" + SPECIAL_VALUE.NOBLANK).makeSafeString(),\r\n value: SPECIAL_VALUE.NOBLANK,\r\n displayValue: L('CHOICE_NONBLANK'),\r\n type: SPECIAL_VALUE.NOBLANK,\r\n isSelected: me._isExist(SPECIAL_VALUE.NOBLANK, isInverted),\r\n classes: 'withBottomBorder'\r\n });\r\n byref_records.unshift({\r\n id: (\"\" + SPECIAL_VALUE.BLANK).makeSafeString(),\r\n value: SPECIAL_VALUE.BLANK,\r\n displayValue: L('CHOICE_BLANK'),\r\n type: SPECIAL_VALUE.BLANK,\r\n isSelected: me._isExist(SPECIAL_VALUE.BLANK, isInverted)\r\n });\r\n };\r\n\r\n var classes = (!hasEmptyRecords) ? 'withBottomBorder' : '';\r\n byref_records.unshift({\r\n id: (\"\" + SPECIAL_VALUE.ALL).makeSafeString(),\r\n value: SPECIAL_VALUE.ALL,\r\n displayValue: L('CHOICE_ALL'),\r\n type: SPECIAL_VALUE.ALL,\r\n isSelected: isInverted,\r\n classes: classes\r\n }); //classes: 'withBottomBorder' \r\n return me;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n \r\n /**\r\n * Если ALL Ρ‚ΠΎ чистим Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ ΠΈ ΡƒΠ±ΠΈΡ€Π°Π΅ΠΌ ΠΌΠ½ΠΎΠ³ΠΎΡ‚ΠΎΡ‡ΠΈΠ΅\r\n * @private\r\n * @since 5.2.0.1300\r\n * @method WebAccess.components.dataViews.gridPlugins._controls.selectList.SpecialValuesPlugin#_onGetValue\r\n * @param {string} value провСряСмоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅\r\n * @return {WebAccess.components.dataViews.gridPlugins._controls.selectList.SpecialValuesPlugin}\r\n */\r\n _onGetValue: function (selectList, byref_filter) { \r\n var me = this;\r\n\r\n //Π£Π±Π΅Ρ€Π΅ΠΌ ΠΈΠ· Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π° запись ALL, ΠΈΠ½Π°Ρ‡Π΅ ΠΎΠ½Π° ΠΏΠΎΠ»ΠΎΠΌΠ°Π΅Ρ‚ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡŽ\r\n if (selectList.state.invertedMode === true) {\r\n selectList.state.notSelectedRecords = _.without(selectList.state.notSelectedRecords, _.findWhere(selectList.state.notSelectedRecords, {\r\n Value: SPECIAL_VALUE.ALL\r\n }));\r\n }\r\n\r\n if (byref_filter.Type === 'In') {\r\n if (_(byref_filter.In).where({ Value: SPECIAL_VALUE.ALL }).length) { \r\n if (_(selectList.state.notSelectedRecords).filter(function (record) { return record.Value !== SPECIAL_VALUE.ALL }).length > 0) {\r\n //Π·Π½Π°Ρ‡ΠΈΡ‚ снимали Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ хотя-Π±Ρ‹ ΠΎΡ‚ ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· всСх Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… записСй\r\n selectList.state.invertedMode = true; \r\n } else {\r\n byref_filter.In = null;\r\n byref_filter.Type = 'Like';\r\n selectList.state.selectedRecords = [];\r\n selectList.state.notSelectedRecords = [];\r\n selectList._jInput.val('');\r\n selectList.state.invertedMode = false; \r\n } \r\n }\r\n\r\n var blankAndNoBlankItems = _(byref_filter.In).filter(function (i) {\r\n return i.Type === SPECIAL_VALUE.BLANK || i.Type === SPECIAL_VALUE.NOBLANK \r\n });\r\n\r\n if (blankAndNoBlankItems.length === 2) {\r\n byref_filter.In = _.chain(byref_filter.In)\r\n .map(function (i, index) {\r\n if (i.Type === SPECIAL_VALUE.BLANK || i.Type === SPECIAL_VALUE.NOBLANK) return null;\r\n return i;\r\n })\r\n .compact()\r\n .value();\r\n }\r\n\r\n }\r\n return me;\r\n }\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n });\r\n\r\n})(WA.components.dataViews.gridPlugins._controls.selectList);","(function dateControlDefinition(global) {\r\n \"use strict\";\r\n\r\n // Π¨Π°Π±Π»ΠΎΠ½.\r\n var TEMPLATE = '/formBuilder/date.compile.html';\r\n\r\n /**\r\n * Π’Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ Π΄Π°Ρ‚Ρ‹ для Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π° Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅.\r\n *\r\n * @class WebAccess.components.dataViews.gridPlugins._controls.DateControl\r\n * @property {string} containerSelector Π‘Π»ΠΎΠΊ, содСрТащий Π²Ρ‹Π±ΠΎΡ€ Π΄Π°Ρ‚Ρ‹ для Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π° Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅. \r\n * @property {Object} defaults Настройки ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. \r\n * @since 5.2.0.1100\r\n */\r\n var DateControl = global.DateControl = BaseObject.extend({\r\n className: \"DateControl\",\r\n instanceID: null,\r\n containerSelector: '',\r\n state: {\r\n column: null,\r\n value: null\r\n },\r\n\r\n _jContainer: null,\r\n _jInput: null,\r\n\r\n init: function (containerSelector, defaults) {\r\n var me = this;\r\n me._super();\r\n me.state = {};\r\n $.extend(me.state, defaults);\r\n me.instanceID = generateUniqueID();\r\n me.containerSelector = containerSelector;\r\n me._jContainer = $(containerSelector);\r\n me._render();\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠžΡ‚Ρ€ΠΈΡΠΎΠ²ΠΊΠ° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹.\r\n * @method WebAccess.components.dataViews.gridPlugins._controls.DateControl#_initControls\r\n * @private\r\n * @since 5.2.0.1100\r\n */\r\n _render: function () {\r\n var me = this;\r\n var template = WA.templates.render(TEMPLATE, {\r\n id: me.instanceID,\r\n 'class': 'dateControl',\r\n showTime: (me.state.column.dateType === 'DateTime')\r\n }).done(function (html) {\r\n me._jContainer.html(html);\r\n me._initControls();\r\n me._bindEvents();\r\n });\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΎΠ² ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹.\r\n * @method WebAccess.components.dataViews.gridPlugins._controls.DateControl#_initControls\r\n * @private\r\n * @since 5.2.0.1100\r\n */\r\n _initControls: function () {\r\n var me = this;\r\n me._jInput = $('input.input', me.containerSelector);\r\n\r\n // ВосстановлСниС значСния ΠΈΠ· состояния.\r\n me._fillInputValue();\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠΠ°Π²Π΅Ρ€ΡˆΠΈΠ²Π°Π½ΠΈΠ΅ событий Π½Π° HTML-элСмСнты ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹.\r\n * @method WebAccess.components.dataViews.gridPlugins._controls.DateControl#_bindEvents\r\n * @private\r\n * @since 5.2.0.1100\r\n */\r\n _bindEvents: function () {\r\n var me = this;\r\n me._jInput.on('change.dateControl', $.proxy(me._applyFilter, me));\r\n\r\n // По Enter дописываСм всС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ части Π΄Π°Ρ‚Ρ‹. Если ввСсли Ρ‚ΠΎΠ»ΡŒΠΊΠΎ дСнь, Ρ‚ΠΎ дописываСм мСсяц ΠΈ Π³ΠΎΠ΄. Если Π²Π²Π΅Π»ΠΈ дСнь ΠΈ мСсяц, Ρ‚ΠΎ дописываСм Π³ΠΎΠ΄.\r\n me._jInput.on('keydown.dateControl', function (e) {\r\n var key = e.which || e.keyCode;\r\n if (key === 13) {\r\n var inp = me._jInput;\r\n var d = ParseDateTime(inp);\r\n inp.datepicker(\"setDate\", d);\r\n inp.data('selDate', d);\r\n inp.change();\r\n me.close();\r\n }\r\n });\r\n\r\n var isSet = me._jInput.data('isSetBeforeShowForOpenEvent');\r\n if (!isSet) {\r\n // ИзмСняСм Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ события beforeShow, Ρ‡Ρ‚ΠΎ Π±Ρ‹ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ нашС событиС open.\r\n var prevBeforeShow = me._jInput.datepicker('option', 'beforeShow');\r\n var newBeforeShow = function () {\r\n if (prevBeforeShow) prevBeforeShow();\r\n me.fire(DateControl.EVENT.OPEN, me);\r\n };\r\n me._jInput.datepicker('option', 'beforeShow', newBeforeShow);\r\n me._jInput.data('isSetBeforeShowForOpenEvent', true);\r\n }\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈ сохранСниС Π΅Π³ΠΎ Π² состоянии.\r\n * @method WebAccess.components.dataViews.gridPlugins._controls.DateControl#_applyFilter\r\n * @private\r\n * @since 5.2.0.1100\r\n */\r\n _applyFilter: function () {\r\n var me = this;\r\n var displayValue = me._jInput.val();\r\n if (!!displayValue) {\r\n me.state.value = $.toJSON(parseDate(displayValue)).replaceAll('\"'); //$.toJSON Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π΄Π°Ρ‚Ρƒ Π² ΠΊΠ°Π²Ρ‹Ρ‡Π½Π°Ρ…, Π² Π΄Π°Π½Π½ΠΎΠΌ случаС ΠΎΠ½ΠΈ Π½Π°ΠΌ Π½Π΅ Π½ΡƒΠΆΠ½Ρ‹.\r\n } else {\r\n me.state.value = '';\r\n }\r\n me.fire(DateControl.EVENT.VALUE_CHANGED, me.getValue());\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠžΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ‚ состояниС поля.\r\n *\r\n * @method WebAccess.components.dataViews.gridPlugins._controls.DateControl#updateState\r\n * @since 5.2.0.1100\r\n */\r\n updateState: function (newState) {\r\n var me = this;\r\n $.extend(me.state, newState);\r\n me._fillInputValue();\r\n me.close();\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π—Π°ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΉ список поля.\r\n *\r\n * @method WebAccess.components.dataViews.gridPlugins._controls.DateControl#close\r\n * @since 5.2.0.1100\r\n */\r\n close: function () {\r\n if (!this._jInput.length) return;\r\n try {\r\n this._jInput.datepicker('hide');\r\n } catch (e) {\r\n }\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Установка значСния input ΠΈΠ· состояния.\r\n * @method WebAccess.components.dataViews.gridPlugins._controls.DateControl#_fillInputValue\r\n * @private\r\n * @since 5.2.0.1100\r\n */\r\n _fillInputValue: function () {\r\n var me = this;\r\n var value = '';\r\n if (!!me.state.value) {\r\n var formatFunc = (me.state.column.dateType === 'DateTime' ? formatDateTime : formatDate);\r\n value = formatFunc(Date.fromISO(me.state.value));\r\n }\r\n me._jInput.val(value);\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ значСния поля.\r\n *\r\n * @method WebAccess.components.dataViews.gridPlugins._controls.DateControl#getValue\r\n * @since 5.2.0.1100\r\n */\r\n getValue: function () {\r\n var me = this;\r\n var value = {\r\n 'Type': 'Equal',\r\n 'Like': '',\r\n 'In': null,\r\n 'Equal': me.state.value\r\n };\r\n\r\n me.fire(DateControl.EVENT.GET_VALUE, me, value);\r\n\r\n return value;\r\n }\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n }, {\r\n EVENT: {\r\n GET_VALUE: 'getValue',\r\n VALUE_CHANGED: 'change',\r\n OPEN: 'open'\r\n }\r\n });\r\n})(window.WA.components.dataViews.gridPlugins._controls);","\"use strict\";\r\n(function (global) {\r\n\r\n /**\r\n * Π Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ для ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ slick-Π³Ρ€ΠΈΠ΄Π°, для тСкстового Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°\r\n * @see https://github.com/mleibman/SlickGrid/wiki/Writing-custom-cell-editors\r\n * @class WebAccess.components.dataViews.gridPlugins._editors.StringEditor\r\n * @extends BaseObject\r\n * @since 5.2.0.1300 \r\n */\r\n global.StringEditor = BaseObject.extend({\r\n id: null,\r\n renderState: null,\r\n\r\n _jContainer: null,\r\n _jInput: null,\r\n _column: null,\r\n _row: null,\r\n _gridComp: null,\r\n\r\n _value: null,\r\n _displayValue: null,\r\n _data: null,\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n init: function (args) {\r\n var me = this;\r\n\r\n ContextMenu.hideAll()\r\n\r\n me._super(args);\r\n me.renderState = $.Deferred();\r\n me.id = generateUniqueID();\r\n me._gridComp = args.grid;\r\n me._column = args.column;\r\n me._row = args.item;\r\n\r\n\r\n me.commit = args.commitChanges;\r\n me._value = me._row[me._column.id];\r\n // Π§Ρ‚ΠΎΠ±Ρ‹ 0 Π±Ρ‹Π» Π½ΡƒΠ»Ρ‘ΠΌ, Π° Π½Π΅ пустым Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ.\r\n if (me._value === null || _.isUndefined(me._value)) {\r\n me._value = '';\r\n }\r\n me._displayValue = me._row[me._column.field];\r\n if (me._displayValue === null || _.isUndefined(me._displayValue)) {\r\n me._displayValue = '';\r\n }\r\n\r\n me._jContainer = $(args.container);\r\n me._data = $.extend({}, me._column.requisite); //ΠšΠΎΠΏΠΈΡ€ΡƒΠ΅ΠΌ ΠΌΠ΅Ρ‚Π°ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°, Ρ‚.ΠΊ. копируСтся ссылка ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»Π΅ΠΉ _data ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ измСнСнию _column.requisite, Ρ‡Ρ‚ΠΎ Π½Π΅ΠΆΠ΅Π»Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ (#111079).\r\n\r\n me.render().done(function () {\r\n me._getWrapper().bind('change', function (e, i, values) {\r\n var last = me._value;\r\n var current = values.value;\r\n\r\n last = (last === null) ? \"\" : last;\r\n current = (current === null) ? \"\" : current;\r\n\r\n if (me.type === 'float' || me.type === 'integer') {\r\n last = +last;\r\n current = +current;\r\n } else {\r\n last = \"\" + last;\r\n current = \"\" + current;\r\n }\r\n\r\n if (last != current) {\r\n me._updateData(me._row, values);\r\n };\r\n });\r\n });\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠžΡ‚Ρ€ΠΈΡΠΎΠ²ΠΊΠ° Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°, ΠΏΡ€ΠΈ Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΠΈ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° Π½Π° ячСйкС Π³Ρ€ΠΈΠ΄Π°\r\n * @method WebAccess.components.dataViews.gridPlugins._editors.StringEditor#render\r\n * @since 5.2.0.1300 \r\n */\r\n render: function () {\r\n var me = this;\r\n\r\n var t = Hogan.compile('
    ');//FIXME: понятно ΠΆΠ΅ Π½Π΅ Ρ‚Π°ΠΊ\r\n me._jContainer.html(t.render({\r\n id: me.id,\r\n value: me._getValueForRender()\r\n }));\r\n\r\n me._jInput = $('#' + me.id);\r\n\r\n // Для ΠΏΠ»Π°Π½ΡˆΠ΅Ρ‚ΠΎΠ² ΠΈ сматфонов ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π½ΡƒΡŽ Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΡŽ.\r\n if (!WA.ENV.isTouch()) {\r\n me.initKeyNavigation();\r\n }\r\n\r\n return me.renderState.resolve();\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° для Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π° Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π°.\r\n * @private\r\n */\r\n _getValueForRender: function () {\r\n return this._displayValue;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n\r\n /**\r\n * Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ событий ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰ΠΈΡ… Π·Π° ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π½ΡƒΡŽ Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΡŽ ΠΏΠΎ ячСйкС\r\n * @method WebAccess.components.dataViews.gridPlugins._editors.StringEditor#initKeyNavigation\r\n * @since 5.2.0.1300 \r\n */\r\n initKeyNavigation: function () {\r\n var me = this;\r\n var attempts = 0;\r\n var lastKey = null;\r\n\r\n // функция для Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΊΠΎΠ΄Π°\r\n var leaveOut = function (e) { };\r\n\r\n // функция для Ρ‡ΠΈΡ‚Π°Π±Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΊΠΎΠ΄Π°\r\n var stayHere = function (e) { e.stopImmediatePropagation(); };\r\n\r\n var isAllTextSelected = function (jInput) {\r\n var range = jInput.range();\r\n return (range.end - range.start === range.length && range.length);\r\n };\r\n\r\n var hasText = function (jInput) {\r\n return !!jInput.val();\r\n };\r\n\r\n me._jInput.bind(\"keydown.nav\", function (e) {\r\n var key = e.keyCode;\r\n var jInput = $(this);\r\n var c = $.ui.keyCode;\r\n\r\n if (key === c.ENTER) {\r\n var _isAllTextSelected = isAllTextSelected(jInput);\r\n setTimeout(function () { // Ρ‡Ρ‚ΠΎ Π±Ρ‹ Π΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ число Π²Ρ‹Π΄Π΅Π»ΡΠ»ΠΎΡΡŒ ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° Enter.\r\n if (_isAllTextSelected) {\r\n jInput.caret(0);\r\n } else {\r\n jInput.focus().select();\r\n }\r\n }, 100);\r\n e.stopImmediatePropagation();\r\n }\r\n\r\n if (key === c.ESCAPE) {\r\n jInput.focus().select();\r\n e.stopImmediatePropagation();\r\n }\r\n\r\n if (key === c.DOWN || key === c.UP) {\r\n me._handleUpDownKey(e);\r\n }\r\n\r\n if ((key === c.LEFT || key === c.RIGHT) && !e.shiftKey && !e.altKey && !e.metaKey && !e.ctrlKey) {\r\n if (isAllTextSelected(jInput) || !hasText(jInput)) {\r\n leaveOut(e);\r\n } else {\r\n if (jInput.caret() === jInput.val().length && key === c.RIGHT) {\r\n return leaveOut(e);\r\n }\r\n if (jInput.caret() === 0 && key === c.LEFT) {\r\n return leaveOut(e);\r\n }\r\n stayHere(e);\r\n }\r\n }\r\n }).focus();\r\n\r\n setTimeout(function () { // Π‘Π΅Π· setTimeout Π½Π΅ выдСляСтся Π΄Ρ€ΠΎΠ±Π½ΠΎΠ΅ число ΠΈΠ·-Π·Π° ΠΏΠ»Π°Π³ΠΈΠ½Π° autoNumeric\r\n me._jInput.range(0, me._jInput.val().length); //Π’Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ тСкст\r\n });\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n _handleUpDownKey: function (e) {\r\n var key = e.keyCode;\r\n var c = $.ui.keyCode;\r\n\r\n if (key === c.DOWN) {\r\n // Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ добавлялось бСсконСчноС число строк ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π²Π½ΠΈΠ·(ΠΈΠ·Π·Π° \r\n // change, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ срабатываСт Π² focusout) \r\n this._jInput.off('focusout.autoNumeric').blur();\r\n } else {\r\n // Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΡƒΠ΄Π°Π»ΡΠ»Π°ΡΡŒ добавлСнная строка со Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ\r\n this._jInput.blur();\r\n }\r\n\r\n //Π§Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ скролился Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚\r\n e.preventDefault();\r\n },\r\n\r\n /**\r\n * Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ фокус Π½Π° ΠΏΠΎΠ»Π΅ Π²Π²ΠΎΠ΄Π°\r\n * @method WebAccess.components.dataViews.gridPlugins._editors.StringEditor#focus\r\n * @since 5.2.0.1300 \r\n */\r\n focus: function () {\r\n this._jInput.focus();\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚-ΠΎΠ±Π΅Ρ€Ρ‚ΠΊΡƒ Π½Π°Π΄ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΎΠΌ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°, с Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΌΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ Ρ‚ΠΈΠΏΠ° getValue;\r\n * @since 5.2.0.1300\r\n * @method WebAccess.components.dataViews.gridPlugins._editors.StringEditor#_getWrapper\r\n */\r\n _getWrapper: function () {\r\n var me = this;\r\n if (!!me._wrapper) return me._wrapper;\r\n\r\n var parentCurrent = {\r\n _current: me._gridComp._parent.settings.current\r\n };\r\n\r\n var data = {\r\n controls: [me.id],\r\n displayValue: \"\",\r\n isRequired: false,\r\n isVisible: true,\r\n isReadOnly: false,\r\n value: \"\",\r\n row_id: me._row.id,\r\n sectionNumber: me._gridComp._parent.settings.sectionNumber,\r\n hasCalculation: me._column.hasCalculation\r\n };\r\n\r\n return me._wrapper = new WA.CMP.wrappers.form.requisites.Text(me._column.id, data, parentCurrent.form);\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² ячСйкС измСнилось\r\n * @method WebAccess.components.dataViews.gridPlugins._editors.StringEditor#isValueChanged\r\n * @since 5.2.0.1300 \r\n */\r\n isValueChanged: function () {\r\n var me = this;\r\n var newValue = me.serializeValue();\r\n\r\n if (newValue.value != me._value) {\r\n me._value = newValue.value;\r\n return true;\r\n }\r\n return false;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊ Π³Ρ€ΠΈΠ΄Ρƒ\r\n * @method WebAccess.components.dataViews.gridPlugins._editors.StringEditor#applyValue\r\n * @since 5.2.0.1300 \r\n */\r\n applyValue: function (row, newData) {\r\n var me = this;\r\n\r\n me._updateData(row, newData);\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n _updateData: function (row, newData) {\r\n var me = this;\r\n row[me._column.id] = newData.value;\r\n row[me._column.field] = newData.displayValue;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * @stub\r\n * @method WebAccess.components.dataViews.gridPlugins._editors.StringEditor#loadValue\r\n * @since 5.2.0.1300 \r\n */\r\n loadValue: function () {\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ· Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°\r\n * @method WebAccess.components.dataViews.gridPlugins._editors.StringEditor#serializeValue\r\n * @since 5.2.0.1300 \r\n */\r\n serializeValue: function () {\r\n var me = this;\r\n var control = me._getWrapper();\r\n var value = control.getValue();\r\n return { value: value, displayValue: value };\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * @stub\r\n * @method WebAccess.components.dataViews.gridPlugins._editors.StringEditor#validate\r\n * @since 5.2.0.1300 \r\n */\r\n validate: function () {\r\n return { valid: true, msg: null };\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠžΡ‡ΠΈΡΡ‚ΠΊΠ° поля\r\n * @method WebAccess.components.dataViews.gridPlugins._editors.StringEditor#destroy\r\n * @since 5.2.0.1300 \r\n */\r\n destroy: function () {\r\n var me = this;\r\n me._updateData(me._row, me.serializeValue());\r\n me._jContainer.empty();\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΡ€ΠΎΠ±Ρ€ΠΎΡˆΠ΅Π½Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΈΠ· клиСнтской ОМ\r\n * @method WebAccess.components.dataViews.gridPlugins._editors.StringEditor#disable\r\n * @since 5.2.0.1300 \r\n */\r\n disable: function () {\r\n this._getWrapper().disable();\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΡ€ΠΎΠ±Ρ€ΠΎΡˆΠ΅Π½Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΈΠ· клиСнтской ОМ\r\n * @method WebAccess.components.dataViews.gridPlugins._editors.StringEditor#enable\r\n * @since 5.2.0.1300 \r\n */\r\n enable: function () {\r\n this._getWrapper().enable();\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΡ€ΠΎΠ±Ρ€ΠΎΡˆΠ΅Π½Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΈΠ· клиСнтской ОМ\r\n * @method WebAccess.components.dataViews.gridPlugins._editors.StringEditor#setCustomAction\r\n * @since 5.2.0.1300 \r\n */\r\n setCustomAction: function (callback, opt_tooltip) {\r\n this._getWrapper().setCustomAction(callback, opt_tooltip);\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΡΠ²ΡΠ·Π°Π½Π½ΡƒΡŽ с Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΌ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠΌ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ.\r\n * @method WebAccess.components.dataViews.gridPlugins._editors.StringEditor#_getColumn\r\n * @private\r\n * @since 5.5.0.2703\r\n * @return {object} Колонка, связанная с Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠΌ строки Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·Π΄Π΅Π»Π°.\r\n */\n _getColumn: function () {\r\n var me = this;\n var currentTable = me._gridComp._parent.getTable();\r\n return currentTable.columns[me._column.id];\r\n }\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n });\r\n\r\n})(window.WA.components.dataViews.gridPlugins._editors)","\"use strict\";\r\n(function (global) {\r\n\r\n /**\r\n * Π Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ для ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ slick-Π³Ρ€ΠΈΠ΄Π°, для Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° Ρ‚ΠΈΠΏΠ° \"ΠœΠ½ΠΎΠ³ΠΎΡΡ‚Ρ€ΠΎΡ‡Π½Ρ‹ΠΉ тСкст\"\r\n * @class WebAccess.components.dataViews.gridPlugins._editors.FloatEditor\r\n * @extends WebAccess.components.dataViews.gridPlugins._editors.StringEditor\r\n * @since 5.2.0.1300 \r\n */\r\n global.TextEditor = global.StringEditor.extend({});\r\n\r\n})(window.WA.components.dataViews.gridPlugins._editors)","\"use strict\";\r\n(function (global) {\r\n\r\n /**\r\n * Π Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ для ячСйки с Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠΌ Ρ‚ΠΈΠΏΠ° pick. \r\n * @class WebAccess.components.dataViews.gridPlugins._editors.PickEditor\r\n * @extends WebAccess.components.dataViews.gridPlugins._editors.StringEditor\r\n * @since 5.2.0.1300\r\n */\r\n global.PickEditor = global.StringEditor.extend({\r\n _renderer: null,\r\n _wrapper: null,\r\n\r\n init: function (args) {\r\n var me = this;\r\n me._super(args);\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³ ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π° Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° Π² ячСйку Π³Ρ€ΠΈΠ΄Π°\r\n * @since 5.2.0.1300\r\n * @method WebAccess.components.dataViews.gridPlugins._editors.PickEditor#render\r\n */\r\n render: function () {\r\n var me = this;\r\n\r\n\r\n me._data.id = me.id;\r\n \r\n me._data.selectedKey = me._value;\r\n me._data.selectedValue = me._displayValue;\r\n\r\n me._renderer = new WebAccess.components.forms.requisites.Pick();\r\n\r\n me._renderer.renderAsync(me._data).done(function (html) {\r\n me._jContainer.html('
    ' + html + '
    ');\r\n me._jContainer.find('input.input').addClass('noBorder');\r\n \r\n me._jInput = $('#' + me.id);\r\n me.initKeyNavigation();\r\n me.renderState.resolve();\r\n });\r\n return me.renderState\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n \r\n initKeyNavigation: function() {\r\n this._super();\r\n\r\n this._jInput.bind(\"keydown.nav\", function (e) {\r\n var key = e.keyCode;\r\n var c = $.ui.keyCode;\r\n\r\n if ((key === c.DOWN || key === c.UP) && e.altKey) {\r\n e.stopImmediatePropagation();\r\n };\r\n }) \r\n },\r\n\r\n _handleUpDownKey: function () {\r\n //Π½Π΅ Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΠΏΠΎΠ»ΠΎΠΌΠ°Ρ‚ΡŒ ALT+Π²Π½ΠΈΠ·\r\n },\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚-ΠΎΠ±Π΅Ρ€Ρ‚ΠΊΡƒ Π½Π°Π΄ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΎΠΌ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°, с Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΌΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ Ρ‚ΠΈΠΏΠ° getValue;\r\n * @since 5.2.0.1300\r\n * @method WebAccess.components.dataViews.gridPlugins._editors.PickEditor#_getWrapper\r\n */\r\n _getWrapper: function () {\r\n var me = this;\r\n if (!!me._wrapper) return me._wrapper;\r\n var parentCurrent = me._gridComp._parent.settings.current;\r\n return me._wrapper = new WA.CMP.wrappers.form.requisites.Pick(me._column.id, me.id, parentCurrent.form);\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ячСйки измСнилось\r\n * @since 5.2.0.1300\r\n * @method WebAccess.components.dataViews.gridPlugins._editors.PickEditor#isValueChanged\r\n */\r\n isValueChanged: function () {\r\n var me = this;\r\n var values = me.serializeValue();\r\n \r\n if (me._value !== values.value) {\r\n me._value = values.value;\r\n return true;\r\n }\r\n return false\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n \r\n /**\r\n * ΠžΡ‡ΠΈΡΡ‚ΠΊΠ° поля\r\n * @method WebAccess.components.dataViews.gridPlugins._editors.PickEditor#destroy\r\n * @since 5.2.0.1300 \r\n */\r\n destroy: function () {\r\n var me = this;\r\n me._jInput.HidePickContainer();\r\n me._super();\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠœΠ΅Ρ‚ΠΎΠ΄ вызываСтся ΠΊΠΎΠ³Π΄Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² ячСйкС измСнилось, ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ·\r\n * Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° Π² Π½Π°Π±ΠΎΡ€ Π΄Π°Π½Π½Ρ‹Ρ… Π³Ρ€ΠΈΠ΄Π°.\r\n * @since 5.2.0.1300\r\n * @method WebAccess.components.dataViews.gridPlugins._editors.PickEditor#serializeValue\r\n */\r\n serializeValue: function () {\r\n var me = this; \r\n var control = me._getWrapper(); \r\n return {\r\n 'value': control.getValue(),\r\n 'displayValue': control.getDisplayValue()\r\n }\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n clearValues: function () {\r\n var wrapper = this._getWrapper();\r\n wrapper.clearValues.apply(wrapper, arguments);\r\n },\r\n\r\n addValue: function () {\r\n var wrapper = this._getWrapper();\r\n wrapper.addValue.apply(wrapper, arguments);\r\n },\r\n\r\n \r\n });\r\n\r\n})(window.WA.components.dataViews.gridPlugins._editors)","\"use strict\";\r\n(function (global) {\r\n var TEMPLATE = 'formBuilder/date.compile.html';\r\n\r\n /**\r\n * Π Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ для ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ slick-Π³Ρ€ΠΈΠ΄Π°, для Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° Ρ‚ΠΈΠΏΠ° \"Π”Π°Ρ‚Π°\"\r\n * @class WebAccess.components.dataViews.gridPlugins._editors.DateEditor\r\n * @extends WebAccess.components.dataViews.gridPlugins._editors.StringEditor\r\n * @since 5.2.0.1300\r\n */\r\n global.DateEditor = global.StringEditor.extend({\r\n\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠžΡ‚Ρ€ΠΈΡΠΎΠ²ΠΊΠ° Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°, ΠΏΡ€ΠΈ Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΠΈ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° Π½Π° ячСйкС Π³Ρ€ΠΈΠ΄Π°\r\n * @method WebAccess.components.dataViews.gridPlugins._editors.DateEditor#render\r\n * @since 5.2.0.1300 \r\n */\r\n render: function () {\r\n var me = this;\r\n\r\n var data = {};\r\n data.showTime = (me._column.dateType === 'DateTime');\r\n data.id = me.id;\r\n\r\n if (typeof me._value === \"object\") {\r\n data.value = formatDate(me._value);\r\n } else {\r\n data.value = me._displayValue;\r\n };\r\n \r\n WA.templates.render(TEMPLATE, data).done(function (html) {\r\n me._jContainer.html('
    ' + html + '
    ');\r\n me._jContainer.find('input.input').addClass('noBorder');\r\n me._jInput = $('#' + me.id);\r\n\r\n me.initPicker();\r\n\r\n // Для ΠΏΠ»Π°Π½ΡˆΠ΅Ρ‚ΠΎΠ² ΠΈ сматфонов ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π½ΡƒΡŽ Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΡŽ.\r\n if (!WA.ENV.isTouch()) {\r\n me.initKeyNavigation();\r\n }\r\n\r\n me.renderState.resolve();\r\n });\r\n\r\n return me.renderState.promise();\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π’ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎ Enter\r\n * @since 5.2.0.1300\r\n * @method WebAccess.components.dataViews.gridPlugins._editors.DateEditor#initPicker \r\n */\r\n initPicker: function () {\r\n var me = this;\r\n\r\n var isAllTextSelected = function (jInput) {\r\n var range = jInput.range();\r\n if (range.end - range.start === range.length && range.length) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n }\r\n\r\n var hasText = function (jInput) {\r\n return !!jInput.val();\r\n }\r\n\r\n // По Enter дописываСм всС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ части Π΄Π°Ρ‚Ρ‹. Если ввСсли Ρ‚ΠΎΠ»ΡŒΠΊΠΎ дСнь, Ρ‚ΠΎ дописываСм мСсяц ΠΈ Π³ΠΎΠ΄. Если Π²Π²Π΅Π»ΠΈ дСнь ΠΈ мСсяц, Ρ‚ΠΎ дописываСм Π³ΠΎΠ΄.\r\n me._jInput.on('keydown.dateControl', function (e) {\r\n var inp = me._jInput;\r\n var c = $.ui.keyCode;\r\n\r\n var key = e.which || e.keyCode;\r\n\r\n function adjustDate() {\r\n var d = ParseDateTime(inp);\r\n inp.datepicker(\"setDate\", d);\r\n inp.data('selDate', d);\r\n //Π¨Π°ΠΌΠΎΠ² А.: Π£Π±Ρ€Π°Π» ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ \"ΡΡ‚Π°Π²Π»ΡŽ курсор Π² ΠΏΠΎΠ»Π΅ Π”Π°Ρ‚Π°, ΠΏΠΎ стрСлкС Π²ΠΏΡ€Π°Π²ΠΎ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠΆΡƒ ΠΊ Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ полю ΠΈ ΠΏΠΎ стрСлкС Π²Π½ΠΈΠ· добавляю Π²Ρ‚ΠΎΡ€ΡƒΡŽ ΠΏΡƒΡΡ‚ΡƒΡŽ строку\" - \r\n // способом ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ бСсконСчноС количСство пустых строк (#103514).\r\n //inp.trigger('change');\r\n me.close();\r\n }\r\n\r\n //ENTER\r\n if (key === 13) {\r\n if (!isAllTextSelected(inp) && hasText(inp)) {\r\n adjustDate();\r\n }\r\n }\r\n\r\n //LEFT or RIGHT\r\n if (key === c.LEFT || e.keyCode === c.RIGHT) {\r\n if (inp.caret() === inp.val().length && key === c.RIGHT) {\r\n return adjustDate();\r\n }\r\n if (inp.caret() === 0 && key === c.LEFT) {\r\n return adjustDate();\r\n }\r\n }\r\n\r\n //DOWN or UP\r\n if (key === c.DOWN || key === c.UP) {\r\n return adjustDate();\r\n }\r\n\r\n // CTRL+;\r\n if ((key === 59 || key === 186) && e.ctrlKey) {\r\n var now = new Date();\r\n inp.datepicker(\"setDate\", now);\r\n inp.data('selDate', now);\r\n inp.trigger('change');\r\n me.close();\r\n }\r\n\r\n });\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π—Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΎΠΊΠ½ΠΎ Π²Ρ‹Π±ΠΎΡ€Π°-Π΄Π°Ρ‚Ρ‹\r\n * @since 5.2.0.1300\r\n * @method WebAccess.components.dataViews.gridPlugins._editors.DateEditor#close \r\n */\r\n close: function () {\r\n if (!this._jInput.length) return;\r\n try {\r\n this._jInput.datepicker('hide');\r\n } catch (e) {\r\n }\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ· Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°\r\n * @method WebAccess.components.dataViews.gridPlugins._editors.DateEditor#serializeValue\r\n * @since 5.2.0.1300 \r\n */\r\n serializeValue: function () {\r\n var me = this;\r\n var control = me._getWrapper();\r\n var value = control.getValue();\r\n return { value: value, displayValue: value };\r\n },\r\n\r\n /**\r\n * ΠžΡ‡ΠΈΡΡ‚ΠΊΠ° поля\r\n * @method WebAccess.components.dataViews.gridPlugins._editors.DateEditor#destroy\r\n * @since 5.2.0.1300 \r\n */\r\n destroy: function () {\r\n var me = this;\r\n me.close();\r\n me._super();\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚-ΠΎΠ±Π΅Ρ€Ρ‚ΠΊΡƒ Π½Π°Π΄ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΎΠΌ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°, с Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΌΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ Ρ‚ΠΈΠΏΠ° getValue;\r\n * @since 5.2.0.1300\r\n * @method WebAccess.components.dataViews.gridPlugins._editors.DateEditor#_getWrapper\r\n */\r\n _getWrapper: function () {\r\n var me = this;\r\n if (!!me._wrapper) return me._wrapper;\r\n var parentCurrent = me._gridComp._parent.settings.current;\r\n return me._wrapper = new WA.CMP.wrappers.form.requisites.Date(me._column.id, me.id, parentCurrent.form);\r\n }\r\n });\r\n\r\n})(window.WA.components.dataViews.gridPlugins._editors)","\"use strict\";\n(function (global) {\n\n /**\n * Π Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ для ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ slick-Π³Ρ€ΠΈΠ΄Π°, для Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° Ρ‚ΠΈΠΏΠ° \"Π¦Π΅Π»ΠΎΠ΅ число\"\n * @class WebAccess.components.dataViews.gridPlugins._editors.IntegerEditor\n * @extends WebAccess.components.dataViews.gridPlugins._editors.StringEditor\n * @since 5.2.0.1300 \n */\n global.IntegerEditor = global.StringEditor.extend({\r\n init: function (args) {\r\n var me = this;\n me.type = 'integer';\n me._super(args);\r\n },\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\n\n /**\n * ΠžΡ‚Ρ€ΠΈΡΠΎΠ²ΠΊΠ° Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°, ΠΏΡ€ΠΈ Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΠΈ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° Π½Π° ячСйкС Π³Ρ€ΠΈΠ΄Π°\n * @method WebAccess.components.dataViews.gridPlugins._editors.FloatEditor#render\n * @since 5.2.0.1300 \n */\n render: function () {\r\n var me = this;\n me._super();\n var currentColumn = me._getColumn();\n if (!currentColumn.isDisabled()) {\r\n var opt = $.extend({}, $.fn.autoNumeric.defaults, { mDec: '0', aPad: false });\n me._jInput.autoNumeric('init', opt);\r\n }\r\n return me.renderState;\r\n },\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\n\n /**\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° для Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π° Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π°.\n * @private\n */\n _getValueForRender: function () {\r\n return this._value;\r\n },\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\n\n /**\n * ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ· Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°\n * @method WebAccess.components.dataViews.gridPlugins._editors.FloatEditor#serializeValue\n * @since 5.2.0.1300 \n */\n serializeValue: function () {\r\n var me = this;\n var currentColumn = me._getColumn();\n var control = me._getWrapper();\n var value = control.getValue();\n if (!currentColumn.isDisabled()) {\n //Π¨Π°ΠΌΠΎΠ² А.: Π§Ρ‚ΠΎ Π±Ρ‹ сработало Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Ρ€ΠΎΠ±Π½ΠΎΠ³ΠΎ числа Π² ΠΏΠ»Π°Π³ΠΈΠ½Π΅ autoNumeric.\n me._jInput.autoNumeric('format');\r\n }\n return { value: value, displayValue: me._jInput.val() };\r\n },\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\n\r\n /**\r\n * ΠžΡ‡ΠΈΡΡ‚ΠΊΠ° поля\r\n * @method WebAccess.components.dataViews.gridPlugins._editors.IntegerEditor#destroy\r\n * @since 5.2.0.9100 \r\n */\r\n destroy: function () {\r\n var me = this;\r\n var autoNumeric = me._jInput.data('autoNumeric');\r\n if (typeof autoNumeric === 'object') {\r\n // Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΡ‚Ρ€Π°Π±ΠΎΡ‚Π°Π» focusout\r\n // Ρƒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π°, установив Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚\r\n me._jInput.trigger('focusout.autoNumeric');\r\n }\r\n me._super();\r\n }\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\n });\r\n\n})(window.WA.components.dataViews.gridPlugins._editors)","\"use strict\";\r\n(function (global) {\r\n\r\n\r\n /**\r\n * Π Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ для ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ slick-Π³Ρ€ΠΈΠ΄Π°, для Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° Ρ‚ΠΈΠΏΠ° \"Π”Ρ€ΠΎΠ±Π½ΠΎΠ΅ число\"\r\n * @class WebAccess.components.dataViews.gridPlugins._editors.FloatEditor\r\n * @extends WebAccess.components.dataViews.gridPlugins._editors.StringEditor\r\n * @since 5.2.0.1300 \r\n */\r\n global.FloatEditor = global.StringEditor.extend({\r\n init: function (args) {\r\n var me = this;\r\n me.type = 'float';\r\n me._super(args);\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠžΡ‚Ρ€ΠΈΡΠΎΠ²ΠΊΠ° Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°, ΠΏΡ€ΠΈ Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΠΈ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° Π½Π° ячСйкС Π³Ρ€ΠΈΠ΄Π°\r\n * @method WebAccess.components.dataViews.gridPlugins._editors.FloatEditor#render\r\n * @since 5.2.0.1300 \r\n */\r\n render: function () {\r\n var me = this;\r\n me._super();\r\n var currentColumn = me._getColumn();\r\n if (!currentColumn.isDisabled()) {\r\n var opt = $.extend({}, $.fn.autoNumeric.defaults);\r\n if (me._column.precision) {\r\n opt = { mDec: '' + me._column.precision, aPad: true }\r\n }\r\n me._jInput.autoNumeric('init', opt);\r\n }\r\n return me.renderState;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° для Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³Π° Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π°.\r\n * @private\r\n */\r\n _getValueForRender: function () {\r\n return this._value;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ· Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°\r\n * @method WebAccess.components.dataViews.gridPlugins._editors.FloatEditor#serializeValue\r\n * @since 5.2.0.1300 \r\n */\r\n serializeValue: function () {\r\n var me = this;\n var currentColumn = me._getColumn();\r\n var control = me._getWrapper();\r\n var value = control.getValue();\r\n if (!currentColumn.isDisabled()) {\r\n //Π¨Π°ΠΌΠΎΠ² А.: Π§Ρ‚ΠΎ Π±Ρ‹ сработало Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄Ρ€ΠΎΠ±Π½ΠΎΠ³ΠΎ числа Π² ΠΏΠ»Π°Π³ΠΈΠ½Π΅ autoNumeric.\r\n me._jInput.autoNumeric('format');\r\n }\r\n return { value: value, displayValue: me._jInput.val() };\r\n },\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\n\r\n /**\r\n * ΠžΡ‡ΠΈΡΡ‚ΠΊΠ° поля\r\n * @method WebAccess.components.dataViews.gridPlugins._editors.IntegerEditor#destroy\r\n * @since 5.2.0.9100 \r\n */\r\n destroy: function () {\r\n var me = this;\r\n var autoNumeric = me._jInput.data('autoNumeric');\r\n if (typeof autoNumeric === 'object') {\r\n // Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ ΠΎΡ‚Ρ€Π°Π±ΠΎΡ‚Π°Π» focusout\r\n // Ρƒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π°, установив Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚\r\n me._jInput.trigger('focusout.autoNumeric');\r\n }\r\n me._super();\r\n }\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n });\r\n\r\n})(window.WA.components.dataViews.gridPlugins._editors)","\"use strict\";\r\n(function (global) {\r\n\r\n /**\r\n * Π Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ для ячСйки с Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠΌ \"Бсылка Π½Π° Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚\". \r\n * @class WebAccess.components.dataViews.gridPlugins._editors.BaseObjectSelectEditor\r\n * @extends WebAccess.components.dataViews.gridPlugins._editors.StringEditor\r\n * @since 5.5.0.1000\r\n */\r\n global.BaseObjectSelectEditor = global.StringEditor.extend({\r\n _renderer: null,\r\n _wrapper: null,\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n init: function (args) {\r\n var me = this;\r\n me._super(args);\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³ ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π° Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° Π² ячСйку Π³Ρ€ΠΈΠ΄Π°\r\n * @since 5.5.0.1000\r\n * @method WebAccess.components.dataViews.gridPlugins._editors.BaseObjectSelectEditor#render\r\n */\r\n render: function () {\r\n var me = this;\r\n\r\n me._data.id = me.id,\r\n me._data.defaultValue = me._displayValue;\r\n me._data.hiddenInputValue = me._value; //Ссли Π²Ρ‹Π±ΠΎΡ€ мноТСствeΠ½Π½Ρ‹ΠΉ Ρ‚ΠΎ Ρ‚ΡƒΡ‚ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ пСрСчислСния id Ρ‡Π΅Ρ€Π΅Π· \";\"\r\n me._data.selectedRecordID = me._value;\r\n\r\n //Для ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ старой Π»ΠΎΠ³ΠΈΠΊΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π²Π΅Π΄ΡƒΡ‰ΠΈΡ…/Π²Π΅Π΄ΠΎΠΌΡ‹Ρ…. Новая находится Π² Core.cards.initLeaderDrivenLogic.\r\n me._data.leaderRequisites = '[]';\r\n me._data.drivenRequisites = '[]';\r\n\r\n // ΠžΠ·Π½Π°Ρ‡ΠΈΠ²Π°Π΅ΠΌ Π½ΠΎΠΌΠ΅Ρ€ строки Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎ Ρ€Π°Π·Π΄Π΅Π»Π° Π² контСкстС Π²Ρ‹Π·ΠΎΠ²Π°. Π’ΡƒΡ‚ Π° Π½Π΅ Π² конструкторС, Ρ‚.ΠΊ. Π² Π±Π°Π·ΠΎΠ²ΠΎΠΌ Π² конструкторС вызываСтся render.\r\n var settings = $.parseJSON(me._data.settings);\r\n\r\n // Π£ΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈΠ·Π½Π°ΠΊ Ρ‡Ρ‚ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π΅ΡΡ‚ΡŒ, Ρ‚.ΠΊ. для Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·Π΄Π΅Π»Π° ΠΎΠ½ ΠΈΠ· Π²Π½Π΅ пСрСдаСтся Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹ΠΉ.\r\n settings.selected = ('' + me._data.selectedRecordID) !== '';\r\n\r\n var queryContext = $.parseJSON(settings.queryContext);\r\n if (queryContext) {\r\n queryContext.detailRecordId = +me._row.id;\r\n settings.queryContext = $.toJSON(queryContext);\r\n }\r\n me._data.settings = $.toJSON(settings);\r\n\r\n me._renderer = me._createRenderer();\r\n if (me._renderer) {\r\n me._renderer.renderAsync(me._data).done(function (html) {\r\n me._jContainer.html('
    ' + html + '
    ');\r\n me._jContainer.find('input.input').addClass('noBorder');\r\n\r\n me._getWrapper().bind('change', function (e, i, values) {\r\n me._updateData(me._row, values);\r\n });\r\n\r\n me._jInput = $('#' + me.id);\r\n\r\n // Для ΠΏΠ»Π°Π½ΡˆΠ΅Ρ‚ΠΎΠ² ΠΈ сматфонов ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π½ΡƒΡŽ Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΡŽ.\r\n if (!WA.ENV.isTouch()) {\r\n me.initKeyNavigation();\r\n }\r\n\r\n me.renderState.resolve();\r\n });\r\n } else {\r\n me.renderState.reject();\r\n }\r\n return me.renderState;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π‘ΠΎΠ·Π΄Π°Π΅Ρ‚ Ρ€Π΅Π½Π΄Π΅Ρ€Π΅Ρ€.\r\n * @private\r\n */\r\n _createRenderer: function () {\r\n return null;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ событий ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰ΠΈΡ… Π·Π° ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π½ΡƒΡŽ Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΡŽ ΠΏΠΎ ячСйкС\r\n * @method WebAccess.components.dataViews.gridPlugins._editors.StringEditor#initKeyNavigation\r\n * @since 5.5.0.1000 \r\n */\r\n initKeyNavigation: function () {\r\n var me = this;\r\n var c = $.ui.keyCode;\r\n var jEditContainer = me._jContainer.find('.editor');\r\n\r\n var isAllTextSelected = function (jInput) { return me.isFocused(); }\r\n var hasText = function (jInput) { return !!jInput.val(); }\r\n var hasNoValue = function () { return !me._getWrapper().getValue() }\r\n var leaveOut = function (e) { };\r\n var stayHere = function (e) { e.stopImmediatePropagation(); }\r\n var disableSlickOnEnter = function (e) { e.stopImmediatePropagation(); }\r\n\r\n var passKeyToInput = function (key) {\r\n var press = jQuery.Event(\"keydown\");\r\n press.ctrlKey = false;\r\n press.which = key;\r\n me._jInput.trigger(press);\r\n }\r\n\r\n var selectAllText = function () {\r\n me._jInput.blur();\r\n me.focus();\r\n jEditContainer.focus();\r\n }\r\n\r\n var focusToInput = function () {\r\n me.unFocus();\r\n me._jInput.focus();\r\n }\r\n\r\n //ΠŸΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° enter ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΠΌ фокус Π½Π° ΠΈΠ½ΠΏΡƒΡ‚\r\n jEditContainer.on(\"keydown.nav\", function (e) {\r\n var key = e.which\r\n if (key === c.ENTER) {\r\n if (isAllTextSelected() || hasNoValue()) {\r\n focusToInput();\r\n disableSlickOnEnter(e);\r\n }\r\n }\r\n })\r\n\r\n //Если Π²Ρ‹Π΄Π΅Π»Π΅Π½ вСсь тСкст, Ρ‚ΠΎ ΠΏΡ€ΠΈ Π²Π²ΠΎΠ΄Π΅ пробрасываСм событиС Π² ΠΈΠ½ΠΏΡƒΡ‚ ΠΈ фокус Ρ‚ΠΎΠΆΠ΅\r\n jEditContainer.on(\"keydown.nav\", function (e) {\r\n\r\n if (!isAllTextSelected()) return;\r\n var key = e.which\r\n if (key === c.BACKSPACE || key === c.DELETE) {\r\n if (!me._getWrapper().isDisabled()) {\r\n me._getWrapper().clear(true);\r\n }\r\n }\r\n\r\n var ignoredKeys = [c.LEFT, c.RIGHT, c.DOWN, c.CONTROL, c.UP, c.TAB, c.ESCAPE, c.SHIFT, c.PAGE_UP, c.PAGE_DOWN, c.END, c.CAPS_LOCK, c.ENTER];\r\n if (ignoredKeys.indexOf(key) === -1 && !e.shiftKey && !e.metaKey && !e.ctrlKey) {\r\n\r\n //Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° alt+down ΠΏΠΎΠ»Π΅ Π½Π΅ ΠΎΡ‡ΠΈΡ‰Π°Π»ΠΎΡΡŒ Π° Ρ€Π°Π±ΠΎΡ‚Π°Π»Π° Π²Ρ‹ΠΏΠ°Π΄Π°ΠΉΠΊΠ° Π²Π½ΠΈΠ·\r\n if (!e.altKey && !me._getWrapper().isDisabled()) {\r\n me._getWrapper().clear();\r\n }\r\n\r\n focusToInput();\r\n passKeyToInput(key);\r\n }\r\n }).focus().select();\r\n\r\n //Если Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ Π½Π° enter Π½Π°Ρ…ΠΎΠ΄ΡΡΡŒ Π² ΠΈΠ½ΠΏΡƒΡ‚Π΅ - ΡƒΠ±ΠΈΡ€Π°Π΅ΠΌ фокус с Π½Π΅Π³ΠΎ ΠΈ выдСляСм вСсь тСкст\r\n me._jInput.bind(\"keydown.nav\", function (e) {\r\n var key = e.which;\r\n if (key === c.ENTER) {\r\n selectAllText();\r\n disableSlickOnEnter(e);\r\n }\r\n\r\n if (e.keyCode === c.LEFT || e.keyCode === c.RIGHT) {\r\n //if (hasNoValue()) {\r\n leaveOut(e);\r\n /*} else {\r\n stayHere(e);\r\n } */\r\n }\r\n });\r\n\r\n //ΠŸΡ€ΠΈ ΠΊΠ»ΠΈΠΊΠ΅ Π² ΠΈΠ½ΠΏΡƒΡ‚, Π½Π°Π΄ΠΎ ΡΠ½ΠΈΠΌΠ°Ρ‚ΡŒ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ с тСкста\r\n me._jInput.on('focus.nav', function () {\r\n me.unFocus();\r\n });\r\n\r\n //Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ фокуса\r\n if (hasNoValue()) {\r\n focusToInput();\r\n } else {\r\n selectAllText();\r\n }\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ фокус Π½Π° ΠΏΠΎΠ»Π΅ Π²Π²ΠΎΠ΄Π°(Π° Ссли чСстно, Ρ‚ΠΎ Π½Π° спан с тСкстом)\r\n * @method WebAccess.components.dataViews.gridPlugins._editors.BaseObjectSelectEditor#focus\r\n * @since 5.5.0.1000 \r\n */\r\n focus: function () {\r\n this._getSelectedItemElements().addClass('selectedText');\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n isFocused: function () {\r\n return this._getSelectedItemElements().hasClass('selectedText');\r\n },\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚-ΠΎΠ±Π΅Ρ€Ρ‚ΠΊΡƒ Π½Π°Π΄ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΎΠΌ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°, с Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΌΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ Ρ‚ΠΈΠΏΠ° getValue\r\n * @since 5.5.0.1000\r\n * @method WebAccess.components.dataViews.gridPlugins._editors.BaseObjectSelectEditor#unFocus\r\n */\r\n unFocus: function () {\r\n this._getSelectedItemElements().removeClass('selectedText');\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Π΅ элСмСнты.\r\n * @since 5.5.0.1000\r\n * @private\r\n * @method WebAccess.components.dataViews.gridPlugins._editors.BaseObjectSelectEditor#_getSelectedItemElements\r\n */\r\n _getSelectedItemElements: function () {\r\n return this._jContainer.find('.rs_SelItems span');\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚-ΠΎΠ±Π΅Ρ€Ρ‚ΠΊΡƒ Π½Π°Π΄ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΎΠΌ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°, с Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΌΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ Ρ‚ΠΈΠΏΠ° getValue\r\n * @since 5.5.0.1000\r\n * @method WebAccess.components.dataViews.gridPlugins._editors.BaseObjectSelectEditor#_getWrapper\r\n * @private\r\n */\r\n _getWrapper: function () {\r\n var me = this;\r\n if (!!me._wrapper) return me._wrapper;\r\n var parentCurrent = me._gridComp._parent.settings.current;\r\n return me._wrapper = me._createWrapper(parentCurrent);\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π‘ΠΎΠ·Π΄Π°Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚-ΠΎΠ±Π΅Ρ€Ρ‚ΠΊΡƒ Π½Π°Π΄ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΎΠΌ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°, с Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΌΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ Ρ‚ΠΈΠΏΠ° getValue\r\n * @private\r\n */\r\n _createWrapper: function (parentCurrent) {\r\n return null;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ячСйки измСнилось\r\n * @since 5.5.0.1000\r\n * @method WebAccess.components.dataViews.gridPlugins._editors.BaseObjectSelectEditor#isValueChanged\r\n */\r\n isValueChanged: function () {\r\n var me = this;\r\n var values = me.serializeValue();\r\n //if (!me._value) me._value = null; //Π¨Π°ΠΌΠΎΠ² А.: Π£Π±Ρ€Π°Π», Ρ‡Ρ‚ΠΎ Π±Ρ‹ ΠΎΡΡ‚Π°Π»Π°ΡΡŒ ΡΠΎΠ²ΠΌΠ΅ΡΡ‚ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄Π° getValue, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ ΠΏΡƒΡΡ‚ΡƒΡŽ строку.\r\n\r\n\r\n if (me._value != values.value) {\r\n me._value = values.value;\r\n return true;\r\n }\r\n return false\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠœΠ΅Ρ‚ΠΎΠ΄ вызываСтся ΠΊΠΎΠ³Π΄Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² ячСйкС измСнилось, ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ·\r\n * Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° Π² Π½Π°Π±ΠΎΡ€ Π΄Π°Π½Π½Ρ‹Ρ… Π³Ρ€ΠΈΠ΄Π°.\r\n * @since 5.5.0.1000\r\n * @method WebAccess.components.dataViews.gridPlugins._editors.BaseObjectSelectEditor#applyValue\r\n */\r\n applyValue: function (row, newData) {\r\n var me = this;\r\n me._updateData(row, newData);\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠœΠ΅Ρ‚ΠΎΠ΄ вызываСтся ΠΊΠΎΠ³Π΄Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² ячСйкС измСнилось, ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ·\r\n * Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° Π² Π½Π°Π±ΠΎΡ€ Π΄Π°Π½Π½Ρ‹Ρ… Π³Ρ€ΠΈΠ΄Π°.\r\n * @since 5.5.0.1000\r\n * @method WebAccess.components.dataViews.gridPlugins._editors.BaseObjectSelectEditor#serializeValue\r\n */\r\n serializeValue: function () {\r\n\r\n var me = this;\r\n var control = me._getWrapper();\r\n\r\n return {\r\n 'value': control.getValue(),\r\n 'displayValue': control.getDisplayValue()\r\n }\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠžΡ‡ΠΈΡΡ‚ΠΊΠ° поля\r\n * @method WebAccess.components.dataViews.gridPlugins._editors.BaseObjectSelectEditor#destroy\r\n * @since 5.5.0.1000 \r\n */\r\n destroy: function () {\r\n var me = this;\r\n if ($('.rs_container').is(':visible').length) {\r\n me._jInput.HideContainer();\r\n }\r\n me._super();\r\n }\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n });\r\n\r\n})(window.WA.components.dataViews.gridPlugins._editors)","\"use strict\";\r\n(function (global) {\r\n\r\n /**\r\n * Π Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ для ячСйки с Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠΌ мноТСствСнного Π²Ρ‹Π±ΠΎΡ€Π°. \r\n * @class WebAccess.components.dataViews.gridPlugins._editors.ReferenceEditor\r\n * @extends WebAccess.components.dataViews.gridPlugins._editors.BaseObjectSelectEditor\r\n * @since 5.2.0.1300\r\n */\r\n global.ReferenceEditor = global.BaseObjectSelectEditor.extend({\r\n _renderer: null,\r\n _wrapper: null,\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π‘ΠΎΠ·Π΄Π°Π΅Ρ‚ Ρ€Π΅Π½Π΄Π΅Ρ€Π΅Ρ€.\r\n * @private\r\n */\r\n _createRenderer: function () {\r\n return new WebAccess.components.forms.requisites.ReferenceSelect();\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π‘ΠΎΠ·Π΄Π°Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚-ΠΎΠ±Π΅Ρ€Ρ‚ΠΊΡƒ Π½Π°Π΄ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΎΠΌ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°, с Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΌΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ Ρ‚ΠΈΠΏΠ° getValue\r\n * @private\r\n */\r\n _createWrapper: function (parentCurrent) {\r\n var me = this;\r\n return new WA.CMP.wrappers.form.requisites.Reference(me._column.id, me.id, parentCurrent.form);\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΡ€ΠΎΠ±Ρ€ΠΎΡˆΠ΅Π½Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΈΠ· клиСнтской ОМ\r\n * @method WebAccess.components.dataViews.gridPlugins._editors.ReferenceEditor#setCustomAction\r\n * @since 5.2.0.1300 \r\n */\r\n setReferences: function (references) {\r\n this._getWrapper().setReferences(references);\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΡ€ΠΎΠ±Ρ€ΠΎΡˆΠ΅Π½Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΈΠ· клиСнтской ОМ\r\n * @method WebAccess.components.dataViews.gridPlugins._editors.ReferenceEditor#setCustomAction\r\n * @since 5.2.0.1300 \r\n */\r\n setFilter: function (filter, opt_refCode) {\r\n this._getWrapper().setFilter(filter, opt_refCode);\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΡ€ΠΎΠ±Ρ€ΠΎΡˆΠ΅Π½Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΈΠ· клиСнтской ОМ\r\n * @method WebAccess.components.dataViews.gridPlugins._editors.ReferenceEditor#setCustomAction\r\n * @since 5.2.0.1300 \r\n */\r\n setValues: function (filter, opt_refCode) {\r\n this._getWrapper().setValues(filter, opt_refCode);\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΡ€ΠΎΠ±Ρ€ΠΎΡˆΠ΅Π½Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΈΠ· клиСнтской ОМ\r\n * @method WebAccess.components.dataViews.gridPlugins._editors.ReferenceEditor#setCustomAction\r\n * @since 5.2.0.1300 \r\n */\r\n setMainReference: function (referenceName) {\r\n this._getWrapper().setMainReference(referenceName);\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΡ€ΠΎΠ±Ρ€ΠΎΡˆΠ΅Π½Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΈΠ· клиСнтской ОМ\r\n * @method WebAccess.components.dataViews.gridPlugins._editors.ReferenceEditor#setCustomAction\r\n * @since 5.2.0.1300 \r\n */\r\n addLastObjectsPseudoReference: function (lastReferences) {\r\n this._getWrapper().addLastObjectsPseudoReference(lastReferences);\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΡ€ΠΎΠ±Ρ€ΠΎΡˆΠ΅Π½Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΈΠ· клиСнтской ОМ\r\n * @method WebAccess.components.dataViews.gridPlugins._editors.ReferenceEditor#setCustomAction\r\n * @since 5.2.0.1300 \r\n */\r\n removeLastObjectsPseudoReference: function (lastReferences) {\r\n this._getWrapper().removeLastObjectsPseudoReference(lastReferences);\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΡ€ΠΈΠ²ΡΠ·ΠΊΠ° Π²Ρ‹Π·ΠΎΠ²Π° справочника Π² модальном ΠΎΠΊΠ½Π΅ ΠΏΠΎ ΠΊΠ»ΠΈΠΊΡƒ Π½Π° ΠΈΠΊΠΎΠ½ΠΊΠ΅ Π² ΠΏΠΎΠ»Π΅ Π²Π²ΠΎΠ΄Π°.\r\n * @method WebAccess.components.dataViews.gridPlugins._editors.ReferenceEditor#bindReferenceGridDialog\r\n * @since 5.4.0.1012 \r\n */\r\n bindReferenceGridDialog: function () {\r\n this._getWrapper().bindReferenceGridDialog();\r\n }\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n });\r\n\r\n})(window.WA.components.dataViews.gridPlugins._editors)","\"use strict\";\r\n(function (global) {\r\n\r\n /**\r\n * Π Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ для ячСйки с Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠΌ \"Бсылка Π½Π° Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚\". \r\n * @class WebAccess.components.dataViews.gridPlugins._editors.DocumentEditor\r\n * @extends WebAccess.components.dataViews.gridPlugins._editors.BaseObjectSelectEditor\r\n * @since 5.5.0.1000\r\n */\r\n global.DocumentEditor = global.BaseObjectSelectEditor.extend({\r\n _renderer: null,\r\n _wrapper: null,\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π‘ΠΎΠ·Π΄Π°Π΅Ρ‚ Ρ€Π΅Π½Π΄Π΅Ρ€Π΅Ρ€.\r\n */\r\n _createRenderer: function () {\r\n return new WebAccess.components.forms.requisites.DocumentSelect();\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π‘ΠΎΠ·Π΄Π°Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚-ΠΎΠ±Π΅Ρ€Ρ‚ΠΊΡƒ Π½Π°Π΄ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΎΠΌ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°, с Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΌΠΈ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°ΠΌΠΈ Ρ‚ΠΈΠΏΠ° getValue\r\n */\r\n _createWrapper: function (parentCurrent) {\r\n var me = this;\r\n return new WA.CMP.wrappers.form.requisites.Document(me._column.id, me.id, parentCurrent.form);\r\n }\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n });\r\n\r\n})(window.WA.components.dataViews.gridPlugins._editors)","\"use strict\";\r\n(function sortingPlugin(global) {\r\n\r\n /**\r\n * Плагин для сохранСния ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ сортировки Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅.\r\n *\r\n * @class WebAccess.components.dataViews.gridPlugins.SortingPlugin\r\n * @extends WebAccess.Plugin\r\n * @since 5.2.0.1100\r\n */\r\n global.SortingPlugin = WA.Plugin.extend({\r\n name: 'SortingPlugin',\r\n\r\n // Π Π°ΡΡˆΠΈΡ€ΡΠ΅ΠΌΡ‹ΠΉ Π³Ρ€ΠΈΠ΄\r\n _grid: null,\r\n _useServer: false,\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n init: function (useServer) {\r\n this._useServer = useServer;\r\n },\r\n\r\n /**\r\n * РСгистрируСт ΠΏΠ»Π°Π³ΠΈΠ½.\r\n *\r\n * @method WebAccess.components.dataViews.gridPlugins.SortingPlugin#register\r\n * @param {grid} Π’Π°Π±Π»ΠΈΡ†Π°.\r\n * @since 5.2.0.1100\r\n * @return {object} Ассоциативный массив, содСрТащий ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹.\r\n */\r\n register: function (grid) {\r\n var me = this;\r\n me._grid = grid;\r\n\r\n me._grid.bind(WA.CMP.DV.Grid.EVENT.BEFORE_GRID_INIT, me._onGridBeforeInit, me);\r\n me._grid.bind(WA.CMP.DV.Grid.EVENT.COLUMN_INIT, $.proxy(me._onColumnInit, me));\r\n me._grid.bind(WA.CMP.DV.Grid.EVENT.GRID_INIT, $.proxy(me._onGridInit, me));\r\n return {\r\n 'reSortColumns': me._reSort\r\n }\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π₯эндлСр события Π΄ΠΎ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π³Ρ€ΠΈΠ΄Π°.\r\n * @method WebAccess.components.dataViews.gridPlugins.EditPlugin#_onGridBeforeInit\r\n * @param {string} containerSelector сСлСктор ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° для Π³Ρ€ΠΈΠ΄Π°.\r\n * @param {Object} dataView прСдставлСниС Π΄Π°Π½Π½Ρ‹Ρ….\r\n * @param {Object} columns описания всСх ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ.\r\n * @param {Object} settings настройки Π³Ρ€ΠΈΠ΄Π°.\r\n * @private\r\n * @since 5.2.0.1100\r\n */\r\n _onGridBeforeInit: function (containerSelector, dataView, columns, byref_settings) {\r\n var me = this;\r\n if (!me._useServer) {\r\n // byref_settings.multiColumnSort = true;\r\n };\r\n },\r\n\r\n /**\r\n * Π”Π΅Π»Π°Π΅ΠΌ всС ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ сортируСмыми\r\n * @method WebAccess.components.dataViews.gridPlugins.CheckboxPlugin#_onColumnInit\r\n * @param {object} byref_column ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°\r\n * @private\r\n * @since 5.2.0.1100\r\n */\r\n _onColumnInit: function (byref_column) {\r\n var isSpecialColumn = (byref_column.id.charAt(0) === '_');\r\n byref_column.sortable = !isSpecialColumn;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π₯эндлСр события ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π³Ρ€ΠΈΠ΄Π°.\r\n * @method WebAccess.components.dataViews.gridPlugins.SortingPlugin#onGridInit\r\n * @param {SlickGrid} slickGrid ΠΊΠΎΠΏΠΌΠΎΠΏΠ½Π΅Π½Ρ‚Π° Π³Ρ€ΠΈΠ΄.\r\n * @private\r\n * @since 5.2.0.1100\r\n */\r\n _onGridInit: function (slickGrid) {\r\n this._bindOnSort();\r\n this._restoreSorting();\r\n\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ВосстанавливаСт ΡΠΎΡ…Ρ€Π°Π½Π΅Π½Π½ΡƒΡŽ сортировку ΠΏΡ€ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π³Ρ€ΠΈΠ΄Π°.\r\n * @method WebAccess.components.dataViews.gridPlugins.SortingPlugin#_restoreSorting \r\n * @private\r\n * @since 5.2.0.1100\r\n */\r\n _restoreSorting: function () {\r\n var me = this;\r\n if (!me._useServer) {\r\n me._grid.bind(WA.CMP.DV.Grid.EVENT.AFTER_DATA_LOADED, function () {\r\n me._grid.reSortColumns();\r\n });\r\n }\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠ΅Ρ€Π΅ΡΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ°\r\n * @method WebAccess.components.dataViews.gridPlugins.SortingPlugin#_restoreSorting \r\n * @private\r\n * @since 5.2.0.1304\r\n */\r\n _reSort: function () {\r\n var grid = this;\r\n var me = this; \r\n var sortingColumns = _(grid.state.Sort).map(function (sortInfo) {\r\n return {\r\n columnId: sortInfo.Name,\r\n sortAsc: sortInfo.IsAsc\r\n };\r\n });\r\n\r\n grid.grid.setSortColumns(sortingColumns);\r\n\r\n _(sortingColumns).each(function (_column) {\r\n var column = _(grid._columns).findWhere({ id: _column.columnId });\r\n if (!column) return;\r\n\r\n var comparer = function (g1, g2) {\r\n var v1 = g1[column.field];\r\n var v2 = g2[column.field];\r\n var type = requisiteTypeToString(column.type);\r\n // Π”Ρ€ΠΎΠ±Π½Ρ‹Π΅ ΠΈ Ρ†Π΅Π»Ρ‹Π΅ числа ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ записаны Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ \"1 234 567,34\". Вакая запись Π½Π΅ конвСртируСтся Π² число, поэтому Π±Π΅Ρ€Π΅ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π±Π΅Π· форматирования.\r\n if (type === 'float' || type === 'integer' || type === 'largeinteger') {\r\n v1 = g1[column.id];\r\n v2 = g2[column.id];\r\n }\r\n \r\n return WA.utils.compareData(v1, v2, type);\r\n };\r\n\r\n grid.grid.setSortColumn(_column.columnId, _column.sortAsc);\r\n grid.dataView.sort(comparer, _column.sortAsc);\r\n });\r\n\r\n //провСряСм Π±Ρ‹Π»Π° Π»ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° новая строка Π² Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΠΎΠΉ строкС устанавливаСм Ρ€Π°Π½Π³ - 1000000\r\n if (grid._table && WA.ENV.browser.name !== 'IE') {\r\n var rowsArr = grid._table.rows.toArray();\r\n for (var i = 0; i < rowsArr.length; i++) {\r\n var row = rowsArr[i];\r\n if (row._isNew) {\r\n var rowData = grid.dataView.getItemById(row.id);\r\n if (rowData) {\r\n rowData.rank = 1000000;\r\n }\r\n };\r\n };\r\n //сортируСм Π² ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΌ порядкС, Ρ‚Π°ΠΊ новая строка всСгда Π±ΡƒΠ΄Π΅Ρ‚ послСднСй\r\n grid.dataView.fastSort('rank', false);\r\n };\r\n\r\n grid.grid.invalidate();\r\n grid.grid.render();\r\n },\r\n\r\n /**\r\n * ΠΠ°Π²Π΅ΡˆΠΈΠ²Π°Π΅Ρ‚ΡΡ Π½Π° событиС смСны сортировки Ρ‡Ρ‚ΠΎ Π±Ρ‹ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ состояниС ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅.\r\n * @method WebAccess.components.dataViews.gridPlugins.SortingPlugin#_bindOnSort \r\n * @private\r\n * @since 5.2.0.1100\r\n */\r\n _bindOnSort: function () {\r\n var me = this;\r\n\r\n me._grid.grid.onSort.subscribe(function (e, args) {\r\n me._grid.updateState({\r\n Sort: [{ Name: args.sortCol.id, IsAsc: args.sortAsc }]\r\n });\r\n\r\n if (me._useServer) {\r\n me._grid.reloadData();\r\n } else {\r\n\r\n var comparer = function (g1, g2) {\r\n var v1 = g1[args.sortCol.field];\r\n var v2 = g2[args.sortCol.field];\r\n var type = requisiteTypeToString(args.sortCol.type);\r\n // Π”Ρ€ΠΎΠ±Π½Ρ‹Π΅ ΠΈ Ρ†Π΅Π»Ρ‹Π΅ числа ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ записаны Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ \"1 234 567,34\". Вакая запись Π½Π΅ конвСртируСтся Π² число, поэтому Π±Π΅Ρ€Π΅ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π±Π΅Π· форматирования.\r\n //CREVIEW Π¨Π°ΠΌΠΎΠ² А.: Π’ΡƒΡ‚ Int64?\r\n if (type === 'float' || type === 'integer') {\r\n v1 = g1[args.sortCol.id];\r\n v2 = g2[args.sortCol.id];\r\n }\r\n return WA.utils.compareData(v1, v2, type);\r\n };\r\n\r\n me._grid.dataView.sort(comparer, args.sortAsc);\r\n }\r\n });\r\n }\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n });\r\n\r\n})(WA.components.dataViews.gridPlugins);","\"use strict\";\r\n(function groupingPlugin(global) {\r\n\r\n //TODO: Π¨Π°ΠΌΠΎΠ² А.: Π’ Ρ†Π΅Π»ΠΎΠΌ Π½Π΅ понятно ΠΊΠ°ΠΊ ΠΎΠ½Π° Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚. Π§Π°ΡΡ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ Π² Π³Ρ€ΠΈΠ΄Π΅ Ρ‡Π°ΡΡ‚ΡŒ Ρ‚ΡƒΡ‚. Надо Π±Ρ‹ ΠΊΠ°ΠΊ-Ρ‚ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ понятнСС, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ максимально пСрСнСсти ΠΈΠ· Π³Ρ€ΠΈΠ΄Π° сюда. \r\n\r\n /**\r\n * Плагин для Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΠΈ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅.\r\n *\r\n * @class WebAccess.components.dataViews.gridPlugins.GroupingPlugin\r\n * @extends WebAccess.Plugin\r\n * @property {string} name Имя ΠΏΡƒΠ½ΠΊΡ‚Π° мСню.\r\n * @property {string} grid Π’Π°Π±Π»ΠΈΡ†Π°.\r\n * @since 5.2.0.1100\r\n */\r\n global.GroupingPlugin = WA.Plugin.extend({\r\n name: 'GroupingPlugin',\r\n _grid: null,\r\n _oldGrouping: null,\r\n\r\n _groupItemMetadataProvider: null,\r\n\r\n /**\r\n * РСгистрируСт ΠΏΠ»Π°Π³ΠΈΠ½.\r\n *\r\n * @method WebAccess.components.dataViews.gridPlugins.GroupingPlugin#register\r\n * @param {grid} Π’Π°Π±Π»ΠΈΡ†Π°\r\n * @since 5.2.0.1100\r\n * @return {object} Ассоциативный массив, содСрТащий ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹.\r\n */\r\n register: function (grid) {\r\n var me = this;\r\n me._super();\r\n me._grid = grid;\r\n\r\n me._groupItemMetadataProvider = new Slick.Data.GroupItemMetadataProvider();\r\n\r\n var E = WA.CMP.DV.Grid.EVENT;\r\n grid.bind(E.BEFORE_GRID_INIT, $.proxy(me._onGridBeforeInit, me));\r\n grid.bind(E.GRID_INIT, $.proxy(me._onGridInit, me));\r\n grid.bind(E.COLUMN_INIT, $.proxy(me._onColumnInit, me));\r\n grid.bind(E.GET_VISIBLE_COLUMNS_FOR_DIALOG, $.proxy(me._onGetVisibleColumnsForDialog, me));\r\n grid.bind(E.SET_VISIBLE_COLUMNS_FROM_DIALOG, $.proxy(me._onSetVisibleColumnsFromDialog, me));\r\n grid.bind(E.AFTER_DATA_LOADED, $.proxy(me._onAfterDataLoaded, me));\r\n\r\n return {\r\n 'unGroupColumnsById': me._unGroupColumnsById_exported,\r\n 'updateGroupingInfo': me._updateGroupingInfo_exported,\r\n 'toogleGrouping': me._toogleGrouping_exported\r\n };\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠœΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡ Π²ΠΈΠ΄ΠΈΠΌΡ‹Ρ… ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ Π³Ρ€ΠΈΠ΄Π° для отобраТСния ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ с Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΠΎΠΉ.\r\n * @method WebAccess.components.dataViews.gridPlugins.GroupingPlugin#_onGetVisibleColumnsForDialog\r\n * @since 5.2.0.1100\r\n * @private \r\n */\r\n _onGetVisibleColumnsForDialog: function (columns) {\r\n var me = this;\r\n me._includeGroupedColumns(columns);\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠœΠΎΠ΄ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡ Π²ΠΈΠ΄ΠΈΠΌΡ‹Ρ… ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ Π³Ρ€ΠΈΠ΄Π° для Ρ€Π°Π·Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΠΈ ΠΈ задания Π²ΠΈΠ΄ΠΈΠΌΡ‹Ρ… ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ.\r\n * @method WebAccess.components.dataViews.gridPlugins.GroupingPlugin#_onGetVisibleColumnsForDialog\r\n * @since 5.2.0.1100\r\n * @private \r\n */\r\n _onSetVisibleColumnsFromDialog: function (columns) {\r\n var me = this;\r\n me._excludeGroupedColumns(columns);\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π Π°Π·Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΠ° списка ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ.\r\n * @method WebAccess.components.dataViews.gridPlugins.GroupingPlugin#_unGroupColumnsById_exported\r\n * @since 5.2.0.1100\r\n * @private \r\n */\r\n _unGroupColumnsById_exported: function (columnIds) {\r\n var me = this;\r\n var grouping = _(me.state.GroupColumns).map(function (column) {\r\n if (columnIds.indexOf(column.Name) !== -1) {\r\n var selector = '#' + me.grid.getUID() + column.Name;\r\n selector = selector.replaceAll(' ', '\\\\ ');\r\n $(selector).remove();\r\n me.dataView.removeGroupBy(column.Name);\r\n return null\r\n } else {\r\n return column;\r\n }\r\n });\r\n\r\n me.updateState({ GroupColumns: _(grouping).compact() });\r\n me.reloadData();\r\n return me;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠΠ°Ρ‡Π°Π»ΡŒΠ½Π°Ρ модификация ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ Π³Ρ€ΠΈΠ΄Π° для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΠΈ\r\n * @method WebAccess.components.dataViews.gridPlugins.GroupingPlugin#_onColumnInit\r\n * @since 5.2.0.1100\r\n * @private \r\n */\r\n _onColumnInit: function (byref_column) {\r\n var isSpecialColumn = (byref_column.id.charAt(0) === '_');\r\n byref_column.type === 'Date'\r\n var isFloatColumn = (byref_column.type === 'Float');\r\n\r\n byref_column.headerCssClass = (isSpecialColumn ? 'notDraggable' : ''); // ΠžΡ‚ΠΊΠ»ΡŽΡ‡ΡΠ΅ΠΌ Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΡƒ ΠΏΠΎ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρƒ Ρ‚ΠΈΠΏΠ° \"Π”Ρ€ΠΎΠ±Π½ΠΎΠ΅ число\", Ρ‚.ΠΊ. Π΄Π΅Π»Π°Ρ‚ΡŒ сравнСниС 2 Π΄Ρ€ΠΎΠ±Π½Ρ‹Ρ… чисСл слоТно.\r\n\r\n if (!isSpecialColumn) {\r\n byref_column['grouping'] = {\r\n getter: byref_column.id,\r\n formatter: function (g) {\r\n return byref_column.name + \": \" + g.rows[0][byref_column.field];\r\n },\r\n comparer: function (g1, g2) {\r\n var direction = byref_column.grouping.sortAsc ? 1 : -1;\r\n // Π‘Ρ€Π°Π²Π½ΠΈΠ²Π°Π΅Ρ‚ ΠΏΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠΌΡƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ.\r\n var v1 = g1.rows[0][byref_column.field];\r\n var v2 = g2.rows[0][byref_column.field];\r\n \r\n return direction * WA.utils.compareData(v1, v2, byref_column.type)\r\n },\r\n collapsed: true,\r\n sortAsc: true\r\n };\r\n }\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Установка Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΎΠΏΡ†ΠΈΠΈ Π³Ρ€ΠΈΠ΄Π°. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ это событиС, Ρ‚ΠΎ приходится ΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΏΠΎ ссылкС.\r\n * @method WebAccess.components.dataViews.gridPlugins.GroupingPlugin#_onGridBeforeInit\r\n * @since 5.2.0.1100\r\n * @private\r\n * @return {WebAccess.components.dataViews.gridPlugins.GroupingPlugin} GroupingPlugin\r\n */\r\n _onGridBeforeInit: function (containerSelector, byref_dataView, columns, byref_options) {\r\n byref_options['enableDraggableGroupBy'] = true;\r\n byref_dataView['groupItemMetadataProvider'] = this._groupItemMetadataProvider;\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠœΠ΅Ρ‚ΠΎΠ΄ срабатываСт послС создания экзСмпляра slickGrid-Π° Π² классС Π³Ρ€ΠΈΠ΄Π°. \r\n * @method WebAccess.components.dataViews.gridPlugins.GroupingPlugin#_onGridInit\r\n * @param {slickGrid} ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π³Ρ€ΠΈΠ΄Π° \r\n * @since 5.2.0.1100\r\n * @private\r\n * @return {WebAccess.components.dataViews.gridPlugins.GroupingPlugin} GroupingPlugin\r\n */\r\n _onGridInit: function (slickGrid) {\r\n var me = this;\r\n log.debug('GRID', 'onGridInit method called');\r\n\r\n // register the group item metadata provider to add expand/collapse group handlers\r\n me._grid.grid.registerPlugin(this._groupItemMetadataProvider);\r\n\r\n //ΠŸΡ€ΠΈ ΠΏΠ΅Ρ€ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ Π² области Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΠΈ обновляСм состояниС Π² соотвСтсвии с Π½ΠΎΠ²Ρ‹ΠΌ порядком ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ\r\n me._grid.grid.onColumnsReordered.subscribe(function () {\r\n log.debug('GRID', 'Event onColumnsReordered emited(GROUPING_PLUGIN)');\r\n var grouping = me._getGrouping();\r\n var newGrouping = _(grouping).pluck('Name');\r\n\r\n log.debug('GRID', 'Updating columns grouping');\r\n\r\n /** \r\n * Если Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΠ° измСнилась, Ρ‚ΠΎ Π±ΡƒΠ΄Π΅ΠΌ ΡΠ²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ расскрытыС Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΈ \r\n * ΠΎΠ±Π½ΠΎΠ²ΠΈΠΌ саму Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΡƒ Π² state.\r\n * Π˜Π½Π°Ρ‡Π΅ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ мСняСм, Ρ‡Ρ‚ΠΎΠ±Ρ‹ смСна мСстами ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ (Π½Π΅ Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ…) Ρ€Π°Π±ΠΎΡ‚Π°Π»Π° \r\n * Π½Π΅ сворачивая Π³Ρ€ΡƒΠΏΠΏ \r\n * @see #97566 Если ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ мСстами ΠΏΡ€ΠΈ раскрытой Π³Ρ€ΡƒΠΏΠΏΠ΅ Π² Π³Ρ€ΠΈΠ΄Π΅, Ρ‚ΠΎ Π³Ρ€ΡƒΠΏΠΏΠ° закроСтся\r\n */\r\n if (!_.isEqual(newGrouping, me._oldGrouping)) {\r\n me._grid.updateState({ GroupColumns: grouping });\r\n me._grid.dataView.collapseAllGroups();\r\n me._grid.reloadData();\r\n }\r\n\r\n me._oldGrouping = newGrouping;\r\n });\r\n\r\n // Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ Ρ€Π°Π·Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΠΈ.\r\n me._grid.grid.onUnGroup.subscribe(function (event, data) {\r\n log.debug('GRID', 'Event onUnGroup emited');\r\n var jColumn = data.column;\r\n var columnId = jColumn.find('span').attr('name');\r\n me._grid.dataView.removeGroupBy(columnId, null, jColumn);\r\n var index = $('.slick-header-columns div.slick-header-column', me._grid.containerSelector).index(jColumn);\r\n me._grid.showColumn(columnId, index);\r\n });\r\n\r\n // Π‘ΠΌΠ΅Π½Π° сортировки ΠΏΠΎ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ΅ с Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΠΎΠΉ.\r\n me._grid.grid.onGroupSort.subscribe(function (e, args) {\r\n log.debug('GRID', 'Event onGroupSort emited');\r\n var prevGrouping = me._grid.state.GroupColumns;\r\n var groupCol = _(prevGrouping).findWhere({ Name: args.columnId });\r\n groupCol.SortIsAsc = args.sortAsc;\r\n\r\n me._grid.updateState({ GroupColumns: prevGrouping }, true); //true - ΠΏΠΎΡ‚ΠΎΠΌΡƒ измСняСтся ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΏΠΎ ссылкС ΠΈ сравнСниС Π²Π½ΡƒΡ‚Ρ€ΠΈ updateState Π½Π΅ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ сработаСт.\r\n me._grid.reloadData();\r\n });\r\n\r\n me._restoreGrouping();\r\n me._handleGroupToggle();\r\n me._oldGrouping = _(me._getGrouping()).pluck('Name');\r\n\r\n return me;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ВостановлСниС Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΠΈ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ страницы \r\n * @method WebAccess.components.dataViews.gridPlugins.GroupingPlugin#_restoreGrouping\r\n * @since 5.2.0.1100\r\n * @private\r\n * @return {WebAccess.components.dataViews.gridPlugins.GroupingPlugin} GroupingPlugin\r\n */\r\n _restoreGrouping: function () {\r\n log.debug('GRID', 'Restoring grouping');\r\n var me = this;\r\n\r\n /**\r\n * Показ скрытиС области Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΠΈ\r\n */\r\n me._grid.toogleGrouping(me._grid.state.IsGroupPanelVisible);\r\n\r\n /**\r\n * ВосстановлСниС прСдставлСния шапки ΠΈ логичСской Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΠΈ Π³Ρ€ΠΈΠ΄Π°\r\n */\r\n me._grid.dataView.setGrid(me._grid.grid);\r\n if (me._grid.state.GroupColumns) {\r\n\r\n // #97328 Если Π½Π΅ стало ΠΏΡ€Π°Π² Π½Π° Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ ΠΈΠ΄Π΅Ρ‚ Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΠ°, Ρ‚ΠΎ Π³Ρ€ΠΈΠ΄ ломаСтся\r\n var shrinked = _(_(me._grid.state.GroupColumns).map(function (column) {\r\n var gridColumn = _(me._grid._columns).findWhere({ 'id': column.Name });\r\n if (!!gridColumn) return column;\r\n else return null;\r\n })).compact();\r\n\r\n var columns = _(shrinked).map(function (column) {\r\n var gridColumn = _(me._grid._columns).findWhere({ 'id': column.Name });\r\n // ВосстановлСниС направлСния сортировки ΠΏΠΎ Π³Ρ€ΡƒΠΏΠΏΠ΅.\r\n gridColumn.grouping.sortAsc = column.SortIsAsc\r\n return gridColumn;\r\n });\r\n\r\n me._grid.dataView.restoreGroupedColumns(columns);\r\n }\r\n\r\n /**\r\n * ВосстановлСниС раскрытых строк\r\n */\r\n _(me._grid.state.GroupColumns).each(function (column, level) {\r\n _(column.Opened).each(function (chain) {\r\n me._grid.dataView.expandCollapseGroup(level, chain, false);\r\n });\r\n });\r\n\r\n me._setupGroupsReordering();\r\n return me;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /** \r\n * ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° раскрытия Π³Ρ€ΡƒΠΏΠΏ. \r\n * @method WebAccess.components.dataViews.gridPlugins.GroupingPlugin#_handleGroupToggle\r\n * @since 5.2.0.1100 \r\n * @private\r\n * @return {WebAccess.components.dataViews.gridPlugins.GroupingPlugin} GroupingPlugin\r\n */\r\n _handleGroupToggle: function () {\r\n var me = this;\r\n me._grid.dataView.prepareDataBeforeToggle = function (groupingKey, isCollapsed) {\r\n me._grid.updateGroupingInfo(groupingKey, isCollapsed);\r\n let options = { isClickOnToggle: true };\r\n return me._grid.reloadData(options);\r\n };\r\n return me;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * РСализация возмоТности измСнСния порядка ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΈΠ΄Π΅Ρ‚ Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΠ°\r\n * @method WebAccess.components.dataViews.gridPlugins.GroupingPlugin#_setupGroupsReordering\r\n * @private\r\n * @since 5.2.0.1100 \r\n * @return {WebAccess.components.dataViews.gridPlugins.GroupingPlugin} GroupingPlugin\r\n */\r\n _setupGroupsReordering: function () {\r\n log.debug('GRID', 'Groups sorting setup');\r\n var me = this;\r\n\r\n $('.slick-groupby').sortable({\r\n containment: me._grid.containerSelector,\r\n connectWith: \".connected\",\r\n cursor: 'move',\r\n tolerance: \"pointer\",\r\n distance: 20,\r\n cancel: '.slick-placeholder, .group-arrow',\r\n placeholder: \"slick-sortable-placeholder ui-state-default slick-header-column\",\r\n forcePlaceholderSize: true,\r\n stop: function (event, element) {\r\n me._grid.dataView.beginUpdate();\r\n me._grid.dataView.resortGroupColumns();\r\n },\r\n receive: function (event, ui) {\r\n\r\n // Π“Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΠ° - пСрСнос ΠΈΠ· шапки Π³Ρ€ΠΈΠ΄Π° Π² ΠΎΠ±Π»Π°ΡΡ‚ΡŒ Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΠΈ.\r\n if (ui.item.hasClass('notDraggable')) {\r\n $(ui.sender).sortable('cancel');\r\n var toast = new WA.CMP.NTF.Toast();\r\n toast.showWarning(L('GROUPING_IS_NOT_AVAILABLE_FOR_THIS_COLUMN'));\r\n return;\r\n };\r\n\r\n me._grid.updateState({ \"PageIndex\": 0 });\r\n\r\n var jColumn = $(ui.item);\r\n var columnId = jColumn.find('span').attr('name');\r\n var index = $('.slick-groupby div.slick-header-column', me._grid.containerSelector).index(jColumn);\r\n\r\n // Π‘ΠΌΠΎΡ‚Ρ€ΠΈΠΌ какая Π±Ρ‹Π»Π° сортировка Ρƒ этой ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ, Ρ‡Ρ‚ΠΎ Π±Ρ‹ Π΅Ρ‘ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π² Π³Ρ€ΡƒΠΏΠΏΠ΅.\r\n var sortColumnInfo = _(me._grid.state.Sort).findWhere({ Name: columnId });\r\n var column = _(me._grid._columns).findWhere({ id: columnId });\r\n column.grouping.sortAsc = (!sortColumnInfo || sortColumnInfo.IsAsc);\r\n\r\n me._grid.dataView.handleGroupByDrop($(), ui.item, index);\r\n me._grid.dataView.bindGroupSort(jColumn, me._grid._columns);\r\n\r\n jColumn.css({ 'width': 'auto' });\r\n me._grid.hideColumn(columnId);\r\n }\r\n });\r\n\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΠ΅ ΠΎΡ‚ Π³Ρ€ΠΈΠ΄Π°, ΠΈ Π²Ρ‹Π΄Π°Ρ‡Π° Π΅Π³ΠΎ Π² Π²ΠΈΠ΄Π΅\r\n * ΠΏΡ€ΠΈΠ³ΠΎΠ΄Π½ΠΎΠΌ для сохранСния Π² state\r\n * @private\r\n * @method WebAccess.components.dataViews.gridPlugins.GroupingPlugin#getGrouping\r\n * @return {array} groups\r\n */\r\n _getGrouping: function () {\r\n var me = this;\r\n\r\n var groups = _(me._grid.dataView.getGrouping()).map(function (col) {\r\n return {\r\n Name: col.getter,\r\n SortIsAsc: col.sortAsc,\r\n Opened: []\r\n };\r\n });\r\n\r\n me._updatePlaceHolder(groups.length);\r\n return groups;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ/ΡΠΊΡ€Ρ‹Ρ‚ΡŒ тСкст-подсказку Π² области Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΠΈ\r\n * @method WebAccess.components.dataViews.gridPlugins.GroupingPlugin#_updatePlaceHolder\r\n * @param {int} groupsCount ΠΊΠΎΠ»-Π²ΠΎ Π³Ρ€ΡƒΠΏΠΏ\r\n * @private\r\n * @return {WebAccess.components.dataViews.gridPlugins.GroupingPlugin} GroupingPlugin\r\n */\r\n _updatePlaceHolder: function (groupsCount) {\r\n var me = this;\r\n if (groupsCount > 0) {\r\n $(\".slick-placeholder\", me._grid.containerSelector).hide();\r\n } else {\r\n $(\".slick-placeholder\", me._grid.containerSelector).show();\r\n }\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠœΠ΅Ρ‚ΠΎΠ΄ вызываСтся внСшним классом groupitemmetadataprovider, для Ρ‚ΠΎΠ³ΠΎ, \r\n * Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΏΠΎ ΡΠ²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Π½ΠΈΡŽ/Ρ€Π°Π·Π²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Π½ΠΈΡŽ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… Π³Ρ€ΡƒΠΏΠΏ\r\n * для дальнСйшСго сохранСния Π² ΠΎΠ±Π΅ΡŠΠ΅ΠΊΡ‚ state;\r\n * @method WebAccess.components.dataViews.gridPlugins.GroupingPlugin#updateGroupingInfo_exported\r\n * @param {String} groupingKey ΠΊΠ»ΡŽΡ‡ Π²ΠΈΠ΄Π° \"123213:|:323423\" - иСрархия раскрытия Π³Ρ€ΡƒΠΏΠΏ\r\n * @param {isExpand} ΠΏΡ€ΠΈΠ·Π½Π° Ρ‚ΠΎΠ³ΠΎ раскрываСтся Π³Ρ€ΡƒΠΏΠΏΠ° ΠΈΠ»ΠΈ сворчиваСтся\r\n * @this {WebAccess.components.dataViews.Grid}\r\n * @since 5.2.0.1100\r\n * @private\r\n * @return {WebAccess.components.dataViews.Grid}\r\n */\r\n _updateGroupingInfo_exported: function (groupingKey, isExpand) {\r\n log.debug('GRID', 'Updating grouping info: ' + groupingKey);\r\n var me = this;\r\n var values = groupingKey.split(':|:');\r\n var lastIndex = values.length - 1;\r\n\r\n var currentGrouping = me.state.GroupColumns;\r\n if (isExpand) {\r\n currentGrouping[lastIndex].Opened.push(groupingKey);\r\n } else {\r\n var index = currentGrouping[lastIndex].Opened.indexOf(groupingKey);\r\n currentGrouping[lastIndex].Opened.splice(index, 1);\r\n }\r\n\r\n me.updateState({\r\n GroupColumns: currentGrouping,\r\n LastCollapsedGroupingKey: (!isExpand ? groupingKey : '__NOT_KEY__')\r\n }, true);\r\n return me;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ послС Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ….\r\n * @method WebAccess.components.dataViews.gridPlugins.GroupingPlugin#_onAfterDataLoaded\r\n * @since 5.2.0.1100\r\n * @private\r\n * @return {WebAccess.components.dataViews.gridPlugins.GroupingPlugin} GroupingPlugin\r\n */\r\n _onAfterDataLoaded: function () {\r\n // БбрасываСм ΠΏΠΎΡΠ»Π΅Π΄Π½ΡƒΡŽ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡƒΡŽ Π³Ρ€ΡƒΠΏΠΏΡƒ.\r\n this._grid.updateState({\r\n LastCollapsedGroupingKey: '__NOT_KEY__'\r\n });\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Показ/скрытиС области Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΠΈ\r\n * @method WebAccess.components.dataViews.gridPlugins.GroupingPlugin#toogleGrouping_exported\r\n * @this {WebAccess.components.dataViews.Grid}\r\n * @since 5.2.0.1100\r\n * @private\r\n * @return {WebAccess.components.dataViews.Grid}\r\n */\r\n _toogleGrouping_exported: function (needToEnable) {\r\n log.debug('GRID', 'Toggling group area: ' + needToEnable);\r\n var me = this;\r\n var jPHolder = $('.slick-placeholder', me.containerSelector);\r\n var jGroupBy = $('.slick-groupby', me.containerSelector);\r\n\r\n jPHolder.text(L('DRAG_A_COLUMN_HEADER_HERE_TO_GROUP_BY_THAT_COLUMN'));\r\n if (me.state.GroupColumns.length) {\r\n jPHolder.hide();\r\n } else {\r\n jPHolder.show();\r\n }\r\n\r\n if (needToEnable) {\r\n jGroupBy.show();\r\n\r\n me.grid.setOptions({\r\n showGroupByRow: true,\r\n groupByRowHeight: jGroupBy.outerHeight()\r\n });\r\n me.grid.resizeViewport();\r\n me.updateState({ IsGroupPanelVisible: true }, true);\r\n } else {\r\n jGroupBy.hide();\r\n\r\n me.grid.setOptions({ showGroupByRow: false });\r\n me.grid.resizeViewport();\r\n me.updateState({ IsGroupPanelVisible: false }, true);\r\n }\r\n return me;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π’ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π³Ρ€ΡƒΠΏΠΏΡ‹ Π² список Π²ΠΈΠ΄ΠΈΠΌΡ‹Ρ… ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ для Π΄ΠΈΠ°Π»ΠΎΠ³Π°.\r\n * @method WebAccess.components.dataViews.gridPlugins.GroupingPlugin#_includeGroupedColumns\r\n * @this {WebAccess.components.dataViews.Grid}\r\n * @since 5.2.0.1100\r\n * @private\r\n * @return {WebAccess.components.dataViews.Grid}\r\n */\r\n _includeGroupedColumns: function (byref_visibleColumns) {\r\n var me = this;\r\n\r\n _(me._grid.state.GroupColumns).each(function (groupInfo) {\r\n var column = _(me._grid._columns).find(function (col) {\r\n return col.id === groupInfo.Name;\r\n });\r\n byref_visibleColumns.push(column);\r\n });\r\n\r\n return me;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π˜ΡΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΈΠ· списока Π²ΠΈΠ΄ΠΈΠΌΡ‹Ρ… ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ ΠΈ Ρ€Π°Π·Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²Ρ‹Π²Π°Π΅Ρ‚ Π³Ρ€ΡƒΠΏΠΏΡ‹.\r\n * @method WebAccess.components.dataViews.gridPlugins.GroupingPlugin#_excludeGroupedColumns\r\n * @this {WebAccess.components.dataViews.Grid}\r\n * @since 5.2.0.1100\r\n * @private\r\n * @return {WebAccess.components.dataViews.Grid}\r\n */\r\n _excludeGroupedColumns: function (byref_visibleColumns) {\r\n var me = this;\r\n var unGroupingColumns = [];\r\n\r\n _(me._grid.state.GroupColumns).each(function (groupInfo) {\r\n\r\n // Π˜Ρ‰Π΅ΠΌ Π³Ρ€ΡƒΠΏΠΏ Π² спискС Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π΅Π½Π½Ρ‹Ρ… Π²ΠΈΠ΄ΠΈΠΌΡ‹Ρ… ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ.\r\n var index = _(byref_visibleColumns).findIndex(function (visibleColumn) {\r\n return visibleColumn.id === groupInfo.Name;\r\n });\r\n if (index !== -1) {\r\n // Если нашли, Ρ‚ΠΎ просто удаляСм Π΅Ρ‘ ΠΈΠ· Π²ΠΈΠ΄ΠΈΠΌΡ‹Ρ… ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ.\r\n byref_visibleColumns.splice(index, 1);\r\n } else {\r\n // Если НЕ нашли, Ρ‚ΠΎ добавляСм Π² список Ρ€Π°Π·Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ….\r\n unGroupingColumns.push(groupInfo.Name);\r\n }\r\n });\r\n\r\n // ВыполняСм Ρ€Π°Π·Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΡƒ.\r\n me._grid.unGroupColumnsById(unGroupingColumns);\r\n\r\n return me;\r\n }\r\n\r\n });\r\n\r\n})(WA.components.dataViews.gridPlugins);","\"use strict\";\r\n(function footerPlugin(global) {\r\n\r\n /**\r\n * Плагин для области Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ страницами Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹.\r\n *\r\n * @property {string} name Имя ΠΏΠ»Π°Π³ΠΈΠ½Π°.\r\n * @property {integer} pageIndex ВСкущая страница\r\n * @property {integer} pageSize ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ строк Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π½Π° страницС\r\n * @since 5.2.0.1100\r\n * @class WebAccess.components.dataViews.gridPlugins.FooterPlugin\r\n * @extends WebAccess.Plugin\r\n */\r\n global.FooterPlugin = WA.Plugin.extend({\r\n name: 'FooterPlugin',\r\n\r\n pageIndex: 0,\r\n pageSize: 100, // Для Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ количСства записСй Π½Π° страницС ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ· константы REFERENCE_RECORDS_PAGE_SIZE Π² бСкэндС.\r\n\r\n _grid: null,\r\n _jPager: null,\r\n _jPagerControls: null,\r\n _selectExpression: null,\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n init: function () {\r\n this._super();\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * РСгистрируСт ΠΏΠ»Π°Π³ΠΈΠ½.\r\n *\r\n * @method WebAccess.components.dataViews.gridPlugins.FooterPlugin#register\r\n * @param {WebAccess.components.dataViews.Grid} grid Π’Π°Π±Π»ΠΈΡ†Π°.\r\n * @since 5.2.0.1100\r\n * @return {object} Ассоциативный массив, содСрТащий ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹.\r\n */\r\n register: function (grid) {\r\n var me = this;\r\n me._super();\r\n\r\n me._grid = grid;\r\n\r\n grid.bind(WA.CMP.DV.Grid.EVENT.STATE_LOADED, $.proxy(me._afterGridStateLoaded, me));\r\n grid.bind(WA.CMP.DV.Grid.EVENT.AFTER_DATA_LOADED, $.proxy(me._afterGridDataLoaded, me));\r\n grid.bind(WA.CMP.DV.Grid.EVENT.GRID_INIT, $.proxy(me._onGridInit, me));\r\n\r\n return {\r\n 'updateFooter': $.proxy(me._updateFooter_exported, me)\r\n }\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠžΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ события Π΄ΠΎ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹.\r\n *\r\n * @param {object} slickGrid Π’Π°Π±Π»ΠΈΡ†Π°\r\n * @since 5.2.0.1100\r\n * @method WebAccess.components.dataViews.gridPlugins.FooterPlugin#_onGridInit\r\n */\r\n _onGridInit: function (slickGrid) {\r\n var me = this;\r\n\r\n me.initPager().done(function () {\r\n\r\n // ОбновлСниС состояния ΠΊΠ½ΠΎΠΏΠΎΠΊ, Π² зависимости ΠΎΡ‚ количСства ΠΎΡΡ‚Π°Π²ΡˆΠΈΡ…ΡΡ записСй.\r\n me._grid.bind(WA.CMP.DV.Grid.EVENT.DATA_LOADED, function (index, recordsCount, records) {\r\n\r\n me.renderTemplates().done(function () {\r\n\r\n index = index || \"0\"\r\n index = +index;\r\n\r\n recordsCount = +recordsCount;\r\n\r\n if (recordsCount < me.pageSize && !me._grid.state.GroupColumns.length && index === 0) {\r\n me._setCountLabel(recordsCount);\r\n }\r\n\r\n me.pageIndex = index;\r\n\r\n if (index === 0 && recordsCount <= me.pageSize) {\r\n me._jPagerControls.navPanel.hide();\r\n } else {\r\n me._jPagerControls.navPanel.show();\r\n }\r\n\r\n if (index > 0) {\r\n // ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠ°Ρ вСрсия jQuery Π½Π΅ ΡƒΠΌΠ΅Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с css-классами элСмСнтов svg. ΠŸΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ΡΡ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ data-Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹.\r\n me._jPagerControls.prev.add(me._jPagerControls.first).attr('data-disabled', 'false');\r\n } else {\r\n me._jPagerControls.prev.add(me._jPagerControls.first).attr('data-disabled', 'true');\r\n }\r\n\r\n var recordsFrom = (index * me.pageSize) + 1;\r\n var recordsTo = (index + 1) * me.pageSize;\r\n\r\n if (!isNaN(recordsCount)) {\r\n // Если Ρ€Π΅Π°Π»ΡŒΠ½ΠΎ Π²Π΅Ρ€Π½ΡƒΠ»ΠΎΡΡŒ большС Ρ‡Π΅ΠΌ Π½ΡƒΠΆΠ½ΠΎ, Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ Ρƒ нас Π΅ΡΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ страница.\r\n if (recordsCount <= me.pageSize) {\r\n recordsTo = recordsFrom + recordsCount - 1;\r\n me._jPagerControls.next.add(me._jPagerControls.last).attr('data-disabled', 'true');\r\n } else {\r\n me._jPagerControls.next.add(me._jPagerControls.last).attr('data-disabled', 'false');\r\n }\r\n }\r\n\r\n var currentPageText = (recordsCount > 1) ? (recordsFrom + ' - ' + recordsTo) : (index + recordsCount);\r\n me._jPagerControls.currentPage.text(currentPageText);\r\n\r\n // Если Ρ€Π΅Π°Π»ΡŒΠ½ΠΎ Π²Π΅Ρ€Π½ΡƒΠ»ΠΎΡΡŒ большС Ρ‡Π΅ΠΌ Π½ΡƒΠΆΠ½ΠΎ, Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ Ρƒ нас Π΅ΡΡ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π°Ρ страница, Π° эту Π»ΠΈΡˆΠ½ΡƒΡŽ запись ΡƒΠ΄Π°Π»ΠΈΠΌ, Ρ‚.ΠΊ. ΠΎΠ½Π° загрузится Π½Π° слСд. страницС.\r\n if (recordsCount > me.pageSize) {\r\n // УдаляСм лишнюю строку.\r\n records.pop();\r\n }\r\n });\r\n });\r\n\r\n // ΠŸΠ΅Ρ€Π΅ΠΌΠΎΡ‚ΠΊΠ° ΠΊΠ²Π΅Ρ€Ρ…Ρƒ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ страницы.\r\n me._grid.bind(WA.CMP.DV.Grid.EVENT.PAGE_CHANGE, function () {\r\n me._grid.grid.scrollRowToTop(0);\r\n });\r\n\r\n });\r\n\r\n return me;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠžΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ события Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ состояния Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹.\r\n *\r\n * @param {object} slickGrid Π’Π°Π±Π»ΠΈΡ†Π°.\r\n * @since 5.2.0.1100\r\n * @method WebAccess.components.dataViews.gridPlugins.FooterPlugin#_onGridInit\r\n */\r\n _afterGridStateLoaded: function () {\r\n var me = this;\r\n\r\n // ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅ΠΌ Π½Π°Π΄ΠΎ Π»ΠΈ Π²ΠΎΡΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ Π½ΠΎΠΌΠ΅Ρ€ страницы.\r\n var gridId = me._grid.containerSelector; //Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ Π˜Π” Ρƒ нас Ρ‚ΡƒΡ‚ Π΅Ρ‰Π΅ Π½Π΅Ρ‚.\r\n var url = new WA.URL();\r\n var pageIndexSaved = $.parseJSON(decodeURIComponent(url.getParamInHash('pageIndexSaved')) || '[]');\r\n if (pageIndexSaved.indexOf(gridId) === -1) {\r\n // БбрасываСм состояниС страницы.\r\n WA.cache.setItem('grid.pageIndex.' + gridId, 0);\r\n // ДобавляСм Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ Π³Ρ€ΠΈΠ΄ Π² состояниС сохранСния Π½ΠΎΠΌΠ΅Ρ€Π° страницы Π³Ρ€ΠΈΠ΄Π°.\r\n pageIndexSaved.push(gridId);\r\n url.setParamInHash('pageIndexSaved', encodeURIComponent($.toJSON(pageIndexSaved)));\r\n window.location.href = url.asString();\r\n }\r\n\r\n // ВосстанавливаСм Π½ΠΎΠΌΠ΅Ρ€ страницы.\r\n me._grid.updateState({\r\n PageIndex: +WA.cache.getItem('grid.pageIndex.' + gridId) || 0\r\n });\r\n\r\n return me;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠžΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ события Π΄ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ….\r\n *\r\n * @param {object} slickGrid Π’Π°Π±Π»ΠΈΡ†Π°.\r\n * @since 5.2.0.1100\r\n * @method WebAccess.components.dataViews.gridPlugins.FooterPlugin#_onGridInit\r\n */\r\n _afterGridDataLoaded: function () {\r\n var me = this;\r\n\r\n // БохраняСм Π½ΠΎΠΌΠ΅Ρ€ страницы для ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π³ΠΎ восставновлСния ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅ страницы Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°.\r\n var gridId = me._grid.containerSelector;\r\n WA.cache.setItem('grid.pageIndex.' + gridId, me._grid.state.PageIndex);\r\n\r\n return me;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΡƒΠ±Π»ΠΈΡ‡Π½Π°Ρ функция для обновлСния ΠΏΠ°Π³ΠΈΠ½Π°Ρ‚ΠΎΡ€Π°.\r\n * @param {object} slickGrid Π³Ρ€ΠΈΠ΄\r\n * @since 5.2.0.1100\r\n * @method WebAccess.components.dataViews.gridPlugins.FooterPlugin#_updateFooter_exported\r\n */\r\n _updateFooter_exported: function () {\r\n this.renderTemplates();\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π’ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ.\r\n *\r\n * @since 5.2.0.1100\r\n * @param {String} containerSelector Π‘Π»ΠΎΠΊ, содСрТащий Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ.\r\n * @method WebAccess.components.dataViews.gridPlugins.FooterPlugin#initPager\r\n * @return {WebAccess.components.dataViews.gridPlugins.FooterPlugin} FooterPlugin Навигация ΠΌΠ΅ΠΆΠ΄Ρƒ страницами Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹.\r\n */\r\n initPager: function () {\r\n var me = this;\r\n var jGridContainer = $(me._grid.containerSelector);\r\n\r\n if (me._grid.state.PageIndex) me.pageIndex = +me._grid.state.PageIndex;\r\n if (me._grid.state.Take) me.pageSize = +me._grid.state.Take;\r\n me._jPager = $('
    ');\r\n jGridContainer.append(me._jPager);\r\n\r\n return me.renderTemplates();\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π“Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ ΠΈΠ· шаблона.\r\n *\r\n * @since 5.2.0.1100\r\n * @method WebAccess.components.dataViews.gridPlugins.FooterPlugin#renderTemplates\r\n * @return {WebAccess.components.dataViews.gridPlugins.FooterPlugin} FooterPlugin Навигация ΠΌΠ΅ΠΆΠ΄Ρƒ страницами Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹.\r\n */\r\n renderTemplates: function () {\r\n var me = this;\r\n var state = me._grid.state;\r\n\r\n var selectOn = function (limit) {\r\n if (limit == me.pageSize) return 'selected=\"selected\"';\r\n };\r\n\r\n var partials = {\r\n left: \"referenceRecords/status.html\",\r\n center: \"referenceRecords/filters.html\",\r\n right: \"referenceRecords/paginator.html\"\r\n }\r\n\r\n var currentFilter = state.CurrentFilter || { 'Name': '', 'DisplayValue': '', 'DisplayHint': '', 'isEnabled': false }\r\n var currentRecordsRange = (me.pageIndex * me.pageSize) > 0 ? ((me.pageIndex * me.pageSize) + 1) + ' - ' + ((me.pageIndex + 1) * me.pageSize) : '1 - ' + me.pageSize;\r\n var filterName = $.trim(currentFilter.Name);\r\n\r\n var data = WA.TMPL.prepare({\r\n ID: 'reference_footer',\r\n 'class': 'dxgvPagerBottomPanel',\r\n HasFilterExpression: (currentFilter.DisplayValue !== ''),\r\n CurrentFilterName: filterName.trunc(50),\r\n CurrentFilterNameHint: filterName,\r\n FilterExpression: currentFilter.DisplayValue,\r\n FilterHint: currentFilter.DisplayHint,\r\n IsFilterEnabled: currentFilter.IsEnabled,\r\n CurrentRecordsRange: currentRecordsRange,\r\n CurrentPage: me.pageIndex + 1,\r\n PageIndex: me.pageIndex,\r\n Options: [\r\n { Name: 15, Selected: selectOn(15) },\r\n { Name: 25, Selected: selectOn(25) },\r\n { Name: 50, Selected: selectOn(50) },\r\n { Name: 100, Selected: selectOn(100) }\r\n ],\r\n FirstDisabled: false,\r\n PrevDisabled: false,\r\n NextDisabled: false,\r\n LastDisabled: false\r\n });\r\n\r\n\r\n return WA.TMPL.render('layouts/3Columns.html', data, false, false, partials).done(function (pager) {\r\n\r\n me._jPager.html(pager);\r\n\r\n me._grid.grid.setOptions({\r\n showPagerRow: true,\r\n pagerRowHeight: me._jPager.outerHeight()\r\n });\r\n\r\n me._grid.grid.resizeViewport();\r\n\r\n me._bindEvents();\r\n me._initCounter();\r\n });\r\n\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ событий\r\n * @since 5.2.0.1100\r\n * @private\r\n * @method WebAccess.components.dataViews.gridPlugins.FooterPlugin#_bindEvents\r\n * @return {WebAccess.components.dataViews.gridPlugins.FooterPlugin} FooterPlugin\r\n */\r\n _bindEvents: function () {\r\n var me = this;\r\n me._jPagerControls = {\r\n resetFilterState: $('.resetFilterState', me._jPager),\r\n changeFilterState: $('.changeFilterState', me._jPager),\r\n navPanel: $('.grid-paginator', me._jPager),\r\n next: $('#gridNextPage', me._jPager),\r\n prev: $('#gridPrevPage', me._jPager),\r\n first: $('#gridFirstPage', me._jPager),\r\n last: $('#gridLastPage', me._jPager),\r\n pageSize: $('.gridChangePageSize', me._jPager),\r\n currentPage: $('.gridCurrentPage', me._jPager)\r\n };\r\n\r\n me._bindFilterEvents();\r\n me._bindPagerEvents();\r\n\r\n return me;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n // ΠΠ°Π²Π΅ΡˆΠΈΠ²Π°Π΅Ρ‚ элСмСнты управлСния Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠΌ.\r\n _bindFilterEvents: function () {\r\n var me = this;\r\n\r\n // ΠžΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€.\r\n me._jPagerControls.resetFilterState.click(function () {\r\n window.Filters.resetFilter();\r\n });\r\n\r\n // Π’ΠΊΠ»/Π’Ρ‹ΠΊΠ» Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°\r\n me._jPagerControls.changeFilterState.click(function () {\r\n window.Filters.changeFilterState($(this).is(':checked'));\r\n });\r\n\r\n return me;\r\n },\r\n\r\n // ΠΠ°Π²Π΅ΡˆΠΈΠ²Π°Π΅Ρ‚ события Π½Π° ΠΏΠ°Π³ΠΈΠ½Π°Ρ‚ΠΎΡ€.\r\n _bindPagerEvents: function () {\r\n var me = this;\r\n\r\n var isDisabled = function (el) {\r\n el = $(el);\r\n // ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΠ°Ρ вСрсия jQuery Π½Π΅ ΡƒΠΌΠ΅Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с css-классами элСмСнтов svg. ΠŸΡ€ΠΈΡ…ΠΎΠ΄ΠΈΡ‚ΡΡ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ data-Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹.\r\n if (el.attr('data-disabled') === 'true') return true;\r\n return false;\r\n };\r\n\r\n var afterClick = function (el) {\r\n el = $(el);\r\n el.attr('data-disabled', 'true');\r\n\r\n me._getData().done(function () {\r\n me._grid.fire(WA.CMP.DV.Grid.EVENT.PAGE_CHANGE, me.pageIndex);\r\n el.attr('data-disabled', 'false');\r\n });\r\n };\r\n\r\n me._jPagerControls.next.click(function () {\r\n if (isDisabled(this)) return;\r\n me.pageIndex += 1;\r\n afterClick(this);\r\n });\r\n\r\n me._jPagerControls.prev.click(function () {\r\n if (isDisabled(this)) return;\r\n me.pageIndex -= 1;\r\n if (me.pageIndex < 0) me.index = 0;\r\n afterClick(this);\r\n });\r\n\r\n me._jPagerControls.first.click(function () {\r\n if (isDisabled(this)) return;\r\n me.pageIndex = 0;\r\n afterClick(this);\r\n });\r\n\r\n me._jPagerControls.last.click(function () {\r\n if (isDisabled(this)) return;\r\n me.pageIndex = -1;\r\n afterClick(this);\r\n });\r\n\r\n me._jPagerControls.pageSize.change(function () {\r\n var prevPageLimit = me.pageSize;\r\n var prevPageIndex = me.pageIndex;\r\n\r\n me.pageSize = $(this).val();\r\n me.pageIndex = 0;\r\n afterClick(this);\r\n me._grid.fire(WA.CMP.DV.Grid.EVENT.PAGE_LIMIT_CHANGE, me.pageSize);\r\n });\r\n\r\n return me;\r\n },\r\n\r\n /**\r\n * ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ события наТатия Π½Π° ΠΊΠΎΠ»-Π²ΠΎ записСй\r\n * @since 5.2.0.1100\r\n * @private\r\n * @method WebAccess.components.dataViews.gridPlugins.FooterPlugin#_initCounter\r\n * @return {WebAccess.components.dataViews.gridPlugins.FooterPlugin} FooterPlugin\r\n */\r\n _initCounter: function () {\r\n var me = this;\r\n $('.RowCount', me.jPager)\r\n .html(L(\"RECORDS_TOTAL_LINK\"))\r\n .addClass('dashed')\r\n .attr(\"title\", L(\"SHOW_EXACT_RECORDS_COUNT\"))\r\n .one('click', $.proxy(me._toggleRecordCountDisplayMode, me)); //добавляСм Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ получСния Ρ‚ΠΎΡ‡Π½ΠΎΠ³ΠΎ количСства записСй\r\n return me;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π˜Π·ΠΌΠ΅Π½ΡΠ΅Ρ‚ \"ВсСго записСй\" Π½Π° Ρ€Π΅Π°Π»ΡŒΠ½ΠΎΠ΅ количСство.\r\n * @since 5.2.0.1100\r\n * @private\r\n * @method WebAccess.components.dataViews.gridPlugins.FooterPlugin#_initCounter\r\n * @return {WebAccess.components.dataViews.gridPlugins.FooterPlugin} FooterPlugin\r\n */\r\n _toggleRecordCountDisplayMode: function () {\r\n var me = this;\r\n var jRowCount = $('.RowCount', me.jPager).removeClass('dashed');\r\n\r\n var spinner = $('.counterSpinner', me.jPager);\r\n var spinnerShowDelay = setTimeout(function () {\r\n jRowCount.hide();\r\n spinner.show();\r\n }, 300);\r\n\r\n var filter = me._grid.state.GlobalPageFilter || '';\r\n var currentFilter = me._grid.state.CurrentFilter;\r\n if (currentFilter) {\r\n if (currentFilter.IsEnabled) {\r\n if (!filter) {\r\n filter = currentFilter.Expression;\r\n } else {\r\n if (currentFilter.Expression !== '') {\r\n filter = '(' + filter + ') & (' + currentFilter.Expression + ')';\r\n }\r\n }\r\n }\r\n }\r\n\r\n me._grid._dataSource.totalCount(filter, me._grid.state.GlobalPageFilterLikeQuery).done(function (res) {\r\n clearTimeout(spinnerShowDelay);\r\n spinner.hide();\r\n // МСняСм Π½Π° Ρ‚ΠΎΡ‡Π½ΠΎΠ΅\r\n me._setCountLabel(res);\r\n });\r\n return me;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n _setCountLabel: function (total) {\r\n var me = this;\r\n var jRowCount = $('.RowCount', me.jPager).removeClass('dashed');\r\n\r\n jRowCount\r\n .html(L(\"RECORDS_TOTAL\", total))\r\n .attr(\"title\", L(\"EXACT_RECORDS_COUNT\"))\r\n .show();\r\n },\r\n\r\n /**\r\n * ΠžΡ‚ΠΏΡ€Π°Π²ΠΊΠ° запроса Π½Π° ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ страницы ΠΈ ΠΊΠΎΠ»-Π²Π° записСй\r\n * @private\r\n * @method getData\r\n */\r\n _getData: function () {\r\n var me = this;\r\n var loadOptions = {\r\n PageIndex: me.pageIndex,\r\n Take: me.pageSize\r\n };\r\n return me._grid.reloadData(loadOptions);\r\n }\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n });\r\n\r\n})(WA.components.dataViews.gridPlugins);\r\n","(function checkboxPlugin(global) {\r\n \"use strict\";\r\n\r\n /**\r\n * Плагин для ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ с Ρ„Π»Π°ΠΆΠΊΠΎΠΌ.\r\n *\r\n * @class WebAccess.components.dataViews.gridPlugins.CheckboxPlugin\r\n * @extends WebAccess.Plugin\r\n * @property {string} name Имя ΠΏΠ»Π°Π³ΠΈΠ½Π°. \r\n * @since 5.2.0.1100\r\n */\r\n global.CheckboxPlugin = WA.Plugin.extend({ \r\n name: 'CheckboxPlugin',\r\n\r\n // Π“Ρ€ΠΈΠ΄. \r\n _grid: null,\r\n // Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹ΠΉ ΠΏΠ»Π°Π³ΠΈΠ½ для чСкбоксов.\r\n _checkboxSelector: null,\r\n\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * РСгистрируСт ΠΏΠ»Π°Π³ΠΈΠ½.\r\n *\r\n * @method WebAccess.components.dataViews.gridPlugins.CheckboxPlugin#register\r\n * @param {WebAccess.components.dataViews.Grid} Π’Π°Π±Π»ΠΈΡ†Π°\r\n * @since 5.2.0.1100\r\n * @return {object} Ассоциативный массив, содСрТащий ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹. \r\n */\r\n register: function (grid) {\r\n var me = this;\r\n me._grid = grid;\r\n \r\n\r\n me._checkboxSelector = new Slick.CheckboxSelectColumn({\r\n columnId: '_Checkbox',\r\n cssClass: 'slick-cell-checkboxsel',\r\n toolTip: L('SELECT_ALL'),\r\n headerCssClass: 'centered notDraggable',\r\n width: 30\r\n });\r\n\r\n me._grid.bind(WA.CMP.DV.Grid.EVENT.BEFORE_GRID_INIT, $.proxy(me._onGridBeforeInit, me));\r\n me._grid.bind(WA.CMP.DV.Grid.EVENT.GRID_INIT, $.proxy(me._onGridInit, me));\r\n return {};\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π₯эндлСр события Π΄ΠΎ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π³Ρ€ΠΈΠ΄Π°.\r\n * @method WebAccess.components.dataViews.gridPlugins.CheckboxPlugin#_onGridBeforeInit\r\n * @param {string} containerSelector сСлСктор ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° для Π³Ρ€ΠΈΠ΄Π°.\r\n * @param {Object} dataView прСдставлСниС Π΄Π°Π½Π½Ρ‹Ρ….\r\n * @param {Object} columns описания всСх ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ.\r\n * @param {Object} settings настройки Π³Ρ€ΠΈΠ΄Π°.\r\n * @private\r\n * @since 5.2.0.1100\r\n */\r\n _onGridBeforeInit: function (containerSelector, dataView, columns, settings) { \r\n var me = this;\r\n var checkboxColumndDef = this._checkboxSelector.getColumnDefinition();\r\n var column = _.findWhere(columns, { id: checkboxColumndDef.id });\r\n $.extend(column, checkboxColumndDef);\r\n \r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ события ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π³Ρ€ΠΈΠ΄Π°.\r\n * @method WebAccess.components.dataViews.gridPlugins.CheckboxPlugin#_onGridInit\r\n * @private\r\n * @since 5.2.0.1100\r\n */\r\n _onGridInit: function () {\r\n var me = this;\r\n this._grid.grid.setSelectionModel(new Slick.RowSelectionModel({ selectActiveRow: false }));\r\n this._grid.grid.registerPlugin(this._checkboxSelector);\r\n\r\n this._grid.dataView.syncGridSelection(me._grid.grid, true);\r\n\r\n // Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ objectList.\r\n me._grid.grid.onSelectedRowsChanged.subscribe(function (e, args) { \r\n me._grid.fire(WA.CMP.DV.Grid.EVENT.SELECTED_ROWS_CHANGED);\r\n });\r\n\r\n // ΠŸΠΎΠΌΠ΅Ρ‚ΠΊΠ° Π³Π°Π»ΠΎΡ‡ΠΊΠΎΠΉ строки ΠΏΠΎ ΠΊΠ»ΠΈΠΊΡƒ Π½Π° свободноС мСсто.\r\n me._grid.grid.onClick.subscribe(function (e, args) {\r\n \r\n // Для строк Π±Π΅Π· Π΄Π°Π½Π½Ρ‹Ρ… Π½Π΅ выдСляСм.\r\n if (me._grid.dataView.getItem(args.row).__nonDataRow) return; \r\n\r\n me._grid.grid.getSelectionModel().selectOnClickEvent(e, true);\r\n // Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌ событиС измСнСния checkbox-Π° для Ρ€Π°Π±ΠΎΡ‚Ρ‹ клиСнтской ОМ\r\n var el = $(e.target).parents('.List:first').find(\"input.chk\");\r\n el.trigger('itemChecked', []);\r\n });\r\n }\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n });\r\n\r\n})(WA.components.dataViews.gridPlugins);","(function contextMenuPlugin(global) {\r\n \"use strict\";\r\n\r\n /**\r\n * Плагин для контСкстного мСню Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹.\r\n *\r\n * @class WebAccess.components.dataViews.gridPlugins.ContextMenuPlugin\r\n * @extends WebAccess.Plugin\r\n * @param {Object} options Настройки контСкстного мСню\r\n * @property {string} name Имя ΠΏΠ»Π°Π³ΠΈΠ½Π°\r\n * @since 5.2.0.1100\r\n */\r\n global.ContextMenuPlugin = WA.Plugin.extend({ \r\n name: 'ContextMenuPlugin',\r\n\r\n // Настройки.\r\n _contextMenuOptions: {},\r\n _customMenuClass: null,\r\n _contextMenu: null, \r\n _grid: null,\r\n _form: null,\r\n \r\n init: function (args, opt_form) {\r\n var me = this;\r\n this._super();\r\n if (opt_form) me._form = opt_form;\r\n if (!args.from) {\r\n this._customMenuClass = args;\r\n } else {\r\n this._contextMenuOptions = args;\r\n }\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * РСгистрируСт ΠΏΠ»Π°Π³ΠΈΠ½.\r\n *\r\n * @method WebAccess.components.dataViews.gridPlugins.ContextMenuPlugin#register\r\n * @param {WebAccess.components.dataViews.Grid} grid Π’Π°Π±Π»ΠΈΡ†Π°\r\n * @since 5.2.0.1100\r\n * @return {object} Ассоциативный массив, содСрТащий ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹.\r\n */\r\n register: function (grid) {\r\n var me = this;\r\n me._grid = grid;\r\n\r\n return {\r\n 'openContextMenu': $.proxy(me._openContextMenu_exported, me)\r\n };\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ контСкстного мСню.\r\n * @method WebAccess.components.dataViews.gridPlugins.ContextMenuPlugin#_openContextMenu_exported\r\n * @private\r\n * @param {HTMLElement} el Π­Π»Π΅ΠΌΠ΅Π½Ρ‚, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π²Ρ‹Π·Π²Π°Π»ΠΈ контСкстноС мСню\r\n * @param {Event} ev Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅\r\n * @since 5.2.0.1100\r\n */\r\n _openContextMenu_exported: function (el, ev) {\r\n var me = this;\r\n\r\n var x = ev.pageX || ev.clientX;\r\n var y = ev.pageY || ev.clientY;\r\n\r\n if (this._contextMenuOptions.from) {\r\n me._openLegacyContextMenu(x,y,ev,el);\r\n } else {\r\n me._openBaseContextMenu(x,y,ev);\r\n }\r\n\r\n // ΠŸΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‰Π°Π΅ΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ стандратного контСкстного мСню Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°\r\n if (ev.preventDefault) ev.preventDefault();\r\n ev.cancelBubble = true;\r\n return false;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ контСкстного ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±Ρ‹Π» Ρ€Π°Π½ΡŒΡˆΠ΅, Π² pages.js\r\n * @method WebAccess.components.dataViews.gridPlugins.ContextMenuPlugin#_openLegacyContextMenu\r\n * @private\r\n * @param {integer} x-ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π°\r\n * @param {integer} y-ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π°\r\n * @param {Event} ev Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅.\r\n * @since 5.2.0.1100\r\n */\r\n _openLegacyContextMenu: function (x, y, ev, el) {\r\n var me = this;\r\n var jEl = $(el);\r\n jEl.attr('name', 'MenuIcon');\r\n ShowContextMenu(jEl, this._contextMenuOptions, (ev ? { 'left': x, 'top': y } : {}));\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ контСкстного мСню с использованиСм ΠšΠ»ΠΈΠ΅Π½Ρ‚ΡΠΊΠΎΠΉ ОМ\r\n * @method WebAccess.components.dataViews.gridPlugins.ContextMenuPlugin#_openBaseContextMenu\r\n * @private\r\n * @param {integer} x-ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π°\r\n * @param {integer} y-ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π°\r\n * @param {Event} ev Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅.\r\n * @since 5.2.0.1100\r\n */\r\n _openBaseContextMenu: function (x, y, ev) {\r\n var me = this;\r\n WA.Init.done(function () {\r\n me._customMenuClass.setGrid(me._grid);\r\n me._customMenuClass.setForm(me._form);\r\n me._contextMenu = new WA.CMP.menus.BaseContextMenu('body', me._customMenuClass.generateItems(ev), {\r\n 'onShow': function () {\r\n me._removeMenuSelectCssClassAndReturnClickedRow(ev).addClass('menu_select');\r\n },\r\n 'onHide': function () {\r\n me._removeMenuSelectCssClassAndReturnClickedRow(ev);\r\n }\r\n });\r\n me._contextMenu.showAt(x, y, ev);\r\n me._customMenuClass.bindActionsToMenuItems(me._contextMenu, ev, me._grid);\r\n });\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * УдаляСт CSS-класс menu_select со всСх строк Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π°Π΅Ρ‚ Ρ‚Ρƒ строку, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΊΠ»ΠΈΠΊΠ½ΡƒΠ»ΠΈ.\r\n * @method WebAccess.components.dataViews.gridPlugins.ContextMenuPlugin#_removeMenuSelectCssClassAndReturnClickedRow\r\n * @private\r\n * @param {Event} ev Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅.\r\n * @since 5.2.0.1300\r\n */\r\n _removeMenuSelectCssClassAndReturnClickedRow: function (ev) {\r\n var target = ev.target || ev.srcElement;\r\n var jRow = $(target).parents('div.slick-row');\r\n jRow.parent().children('.menu_select').removeClass('menu_select');\r\n return jRow;\r\n }\r\n\r\n });\r\n\r\n})(WA.components.dataViews.gridPlugins);","(function columnResizePlugin(global) {\r\n \"use strict\";\r\n\r\n /**\r\n * Плагин для измСнСния ΡˆΠΈΡ€ΠΈΠ½Ρ‹ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹.\r\n *\r\n * @class WebAccess.components.dataViews.gridPlugins.ColumnResizePlugin\r\n * @extends WebAccess.Plugin\r\n * @property {string} name Имя ΠΏΠ»Π°Π³ΠΈΠ½Π°\r\n * @since 5.2.0.1100\r\n */\r\n global.ColumnResizePlugin = WA.Plugin.extend({\r\n name: 'ColumnResizePlugin',\r\n\r\n // Π“Ρ€ΠΈΠ΄. \r\n _grid: null,\r\n // Настройки.\r\n _settings: null,\r\n\r\n init: function (settings) {\r\n this._super();\r\n this._settings = $.extend({}, settings);\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * РСгистрируСт ΠΏΠ»Π°Π³ΠΈΠ½.\r\n *\r\n * @method WebAccess.components.dataViews.gridPlugins.ColumnResizePlugin#register\r\n * @param {WebAccess.components.dataViews.Grid} Π’Π°Π±Π»ΠΈΡ†Π°\r\n * @since 5.2.0.1100\r\n * @return {object} Ассоциативный массив, содСрТащий ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹.\r\n */\r\n register: function (grid) {\r\n var me = this;\r\n me._grid = grid;\r\n\r\n me._grid.bind(WA.CMP.DV.Grid.EVENT.COLUMN_INIT, $.proxy(me._onColumnInit, me));\r\n //me._grid.bind(WA.CMP.DV.Grid.EVENT.BEFORE_GRID_INIT, $.proxy(me._onGridBeforeInit, me));\r\n me._grid.bind(WA.CMP.DV.Grid.EVENT.GRID_INIT, $.proxy(me._onGridInit, me));\r\n me._grid.bind(WA.CMP.DV.Grid.EVENT.AFTER_DATA_LOADED, $.proxy(me._onAfterGridDataLoaded, me));\r\n\r\n // ΠžΡ‚ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ Π½Π°Π΄ΠΎ для ΠΏΠ»Π°Π½ΡˆΠ΅Ρ‚ΠΎΠ² ΠΈ Ссли Π±ΡƒΠ΄ΡƒΡ‚ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ ячСйки.\r\n if (!me._settings['disableOnResizeBinding']) {\r\n $(window).on(\"resizeEnd\", $.proxy(me._onWindowsResize, me));\r\n }\r\n\r\n return {\r\n 'autoAdjustColumnWidth': $.proxy(me._autoAdjustColumnWidth_exported, me)\r\n };\r\n },\r\n\r\n /**\r\n * Π”Π΅Π»Π°Π΅ΠΌ всС ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Ρ€Π°ΡΡ‚ΡΠ³ΠΈΠ²Π°Π±Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ\r\n * @method WebAccess.components.dataViews.gridPlugins.CheckboxPlugin#_onColumnInit\r\n * @param {object} byref_column ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°\r\n * @private\r\n * @since 5.2.0.1100\r\n */\r\n _onColumnInit: function (byref_column) {\r\n var me = this;\r\n var isSpecialColumn = (byref_column.id.charAt(0) === '_');\r\n byref_column.resizable = !isSpecialColumn;\r\n\r\n if (me._grid.state && me._grid.state['ColumnsWidth'] && me._grid.state['ColumnsWidth'][byref_column.id] > 0) {\r\n byref_column.width = me._grid.state['ColumnsWidth'][byref_column.id];\r\n }\r\n },\r\n\r\n /**\r\n * Π₯эндлСр события ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π³Ρ€ΠΈΠ΄Π°.\r\n * @method WebAccess.components.dataViews.gridPlugins.ColumnResizePlugin#_onGridInit\r\n * @private\r\n * @since 5.2.0.1100\r\n */\r\n _onGridInit: function () {\r\n var me = this;\r\n\r\n // Если ColumnsWidth пустой ΠΈΠ»ΠΈ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹ΠΌΠΈ значСниями Π·Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Π΅Π³ΠΎ ΠΏΡ€ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π³Ρ€ΠΈΠ΄Π°,\r\n // это Π½ΡƒΠΆΠ½ΠΎ для ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠΉ Π²Ρ‹Π³Ρ€ΡƒΠ·ΠΊΠΈ записСй справочника Π² СксСль.\r\n if (me._columnsWidthIsEmpty())\r\n me._saveColumnWidthState(me._grid.state.IsColumnsAutoWidthEnabled);\r\n\r\n me._grid.grid.onColumnsResized.subscribe(function () {\r\n me._saveColumnWidthState(me._grid.state.IsColumnsAutoWidthEnabled);\r\n });\r\n },\r\n\r\n /**\r\n * Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΏΡ€ΠΈΠ·Π½Π°ΠΊ пустоты ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Core.grid.reference.state.ColumnsWidth\r\n * @returns {bool}\r\n * @private\r\n * @since 5.2.0.2005-beta\r\n */\r\n _columnsWidthIsEmpty: function () {\r\n var result = false;\r\n var columnsWidth = this._grid.state['ColumnsWidth'];\r\n\r\n if (jQuery.isEmptyObject(columnsWidth)) {\r\n result = true;\r\n } else {\r\n $.each(columnsWidth, function (key, value) {\r\n // ΠŸΡ€ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ справочника ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ пустой, Π° ΠΏΡ€ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ всСх ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ -1.\r\n if (value === -1) {\r\n result = true;\r\n return false;\r\n }\r\n });\r\n }\r\n\r\n return result;\r\n },\r\n\r\n /**\r\n * Π₯эндлСр события \"ПослС Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ…\".\r\n * @method WebAccess.components.dataViews.gridPlugins.ColumnResizePlugin#_onAfterGridDataLoaded\r\n * @private\r\n * @since 5.2.0.1100\r\n */\r\n _onAfterGridDataLoaded: function () {\r\n if (this._grid.state.IsColumnsAutoWidthEnabled === true) {\r\n this._autoAdjustColumnWidth_exported(true);\r\n }\r\n },\r\n\r\n /**\r\n * Π₯эндлСр события \"ИзмСнСниС Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΎΠΊΠ½Π° Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°\".\r\n * @method WebAccess.components.dataViews.gridPlugins.ColumnResizePlugin#_onWindowsResize\r\n * @private\r\n * @since 5.2.0.1100\r\n */\r\n _onWindowsResize: function () {\r\n this._grid.grid.resizeCanvas();\r\n this._onAfterGridDataLoaded.call(this);\r\n },\r\n\r\n /**\r\n * Автоподбор ΡˆΠΈΡ€ΠΈΠ½Ρ‹ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ.\r\n * @method WebAccess.components.dataViews.gridPlugins.ColumnResizePlugin#_autoAdjustColumnWidth_exported\r\n * @param {boolean} isEnabled Π’ΠΊΠ»ΡŽΡ‡Π΅Π½ Π»ΠΈ Π°Π²Ρ‚ΠΎΠΏΠΎΠ΄Π±ΠΎΡ€ ΡˆΠΈΡ€ΠΈΠ½Ρ‹ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ.\r\n * @private\r\n * @since 5.2.0.1100\r\n */\r\n _autoAdjustColumnWidth_exported: function (isEnabled) {\r\n var me = this;\r\n\r\n // Π§Ρ‚ΠΎ Π±Ρ‹ нСльзя Π±Ρ‹Π»ΠΎ ΠΏΡ€ΠΈ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ Ρ€Π°ΡΡ‚ΡΠ½ΡƒΡ‚ΡŒ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Ρ‹ Π²ΠΈΠ΄ΠΈΠΌΠΎΠΉ области.\r\n me._grid.grid.setOptions({\r\n forceFitColumns: isEnabled\r\n });\r\n\r\n if (isEnabled) {\r\n //Если Π²ΠΊΠ»ΡŽΡ‡ΠΈΠ»ΠΈ, Ρ‚ΠΎ отрСсайзим ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ. \r\n me._grid.grid.autosizeColumns();\r\n }\r\n\r\n me._saveColumnWidthState(isEnabled);\r\n },\r\n\r\n /**\r\n * Π‘ΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΡ… Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ Π² состоянии Π³Ρ€ΠΈΠ΄Π°.\r\n * @method WebAccess.components.dataViews.gridPlugins.ColumnResizePlugin#_saveColumnWidthState\r\n * @param {boolean} IsColumnsAutoWidthEnabled Π’ΠΊΠ»ΡŽΡ‡Π΅Π½ Π»ΠΈ Π°Π²Ρ‚ΠΎΠΏΠΎΠ΄Π±ΠΎΡ€ ΡˆΠΈΡ€ΠΈΠ½Ρ‹ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ\r\n * @private\r\n * @since 5.2.0.1100\r\n */\r\n _saveColumnWidthState: function (IsColumnsAutoWidthEnabled) {\r\n var me = this;\r\n var columnsWidth = {};\r\n var columns = me._grid.grid.getColumns();\r\n for (var i = 0; i < columns.length; i++) {\r\n // \"~~\" опСрация Π΄Π²ΠΎΠΉΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ±ΠΈΡ‚ΠΎΠ²ΠΎΠ³ΠΎ NOT.\r\n // Π˜ΡΠΏΠΎΠ»ΡŒΠ·Π΅Ρ‚ΡΡ ΠΊΠ°ΠΊ Π±ΠΎΠ»Π΅Π΅ быстрая рСализация Math.floor().\r\n // floor() ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для округлСния числа Π² ΠΌΠ΅Π½ΡŒΡˆΡƒΡŽ сторону.\r\n columnsWidth[columns[i].id] = ~~columns[i].width;\r\n }\r\n\r\n // Обновим состояниС (сохраним Π² ΠΏΡ€ΠΎΡ„ΠΈΠ»ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ).\r\n me._grid.updateState({\r\n IsColumnsAutoWidthEnabled: IsColumnsAutoWidthEnabled,\r\n ColumnsWidth: columnsWidth\r\n }, true);\r\n }\r\n });\r\n\r\n})(WA.components.dataViews.gridPlugins);","(function filteringPlugin(global) {\r\n \"use strict\";\r\n\r\n var SELECT_LIST_PAGE_SIZE = 50;\r\n var SPECIAL_VALUE = global._controls.selectList.SPECIAL_VALUE;\r\n var DATE_SPECIAL_VALUE = global._controls.selectList.DATE_SPECIAL_VALUE;\r\n\r\n /**\r\n * Плагин для Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π° Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹.\r\n *\r\n * @class WebAccess.components.dataViews.gridPlugins.FilteringPlugin\r\n * @extends WebAccess.Plugin\r\n * @param {WebAccess.dataViews.grid.BaseDataProvider} selectListDataProvider Класс, ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ Π΄Π°Π½Π½Ρ‹Π΅ для ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ selectList\r\n * @property {string} name Имя ΠΏΠ»Π°Π³ΠΈΠ½Π°\r\n * @property {integer} groupDisplayLimit Максимальная Π΄Π»ΠΈΠ½Π° ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠ³ΠΎ значСния Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π° ΠΏΠΎ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ΅\r\n * @property {WebAccess.dataViews.grid.BaseDataProvider} selectListDataProvider Класс, ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ Π΄Π°Π½Π½Ρ‹Π΅ для ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ selectList\r\n * @since 5.2.0.1100\r\n */\r\n var FilteringPlugin = global.FilteringPlugin = WA.Plugin.extend({\r\n\r\n name: 'FilteringPlugin',\r\n groupDisplayLimit: 40,\r\n selectListDataProvider: null,\r\n\r\n _grid: null,\r\n _controls: [],\r\n _selectListContainerSelector: '.selectList',\r\n _popupSelector: '.selectListPopup',\r\n _slickHeaderSelector: '.slick-headerrow',\r\n _dataPickerInputSelector: '.dateField',\r\n _datePickerSelector: '.ui-datepicker',\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n init: function (selectListDataProvider) {\r\n var me = this;\r\n me._super();\r\n me._controls = [];\r\n if (!!selectListDataProvider) me.selectListDataProvider = selectListDataProvider;\r\n else WA.raise('SELECT_LIST_DATA_PROVIDER_IS_REQUIRED');\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * РСгистрируСт ΠΏΠ»Π°Π³ΠΈΠ½.\r\n *\r\n * @method WebAccess.components.dataViews.gridPlugins.FilteringPlugin#register\r\n * @param {WebAccess.components.dataViews.Grid} grid Π’Π°Π±Π»ΠΈΡ†Π°\r\n * @since 5.2.0.1100\r\n * @return {object} Ассоциативный массив, содСрТащий ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹.\r\n */\r\n register: function (grid) {\r\n var me = this;\r\n me._grid = grid;\r\n me._grid.bind(WA.CMP.DV.Grid.EVENT.GRID_INIT, WA.TCD($.proxy(me._onGridInit, me)));\r\n return {\r\n toggleFiltering: me._toggleFiltersArea_exported,\r\n updateFilter: $.proxy(me._updateFilter_exported, me),\r\n getFillingRequisites: $.proxy(me._getFillingRequisites, me)\r\n };\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Показ/скрытиС облсти Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ\r\n * @method WebAccess.components.dataViews.gridPlugins.FilteringPlugin#_toggleFiltersArea_exported\r\n * @private\r\n * @this {grid}\r\n * @since 5.2.0.1100\r\n */\r\n _toggleFiltersArea_exported: function (needToEnable) {\r\n var me = this;\r\n log.debug('GRID', 'Toggling filter area: ' + needToEnable);\r\n\r\n var jArea = $(me._slickHeaderSelector, me._selectListContainerSelector);\r\n\r\n if (needToEnable) {\r\n jArea.show();\r\n me.grid.setHeaderRowVisibility(true);\r\n me.grid.resizeViewport();\r\n me.updateState({ IsFilterPanelVisible: true }, true);\r\n } else {\r\n jArea.hide();\r\n me.grid.setHeaderRowVisibility(false);\r\n me.grid.resizeViewport();\r\n me.updateState({ IsFilterPanelVisible: false }, true);\r\n }\r\n return me;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ события ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π³Ρ€ΠΈΠ΄Π°.\r\n * @method WebAccess.components.dataViews.gridPlugins.FilteringPlugin#_onGridInit\r\n * @private\r\n * @return {WebAccess.components.dataViews.gridPlugins.FilteringPlugin}\r\n * @since 5.2.0.1100\r\n */\r\n _onGridInit: function () {\r\n var me = this;\r\n var columnFilters = {};\r\n\r\n var CF = me._grid.state.CurrentFilter;\r\n me._updateFilterExpression()\r\n\r\n me._grid.updateState({ CurrentFilter: CF });\r\n (!!me._grid.updateFooter) && me._grid.updateFooter();\r\n\r\n me._grid.toggleFiltering(me._grid.state.IsFilterPanelVisible);\r\n\r\n // Π—Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ всСх Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΡ… списоков всСх ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΎΠ².\r\n $(document).mouseup(function (e) {\r\n var container = $(me._popupSelector).add(me._datePickerSelector).add(me._dataPickerInputSelector);\r\n if (!container.is(e.target) && container.has(e.target).length === 0 && e.target != $('html').get(0)) {\r\n _(me._controls).each(function (control) {\r\n var jTarget = $(e.target);\r\n if (!!jTarget.attr(\"id\")) {\r\n if (jTarget.attr(\"id\") !== control.instanceID) control.close();\r\n } else {\r\n control.close();\r\n }\r\n });\r\n }\r\n });\r\n\r\n //ΠŸΡ€ΠΈ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ, ΠΎΠ±Π½ΠΎΠ²ΠΈΠΌ Ρƒ всСх ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΎΠ² Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ\r\n //Π£ Ρ‚ΠΎΠ³ΠΎ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π° ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ ΠΈΠ΄Π΅Ρ‚ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡ, Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π²Ρ‹ΠΏΠΈΠ»ΠΈΠΌ\r\n me.bind(FilteringPlugin.EVENT.FILTER_UPDATE, function (filter, expression) {\r\n _(me._controls).each(function (control) {\r\n control.state.expression = me._getColumnExpression(filter, control.state.column.id);\r\n });\r\n });\r\n\r\n me._grid.grid.onHeaderRowCellRendered.subscribe($.proxy(me.renderControl, me));\r\n return me;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π‘ΠΎΠ·Π΄Π°Π΅Ρ‚ ΠΏΠΎΠ»Π΅ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ.\r\n *\r\n * @method WebAccess.components.dataViews.gridPlugins.FilteringPlugin#renderControls\r\n * @since 5.2.0.1100\r\n * @return {WebAccess.components.dataViews.gridPlugins.FilteringPlugin}\r\n */\r\n renderControl: function (event, data) {\r\n var me = this;\r\n var closeOtherControls = function (control) {\r\n _(_(me._controls).filter(function (c) {\r\n return control.instanceID !== c.instanceID\r\n })).each(function (c) {\r\n c.close();\r\n });\r\n }\r\n\r\n var column = data.column;\r\n var grid = data.grid;\r\n var container = data.node;\r\n var columnFilters = me._grid.state.CurrentFilter.ColumnsFilter;\r\n switch (column.type) {\r\n case 'Integer':\r\n case 'LargeInteger':\r\n case 'Float':\r\n case 'String':\r\n case 'Pick':\r\n case 'Document':\r\n case 'Reference':\r\n var SelectList = global._controls.selectList.SelectListControl;\r\n var columnFilter = (!!columnFilters) ? columnFilters[column.id] : null;\r\n\r\n var like = (columnFilter) ? columnFilter.Like : '';\r\n var selectedRecords = (!!columnFilter && columnFilter.Type == 'In') ? columnFilter.In : [];\r\n var notSelectedRecords = (!!columnFilter && columnFilter.Type == 'Exclude') ? columnFilter.In : [];\r\n var invertedMode = !!notSelectedRecords.length;\r\n\r\n var selectList = new SelectList(container, new me.selectListDataProvider(me._grid.settings.selectListDataProviderSettings), {\r\n column: column,\r\n requisiteName: column.id,\r\n take: SELECT_LIST_PAGE_SIZE,\r\n skip: 0,\r\n page: 0,\r\n expression: me._getColumnExpression(columnFilters, column.id),\r\n like: like,\r\n selectedRecords: selectedRecords, //CREVIEW Π¨Π°ΠΌΠΎΠ² А.: НазваниС selectedRecords большС относится ΠΊ справочнику, ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠ΅ΠΌ Π² selectedItems? //ΠΏΠΎΠ·Π΄Π½ΠΎ ΡƒΠΆΠ΅ это ΠΌΠ΅Π½ΡΡ‚ΡŒ\r\n notSelectedRecords: notSelectedRecords,\r\n invertedMode: invertedMode,\r\n plugins: [new global._controls.selectList.SpecialValuesPlugin()]\r\n });\r\n\r\n //Π‘ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ всС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Π΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Ρ‹, ΠΊΠΎΠ³Π΄Π° Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚\r\n selectList.bind(SelectList.EVENT.BEFORE_LIST_OPEN, $.proxy(closeOtherControls, me));\r\n selectList.bind(SelectList.EVENT.VALUE_CHANGED, function (value) { me._updateStateAndReloadData(column, value); });\r\n me._controls.push(selectList);\r\n break;\r\n\r\n case 'Date':\r\n var SelectList = global._controls.selectList.SelectListControl;\r\n var columnFilter = (!!columnFilters) ? columnFilters[column.id] : null;\r\n\r\n var like = (columnFilter) ? columnFilter.Like : '';\r\n var selectedRecords = (!!columnFilter && columnFilter.Type == 'In') ? columnFilter.In : [];\r\n var notSelectedRecords = (!!columnFilter && columnFilter.Type == 'Exclude') ? columnFilter.In : [];\r\n var invertedMode = !!notSelectedRecords.length;\r\n\r\n var selectList = new SelectList(container, new me.selectListDataProvider(me._grid.settings.selectListDataProviderSettings), {\r\n column: column,\r\n requisiteName: column.id,\r\n take: SELECT_LIST_PAGE_SIZE,\r\n skip: 0,\r\n page: 0,\r\n expression: me._getColumnExpression(columnFilters, column.id),\r\n like: like,\r\n selectedRecords: selectedRecords, //CREVIEW Π¨Π°ΠΌΠΎΠ² А.: НазваниС selectedRecords большС относится ΠΊ справочнику, ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠ΅Ρ€Π΅ΠΈΠΌΠ΅Π½ΡƒΠ΅ΠΌ Π² selectedItems? //ΠΏΠΎΠ·Π΄Π½ΠΎ ΡƒΠΆΠ΅ это ΠΌΠ΅Π½ΡΡ‚ΡŒ\r\n notSelectedRecords: notSelectedRecords,\r\n invertedMode: invertedMode,\r\n plugins: [\r\n new global._controls.selectList.DateValuesPlugin(),\r\n new global._controls.selectList.SpecialValuesPlugin()\r\n ]\r\n });\r\n\r\n //Π‘ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ всС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Π΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Ρ‹, ΠΊΠΎΠ³Π΄Π° Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚\r\n selectList.bind(SelectList.EVENT.BEFORE_LIST_OPEN, $.proxy(closeOtherControls, me));\r\n selectList.bind(SelectList.EVENT.VALUE_CHANGED, function (value) { me._updateStateAndReloadData(column, value); });\r\n me._controls.push(selectList);\r\n\r\n break;\r\n case 'Empty':\r\n $(container).append('

    ');\r\n break;\r\n default:\r\n $.noop();\r\n }\r\n return me;\r\n },\r\n\r\n /**\r\n * ОбновлСниС Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ Π³Ρ€ΠΈΠ΄Π° ΠΏΡ€ΠΈ смСнС значСния Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ· ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΎΠ²\r\n * @method WebAccess.components.dataViews.gridPlugins.FilteringPlugin#_updateStateAndReloadData\r\n * @private\r\n * @return {WebAccess.components.dataViews.gridPlugins.FilteringPlugin}\r\n * @since 5.2.0.1100\r\n */\r\n _updateStateAndReloadData: function (column, value) {\r\n var me = this;\r\n log.debug('GRID', 'Updating filter');\r\n\r\n var CF = me._grid.state.CurrentFilter;\r\n var isPrevAutoFilter = (CF.ID == '0');\r\n var isPrevEmptyFilter = (CF.ID == '-1');\r\n\r\n CF.ColumnsFilter[column.id] = value;\r\n me._updateFilterExpression();\r\n\r\n CF.IsNeedSave = true;\r\n // Если Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π° большС Π½Π΅Ρ‚, Ρ‚ΠΎ сбросим Π΅Π³ΠΎ совсСм.\r\n if (CF.Expression === '') {\r\n $.extend(CF, {\r\n ID: '-1',\r\n Name: '',\r\n ColumnsFilter: {}\r\n });\r\n\r\n // Π£Π΄Π°Π»ΠΈΠΌ Π°Π²Ρ‚ΠΎΡ„ΠΈΠ»ΡŒΡ‚Ρ€.\r\n delete me._grid.state.SavedFilters['0'];\r\n\r\n if (Filters && Filters.resetFilter) Filters.resetFilter();\r\n } else {\r\n CF.ID = '0';\r\n if (!CF.Name || !isPrevAutoFilter) {\r\n CF.Name = me._getAutoFilterName();\r\n }\r\n\r\n // Обновим ΠΈΠ»ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ имя автосохранСнного Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π° Π² список сохранСнных.\r\n me._grid.state.SavedFilters[CF.ID] = CF.Name;\r\n\r\n // Π’ΠΊΠ»ΡŽΡ‡ΠΈΠΌ Π½ΠΎΠ²Ρ‹ΠΉ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€, Π΄Π°ΠΆΠ΅ Ссли ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΉ Π±Ρ‹Π» Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½.\r\n CF.IsEnabled = true;\r\n }\r\n\r\n //ОбновляСм контСкстноС мСню Π² Π»Π΅Π½Ρ‚Π΅.\r\n if (Filters && Filters.setupFiltersState) Filters.setupFiltersState();\r\n\r\n me._grid.updateState({\r\n CurrentFilter: CF,\r\n PageIndex: 0\r\n });\r\n\r\n me.fire(FilteringPlugin.EVENT.FILTER_UPDATE, CF.ColumnsFilter, CF.Expression);\r\n\r\n if (!!me._grid.updateFooter) me._grid.updateFooter();\r\n\r\n // Π‘Π±Ρ€ΠΎΡΠΈΡ‚ΡŒ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅\r\n me._grid.grid.setSelectedRows([]);\r\n\r\n me._grid.reloadData();\r\n return me;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ОбновлСниС выраТСния Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ ΠΈ состояниС ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΎΠ².\r\n * @method WebAccess.components.dataViews.gridPlugins.FilteringPlugin#_updateFilter_exported\r\n * @private\r\n * @return {WebAccess.components.dataViews.gridPlugins.FilteringPlugin}\r\n * @since 5.2.0.1100\r\n */\r\n _updateFilter_exported: function () {\r\n var me = this;\r\n me._updateFilterExpression();\r\n me._updateControlsState();\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ОбновлСния выраТСняи Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ.\r\n * @method WebAccess.components.dataViews.gridPlugins.FilteringPlugin#_updateFilterExpression\r\n * @private\r\n * @return {WebAccess.components.dataViews.gridPlugins.FilteringPlugin}\r\n * @since 5.2.0.1100\r\n */\r\n _updateFilterExpression: function () {\r\n var me = this;\r\n var CF = me._grid.state.CurrentFilter;\r\n $.extend(CF, {\r\n ColumnsFilter: me._removeDeniedColumns(CF.ColumnsFilter),\r\n Expression: me._convertToSBRSE(CF.ColumnsFilter),\r\n DisplayValue: me._convertToHumanRedableText(CF.ColumnsFilter, true),\r\n DisplayHint: me._convertToHumanRedableText(CF.ColumnsFilter)\r\n });\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π£Π΄Π°Π»ΠΈΡ‚ΡŒ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ ΠΈΠ· Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π° Ссли Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡ ΠΏΠΎ Π½ΠΈΠΌ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π°\r\n * @method WebAccess.components.dataViews.gridPlugins.FilteringPlugin#_removeDeniedColumns\r\n * @private\r\n * @since 5.2.0.1100\r\n * @see #98783\r\n */\r\n _removeDeniedColumns: function (filter) {\r\n var me = this;\r\n var allColumnsIds = _(me._grid._columns).pluck('id');\r\n _(filter).each(function (f, name) {\r\n if (allColumnsIds.indexOf(name) === -1) {\r\n delete filter[name];\r\n }\r\n });\r\n return filter;\r\n },\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ имя \"Π°Π²Ρ‚ΠΎΡ„ΠΈΠ»ΡŒΡ‚Ρ€Π°\"\r\n * @method WebAccess.components.dataViews.gridPlugins.FilteringPlugin#_updateStateAndReloadData\r\n * @private\r\n * @return {String}\r\n * @since 5.2.0.1100\r\n */\r\n _getAutoFilterName: function () {\r\n var filters = this._grid.state.SavedFilters;\r\n var maxFilterID = _(_(_(filters).keys()).map(function (k) {\r\n return +k; // ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅ΠΌ Π² число, Ρ‡Ρ‚ΠΎ Π±Ρ‹ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ max.\r\n })).max();\r\n return L('AUTO_FILTER_LABEL') + ' ' + Math.max(maxFilterID + 1, 1); //Если Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ² Π½Π΅Ρ‚, Ρ‚ΠΎ max Π²Π΅Ρ€Π½Π΅Ρ‚ -Infinity, Π° имя Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π° сдСлаСм с Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ 1.\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π° Π² Ρ‡Π΅Π»ΠΎΠ²Π΅ΠΊΠΎ-Ρ‡ΠΈΡ‚Π°Π΅ΠΌΡƒΡŽ строку для Ρ„ΡƒΡ‚Π΅Ρ€Π°\r\n * @method WebAccess.components.dataViews.gridPlugins.FilteringPlugin#_convertToHumanRedableText\r\n * @private\r\n * @return {WebAccess.components.dataViews.gridPlugins.FilteringPlugin}\r\n * @since 5.2.0.1100\r\n */\r\n _convertToHumanRedableText: function (filter, needTrunc) {\r\n var me = this;\r\n needTrunc = !!needTrunc;\r\n\r\n var expression = _(filter).map(function (reqFilter, requsiteName) {\r\n var expression = '';\r\n\r\n var column = _(me._grid._columns).find(function (col) {\r\n return col.id == requsiteName;\r\n });\r\n\r\n var columnName = column.name;\r\n\r\n switch (reqFilter.Type) {\r\n case 'Exclude':\r\n expression = _(reqFilter.In).map(function (record) {\r\n if (record.Type && record.Type === SPECIAL_VALUE.BLANK) return columnName + wrapWith.space(L('NOT')) + L('CHOICE_BLANK');\r\n if (record.Type && record.Type === SPECIAL_VALUE.NOBLANK) return columnName + wrapWith.space(L('NOT')) + L('CHOICE_NONBLANK');\r\n return columnName + wrapWith.space(L('NOT')) + $.trim(record.DisplayValue);\r\n }).join(wrapWith.space(L('FILTER_OR')));\r\n break;\r\n\r\n case 'In':\r\n expression = _(reqFilter.In).map(function (record) {\r\n if (record.Type && record.Type === SPECIAL_VALUE.BLANK) return columnName + wrapWith.space('=') + L('CHOICE_BLANK');\r\n if (record.Type && record.Type === SPECIAL_VALUE.NOBLANK) return columnName + wrapWith.space('=') + L('CHOICE_NONBLANK');\r\n return columnName + wrapWith.space('=') + $.trim(record.DisplayValue);\r\n }).join(wrapWith.space(L('FILTER_OR')));\r\n break;\r\n case 'Like':\r\n if (reqFilter.Like) expression = columnName + wrapWith.space(L('FILTER_CONTAINS')) + reqFilter.Like;\r\n break;\r\n case 'Equal':\r\n if (column.type === 'Date') {\r\n if (!!reqFilter.Equal) {\r\n var d = Date.fromISO(reqFilter.Equal);\r\n if (!isNaN(d.getTime())) {\r\n //Π€ΠΎΡ€ΠΌΠ°Ρ‚ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π·Π°Π²ΠΈΡΠΈΡ‚ΡŒ ΠΎΡ‚ языка Π²Π΅Π±-доступа.\r\n var formatFunc = (column.dateType === 'DateTime' ? formatDateTime : formatDate);\r\n expression = columnName + wrapWith.space('=') + formatFunc(d);\r\n }\r\n }\r\n } else {\r\n if (reqFilter.Equal) {\r\n expression = columnName + wrapWith.space('=') + reqFilter.Equal;\r\n }\r\n }\r\n break;\r\n }\r\n\r\n expression = needTrunc ? expression.trunc(me.groupDisplayLimit) : expression;\r\n if (!!expression) expression = wrapWith.group(expression);\r\n return expression;\r\n });\r\n\r\n expression = _(expression).compact().join(wrapWith.space(L('FILTER_AND')));\r\n return expression;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π° Π² строку-Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ SBRSE;\r\n * @method WebAccess.components.dataViews.gridPlugins.FilteringPlugin#_convertToHumanRedableText\r\n * @private\r\n * @return {WebAccess.components.dataViews.gridPlugins.FilteringPlugin}\r\n * @since 5.2.0.1100\r\n */\r\n _convertToSBRSE: function (filter) {\r\n var me = this;\r\n\r\n var expression = _(filter).map(function (reqFilter, requsiteName) {\r\n var expression = null;\r\n\r\n var column = _(me._grid._columns).find(function (col) {\r\n return col.id == requsiteName;\r\n });\r\n\r\n var getDateFilter = function (record, mode) {\r\n if (record.Type && record.Type === DATE_SPECIAL_VALUE.YESTERDAY) {\r\n var yesterday = new Date();\r\n yesterday.setDate(yesterday.getDate() - 1);\r\n return expression = me._makeOneDayDateExpression(requsiteName, yesterday);\r\n }\r\n\r\n if (record.Type && record.Type === DATE_SPECIAL_VALUE.TODAY) return expression = me._makeOneDayDateExpression(requsiteName, new Date());\r\n if (record.Type && record.Type === DATE_SPECIAL_VALUE.TOMORROW) {\r\n var tomorrow = new Date();\r\n tomorrow.setDate(tomorrow.getDate() + 1);\r\n return expression = me._makeOneDayDateExpression(requsiteName, tomorrow);\r\n }\r\n\r\n if (record.Type && record.Type === DATE_SPECIAL_VALUE.THIS_WEEK) {\r\n var curr = new Date();\r\n var day = curr.getDay()\r\n firstDay = new Date(curr.getFullYear(), curr.getMonth(), curr.getDate() + (day == 0 ? -6 : 1) - day);\r\n lastDay = new Date(curr.getFullYear(), curr.getMonth(), curr.getDate() + (day == 0 ? 0 : 7) - day);\r\n return expression = me._makeDateBetweenExpression(requsiteName, firstDay, lastDay);\r\n }\r\n\r\n if (record.Type && record.Type === DATE_SPECIAL_VALUE.THIS_MONTH) {\r\n var curr = new Date();\r\n var firstDay = new Date(curr.getFullYear(), curr.getMonth(), 1);\r\n var lastDay = new Date(curr.getFullYear(), curr.getMonth() + 1, 0);\r\n return expression = me._makeDateBetweenExpression(requsiteName, firstDay, lastDay);\r\n }\r\n\r\n if (record.Type && record.Type === DATE_SPECIAL_VALUE.THIS_YEAR) {\r\n var curr = new Date();\r\n var firstDay = new Date(curr.getFullYear(), 0, 1);\r\n var lastDay = new Date(curr.getFullYear(), 11, 31);\r\n return expression = me._makeDateBetweenExpression(requsiteName, firstDay, lastDay);\r\n }\r\n }\r\n\r\n switch (reqFilter.Type) {\r\n case 'Exclude':\r\n if (!reqFilter.In.length) return null;\r\n expression = '!' + wrapWith.group(_(reqFilter.In).map(function (record) {\r\n if (record.Type && record.Type === SPECIAL_VALUE.BLANK) return wrapWith.block(requsiteName) + ' = NULL';\r\n if (record.Type && record.Type === SPECIAL_VALUE.NOBLANK) return wrapWith.block(requsiteName) + ' != NULL';\r\n\r\n var dateFilter = getDateFilter(record);\r\n if (dateFilter) return dateFilter;\r\n\r\n var operand = (column.type === \"String\" ? 'matches' : '=');\r\n return wrapWith.block(requsiteName) + ' ' + operand + ' \"' + record.Value + '\"';\r\n }).join(' | '));\r\n break;\r\n\r\n case 'In':\r\n expression = _(reqFilter.In).map(function (record) {\r\n if (record.Type && record.Type === SPECIAL_VALUE.BLANK) return wrapWith.block(requsiteName) + ' = NULL';\r\n if (record.Type && record.Type === SPECIAL_VALUE.NOBLANK) return wrapWith.block(requsiteName) + ' != NULL';\r\n\r\n var dateFilter = getDateFilter(record);\r\n if (dateFilter) return dateFilter;\r\n\r\n if (column.type === 'Date') {\r\n var likeExpr = me._makeDateTimeLikeExpression(requsiteName, record.Value, column.dateType);\r\n if (!!likeExpr) expression = likeExpr;\r\n return expression;\r\n }\r\n\r\n var operand = (column.type === \"String\" ? 'matches' : '=');\r\n return wrapWith.block(requsiteName) + ' ' + operand + ' \"' + record.Value + '\"';\r\n }).join(' | ');\r\n break;\r\n\r\n case 'Like':\r\n // Like Π΄ΠΎΠ»ΠΆΠ΅Π½ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ ΠΏΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠΌΡƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ, Π° для справочника ΠΈ ΠΏΡ€ΠΈΠ·Π½Π°ΠΊΠ° ΠΎΠ½ хранится Π²Π΄Ρ€ΡƒΠ³ΠΎΠΌ мСстС.\r\n var value = reqFilter.Like.replaceAll('%', '[%]').replaceAll('\"', '\\\\\"');\r\n\r\n var displayValueFieldName = requsiteName;\r\n switch (column.type) {\r\n case 'Reference':\r\n case 'Document':\r\n case 'Pick':\r\n displayValueFieldName = column.field;\r\n break;\r\n case 'Float':\r\n value = value.replaceAll(',', '.');\r\n break;\r\n }\r\n if (reqFilter.Like) expression = wrapWith.block(displayValueFieldName) + ' like \"%' + value + '%\"';\r\n\r\n if (column.type === 'Date' && !!reqFilter.Like) {\r\n var likeExpr = me._makeDateLikeExpression(requsiteName, reqFilter.Like, column.dateType);\r\n if (!!likeExpr) expression = likeExpr;\r\n }\r\n break;\r\n case 'Equal':\r\n if (column.type === 'Date' && !!reqFilter.Equal) {\r\n // Для совмСстимости со старыми Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°ΠΌΠΈ.\r\n var d = Date.fromISO(reqFilter.Equal);\r\n if (!isNaN(d.getTime())) {\r\n var likeExpr = me._makeDateTimeLikeExpression(requsiteName, d, column.dateType);\r\n if (!!likeExpr) expression = likeExpr;\r\n }\r\n } else {\r\n if (reqFilter.Equal) {\r\n expression = wrapWith.block(requsiteName) + ' = ' + reqFilter.Equal;\r\n }\r\n }\r\n break;\r\n }\r\n\r\n return wrapWith.group(expression);\r\n })\r\n\r\n expression = _(expression).compact().join(' & ');\r\n return expression;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n \r\n /**\r\n * Π€ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅Ρ‚ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ для like ΠΏΠΎ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Π΄Π°Ρ‚Π΅ ΠΈΠ»ΠΈ Π΄Π°Ρ‚Π΅ со Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ.\r\n *\r\n * @method WebAccess.components.dataViews.gridPlugins.FilteringPlugin#_makeDateTimeLikeExpression\r\n * @param {string} requsiteName Имя Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°.\r\n * @param {string} likeValue Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ для Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ.\r\n * @param {string} dateType Π’ΠΈΠΏ Π΄Π°Ρ‚Ρ‹.\r\n * @private\r\n * @return {string} Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ.\r\n */\r\n _makeDateTimeLikeExpression(requsiteName, likeValue, dateType) { \r\n const dateValue = (typeof likeValue === 'string') ? parseDateTime(likeValue) : likeValue;\r\n\r\n if (this._isDateTimeCorrect(dateValue)) {\r\n if (dateType === 'DateTime') {\r\n const fromDate = formatDateTime(dateValue, 'dd.mm.yy hh:mm:00', false);\r\n const toDate = formatDateTime(new Date(dateValue.getTime() + 60000), 'dd.mm.yy hh:mm:00'); //+1 ΠΌΠΈΠ½. \r\n return `(${wrapWith.block(requsiteName)} >= #${fromDate}# & ${wrapWith.block(requsiteName)} < #${toDate}#)`;\r\n } else {\r\n return this._makeOneDayDateExpression(requsiteName, dateValue);\r\n }\r\n }\r\n return '';\r\n },\r\n \r\n /**\r\n * Π€ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅Ρ‚ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ для like ΠΏΠΎ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Π΄Π°Ρ‚Π΅.\r\n *\r\n * @method WebAccess.components.dataViews.gridPlugins.FilteringPlugin#_makeDateLikeExpression\r\n * @param {string} requsiteName Имя Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°.\r\n * @param {string} likeValue Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ для Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ. \r\n * @private\r\n * @return {string} Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ.\r\n */\r\n _makeDateLikeExpression(requsiteName, likeValue) { \r\n const dateValue = (typeof likeValue === 'string') ? parseDateTime(likeValue) : likeValue;\r\n if (this._isDateTimeCorrect(dateValue)) {\r\n return this._makeOneDayDateExpression(requsiteName, dateValue);\r\n }\r\n return ''; \r\n },\r\n \r\n /**\r\n * ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅Ρ‚ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΡΡ‚ΡŒ Π΄Π°Ρ‚Ρ‹.\r\n *\r\n * @method WebAccess.components.dataViews.gridPlugins.FilteringPlugin#_isDateTimeCorrect\r\n * @param {object} dateValue Π”Π°Ρ‚Π°.\r\n * @private\r\n * @return {boolean} TRUE, Ссли Π΄Π°Ρ‚Π° коррСктная, ΠΈΠ½Π°Ρ‡Π΅ - FALSE.\r\n */\r\n _isDateTimeCorrect(dateValue) { \r\n return dateValue && dateValue.getFullYear() < 10000 && !isNaN(dateValue.getTime());\r\n },\r\n \r\n // Π€ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅Ρ‚ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠΎ Π΄Π°Ρ‚Π΅ Π·Π° ΠΎΠ΄ΠΈΠ½ дСнь.\r\n _makeOneDayDateExpression: function (requsiteName, d) {\r\n return this._makeDateBetweenExpression(requsiteName, d, d);\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n // Π€ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅Ρ‚ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ ΠΏΠΎ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π»Ρƒ Π΄Π°Ρ‚.\r\n _makeDateBetweenExpression: function (requsiteName, d, d2) {\r\n var expression = '(' + wrapWith.block(requsiteName) + ' >= #' + formatDate(d, 'dd.mm.yy') + ' 00:00:00# & ';\r\n expression += wrapWith.block(requsiteName) + ' < #' + formatDate(new Date(d2.getTime() + 24 * 3600000), 'dd.mm.yy') + ' 00:00:00#)';\r\n return expression;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n _getColumnExpression: function (filter, columnId) {\r\n var me = this;\r\n var currentFilter = _(filter).clone();\r\n delete currentFilter[columnId];\r\n var currentFilterExpr = me._convertToSBRSE(currentFilter);\r\n\r\n var GF = me._grid.state.GlobalPageFilter;\r\n if (GF) {\r\n if (currentFilterExpr) {\r\n return '(' + GF + ') & (' + currentFilterExpr + ')';\r\n } else {\r\n return GF;\r\n }\r\n } else {\r\n return currentFilterExpr;\r\n }\r\n },\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ для заполнСния Π½ΠΎΠ²ΠΎΠΉ записи\r\n * @method WebAccess.components.dataViews.gridPlugins.FilteringPlugin#_getFillingRequisites\r\n * @private\r\n */\r\n _getFillingRequisites: function () {\r\n var me = this;\r\n var requisites = {};\r\n var value;\r\n _(me._controls).each(function (control) {\r\n var requsiteName = control.state.requisiteName;\r\n\r\n var column = _(me._grid._columns).find(function (col) {\r\n return col.id == requsiteName;\r\n });\r\n\r\n\r\n if (control.className === 'SelectListControl') {\r\n value = control.getValue();\r\n\r\n if (value.Type === 'In') {\r\n var record = value.In[0];\r\n\r\n if (!record) return;\r\n\r\n var today = new Date();\r\n\r\n switch (record.Value) {\r\n case SPECIAL_VALUE.BLANK:\r\n case SPECIAL_VALUE.NOBLANK:\r\n case SPECIAL_VALUE.ALL:\r\n return\r\n break\r\n case DATE_SPECIAL_VALUE.YESTERDAY:\r\n today.setDate(today.getDate() - 1);\r\n requisites[requsiteName] = formatDateTime(today);\r\n return\r\n break\r\n case DATE_SPECIAL_VALUE.TODAY:\r\n requisites[requsiteName] = formatDateTime(today);\r\n return\r\n break\r\n case DATE_SPECIAL_VALUE.TOMORROW:\r\n today.setDate(today.getDate() + 1);\r\n requisites[requsiteName] = formatDateTime(today);\r\n return\r\n }\r\n\r\n\r\n switch (column.type) {\r\n case 'String':\r\n requisites[requsiteName] = record.DisplayValue\r\n break;\r\n case 'Date':\r\n var d = parseDateTime(record.Value);\r\n if (!d) return;\r\n if (d.getFullYear() > 9999) return;\r\n\r\n requisites[requsiteName] = formatDateTime(d);\r\n break;\r\n default:\r\n requisites[requsiteName] = record.Value;\r\n }\r\n }\r\n\r\n if (value.Type === 'Equal' || value.Type === 'Like') {\r\n if (column.type === 'Date') {\r\n var date = value.Equal || value.Like;\r\n\r\n var d = parseDateTime(\"\" + date);\r\n if (!d) return;\r\n if (d.getFullYear() > 9999) return;\r\n requisites[requsiteName] = formatDateTime(d);\r\n }\r\n }\r\n\r\n };\r\n });\r\n return $.toJSON(requisites);\r\n },\r\n\r\n _updateControlsState: function () {\r\n var me = this;\r\n var CF = me._grid.state.CurrentFilter;\r\n var columnFilters = CF.ColumnsFilter;\r\n _(me._controls).each(function (c) {\r\n var column = c.state.column;\r\n switch (c.className) {\r\n case 'SelectListControl':\r\n\r\n var columnFilter = (!!columnFilters) ? columnFilters[column.id] : null;\r\n\r\n var like = (columnFilter) ? columnFilter.Like : '';\r\n var selectedRecords = (!!columnFilter && columnFilter.Type == 'In') ? columnFilter.In : [];\r\n var notSelectedRecords = (!!columnFilter && columnFilter.Type == 'Exclude') ? columnFilter.In : [];\r\n var invertedMode = !!notSelectedRecords.length;\r\n\r\n c.updateState({\r\n skip: 0,\r\n page: 0,\r\n expression: me._getColumnExpression(columnFilters, column.id),\r\n like: like,\r\n notSelectedRecords: notSelectedRecords,\r\n invertedMode: invertedMode,\r\n selectedRecords: selectedRecords\r\n });\r\n break;\r\n case 'DateControl':\r\n var equalValue = (columnFilters && columnFilters[column.id]) ? columnFilters[column.id].Equal : '';\r\n c.updateState({\r\n value: equalValue\r\n });\r\n break;\r\n }\r\n });\r\n }\r\n\r\n }, {\r\n EVENT: {\r\n FILTER_UPDATE: 'filterUpdate'\r\n }\r\n });\r\n\r\n /**\r\n * ΠžΠ±ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Π½ΠΈΠ΅ строки Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Π΅ скобки\r\n * @inner\r\n */\r\n var wrapWith = {\r\n group: function (str) {\r\n if (!str) return str;\r\n return '(' + str + ')';\r\n },\r\n block: function (str) {\r\n if (!str) return str;\r\n return '[' + str + ']';\r\n },\r\n space: function (str) {\r\n if (!str) return str;\r\n return ' ' + str + ' ';\r\n }\r\n }\r\n\r\n})(WA.components.dataViews.gridPlugins);\r\n","(function DetailsContextMenuLambda(global) {\n\n /*\n * ΠŸΡƒΠ½ΠΊΡ‚ мСню \n */\n var ITEM = {\r\n ADD: 1,\n COPY: 2,\n DELETE: 3\r\n };\n\n /*\n * Имя Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° \"НомСр строки\" \n */\n var ROW_NUMBER = {\r\n VALUE: L('DETAIL_REQ_NUMBER'),\n DISPLAY_VALUE: 'Field_' + L('DETAIL_REQ_NUMBER')\r\n };\n\n /**\n * ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚Π½ΠΎΠ΅ мСню для Π³Ρ€ΠΈΠ΄Π°\n * @class Core.grid.DetailsContextMenu\n * @extends BaseObject\n */\n global.DetailsContextMenu = BaseObject.extend({\r\n _sectionNumber: null,\n _grid: null,\n _form: null,\n _clickedCell: 1,\n _clickedInContextMenu: false, //Ρ‡Ρ‚ΠΎ Π±Ρ‹ событиС addRow ΠΈ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ ячСйки срабатывало Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ Π²Ρ‹Π·ΠΎΠ²Π΅ контСкстного мСню.\n\n init: function (dfmName) {\r\n var me = this;\n me._dfmName = dfmName;\n\n me._clickedCell = 1;\n me._clickedInContextMenu = false;\r\n\n },\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\n\n setGrid: function (grid) {\r\n this._grid = grid;\r\n },\n\n setForm: function (form) {\r\n this._form = form;\r\n },\n\n /**\n * Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ настроСк для ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠ² мСню\n * @method Core.grid.DetailsContextMenu#generateItems\n */\n generateItems: function (event) {\r\n var me = this;\n var rowId = me._getRowIdFromEvent(event);\n var isTableDisabled = this._grid._table.isDisabled();\n\n var item = function (id, label, icon, opt_disabled) {\r\n return {\r\n \"name\": id,\n \"label\": L(label),\n \"icon\": icon,\n \"bottomSeparator\": false,\n \"disabled\": false || opt_disabled\r\n }\r\n };\n return [\n item(ITEM.ADD, 'ADD', 'cardCreate-16', !me._canAddNewRow() || isTableDisabled),\n item(ITEM.COPY, 'COPY', 'cardCopy-16', !rowId || !me._canCopyRow(rowId) || isTableDisabled),\n item(ITEM.DELETE, 'DELETE', 'delete-16', !rowId || isTableDisabled)\n ]\r\n },\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\n\n /**\n * ΠΠ°Π²Π΅ΡΠΈΡ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΊΠΈ Π½Π° мСню ΠΈ ΡΠ²Π·ΡΠ°Ρ‚ΡŒ ΠΈΡ… с Π³Ρ€ΠΈΠ΄ΠΎΠΌ\n * @method Core.grid.DetailsContextMenu#generateSettings\n */\n bindActionsToMenuItems: function (menu, ev, grid) {\r\n var me = this;\n me._grid = grid;\n\n me._clickedCell = me._getCellNumberFromEvent(ev);\n me._clickedInContextMenu = true;\n\n var table = me._grid._table;\n \n //Π”ΠΎ добавлСния Π½ΠΎΠ²ΠΎΠΉ строки Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌ сохранСниС Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ значСния Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅, Ρ‡Ρ‚ΠΎ Π±Ρ‹ ΠΎΠ½ΠΎ ΡƒΡˆΠ»ΠΎ Π² datasource ΠΈ ΠΏΠΎΡ‚ΠΎΠΌ ΡΠΎΡ…Ρ€Π°Π½ΠΈΠ»ΠΎΡΡŒ Π² Π‘Π” (Π·Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅ β„–103950).\n table.bind(table.class.EVENT.BEFORE_ROW_ADDED, () => {\r\n const grid = table._grid;\n const editor = grid.grid.getCellEditor();\n if (!!editor) {\r\n editor.commit();\r\n } \r\n });\n\n //TODO Π¨Π°ΠΌΠΎΠ² А.: ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ, Ρ‚.ΠΊ. Ρ‚ΠΎΡ‡Π½ΠΎ Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ΅ Π΅ΡΡ‚ΡŒ Π² EditPlugin.js.\n table.bind('addRow', function (row) {\r\n if (me._clickedInContextMenu) {\r\n log.info('DETAILGRID', 'addRow in DetailsContextMenu');\n var grid = table._grid; \n setTimeout(function () {\n // Π‘ΠΌΠ΅Ρ‰Π°Π΅ΠΌ фокус Π½Π° Π½ΠΎΠ²ΡƒΡŽ строку Π² Ρ‚Ρƒ ΠΆΠ΅ ячСйку Ρ‡Ρ‚ΠΎ ΠΈ Π½Π° ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ (Π·Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅ β„–103371).\n grid.grid.setActiveCell(grid.grid.getDataLength() - 1, me._clickedCell);\n grid.grid.editActiveCell(); \n me._clickedInContextMenu = false;\r\n }, 100);\r\n }\r\n });\n\n menu.bind('itemSelect', function (item, menu, event) {\r\n var rowId = me._getRowIdFromEvent(event);\n\n switch (item.name) {\r\n case ITEM.ADD:\n me.addRow();\n break\n case ITEM.COPY:\n if (!rowId) return;\n me.copyRow(rowId);\n break\n case ITEM.DELETE:\n if (!rowId) return;\n me.deleteRow(rowId);\n break\r\n }\r\n });\r\n },\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\n\n /**\n * Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠΉ строки \n * @method Core.grid.DetailsContextMenu#addRow \n */\n addRow: function () {\r\n if (this._canAddNewRow()) {\r\n this._grid._table.addRow();\r\n }\r\n },\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\n\n /** \n * ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ строки. \n * @method Core.grid.DetailsContextMenu#copyRow \n * @param {integer} rowId ΠΈΠ΄ строки\n */\n copyRow: function (id) {\r\n var me = this;\n var row, rows, reqArray;\n\n var currTable = me._grid._table;\n var detailNum = currTable.detailNum;\n var tablesArr = me._form.details[detailNum].getTables().toArray(); //FIXME: Π₯Π·, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Ρ‚ΡŒ\n\n // Π‘Π½Π°Ρ‡Π°Π»Π° удаляСм ΠΏΡƒΡΡ‚ΡƒΡŽ строку, Ссли ΠΎΠ½Π° Π΅ΡΡ‚ΡŒ.\n var rowsArr = currTable.rows.toArray();\n for (var i = 0; i < rowsArr.length; i++) {\r\n row = rowsArr[i];\n if (row.isNew() && !row.isChanged()) {\r\n row.remove();\r\n }\r\n }\n\n // ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ с CanGUIRead = true. Если Ρ‚Π°ΠΊΠΈΠ΅ ΠΈΠΌΠ΅ΡŽΡ‚ΡΡ, Ρ‚ΠΎ Π² Π½ΠΈΡ… содСрТатся\n // \"*\", Π° Π½Π΅ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅\n var currentTableColumns = currTable.columns;\n var hasColumnWithDisabledGuiChange = currentTableColumns.toArray().some(function (column) {\r\n return !column.getCanGUIRead();\r\n });\n\n // Π‘ΠΎΠ±ΠΈΡ€Π°Π΅ΠΌ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹ со всСх Π²ΠΊΠ»Π°Π΄ΠΎΠΊ.\n var requisites = {};\r\n for (var t = 0; t < tablesArr.length; t++) {\r\n rows = tablesArr[t].rows;\n row = rows[id];\n if (row) {\r\n reqArray = row.requisites.toArray();\n\n // Π‘ΠΎΠ·Π΄Π°Π΄ΠΈΠΌ ΡΠ»ΠΎΠ²Π°Ρ€ΡŒ\n $.extend(requisites, _.chain(reqArray)\n .filter(function (req) {\r\n var currentColumn = currentTableColumns[req.name];\r\n return !req.isSystem() && currentColumn.getCanGUIRead() && currentColumn.isVisible();\r\n })\n .map(function (item) {\r\n return [item.name, {\r\n value: item.getValue(),\n displayValue: item.getDisplayValue(),\n needTriggerResult: true\r\n }]\r\n }).object().value());\r\n }\r\n }\n\n // Если Π΄Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·Π΄Π΅Π» Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½, Ρ‚ΠΎ ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅ΠΌ Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅, ΠΈΠ½Π°Ρ‡Π΅ ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅ΠΌ Π½Π° сСрвСрС (Π·Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅ β„–104110).\n if (tablesArr.length === 1 && !hasColumnWithDisabledGuiChange) {\n // ΠšΠΎΠΏΠΈΡ€ΡƒΠ΅ΠΌ строку.\n this._grid._table.addRow(requisites, function (row) {\r\n reqArray = row.requisites.toArray();\n _(reqArray).each(function (req) {\r\n req.touch(); //Если Ρ‚Π°ΠΊ Π½Π΅ Π΄Π΅Π»Π°Ρ‚ΡŒ, Ρ‚ΠΎ послС копирования Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ строку\n })\r\n });\r\n\n } else {\n // ΠšΠΎΠΏΠΈΡ€ΡƒΠ΅ΠΌ строку Π½Π° сСрвСрС (Π·Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅ β„–104110).\n this._grid._table.copyRowOnServer(id, requisites, function (row) {\r\n reqArray = row.requisites.toArray();\n _(reqArray).each(function (req) {\r\n req.touch(); //Если Ρ‚Π°ΠΊ Π½Π΅ Π΄Π΅Π»Π°Ρ‚ΡŒ, Ρ‚ΠΎ послС копирования Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ строку\n })\r\n });\r\n }\n\n return this;\r\n },\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\n\n /**\n * Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ строки\n * @method Core.grid.DetailsContextMenu#deleteRow\n * @param {integer} rowId ΠΈΠ΄ строки\n */\n deleteRow: function (rowId) {\r\n this._grid._table.deleteRow(rowId);\n return this;\r\n },\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\n\n /**\n * ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΠ΄-строки Π½Π°Π΄ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π±Ρ‹Π»ΠΎ Π²Ρ‹Π·Π²Π°Π½ΠΎ контСкстноС мСню\n * @method Core.grid.DetailsContextMenu#_getRowIdFromEvent\n * @private\n * @return {integer}\n */\n _getRowIdFromEvent: function (event) {\r\n var target = event.target || event.srcElement;\n var jRow = $(target).parents('div.slick-row');\n var rowId = jRow.attr('id');\n return rowId;\r\n },\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\n\n /**\n * ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π½ΠΎΠΌΠ΅Ρ€ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Π½Π°Π΄ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π±Ρ‹Π»ΠΎ Π²Ρ‹Π·Π²Π°Π½ΠΎ контСкстноС мСню\n * @method Core.grid.DetailsContextMenu#_getRowIdFromEvent\n * @private\n * @return {integer}\n */\n _getCellNumberFromEvent: function (event) {\r\n var target = $(event.target || event.srcElement);\n var jCell;\n if (target.hasClass('slick-cell')) {\r\n jCell = target;\r\n } else {\r\n jCell = target.parents('.slick-cell:first');\r\n }\n return jCell.index();\r\n },\n\n /**\n * ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° возмоТности копирования строки\n * @method Core.grid.DetailsContextMenu#_canCopyRow\n * @private\n * @return {boolean}\n */\n _canCopyRow: function (rowId) {\r\n var row = this._grid._table.rows[rowId];\n if (row.hasFilledRequisites()) {\n return true;\n } else {\n return false;\n }\r\n },\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\n\n /**\n * ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° возмоТности добавлСния Π½ΠΎΠ²ΠΎΠΉ строки\n * @method Core.grid.DetailsContextMenu#_canAddNewRow\n * @private\n * @return {boolean}\n */\n _canAddNewRow: function () {\r\n var table = this._grid._table;\n var rows = table.rows.toArray();\n\n if (rows.length) {\r\n var lastRow = rows[rows.length - 1];\n if (lastRow.hasFilledRequisites()) {\n return true;\n } else {\n return false;\n }\n } else {\n return true\n }\r\n }\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\n });\r\n\n})(window.WA.components.dataViews.gridPlugins);","(function checkboxPlugin(global) {\r\n \"use strict\";\r\n\r\n /**\r\n * Плагин для возмоТности рСдактирования Π³Ρ€ΠΈΠ΄Π°\r\n * @class WebAccess.components.dataViews.gridPlugins.EditPlugin\r\n * @extends WebAccess.Plugin\r\n * @property {string} name Имя ΠΏΠ»Π°Π³ΠΈΠ½Π°. \r\n * @since 5.2.0.1300\r\n */\r\n global.EditPlugin = WA.Plugin.extend({\r\n name: 'EditPlugin',\r\n _pending: null,\r\n // Π“Ρ€ΠΈΠ΄. \r\n _grid: null,\r\n _selectionModel: null,\r\n _exceptions: null,\r\n _bindedTables: [],\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * РСгистрация ΠΏΠ»Π°Π³ΠΈΠ½Π°.\r\n * @method WebAccess.components.dataViews.gridPlugins.EditPlugin#register\r\n * @param {WebAccess.components.dataViews.Grid} grid Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅ΠΌΡ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚(Π² Π΄Π°Π½Π½ΠΎΠΌ ΠΊΠΎΠ½ΠΊΡ€Π΅Π½ΠΎΠΌ случаС - это Π³Ρ€ΠΈΠ΄).\r\n * @since 5.2.0.1300\r\n * @return {object} ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ доступныС Ρ€Π°ΡΡˆΠΈΡ€ΡΠ΅ΠΌΠΎΠΌΡƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ.\r\n */\r\n register: function (grid) {\r\n\r\n var me = this;\r\n me._exceptions = ['.contextmenu', '.rs_results', '.ui-datepicker', '.rs_tr_odd', '.rs_tr_even', '.rs_RefCaption'];\r\n me._grid = grid;\r\n me._grid.bind(WA.CMP.DV.Grid.EVENT.BEFORE_GRID_INIT, me._onGridBeforeInit, me);\r\n me._grid.bind(WA.CMP.DV.Grid.EVENT.GRID_INIT, me._onGridInit, me);\r\n me._grid.bind(WA.CMP.DV.Grid.EVENT.COLUMN_INIT, me._onColumnInit, me);\r\n me._bindedTables = [];\r\n\r\n log.info('GRID', 'Edit plugin registered');\r\n return {};\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π₯эндлСр события Π΄ΠΎ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π³Ρ€ΠΈΠ΄Π°.\r\n * @method WebAccess.components.dataViews.gridPlugins.EditPlugin#_onGridBeforeInit\r\n * @param {string} containerSelector сСлСктор ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° для Π³Ρ€ΠΈΠ΄Π°.\r\n * @param {Object} dataView прСдставлСниС Π΄Π°Π½Π½Ρ‹Ρ….\r\n * @param {Object} columns описания всСх ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ.\r\n * @param {Object} settings настройки Π³Ρ€ΠΈΠ΄Π°.\r\n * @private\r\n * @since 5.2.0.1100\r\n */\r\n _onGridBeforeInit: function (containerSelector, dataView, columns, byref_settings) {\r\n var me = this;\r\n byref_settings.enableCellNavigation = true,\r\n byref_settings.editable = true;\r\n byref_settings.autoEdit = true;\r\n //byref_settings.enableAddRow = true; \r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ события ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π³Ρ€ΠΈΠ΄Π°.\r\n * @method WebAccess.components.dataViews.gridPlugins.EditPlugin#_onGridInit\r\n * @private\r\n * @since 5.2.0.1100\r\n */\r\n _onGridInit: function (grid) {\r\n var me = this;\r\n\r\n // Для ΠΏΠ»Π°Π½ΡˆΠ΅Ρ‚ΠΎΠ² ΠΈ сматфонов ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Ρ‹Π΄Π΅Π»ΡΡ‚ΡŒ ячСйки ΠΈ строки, Ρ‡Ρ‚ΠΎ Π±Ρ‹ Π·Π°Ρ€Π°Π±ΠΎΡ‚Π°Π»Π° ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠ°.\r\n if (!WA.ENV.isTouch()) {\r\n me._selectionModel = new Slick.CellSelectionModel();\r\n grid.setSelectionModel(me._selectionModel);\r\n } else {\r\n me._selectionModel = new Slick.StubSelectionModel();\r\n grid.setSelectionModel(me._selectionModel);\r\n }\r\n\r\n grid.onCellChange.subscribe((e, args) => {\r\n const row = args['item'];\r\n const columns = grid.getColumns();\r\n const column = columns[args.cell];\r\n this._grid.fire('requisiteChange', column.id, row.id, row[column.id], row[column.field]);\r\n });\r\n\r\n grid.onEditorInit.subscribe(function (e, args) {\r\n var row = args['item'];\r\n var colNum = args['cell'];\r\n var columns = grid.getColumns();\r\n var column = columns[args.cell];\r\n var editor = args.editor;\r\n me._grid.fire('editorInit', column.id, row.id, row[column.id], row[column.field], editor);\r\n })\r\n\r\n grid.onBeforeCellEditorDestroy.subscribe(function (e, args) {\r\n me._grid.fire('editorDestroy', e, args);\r\n });\r\n\r\n grid.onGetEditor.subscribe(function (ev, byref_editor) {\r\n me._grid.fire('getEditor', byref_editor);\r\n });\r\n\r\n // Для ΠΏΠ»Π°Π½ΡˆΠ΅Ρ‚ΠΎΠ² ΠΈ сматфонов ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π½ΡƒΡŽ Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΡŽ.\r\n if (!WA.ENV.isTouch()) {\r\n /**\r\n * ΠšΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π½Π°Ρ навигация:\r\n * Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ строк ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠΈ курсора Π²Π½ΠΈΠ·.\r\n */\r\n var lastActiveCell; // ВынСсСна Ρ‚ΡƒΡ‚, Ρ‡Ρ‚ΠΎ Π±Ρ‹ Π² событиях addRow ΠΈ deleteRow Π±Ρ‹Π»ΠΈ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅, ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌΡ‹Π΅ ΠΏΠΎ этой ссылкС.\r\n var needRestoreEditorAfterReload = false;\r\n\r\n grid.onKeyDown.subscribe(function (e, args) {\r\n var key = e.keyCode;\r\n var table = me._grid._table;\r\n if (!table || table.isDisabled()) return;\r\n var rows = table.rows.toArray();\r\n var lastRow = rows[rows.length - 1];\r\n lastActiveCell = [rows.length - 1, args.cell];\r\n var grid = me._grid.grid;\r\n\r\n // Π§Ρ‚ΠΎ Π±Ρ‹ ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π· Π½Π΅ биндись, Π° вынСсти ΠΈΡ… события Π½Π΅ получаСтся, Ρ‚.ΠΊ. table появляСтся Π½Π΅ сразу.\r\n if (me._bindedTables.indexOf('addRow' + me._grid.settings.DFMName) === -1) {\r\n //Π”ΠΎ добавлСния Π½ΠΎΠ²ΠΎΠΉ строки Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌ сохранСниС Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ значСния Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅, Ρ‡Ρ‚ΠΎ Π±Ρ‹ ΠΎΠ½ΠΎ ΡƒΡˆΠ»ΠΎ Π² datasource ΠΈ ΠΏΠΎΡ‚ΠΎΠΌ ΡΠΎΡ…Ρ€Π°Π½ΠΈΠ»ΠΎΡΡŒ Π² Π‘Π” (Π·Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅ β„–103950).\r\n table.bind(table.class.EVENT.BEFORE_ROW_ADDED, () => {\r\n const editor = grid.getCellEditor();\r\n if (!!editor) {\r\n editor.commit();\r\n }\r\n });\r\n\r\n // Π‘ΠΌΠ΅Ρ‰Π°Π΅ΠΌ фокус Π½Π° Π½ΠΎΠ²ΡƒΡŽ строку Π² Ρ‚Ρƒ ΠΆΠ΅ ячСйку Ρ‡Ρ‚ΠΎ ΠΈ Π½Π° ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ.\r\n table.bind(table['class'].EVENT.ROW_ADDED, function (row) {\r\n log.info('DETAILGRID', 'addRow event in EditPlugin'); \r\n lastActiveCell[0] = grid.getDataLength() - 1;\r\n grid.setActiveCell(lastActiveCell[0], lastActiveCell[1]); \r\n grid.editActiveCell(); \r\n //ПослС добавлСния строки Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒΡΡ, поэтому востанавливаСм Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΠ΅ΠΌΡƒΡŽ ячСйку послС Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ….\r\n needRestoreEditorAfterReload = true;\r\n });\r\n\r\n me._bindedTables.push('addRow' + me._grid.settings.DFMName);\r\n }\r\n\r\n // Π§Ρ‚ΠΎ Π±Ρ‹ ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π· Π½Π΅ биндись, Π° вынСсти ΠΈΡ… события Π½Π΅ получаСтся, Ρ‚.ΠΊ. table появляСтся Π½Π΅ сразу.\r\n if (me._bindedTables.indexOf('deleteRow' + me._grid.settings.DFMName) === -1) {\r\n table.bind('deleteRow', function (row) {\r\n log.info('DETAILGRID', 'deleteRow event in EditPlugin');\r\n setTimeout(function () { //Ρ‡Ρ‚ΠΎ Π±Ρ‹ Π½Π΅ пСрСскакивало 1 строку\r\n lastActiveCell[0] = grid.getDataLength() - 1;\r\n grid.setActiveCell(lastActiveCell[0], lastActiveCell[1]);\r\n grid.editActiveCell();\r\n\r\n //ПослС ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠΈ строки Π΄Π°Π½Π½Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒΡΡ, поэтому востанавливаСм Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΠ΅ΠΌΡƒΡŽ ячСйку послС Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ….\r\n needRestoreEditorAfterReload = true;\r\n }, 100);\r\n });\r\n me._bindedTables.push('deleteRow' + me._grid.settings.DFMName);\r\n }\r\n\r\n // Π§Ρ‚ΠΎ Π±Ρ‹ ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π· Π½Π΅ биндись, Π° вынСсти ΠΈΡ… события Π½Π΅ получаСтся, Ρ‚.ΠΊ. table появляСтся Π½Π΅ сразу.\r\n if (me._bindedTables.indexOf('dataReloaded' + me._grid.settings.DFMName) === -1) {\r\n table.bind(table['class'].EVENT.DATA_RELOADED, function (row) {\r\n log.info('DETAILGRID', 'dataReloaded event in EditPlugin');\r\n if (needRestoreEditorAfterReload) { \r\n grid.setActiveCell(lastActiveCell[0], lastActiveCell[1]);\r\n grid.editActiveCell();\r\n needRestoreEditorAfterReload = false;\r\n }\r\n });\r\n me._bindedTables.push('dataReloaded' + me._grid.settings.DFMName);\r\n }\r\n\r\n if (key === $.ui.keyCode.DOWN) {\r\n if (args.row + 1 == grid.getDataLength()) {\r\n if (lastRow.hasFilledRequisites()) {\r\n table.addRow();\r\n }\r\n }\r\n }\r\n\r\n if (key === $.ui.keyCode.UP) {\r\n if (args.row + 1 == grid.getDataLength()) {\r\n if (!lastRow.hasFilledRequisites()) {\r\n lastRow.remove()\r\n }\r\n }\r\n }\r\n });\r\n }\r\n\r\n /**\r\n * НавСшиваСм события, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈ ΠΊΠ»ΠΈΠΊΠ΅ Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ добавлялась новая строка\r\n * @since 5.2.0.1303\r\n */\r\n WA.DetailsInit.done(function () {\r\n $(document).on('mouseup.editplugin', $.proxy(me._onFocusOrUnFocus, me));\r\n })\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΡ€ΠΈ фокусС Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π΄ΠΎΠ±Π°Π²Π»Π΅ΠΌ Π½ΠΎΠ²ΡƒΡŽ строку Ссли Ρ‚Π°Π±Π»ΠΈΡ†Π° пустая ΠΈ УдаляСм ΡΠΎΠ·Π΄Π°Π½Π½ΡƒΡŽ строку ΠΏΡ€ΠΈ ΠΏΠΎΡ‚Π΅Ρ€Π΅ фокуса\r\n * @since 5.2.0.1303\r\n */\r\n _onFocusOrUnFocus: function (e) {\r\n var me = this;\r\n\r\n var targetInExceptions = function (target) {\r\n var result = !!_(me._exceptions).find(function (ex) {\r\n return $(target).hasAncestor(ex).length\r\n });\r\n return result;\r\n }\r\n\r\n var container = $(me._grid.containerSelector);\r\n var target = e.target;\r\n\r\n // Π’ IE10 c SVG Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π°Π΄ΠΎ Π½Π΅ Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ https://stackoverflow.com/questions/33672395/use-within-svg-not-finding-closest-div-in-ie\r\n if (target.correspondingUseElement) {\r\n target = target.correspondingUseElement;\r\n\r\n // ПоднимаСмся Π΄ΠΎ уровня ΠΎΠ±ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°ΡŽΡ‰Π΅ΠΉ svg div'ΠΊΠΈ. Π’ΡƒΡ‚ target - use, target.parentNode - SvgElement.\r\n target = target.parentNode.parentNode;\r\n }\r\n\r\n //FIX #5667: Π’ IE ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° скролбар Π² Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅ΠΌ спискС, сниваСтся фокус с input ΠΈ ставится Π½Π° div с Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΌ списком, поэтому провСряСм Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ зафокусированный элСмСнт Π½Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ.\r\n\r\n if (!container.is(target) && !container.has(target).length && !targetInExceptions(target) && !targetInExceptions(document.activeElement) && !$(target).hasClass('rs_container')) {\r\n // НаТали ΠΌΡ‹ΡˆΠΊΠΎΠΉ Π½Π΅ Π² ΠΎΠ±Π»Π°ΡΡ‚ΡŒ Π³Ρ€ΠΈΠ΄Π° (focusout, blur).\r\n log.info('DETAILGRID', 'onBlur event in EditPlugin');\r\n\r\n // Если ΠΊΠ»ΠΈΠΊΠ½ΡƒΠ»ΠΈ Π½Π° Π΄Ρ€ΡƒΠ³ΠΎΠΉ Π³Ρ€ΠΈΠ΄ (Π½Π΅ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌΡ‹ΠΉ) ΠΈΠ»ΠΈ Π²ΠΎΠΎΠ±Ρ‰Π΅ Π² пустоС мСсто, Ρ‡Ρ‚ΠΎ Π±Ρ‹ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ Π½Π΅ сбросил key scope. \r\n window._needSetGridsKeyScope = window._needSetGridsKeyScope || false;\r\n\r\n var table = me._grid._table;\r\n if (!table || !table.rows) return;\r\n\r\n me._grid.grid.navigateUp();\r\n me._grid.grid.resetActiveCell();\r\n me._grid.grid.setSelectedRows([]);\r\n\r\n var rows = table.rows.toArray();\r\n var lastRow = rows[rows.length - 1];\r\n if (rows.length === 1 && lastRow && !lastRow.hasFilledRequisites()) {\r\n lastRow.remove();\r\n }\r\n // Π£Π±Ρ€Π°Ρ‚ΡŒ Ρ€Π΅ΠΆΠΈΠΌ рСдактирования с Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ячСйки\r\n me._grid.grid.setActiveCell(null);\r\n me._grid.grid.setSelectedRows([]);\r\n\r\n me.isFocused = false;\r\n } else {\r\n var targetNode = $(target);\r\n //#108739 \r\n if (targetNode.length && (targetNode.hasClass('rs_td') || $('.ui-datepicker').has(targetNode).length || $('.contextmenu__item').has(targetNode).length ||\r\n targetNode.hasClass('rs_RefCaption') || targetNode.hasClass('rs_results') || targetNode.hasClass('rs_container') ||\r\n targetNode[0].nodeName.toLowerCase() === \"html\")) {\r\n return;\r\n }\r\n\r\n // НаТали ΠΌΡ‹ΡˆΠΊΠΎΠΉ Π² ΠΎΠ±Π»Π°ΡΡ‚ΡŒ Π³Ρ€ΠΈΠ΄Π° (focusin, focus). \r\n // ΠšΠ»ΠΈΠΊΠ½ΡƒΠ»ΠΈ Π½Π° Π³Ρ€ΠΈΠ΄ Π½Π°Π΄ΠΎ Ρ‡Ρ‚ΠΎ Π±Ρ‹ key scope стал Ρ€Π°Π²Π΅Π½ grid Π² любом случаС (Π΄Π°ΠΆΠ΅ Ссли Π΄Ρ€ΡƒΠ³ΠΈΠ΅ Π³Ρ€ΠΈΠ΄Ρ‹ хотят ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ Π΅Π³ΠΎ Π½Π° ΠΎΠ±Ρ‰ΠΈΠΉ). \r\n window._needSetGridsKeyScope = true;\r\n\r\n // if (!me.isFocused) { // #108827\r\n log.info('DETAILGRID', 'onFocus event in EditPlugin');\r\n var table = me._grid._table;\r\n if (table && !table.isDisabled() && !table.rows.count()) table.addRow();\r\n\r\n me.isFocused = true;\r\n //}\r\n }\r\n\r\n // УстанавливаСм ΠΎΠ±Π»Π°ΡΡ‚ΡŒ глобального ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° горячих клавишь.\r\n // Π§Π΅Ρ€Π΅Π· timeout, Ρ‡Ρ‚ΠΎ Π±Ρ‹ ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Π³Ρ€ΠΈΠ΄ΠΎΠ² Π½Π΅ сбросили key scope.\r\n clearTimeout(window._setGridsKeyScopeTimeout);\r\n window._setGridsKeyScopeTimeout = setTimeout(function () {\r\n var globalKeyScope;\r\n\r\n if (window._needSetGridsKeyScope) {\r\n globalKeyScope = 'grid';\r\n } else {\r\n globalKeyScope = $('.ui-dialog').length ? 'baseDialog' : 'common';\r\n }\r\n key.setScope(globalKeyScope);\r\n\r\n window._needSetGridsKeyScope = false;\r\n }, 50);\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * НазначиваниС Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ΠΎΠ² для ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ\r\n * @method WebAccess.components.dataViews.gridPlugins.EditPlugin#_onGridInit\r\n * @private\r\n * @since 5.2.0.1100\r\n */\r\n _onColumnInit: function (byref_column) {\r\n switch (+byref_column.type) {\r\n case REQUISITE_TYPE.STRING:\r\n byref_column.editor = function (args) {\r\n return new global._editors.StringEditor(args);\r\n };\r\n break;\r\n\r\n case REQUISITE_TYPE.TEXT:\r\n byref_column.editor = function (args) {\r\n return new global._editors.TextEditor(args);\r\n };\r\n break;\r\n\r\n case REQUISITE_TYPE.REFERENCE:\r\n byref_column.editor = function (args) {\r\n return new global._editors.ReferenceEditor(args);\r\n };\r\n break;\r\n\r\n case REQUISITE_TYPE.PICK:\r\n byref_column.editor = function (args) {\r\n return new global._editors.PickEditor(args);\r\n };\r\n break;\r\n\r\n case REQUISITE_TYPE.DATE:\r\n byref_column.editor = function (args) {\r\n return new global._editors.DateEditor(args);\r\n };\r\n break;\r\n\r\n case REQUISITE_TYPE.LARGE_INTEGER:\r\n case REQUISITE_TYPE.INTEGER:\r\n byref_column.editor = function (args) {\r\n return new global._editors.IntegerEditor(args);\r\n };\r\n break;\r\n\r\n case REQUISITE_TYPE.FLOAT:\r\n byref_column.editor = function (args) {\r\n return new global._editors.FloatEditor(args);\r\n };\r\n break;\r\n\r\n case REQUISITE_TYPE.DOCUMENT:\r\n byref_column.editor = function (args) {\r\n return new global._editors.DocumentEditor(args);\r\n };\r\n break;\r\n }\r\n }\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~// \r\n });\r\n\r\n})(WA.components.dataViews.gridPlugins);","(function gridDefenition(global) {\r\n \"use strict\";\r\n\r\n var ASTERISK = '*';\r\n\r\n /**\r\n * Π’Π°Π±Π»ΠΈΡ†Π°.\r\n *\r\n * @class WebAccess.components.dataViews.Grid\r\n * @extends BaseObject\r\n * @mixes WebAccess.mixins.pluginMixin\r\n * @since 5.2.0.1100\r\n * @param {string} containerSelector Π‘Π΅Π»Π΅ΠΊΡ‚ΠΎΡ€ Π±Π»ΠΎΠΊΠ°, содСрТащСго Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ\r\n * @param {WebAccess.components.dataViews.DataProvider} dataSource Класс, ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΉ Π΄Π°Π½Π½Ρ‹Π΅ для Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹\r\n * @param {Array} columns Бписок ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹\r\n * @param {Object} settings Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹\r\n * @property {dxGrid} dxGrid Бсылка Π½Π° экзСмпляр Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹\r\n * @property {object} state ΠžΠ±ΡŠΠ΅ΠΊΡ‚, хранящий ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹\r\n * @property {array} _table Cвязанный ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ клиСнтской ОМ\r\n */\r\n global.components.dataViews.Grid = BaseObject.extend([global.mixins.pluginMixin], {\r\n _columns: [],\r\n settings: null,\r\n state: null,\r\n containerSelector: null,\r\n _queryDelay: null,\r\n _saveStateDelay: null,\r\n _table: null,\r\n\r\n /**\r\n * ΠŸΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€ Π΄Π°Π½Π½Ρ‹Ρ… для Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹\r\n * @private\r\n */\r\n _dataSource: null,\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n init: function (containerSelector, dataSource, columns, settings) {\r\n var me = this;\r\n\r\n log.info('GRID', 'Grid initialization');\r\n me.settings = {\r\n getRowAdditionalInfo: null, /*\r\n Π€ΠΎΡ€ΠΌΠ°Ρ‚ этого свойства:\r\n function (rowNumber) {\r\n return {\r\n cssClasses: '',\r\n attributes: {}\r\n }\r\n }\r\n */\r\n cellTemplate: null,\r\n plugins: null\r\n };\r\n\r\n if (!dataSource) WA.raise(L('DATA_SOURCE_NOT_SET'));\r\n\r\n me._super(containerSelector, dataSource, columns);\r\n me._columns = [];\r\n\r\n $.extend(me.settings, settings);\r\n me.containerSelector = containerSelector;\r\n me._dataSource = dataSource;\r\n\r\n\r\n me._dataSource.loadState().always(function (state) {\r\n me.state = state || {};\r\n me._columns = me._initializeColumns(columns);\r\n\r\n //Бписка Π²ΠΈΠ΄ΠΈΠΌΡ‹Ρ… ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π΅ Π±Ρ‹Ρ‚ΡŒ Π² состоянии (ΠΏΡ€ΠΎΡ„ΠΈΠ»Π΅), поэтому ΠΎΠ·Π½Π°Ρ‡ΠΈΠΌ ΠΈΡ… ΠΏΠΎ Π΄Π°Π½Π½Ρ‹ΠΌ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ.\r\n if (!me.state.VisibleColumns || me.state.VisibleColumns.length == 0) {\r\n me.updateState({\r\n VisibleColumns: _(me.getVisibleColumns()).map(function (col) { return col.id; })\r\n });\r\n }\r\n\r\n // Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ для возмоТности ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ состоСниС Π³Ρ€ΠΈΠ΄Π°, послС Π΅Π³ΠΎ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ.\r\n me.fire(WA.CMP.DV.Grid.EVENT.STATE_LOADED);\r\n\r\n me._initializeGrid(containerSelector);\r\n })\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * БвязываСт с Ρ‚Π°Π±Π»ΠΈΡ†Π΅ΠΉ API.\r\n * @method WebAccess.components.dataViews.Grid#setTable\r\n * @since 5.2.0.1100\r\n */\r\n setTable: function (table) {\r\n this._table = table;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ, ΡΠ²ΡΠ·Π°Π½Π½ΡƒΡŽ с Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ.\r\n * @method WebAccess.components.dataViews.Grid#getTable\r\n\t* @return {WebAccess.components.dataViews.Grid} Π’Π°Π±Π»ΠΈΡ†Π°.\r\n * @since 5.5.0.2703\r\n */\r\n getTable: function() {\r\n return this._table;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ список ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ.\r\n * @method WebAccess.components.dataViews.Grid#getColumns\r\n * @since 5.4.0.1021\r\n * @return {Array} Бписок ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ.\r\n */\r\n getColumns: function () {\r\n return this._columns;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π˜Π·ΠΌΠ΅Π½ΡΠ΅Ρ‚ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹.\r\n *\r\n * @method WebAccess.components.dataViews.Grid#setColumns\r\n * @param {Array} newColumns Бписок ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ\r\n * @since 5.4.0.1021\r\n * @return {WebAccess.components.dataViews.Grid} Grid Π’Π°Π±Π»ΠΈΡ†Π°.\r\n */\r\n setColumns: function (newColumns) {\r\n var me = this;\r\n log.info('GRID', 'Updating columns');\r\n\r\n me._columns = newColumns;\r\n\r\n var nextVisibleColumns = me.getVisibleColumns();\r\n me.grid.setColumns(nextVisibleColumns);\r\n me.dataView.setColumns(nextVisibleColumns);\r\n\r\n return me;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ список Π²ΠΈΠ΄ΠΈΠΌΡ‹Ρ… ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ.\r\n * @method WebAccess.components.dataViews.Grid#getVisibleColumns\r\n * @since 5.2.0.1100\r\n * @return {Array} Бписок Π²ΠΈΠ΄ΠΈΠΌΡ‹Ρ… ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ.\r\n */\r\n getVisibleColumns: function () {\r\n return _(_(this._columns).filter(function (column) {\r\n return column.visible;\r\n })).sortBy(function (column) {\r\n return column.index;\r\n });\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ Π³Ρ€ΠΈΠ΄Π° devExtreme\r\n * @method WebAccess.components.dataViews.Grid#_initializeGrid\r\n * @private\r\n * @since 5.2.0.1100\r\n * @return {WebAccess.components.dataViews.Grid} Grid\r\n */\r\n _initializeGrid: function () {\r\n var me = this;\r\n var columnFilters = {};\r\n\r\n var options = {\r\n //showHeaderRow: true, FIXME: Π­Ρ‚ΠΎ Π½Π΅ здСсь Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒΡΡ ΠΈ отсутствСиС этого здСсь Π»ΠΎΠΌΠ°Π΅Ρ‚ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡŽ\r\n headerRowHeight: 36,\r\n rowHeight: 30,\r\n explicitInitialization: true,\r\n syncColumnCellResize: true,\r\n // enableColumnReorder: false, для ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ пСрСтаскивания ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ Π² записях справочников, Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ… ΠΈ Π΄ΠΈΠ°Π»ΠΎΠ³Π°Ρ…\r\n // Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ Π±Ρ‹Π»ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΠΏΡ€ΠΈ ΠΏΠΎΠΊΠ°Π·Π΅ послС скрытия.\r\n enableColumnReorder: (WA.getLocation() === \"referencerecords\") || (WA.getLocation() === \"reference\") || (WA.getLocation() === \"doc\")\r\n };\r\n\r\n me.dataView = new Slick.Data.DataView();\r\n\r\n var visColumns = me.getVisibleColumns();\r\n me.fire(WA.CMP.DV.Grid.EVENT.BEFORE_GRID_INIT, me.containerSelector, me.dataView, visColumns, options);\r\n\r\n // ΠžΠ·Π½Π°Ρ‡ΠΈΠ²Π°Π΅ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ для получСния Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ строкС.\r\n if (me.settings.getRowAdditionalInfo) {\r\n me.dataView['getItemAdditionalMetadata'] = me.settings.getRowAdditionalInfo;\r\n }\r\n me.grid = new Slick.Grid(me.containerSelector, me.dataView, visColumns, options);\r\n me.grid._parent = me;\r\n\r\n me.fire(WA.CMP.DV.Grid.EVENT.GRID_INIT, me.grid);\r\n\r\n me.dataView.onRowCountChanged.subscribe(function (e, args) {\r\n me.grid.updateRowCount();\r\n me.grid.render();\r\n });\r\n\r\n me.dataView.onRowsChanged.subscribe(function (e, args) {\r\n me.grid.invalidateRows(args.rows);\r\n me.grid.render();\r\n });\r\n\r\n //ΠŸΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ порядка ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ скрыты ΠΈΠ»ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹, всС происходит Π² ΠΎΠ΄Π½ΠΎΠΌ мСстС,\r\n //поэтому трСбуСтся ΠΏΡ€ΠΎΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄Π°Π½Π½Ρ‹Π΅ ΠΎ Π²ΠΈΠ΄ΠΈΠΌΡ‹Ρ… ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°Ρ… Π±Ρ‹Π»ΠΈ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹.\r\n me.grid.onColumnsReordered.subscribe(function (ev, columns) {\r\n if (columns && columns.VisibleColumns) me.updateState({ VisibleColumns: columns.VisibleColumns }, true);\r\n });\r\n\r\n me.grid.onViewportChanged.subscribe(function (ev, args) {\r\n me.fire(WA.CMP.DV.Grid.EVENT.VIEWPORT_CHANGED);\r\n });\r\n\r\n me.grid.init();\r\n me.reloadData();\r\n return me;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * БохраняСт ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹.\r\n *\r\n\t* @method WebAccess.components.dataViews.Grid#updateState\r\n * @param {object} state ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹\r\n * @param {boolean} opt_force ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ сохранСния ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²\r\n * @since 5.2.0.1100\r\n * @return {WebAccess.components.dataViews.Grid} Π’Π°Π±Π»ΠΈΡ†Π°.\r\n */\r\n updateState: function (state, opt_force) {\r\n var me = this;\r\n\r\n log.info('GRID', 'Updating state');\r\n\r\n var prevState = me.state;\r\n var newState = $.extend({}, me.state, state);\r\n\r\n me.state = newState;\r\n\r\n //TODO ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ - Π½Π΅ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ измСнСния состояния Π½Π°Π΄ΠΎ Π΅Π³ΠΎ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ. НапримСр, ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Π½ΠΎΠΌΠ΅Ρ€Π° страницы Π½Π΅ Π½Π°Π΄ΠΎ.\r\n if ($.toJSON(newState) !== $.toJSON(prevState) || opt_force === true) {\r\n clearTimeout(me._saveStateDelay); //для сокращСния запросов Π½Π° сСрвСр Π’Π”.\r\n me._saveStateDelay = setTimeout(function () {\r\n me._dataSource.saveState(me.state, opt_force).done(function () {\r\n log.info('GRID', 'New state saved to userprofile');\r\n }).fail(function (err) {\r\n log.error(\"GRID\", \"Can't save state: \" + err);\r\n });\r\n }, 0);\r\n\r\n log.debug('GRID', 'New state is:' + $.toJSON(me.state));\r\n } else {\r\n log.debug('GRID', 'State not changed');\r\n }\r\n\r\n return me;\r\n },\r\n\r\n /**\r\n * Π—Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ ΠΈ обновляСт Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ².\r\n *\r\n * @param {object} options ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ запроса\r\n * @method WebAccess.components.dataViews.Grid#reloadData\r\n * @since 5.2.0.1100\r\n * @return {Deferred} Deferred-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.\r\n */\r\n reloadData: function (options) {\r\n var me = this;\r\n var result = $.Deferred();\r\n var jContainer = $(me.containerSelector);\r\n var fadeSpeed = 'fast';\r\n log.info('GRID', 'Reloading data');\r\n\r\n WA.CR.spinner && WA.CR.spinner.show();\r\n\r\n options = options || {};\r\n\r\n clearTimeout(me._queryDelay);\r\n me._queryDelay = setTimeout(function () {\r\n var fadeTO = setTimeout(function () { jContainer.fadeTo(fadeSpeed, .6); }, 500);\r\n\r\n var loadOptions = $.extend({}, me.state, options);\r\n me.updateState(loadOptions);\r\n\r\n log.info('GRID', 'Reloading data on timeout');\r\n me.fire(WA.CMP.DV.Grid.EVENT.BEFORE_DATA_LOADED, loadOptions);\r\n me._dataSource.load(loadOptions).done(function (data) {\r\n\r\n var pageIndex = data.PageIndex;\r\n var records = data.Rows;\r\n\r\n // БохраняСм Π½ΠΎΠ²Ρ‹ΠΉ Π½ΠΎΠΌΠ΅Ρ€ страницы, Ρ‚.ΠΊ. ΠΎΠ½Π° ΠΌΠΎΠ³Π»Π° помСнятся ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π΅ Π½Π° послСднюю страницу.\r\n me.updateState({ PageIndex: pageIndex });//fixme Π½Π΅ Π΅Π³ΠΎ Π»ΠΎΠ³ΠΈΠΊΠ°\r\n\r\n me.fire(WA.CMP.DV.Grid.EVENT.DATA_LOADED, pageIndex, !!records ? records.length : 0, records);\r\n\r\n me.dataView.setItems(records);\r\n me.grid.invalidate();\r\n me.dataView.endUpdate();\r\n\r\n me.fire(WA.CMP.DV.Grid.EVENT.AFTER_DATA_LOADED, data);\r\n result.resolve(data);\r\n }).always(function () {\r\n clearTimeout(fadeTO);\r\n jContainer.fadeTo(fadeSpeed, 1);\r\n WA.CR.spinner && WA.CR.spinner.hide();\r\n });\r\n\r\n }, 100);\r\n\r\n return result;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠ΅Ρ€Π΅Π²ΠΎΠ΄ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ ΠΈΠ· Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° сСрвСрного Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ понятный devExtreme\r\n * @private\r\n * @param {array} rawColumns Бписок ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ\r\n * @method WebAccess.components.dataViews.Grid#_initializeColumns\r\n * @since 5.2.0.1100\r\n * @return {array} Бписок ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ\r\n */\r\n _initializeColumns: function (rawColumns) {\r\n var me = this;\r\n var ALIGNMENT_RIGHT = 1;\r\n\r\n var columns = _(rawColumns).map(function (column) {\r\n var isSpecialColumn = (column.Name.charAt(0) === '_');\r\n\r\n var isRequired = column.IsRequired === true || column.IsRequired === 'True';\r\n\r\n var cssClass = (isSpecialColumn ? 'centered' : '');\r\n if (column.TextAlign == ALIGNMENT_RIGHT) cssClass += ' text_align_right';\r\n\r\n if (column.IsReadOnly) cssClass += ' readonly';\r\n\r\n var columnSettings = {\r\n name: (isRequired ? ASTERISK : '') + column.Caption,\r\n id: column.Name,\r\n field: column.Field,\r\n cssClass: cssClass,\r\n sortable: false,\r\n visible: column.IsVisible === true || column.IsVisible === 'True',\r\n resizable: false,\r\n width: +column.Width,\r\n index: column.Index,\r\n hint: column.Hint,\r\n type: column.Type,\r\n dateType: column.DateType,\r\n isRequired: isRequired,\r\n hasCalculation: column.HasCalculation === true || column.HasCalculation === 'True',\r\n isReadOnly: column.IsReadOnly === true || column.IsReadOnly === 'True',\r\n requisite: column.Requisite,\r\n precision: column.Precision\r\n };\r\n\r\n\r\n if (column.Type == REQUISITE_TYPE.DATE && WA.ENV.isTouch()) {\r\n columnSettings['minWidth'] = 90;\r\n };\r\n\r\n if (me.state.VisibleColumns && !isNaN(me.state.VisibleColumns.indexOf(column.Name)) && WA.getLocation() === 'referencerecords') {\r\n columnSettings['index'] = me.state.VisibleColumns.indexOf(column.Name);\r\n }\r\n\r\n // Π¨Π°Π±Π»ΠΎΠ½ΠΈΠ·Π°Ρ‚ΠΎΡ€ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² ячСйках.\r\n if (me.settings.cellTemplate) {\r\n columnSettings['formatter'] = me.settings.cellTemplate;\r\n }\r\n\r\n if (me.settings.asyncPostRender) {\r\n columnSettings['asyncPostRender'] = me.settings.asyncPostRender\r\n }\r\n\r\n if (me.settings.editor) {\r\n columnSettings['editor'] = me.settings.editor\r\n }\r\n\r\n me.fire(WA.CMP.DV.Grid.EVENT.COLUMN_INIT, columnSettings);\r\n return columnSettings;\r\n });\r\n\r\n return columns;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n _excludeSpecialColumns: function (columns) {\r\n return _(columns).filter(function (column) {\r\n return (column.id != '_ContextMenu'\r\n && column.id != '_Checkbox'\r\n && column.id != '_SelectRecord');\r\n });\r\n },\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ список ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ для Π²Ρ‹Π±ΠΎΡ€Π° Π²ΠΈΠ΄ΠΈΠΌΡ‹Ρ… ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ.\r\n *\r\n * @method WebAccess.components.dataViews.Grid#getColumnsForDialog\r\n * @since 5.2.0.1100\r\n * @return {array} Бписок ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ.\r\n */\r\n getColumnsForDialog: function () {\r\n var me = this;\r\n var columns = me._excludeSpecialColumns(_(this._columns).clone());\r\n this.fire(WA.CMP.DV.Grid.EVENT.GET_COLUMNS_FOR_DIALOG, columns);\r\n return columns;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ список Π²ΠΈΠ΄ΠΈΠΌΡ‹Ρ… ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ для Π²Ρ‹Π±ΠΎΡ€Π° Π²ΠΈΠ΄ΠΈΠΌΡ‹Ρ… ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ.\r\n\r\n * @method WebAccess.components.dataViews.Grid#getVisibleColumnsForDialog\r\n\t* @description Π’ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Ρ€Π°Π· список получаСтся ΠΈΠ· Π΄Π°Π½Π½Ρ‹Ρ…, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΡ€ΠΈΡˆΠ»ΠΈ с сСрвСра.\r\n * Если ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π²Ρ‹Π±ΠΈΡ€Π°Π», Π²Ρ‹Π±ΠΎΡ€ΠΊΠ° ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ\r\n * дСлаСтся Π½Π° основС Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… dx-Π³Ρ€ΠΈΠ΄Π° с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Ρ… Π²\r\n * ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΉ Ρ€Π°Π· Π²ΠΈΠ΄ΠΈΠΌΡ‹Ρ… ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ.\r\n * @since 5.2.0.1100\r\n * @return {array} columns Бписок ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ.\r\n */\r\n getVisibleColumnsForDialog: function () {\r\n var me = this;\r\n var columns = me._excludeSpecialColumns(this.getVisibleColumns());\r\n this.fire(WA.CMP.DV.Grid.EVENT.GET_VISIBLE_COLUMNS_FOR_DIALOG, columns);\r\n return columns;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n setVisibleColumnsFromDialog: function (newColumns) {\r\n this.fire(WA.CMP.DV.Grid.EVENT.SET_VISIBLE_COLUMNS_FROM_DIALOG, newColumns);\r\n this.setVisibleColumns(newColumns);\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ДобавляСт ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Π² список Π²ΠΈΠ΄ΠΈΠΌΡ‹Ρ….\r\n *\r\n * @method WebAccess.components.dataViews.Grid#setVisibleColumns\r\n * @param {array} newColumns Бписок Π²ΠΈΠ΄ΠΈΠΌΡ‹Ρ… ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ\r\n * @since 5.2.0.1100\r\n * @return {WebAccess.components.dataViews.Grid} Grid Π’Π°Π±Π»ΠΈΡ†Π°.\r\n */\r\n setVisibleColumns: function (newColumns) {\r\n var me = this;\r\n log.info('GRID', 'Updating visible columns');\r\n this.fire(WA.CMP.DV.Grid.EVENT.SET_VISIBLE_COLUMNS, newColumns);\r\n\r\n newColumns = me._excludeSpecialColumns(newColumns);\r\n var visibleIds = _(newColumns).map(function (c) { return c.id });\r\n\r\n me._columns = _(me._columns).map(function (column) {\r\n var isSpecialColumn = (column.id.charAt(0) === '_');\r\n var index = visibleIds.indexOf(column.id);\r\n if (index !== -1 || isSpecialColumn) {\r\n column.visible = true;\r\n column.index = index;\r\n } else {\r\n column.visible = false;\r\n if (WA.getLocation() === 'referencerecords') {\r\n column.index = 0;\r\n }\r\n }\r\n return column;\r\n });\r\n\r\n var visibleColumns = me.getVisibleColumns();\r\n for (let column of visibleColumns) {\r\n column.width = this.state.ColumnsWidth[ column.id ];\r\n }\r\n me.dataView.setColumns(visibleColumns);\r\n me.grid.setColumns(visibleColumns);\r\n\r\n // QueryInstanceID всСгда Π±Π΅Ρ€Π΅ΠΌ ΠΈΠ· Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ состояния Π³Ρ€ΠΈΠ΄Π°.\r\n me.reloadData({\r\n VisibleColumns: _(visibleColumns).pluck('id') || [],\r\n QueryInstanceID: this.state.QueryInstanceID\r\n });\r\n return me;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π‘ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ ΠΏΡ€ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΠΈ ΠΏΠΎ Π½Π΅ΠΉ\r\n * @private\r\n * @method WebAccess.components.dataViews.Grid#hideColumn\r\n */\r\n hideColumn: function (id) {\r\n log.debug('GRID', 'Hiding columns ' + id);\r\n var me = this;\r\n var columns = me.getVisibleColumns();\r\n var newColumns = _(columns).filter(function (col) {\r\n return id !== col.id;\r\n });\r\n\r\n me.setVisibleColumns(newColumns);\r\n return me;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Показ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ ΠΏΡ€ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠΈ Π³Ρ€ΡƒΠΏΠΏΠΈΡ€ΠΎΠ²ΠΊΠΈ ΠΏΠΎ Π½Π΅ΠΉ\r\n * @private\r\n * @method WebAccess.components.dataViews.Grid#showColumn\r\n */\r\n showColumn: function (id, opt_index) {\r\n log.debug('GRID', 'Showing column ' + id);\r\n log.debug('GRID', 'Showing column index' + opt_index);\r\n var me = this;\r\n var columns = me._columns;\r\n var oldColumns = me.getVisibleColumns();\r\n\r\n var newColumn = _(me._columns).find(function (col) {\r\n return id == col.id;\r\n });\r\n\r\n if (newColumn) {\r\n oldColumns.splice(opt_index || 0, 0, newColumn);\r\n me.setVisibleColumns(oldColumns);//здСсь порядок ΠΈΠΌΠ΅Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ· Π½Π΅Π³ΠΎ строятся индСксы\r\n }\r\n return me;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * @function isCurrentPeriodEnabled - функция ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ состояниС Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π° ΠΏΠΎ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Ρƒ.\r\n * @returns {boolean} - true - Ссли Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ ΠΏΠΎ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Ρƒ Π²ΠΊΠ»ΡŽΡ‡Π΅Π½, false - Ссли Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ ΠΏΠΎ ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Ρƒ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½.\r\n */\r\n isCurrentPeriodEnabled: function () {\r\n return (typeof WA.CR.toolBar.buttons.ToggleCurrentPeriod === 'object' && WA.CR.toolBar.buttons.ToggleCurrentPeriod.isSelected());\r\n }\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n\r\n }, {\r\n EVENT: {\r\n /**\r\n * Π‘Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ послС Π²Ρ‹Π·ΠΎΠ²Π° конструктора.\r\n *\r\n * @event WebAccess.components.dataViews.Grid.EVENT.CLASS_INIT\r\n * @param {object} context ссылка Π½Π° экзСмпляр класса\r\n */\r\n CLASS_INIT: 'classInit',\r\n\r\n /**\r\n * Π‘Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ Π΄ΠΎ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹.\r\n *\r\n * @event WebAccess.components.dataViews.Grid.EVENT.BEFORE_GRID_INIT\r\n * @param {string} containerSelector Π‘Π΅Π»Π΅ΠΊΡ‚ΠΎΡ€ основного ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°\r\n * @param {object} dataView Класс прСдставлСния\r\n * @param {array} visibleColumns Бписок Π²ΠΈΠ΄ΠΈΠΌΡ‹Ρ… ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ\r\n * @param {object} options ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹\r\n */\r\n BEFORE_GRID_INIT: 'gridBeforeInit',\r\n\r\n /**\r\n * Π‘Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ послС запуска конструктора.\r\n *\r\n * @event WebAccess.components.dataViews.Grid.EVENT.GRID_INIT\r\n * @param {object} context ссылка Π½Π° экзСмпляр класса\r\n */\r\n GRID_INIT: 'gridInit',\r\n\r\n /**\r\n * Π‘Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ послС ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΏΠ΅Ρ€Π΅Π΄ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΎΠΉ Π΄Π°Π½Π½Ρ‹Ρ….\r\n *\r\n * @event WebAccess.components.dataViews.Grid.EVENT.BEFORE_DATA_LOADED\r\n * @param {object} state ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ запроса\r\n */\r\n BEFORE_DATA_LOADED: 'beforeDataLoaded',\r\n\r\n /**\r\n * Π‘Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ послС Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ….\r\n *\r\n * @event WebAccess.components.dataViews.Grid.EVENT.DATA_LOADED\r\n * @param {integer} pageIndex НомСр страницы\r\n * @param {integer} count ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ записСй Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹\r\n * @param {array} records ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ записи Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹\r\n */\r\n DATA_LOADED: 'dataLoaded',\r\n\r\n /**\r\n * Π‘Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ послС Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ отобраТСния ΠΈΡ… Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅.\r\n *\r\n * @event WebAccess.components.dataViews.Grid.EVENT.AFTER_DATA_LOADED\r\n * @param {object} data ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅\r\n */\r\n AFTER_DATA_LOADED: 'afterDataLoaded',\r\n\r\n /**\r\n * Π‘Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ΠΌ списка доступных ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ.\r\n *\r\n * @event WebAccess.components.dataViews.Grid.EVENT.GET_COLUMNS_FOR_DIALOG\r\n * @param {array} columns Бписок ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ\r\n */\r\n GET_COLUMNS_FOR_DIALOG: 'getColumnsForDialog',\r\n\r\n /**\r\n * Π‘Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π΄ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ΠΌ списка Π²ΠΈΠ΄ΠΈΠΌΡ‹Ρ… ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ.\r\n *\r\n * @event WebAccess.components.dataViews.Grid.EVENT.GET_VISIBLE_COLUMNS_FOR_DIALOG\r\n * @param {array} columns Бписок ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ\r\n */\r\n GET_VISIBLE_COLUMNS_FOR_DIALOG: 'getVisibleColumnsForDialog',\r\n\r\n /**\r\n * Π‘Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π΄ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ Π² список Π²ΠΈΠ΄ΠΈΠΌΡ‹Ρ….\r\n *\r\n * @event WebAccess.components.dataViews.Grid.EVENT.GET_VISIBLE_COLUMNS_FOR_DIALOG\r\n * @param {array} columns Бписок ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ\r\n */\r\n SET_VISIBLE_COLUMNS: 'setVisibleColumns',\r\n\r\n /**\r\n * Π‘Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π΄ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ Π² список Π²ΠΈΠ΄ΠΈΠΌΡ‹Ρ….\r\n *\r\n * @event WebAccess.components.dataViews.Grid.EVENT.GET_VISIBLE_COLUMNS_FOR_DIALOG\r\n * @param {array} columns Бписок ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ\r\n */\r\n SET_VISIBLE_COLUMNS_FROM_DIALOG: 'setVisibleColumnsFromDialog',\r\n\r\n /**\r\n * Π‘Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π΅ Π½Π° страницу.\r\n *\r\n * @event WebAccess.components.dataViews.Grid.EVENT.PAGE_CHANGE\r\n * @param {integer} index НомСр страницы\r\n */\r\n PAGE_CHANGE: 'pageChange',\r\n\r\n /**\r\n * Π‘Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ смСнС количСства записСй Π½Π° страницС.\r\n *\r\n * @event WebAccess.components.dataViews.Grid.EVENT.PAGE_CHANGE\r\n * @param {integer} limit ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ количСства записСй\r\n */\r\n PAGE_LIMIT_CHANGE: 'pageLimitChange',\r\n\r\n /**\r\n * Π‘Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠΈ записСй.\r\n *\r\n * @event WebAccess.components.dataViews.Grid.EVENT.SELECTED_ROWS_CHANGED\r\n * @param {integer} limit ΠžΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅ количСства записСй\r\n */\r\n SELECTED_ROWS_CHANGED: 'selectedRowsChanged',\r\n\r\n /**\r\n * Π‘Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ.\r\n *\r\n * @event WebAccess.components.dataViews.Grid.EVENT.COLUMN_INIT\r\n * @param {object} column Колонка\r\n */\r\n COLUMN_INIT: 'columnInit',\r\n\r\n /**\r\n * Π‘Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ послС Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹.\r\n *\r\n * @event WebAccess.components.dataViews.Grid.EVENT.STATE_LOADED\r\n */\r\n STATE_LOADED: 'stateLoaded',\r\n\r\n /**\r\n * Π‘Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ смСнС ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΡ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π½Π° экранС.\r\n *\r\n * @event WebAccess.components.dataViews.Grid.EVENT.VIEWPORT_CHANGED \r\n */\r\n VIEWPORT_CHANGED: 'viewportChanged'\r\n }\r\n });\r\n\r\n})(window.WA);\r\n","\"use strict\";\r\n\r\n/**\r\n* Π”ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ.\r\n*\r\n* @class WebAccess.components.dialogs.BaseDialog\r\n* @since 5.0.0.4000\r\n* @extends BaseObject\r\n*\r\n* @property {string} id Π˜Π” Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°\r\n* @property {string} name НомСр Π½Π°Π±ΠΎΡ€Π° Π΄Π°Π½Π½Ρ‹Ρ…\r\n* @property {string} title Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ модального Π΄ΠΈΠ°Π»ΠΎΠ³Π°\r\n* @property {string} html Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ ΠΎΠΊΠ½Π°\r\n* @property {string} okText Подпись ΠΊΠ½ΠΎΠΏΠΊΠΈ Β«OKΒ»\r\n* @property {string} cancelText Подпись ΠΊΠ½ΠΎΠΏΠΊΠΈ Β«ΠžΡ‚ΠΌΠ΅Π½Π°Β»\r\n* @property {function} ok Ѐункция ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ Π²Ρ‹Π·ΠΎΠ²Π°, исполняСтся ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«OKΒ»\r\n* @property {function} cancel Ѐункция ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ Π²Ρ‹Π·ΠΎΠ²Π°, исполняСтся ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«ΠžΡ‚ΠΌΠ΅Π½Π°Β»\r\n* @property {integer} height Высота модального Π΄ΠΈΠ°Π»ΠΎΠ³Π°\r\n* @property {integer} width Π¨ΠΈΡ€ΠΈΠ½Π° модального Π΄ΠΈΠ°Π»ΠΎΠ³Π°\r\n* @property {boolean} resizable Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ измСнСния Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² ΠΎΠΊΠ½Π°\r\n* @property {boolean} modal Если Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ€Π°Π²Π½ΠΎ False, Ρ‚ΠΎ Π·Π°Π΄Π½ΠΈΠΉ ΠΏΠ»Π°Π½ затСмняСтся\r\n* @property {boolean} enterOk Если Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ€Π°Π²Π½ΠΎ True, ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° ENTER срабатываСт Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«OKΒ»\r\n* @property {boolean} isShowOkButton ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΡƒ «ОК»\r\n* @property {boolean} isShowCancelButton ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«ΠžΡ‚ΠΌΠ΅Π½Π°Β»\r\n* @property {boolean} isOpened ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠΊΠ½ΠΎ ΡƒΠΆΠ΅ ΠΎΡ‚ΠΊΡ€Ρ‹Π»ΠΎΡΡŒ\r\n* @property {boolean} isSingleme НС ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ Π½ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ, Ссли Ρ‚Π°ΠΊΠΎΠ΅ ΠΆΠ΅ ΠΎΠΊΠ½ΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎ. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ TRUE\r\n* @property {string} dialogClass Π£ΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ имя класса Π±ΡƒΠ΄Π΅Ρ‚ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ ΠΊ Π΄ΠΈΠ°Π»ΠΎΠ³Ρƒ\r\n* @property {WebAccess.components.notifications.inlineHint} inlineHint Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ ΠΎΠ± ошибкС, ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠ΅ Π½Π° страницС @since 5.0.0.7400\r\n*\r\n* @example\r\n* var dialog = new WebAccess.components.dialogs.BaseDialog();\r\n* dialog.setHtml(\"TestHTML\");\r\n* dialog.show();\r\n*\r\n* @example Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ собствСнных ΠΊΠ½ΠΎΠΏΠΎΠΊ\r\n* var dialog = new WebAccess.components.dialogs.BaseDialog();\r\n* var myButton = { id: \"myButtonID\", text: \"Button\", click: myFunction };\r\n* dialog.modalWindowButtons.push(myButton);\r\n* dialog.show();\r\n*\r\n* @example ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ сообщСния ΠΎΠ± ошибкС\r\n* var dialog = new WebAccess.components.dialogs.BaseDialog();\r\n* dialog.show();\r\n* dialog.inlineHint.showError('Π­Ρ‚ΠΎΡ‚ Π΄ΠΈΠ°Π»ΠΎΠ³ ΠΏΠΎΠΊΠ° бСсполСзСн');\r\n*/\r\n(function (global) {\r\n\r\n var BaseDialog = BaseObject.extend({\r\n init: function (settings) {\r\n this.modalWindowButtons = [];\r\n this.id = new Date().getTime(); //timestamp\r\n this._super(settings);\r\n\r\n this._setKeyBindings();\r\n\r\n if ($.isPlainObject(settings)) {\r\n $.extend(this, settings);\r\n }\r\n\r\n this.spinner = new WA.CMP.notifications.Spinner();\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n className: 'BaseDialog',\r\n dialogClass: '',\r\n inlineHint: null,\r\n id: \"0\",\r\n modalWindowButtons: [],\r\n title: L(\"MODAL_DIALOG\"),\r\n html: L(\"MODAL_DIALOG_INITIAL_TEXT\"),\r\n okText: L(\"OK\"),\r\n cancelText: L(\"CANCEL\"),\r\n closeText: L(\"CLOSE\"),\r\n ok: function () { },\r\n cancel: function () { },\r\n height: 'auto',\r\n width: 'auto',\r\n minWidth: 350,\r\n resizable: false,\r\n modal: true,\r\n enterOk: true,\r\n onOpen: function () { },\r\n onClose: function () { },\r\n isShowOkButton: true,\r\n isShowCancelButton: false,\r\n closeOnEscape: true,\r\n keyScope: 'baseDialog',\r\n isSingleme: true,\r\n keyBindings: {},\r\n spinner: null,\r\n _jContent: null,\r\n _isFitted: false,\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π—Π°Π΄Π°Π΅Ρ‚ сочСтания Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Ρ… горячих клавишь.\r\n * @private\r\n */\r\n _setKeyBindings: function () {\r\n var me = this;\r\n me.keyBindings = {\r\n \"enter\": function (e) {\r\n if (e && $(e.target).is('.ui-dialog-titlebar-close')) return;\r\n $(\"#modal_ok_button_\" + me.id).click();\r\n }\r\n };\r\n },\r\n\r\n /**\r\n * ΠŸΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€ активности с Π·Π°ΠΌΠ΅Π½ΠΎΠΉ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π° Π΄ΠΈΠ°Π»ΠΎΠ³Π°.\r\n *\r\n * @function WebAccess.components.dialogs.BaseDialog#setSpinner\r\n * @param {String} [opt_text] ВСкст Π΄ΠΈΠ°Π»ΠΎΠ³Π°\r\n * @since 5.0.0.7100\r\n * @return {WebAccess.components.dialogs.BaseDialog} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° BaseDialog.\r\n */\r\n setSpinner: function (opt_text) {\r\n opt_text = opt_text || '';\r\n this.setTitle(L('PLEASE_WAIT'));\r\n this.setHtml(`
    ${opt_text}
    `);\r\n this.spinner.showInDialog();\r\n return this;\r\n },\r\n\r\n /**\r\n * ΠŸΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€ активности.\r\n * @function WebAccess.components.dialogs.BaseDialog#showSpinner\r\n * @since 5.8.1.9000\r\n * @return {WebAccess.components.dialogs.BaseDialog} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° BaseDialog.\r\n */\r\n showSpinner: function() {\r\n this.spinner.showInDialog();\r\n return this;\r\n },\r\n\r\n /**\r\n * Π‘ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ ΠΈΠ½Π΄ΠΈΠΊΠ°Ρ‚ΠΎΡ€ активности.\r\n * @function WebAccess.components.dialogs.BaseDialog#hideSpinner\r\n * @since 5.8.1.9000\r\n * @return {WebAccess.components.dialogs.BaseDialog} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° BaseDialog.\r\n */\r\n hideSpinner: function() {\r\n this.spinner.hide();\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * УдаляСт ΠΊΠ½ΠΎΠΏΠΊΠΈ «ОК» ΠΈ Β«ΠžΡ‚ΠΌΠ΅Π½Π°Β» с Ρ„ΠΎΡ€ΠΌΡ‹ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°.\r\n *\r\n * @method WebAccess.components.dialogs.BaseDialog#removeDefaultButtons\r\n * @since 5.0.0.7200\r\n * @return {WebAccess.components.dialogs.BaseDialog} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° BaseDialog.\r\n */\r\n removeDefaultButtons: function () {\r\n this.isShowOkButton = false;\r\n this.isShowCancelButton = false;\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π‘ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ ΠΊΠ½ΠΎΠΏΠΊΡƒ закрытия Π΄ΠΈΠ°Π»ΠΎΠ³Π°.\r\n * @method WebAccess.components.dialogs.BaseDialog#removeCloseButton\r\n * @since 5.2.0.1931\r\n * @return {WebAccess.components.dialogs.BaseDialog} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° BaseDialog.\r\n */\r\n removeCloseButton: function () {\r\n if (this.isOpened())\r\n $('#dialog_content_' + this.id).parent().parent().find(\".ui-dialog-titlebar-close\").remove();\r\n else\r\n this.bind(this['class'].EVENT.AFTER_OPEN, this.removeCloseButton);\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π’ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ \"ΠžΡ‚ΠΌΠ΅Π½Π°\".\r\n * @method WebAccess.components.dialogs.BaseDialog#showCancelButton\r\n * @since 5.2.0.1300\r\n * @todo: Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π°\r\n * @return {WebAccess.components.dialogs.BaseDialog} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° BaseDialog.\r\n */\r\n showCancelButton: function () {\r\n this.isShowCancelButton = true;\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π—Π°Π΄Π°Π΅Ρ‚ ΡˆΠΈΡ€ΠΈΠ½Ρƒ ΠΎΠΊΠ½Π°.\r\n * @method WebAccess.components.dialogs.BaseDialog#setWidth\r\n * @param {integer} width Π¨ΠΈΡ€ΠΈΠ½Π° Π² пиксСлях\r\n * @since 5.2.0.1300\r\n * @todo: Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π°\r\n * @return {WebAccess.components.dialogs.BaseDialog} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° BaseDialog.\r\n */\r\n setWidth: function (width) {\r\n var me = this;\r\n me.width = width;\r\n if (me._jContent) {\r\n me._jContent.dialog(\"option\", \"width\", width);\r\n }\r\n return me;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n\r\n /**\r\n * Π—Π°Π΄Π°Π΅Ρ‚ высоту ΠΎΠΊΠ½Π°.\r\n * @method WebAccess.components.dialogs.BaseDialog#setWidth\r\n * @param {integer} height Высота Π² пиксСлях\r\n * @since 5.2.0.1300\r\n * @todo: Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π°\r\n * @return {WebAccess.components.dialogs.BaseDialog} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° BaseDialog.\r\n */\r\n setHeight: function (height) {\r\n var me = this;\r\n me.height = height;\r\n if (me._jContent) {\r\n me._jContent.dialog(\"option\", \"height\", height);\r\n }\r\n return me;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π—Π°Π΄Π°Π΅Ρ‚ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΠΎΠΊΠ½Π°.\r\n *\r\n * @method WebAccess.components.dialogs.BaseDialog#setTitle\r\n * @param {string} title Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΠΎΠΊΠ½Π°\r\n * @since 5.0.0.5000\r\n * @return {WebAccess.components.dialogs.BaseDialog} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° BaseDialog.\r\n */\r\n setTitle: function (title) {\r\n this.title = title;\r\n if (this.isOpened()) $('#dialog_content_' + this.id).parents(\".ui-dialog\").find(\".ui-dialog-title\").html(title);\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅Ρ‚, ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎ Π»ΠΈ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ.\r\n *\r\n * @function WebAccess.components.dialogs.BaseDialog#isOpened\r\n * @since 5.0.0.5000\r\n * @return {WebAccess.components.dialogs.BaseDialog} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° BaseDialog.\r\n */\r\n isOpened: function () {\r\n return ($('#dialog_content_' + this.id).length) > 0;\r\n },\r\n\r\n /**\r\n * ΠžΡ‡ΠΈΡ‰Π°Π΅Ρ‚ содСрТимоС ΠΎΠΊΠ½Π°.\r\n *\r\n * @function WebAccess.components.dialogs.BaseDialog#clear\r\n * @since 5.0.0.7100\r\n * @return {WebAccess.components.dialogs.BaseDialog} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° BaseDialog.\r\n */\r\n clear: function () {\r\n this.setHtml('');\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * УстанавливаСт содСрТимоС Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°.\r\n *\r\n * @function WebAccess.components.dialogs.BaseDialog#setHtml\r\n * @param {string} html Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ ΠΎΠΊΠ½Π° – тСкст html-Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΈ\r\n * @return {WebAccess.components.dialogs.BaseDialog} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° BaseDialog.\r\n */\r\n setHtml: function (html) {\r\n this.html = html;\r\n if (this.isOpened()) $('#dialog_content_' + this.id).html(this.html);\r\n this.hideSpinner();\r\n this._placeInCenter();\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Установка сочСтаний клавиш, для Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ ΠΎΠΊΠ½Π°.\r\n * @private\r\n */\r\n _setupKeyScope: function () {\r\n var me = this;\r\n\r\n for (var keyName in me.keyBindings) {\r\n key(keyName, me.keyScope, me.keyBindings[keyName]);\r\n }\r\n\r\n key.setScope(me.keyScope);\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π”Π΅Π»Π°Π΅Ρ‚ ΠΊΠ½ΠΎΠΏΠΊΡƒ доступной.\r\n *\r\n * @method WebAccess.components.dialogs.BaseDialog#enableButton\r\n * @param {string} buttonId Π˜Π” ΠΊΠ½ΠΎΠΏΠΊΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, \"modal_ok_button\",\"modal_cancel_button\"\r\n * @return {WebAccess.components.dialogs.BaseDialog} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° BaseDialog.\r\n */\r\n enableButton: function (buttonId) {\r\n if (!!buttonId) {\r\n $(\"#\" + buttonId + \"_\" + this.id).attr('disabled', false).removeClass(\"disabled\");\r\n $(\"#\" + buttonId).attr('disabled', false).removeClass(\"disabled\");\r\n }\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π”Π΅Π»Π°Π΅Ρ‚ ΠΊΠ½ΠΎΠΏΠΊΡƒ нСдоступной.\r\n *\r\n * @method WebAccess.components.dialogs.BaseDialog#disableButton\r\n * @param {string} buttonId Π˜Π” ΠΊΠ½ΠΎΠΏΠΊΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, \"modal_ok_button\",\"modal_cancel_button\"\r\n * @return {WebAccess.components.dialogs.BaseDialog} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° BaseDialog.\r\n */\r\n disableButton: function (buttonId) {\r\n if (!!buttonId) {\r\n $(\"#\" + buttonId + \"_\" + this.id).attr('disabled', true).addClass(\"disabled\");\r\n $(\"#\" + buttonId).attr('disabled', true).addClass(\"disabled\");\r\n }\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π˜Π·ΠΌΠ΅Π½ΡΠ΅Ρ‚ свойства ΠΊΠ½ΠΎΠΏΠΊΠΈ с ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ Π˜Π”.\r\n *\r\n * @method WebAccess.components.dialogs.BaseDialog#changeButton\r\n * @param {string} buttonId Π˜Π” ΠΊΠ½ΠΎΠΏΠΊΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ \"modal_ok_button\",\"modal_cancel_button\"\r\n * @param {object} params НовыС свойства ΠΊΠ½ΠΎΠΏΠΊΠΈ\r\n */\r\n changeButton: function (buttonId, params) {\r\n var me = this;\r\n\r\n var button = _.findWhere(me.modalWindowButtons, { id: buttonId });\r\n if (button) {\r\n _.each(_.keys(params), function (key) {\r\n button[key] = params[key];\r\n });\r\n }\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠ΅Ρ€Π΅Ρ€ΠΈΡΠΎΠ²Ρ‹Π²Π°Π΅Ρ‚ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π² Π΄ΠΈΠ°Π»ΠΎΠ³Π΅ ΠΈΠ· dialog.modalWindowButtons.\r\n *\r\n * @method WebAccess.components.dialogs.BaseDialog#updateButtons\r\n */\r\n updateButtons: function () {\r\n var me = this;\r\n me._jDialog.dialog('option', 'buttons', me.modalWindowButtons);\r\n },\r\n\r\n /**\r\n * ДобавляСт ΠΈΠΊΠΎΠ½ΠΊΡƒ ΠΊ ΠΊΠ½ΠΎΠΏΠΊΠ΅.\r\n *\r\n * @method WebAccess.components.dialogs.BaseDialog#addButtonIcon\r\n * @param {string} buttonId Π˜Π” ΠΊΠ½ΠΎΠΏΠΊΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ \"modal_ok_button\",\"modal_cancel_button\"\r\n * @param {string} iconClass Класс ΠΈΠΊΠΎΠ½ΠΊΠΈ (jQuery UI)\r\n */\r\n addButtonIcon: function (buttonId, iconClass) {\r\n var me = this;\r\n me.changeButton(buttonId, { icons: { primary: iconClass, secondary: null } });\r\n me.updateButtons();\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * УдаляСт ΠΈΠΊΠΎΠ½ΠΊΡƒ Ρƒ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ.\r\n *\r\n * @method WebAccess.components.dialogs.BaseDialog#removeButtonIcon\r\n * @param {string} buttonId Π˜Π” ΠΊΠ½ΠΎΠΏΠΊΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, \"modal_ok_button\",\"modal_cancel_button\"\r\n */\r\n removeButtonIcon: function (buttonId) {\r\n var me = this;\r\n me.changeButton(buttonId, { icons: { primary: null, secondary: null } });\r\n me.updateButtons();\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΡ‚ ΠΊΠ½ΠΎΠΏΠΊΡƒ Π² состояниС оТидания (со спиннСром).\r\n *\r\n * @method WebAccess.components.dialogs.BaseDialog#enableButtonWaitState\r\n * @param {string} buttonId Π˜Π” ΠΊΠ½ΠΎΠΏΠΊΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, \"modal_ok_button\",\"modal_cancel_button\"\r\n * @param {string} waitText ВСкст для отобраТСния Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ΅\r\n */\r\n enableButtonWaitState: function (buttonId, waitText) {\r\n var me = this;\r\n var button = _.findWhere(me.modalWindowButtons, { id: buttonId });\r\n if (button) {\r\n button.originalText = button.text;\r\n if (waitText)\r\n button.text = waitText;\r\n me.addButtonIcon(buttonId, 'ui-wait-spinner');\r\n\r\n me.disableButton(buttonId);\r\n }\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΊΠ½ΠΎΠΏΠΊΡƒ Π² Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠ΅ состояниС.\r\n *\r\n * @method WebAccess.components.dialogs.BaseDialog#disableButtonWaitState\r\n * @param {string} buttonId Π˜Π” ΠΊΠ½ΠΎΠΏΠΊΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, \"modal_ok_button\",\"modal_cancel_button\"\r\n */\r\n disableButtonWaitState: function (buttonId) {\r\n var me = this;\r\n var button = _.findWhere(me.modalWindowButtons, { id: buttonId });\r\n if (button) {\r\n if (button.orginalText)\r\n button.text = button.originalText;\r\n me.removeButtonIcon(buttonId);\r\n me.enableButton(buttonId);\r\n }\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ДобавляСт ΠΈΠΊΠΎΠ½ΠΊΡƒ справки Π½Π° Ρ„ΠΎΡ€ΠΌΡƒ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°.\r\n *\r\n * @method WebAccess.components.dialogs.BaseDialog#addHelpIcon\r\n * @param {boolean} isCustomDlg ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠ³ΠΎ Π΄ΠΈΠ°Π»ΠΎΠ³Π°\r\n * @return {WebAccess.components.dialogs.BaseDialog} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° BaseDialog.\r\n * @since 5.0.0.7300\r\n */\r\n addHelpIcon: function (isCustomDlg) {\r\n let wnd = this._getDialogTitleBar(isCustomDlg);\r\n if (wnd && wnd.length > 0) {\r\n if (wnd.find('.DialogHelpIco').length === 0) {\r\n wnd.append('');\r\n }\r\n }\r\n return this;\r\n },\r\n\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΠΎΠΊΠ½Π° Π΄ΠΈΠ°Π»ΠΎΠ³Π°.\r\n * @private\r\n */\r\n _getDialogTitleBar: function(isCustomDlg) {\r\n let wnd = this._jDialog;\r\n if (wnd && wnd.length > 0) {\r\n if (isCustomDlg !== true) {\r\n wnd = wnd.parent().find('.ui-dialog-titlebar');\r\n }\r\n }\r\n return wnd;\r\n },\r\n\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΈΠΊΠΎΠ½ΠΊΡƒ справки Π½Π° Ρ„ΠΎΡ€ΠΌΠ΅ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°.\r\n *\r\n * @method WebAccess.components.dialogs.BaseDialog#showHelpIcon\r\n * @param {boolean} isCustomDlg ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠ³ΠΎ Π΄ΠΈΠ°Π»ΠΎΠ³Π°\r\n * @param {string} contextId Π˜Π” Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ контСкста для получСния ссылки Π½Π° внСшнюю справку\r\n * @since 5.8.0.9008\r\n */\r\n showHelpIcon: function (isCustomDlg,contextId) {\r\n let wnd = this._getDialogTitleBar(isCustomDlg);\r\n let icon = wnd.find('.DialogHelpIco');\r\n if (!!window['g_ModalWindowExtHelpLinks'] && g_IsExtHelpAvailable) {\r\n // БбрасываСм click Π½Π° ΠΈΠΊΠΎΠ½ΠΊΡƒ Π‘ΠΏΡ€Π°Π²ΠΊΠΈ ΠΈ Π·Π°ΠΏΡ€Π΅Ρ‰Π°Π΅ΠΌ Π΄Π°Π»ΡŒΠ½Π΅ΠΉΡˆΡƒΡŽ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ Π² Core\r\n icon.off('click').addClass('inited').attr('title', L('HELP'));\r\n\r\n const helpLinks = window['g_ModalWindowExtHelpLinks'][contextId];\r\n if (helpLinks) {\r\n let lastHelpLink;\r\n let menuItems = [];\r\n for (helpLink in helpLinks) {\r\n lastHelpLink = helpLink;\r\n let currentLink = helpLinks[helpLink];\r\n let click = ( (_currentLink) => {\r\n return () => { window.open(_currentLink); };\r\n })(currentLink);\r\n menuItems.push({\r\n text: helpLink,\r\n onClick: click,\r\n });\r\n };\r\n if (menuItems.length > 0) {\r\n menuItems[menuItems.length - 1].separator = true;\r\n }\r\n\r\n if (menuItems.length === 1) {\r\n icon.on('click', ()=> {\r\n window.open(lastHelpLink);\r\n });\r\n } else {\r\n let menu = new ContextMenu(menuItems);\r\n $(icon).contextMenu(menu, \"click\");\r\n }\r\n };\r\n }\r\n icon.show();\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n onOK: function (callback) {\r\n this.ok = WA.TCD(callback);\r\n return this;\r\n },\r\n\r\n onCancel: function (callback) {\r\n this.cancel = WA.TCD(callback);\r\n return this;\r\n },\r\n\r\n /**\r\n * ΠŸΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ.\r\n *\r\n * @function WebAccess.components.dialogs.BaseDialog#show\r\n * @return {WebAccess.components.dialogs.BaseDialog} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° BaseDialog.\r\n */\r\n show: function () {\r\n var me = this;\r\n\r\n //ΡΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ всС ΠΊΠ°Π»Π΅Π½Π΄Π°Ρ€ΠΈ\r\n $('.ui-datepicker').hide();\r\n\r\n if (me.isSingleme && $(\"div#dialog_content_\" + me.id).length > 0) return me;\r\n\r\n var existingButtons = [];\r\n for (var i = 0; i < me.modalWindowButtons.length; i++) {\r\n existingButtons.push(me.modalWindowButtons[i].id);\r\n if (me.modalWindowButtons[i].closeDialog === undefined || !!me.modalWindowButtons[i].closeDialog) {\r\n me.modalWindowButtons[i].click = me.modalWindowButtons[i].click.override(function () {\r\n var res = this.superFunction();\r\n if (res === false) { return res; }\r\n $(this).dialog(\"close\");\r\n $(this).remove();\r\n return res;\r\n });\r\n me.modalWindowButtons[i]['data-name'] = me.modalWindowButtons[i].id;\r\n }\r\n }\r\n\r\n if (me.isShowOkButton) {\r\n if (existingButtons.indexOf(\"modal_ok_button_\" + me.id) === -1)\r\n me.modalWindowButtons.push({\r\n id: \"modal_ok_button_\" + me.id,\r\n text: me.okText,\r\n click: function () { if (me.ok(this) === false) { return; } $(this).dialog(\"close\"); $(this).remove(); },\r\n 'class': 'primary',\r\n 'data-name': 'OkButton'\r\n });\r\n }\r\n if (me.isShowCancelButton) {\r\n if (existingButtons.indexOf(\"modal_cancel_button_\" + me.id) === -1)\r\n me.modalWindowButtons.push({\r\n id: \"modal_cancel_button_\" + me.id,\r\n text: me.cancelText,\r\n click: function () { if (me.cancel(this) === false) { return; } $(this).dialog(\"close\"); $(this).remove(); },\r\n 'data-name': 'CancelButton'\r\n });\r\n }\r\n\r\n /**\r\n * ΠŸΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° OK Π²Ρ‹Π·ΠΎΠ²Π΅ΠΌ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ событиС, для этого\r\n * Π·Π°Π΄Π΅ΠΊΠΎΡ€ΠΈΡ€ΡƒΠ΅ΠΌ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Ρƒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ своСй Π»ΠΎΠ³ΠΈΠΊΠΈ\r\n * @ignore\r\n */\r\n me.ok = me.ok.override(\r\n function () {\r\n me.fire(\"ok\");\r\n return this.superFunction();\r\n }\r\n );\r\n\r\n if (me.cancel) {\r\n me.cancel = me.cancel.override(\r\n function () {\r\n me.fire(\"cancel\");\r\n return this.superFunction();\r\n });\r\n }\r\n\r\n $(\"div#dialog_content_\" + me.id).parent(\"div\").remove();\r\n\r\n me._jDialog = $('
    ', { html: '
    ' + me.html + '
    ' });\r\n\r\n var globalPrevBeforeUnloadFunc = null;\r\n var globalPrevFormVal = '';\r\n me._jContent = me._jDialog.dialog({\r\n zIndex: 1000,\r\n title: me.title,\r\n resizable: me.resizable,\r\n height: me.height,\r\n width: me.width,\r\n modal: me.modal,\r\n dialogClass: me.dialogClass,\r\n closeText: me.closeText,\r\n open: function () {\r\n // БохраняСм ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π΅ состояниС Ρ„ΠΎΡ€ΠΌΡ‹, Ρ‡Ρ‚ΠΎ Π±Ρ‹ ΠΏΡ€ΠΈ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π΄ΠΈΠ°Π»ΠΎΠ³Π° Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ это Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.\r\n globalPrevFormVal = window['g_prevFormVal'];\r\n globalPrevBeforeUnloadFunc = window.onbeforeunload;\r\n\r\n if (me.height == 'auto') {\r\n if (me._jDialog.height() > $(window).height() * 0.8) {\r\n var optimalHeight = Math.round(0.8 * windowHeight());\r\n me._jDialog.dialog(\"option\", \"height\", optimalHeight);\r\n me._isFitted = true;\r\n }\r\n }\r\n\r\n me.inlineHint = new WA.CMP.NTF.InlineHint({}, me.id);\r\n me._setupKeyScope();\r\n hideAllPopups();\r\n me.fire(\"show\");\r\n me.fire(me['class'].EVENT.AFTER_OPEN, me);\r\n if (me.onOpen) me.onOpen();\r\n AdjustDialogIfIpad(me.width);\r\n var buttons = me._jDialog.next();\r\n InitHoverForButtons(buttons);\r\n me._jDialog.find('.ui-dialog-content').css('overflow', 'auto');\r\n me._jDialog.css(\"min-width\", me.minWidth);\r\n me._placeInCenter();\r\n $(window).on(\"resizeEnd.BaseDialog\", function () {\r\n me._placeInCenter();\r\n });\r\n },\r\n autoOpen: true,\r\n beforeClose: function (event) {\r\n if (me.fire(me['class'].EVENT.BEFORE_CLOSE, me) === false) return false;\r\n if (event.keyCode === $.ui.keyCode.ESCAPE) {\r\n if (me.closeOnEscape) {\r\n me.bind(me['class'].EVENT.AFTER_CLOSE, function (event) {\r\n // ПослС закрытия ΠΏΠΎ esc Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌ destroy, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ Π΄ΠΈΠ°Π»ΠΎΠ³, Π° Π½Π΅ просто ΡΠΊΡ€Ρ‹Ρ‚ΡŒ\r\n me._jContent.dialog('destroy');\r\n });\r\n }\r\n return (me.fire(me['class'].EVENT.BEFORE_CLOSE_BY_ESCAPE, me) !== false);\r\n }\r\n },\r\n close: function () {\r\n $(window).off(\"resizeEnd.BaseDialog\");\r\n if (me.onClose) me.onClose();\r\n //clearAllModalDivs();\r\n hideAllPopups();\r\n me.fire(me['class'].EVENT.AFTER_CLOSE, me);\r\n key.setScope('common');\r\n // ВосстанавливаСм ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π΅ состояниС Ρ„ΠΎΡ€ΠΌΡ‹, Ссли Π΅Ρ‰Π΅ Π½Π°Π΄ΠΎ.\r\n if (window.onbeforeunload) {\r\n window['g_prevFormVal'] = globalPrevFormVal;\r\n window.onbeforeunload = globalPrevBeforeUnloadFunc;\r\n }\r\n },\r\n buttons: me.modalWindowButtons,\r\n closeOnEscape: me.closeOnEscape\r\n });\r\n\r\n me.addHelpIcon();\r\n me._setStatisticsClasses();\r\n\r\n let jDialog = $('.ui-dialog-content');\r\n let jDialogLoader = jDialog.find('.ui-dialog-loader');\r\n if (!jDialogLoader) {\r\n jDialog.after('
    ');\r\n }\r\n\r\n me.fire('OnAfterOpen');\r\n me._jContent.parent().find(\".ui-dialog-titlebar-close\").off('click').on('click', function () {\r\n if (me.fire(me['class'].EVENT.BEFORE_CLOSE_BY_CROSS, me) !== false) {\r\n me.close();\r\n };\r\n });\r\n\r\n return me;\r\n },\r\n\r\n // Π‘ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ Π΄ΠΈΠ°Π»ΠΎΠ³Π° Π² Ρ†Π΅Π½Ρ‚Ρ€ экрана.\r\n _placeInCenter: function () {\r\n var jDialog = $('#dialog_content_' + this.id).parent();\r\n jDialog.parent().position({\r\n my: \"center center\",\r\n at: \"center center\",\r\n of: window\r\n });\r\n },\r\n\r\n /**\r\n * Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ классов для клиСнтской статистики.\r\n * @function WebAccess.components.dialogs.BaseDialog#close\r\n * @return {WebAccess.components.dialogs.BaseDialog}\r\n * @private\r\n */\r\n _setStatisticsClasses: function () {\r\n // Для статистики.\r\n var jModalWindowContainer = this._jContent.parents('.ui-dialog').addClass(\"stat_ModalWindow_\" + this.className).attr(\"data-stataction\", 'ModalWindow');\r\n jModalWindowContainer.find('.ui-dialog-titlebar').addClass('stat_Title');\r\n jModalWindowContainer.find('.ui-dialog-titlebar-close').attr('data-name', 'CloseIcon');\r\n jModalWindowContainer.find('.DialogHelpIco').attr('data-name', 'HelpIcon');\r\n jModalWindowContainer.find('.ui-dialog-content').addClass('stat_Content');\r\n jModalWindowContainer.find('.ui-dialog-buttonpane').addClass('stat_Buttons');\r\n },\r\n\r\n /**\r\n * Π—Π°ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ.\r\n *\r\n * @function WebAccess.components.dialogs.BaseDialog#close\r\n * @return {WebAccess.components.dialogs.BaseDialog} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° BaseDialog.\r\n */\r\n close: function () {\r\n if (!!this._jContent) {\r\n //просто close Π½Π΅ удаляСт вСрстку, Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ прячСт\r\n //поэтому Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌ destroy\r\n //Π½ΠΎ close Ρ‚ΠΎΠΆΠ΅ Π½ΡƒΠΆΠ΅Π½, ΠΈΠ½Π°Ρ‡Π΅ Π½Π΅ ΠΎΡ‚Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ события\r\n this._jContent.dialog('close');\r\n this._jContent.dialog('destroy');\r\n }\r\n return this;\r\n }\r\n\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n },\r\n {\r\n EVENT: {\r\n\r\n /**\r\n * Π‘Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π΄ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ΠΌ модального ΠΎΠΊΠ½Π°.\r\n * МоТно ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Π΄ΠΈΠ°Π»ΠΎΠ³Π°, Π²Π΅Ρ€Π½ΡƒΠ² false Π² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ΅ события.\r\n * @event WebAccess.components.dialogs.BaseDialog.EVENT.BEFORE_CLOSE\r\n * @param {WebAccess.components.dialogs.BaseDialog} dialog экзСмпляр Π΄ΠΈΠ°Π»ΠΎΠ³Π°\r\n * @since 5.2.0.1600\r\n */\r\n BEFORE_CLOSE: 'beforeClose',\r\n\r\n /**\r\n * Π‘Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π΄ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ΠΌ модального ΠΎΠΊΠ½Π° ΠΎΡ‚ наТатия ΠΊΠ½ΠΎΠΏΠΊΠΈ Escape.\r\n * МоТно ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Π΄ΠΈΠ°Π»ΠΎΠ³Π°, Π²Π΅Ρ€Π½ΡƒΠ² false Π² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ΅ события.\r\n * @event WebAccess.components.dialogs.BaseDialog.EVENT.BEFORE_CLOSE_BY_ESCAPE\r\n * @param {WebAccess.components.dialogs.BaseDialog} dialog экзСмпляр Π΄ΠΈΠ°Π»ΠΎΠ³Π°\r\n * @since 5.2.0.1600\r\n */\r\n BEFORE_CLOSE_BY_ESCAPE: 'escapeClose',\r\n\r\n /**\r\n * Π‘Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π΄ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ΠΌ модального ΠΎΠΊΠ½Π° ΠΎΡ‚ наТатия Π½Π° крСстик Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ ΠΎΠΊΠ½Π°.\r\n * МоТно ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Π΄ΠΈΠ°Π»ΠΎΠ³Π°, Π²Π΅Ρ€Π½ΡƒΠ² false Π² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ΅ события.\r\n * @event WebAccess.components.dialogs.BaseDialog.EVENT.BEFORE_CLOSE_BY_CROSS\r\n * @param {WebAccess.components.dialogs.BaseDialog} dialog экзСмпляр Π΄ΠΈΠ°Π»ΠΎΠ³Π°\r\n * @since 5.2.0.1600\r\n */\r\n BEFORE_CLOSE_BY_CROSS: 'crossClose',\r\n\r\n /**\r\n * Π‘Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ послС закрытия Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°.\r\n * @event WebAccess.components.dialogs.BaseDialog.EVENT.AFTER_CLOSE\r\n * @param {WebAccess.components.dialogs.BaseDialog} dialog экзСмпляр Π΄ΠΈΠ°Π»ΠΎΠ³Π°\r\n * @since 5.2.0.1600\r\n */\r\n\r\n AFTER_CLOSE: 'close',\r\n\r\n /**\r\n * Π‘Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π΄ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ΠΌ модального ΠΎΠΊΠ½Π°.\r\n * МоТно ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Π΄ΠΈΠ°Π»ΠΎΠ³Π°, Π²Π΅Ρ€Π½ΡƒΠ² false Π² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ΅ события.\r\n * @event WebAccess.components.dialogs.BaseDialog.EVENT.AFTER_OPEN\r\n * @param {WebAccess.components.dialogs.BaseDialog} dialog экзСмпляр Π΄ΠΈΠ°Π»ΠΎΠ³Π°\r\n * @since 5.2.0.1600\r\n */\r\n AFTER_OPEN: 'open',\r\n\r\n /**\r\n * Π‘Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ послС закрытия модального ΠΎΠΊΠ½Π° ΠΏΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ΅ ОК.\r\n * @event WebAccess.components.dialogs.BaseDialog.EVENT.AFTER_CLOSE_BY_OK\r\n * @param {WebAccess.components.dialogs.BaseDialog} dialog экзСмпляр Π΄ΠΈΠ°Π»ΠΎΠ³Π°\r\n * @since 5.2.0.1600\r\n */\r\n AFTER_CLOSE_BY_OK: 'ok',\r\n\r\n /**\r\n * Π‘Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ послС закрытия модального ΠΎΠΊΠ½Π° ΠΏΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ΅ ΠžΡ‚ΠΌΠ΅Π½Π°.\r\n * @event WebAccess.components.dialogs.BaseDialog.EVENT.AFTER_CLOSE_BY_OK\r\n * @param {WebAccess.components.dialogs.BaseDialog} dialog экзСмпляр Π΄ΠΈΠ°Π»ΠΎΠ³Π°\r\n * @since 5.2.0.1934\r\n */\r\n AFTER_CLOSE_BY_CANCEL: 'cancel'\r\n }\r\n });\r\n\r\n global.BaseDialog = BaseDialog;\r\n})(window.WebAccess.components.dialogs);\r\n","\"use strict\";\r\n\r\n/**\r\n * ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ элСмСнта мноТСствСнного Π²Ρ‹Π±ΠΎΡ€Π°.\r\n *\r\n * @typedef {Object} WebAccess.components.dialogs.BaseMultiSelect.multiSelectItem\r\n * @property {string} id Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ элСмСнта Ρ„ΠΎΡ€ΠΌΡ‹\r\n * @property {string} name Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ элСмСнта Ρ„ΠΎΡ€ΠΌΡ‹. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ поля ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ установлСно\r\n * @since 5.0.0.4211\r\n *\r\n * @example\r\n * var items = [\r\n * { \"name\": \"ΠŸΡƒΠ½ΠΊΡ‚ 1\", \"id\": 1 },\r\n * { \"name\": \"ΠŸΡƒΠ½ΠΊΡ‚ 2\", \"id\": 2 }\r\n * ];\r\n * multiDialog = new WebAccess.components.dialogs.SelectableMultiSelect(items);\r\n * multiDialog.show();\r\n */\r\n\r\n/**\r\n* Π”ΠΈΠ°Π»ΠΎΠ³ мноТСствСнного Π²Ρ‹Π±ΠΎΡ€Π°.\r\n*\r\n* ΠŸΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π΄Π²Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°-массива, Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… являСтся ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌ.\r\n* Π’ΠΎ врСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π΅ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² ΠΈΠ»ΠΈ содСрТимого массивов.\r\n* ПовСдСниС событий Π΄ΠΈΠ°Π»ΠΎΠ³Π° ok ΠΈ selectComplete ΠΎΡ‚Π΄Π½ΠΎΡ‚ΠΈΠΏΠ½ΠΎ.\r\n* ΠžΡ‚Π»ΠΈΡ‡ΠΈΠ΅ Π² Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ событиС ok срабатываСт, Ссли ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ для мноТСствСнного Π²Ρ‹Π±ΠΎΡ€Π° Π½Π΅ ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ.\r\n*\r\n* @class WebAccess.components.dialogs.BaseMultiSelect\r\n* @extends WebAccess.components.dialogs.BaseDialog\r\n\r\n* @param {array} availableItems Бписок доступных элСмСнтов, Π² Ρ‚ΠΎΠΌ числС элСмСнты, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ‹Π»ΠΈ Π²Ρ‹Π±Ρ€Π°Π½Ρ‹. ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ΡΡ Π² Π»Π΅Π²ΠΎΠΉ части ΠΎΠΊΠ½Π°\r\n* @param {array} [opt_selectedItems] Бписок Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Ρ… элСмСнтов. ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ΡΡ Π² ΠΏΡ€Π°Π²ΠΎΠΉ части ΠΎΠΊΠ½Π°\r\n* @param {object} [opt_settings] Настройки модального ΠΎΠΊΠ½Π°\r\n* @property {string} className Имя Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ класса\r\n* @property {boolean} isReadonly ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ содСрТимоС нСдоступно для измСнСния\r\n* @property {string} defaultRecordIcon Иконка элСмСнта списка доступных элСмСнтов\r\n* @property {string} defaultMarkedRecordIcon Иконка Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ элСмСнта\r\n* @property {string} isSelectionChanged ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ список Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Ρ… элСмСнтов измСнился\r\n* @property {string} filterPlaceholder ВСкст подсказки для Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ\r\n* @property {string} filteredItemsEmptyPlaceholder ВСкст, ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΡ‹ΠΉ Π² случаС, Ссли послС Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ элСмСнты ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ Π² спискС\r\n* @throws ERR_NOT_ALL_REQUIRED_ARGUMENTS_HAVE_BEEN_SUPLIED – Π·Π°Π΄Π°Π½Ρ‹ Π½Π΅ всС ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹.\r\n* @since 5.0.0.4000\r\n* @example\r\n* var items = [{id:\"1\", name: \"firstItem\"},\r\n* {id:\"2\", name: \"secondItem\"}];\r\n* var dialog = new WebAccess.components.dialogs.BaseMultiSelect(items);\r\n* dialog.bind(\"ok\", function(data) {console.log(data);});\r\n* dialog.show();\r\n*/\r\n(function (global) {\r\n var BaseMultiSelect = global.BaseDialog.extend({\r\n\r\n title: L(\"MODAL_DIALOG_SELECTED_ITEMS\"),\r\n width: 925,\r\n height: 450,\r\n availableItemslabel: L(\"MODAL_DIALOG_ALL_ITEMS\"),\r\n selectedItemslabel: L(\"MODAL_DIALOG_SELECTED_ITEMS\"),\r\n filterPlaceholder: L(\"MODAL_DIALOG_SEARCH_IN_ITEMS\"),\r\n filteredItemsEmptyPlaceholder: L(\"MODAL_DIALOG_NO_ITEMS\"),\r\n\r\n className: \"BaseMultiSelect\",\r\n\r\n isReadonly: false,\r\n defaultRecordIcon: \"referenceRecord-16\",\r\n defaultMarkedRecordIcon: \"referenceRecordSelected-16\",\r\n isSelectionChanged: false,\r\n\r\n _html: \"\",\r\n _navigationKeyCodes: [27, 9, 13, 37, 38, 39, 40],\r\n _handlers: {},\r\n _jSelectedItemsTable: null,\r\n _jAvailableItemsList: null,\r\n _lastFilterValue: null,\r\n _displayOptions: false,\r\n _datatable: null,\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n init: function (availableItems, opt_selectedItems, opt_settings) {\r\n var instance = this;\r\n\r\n if (!availableItems) WebAccess.raise(\"ERR_NOT_ALL_REQUIRED_ARGUMENTS_HAVE_BEEN_SUPLIED\");\r\n this.availableItems = availableItems;\r\n this.selectedItems = opt_selectedItems || [];\r\n\r\n this._super(opt_settings);\r\n\r\n /** @this - здСсь, это элСмСнт Π½Π°Π΄ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ производятся манипуляции, Π° Π½Π΅ контСкст класса BaseMultiSelect; */\r\n /** Когда курсор ΠΌΡ‹ΡˆΠΈ ΡƒΠ±Π΅ΠΆΠ°Π» с элСмСнта ΠΈΠ· области Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Ρ… записСй */\r\n this._handlers._hoverItem = function (event) {\r\n instance._hoverItem(this);\r\n };\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /** Когда курсор ΠΌΡ‹ΡˆΠΈ ΡƒΠ±Π΅ΠΆΠ°Π» с элСмСнта ΠΈΠ· области Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Ρ… записСй */\r\n this._handlers._unhoverItem = function (event) {\r\n instance._unhoverItem(this);\r\n };\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /** Π’Ρ‹Π±ΠΎΡ€ элСмСнта ΠΈ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ Π΅Π³ΠΎ Π² список Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Ρ…. */\r\n this._handlers.selectItem = function (event) {\r\n if (!instance.isReadonly) {\r\n var item = $(this);\r\n var id = item.attr('id');\r\n var field = item.attr('field');\r\n var name = item.find('.recordlist-item__name').text();\r\n\r\n var newItem = {\r\n id: id,\r\n name: '' + name,\r\n field: '' + field\r\n };\r\n\r\n instance._addItemToSelectedItems([newItem]);\r\n instance.fire(\"itemSelect\", newItem);\r\n }\r\n };\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /** Π€ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡ записСй Π² Π»Π΅Π²ΠΎΠΉ части */\r\n this._handlers.keyPressEventHandler = function (event) {\r\n this._jAvailableItemsList = $('#recordsList');\r\n if ($.inArray(event.keyCode, instance._navigationKeyCodes) > -1) {\r\n\r\n if (event.keyCode == 9) {\r\n $(this).blur();\r\n var firstItem = this._jAvailableItemsList.find('div.item:visible:first');\r\n if (firstItem.hasClass('item')) firstItem.addClass(\"over\");\r\n\r\n this._jAvailableItemsList.scrollTop(0);\r\n return false;\r\n }\r\n //me._NavigationKeyPressHandler(ev);\r\n } else {\r\n var placeholder = this._jAvailableItemsList.find(\"#empty-with-filter\");\r\n\r\n var term = $(this).val();\r\n this._jAvailableItemsList.find(\"div.item\").show().not(\":Contains('\" + term + \"')\").hide();\r\n\r\n if (this._jAvailableItemsList.find(\"div.item:visible\").length === 0) {\r\n placeholder.removeClass(\"hidden\");\r\n } else {\r\n placeholder.addClass(\"hidden\");\r\n }\r\n }\r\n\r\n return undefined;\r\n };\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n this._handlers.upDownKeyNavigation = function (down) {\r\n this._jAvailableItemsList = $('#recordsList');\r\n var currentItem = instance._jAvailableItemsList.find('div.item.over:visible');\r\n if (currentItem.length) {\r\n // ΠΎΡ‚ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ элСмСнта Π΄Π΅Π»Π°Π΅ΠΌ поиск Π² 3-Ρ… направлСниях: Π² Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΡ… элСмСнтах, Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… элСмСнтах Π½Π° ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ Π²Ρ‹ΡˆΠ΅ ΠΈ Π² элСмСнтах Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ уровня\r\n var nextItem;\r\n if (down) {\r\n nextItem = currentItem.find('.item:visible:first,.recordGroup:visible:first').first();\r\n if (nextItem.length === 0) { // Ссли Π½Π΅ нашли Π²Π½ΠΈΠ·Ρƒ\r\n nextItem = instance._findSiblingOrParent(currentItem, down);\r\n }\r\n if (nextItem.html() === currentItem.parent().html()) {\r\n nextItem = currentItem;\r\n }\r\n }\r\n else {\r\n nextItem = instance._findSiblingOrParent(currentItem, down);\r\n }\r\n if (nextItem.length) {\r\n currentItem.hasClass('item') ? instance._unhoverItem(currentItem) : instance.UnhoverGroup(currentItem);\r\n nextItem.hasClass('item') ? instance._hoverItem(nextItem) : me.HoverGroup(nextItem);\r\n instance._scrollListToHoveredItem(nextItem, down);\r\n }\r\n }\r\n else {\r\n var jItem;\r\n\r\n if (down) {\r\n jItem = instance._jAvailableItemsList.find('.item:visible:first,.recordGroup:visible:first').first();\r\n jItem.hasClass('item') ? instance._hoverItem(jItem) : instance.HoverGroup(jItem);\r\n instance.recordsList.scrollTop(0);\r\n }\r\n else {\r\n jItem = instance._jAvailableItemsList.find('.item:visible:last,.recordGroup:visible:last').last();\r\n jItem.hasClass('item') ? instance._hoverItem(jItem) : instance.HoverGroup(jItem);\r\n instance.recordsList.scrollTop(100000);\r\n }\r\n }\r\n };\r\n\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n this._handlers.rightArrowKeyPress = function () {\r\n };\r\n\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n this._handlers.leftArrowKeyPress = function () {\r\n };\r\n\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n this._handlers.deleteKeyPress = function () {\r\n this._jSelectedItemsTable = $('#selectedRecordsScrollArea').find('table');\r\n var idToRemove = instance._jAvailableItemsList.find('.item.over').attr('id');\r\n if (idToRemove) {\r\n var rowDeleteButton = instance._jSelectedItemsTable.find('tr[id=' + idToRemove + ']').find('.removeFromSelect');\r\n instance.deleteItemFromSelectedItemsTable(rowDeleteButton);\r\n }\r\n };\r\n\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /** Π’Π΅Ρ€Π½Π΅ΠΌ всС, Ρ‡Ρ‚ΠΎ Π½Π°Π²Ρ‹Π±ΠΈΡ€Π°Π»ΠΈ Π² ok callback, ΠΈ Π΅Ρ‰Π΅ выбросим событиС с Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ\r\n * @ignore\r\n */\r\n this.ok = this.ok.override(\r\n function () {\r\n instance.fire(\"ok\", instance.selectedItems);\r\n if (this.isSelectionChanged) instance.fire(\"selectComplete\", instance.selectedItems);\r\n this.superFunction(instance.selectedItems);\r\n }\r\n );\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ html Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΈ ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ²\r\n * @private\r\n */\r\n _preInit: function () {\r\n this._prepareAvailableItemsArea();\r\n this._prepareSelectedItemsArea();\r\n },\r\n\r\n /**\r\n * Π˜Π½ΠΈΡ†ΠΈΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ jQuery ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ навСшиваниС Π½Π° Π½ΠΈΡ… событий,\r\n * функция вызываСтся ΠΊΠΎΠ³Π΄Π° модальноС ΠΎΠΊΠ½ΠΎ ΠΈ всС Π΅Π³ΠΎ элСмСнты Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Ρ‹.\r\n * @private\r\n */\r\n _postInit: function () {\r\n this._jSelectedItemsTable = $('#selectedRecordsScrollArea').find('table');\r\n this._jAvailableItemsList = $('#recordsList');\r\n this._jFilterInput = $('#filterInput');\r\n this._initEvents();\r\n\r\n this._markSelectedItemsInAvailableItemsList();\r\n this._fixSelectedItemsTableBorder();\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° области с доступными записями\r\n * @private\r\n */\r\n _prepareAvailableItemsArea: function () {\r\n var renderedItems = \"\";\r\n for (var i = 0, l = this.availableItems.length; i < l; i++) {\r\n this.availableItems[i][\"default_icon\"] = this.defaultRecordIcon;\r\n this.availableItems[i][\"url\"] = this.availableItems[i][\"url\"] || \"#\";\r\n renderedItems += format(CT.dialog.availableItem, this.availableItems[i]);\r\n }\r\n var isAreaReadonly = this.isReadonly ? 'readonly' : '';\r\n var osName = WA.ENV.os.name.toLowerCase();\r\n this._html = format(CT.dialog.availableItemsArea, {\r\n is_readonly: isAreaReadonly,\r\n label: this.availableItemslabel,\r\n tooltip: L(\"NAME\"),\r\n redaonly_attr: \"\",\r\n data: renderedItems,\r\n placeholder_message: this.filteredItemsEmptyPlaceholder,\r\n tabindex: (osName === 'ios' || osName == 'android') ? 'tabindex = \"-1\"' : ''\r\n });\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠžΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Π΅ записи(Ρ‚Π΅ Ρ‡Ρ‚ΠΎ Π²ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΌ массивС) Π³Π°Π»ΠΎΡ‡ΠΊΠΎΠΉ.\r\n * Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ послС ΠΏΠΎΠΊΠ°Π·Π° модального ΠΎΠΊΠ½Π°.\r\n * @private\r\n */\r\n _markSelectedItemsInAvailableItemsList: function () {\r\n var selItems = this.selectedItems;\r\n for (var i = 0, len = selItems.length; i < len; i++) {\r\n this._markRecord(selItems[i].id, true);\r\n }\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π‘Ρ‚Ρ€ΠΎΠΈΡ‚ html для области с Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΌΠΈ записями.\r\n * @private\r\n */\r\n _prepareSelectedItemsArea: function () {\r\n var renderedItems = \"\";\r\n\r\n for (var i = 0, l = this.selectedItems.length; i < l; i++) {\r\n var selected = this._renderSelectedItem(this.selectedItems[i]);\r\n renderedItems += selected;\r\n }\r\n\r\n var displayDelete = this.isReadonly ? 'hidden' : '';\r\n var displayOptions = !this._displayOptions || this.isReadonly ? 'hidden' : '';\r\n\r\n this._html += format(CT.dialog.selectedItemsArea, {\r\n label: this.selectedItemslabel,\r\n extra_attributes: \"\",\r\n name: L(\"NAME\"),\r\n data: renderedItems,\r\n display_delete: displayDelete,\r\n display_options: displayOptions,\r\n option_name: \"\",\r\n area_class: 'stat_SelectedItems'\r\n });\r\n\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ html прСдставлСния для элСмСнта массива Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Ρ… ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠ² {id:\"\", name: \"\"};\r\n * @private\r\n */\r\n _renderSelectedItem: function (item) {\r\n item[\"display_delete\"] = this.isReadonly ? 'hidden' : '';\r\n item[\"delete_title\"] = L(\"DELETE\");\r\n item[\"url\"] = item[\"url\"] || \"#\";\r\n item[\"display_options\"] = 'hidden';\r\n item[\"name\"] = escapeHtml(item[\"name\"]);\r\n return format(CT.dialog.selectedItem, item);\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ВызываСтся сразу послС открытия ΠΌΠΎΠ΄Π°Π»ΠΊΠΈ, Π½Π°Π²Π΅ΡˆΠΈΠ²Π°Π΅Ρ‚ события Π½Π° эСлСмСнты списков\r\n * @private\r\n */\r\n _initEvents: function () {\r\n this._initSelectedItemsEvents();\r\n this._InitAvailableItemsListEvents();\r\n this._initFilterInputEvents();\r\n\r\n this.bind(\"itemSelect\", function () {\r\n this.isSelectionChanged = true;\r\n });\r\n this.bind(\"itemUnSelect\", function () {\r\n this.isSelectionChanged = true;\r\n });\r\n\r\n this._initExtraEvents();\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π§Ρ‚ΠΎΠ±Ρ‹ ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ Π² наслСдниках\r\n * @private\r\n */\r\n _initExtraEvents: function() {\r\n\r\n },\r\n\r\n /**\r\n * ВызываСтся сразу послС открытия ΠΌΠΎΠ΄Π°Π»ΠΊΠΈ, Π½Π°Π²Π΅ΡˆΠΈΠ²Π°Π΅Ρ‚ события Π½Π° эСлСмСнты списков\r\n * @private\r\n */\r\n _initFilterInputEvents: function () {\r\n var instance = this;\r\n\r\n this._jFilterInput.bind('keypress keyup', instance._handlers.keyPressEventHandler);\r\n if (WA.ENV.isAndroid()) { this._jFilterInput.bind('change', instance._handlers.keyPressEventHandler); }//Π½Π° Π°Π½Π΄Ρ€ΠΎΠΈΠ΄Π΅ Ρ‚Π°ΠΊ\r\n if (WA.ENV.os.name.toLowerCase() === 'ios') {\r\n this._jFilterInput.blur();\r\n }\r\n this._InitKeyNavigation();\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Если Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° Ρ‡Ρ‚Π΅Π½ΠΈΠ΅, Ρ‚ΠΎ Π·Π°ΠΏΡ€Π΅Ρ‰Π°Π΅ΠΌ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ записи.\r\n * Для Π°ΠΉΠΏΠ°Π΄Π° ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ Ρ…ΠΎΠ²Π΅Ρ€Ρ‹\r\n * @private\r\n */\r\n _InitAvailableItemsListEvents: function (block, isNeedProcessChild) {\r\n var instance = this;\r\n var _hoverItem = function () { this._handlers._hoverItem(this); };\r\n var _unhoverItem = function () { this._handlers._unhoverItem(this); };\r\n\r\n var items = $([]); // = block ? block.find('div.item') : me.recordsList.find('div.item');\r\n\r\n items = this._jAvailableItemsList.find('div.item');\r\n\r\n if (!this.isReadonly) {\r\n items.on('click.MultiSelectModalWindow', instance._handlers.selectItem);\r\n\r\n if (!$.ipad && !WA.ENV.isAndroid()) { //\r\n items.hover(this._handlers._hoverItem, this._handlers._unhoverItem);\r\n }\r\n //me._InitScrollForTouchScreens();\r\n }\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * @private\r\n */\r\n _getColumnsInfo: function() {\r\n var cols = [];\r\n // Колонка для удалСния Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΉ записи.\r\n if (!this.isReadonly) {\r\n var colWidth = WA.ENV.isMobile() ? '20px' : '15px';\r\n cols.push({ \"sWidth\": colWidth, \"bVisible\": true, \"bSortable\": false });\r\n } else {\r\n cols.push({ \"bVisible\": false, \"bSortable\": false });\r\n }\r\n // Колонка \"НаимСнованиС\"\r\n cols.push({ \"bVisible\": true, \"sWidth\": '400px', \"bSortable\": false });\r\n // Бкрытая ΠΎΠΏΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Π°Ρ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°\r\n if (!this.isReadonly && this._displayOptions) cols.push({ \"bVisible\": false, \"sWidth\": \"0\", \"bSortable\": false });\r\n else cols.push({ \"bVisible\": false, \"bSortable\": false });\r\n return cols;\r\n },\r\n\r\n /**\r\n * Установка событий для ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΎΠ² Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Ρ… элСмСнтов\r\n * @private\r\n */\r\n _initSelectedItemsEvents: function () {\r\n var cols = this._getColumnsInfo();\r\n this._datatable = this._jSelectedItemsTable.dataTable({\r\n \"sScrollY\": (this._jSelectedItemsTable.parent().height() - 38) + 'px',\r\n \"bAutoWidth\": false,\r\n \"bDeferRender\": true,\r\n \"bPaginate\": false,\r\n \"bSortable\": false,\r\n \"oLanguage\": { \"sZeroRecords\": L(\"EMPTY\") },\r\n 'aoColumns': cols\r\n });\r\n\r\n if (WA.ENV.isAndroid() || $.ipad) {\r\n var tableWidth = 489;\r\n this._jSelectedItemsTable.width(tableWidth);\r\n $('.dataTables_scrollHeadInner').width(tableWidth).children('table').width(tableWidth);\r\n } else {\r\n // dataTable пСрСсчитываСт ΡˆΠΈΡ€ΠΈΠ½Ρƒ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹, приходится ΠΈΡΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Π½Π° 100%\r\n $('.dataTables_scrollHeadInner').width('100%').children('table').width('100%');\r\n }\r\n\r\n var instance = this;\r\n this._jSelectedItemsTable.find('tr').each(function () { instance._initSingleSelectedItemEvents(this); });\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * НавСшиваниС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΊΠΎΠ² событий Π½Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹ΠΉ элСмСнт списка Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Ρ… записСй\r\n * @private\r\n */\r\n _initSingleSelectedItemEvents(row) {\r\n row = $(row);\r\n var instance = this;\r\n\r\n const jRemoveFromSelect = row.find('.removeFromSelect');\r\n if (!$.ipad && !WA.ENV.isAndroid()) {\r\n row.hover(\r\n function () { instance._jSelectedItemsTable.find(\"tr\").not(this).trigger(\"mouseout\"); $(this).addClass('over'); },\r\n function () { $(this).removeClass('over'); });\r\n jRemoveFromSelect.on('click.MultiSelectModalWindow', this, function (e) {\r\n e.data.deleteItemFromSelectedItemsTable(this);\r\n });\r\n } else {\r\n // Π½Π° ΠΏΠ»Π°Π½ΡˆΠ΅Ρ‚Π°Ρ…, Ρ‚.ΠΊ. Π½Π΅Ρ‚ Ρ…ΠΎΠ²Π΅Ρ€Π°, сразу рисуСм крСстик ΠΈ навСшиваСм ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Π½Π° ячСйку с Π½ΠΈΠΌ\r\n jRemoveFromSelect.closest('.selected-records-item').addClass('tablet');\r\n jRemoveFromSelect.closest('td').on('click.MultiSelectModalWindow', this, function (e) {\r\n e.data.deleteItemFromSelectedItemsTable(this);\r\n });\r\n }\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ элСмСнта ΠΈΠ· списка Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Ρ… записСй, ΠΈ ΠΈΠ· массива ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±Ρ‹Π» ΠΏΠ΅Ρ€Π΅Π΄Π°Π½ Π² конструктор.\r\n * @private\r\n */\r\n deleteItemFromSelectedItemsTable(item) {\r\n // Если Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для чтСния, Π·Π°ΠΏΡ€Π΅Ρ‰Π°Π΅ΠΌ ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Π΅ записи.\r\n if (!this.isReadonly) {\r\n const row = $(item).closest('tr');\r\n const id = row.attr('id');\r\n const idx = this._getSelectedItemById(id);\r\n\r\n if (idx >= 0) {\r\n this.selectedItems.splice(idx, 1);\r\n }\r\n\r\n this.fire('itemUnSelect', id);\r\n this._datatable.fnDeleteRow(row[0]);\r\n this._markRecord(id, false);\r\n this._fixSelectedItemsTableBorder();\r\n this._addPlaceholderIfTableIsempty();\r\n }\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /** Поиск элСмСнта срСди Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Ρ… ΠΏΠΎ id\r\n * @param {string} id - ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ элСмСнта\r\n * @return {integer} индСкс Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ элСмСнта Π² массивС\r\n * @private\r\n * @function WebAccess.components.dialogs.BaseMultiSelect#_getSelectedItemById\r\n */\r\n _getSelectedItemById: function (id) {\r\n return getElementIndexByAttr(this.selectedItems, \"id\", id);\r\n },\r\n\r\n /** Поиск элСмСнта срСди доступных ΠΏΠΎ id\r\n * @param {string} id - ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ элСмСнта\r\n * @private\r\n * @return {object} ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ элСмСнта\r\n * @function WebAccess.components.dialogs.BaseMultiSelect#_getSelectedItemById\r\n */\r\n _getAvailableItemById: function (id) {\r\n return this.availableItems[getElementIndexByAttr(this.availableItems,\"id\", id)];\r\n },\r\n\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠΌΠ΅Ρ‚ΠΊΠ° элСмСнта \"Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΌ\" ΠΈΠ»ΠΈ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚, Π½Π΅ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΌ Ссли Π²Ρ‚ΠΎΡ€ΠΎΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ false.\r\n * @private\r\n * @param {string} id ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€\r\n * @param {boolean} mark Ссли true Ρ‚ΠΎ элСмСнт выдСляСтся ΠΊΠ°ΠΊ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ, ΠΈ Π½Π°ΠΎΠ±ΠΎΡ€ΠΎΡ‚.\r\n */\r\n _markRecord: function (id, mark) {\r\n if (id) {\r\n var item = this._jAvailableItemsList.find('.item[id=\"' + id + '\"]');\r\n var icon = item.find('.recordlist-item__icon > use');\r\n var iconImage;\r\n if (this.treeMode) {\r\n iconImage = (item.hasClass('favorite')) ? this.favoriteUserIconClass : this.treeModeRecordIconClass;\r\n }\r\n else {\r\n iconImage = this.defaultRecordIcon;\r\n }\r\n if (mark) {\r\n item.addClass('selected');\r\n if (this.treeMode) {\r\n icon.removeClass(this.treeModeRecordIconClass).removeClass(this.favoriteUserIconClass);\r\n iconImage = this.treeModeMarkedRecordIconClass;\r\n } else {\r\n iconImage = this.defaultMarkedRecordIcon;\r\n }\r\n }\r\n else {\r\n item.removeClass('selected');\r\n }\r\n icon.attr('xlink:href', '#' + iconImage);\r\n }\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ВставляСт сообщСниС Π² Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ, Ссли Π½Π΅Ρ‚ Π½ΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ элСмСнта для отобраТаСния.\r\n * (БСйчас ΠΏΠΎ всСй видимости Π·Π° это ΠΎΡ‚Π²Π΅Ρ‡Π°Π΅Ρ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ Ρƒ datatable, Π° здСсь просто ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΊΠ½ΠΎΠΏΠΊΠ°)\r\n * @private\r\n */\r\n _addPlaceholderIfTableIsempty: function () {\r\n var jRows = this._jSelectedItemsTable.children('tbody').find('tr');\r\n\r\n if (jRows.length === 1) {\r\n if (jRows.first().children(\"td\").hasClass(\"dataTables_empty\")) {\r\n this.disableButton(\"modal_ok_button\");\r\n }\r\n }\r\n //var colsCount = 3;\r\n //var emptyRow = $(format(CT.dialog.emptyPlaceholder, { message: L('EMPTY'), cols_count: colsCount }));\r\n //this._jSelectedItemsTable.append(emptyRow);\r\n //this._InitSingleSelectedRecordEvents(emptyRow);\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для динамичСского добавлСния Π½ΠΎΠ²ΠΎΠΉ записи.\r\n * @private\r\n */\r\n _InitSingleSelectedRecordEvents: function (row) {\r\n row = $(row);\r\n if (!$.ipad && !WA.ENV.isAndroid()) {\r\n row.hover(\r\n function () { $(this).addClass('over').find('.removeFromSelect').css('visibility', 'visible'); },\r\n function () { $(this).removeClass('over').find('.removeFromSelect').css('visibility', 'hidden'); });\r\n }\r\n else {\r\n row.find('.removeFromSelect').css('visibility', 'visible');\r\n }\r\n row.find('.removeFromSelect').on('click.MultiSelectModalWindow', this, function (e) {\r\n e.data.DeleteItemFromSelection(this);\r\n });\r\n\r\n // ΠΠ°Π²Π΅ΡˆΠΈΠ²Π°Π΅Ρ‚ события для отобраТСния подсказок.\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n _setupKeyScope: function() {\r\n },\r\n\r\n /**\r\n * Π”ΠΎΠ±Π°Π²Π»Π΅ΠΌ Π±ΠΎΡ€Π΄Π΅Ρ€ ΠΊ div Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ находится Ρ‚Π°Π±Π»ΠΈΡ†Π°.\r\n * @private\r\n */\r\n _fixSelectedItemsTableBorder: function () {\r\n var p = this._jSelectedItemsTable.parent();\r\n if (this._jSelectedItemsTable.height() > p.height()) {\r\n p.addClass('fixBorderBottom');\r\n } else {\r\n p.removeClass('fixBorderBottom');\r\n }\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π’Ρ‹Π±Ρ€Π°Ρ‚ΡŒ элСмСнт.\r\n *\r\n * @param {object} item Π’Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ элСмСнт\r\n * @function WebAccess.components.dialogs.BaseMultiSelect#selectItem\r\n * @returne {WebAccess.components.dialogs.BaseMultiSelect} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° BaseMultiSelect.\r\n */\r\n selectItem: function (item) {\r\n this.selectedItems.push(item);\r\n\r\n this._markRecord(item.id, true);\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n _hoverItem: function (item) {\r\n $(item).addClass(\"over\").find('.treeview_img_action').removeClass(\"hidden\");\r\n },\r\n\r\n _unhoverItem: function (item) {\r\n $(item).removeClass('over').find('.treeview_img_action').addClass(\"hidden\");\r\n },\r\n\r\n /**\r\n * ДобавляСт Π½ΠΎΠ²Ρ‹Π΅ строки Π² Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Ρ….\r\n * @private\r\n */\r\n _addItemToSelectedItems: function (items) {\r\n var instance = this;\r\n var html = \"\";\r\n for (var i = 0; i < items.length; i++) {\r\n if (this._getSelectedItemById(items[i].id) !== -1) continue;\r\n items[i].name = escapeHtml(items[i].name);\r\n html += this._renderSelectedItem(items[i]);\r\n this.selectItem(items[i]);\r\n }\r\n if (!!html) {\r\n this._jSelectedItemsTable.find('td.dataTables_empty').parent().remove();\r\n this.enableButton(\"modal_ok_button\");\r\n //this._jSelectedItemsTable.append(html);\r\n\r\n var columns = html.split(/<\\/td>\\s*', '', ' instance._jAvailableItemsList.height()) {\r\n var itemHeight = 20;\r\n var height = 0;\r\n var currentID = item.attr('id');\r\n var items = instance._jAvailableItemsList.find('div.item:visible,div.recordGroup:visible');\r\n var i;\r\n\r\n if (down) {\r\n for (i = items.length - 1; i >= 0; i--) {\r\n if ($(items[i]).attr('id') == currentID) {\r\n height += (i + 1) * itemHeight;\r\n break;\r\n }\r\n }\r\n if (instance._jAvailableItemsList.height() - height < 50) {\r\n instance._jAvailableItemsList.scrollTop(instance._jAvailableItemsList.scrollTop() + itemHeight);\r\n }\r\n }\r\n else {\r\n for (i = 0; i < items.length; i++) {\r\n if ($(items[i]).attr('id') == currentID) {\r\n height += (i + 1) * itemHeight;\r\n break;\r\n }\r\n }\r\n if (height - instance._jAvailableItemsList.scrollTop() < 50) {\r\n instance._jAvailableItemsList.scrollTop(instance._jAvailableItemsList.scrollTop() - itemHeight);\r\n }\r\n }\r\n }\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n _getItemsListHeight: function () {\r\n var height = 0;\r\n var items = this._jAvailableItemsList.children();\r\n for (var i = 0; i < items.length; i++) {\r\n height += $(items[i]).height();\r\n }\r\n return height;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n show: function () {\r\n this._preInit();\r\n this.html = this._html;\r\n this._super();\r\n this._postInit();\r\n return this;\r\n }\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n });\r\n\r\n\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * РСгистронСзависимый сСлСктор :Contains\r\n * с Π»Π°ΠΉΠΊ поиском (((\r\n * @inner\r\n */\r\n jQuery.expr[':'].Contains = function (a, i, m) {\r\n var words = m[3].toUpperCase().split(\" \");\r\n var matches = 0;\r\n if (words.length > 10) return false; //Много слов - большиС Π·Π°Ρ‚ΡƒΠΏΡ‹. Π¦ΠΈΠΊΠ» ΠΆΠ΅.\r\n\r\n for (var n = 0; n < words.length; n++) {\r\n if (jQuery(a).text().toUpperCase().indexOf(words[n]) >= 0) matches += 1;\r\n if (matches == words.length) return true;\r\n }\r\n\r\n return matches == words.length;\r\n };\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n global.BaseMultiSelect = BaseMultiSelect;\r\n})(window.WebAccess.components.dialogs);\r\n","\"use strict\";\r\n\r\n/**\r\n* Π”ΠΈΠ°Π»ΠΎΠ³ со справочником Π² Ρ‚Π°Π±Π»ΠΈΡ‡Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅.\r\n*\r\n* @class WebAccess.components.dialogs.ReferenceGridDialog\r\n* @extends WebAccess.components.dialogs.BaseDialog\r\n* @since 5.4.0.1012\r\n*\r\n* ΠžΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ справочник Π² Ρ‚Π°Π±Π»ΠΈΡ‡Π½ΠΎΠΌ Ρ€Π΅ΠΆΠΈΠΌΠ΅ Π² iframe Π² Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅.\r\n*\r\n\r\n* @param {object} settings Настройки Π΄ΠΈΠ°Π»ΠΎΠ³Π° со справочником:\r\n* @param {string} referenceName Код справочника\r\n* @param {string} [referenceCaption] Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ справочника\r\n* @param {string} [context] ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚ прСдставлСния справочника (ΠΎΠ±ΡŠΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ‚ΡΡ с \"modal.\")\r\n* @param {REFERENCE_MODAL_MODE} [mode] Π Π΅ΠΆΠΈΠΌ открытия справочника (MULTI – мноТСствСнный Π²Ρ‹Π±ΠΎΡ€, SINGLE – Π΅Π΄ΠΈΠ½ΠΈΡ‡Π½Ρ‹ΠΉ Π²Ρ‹Π±ΠΎΡ€, VIEW – просмотр)\r\n* @param {string} [filterQuery] Π€ΠΈΠ»ΡŒΡ‚Ρ€ справочника - Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠ΅ с ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ Π² ΠΏΠΎΠ»Π΅ Π²Π²ΠΎΠ΄Π°\r\n* @param {string} [filterExpression] Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ\r\n* @param {array} [visibleColumns] ΠŸΠΎΡ€ΡΠ΄ΠΎΠΊ ΠΈ состав Π²ΠΈΠ΄ΠΈΠΌΡ‹Ρ… ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ справочника, Ссли ΠΈΡ… Π΅Ρ‰Π΅ Π½Π΅Ρ‚ Π² сохранСнном контСкстС\r\n* @param {string} [modalDialogTitle] Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ модального ΠΎΠΊΠ½Π°\r\n* @property {string} className Имя Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ класса\r\n\r\n* @example\r\n* var dialog = new WebAccess.components.dialogs.ReferenceGridDialog({referenceName:\"РАБ\"});\r\n* dialog.bind(\"close\", function(data) {});\r\n* dialog.show();\r\n*/\r\n(function (global) {\r\n var BROWSER_TOOLBAR_HEIGHT = 100;\r\n\r\n var MIN_DIALOG_MARGIN = 40;\r\n var MAX_DIALOG_MARGIN_PERCENT = 30; // отступы 30% ΠΎΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°, Π½ΠΎ Π½Π΅ ΠΌΠ΅Π½Π΅Π΅ MIN_DIALOG_MARGIN.\r\n\r\n var ReferenceGridDialog = global.BaseDialog.extend({\r\n className: 'ReferenceGridDialog',\r\n height: MIN_SUPPORTS_WINDOW_HEIGHT - BROWSER_TOOLBAR_HEIGHT - MIN_DIALOG_MARGIN,\r\n width: MIN_SUPPORTS_WINDOW_WIDTH - MIN_DIALOG_MARGIN,\r\n isShowOkButton: false,\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n init: function (settings) {\r\n var me = this;\r\n me._super(settings);\r\n me.settings = settings;\r\n\r\n if (me.settings.modalDialogTitle) {\r\n me.title = me.settings.modalDialogTitle;\r\n } else {\r\n me._addReferenceCaptionToTitle();\r\n }\r\n\r\n var referenceUrl = me._makeReferenceRecordUrl(me.settings.referenceName, me.settings.context, me.settings.mode,\r\n me.settings.filterExpression, me.settings.filterQuery, me.settings.visibleColumns, me.settings.hideToolbar,\r\n me.settings.queryContext, me.settings.leaderSelectedId, me.settings.instanceId);\r\n me.html = '';\r\n\r\n me._changeDialogBodyMinWidth();\r\n\r\n me._changeDialogDimensions();\r\n\r\n me._bindDialogEvents();\r\n\r\n if (me.settings.mode == REFERENCE_MODAL_MODE.SINGLE) {\r\n me._addSelectRecordColumn();\r\n }\r\n\r\n return me;\r\n },\r\n\r\n // ДобавляСт Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ справочника Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ модального ΠΎΠΊΠ½Π°.\r\n _addReferenceCaptionToTitle: function () {\r\n var me = this;\r\n var filterTitle = me.filterQuery ? (L('REFERENCE_GRID_DIALOG_TITLE_FILTER_QUERY') + '\"' + me.filterQuery.escapeHtml() + '\"') : '';\r\n if (me.referenceCaption) {\r\n me.setTitle(format(L('REFERENCE_GRID_DIALOG_TITLE_WITH_REFERENCE_CAPTION') + filterTitle, me.referenceCaption.escapeHtml()));\r\n } else {\r\n // Π’Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ установим ΠΎΠ±Ρ‰ΠΈΠΉ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Π±Π΅Π· названия справочника.\r\n me.setTitle(L('REFERENCE_GRID_DIALOG_TITLE') + filterTitle);\r\n WebAccess.services.reference.getReferenceCaption(me.settings.referenceName).done(function (caption) {\r\n me.setTitle(format(L('REFERENCE_GRID_DIALOG_TITLE_WITH_REFERENCE_CAPTION') + filterTitle, caption.escapeHtml()));\r\n });\r\n }\r\n },\r\n\r\n // Π€ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅Ρ‚ URL для Π²Ρ‹Π·ΠΎΠ²Π° справочника Π² iframe Π² модальном ΠΎΠΊΠ½Π΅\r\n _makeReferenceRecordUrl: function (compcode, context, modalmode, filter, likefilter, columns, hideToolbar, queryContext, leaderSelectedId, instanceId) {\r\n var cols = columns;\r\n // ΠžΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ.\r\n if (cols) {\r\n cols.unshift('_Checkbox');\r\n }\r\n\r\n var url = WA.FC.references(compcode).toURL();\r\n url.setParam('context', context ? ('modal.' + context) : 'modal');\r\n if (modalmode) url.setParam('modalmode', modalmode);\r\n if (filter) url.setParam('filter', filter);\r\n if (likefilter) url.setParam('likefilter', likefilter);\r\n if (cols) url.setParam('columns', cols.join(';'));\r\n if (hideToolbar) url.setParam('hidetoolbar', '1');\r\n if (queryContext) url.setParam('querycontext', queryContext);\r\n if (leaderSelectedId) url.setParam('leaderSelectedId', encodeURIComponent(leaderSelectedId));\r\n if(instanceId) url.setParam('uid', instanceId);\r\n\r\n return url.asString();\r\n },\r\n\r\n _changeDialogBodyMinWidth: function () {\r\n var me = this;\r\n me.bind(me['class'].EVENT.AFTER_OPEN, function () {\r\n var jIframe = me._jDialog.find('iframe').eq(0);\r\n jIframe.on('load', function () {\r\n var IframeWindow = jIframe.get(0).contentDocument;\r\n $(IframeWindow.body).addClass('reference_dialog_body');\r\n });\r\n });\r\n },\r\n\r\n // Π˜Π·ΠΌΠ΅Π½ΡΠ΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° Π² зависимости ΠΎΡ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² экрана\r\n _changeDialogDimensions: function () {\r\n var me = this;\r\n var ww = $(window).width();\r\n var wh = $(window).height();\r\n\r\n // ΡˆΠΈΡ€ΠΈΠ½Π° Π΄ΠΈΠ°Π»ΠΎΠ³Π° с отступами MAX_DIALOG_MARGIN_PERCENT % ΠΎΡ‚ ΡˆΠΈΡ€ΠΈΠ½Ρ‹ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°, Π»ΠΈΠ±ΠΎ с отступами MIN_DIALOG_MARGIN ΠΏΡ€ΠΈ ΠΌΠ°Π»ΠΎΠΉ ΡˆΠΈΡ€ΠΈΠ½Π΅ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π°.\r\n var dialogWidth = ww * (1 - MAX_DIALOG_MARGIN_PERCENT / 100);\r\n if (dialogWidth > MIN_SUPPORTS_WINDOW_WIDTH)\r\n me.setWidth(dialogWidth);\r\n else\r\n me.setWidth(ww - MIN_DIALOG_MARGIN);\r\n\r\n var dialogHeight = wh - MIN_DIALOG_MARGIN;\r\n if (dialogHeight > MIN_SUPPORTS_WINDOW_HEIGHT)\r\n me.setHeight(dialogHeight);\r\n else\r\n me.setHeight(wh - MIN_DIALOG_MARGIN);\r\n },\r\n\r\n // ΠŸΠΎΠ΄ΠΏΠΈΡΡ‹Π²Π°Π΅Ρ‚ΡΡ ΠΈ отписываСтся Π½Π° событиС получСния сообщСния ΠΈ закрытия Π΄ΠΈΠ°Π»ΠΎΠ³Π°\r\n _bindDialogEvents: function () {\r\n var me = this;\r\n $(window)\r\n .on(\"message.ReferenceGridDialog\", function (e) {\r\n me._sendSelectedRecords(e);\r\n })\r\n .on(\"resizeEnd.ReferenceGridDialog\", function () {\r\n me._changeDialogDimensions();\r\n me._placeInCenter();\r\n });\r\n\r\n // Π’Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌ событиС resizeEnd для пСрСсчитывания Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² Π»Π΅Π½Ρ‚Ρ‹ справочника ΠΈ ΠΈΠΊΠΎΠ½ΠΎΠΊ Π² Π½Π΅ΠΉ\r\n me.bind(me['class'].EVENT.AFTER_OPEN, function () {\r\n var jIframe = me._jDialog.find('iframe').eq(0);\r\n jIframe.on('load', function () {\r\n jIframe.trigger('resizeEnd');\r\n });\r\n });\r\n\r\n me.bind(me['class'].EVENT.AFTER_CLOSE, function () {\r\n $(window)\r\n .off(\"message.ReferenceGridDialog\")\r\n .off(\"resizeEnd.ReferenceGridDialog\");\r\n });\r\n\r\n if (me.settings.mode !== REFERENCE_MODAL_MODE.VIEW) {\r\n me.bind(me['class'].EVENT.AFTER_OPEN, function () {\r\n\r\n var jIframe = me._jDialog.find('iframe').eq(0);\r\n // Когда iframe загрузился.\r\n jIframe.on('load', function () {\r\n\r\n // ДобавляСм ΠΊΠ½ΠΏΠΎΠΊΡƒ \"Π’Ρ‹Π±Ρ€Π°Ρ‚ΡŒ\".\r\n me._initSelectionButton(me.settings.referenceName);\r\n if (me.settings.mode == REFERENCE_MODAL_MODE.SINGLE) {\r\n me._bindDisableSelectButtonInSigleMode(me.settings.referenceName);\r\n } else {\r\n me._bindDisableSelectButtonInMultiMode(me.settings.referenceName);\r\n }\r\n });\r\n });\r\n }\r\n },\r\n\r\n _addSelectRecordColumn: function () {\r\n var me = this;\r\n //var jIframe = me._jDialog.find('iframe').eq(0);\r\n if (me.settings.mode !== REFERENCE_MODAL_MODE.VIEW) {\r\n me.bind(me['class'].EVENT.AFTER_OPEN, function () {\r\n\r\n var jIframe = me._jDialog.find('iframe').eq(0);\r\n\r\n // Когда iframe загрузился.\r\n jIframe.on('load', function () {\r\n var IframeWindow = jIframe.get(0).contentWindow;\r\n // Когда grid проинициализировался.\r\n $.when(IframeWindow.Core.grid.referenceInit).then(function () {\r\n // РСгистрируСм Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½ΡƒΡŽ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ для ΠΊΠ»ΠΈΠΊΠ° ΠΏΠΎ ссылкС Π² ячСйкС Π³Ρ€ΠΈΠ΄Π°.\r\n IframeWindow.ReferenceGridDialogCellClick = function (ev, el) {\r\n var recId = $(el).parents('.slick-row').eq(0).data('recid');\r\n var selectedRow = IframeWindow.Core.grid.reference.dataView.getItemById(recId);\r\n var leaderValues = me._getLeaderValues(selectedRow);\r\n IframeWindow.WebAccess.components.dialogs.ReferenceGridDialog.sendRecordById(me.settings.referenceName, recId, leaderValues);\r\n };\r\n\r\n // Ѐункция пСрСсортировки ΠΏΠΎΠ»Π΅ΠΉ справочника\r\n var grid = IframeWindow.Core.grid.reference;\r\n var columns = grid.getColumns();\r\n var columnsAmount = columns.length;\r\n var selectRecordColumnIndex = 0;\r\n for (var i = 0; i < columnsAmount; i++) {\r\n var isSpecialColumn = (columns[i].id.charAt(0) == '_') ? true : false;\r\n if (isSpecialColumn) {\r\n selectRecordColumnIndex = columns[i].index + 1;\r\n }\r\n else if (columns[i].index > -1) {\r\n columns[i].index += 1;\r\n }\r\n }\r\n // ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ добавляСмой ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ \"Π’Ρ‹Π±Ρ€Π°Ρ‚ΡŒ\"\r\n var selectRecordColumn = {\r\n cssClass: \"centered\",\r\n formatter: function () {\r\n return '

    '\r\n + ''\r\n + L('SELECT_RECORDS') + '

    ';\r\n },\r\n headerCssClass: \"notDraggable\",\r\n id: \"_SelectRecord\",\r\n index: selectRecordColumnIndex,\r\n name: \" \",\r\n field: null,\r\n resizable: false,\r\n sortable: false,\r\n visible: true,\r\n width: (L(\"SELECT_RECORDS\").length * 11 + 25)\r\n }\r\n columns.push(selectRecordColumn);\r\n grid.setColumns(columns);\r\n });\r\n });\r\n });\r\n }\r\n },\r\n\r\n // Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ значСния Π²Π΅Π΄ΡƒΡ‰ΠΈΡ… Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ².\r\n _getLeaderValues: function (row) {\r\n var me = this;\r\n var leaderValues = {};\r\n if (me.settings.leaderSelectedId) {\r\n //ΡƒΠ±ΠΈΡ€Π°Π΅ΠΌ послСдний символ '&'\r\n var leadReqNames = me.settings.leaderSelectedId.slice(0, -1).split('&').map(function (selId) {\r\n return selId.split(\"|\")[0];\r\n });\r\n leadReqNames.forEach(function (leadColumnName) {\r\n leaderValues[leadColumnName] = [\r\n row[leadColumnName],\r\n row[\"SBRSE_\" + leadColumnName + \"_Text\"],\r\n row[\"SBRSE_\" + leadColumnName + \"_Text\"],\r\n {}\r\n ];\r\n });\r\n }\r\n return leaderValues;\r\n },\r\n\r\n // Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ массив с Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΌΠΈ Π² справочникС значСниями ΠΏΡ€ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠΈ postMessage ΠΈΠ· ΠΈΡ„Ρ€Π΅ΠΉΠΌΠ°\r\n _sendSelectedRecords: function (e) {\r\n var me = this;\r\n var data = e.originalEvent.data;\r\n var locationOrigin = !location.origin ? (location.protocol + '//' + location.host) : location.origin;\r\n if (e.originalEvent.origin != locationOrigin) {\r\n console.log(\"Π”ΠΎΠΌΠ΅Π½ отправитСля postMessage Π½Π΅ совпадаСт с Π΄ΠΎΠΌΠ΅Π½ΠΎΠΌ адрСсата: \" + e.originalEvent.origin);\r\n return false;\r\n }\r\n if (data.destination == 'ReferenceGridDialog') {\r\n me.fire('select', data.selectedItems);\r\n me.close();\r\n }\r\n\r\n },\r\n\r\n // ДобавляСт ΠΊΠ½ΠΎΠΏΠΊΡƒ \"Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ\" Π² Π»Π΅Π½Ρ‚Ρƒ справочника ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π΅Π³ΠΎ Π² Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅.\r\n _initSelectionButton: function (referenceCode) {\r\n var me = this;\r\n var IframeWindow = me._jDialog.find('iframe').get(0).contentWindow;\r\n $.when(IframeWindow.WA.ToolBarInit).then(function () {\r\n var afterGroupName = 'TOOLBAR_DOC_FOLDER_TASK_GROUP';\r\n // Если Π³Ρ€ΡƒΠΏΠΏΠ° Π΅ΡΡ‚ΡŒ, вставляСм послС Π½Π΅ΠΉ, ΠΈΠ½Π°Ρ‡Π΅ вставляСм Π² самоС Π½Π°Ρ‡Π°Π»ΠΎ.\r\n if (!IframeWindow.WA.CR.toolBar.groups[afterGroupName]) {\r\n afterGroupName = '';\r\n }\r\n IframeWindow.WA.CR.toolBar.groups.create(\"TOOLBAR_SELECT_RECORDS\", afterGroupName);\r\n IframeWindow.WA.CR.toolBar.groups['TOOLBAR_SELECT_RECORDS'].createButton({\r\n name: \"SelectRecords\",\r\n text: L(\"SELECT_RECORDS\"),\r\n icon: \"accept-20\",\r\n toolTip: L(\"CLICK_TO_SELECT_RECORDS\"),\r\n jsaction: function () {\r\n var selectedRecords = IframeWindow.WA.CR.objectList.getSelectedItems();\r\n if (me.settings.mode === REFERENCE_MODAL_MODE.SINGLE && selectedRecords.length === 1) {\r\n var recId = selectedRecords[0].id;\r\n var selectedRow = IframeWindow.Core.grid.reference.dataView.getItemById(recId);\r\n var leaderValues = me._getLeaderValues(selectedRow);\r\n IframeWindow.WebAccess.components.dialogs.ReferenceGridDialog.sendRecordById(referenceCode, recId, leaderValues);\r\n } else {\r\n IframeWindow.WebAccess.components.dialogs.ReferenceGridDialog.sendMultiSelectedRecords(referenceCode, selectedRecords);\r\n }\r\n }\r\n });\r\n });\r\n },\r\n\r\n // Π‘Π»ΠΎΠΊΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠ½ΠΎΠΏΠΊΡƒ Π²Ρ‹Π±ΠΎΡ€Π°, Ссли Π½Π΅ Π²Ρ‹Π±Ρ€Π°Π½Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ 1 запись.\r\n _bindDisableSelectButtonInSigleMode: function (referenceCode) {\r\n var me = this;\r\n $.when(WA.ObjectListInit).then(function () {\r\n var IframeWindow = me._jDialog.find('iframe').get(0).contentWindow;\r\n IframeWindow.WA.CR.objectList.bind('onChange', function (records) {\r\n var btn = IframeWindow.WA.CR.toolBar.groups['TOOLBAR_SELECT_RECORDS'].getButtons()['SelectRecords'];\r\n if (records.length === 1) {\r\n btn.enable();\r\n } else {\r\n btn.disable();\r\n }\r\n });\r\n });\r\n },\r\n\r\n // Π‘Π»ΠΎΠΊΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠ½ΠΎΠΏΠΊΡƒ Π²Ρ‹Π±ΠΎΡ€Π°, Ссли Π½Π΅ Π²Ρ‹Π±Ρ€Π°Π½ΠΎ Π½ΠΈ ΠΎΠ΄Π½ΠΎΠΉ записи.\r\n _bindDisableSelectButtonInMultiMode: function (referenceCode) {\r\n var me = this;\r\n $.when(WA.ObjectListInit).then(function () {\r\n var IframeWindow = me._jDialog.find('iframe').get(0).contentWindow;\r\n IframeWindow.WA.CR.objectList.bind('onChange', function (records) {\r\n var btn = IframeWindow.WA.CR.toolBar.groups['TOOLBAR_SELECT_RECORDS'].getButtons()['SelectRecords'];\r\n if (records.length < 1) {\r\n btn.disable();\r\n } else {\r\n btn.enable();\r\n }\r\n });\r\n });\r\n }\r\n\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n }, {\r\n // static\r\n\r\n /**\r\n * Π‘ΠΎΠ·Π΄Π°Π΅Ρ‚ ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ модальноС ΠΎΠΊΠ½ΠΎ со справочником.\r\n\t*\r\n * @since 5.4.0.1012\r\n * @function WebAccess.components.dialogs.ReferenceGridDialog.createAndShow\r\n *\r\n * @param {object} settings Настройки Π΄ΠΈΠ°Π»ΠΎΠ³Π° со справочником\r\n * @return {object} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ с функциями selectionDone ΠΈ selectionCancel, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΡ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‚ соотвСтствСнно ΠΏΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ записи ΠΈΠ»ΠΈ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΌΠ΅Π½Π΅ Π²Ρ‹Π±ΠΎΡ€Π°.\r\n * @examples\r\n * WebAccess.components.dialogs.ReferenceGridDialog.createAndShow({referenceName:\"РАБ\",mode:REFERENCE_MODAL_MODE.MULTI})\r\n * .selectionDone(function(result) { console.log('result', result); });\r\n * WebAccess.components.dialogs.ReferenceGridDialog.createAndShow({referenceName:\"РАБ\"}).selectionCancel(function() { console.log('cancel'); });\r\n */\r\n createAndShow: function (settings) {\r\n var def = $.Deferred();\r\n var dialog = new WebAccess.components.dialogs.ReferenceGridDialog(settings);\r\n dialog.bind(\"select\", function (data) {\r\n def.resolve(data);\r\n });\r\n dialog.bind(\"close\", function (data) {\r\n // Если Deferred зарСзолвился, Ρ‚ΠΎ reject ΡƒΠΆΠ΅ Π½Π΅ срабатываСт.\r\n def.reject();\r\n });\r\n dialog.show();\r\n return {\r\n selectionDone: function (cb) {\r\n def.done(cb);\r\n },\r\n selectionCancel: function (cb) {\r\n def.fail(cb);\r\n }\r\n }\r\n },\r\n\r\n /**\r\n * ΠžΡ‚ΠΏΡ€Π°Π²Π»ΡΠ΅Ρ‚ всС Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Π΅ значСния справочника Π² Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ΅ ΠΎΠΊΠ½ΠΎ.\r\n\t*\r\n * @since 5.4.0.1013\r\n * @function WebAccess.components.dialogs.ReferenceGridDialog.sendMultiSelectedRecords\r\n * @param {string} referenceCode Код справочника\r\n * @param {WebAccess.components.wrappers.objectList.ListItem[]} opt_records Бписок записСй для ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ.\r\n */\r\n sendMultiSelectedRecords: function (referenceCode, opt_records) {\r\n var records = opt_records || WA.CR.objectList.getSelectedItems();\r\n var convertedRecords = records.map(function (record) {\r\n return convertObjectListRecord(referenceCode, record);\r\n });\r\n sendRecordsToParent(convertedRecords);\r\n },\r\n\r\n /**\r\n * ΠžΡ‚ΠΏΡ€Π°Π²Π»ΡΠ΅Ρ‚ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ справочника Π² Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ΅ ΠΎΠΊΠ½ΠΎ.\r\n\t*\r\n * @since 5.4.0.1021\r\n * @function WebAccess.components.dialogs.ReferenceGridDialog.sendRecordById\r\n * @param {string} referenceCode Код справочника\r\n * @param {string} recId Π˜Π” записи справочника\r\n */\r\n sendRecordById: function (referenceCode, recId, leaderRequisiteValues) {\r\n var record = WA.CR.objectList.getItems()[recId];\r\n record = convertObjectListRecord(referenceCode, record, leaderRequisiteValues);\r\n sendRecordsToParent([record]);\r\n }\r\n });\r\n\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n // ΠžΡ‚ΠΏΡ€Π°Π²ΠΊΠ° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° с Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΌΠΈ значСниями Π² Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ΅ ΠΎΠΊΠ½ΠΎ.\r\n function sendRecordsToParent(records) {\r\n var locationOrigin = !location.origin ? (location.protocol + '//' + location.host) : location.origin;\r\n window.parent.postMessage({\r\n destination: 'ReferenceGridDialog',\r\n selectedItems: records\r\n }, locationOrigin);\r\n }\r\n\r\n // ΠŸΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° записи справочника для ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ Π² Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠ΅ ΠΎΠΊΠ½ΠΎ (Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° с Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹ΠΌΠΈ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π°ΠΌΠΈ).\r\n function convertObjectListRecord(referenceCode, record, leaderRequisiteValues) {\r\n return {\r\n id: record[\"id\"],\r\n name: record[\"name\"],\r\n code: record[\"code\"],\r\n referenceCode: referenceCode,\r\n leaderRequisiteValues: leaderRequisiteValues\r\n };\r\n }\r\n\r\n global.ReferenceGridDialog = ReferenceGridDialog;\r\n})(window.WebAccess.components.dialogs);\r\n","\"use strict\";\r\n/**\r\n* Π”ΠΈΠ°Π»ΠΎΠ³ мноТСствСнного Π²Ρ‹Π±ΠΎΡ€Π° c ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ сортировки.\r\n* \r\n* @class WebAccess.components.dialogs.SortableMultiSelect\r\n* @extends WebAccess.components.dialogs.BaseMultiSelect\r\n* @ignore\r\n* @param {array} availableItems Бписок доступных элСмСнтов, Π² Ρ‚ΠΎΠΌ числС элСмСнты, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ‹Π»ΠΈ Π²Ρ‹Π±Ρ€Π°Π½Ρ‹. ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ Π² Π»Π΅Π²ΠΎΠΉ части Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°\r\n* @param {array} [opt_selectedItems] Бписок Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Ρ… элСмСнтов. ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ΡΡ Π² ΠΏΡ€Π°Π²ΠΎΠΉ части Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°\r\n* @param {object} [opt_settings] Настройки Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°\r\n*/\r\n(function (global) {\r\n var SortableMultiSelect = global.BaseMultiSelect.extend({\r\n init: function (availableItems, opt_selectedItems, opt_settings) {\r\n var instance = this;\r\n this._displayOptions = true;\r\n this._super(availableItems, opt_selectedItems, opt_settings);\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ событий\r\n * Π—Π΄Π΅ΡΡŒ сдСлаСм, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ смСнС сортировки Π΄Π°Π½Π½Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½Ρ‹ΠΌΠΈ.\r\n * @private \r\n */\r\n _initEvents: function () {\r\n this._super();\r\n \r\n this.bind(\"sortingChanged\", function () {\r\n this.isSelectionChanged = true;\r\n });\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Установки ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ с Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΌΠΈ элСмСнтами.\r\n * Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС Π΅ΡΡ‚ΡŒ 3-ΠΉ столбСц\r\n * Для ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ² ΠΏΡ€ΠΎΡ‰Π΅ ΠΈ эффСктивнСС Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ ΡˆΠΈΡ€ΠΈΠ½Ρƒ Π² ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚Π°Ρ…\r\n * @private\r\n * @return {array} ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ\r\n */\r\n _getColumnsInfo: function () {\r\n var cols = []; \r\n if (WA.ENV.isMobile()) {\r\n if (!this.isReadonly) {\r\n //cols.push({ \"bVisible\": true, \"sWidth\": \"15px\", \"bSortable\": false });\r\n //cols.push({ \"bVisible\": true, \"sWidth\": \"360px\", \"bSortable\": false });\r\n //cols.push({ \"bVisible\": true, \"sWidth\": \"30px\", \"bSortable\": false });\r\n cols.push({ \"bVisible\": true, \"sWidth\": \"8%\", \"bSortable\": false });\r\n cols.push({ \"bVisible\": true, \"sWidth\": \"74%\", \"bSortable\": false });\r\n cols.push({ \"bVisible\": true, \"sWidth\": \"12%\", \"bSortable\": false });\r\n } else {\r\n cols.push({ \"bVisible\": false, \"bSortable\": false });\r\n cols.push({ \"bVisible\": true, \"sWidth\": \"100%\", \"bSortable\": false });\r\n cols.push({ \"bVisible\": false, \"bSortable\": false });\r\n }\r\n } else {\r\n if (!this.isReadonly) {\r\n cols.push({ \"bVisible\": true, \"sWidth\": \"14px\", \"bSortable\": false });\r\n cols.push({ \"bVisible\": true, \"sWidth\": \"399px\", \"bSortable\": false });\r\n cols.push({ \"bVisible\": true, \"sWidth\": \"31px\", \"bSortable\": false });\r\n } else {\r\n cols.push({ \"bVisible\": false, \"bSortable\": false });\r\n cols.push({ \"bVisible\": true, \"sWidth\": \"447px\", \"bSortable\": false });\r\n cols.push({ \"bVisible\": false, \"bSortable\": false });\r\n }\r\n }\r\n return cols;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~// \r\n\r\n /**\r\n * ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ отрисовки Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ элСмСнта. Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС Ρƒ нас добавился Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ столбСц option\r\n * @param {object} item элСмСнт массива Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Ρ… ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠ²\r\n * @private\r\n * @return {string} Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠ° элСмСнта\r\n */\r\n _renderSelectedItem: function (item) {\r\n\r\n item[\"display_delete\"] = this.isReadonly ? 'hidden' : '';\r\n item[\"delete_title\"] = L(\"DELETE\");\r\n item[\"display_options\"] = this.isReadonly ? 'hidden' : '';\r\n item[\"url\"] = item[\"url\"] || \"#\";\r\n \r\n// item[\"name\"] = escapeHtml(item[\"name\"]);\r\n\r\n if (!WA.ENV.isAndroid() && !$.ipad) var visibility = 'hidden';\r\n item[\"option\"] = format(CT.dialog.sortingButtons, { 'is_hidden': visibility });\r\n\r\n return format(CT.dialog.selectedItem, item); \r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * НавСшиваСм события Π½Π° Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ ΠΏΡƒΠ½ΠΊΡ‚\r\n * @param {string} rowSelector [description]\r\n * @private\r\n */\r\n _initSingleSelectedItemEvents: function (rowSelector) { \r\n this._super(rowSelector);\r\n var instance = this;\r\n\r\n var jRow = $(rowSelector);\r\n if (!$.ipad && !WA.ENV.isAndroid()) {\r\n jRow.hover(\r\n function () {\r\n $(this).find('.itemUp').removeClass(\"hidden\");\r\n $(this).find('.itemDown').removeClass(\"hidden\");\r\n },\r\n function () {\r\n $(this).find('.itemUp').addClass('hidden');\r\n $(this).find('.itemDown').addClass('hidden');\r\n }\r\n );\r\n }\r\n\r\n jRow.find('.itemUp').off('click.MultiSelectModalWindow').on('click.MultiSelectModalWindow', this, function (e) {\r\n e.data._swapRows(this, \"up\");\r\n var a = $(this); \r\n });\r\n jRow.find('.itemDown').off('click.MultiSelectModalWindow').on('click.MultiSelectModalWindow', this, function (e) {\r\n e.data._swapRows(this, \"down\");\r\n });\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n /**\r\n * Π‘ΠΌΠ΅Π½Π° элСмСнтов мСстами\r\n * @param {string} itemSelector ΠΏΡƒΠ½ΠΊΡ‚ мСню ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ пСрСмСщатся\r\n * @param {string} [\"up\"|\"down\"] direction Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ пСрСмСщСния\r\n * @private\r\n */\r\n _swapRows: function (itemSelector, direction) {\r\n var jPair;\r\n var jRow = this._jSelectedItemsTable.find(itemSelector).parent().parent();\r\n\r\n var id = jRow.attr('id');\r\n var index = this._getSelectedItemById(id); \r\n var tmp;\r\n\r\n if (index > 0 && direction == \"up\") {\r\n jPair = jRow.prev();\r\n jPair.before(jRow);\r\n\r\n setTimeout(function () { \r\n jRow.trigger('mouseover');\r\n }, 50);\r\n\r\n tmp = this.selectedItems[index - 1];\r\n this.selectedItems[index - 1] = this.selectedItems[index];\r\n this.selectedItems[index] = tmp;\r\n this.fire(\"sortingChanged\");\r\n }\r\n \r\n if (index < this.selectedItems.length-1 && direction == \"down\") { \r\n jPair = jRow.next();\r\n jPair.after(jRow);\r\n setTimeout(function () { \r\n jRow.trigger('mouseover');\r\n }, 50);\r\n\r\n tmp = this.selectedItems[index + 1];\r\n this.selectedItems[index + 1] = this.selectedItems[index];\r\n this.selectedItems[index] = tmp;\r\n this.fire(\"sortingChanged\");\r\n }\r\n }\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n \r\n });\r\n\r\n global.SortableMultiSelect = SortableMultiSelect;\r\n})(window.WebAccess.components.dialogs);","\"use strict\";\r\n\r\n/**\r\n* Π”ΠΈΠ°Π»ΠΎΠ³ мноТСствСнного Π²Ρ‹Π±ΠΎΡ€Π° c ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ сортировки.\r\n*\r\n* @class WebAccess.components.dialogs.SelectableMultiSelect\r\n* @extends WebAccess.components.dialogs.BaseMultiSelect\r\n\r\n* @param {array} availableItems Бписок доступных элСмСнтов, Π² Ρ‚ΠΎΠΌ числС элСмСнты, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ‹Π»ΠΈ Π²Ρ‹Π±Ρ€Π°Π½Ρ‹. ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ Π² Π»Π΅Π²ΠΎΠΉ части Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°\r\n* @param {array} [opt_selectedItems] Бписок Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Ρ… элСмСнтов. ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ Π² ΠΏΡ€Π°Π²ΠΎΠΉ части Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°\r\n* @param {object} [opt_settings] Настройки Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°\r\n*/\r\n(function (global) {\r\n var SelectableMultiSelect = global.BaseMultiSelect.extend({\r\n init: function (availableItems, opt_selectedItems, opt_settings) {\r\n var instance = this;\r\n this._displayOptions = false;\r\n this._super(availableItems, opt_selectedItems, opt_settings);\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ событий\r\n * Π—Π΄Π΅ΡΡŒ сдСлаСм, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΈ смСнС сортировки Π΄Π°Π½Π½Ρ‹Π΅ Π±ΡƒΠ΄ΡƒΡ‚ ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½Ρ‹ΠΌΠΈ.\r\n * @private\r\n */\r\n _initEvents: function () {\r\n this._super();\r\n\r\n this.bind(\"sortingChanged\", function () {\r\n this.isSelectionChanged = true;\r\n });\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Установки ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ с Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΌΠΈ элСмСнтами.\r\n * Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС Π΅ΡΡ‚ΡŒ 3-ΠΉ столбСц\r\n * Для ΠΌΠΎΠ±ΠΈΠ»ΡŒΠ½Ρ‹Ρ… Π±Ρ€Π°ΡƒΠ·Π΅Ρ€ΠΎΠ² ΠΏΡ€ΠΎΡ‰Π΅ ΠΈ эффСктивнСС Π·Π°Π΄Π°Π²Π°Ρ‚ΡŒ ΡˆΠΈΡ€ΠΈΠ½Ρƒ Π² ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚Π°Ρ…\r\n * @private\r\n * @return {array} ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ\r\n */\r\n _getColumnsInfo: function () {\r\n var cols = [];\r\n if (WA.ENV.isMobile()) {\r\n if (!this.isReadonly) {\r\n //cols.push({ \"bVisible\": true, \"sWidth\": \"15px\", \"bSortable\": false });\r\n //cols.push({ \"bVisible\": true, \"sWidth\": \"360px\", \"bSortable\": false });\r\n //cols.push({ \"bVisible\": true, \"sWidth\": \"30px\", \"bSortable\": false });\r\n\r\n cols.push({ \"bVisible\": true, \"sWidth\": \"8%\", \"bSortable\": false });\r\n cols.push({ \"bVisible\": true, \"sWidth\": \"92%\", \"bSortable\": false });\r\n cols.push({ \"bVisible\": false, \"bSortable\": false });\r\n } else {\r\n cols.push({ \"bVisible\": false, \"bSortable\": false });\r\n cols.push({ \"bVisible\": true, \"sWidth\": \"100%\", \"bSortable\": false });\r\n cols.push({ \"bVisible\": false, \"bSortable\": false });\r\n }\r\n } else {\r\n if (!this.isReadonly) {\r\n cols.push({ \"bVisible\": true, \"sWidth\": \"14px\", \"bSortable\": false });\r\n cols.push({ \"bVisible\": true, \"sWidth\": \"399px\", \"bSortable\": false });\r\n cols.push({ \"bVisible\": false, \"bSortable\": false });\r\n } else {\r\n cols.push({ \"bVisible\": false, \"bSortable\": false });\r\n cols.push({ \"bVisible\": true, \"sWidth\": \"447px\", \"bSortable\": false });\r\n cols.push({ \"bVisible\": false, \"bSortable\": false });\r\n }\r\n }\r\n return cols;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Кнопки Π²Π²Π΅Ρ€Ρ… ΠΈ Π²Π½ΠΈΠ·.\r\n * НавСшиваСм Π½Π° Π½ΠΈΡ… ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ.\r\n * Когда Π½Π°ΠΆΠΈΠΌΠ΅ΠΌ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ ΠΈ Π½Π΅Ρ‚ Π½ΠΈ ΠΎΠ΄Π½ΠΎΠΉ Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ записи срСди Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Ρ…,\r\n * Ρ‚ΠΎ сами выдСляСм.\r\n * @private\r\n */\r\n _initExtraEvents: function () {\r\n var me = this;\r\n $(document).not(\"#move_up, #move_down\").bind('click', function (e) {\r\n $(\"#selectedRecordsTable tr\").removeClass(\"marked\");\r\n });\r\n\r\n $(\"#move_up\").on(\"click\", function (e) {\r\n e.stopPropagation();\r\n var jMarkedRow = $(\"#selectedRecordsTable tr.marked\");\r\n if (jMarkedRow.length > 0) {\r\n me._swapRows(jMarkedRow, \"up\");\r\n } else {\r\n $(\"#selectedRecordsTable tbody tr:first\").addClass(\"marked\");\r\n }\r\n });\r\n $(\"#move_down\").on(\"click\", function (e) {\r\n e.stopPropagation();\r\n var jMarkedRow = $(\"#selectedRecordsTable tr.marked\");\r\n if (jMarkedRow.length > 0) {\r\n me._swapRows(jMarkedRow, \"down\");\r\n } else {\r\n $(\"#selectedRecordsTable tbody tr:first\").addClass(\"marked\");\r\n }\r\n });\r\n\r\n //setTimeout(function () { $(\"#selectedRecordsTable tbody tr:first\").addClass(\"marked\") }, 0);\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π‘Ρ‚Ρ€ΠΎΠΈΡ‚ html для области с Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΌΠΈ записями.\r\n * @private\r\n */\r\n _prepareSelectedItemsArea: function () {\r\n var renderedItems = \"\";\r\n\r\n for (var i = 0, l = this.selectedItems.length; i < l; i++) {\r\n var selected = this._renderSelectedItem(this.selectedItems[i]);\r\n renderedItems += selected;\r\n }\r\n\r\n var displayDelete = this.isReadonly ? 'hidden' : '';\r\n var displayOptions = !this._displayOptions || this.isReadonly ? 'hidden' : '';\r\n\r\n this._html += format(CT.dialog.selectedItemsArea, {\r\n label: this.selectedItemslabel,\r\n extra_attributes: 'style=\"width: 490px\"',\r\n name: L(\"NAME\"),\r\n data: renderedItems,\r\n display_delete: displayDelete,\r\n display_options: displayOptions,\r\n option_name: \"\",\r\n area_class: 'stat_SelectedItems'\r\n });\r\n this._html += CT.dialog.sortButtons;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ отрисовки Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ элСмСнта. Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС Ρƒ нас добавился Π΅Ρ‰Π΅ ΠΎΠ΄ΠΈΠ½ столбСц option\r\n * @param {object} item элСмСнт массива Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Ρ… ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠ²\r\n * @private\r\n * @return {string} Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠ° элСмСнта\r\n */\r\n _renderSelectedItem: function (item) {\r\n item[\"items_mode\"] = \"\";\r\n item[\"display_delete\"] = this.isReadonly ? 'hidden' : '';\r\n item[\"delete_title\"] = L(\"DELETE\");\r\n item[\"extra_attributes\"] = 'style=\"text-decoration: none;\"';\r\n item[\"display_options\"] = this.isReadonly ? 'hidden' : 'hidden';\r\n item[\"url\"] = item[\"url\"] || \"#\";\r\n\r\n // item[\"name\"] = escapeHtml(item[\"name\"]);\r\n\r\n //if (!WA.ENV.isAndroid() && !$.ipad) var visibility = 'hidden';\r\n //item[\"option\"] = format(CT.dialog.sortingButtons, { 'is_hidden': visibility });\r\n\r\n return format(CT.dialog.selectedItem, item);\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * НавСшиваСм события Π½Π° Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ ΠΏΡƒΠ½ΠΊΡ‚\r\n * @param {string} rowSelector [description]\r\n * @private\r\n */\r\n _initSingleSelectedItemEvents: function (rowSelector) {\r\n this._super(rowSelector);\r\n var instance = this;\r\n\r\n var jRow = $(rowSelector);\r\n if (!$.ipad && !WA.ENV.isAndroid()) {\r\n jRow.hover(\r\n function () {\r\n $(this).find('.itemUp').removeClass(\"hidden\");\r\n $(this).find('.itemDown').removeClass(\"hidden\");\r\n },\r\n function () {\r\n $(this).find('.itemUp').addClass('hidden');\r\n $(this).find('.itemDown').addClass('hidden');\r\n }\r\n );\r\n }\r\n\r\n jRow.on('click', this, function (e) {\r\n e.stopPropagation();\r\n $(\"#selectedRecordsTable tr\").not(this).removeClass(\"marked\");\r\n $(this).addClass(\"marked\");\r\n });\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n /**\r\n * Π‘ΠΌΠ΅Π½Π° элСмСнтов мСстами\r\n * @param {string} itemSelector ΠΏΡƒΠ½ΠΊΡ‚ мСню ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ пСрСмСщатся\r\n * @param {string} [\"up\"|\"down\"] direction Π½Π°ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ пСрСмСщСния\r\n * @private\r\n */\r\n _swapRows: function (jRow, direction) {\r\n var jPair;\r\n\r\n var id = jRow.attr('id');\r\n var index = this._getSelectedItemById(id);\r\n var tmp;\r\n\r\n if (index > 0 && direction == \"up\") {\r\n jPair = jRow.prev();\r\n jPair.before(jRow);\r\n\r\n setTimeout(function () {\r\n jRow.trigger('mouseover');\r\n }, 50);\r\n\r\n tmp = this.selectedItems[index - 1];\r\n this.selectedItems[index - 1] = this.selectedItems[index];\r\n this.selectedItems[index] = tmp;\r\n this.fire(\"sortingChanged\");\r\n }\r\n\r\n if (index < this.selectedItems.length - 1 && direction === \"down\") {\r\n jPair = jRow.next();\r\n jPair.after(jRow);\r\n setTimeout(function () {\r\n jRow.trigger('mouseover');\r\n }, 50);\r\n\r\n tmp = this.selectedItems[index + 1];\r\n this.selectedItems[index + 1] = this.selectedItems[index];\r\n this.selectedItems[index] = tmp;\r\n this.fire(\"sortingChanged\");\r\n }\r\n }\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n });\r\n\r\n global.SelectableMultiSelect = SelectableMultiSelect;\r\n})(window.WebAccess.components.dialogs);\r\n","\"use strict\";\r\n/**\r\n* МодальноС сообщСниС.\r\n* @todo Π¨Π°Π±Π°Ρ€Π΄ΠΈΠ½ П.: ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ! \r\n* @class WebAccess.components.dialogs.MessageBox\r\n* @since 5.0.0.4206 \r\n* @extends WebAccess.components.dialogs.BaseDialog\r\n* @todo Π¨Π°Π±Π°Ρ€Π΄ΠΈΠ½ П.: свойства Ρ‚ΠΎΠΆΠ΅ ΠΎΠΏΠΈΡΠ°Ρ‚ΡŒ\r\n* @todo Π¨Π°Π±Π°Ρ€Π΄ΠΈΠ½ П.: ΠΏΡ€ΠΈΠΌΠ΅Ρ€Ρ‹\r\n*/\r\n(function (global) {\r\n\r\n var MessageBox = global.BaseDialog.extend({\r\n className: 'MessageBox',\r\n mainText: '',\r\n additionalText: '',\r\n title: '',\r\n //messageBoxButtons: [],\r\n messageBoxIcon: '',\r\n messageBoxIcons: { 'error': 'error-16', 'info': 'info-16', 'question': 'help-16', 'warning': 'warning-16' },\r\n //okText: '',\r\n height: 'auto',\r\n baseDialog: null,\r\n\r\n init: function (settings) { \r\n this.modalWindowButtons = [];\r\n this._super(settings);\r\n if ($.isPlainObject(settings)) {\r\n $.extend(this, settings);\r\n }\r\n },\r\n\r\n /**\r\n * Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΡƒ Π½Π° Ρ„ΠΎΡ€ΠΌΡƒ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°.\r\n *\r\n * @function WebAccess.components.dialogs.MessageBox#addButton\r\n * @param {string} buttonId Π˜Π” ΠΊΠ½ΠΎΠΏΠΊΠΈ\r\n * @param {string} buttonText Надпись ΠΊΠ½ΠΎΠΏΠΊΠΈ\r\n * @param {function} buttonClick Ѐункция для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ дСйствия Β«ΠΠ°ΠΆΠ°Ρ‚ΡŒ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒΒ»\r\n * @return {WebAccess.components.dialogs.MessageBox} OΠ±ΡŠΠ΅ΠΊΡ‚ класса MessageBox.\r\n * @since 5.0.0.4206\r\n */\r\n addButton: function (buttonId, buttonText, buttonClick) {\r\n this.modalWindowButtons.push(\r\n {\r\n id: buttonId,\r\n text: buttonText,\r\n click: !!buttonClick ? buttonClick : function () { }\r\n });\r\n return this;\r\n },\r\n\r\n /**\r\n * Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΡƒ «ОК» Π½Π° Ρ„ΠΎΡ€ΠΌΡƒ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°.\r\n *\r\n * @function WebAccess.components.dialogs.MessageBox#okButton\r\n * @param {function} okCallback Ѐункция для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ дСйствия Β«ΠΠ°ΠΆΠ°Ρ‚ΡŒ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ «ОК»\r\n * @return {WebAccess.components.dialogs.MessageBox} OΠ±ΡŠΠ΅ΠΊΡ‚ класса MessageBox.\r\n * @since 5.0.0.4206\r\n */\r\n okButton: function (okCallback) {\r\n this.modalWindowButtons = [];\r\n this.ok = !!okCallback ? okCallback : function () { };\r\n this.cancel = null;\r\n return this;\r\n },\r\n\r\n /**\r\n * Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΠΈ Β«Π”Π°Β» ΠΈ «НСт» Π½Π° Ρ„ΠΎΡ€ΠΌΡƒ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°.\r\n *\r\n * @function WebAccess.components.dialogs.MessageBox#yesNoButtons\r\n * @param {function} yesCallback Ѐункция для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ дСйствия Β«ΠΠ°ΠΆΠ°Ρ‚ΡŒ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«Π”Π°Β»\r\n * @param {function} noCallback Ѐункция для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ дСйствия Β«ΠΠ°ΠΆΠ°Ρ‚ΡŒ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ «НСт»\r\n * @return {WebAccess.components.dialogs.MessageBox} OΠ±ΡŠΠ΅ΠΊΡ‚ класса MessageBox.\r\n * @since 5.0.0.4206\r\n */\r\n yesNoButtons: function (yesCallback, noCallback) {\r\n this.okText = L('YES');\r\n this.cancelText = L('NO');\r\n return this.okCancelButtons(yesCallback, noCallback);\r\n },\r\n\r\n /**\r\n * Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΠΈ «ОК» ΠΈ Β«ΠžΡ‚ΠΌΠ΅Π½Π°Β» Π½Π° Ρ„ΠΎΡ€ΠΌΡƒ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°.\r\n *\r\n * @function WebAccess.components.dialogs.MessageBox#okCancelButtons\r\n * @param {function} okCallback Ѐункция для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ дСйствия Β«ΠΠ°ΠΆΠ°Ρ‚ΡŒ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ «ОК»\r\n * @param {function} cancelCallback Ѐункция для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ дСйствия Β«ΠΠ°ΠΆΠ°Ρ‚ΡŒ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«ΠžΡ‚ΠΌΠ΅Π½Π°Β»\r\n * @return {WebAccess.components.dialogs.MessageBox} OΠ±ΡŠΠ΅ΠΊΡ‚ класса MessageBox.\r\n * @since 5.0.0.4206\r\n */\r\n okCancelButtons: function (okCallback, cancelCallback) {\r\n this.messageBoxButtons = [];\r\n this.ok = !!okCallback ? okCallback : function () { };\r\n this.cancel = !!cancelCallback ? cancelCallback : function () { };\r\n this.isShowCancelButton = true;\r\n this.isShowOkButton = true;\r\n return this;\r\n },\r\n\r\n /**\r\n * ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ с тСкстом ошибки.\r\n *\r\n * @method WebAccess.components.dialogs.MessageBox#showError\r\n * @param {string} mainText Основной тСкст ошибки\r\n * @param {string} additionalText Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ тСкст, ΠΎΠ±ΡŠΡΡΠ½ΡΡŽΡ‰ΠΈΠΉ ΠΎΡˆΠΈΠ±ΠΊΡƒ\r\n * @param {string} title Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°\r\n * @param {function} onClose ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ события закрытия Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°\r\n * @return {WebAccess.components.dialogs.MessageBox} OΠ±ΡŠΠ΅ΠΊΡ‚ класса MessageBox.\r\n * @since 5.0.0.4206\r\n */\r\n showError: function (mainText, additionalText, title, onClose) {\r\n if (!title) title = L('ERROR');\r\n this.okText = L('CLOSE');\r\n this.show(mainText, additionalText, title, 'error', null, onClose);\r\n return this;\r\n },\r\n\r\n /**\r\n * ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ с ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ.\r\n *\r\n * @method WebAccess.components.dialogs.MessageBox#showInfo\r\n * @param {string} mainText Основной тСкст сообщСния\r\n * @param {string} additionalText Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ тСкст, ΠΎΠ±ΡŠΡΡΠ½ΡΡŽΡ‰ΠΈΠΉ ΡΡƒΡ‚ΡŒ сообщСния\r\n * @param {string} title Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°\r\n * @param {function} onClose ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ события закрытия Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°\r\n * @return {WebAccess.components.dialogs.MessageBox} OΠ±ΡŠΠ΅ΠΊΡ‚ класса MessageBox.\r\n * @since 5.0.0.4206\r\n */\r\n showInfo: function (mainText, additionalText, title, onClose) {\r\n if (!title) title = L('INFO');\r\n this.okText = L('CLOSE');\r\n this.show(mainText, additionalText, title, 'info', null, onClose);\r\n return this;\r\n },\r\n\r\n /**\r\n * ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ с вопросом\r\n *\r\n * @method WebAccess.components.dialogs.MessageBox#showQuestion\r\n * @param {string} mainText Основной тСкст вопроса\r\n * @param {string} additionalText Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ тСкст, ΠΎΠ±ΡŠΡΡΠ½ΡΡŽΡ‰ΠΈΠΉ ΡΡƒΡ‚ΡŒ вопроса\r\n * @param {string} title Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°\r\n * @param {function} onClose ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ события закрытия Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°\r\n * @return {WebAccess.components.dialogs.MessageBox} OΠ±ΡŠΠ΅ΠΊΡ‚ класса MessageBox.\r\n * @since 5.0.0.4206\r\n */\r\n showQuestion: function (mainText, additionalText, title, onClose) {\r\n if (!title) title = L('CONFIRMATION');\r\n this.show(mainText, additionalText, title, 'question', null, onClose);\r\n return this;\r\n },\r\n\r\n /**\r\n * ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ с ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ΠΌ.\r\n *\r\n * @method WebAccess.components.dialogs.MessageBox#showWarning\r\n * @param {string} mainText Основной тСкст прСдупрСТдСния\r\n * @param {string} additionalText Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ тСкст, ΠΎΠ±ΡŠΡΡΠ½ΡΡŽΡ‰ΠΈΠΉ ΡΡƒΡ‚ΡŒ прСдупрСТдСния\r\n * @param {string} title Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°\r\n * @param {function} onClose ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ события закрытия Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°\r\n * @return {WebAccess.components.dialogs.MessageBox} OΠ±ΡŠΠ΅ΠΊΡ‚ класса MessageBox.\r\n * @since 5.0.0.4206\r\n */\r\n showWarning: function (mainText, additionalText, title, onClose) {\r\n if (!title) title = L('WARNING');\r\n this.show(mainText, additionalText, title, 'warning', null, onClose);\r\n return this;\r\n },\r\n\r\n /**\r\n * ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ.\r\n *\r\n * @method WebAccess.components.dialogs.MessageBox#show\r\n * @param {string} mainText Основной тСкст\r\n * @param {string} additionalText Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ тСкст\r\n * @param {string} title Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°\r\n * @param {string} icon Иконка Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΈΠΊΠΎΠ½ΠΊΠ° сообщСния ΠΎΠ± ошибкС. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ значСния: error, info, question, warning\r\n * @param {string} defaultButtonId Π˜Π” ΠΊΠ½ΠΎΠΏΠΊΠΈ, которая Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π΄Π΅Π»Π΅Π½Π° Π½Π° Ρ„ΠΎΡ€ΠΌΠ΅ ΠΊΠ°ΠΊ дСйствиС ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. Π˜ΠΌΠ΅Π΅Ρ‚ смысл, ΠΊΠΎΠ³Π΄Π° ΠΊΠ½ΠΎΠΏΠΊΠΈ Π±Ρ‹Π»ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ Ρ‡Π΅Ρ€Π΅Π· ΠΌΠ΅Ρ‚ΠΎΠ΄ addButton\r\n * @param {function} onClose ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ события закрытия Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°\r\n * @return {WebAccess.components.dialogs.MessageBox} OΠ±ΡŠΠ΅ΠΊΡ‚ класса MessageBox.\r\n * @since 5.0.0.4206\r\n */\r\n show: function (mainText, additionalText, title, icon, defaultButtonId, onClose) {\r\n var me = this;\r\n if (mainText === null) return me;\r\n me.setMainText(mainText);\r\n me.setAdditionalText(additionalText);\r\n if (!!title) me.title = title.unescapeHtml();\r\n if (!!icon) me.messageBoxIcon = icon;\r\n me._setDefaultButton(defaultButtonId);\r\n if (!!onClose) me.onClose = onClose;\r\n me.setHtml(me._getHtml());\r\n //var dialog = new WA.CMP.dialogs.BaseDialog(this._createSettingsObject());\r\n //dialog.height = this.height;\r\n //dialog.width = this.width;\r\n //this.baseDialog = dialog;\r\n me.onOpen = function () {\r\n me._jDialog.parents('.ui-dialog:first').addClass((!!icon ? icon : '') + '-mbox');\r\n };\r\n me._super();\r\n //dialog.show();\r\n return me;\r\n },\r\n\r\n /**\r\n * ДобавляСт основной тСкст Π½Π° Ρ„ΠΎΡ€ΠΌΡƒ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°.\r\n *\r\n * @method WebAccess.components.dialogs.MessageBox#setMainText\r\n * @param {string} mainText Основной тСкст\r\n * @return {WebAccess.components.dialogs.MessageBox} OΠ±ΡŠΠ΅ΠΊΡ‚ класса MessageBox.\r\n * @since 5.0.0.4206\r\n */\r\n setMainText: function (mainText) {\r\n if (!!mainText) {\r\n var splitterIndex = mainText.indexOf('^');\r\n if (splitterIndex != -1) {\r\n this.setAdditionalText(mainText.substring(splitterIndex + 1, mainText.length).fromISBuilderToNormal());\r\n mainText = mainText.substring(0, splitterIndex);\r\n }\r\n this.mainText = mainText;\r\n\r\n if (this.isOpened() && this._jDialog) {\r\n this._jDialog.find('.upper-area-text').html(mainText);\r\n }\r\n }\r\n return this;\r\n },\r\n\r\n /**\r\n * ДобавляСт ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ тСкст Π½Π° Ρ„ΠΎΡ€ΠΌΡƒ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°.\r\n *\r\n * @method WebAccess.components.dialogs.MessageBox#setAdditionalText\r\n * @param {string} additionalText Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ тСкст\r\n * @return {WebAccess.components.dialogs.MessageBox} OΠ±ΡŠΠ΅ΠΊΡ‚ класса MessageBox.\r\n * @since 5.0.0.4206\r\n */\r\n setAdditionalText: function (additionalText) {\r\n if (!!additionalText || typeof additionalText == 'string') {\r\n this.additionalText = ('' + additionalText);\r\n if (this.isOpened() && this._jDialog) {\r\n this._jDialog.find('.lower-area').html(additionalText);\r\n }\r\n }\r\n return this;\r\n },\r\n\r\n /**\r\n * УстанавливаСт ΠΊΠ½ΠΎΠΏΠΊΡƒ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π² Π΄ΠΈΠ°Π»ΠΎΠ³Π΅. Π˜ΠΌΠ΅Π΅Ρ‚ дСйствиС Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли ΠΊΠ½ΠΎΠΏΠΊΠΈ добавлялись Ρ‡Π΅Ρ€Π΅Π· ΠΌΠ΅Ρ‚ΠΎΠ΄ addButton\r\n * @private\r\n * @param {string} buttonId ΠΈΠ΄ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ\r\n * @since 5.0.0.4206\r\n */\r\n _setDefaultButton: function (buttonId) {\r\n if (!!buttonId && !!this.modalWindowButtons && this.modalWindowButtons.length) {\r\n for (var btn in this.modalWindowButtons) {\r\n if (this.modalWindowButtons[btn].id == buttonId) {\r\n this.modalWindowButtons[btn]['class'] = 'primary';\r\n break;\r\n }\r\n }\r\n }\r\n return this;\r\n },\r\n\r\n /**\r\n * создаСт ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ с настройками для отобраТСния ΠΎΠΊΠ½Π°\r\n * @private\r\n * @since 5.0.0.4206\r\n */\r\n _createSettingsObject: function () {\r\n var showOkButton = this.messageBoxButtons.length === 0 || !!this.ok;\r\n var showCancelButton = !!this.cancel;\r\n var settings = {\r\n html: this._getHtml(),\r\n title: this.title,\r\n modalWindowButtons: this.messageBoxButtons,\r\n isShowOkButton: showOkButton,\r\n isShowCancelButton: showCancelButton\r\n };\r\n if (!!this.onClose) settings['onClose'] = this.onClose;\r\n if (!!this.ok) settings['ok'] = this.ok;\r\n if (!!this.cancel) settings['cancel'] = this.cancel;\r\n if (!!this.okText) settings['okText'] = this.okText;\r\n if (!!this.cancelText) settings['cancelText'] = this.cancelText;\r\n return settings;\r\n },\r\n\r\n /**\r\n * Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ html-Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΡƒ для ΠΎΠΊΠ½Π°\r\n * @private\r\n * @since 5.0.0.4206\r\n */\r\n _getHtml: function () {\r\n var icon = !!this.messageBoxIcon ? '' : '';\r\n var mainTextHtml = '

    ' + icon + '

    ' + this.mainText + '
    ';\r\n var additionalTextHtml = '
    ' + this.additionalText + '
    ';\r\n var html = '
    ' + mainTextHtml + additionalTextHtml + '
    ';\r\n return html;\r\n }\r\n\r\n });\r\n\r\n global.MessageBox = MessageBox;\r\n})(window.WebAccess.components.dialogs);","\"use strict\";\r\n\r\n/**\r\n* Π”ΠΈΠ°Π»ΠΎΠ³ создания Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°.\r\n*\r\n* @class WebAccess.components.dialogs.CreateDocument\r\n* @since 5.2.0.1100\r\n* @extends WebAccess.components.dialogs.BaseDialog\r\n*\r\n* @example\r\n* // ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° Β«Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Β».\r\n* var dialog = new WA.CMP.dialogs.CreateDocument()\r\n* dialog.bind('ok', function(data) {\r\n* alert('ok')\r\n* });\r\n* dialog.bind('create', function(document) {\r\n* document.open();\r\n* });\r\n* dialog.show()\r\n*/\r\n\r\n/**\r\n * Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ срабатываСт ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ ΠΎΠΊΠ½Π° создания Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°.\r\n * @event WebAccess.components.dialogs.CreateDocument#open\r\n */\r\n\r\n/**\r\n * Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ срабатываСт послС Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ содСрТимого ΠΎΠΊΠ½Π° создания Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°.\r\n * @event WebAccess.components.dialogs.CreateDocument#loaded\r\n */\r\n\r\n/**\r\n * Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ срабатываСт послС наТатия Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Β».\r\n * @event WebAccess.components.dialogs.CreateDocument#ok\r\n */\r\n\r\n/**\r\n * Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ срабатываСт послС создания Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°.\r\n * @event WebAccess.components.dialogs.CreateDocument#create\r\n * @param {Link} doc Бсылка Π½Π° созданный Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚\r\n *\r\n */\r\n\r\n(function (global) {\r\n var CreateDocument = global.BaseDialog.extend({\r\n title: L(\"MODAL_DIALOG_SELECTED_ITEMS\"),\r\n width: 600,\r\n height: 'auto',\r\n className: \"CreateDocument\",\r\n mode: 'create',\r\n _jWindow: null,\r\n _html: \"\",\r\n _handlers: {},\r\n _jSelectedItemsTable: null,\r\n _jAvailableItemsList: null,\r\n _lastFilterValue: null,\r\n _displayOptions: false,\r\n _datatable: null,\r\n isShowCancelButton: true,\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n init: function (settings) {\r\n this._super(settings); \r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ html Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΈ ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ²\r\n * @private\r\n */\r\n _preInit: function () {\r\n /** Π’Π΅Ρ€Π½Π΅ΠΌ всС, Ρ‡Ρ‚ΠΎ Π½Π°Π²Ρ‹Π±ΠΈΡ€Π°Π»ΠΈ Π² ok callback, ΠΈ Π΅Ρ‰Π΅ выбросим событиС с Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ \r\n * @ignore\r\n */\r\n var me = this;\r\n this.ok = this.ok.override(\r\n function () {\r\n var jWindow = me._jWindow;\r\n var formIsValid = me.isFormValid(jWindow);\r\n\r\n if (formIsValid && CheckFileSize(jWindow.find('form input[type=\"file\"]')[0], jWindow.data('error'))) {\r\n jWindow.find('form').submit();\r\n return false;\r\n }\r\n else if (!formIsValid) {\r\n jWindow.data('error')(L('NOT_ALL_REQUIRED_FIELDS_FILLED'));\r\n return false;\r\n }\r\n }\r\n );\r\n },\r\n\r\n /**\r\n * Π˜Π½ΠΈΡ†ΠΈΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ jQuery ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ навСшиваниС Π½Π° Π½ΠΈΡ… событий, \r\n * функция вызываСтся ΠΊΠΎΠ³Π΄Π° модальноС ΠΎΠΊΠ½ΠΎ ΠΈ всС Π΅Π³ΠΎ элСмСнты Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Ρ‹.\r\n * @private\r\n */\r\n _postInit: function () {\r\n var me = this;\r\n\r\n // Π£Π±Ρ€Π°Ρ‚ΡŒ лишниС отступы, Ссли Π½Π΅ Π½ΡƒΠΆΠ½Ρ‹\r\n if (me.mode === 'file' || me.mode === 'template') {\r\n $('#modal_window .modal_td_padded').removeClass('modal_td_padded');\r\n }\r\n\r\n me.showHelpIcon(false, 'NewDoc');\r\n\r\n var jWindow = this._jWindow;\r\n jWindow.data('success', (res) => { \r\n const linkArr = [];\r\n const resArr = res.split(';');\r\n resArr.forEach((item) => {\r\n let url = new WA.URL(item);\r\n let id = url.getParam('id');\r\n let link = new WA.Link(id, OBJECT_TYPE.EDOCUMENT);\r\n link.isNew = true;\r\n linkArr.push(link);\r\n });\r\n me.fire('create', linkArr[0]);\r\n me.fire('createMulti', linkArr);\r\n me.close();\r\n\r\n }).data('error', (res) => {\r\n me.inlineHint.show(res, null, MESSAGE_TYPE.ERROR, INLINE_HINT_PRIORITY.PRIMARY);\r\n me.fire('error', res);\r\n });\r\n\r\n me.initCreateNewDocumentControl(jWindow);\r\n\r\n me.fire('loaded');\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n \r\n initCreateNewDocumentControl: function () {\r\n var me = this;\r\n me._jWindow.find('[name=\"is_from_file\"]').change(function () {\r\n if ((me._jWindow.find('#radio_from_file').is(':checked')) || (me.mode == 'file')) {\r\n $('#new_div_file input').removeAttr('disabled');\r\n setTimeout(function () { //setTimeout Π½ΡƒΠΆΠ½ΠΎ Ρ‚.ΠΊ. инициализация \"Π²Ρ‹Π±ΠΎΡ€Π° ΠΈΠ· справочника\" ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ·ΠΆΠ΅ этого события.\r\n $('#new_div_app input').SetEnabled();\r\n $('#new_div_template input').SetDisabled();\r\n }, 50);\r\n $('#new_div_file, #new_div_app').removeClass('field_disabled');\r\n $('#new_div_template').addClass('field_disabled');\r\n } else {\r\n $('#new_div_file input').attr('disabled', 'disabled');\r\n setTimeout(function () { //setTimeout Π½ΡƒΠΆΠ½ΠΎ Ρ‚.ΠΊ. инициализация \"Π²Ρ‹Π±ΠΎΡ€Π° ΠΈΠ· справочника\" ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈΡ‚ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ·ΠΆΠ΅ этого события.\r\n $('#new_div_app input').SetDisabled();\r\n $('#new_div_template input').SetEnabled();\r\n }, 50);\r\n $('#new_div_file, #new_div_app').addClass('field_disabled');\r\n $('#new_div_template').removeClass('field_disabled');\r\n }\r\n }).trigger('change');\r\n if ($.ipad && !WA.ENV.isAndroid()) {\r\n me._jWindow.find('#radio_from_file').attr('disabled', 'disabled');\r\n }\r\n }, \r\n\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n isFormValid: function (jWindow) {\r\n if (!jWindow.find('input[name=refVid]').val()) return false;\r\n if (!jWindow.find('input[name=refCardType]').val()) return false;\r\n if (this.mode === 'copy') return true;\r\n if (($('#radio_from_template').is(':checked')) || (this.mode === 'template')) {\r\n if (!jWindow.find('input[name=refTempl]').val()) return false;\r\n } else {\r\n if (!jWindow.find('input[type=file]').val()) return false;\r\n if (!jWindow.find('input[name=refApp]').val()) return false;\r\n }\r\n return true;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ВызываСтся сразу послС открытия ΠΌΠΎΠ΄Π°Π»ΠΊΠΈ, Π½Π°Π²Π΅ΡˆΠΈΠ²Π°Π΅Ρ‚ события Π½Π° эСлСмСнты списков\r\n * @private\r\n */\r\n _initEvents: function () {\r\n this._initSelectedItemsEvents();\r\n this._InitAvailableItemsListEvents();\r\n this._initFilterInputEvents();\r\n\r\n this.bind(\"itemSelect\", function () {\r\n this.isSelectionChanged = true;\r\n });\r\n this.bind(\"itemUnSelect\", function () {\r\n this.isSelectionChanged = true;\r\n });\r\n\r\n this._initExtraEvents();\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~// \r\n \r\n show: function (opt_mode) {\r\n opt_mode = opt_mode || this.mode;\r\n var me = this;\r\n me._preInit();\r\n var title;\r\n\r\n switch (opt_mode) {\r\n case \"template\":\r\n title = L(\"CREATE_DOCUMENT_FROM_TEMPLATE\");\r\n break;\r\n case \"file\":\r\n title = L(\"CREATE_DOCUMENT_FROM_FILE\");\r\n break;\r\n case \"create\":\r\n title = L(\"CREATE_DOCUMENT\");\r\n break;\r\n case \"copy\":\r\n title = L(\"COPY_DOCUMENT\");\r\n break;\r\n default:\r\n title = L(\"CREATE_DOCUMENT\");\r\n break;\r\n }\r\n\r\n me.okText = opt_mode == \"copy\" ? L(\"COPY\") : L(\"CREATE\");\r\n\r\n\r\n me._super();\r\n me.setSpinner();\r\n\r\n var folder_id = GetParamInURL(\"id\");\r\n if (!folder_id) folder_id = FavoritesFolderID;\r\n var data = {\r\n Mode: opt_mode,\r\n FolderID: folder_id\r\n };\r\n\r\n WA.SRV.call(\"/ModalWindow.asmx/Create\", { ControlName: \"new_document\", Params: $.toJSON(data) }).done(function (data) {\r\n me.setTitle(title);\r\n me.setHtml('
    ' + data.html + '
    ');\r\n me._jWindow = $('#modal_window');\r\n me._postInit();\r\n moveOpenedDialogToCenter();\r\n }).fail(function () {\r\n me.close();\r\n });\r\n return this;\r\n }\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n });\r\n\r\n /**\r\n * Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ пСрСзаписи Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ, с Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒΡŽ запуска Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. \r\n * @inner\r\n */\r\n Function.prototype.override = function (func) {\r\n var superFunction = this;\r\n return function () {\r\n this.superFunction = superFunction;\r\n return func.apply(this, arguments);\r\n };\r\n };\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n \r\n global.CreateDocument = CreateDocument;\r\n})(window.WebAccess.components.dialogs);","\"use strict\";\r\n(function (global) {\r\n\r\n var TEMPLATE = {\r\n LAYOUT: 'layouts/FormDialog.compile.html'\r\n };\r\n\r\n /**\r\n * Π”ΠΈΠ°Π»ΠΎΠ³ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ„ΠΎΡ€ΠΌΠ°ΠΌΠΈ.\r\n * @class WebAccess.components.dialogs.FormDialog\r\n * @extends WebAccess.components.dialogs.BaseDialog\r\n * @mixes WebAccess.mixins.formMixin\r\n * @property {Deferred} Init мСняСт сосотояниС ΠΏΡ€ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ элСмСнтов управлСния Ρ„ΠΎΡ€ΠΌΡ‹\r\n * @property {Object} model пСрСданная Π² конструктор модСль \r\n * @property {String} serviceURL адрСс Π²Π΅Π±-сСрвиса ΠΎΠ±ΡΠ»ΡƒΠΆΠΈΠ²Π°ΡŽΡ‰Π΅Π³ΠΎ Π΄ΠΈΠ°Π»ΠΎΠ³\r\n * @since 5.2.0.1600 \r\n */\r\n var FormDialog = global.CMP.dialogs.BaseDialog.extend([global.mixins.formMixin], {\r\n className: 'FormDialog',\r\n model: null,\r\n width: 1000,\r\n height: 'auto',\r\n dialogClass: 'form-dialog-content-padding', //Ссли Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ padding ΠΈΠ»ΠΈ ΡƒΠ±Ρ€Π°Ρ‚ΡŒ Π΅Π³ΠΎ, Ρ‚ΠΎ Π½Π΅ Π·Π°Π±Ρ‹Ρ‚ΡŒ ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ Π²Π½ΠΈΠ·Ρƒ Ρ€Π°Π·ΠΌΠ΅Ρ€ этого padding.\r\n serviceURL: \"/Dialogs.asmx\",\r\n modalWindowButtons: null,\r\n\r\n _pendingOperations: null,\r\n _containerInit: null,\r\n _detailsGridInit: null,\r\n _keepAliveTimer: null,\r\n _sideBarContainerSelector: '.twc_left',\r\n _freeAfterClosing: true,\r\n //-----------------------------------------------------------------------// \r\n\r\n init: function (settings, model) {\r\n var me = this;\r\n if (!model) WA.raise(L(\"ERR_NOT_ALL_REQUIRED_ARGUMENTS_HAVE_BEEN_SUPLIED\"));\r\n me.model = model;\r\n me._pendingOperations = {};\r\n\r\n me._preInit();\r\n\r\n me._keepAliveTimer = {\r\n timeout: null\r\n };\r\n\r\n me._containerInit = $.Deferred();\r\n me._detailsGridInit = $.Deferred();\r\n\r\n me._super(settings);\r\n\r\n me.id = me.model.InstanceID;\r\n me._postInit();\r\n me._keepAlive();\r\n\r\n me.bind(me['class'].EVENT.AFTER_CLOSE, $.proxy(me._freeDialog, me));\r\n return this;\r\n },\r\n //-----------------------------------------------------------------------//\r\n\r\n // Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ objectList.\r\n _initObjectList: function () {\r\n var me = this;\r\n me.objectList = new global.CMP.wrappers.objectList.ObjectList(me.containerSelector);\r\n },\r\n\r\n /**\r\n * ΠžΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ\r\n * @method WebAccess.components.dialogs.FormDialog#show\r\n * @param {object} [showParams] ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ ΠΏΠΎΠΊΠ°Π·Π° Π΄ΠΈΠ°Π»ΠΎΠ³Π°.\r\n * @param {bool} [showParams.freeAfterClosing] TRUE - Ссли Π½ΡƒΠΆΠ½ΠΎ ΠΎΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡ‚ΡŒ сСрвСрный ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π΄ΠΈΠ°Π»ΠΎΠ³Π° послС закрытия, ΠΈΠ½Π°Ρ‡Π΅ - FALSE.\r\n * @return {WebAccess.components.dialogs.FormDialog}\r\n */\r\n show: function (showParams = {}) {\r\n var me = this;\r\n var baseShow = me._super; //_beforeShow асинхронный, поэтому _super ΡƒΠΆΠ΅ удалится послС выполнСния ΠΌΠ΅Ρ‚ΠΎΠ΄Π°, сохраняСм Π΅Π³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ.\r\n if (showParams.freeAfterClosing !== undefined)\r\n {\r\n //ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ ΠΌΡ‹ всСгда освобоТдаСм Π΄ΠΈΠ°Π»ΠΎΠ³ послС закрытия. Но ΠΈΠ½ΠΎΠ³Π΄Π° трСбуСтся ΠΎΡ‚Π»ΠΎΠΆΠΈΡ‚ΡŒ освобоТдСниС. \r\n this._freeAfterClosing = showParams.freeAfterClosing;\r\n }\r\n\r\n me._beforeShow().done(function () {\r\n baseShow.apply(me); //Ссли Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Π±Π΅Π· apply Ρ‚ΠΎ this Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π²Π΅Π½ window.\r\n me._afterShow();\r\n });\r\n\r\n return me;\r\n },\r\n //-----------------------------------------------------------------------//\r\n\r\n /**\r\n * Запуск Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π° для поддСрТания ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π΄ΠΈΠ°Π»ΠΎΠ³Π°\r\n * @method WebAccess.components.dialogs.FormDialog#_keepAlive\r\n * @private\r\n * @return {WebAccess.components.dialogs.FormDialog}\r\n */\r\n _keepAlive: function () {\r\n var me = this;\r\n if (!LockUpdateTime) {\r\n log.warn('DEPRECATION', 'Call to global variable \"LockUpdateTime\" failed');\r\n return;\r\n }\r\n me._keepAliveTimer = setTimeout(function () {\r\n WA.SRV.call(me.serviceURL + '/KeepAlive', {\r\n InstanceID: me.id\r\n }).always(function () {\r\n me._keepAlive();\r\n });\r\n }, LockUpdateTime);\r\n return me;\r\n },\r\n //-----------------------------------------------------------------------//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ модСль ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° связанного с Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΌ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠΌ\r\n * @method WebAccess.components.dialogs.FormDialog#_keepAlive\r\n * @private\r\n * @return {String} минимальная модСль ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ„ΠΎΡ€ΠΌΡ‹ Π² Π²ΠΈΠ΄Π΅ JSON\r\n */\r\n _getObjectLink: function () {\r\n var me = this;\r\n return $.toJSON({\r\n 'InstanceID': me.id\r\n });\r\n },\r\n //-----------------------------------------------------------------------//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ прСдставлСниС\r\n * @method WebAccess.components.dialogs.FormDialog#_getObjectView\r\n * @private\r\n * @return {String} ΠΊΠΎΠ΄ прСдставлСния\r\n */\r\n _getObjectView: function () {\r\n return '';\r\n },\r\n //-----------------------------------------------------------------------//\r\n\r\n _registerOperation: function (name, operation) {\r\n this._pendingOperations[name] = operation;\r\n },\r\n //-----------------------------------------------------------------------//\r\n\r\n _unRegisterOperation: function (name) {\r\n delete this._pendingOperations[name];\r\n },\r\n //-----------------------------------------------------------------------//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Ρ„ΠΎΡ€ΠΌΠ΅\r\n * @method WebAccess.components.dialogs.FormDialog#_getFormData\r\n * @private\r\n * @return {String} модСль Ρ„ΠΎΡ€ΠΌΡ‹ Π² Π²ΠΈΠ΄Π΅ JSON\r\n */\r\n _getFormData: function () {\r\n var me = this;\r\n return $.parseJSON(me.model['FormData']);\r\n },\r\n //-----------------------------------------------------------------------//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ экзСмпляры ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π³Ρ€ΠΈΠ΄Π°\r\n * @method WebAccess.components.dialogs.FormDialog#_getGrids\r\n * @private\r\n * @return {Array} экзСмпляры Π³Ρ€ΠΈΠ΄ΠΎΠ²\r\n */\r\n _getGrids: function () {\r\n var me = this;\r\n return me.grids;\r\n },\r\n //-----------------------------------------------------------------------//\r\n\r\n /**\r\n * Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ html Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΈ ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ²\r\n *\r\n * @method WebAccess.components.dialogs.FormDialog#_beforeShow\r\n * @private\r\n * @return {Deferred}\r\n */\r\n _beforeShow: function () {\r\n var me = this;\r\n me.containerSelector = \"div#dialog_content_\" + me.id;\r\n me.modalWindowButtons = [];\r\n me.isShowOkButton = false;\r\n\r\n var state = $.Deferred();\r\n me.width = +(me.model.Width || me.width) + 20; //20 - padding ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ Π² CSS .form-dialog-content-padding\r\n\r\n //inlineHint ΠΏΠ»ΠΎΡ…ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с фиксированной высотой, поэтому строку Π½ΠΈΠΆΠ΅ Π·Π°ΠΊΠΎΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π».\r\n //me.height = me.model.Height || me.height; \r\n me.title = me.model.Caption || me.title;\r\n\r\n if (!me.model['TabsHtml']) {\r\n me.html = me.model['FormHtml'];\r\n state.resolve();\r\n return state;\r\n }\r\n\r\n me.height = me.model.Height || me.height;\r\n me.width += 75; //Π¨ΠΈΡ€ΠΈΠ½Π° Ρ‚Π°Π±ΠΎΠ² \r\n\r\n WA.templates.render(TEMPLATE.LAYOUT, {\r\n left: me.model['TabsHtml'],\r\n right: me.model['FormHtml']\r\n }).done(function (html) {\r\n me.html = html;\r\n state.resolve();\r\n })\r\n\r\n return state;\r\n },\r\n //-----------------------------------------------------------------------//\r\n\r\n /**\r\n * Π˜Π½ΠΈΡ†ΠΈΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ jQuery ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ навСшиваниС Π½Π° Π½ΠΈΡ… событий, \r\n * функция вызываСтся ΠΊΠΎΠ³Π΄Π° модальноС ΠΎΠΊΠ½ΠΎ ΠΈ всС Π΅Π³ΠΎ элСмСнты Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Ρ‹.\r\n * @method WebAccess.components.dialogs.FormDialog#_afterShow\r\n * @private\r\n * @return {WebAccess.components.dialogs.FormDialog}\r\n */\r\n _afterShow: function () {\r\n var me = this;\r\n me._containerInit.resolve();\r\n me._fixStyles();\r\n me._initActions();\r\n\r\n if (!!me.model['TabsHtml']) me._initTabs();\r\n me._initDetails();\r\n return me;\r\n },\r\n //-----------------------------------------------------------------------// \r\n\r\n /**\r\n * Подгонка стилСй, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π²Ρ‹ΠΏΠΈΡ€Π°Π»ΠΎ. \r\n * @method WebAccess.components.dialogs.FormDialog#_fixStyles\r\n * @private\r\n * @return {WebAccess.components.dialogs.FormDialog}\r\n */\r\n _fixStyles: function () {\r\n var me = this;\r\n var isAnySelected = me.sideBar.tabs.toArray().some(function (tab) {\r\n if (!isAnySelected && tab.isVisible()) {\r\n tab._jObject.addClass('selected');\r\n return true;\r\n }\r\n return false;\r\n });\r\n if (!isAnySelected) me._jContent.find('.tab_item.first').addClass('selected');\r\n if (!InitHoverForButtons) {\r\n log.warn('DEPRECATION', 'Call to global variable \"InitHoverForButtons\" failed');\r\n return;\r\n }\r\n\r\n $('.CardForm').redraw(); //#106605\r\n InitHoverForButtons();\r\n return me;\r\n },\r\n //-----------------------------------------------------------------------//\r\n\r\n /**\r\n * Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½Ρ‹Ρ… дСйствий. НавСшиваниС ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΈ ссылки.\r\n * @method WebAccess.components.dialogs.FormDialog#_initActions\r\n * @private\r\n * @return {WebAccess.components.dialogs.FormDialog}\r\n */\r\n _initActions: function () {\r\n var me = this;\r\n if (me.model && me.model.hasOwnProperty('Actions')) {\r\n var actions = $.parseJSON(me.model.Actions);\r\n var buttons = me.form.controls.buttons.toArray();\r\n var links = me.form.controls.links.toArray();\r\n me._initActionItems(buttons, actions);\r\n me._initActionItems(links, actions);\r\n me.bind(me['class'].EVENT.BEFORE_CLOSE_BY_CROSS, function () {\r\n me._executeDefaultAction(DIALOG_ACTION.CANCEL);\r\n return false;\r\n }).bind(me['class'].EVENT.BEFORE_CLOSE_BY_ESCAPE, function () {\r\n me._executeDefaultAction(DIALOG_ACTION.CANCEL);\r\n return false;\r\n });\r\n }\r\n return me;\r\n },\r\n //-----------------------------------------------------------------------//\r\n\r\n /**\r\n * ИмСнно здСсь ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΈ ссылки с дСйствиями становятся Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌΠΈ ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‚\r\n * свои Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ\r\n * @param {Array} items ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹\r\n * @param {Object} actions дСйствия\r\n * @method WebAccess.components.dialogs.FormDialog#_initActionItems\r\n * @private\r\n * @return {WebAccess.components.dialogs.FormDialog}\r\n */\r\n _initActionItems: function (items, actions) {\r\n var me = this;\r\n _(items).each(function (item) {\r\n var action = _(actions).findWhere({ Name: item.actionName });\r\n if (action) {\r\n item.bind('click', function () {\r\n\r\n //#106918\r\n if (!action.Description.HasChangeEventHandler && item.actionName !== DIALOG_ACTION.OK) {\r\n // НС ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅ΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚, Ρ‡Ρ‚ΠΎ Π±Ρ‹ Π΄ΠΈΠ°Π»ΠΎΠ³ Π½Π΅ закрылся, Π½ΠΎ ΠΏΡ€ΠΈ \"ΠžΡ‚ΠΌΠ΅Π½Π΅\" Π½ΡƒΠΆΠ½ΠΎ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Π² любом случаС. #107380\r\n return me._handleAction(name, item.actionName === DIALOG_ACTION.CANCEL ? 2 : undefined);\r\n }\r\n\r\n var process = $.proxy(me._executeDefaultAction, me);\r\n if (me.fire(FormDialog.EVENT.BEFORE_ACTION, item.actionName, action, me) === false) {\r\n return;\r\n };\r\n process(item.actionName);\r\n });\r\n\r\n if (!item.getLabel()) item.setLabel(action.Description.Caption);\r\n item.setTooltip(action.Description.Hint);\r\n if (!action.Description.IsEnabled) {\r\n item.disable();\r\n }\r\n if (!action.Description.IsVisible) {\r\n item.hide();\r\n }\r\n }\r\n });\r\n\r\n return me;\r\n },\r\n //-----------------------------------------------------------------------//\r\n\r\n /**\r\n * Запуск дСйствия \"ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ\". Π’.Π΅. ΠΊΠΎΠ³Π΄Π° ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ занимаСтся сСрвСр, \r\n * Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π³ΠΎΠ²ΠΎΡ€ΠΈΡ‚ ΠΊΠ°ΠΊΠΎΠ΅ дСйствиС Π½Π°Π΄ΠΎ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅ Ρ„ΠΎΡ€ΠΌΡ‹.\r\n * свои Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ.\r\n * @param {string} name имя дСйствия \r\n * @method WebAccess.components.dialogs.FormDialog#_executeDefaultAction\r\n * @private\r\n * @return {WebAccess.components.dialogs.FormDialog}\r\n */\r\n _executeDefaultAction: function (name) {\r\n var me = this;\r\n me.form._unHighlightRequisites();\r\n if (me.fire(FormDialog.EVENT.BEFORE_ACTION, name, me) === false) return me;\r\n\r\n //#106428\r\n if (name === DIALOG_ACTION.CANCEL) {\r\n me._handleAction(name, 2); //Π°Π½Π°Π»ΠΎΠ³ΠΈΡ‡Π½ΠΎ билдСровскому mrCancel=2\r\n return me;\r\n }\r\n // HACK для сохранСния измСнСния Π² Π΄Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π°Π·Π΄Π΅Π»Π°Ρ…, Ссли послС измСнСния сразу ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΡƒ Π±Π΅Π· ΠΊΠ»ΠΈΠΊΠ° ΠΊΡƒΠ΄Π°-Ρ‚ΠΎ Π² Π΄Ρ€ΡƒΠΎΠ΅ мСсто Π³Ρ€ΠΈΠ΄Π°.\r\n var allGrids = me.grids;\r\n for (var gridName in allGrids) {\r\n var grid = allGrids[gridName].grid;\r\n var cell = grid.getActiveCell();\r\n if (cell) {\r\n grid.navigateUp();\r\n }\r\n }\r\n\r\n WA.SRV.call(me.serviceURL + '/ExecuteAction', {\r\n DialogInstanceID: me.id,\r\n ActionName: name,\r\n Req: me.form._getRequisitesToSend(me.form),\r\n Cmd: $.toJSON(me.form._commandList)\r\n }, null, null, true).done(function (response) {\r\n var responseAsObject = $.parseJSON(response);\r\n\r\n //скрываСм сообщСния ΠΎ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΡ… ΠΎΡˆΠΈΠ±ΠΊΠ°Ρ…, Ссли Π±Ρ‹Π»ΠΈ\r\n $.when(WA.FormControlsInit).then(() => {\r\n WA.CMP.NTF.InlineHint.hideAll();\r\n }); \r\n\r\n // ΠžΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌ измСнСния Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ² дСйствиСм.\r\n var changes = responseAsObject.Changes;\r\n var changedMultiSelects = responseAsObject.ChangedMultiSelectRequisitesValues;\r\n me.form.applyServerSideChanges(changes, changedMultiSelects);\r\n\r\n // ΠžΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния дСйствия.\r\n var result = responseAsObject.Result;\r\n me._handleAction(name, result);\r\n\r\n }).fail(function (err, response) {\r\n me.form._handleFailSave(this, true, null, me.details, me.inlineHint);\r\n\r\n // Π’ ΠΎΡ‚Π²Π΅Ρ‚Π΅ с ошибкой ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΈΠΉΡ‚ΠΈ измСнСния Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ² ΠΈ ΠΈΡ… Π½Π°Π΄ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ.\r\n if (response && response.Result) {\r\n var data = $.parseJSON(response.Result);\r\n // ΠžΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌ измСнСния Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ² дСйствиСм.\r\n var changes = data.Changes;\r\n var changedMultiSelects = data.ChangedMultiSelectRequisitesValues;\r\n me.form.applyServerSideChanges(changes, changedMultiSelects);\r\n }\r\n });\r\n return me;\r\n },\r\n //-----------------------------------------------------------------------//\r\n\r\n /**\r\n * ΠŸΠΎΡΡ‚-ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° дСйствия\r\n * @param {string} name имя дСйствия \r\n * @param {object} result Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния\r\n * @method WebAccess.components.dialogs.FormDialog#_handleAction\r\n * @private\r\n * @return {String} JSON ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ с Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°ΠΌΠΈ\r\n */\r\n _handleAction: function (name, result) {\r\n var me = this;\r\n var preventClose = (me.fire(FormDialog.EVENT.AFTER_ACTION, name, result, me) === false);\r\n\r\n // 0 - ΠΊΠΎΠ³Π΄Π° Π½Π°ΠΆΠΈΠΌΠ°Π΅ΠΌ Π½Π° Π½Π΅ ΡΡ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½ΡƒΡŽ ΠΊΠ½ΠΎΠΏΠΊΡƒ с custom-дСйствиСм.\r\n // ВычислСний Π½Π° дСйствии Π½Π΅Ρ‚. ВозвращаСтся 0. Π’ Π±ΠΈΠ»Π΄Π΅Ρ€Π΅ ΠΎΠΊΠ½ΠΎ Π½Π΅ закрываСтся.\r\n // ΠœΡ‹ Ρ‚ΠΎΠΆΠ΅ Π½Π΅ Π±ΡƒΠ΄Π΅ΠΌ.\r\n // Π‘ΠΌ. #106093\r\n if ((result && result != 0) && !preventClose) {\r\n me.close();\r\n }\r\n return me;\r\n },\r\n //-----------------------------------------------------------------------//\r\n\r\n /**\r\n * ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ€Π°Π±ΠΎΡ‚Ρ‹ Ρ‚Π°Π±ΠΎΠ²\r\n * @method WebAccess.components.dialogs.FormDialog#_initTabs\r\n * @private\r\n * @return {WebAccess.components.dialogs.FormDialog}\r\n */\r\n _initTabs: function () {\r\n var me = this;\r\n me.sideBar.setOrientation(ORIENTATION.VERTICAL);\r\n var jTabs = me._jContent.find('.twc_right .CardForm_Tab');\r\n\r\n // ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π²Ρ‹Π±Ρ€Π°Π½Π½ΡƒΡŽ Π²ΠΊΠ»Π°Π΄ΠΊΡƒ\r\n var activeTabDfmName = $('.tab_item.selected').data('name');\r\n jTabs.filter('[data-dfm-name=' + activeTabDfmName + ']').show();\r\n me._jContent.find('.tab_item').not('.more').on('click', function () {\r\n var tabName = $(this).data('name');\r\n\r\n //TODO Π¨Π°ΠΌΠΎΠ² А.: Бобытия Π΄ΠΎΠ»ΠΆΠ½Ρ‹ fire Π²Π½ΡƒΡ‚Ρ€ΠΈ класса, Π° Π½Π΅ Π³Π΄Π΅ ΠΏΠΎΠΏΠ°Π»ΠΎ.\r\n me.sideBar.fire(me.sideBar['class'].EVENT.BEFORE_TAB_SWITCH, me.sideBar.tabs[tabName]);\r\n\r\n jTabs = me._jContent.find('.twc_right .CardForm_Tab');\r\n me._jContent.find('.tab_item.selected').removeClass('selected');\r\n $(this).addClass('selected');\r\n jTabs.hide();\r\n jTabs.filter('[data-dfm-name=\"' + tabName + '\"]').show();\r\n\r\n //TODO Π¨Π°ΠΌΠΎΠ² А.: Бобытия Π΄ΠΎΠ»ΠΆΠ½Ρ‹ fire Π²Π½ΡƒΡ‚Ρ€ΠΈ класса, Π° Π½Π΅ Π³Π΄Π΅ ΠΏΠΎΠΏΠ°Π»ΠΎ.\r\n me.sideBar.fire(me.sideBar['class'].EVENT.AFTER_TAB_SWITCH, me.sideBar.tabs[tabName]);\r\n });\r\n\r\n if (!me._isFitted) {\r\n me._jDialog.dialog(\"option\", \"height\", 'auto');\r\n };\r\n me._jContent.find('input[type=\"text\"], textarea').not('.Req_Disabled').first().focus().select(); //#106799\r\n $('.CardForm').redraw(); //#106605\r\n return me;\r\n },\r\n //-----------------------------------------------------------------------//\r\n\r\n /**\r\n * ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ²\r\n * @method WebAccess.components.dialogs.FormDialog#_initDetails\r\n * @private\r\n * @return {WebAccess.components.dialogs.FormDialog}\r\n */\r\n _initDetails: function () {\r\n var me = this;\r\n var Initiializer = WebAccess.components.wrappers.details.DetailsInitiializer;\r\n\r\n var DataProviderClass = global.components.dialogs.FormDialogDataProvider;\r\n var dataProviderOptions = {\r\n \"DialogName\": me.model.Name,\r\n \"InstanceID\": me.model.InstanceID\r\n };\r\n\r\n var detailsInitiializer = new Initiializer(me._jContainer.selector + ' div.Reference_Detail',\r\n DataProviderClass,\r\n dataProviderOptions,\r\n WA.components.dataViews.gridPlugins.DetailsContextMenu, me);\r\n detailsInitiializer.bind(Initiializer.EVENT.COMPLETE, function (initiializer) {\r\n me.grids = initiializer.gridInstances;\r\n initiializer.waitForData().done(function () {\r\n me._detailsGridInit.resolve();\r\n });\r\n });\r\n\r\n $.when(me.states.form, me.states.tables).then(function () {\r\n if (!me.form.isExist()) return;\r\n\r\n // Π›ΠΎΠ³ΠΈΠΊΠ° Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π²Π΅Π΄ΡƒΡ‰ΠΈΡ…/Π²Π΅Π΄ΠΎΠΌΡ‹Ρ… Π² Π΄Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π°Π·Π΄Π΅Π»Π°Ρ….\r\n me.bindLeaderDrivenLogic();\r\n\r\n //УдаляСм пустыС строки ΠΏΠ΅Ρ€Π΅Π΄ сохранСниСм\r\n me.form.bind(\"prepareSave\", function removeEmptyRows() {\r\n for (var tableName in me.form.controls.tables) {\r\n var table = me.form.controls.tables[tableName];\r\n var rows = table.rows.toArray();\r\n var lastRow = rows[rows.length - 1];\r\n\r\n if (rows.length && lastRow && !lastRow.hasFilledRequisites() && !lastRow._locked) {\r\n table.deleteRow(lastRow.getRowId(), true);\r\n }\r\n }\r\n });\r\n });\r\n },\r\n //-----------------------------------------------------------------------//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ высоту Π΄ΠΈΠ°Π»ΠΎΠ³Π°\r\n * @private\r\n */\r\n _getAvailableHeight: function () {\r\n return this.model.Height;\r\n },\r\n\r\n /**\r\n * ΠžΡΠ²ΠΎΠ±ΠΎΠ΄ΠΈΡ‚ΡŒ сСрвСрный ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ API ΠΏΡ€ΠΈ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π΄ΠΈΠ°Π»ΠΎΠ³Π°.\r\n * setTimeout ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π³Ρ€ΠΈΠ΄ инициализируСтся асинхронно,\r\n * ΠΈ запросы ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΠΎΡΡ‹ΠΏΠ°Ρ‚ΡŒΡΡ ΠΏΠΎΠ·ΠΆΠ΅, Ρ‡Π΅ΠΌ ΠΌΡ‹ сдСлаСм freeDialog.\r\n * @method WebAccess.components.dialogs.FormDialog#_freeDialog \r\n * @private\r\n * @return {WebAccess.components.dialogs.FormDialog}\r\n */\r\n _freeDialog: function () {\r\n var me = this;\r\n\r\n if (me._freeAfterClosing) {\r\n setTimeout(function () {\r\n clearTimeout(this._keepAliveTimer);\r\n _(me.grids).each(function (grid, name) {\r\n clearTimeout(grid._queryDelay);\r\n })\r\n _(me._pendingOperations).each(function (operation, name) {\r\n operation.abort();\r\n });\r\n WA.SRV.call(me.serviceURL + '/FreeDialog', {\r\n InstanceID: me.id\r\n });\r\n }, 300);\r\n }\r\n\r\n return me;\r\n },\r\n\r\n /**\r\n * ВыполняСт ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄.\r\n *\r\n * @method FormDialog.executeEntityMethod\r\n * @param {string} methodName Имя ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°.\r\n * @param {Array} opt_parameters ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹, с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄.\r\n * @return {Deferred} Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°.\r\n * @since 5.5.0.1000\r\n * @see https://api.jquery.com/category/deferred-object/\r\n *\r\n * @example \r\n * WebAccess.current.executeEntityMethod('MethodName', new WA.Link()).done(function(result) { console.log(result); });\r\n */\r\n executeEntityMethod: function (methodName, opt_parameters) {\r\n var d = $.Deferred();\r\n var me = this;\r\n var parameters = Array.prototype.slice.call(arguments, 1);\r\n\r\n WA.domainMethods.executeEntityMethod(\"/api/Dialog.asmx/ExecuteEntityMethod\",\r\n this.id, \"\", methodName, parameters).done(function (res) {\r\n var changes = res.Changes;\r\n var changedMultiSelects = res.ChangedMultiSelectRequisitesValues;\r\n if (me.form && me.form.isExist()) me.form.applyServerSideChanges(changes, changedMultiSelects);\r\n\r\n d.resolve(res.MethodResult);\r\n }).fail(function (errorMessage, res) {\r\n if (res) {\r\n if (res.Result) {\r\n var data = res.Result;\r\n var changes = data.Changes;\r\n var changedMultiSelects = data.ChangedMultiSelectRequisitesValues;\r\n if (me.form && me.form.isExist()) me.form.applyServerSideChanges(changes, changedMultiSelects);\r\n }\r\n d.reject(res.Error);\r\n } else {\r\n d.reject(errorMessage);\r\n }\r\n });\r\n\r\n return d.promise();\r\n },\r\n\r\n /**\r\n * ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅Ρ‚, доступСн Π»ΠΈ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ для Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ Π΄ΠΈΠ°Π»ΠΎΠ³Π°.\r\n * @function FormDialog.isMethodAvailable\r\n * @param {string} methodName Имя ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°.\r\n * @return {boolean} true, Ссли ΠΌΠ΅Ρ‚ΠΎΠ΄ доступСн для Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ Π΄ΠΈΠ°Π»ΠΎΠ³Π°, ΠΈΠ½Π°Ρ‡Π΅ false.\r\n * @since 5.5.0.1000\r\n */\r\n isMethodAvailable: function (methodName) {\r\n return WA.domainMethods.isMethodAvailable(\"/api/Dialog.asmx/IsEntityMethodAvailable\", this.id, methodName);\r\n }\r\n\r\n\r\n //-----------------------------------------------------------------------//\r\n\r\n }, {\r\n EVENT: $.extend({\r\n /**\r\n * Π‘Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π΄ Π½Π°Ρ‡Π°Π»ΠΎΠΌ выполнСния дСйствия. \r\n * МоТно ΠΎΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ запуск дСйствия \"ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ\" Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ΠΈΠ² false Π² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ΅ события.\r\n * Π—Π°Ρ‚Π΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ запуск дСйствия \"ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ\" Π²Π·Ρ‹Π²Π°Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ action.\r\n * @event WebAccess.components.dialogs.FormDialog.EVENT.BEFORE_ACTION\r\n * @param {string} actionName имя дСйствия\r\n * @param {function} action дСйствиС ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ\r\n * @param {WebAccess.components.dialogs.FormDialog} dialog экзСмпляр Π΄ΠΈΠ°Π»ΠΎΠ³Π°\r\n */\r\n BEFORE_ACTION: 'beforeAction',\r\n\r\n /**\r\n * Π‘Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ послС выполнСния дСйствия. \r\n * МоТно ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Π΄ΠΈΠ°Π»ΠΎΠ³Π°, Π²ΠΎΠ·Π²Ρ€Π°Ρ‚ΠΈΠ² false Π² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ΅ события.\r\n * @event WebAccess.components.dialogs.FormDialog.EVENT.AFTER_ACTION\r\n * @param {string} actionName имя дСйствия\r\n * @param {object} result Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния дСйствия. Π”Π°Π½Π½Ρ‹Π΅ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ сСрвСр.\r\n * @param {WebAccess.components.dialogs.FormDialog} dialog экзСмпляр Π΄ΠΈΠ°Π»ΠΎΠ³Π°\r\n */\r\n AFTER_ACTION: 'afterAction'\r\n }, global.components.dialogs.BaseDialog.EVENT)\r\n });\r\n\r\n //-------------------------------------------------------------------------//\r\n\r\n global.components.dialogs.FormDialog = FormDialog;\r\n})(window.WebAccess);","\"use strict\";\r\n(function FormDialogDataProviderDefinition(global) {\r\n\r\n /**\r\n * ΠŸΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€ Π΄Π°Π½Π½Ρ‹Ρ… Π΄Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ² Π΄ΠΈΠ°Π»ΠΎΠ³Π°.\r\n * @since 5.2.0.1600\r\n * @class WebAccess.components.dialogs.FormDialogDataProvider\r\n * @extends WebAccess.components.dataViews.BaseDataProvider\r\n * @property {Object} defaults конфигурация \"ΠΏΠΎ-ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ\"\r\n */\r\n var FormDialogDataProvider = WA.CMP.dataViews.BaseDataProvider.extend({\r\n _DFMName: null,\r\n _form: null,\r\n init: function(initialState, form) {\r\n var me = this;\r\n me._form = form; \r\n me._super(initialState);\r\n\r\n // Для сохранСния состояния.\r\n me._dialogName = initialState.DialogName;\r\n me._detailSectionNumber = initialState.DetailSectionNumber;\r\n me._DFMName = initialState.DFMName;\r\n\r\n me.defaults = {}; \r\n $.extend(me.defaults, initialState);\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π€ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅Ρ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ запросов.\r\n * @method WebAccess.components.dialogs.FormDialogDataProvider#makeParams\r\n * @param {Object} loadOptions ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ запроса.\r\n * @return {Object} Π Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ запроса.\r\n * @since 5.2.0.1600\r\n */\r\n makeParams: function (loadOptions) {\r\n return this.extendDefaults(loadOptions);\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π—Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·Π΄Π΅Π»Π°.\r\n * @method WebAccess.components.dialogs.FormDialogDataProvider#load\r\n * @param {Object} loadOptions ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ запроса.\r\n * @return {Deferred} Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ….\r\n * @since 5.2.0.1600 \r\n */\r\n load: function (loadOptions) {\r\n var me = this;\r\n var result = new $.Deferred();\r\n\r\n var operation = WA.SRV.call('/Dialogs.asmx/GetDetailsData', me.makeParams(loadOptions));\r\n me._form._registerOperation('load' + me._DFMName, operation); \r\n operation.done(function (data) {\r\n result.resolve({ Rows: $.parseJSON(data) });\r\n }).fail(function (e) {\r\n WA.ready(function () {\r\n var severity = (e.Severity !== \"-1\" ? Number(e.Severity) : undefined);\r\n WA.CR.inlineHint.show(e, '', severity, INLINE_HINT_PRIORITY.PRIMARY);\r\n });\r\n result.resolve({ Rows: [] });\r\n }).always(function () {\r\n me._form._unRegisterOperation('load' + me._DFMName);\r\n });\r\n\r\n return result.promise();\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π—Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ сохраннСнныС настройки Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·Π΄Π΅Π»Π° ΠΈΠ· профиля ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.\r\n * @method WebAccess.components.dialogs.FormDialogDataProvider#loadState\r\n * @return {Deferred} Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ состояниС.\r\n * @since 5.2.0.1600\r\n */\r\n loadState: function () {\r\n var me = this;\r\n var result = $.Deferred();\r\n\r\n var jTable = $('#' + me._DFMName);\r\n var data = jTable.data('state');\r\n if (data && data[\"InstanceID\"]) {\r\n delete data[\"InstanceID\"]; //Π’ ΠΏΡ€ΠΎΡ„ΠΈΠ»Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π΅Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ ссылка\r\n }\r\n if (data && data[\"DetailSectionNumber\"]) {\r\n delete data[\"DetailSectionNumber\"];\r\n }\r\n result.resolve(data);\r\n\r\n return result.promise();\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * БохраняСт настройки Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·Π΄Π΅Π»Π° Π² ΠΏΡ€ΠΎΡ„ΠΈΠ»ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.\r\n * @method WebAccess.components.dialogs.FormDialogDataProvider#saveState\r\n * @param {Object} loadOptions ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ запроса.\r\n * @return {Deferred} Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ сохранСния состояния.\r\n * @since 5.2.0.1600\r\n */\r\n saveState: function (loadOptions) {\r\n var me = this;\r\n var result = $.Deferred();\r\n clearTimeout(me._saveSateTimeout);\r\n var operation = WA.cache.serverCache.setItem(me._makeKey(), me.makeParams(loadOptions));\r\n me._form._registerOperation('saveState' + me._DFMName, operation);\r\n me._saveSateTimeout = setTimeout(function () {\r\n operation.done(function () { \r\n result.resolve();\r\n }).fail(function () {\r\n result.reject();\r\n }).always(function () {\r\n me._form._unRegisterOperation('saveState' + me._DFMName);\r\n });\r\n }, 200);\r\n return result.promise();\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π€ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠ»ΡŽΡ‡ для хранСния настроСк Π² ΠΏΡ€ΠΎΡ„ΠΈΠ»Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.\r\n * @method WebAccess.components.dialogs.FormDialogDataProvider#_makeKey\r\n * @return {String} ΠšΠ»ΡŽΡ‡ для хранСния Π² ΠΏΡ€ΠΎΡ„ΠΈΠ»Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.\r\n * @since 5.2.0.1600\r\n * @private\r\n */\r\n _makeKey: function () {\r\n var me = this;\r\n //Π€ΠΎΡ€ΠΌΠ°Ρ‚: [имя Π΄ΠΈΠ°Π»ΠΎΠ³Π°, прСдставлСниС, Π½ΠΎΠΌΠ΅Ρ€ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·Π΄Π΅Π»Π°].\r\n return $.toJSON([me._dialogName, '', '' + me._detailSectionNumber]).replaceAll(' ', '');\r\n }\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n });\r\n\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n // ΠŸΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹.\r\n global.FormDialogDataProvider = FormDialogDataProvider;\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n})(window.WebAccess.components.dialogs);","\"use strict\";\r\n\r\n(function (global) {\r\n\r\n /**\r\n* Π”ΠΈΠ°Π»ΠΎΠ³ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ„ΠΎΡ€ΠΌΠ°ΠΌΠΈ запроса ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ².\r\n* @class WebAccess.components.dialogs.ReportParamsDialog\r\n* @extends WebAccess.components.dialogs.FormDialog\r\n* @mixes WebAccess.mixins.formMixin\r\n* @property {Deferred} Init мСняСт сосотояниС ΠΏΡ€ΠΈ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ элСмСнтов управлСния Ρ„ΠΎΡ€ΠΌΡ‹\r\n* @property {Object} model пСрСданная Π² конструктор модСль \r\n* @property {String} serviceURL адрСс Π²Π΅Π±-сСрвиса ΠΎΠ±ΡΠ»ΡƒΠΆΠΈΠ²Π°ΡŽΡ‰Π΅Π³ΠΎ Π΄ΠΈΠ°Π»ΠΎΠ³\r\n* @since 5.2.0.1931 \r\n*/\r\n var ReportParamsDialog = global.FormDialog.extend({\r\n className: 'ReportParamsDialog',\r\n width: \"600\",\r\n title: L('REPORT_ASKABLE_PARAMS'),\r\n\r\n init: function (settings, model) {\r\n if (!model) WA.raise(L(\"ERR_NOT_ALL_REQUIRED_ARGUMENTS_HAVE_BEEN_SUPLIED\"));\r\n\r\n var me = this;\r\n var formData = JSON.parse(model.FormData);\r\n me.model = model;\r\n me.requisitesModels = formData.req;\r\n\r\n me._fillHiddenParamsCallback = formData._fillHiddenParamsCallback;\r\n\r\n me.isShowOkButton = true;\r\n me.isShowCancelButton = true;\r\n\r\n me._pendingOperations = {};\r\n me._preInit();\r\n me._containerInit = $.Deferred();\r\n me._detailsGridInit = $.Deferred();\r\n me._postInit();\r\n\r\n me._setKeyBindings();\r\n\r\n return this;\r\n },\r\n\r\n /**\r\n * Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ html Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΈ ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ²\r\n *\r\n * @method WebAccess.components.dialogs.ReportParamsDialog#_beforeShow\r\n * @private\r\n * @return {Deferred}\r\n * @see https://api.jquery.com/category/deferred-object/\r\n */\r\n _beforeShow: function () {\r\n var def = $.Deferred();\r\n var me = this;\r\n\r\n // WindowModal Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΡƒ Π² ΠΏΡ€ΠΈΡ‚Ρ‹ΠΊ, Π±Π΅Π· отступов, поэтому добавляСмых ΠΈΡ… Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ.\r\n me.model.FormHtml = format('
    {0}
    ', me.model.FormHtml);\r\n\r\n me._super().done(function () {\r\n me.isShowOkButton = true;\r\n def.resolve();\r\n });\r\n\r\n return def;\r\n },\r\n\r\n /**\r\n * ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½ΠΎΡΡ‚ΡŒ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ².\r\n * Если Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹ Π½Π΅ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Ρ‹ ΠΎΠ½ΠΈ ΠΏΠΎΠ΄ΡΠ²Π΅Ρ‡ΠΈΠ²Π°ΡŽΡ‚ΡΡ Π½Π° Ρ„ΠΎΡ€ΠΌΠ΅.\r\n * @method WebAccess.components.dialogs.ReportParamsDialog#validateForm\r\n * @return {WebAccess.components.dialogs.ReportParamsDialog}\r\n */\r\n validateForm: function () {\r\n\r\n if (this._fillHiddenParamsCallback) {\r\n var hiddenParams = window[this._fillHiddenParamsCallback]();\r\n for (var reqKey in hiddenParams) {\r\n var currentReq = this.form.requisites[reqKey];\r\n if (currentReq) {\r\n currentReq.setValue(hiddenParams[reqKey], hiddenParams[reqKey]);\r\n }\r\n }\r\n }\r\n\r\n var requisites = this.form.requisites;\r\n window.req = requisites;\r\n var isValid = true;\r\n\r\n for (var name in requisites) {\r\n var requisite = requisites[name];\r\n if (requisite.isRequired && requisite.isRequired() && !requisite.getValue()) {\r\n requisite.highlight();\r\n isValid = false;\r\n }\r\n }\r\n\r\n if (!isValid) {\r\n this.inlineHint.showError(L('NOT_ALL_REQUIRED_FIELDS_FILLED'));\r\n WA.raise(L('NOT_ALL_REQUIRED_FIELDS_FILLED'));\r\n }\r\n\r\n return this;\r\n }\r\n });\r\n\r\n global.ReportParamsDialog = ReportParamsDialog;\r\n})(window.WebAccess.components.dialogs);","\"use strict\";\r\n\r\n(function (globalWebAccess) {\r\n\r\n var FLOAT_DIALOG_TEMPLATE = '/layouts/FloatDialog.compile.html';\r\n\r\n /**\r\n * Π’ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ\r\n *\r\n * @class WebAccess.components.dialogs.FloatDialog\r\n * @extends BaseObject\r\n * @property {String} id Π˜Π” Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°\r\n * @property {Object} settings Настройки Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°\r\n * @since 5.4.0.1000\r\n */\r\n\r\n var FloatDialog = BaseObject.extend({\r\n\r\n // ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€.\r\n init: function (id, settings) {\r\n var me = this;\r\n\r\n me.id = id;\r\n me.settings = settings;\r\n if ($.isPlainObject(settings)) {\r\n $.extend(this, settings);\r\n }\r\n me._inited = $.Deferred();\r\n\r\n me._createHtml(); //асинхронная\r\n },\r\n\r\n _createHtml: function () {\r\n var me = this;\r\n\r\n var floatDialogTemplate = WA.templates.render(FLOAT_DIALOG_TEMPLATE, $.extend({\r\n id: me.id,\r\n title: '',\r\n showMinimizeButton: true,\r\n minimized: false,\r\n showCloseButton: true,\r\n contentAsHtml: '',\r\n isLoading: true,\r\n hidden: false,\r\n loadingText: L('LOADING')\r\n }, me.settings));\r\n\r\n // Когда отрСндСрятся всС ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹, создаСм ΠΈΠ· Π½ΠΈΡ… DOM элСмСнты.\r\n $.when(floatDialogTemplate).done(function (html) {\r\n me._jDialog = $(html);\r\n\r\n me._jTitle = me._jDialog.find('.float-dialog__header-title');\r\n me._jMinimizingIcon = me._jDialog.find('.float-dialog__header-icon_toggle-size');\r\n me._jCloseIcon = me._jDialog.find('.float-dialog__header-icon_close');\r\n me._jContentArea = me._jDialog.find('.float-dialog__content-area');\r\n me._jContent = me._jContentArea.find('.float-dialog__content');\r\n me._jLoading = me._jDialog.find('.float-dialog__loading');\r\n me._jLoadingText = me._jLoading.find('.float-dialog__loading-text');\r\n\r\n me._bindEvents();\r\n\r\n if ($('#' + me.id).length === 0) {\r\n me._jDialog.addClass('float-dialog_hidden');\r\n me._jDialog.appendTo('body');\r\n }\r\n // Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ Π·Π°ΠΊΠΎΠ½Ρ‡ΠΈΠ»Π°ΡΡŒ.\r\n me._inited.resolve();\r\n });\r\n },\r\n\r\n // ΠΠ°Π²Π΅ΡˆΠΈΠ²Π°Π΅Ρ‚ события Π½Π° элСмСнты Π΄ΠΈΠ°Π»ΠΎΠ³Π°.\r\n _bindEvents: function () {\r\n var me = this;\r\n\r\n me._jMinimizingIcon.on('click', function () {\r\n me.setMinimized(!me.isMinimized(), true);\r\n });\r\n me._jCloseIcon.on('click', function () {\r\n if (me.fire(me['class'].EVENT.BEFORE_CLOSE, me) === false) return false;\r\n me.hide();\r\n me.fire(me['class'].EVENT.AFTER_CLOSE, me);\r\n });\r\n },\r\n\r\n /**\r\n * ДобавляСт Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Π½Π° страницу ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ Π΅Π³ΠΎ.\r\n *\r\n * @method WebAccess.components.dialogs.FloatDialog#show\r\n */\r\n show: function () {\r\n var me = this;\r\n $.when(me._inited).done(function () {\r\n me._jDialog.removeClass('float-dialog_hidden');\r\n });\r\n },\r\n\r\n /**\r\n * Π‘ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ.\r\n *\r\n * @method WebAccess.components.dialogs.FloatDialog#hide\r\n */\r\n hide: function () {\r\n var me = this;\r\n $.when(me._inited).done(function () {\r\n // ΠœΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ для Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ сворачивания.\r\n me.setMinimized(true);\r\n me._jDialog.addClass('float-dialog_hidden');\r\n });\r\n },\r\n\r\n /**\r\n * УстанавливаСт Π½ΠΎΠ²Ρ‹ΠΉ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°.\r\n *\r\n * @method WebAccess.components.dialogs.FloatDialog#setTitle\r\n * @param {string} newTitle Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Π΄ΠΈΠ°Π»ΠΎΠ³Π°\r\n */\r\n setTitle: function (newTitle) {\r\n var me = this;\r\n $.when(me._inited).done(function () {\r\n me._jTitle.text(newTitle);\r\n });\r\n },\r\n\r\n /**\r\n * УстанавливаСт Π½ΠΎΠ²Ρ‹ΠΉ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ HTML.\r\n *\r\n * @method WebAccess.components.dialogs.FloatDialog#setTitleAsHtml\r\n * @param {string} newTitleHtml Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Π΄ΠΈΠ°Π»ΠΎΠ³Π° Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ HTML\r\n */\r\n setTitleAsHtml: function (newTitleHtml) {\r\n var me = this;\r\n $.when(me._inited).done(function () {\r\n me._jTitle.html(newTitleHtml);\r\n });\r\n },\r\n\r\n /**\r\n * УстанавливаСт содСрТимоС Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ HTML.\r\n *\r\n * @method WebAccess.components.dialogs.FloatDialog#setContentAsHtml\r\n * @param {string} contentAsHtml Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π° Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ HTML\r\n * @param {function} callback Ѐункция, которая Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π·Π²Π°Π½Π° ΠΏΡ€ΠΈ установкС значСния содСрТимого\r\n */\r\n setContentAsHtml: function (contentAsHtml, callback) {\r\n var me = this;\r\n $.when(me._inited).done(function () {\r\n me._jLoading.hide();\r\n me._jContent.html(contentAsHtml);\r\n me._jContent.show();\r\n if (callback) callback();\r\n });\r\n },\r\n\r\n /**\r\n * УстанавливаСт содСрТимоС Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°.\r\n *\r\n * @method WebAccess.components.dialogs.FloatDialog#setContent\r\n * @param {string} content Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΠΌΠΎΠ΅ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°\r\n * @param {function} callback Ѐункция, которая Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π·Π²Π°Π½Π° ΠΏΡ€ΠΈ установкС значСния содСрТимого\r\n */\r\n setContent: function (content, callback) {\r\n this.setContentAsHtml('
    ' + content + '
    ', callback);\r\n },\r\n\r\n /**\r\n * ΠŸΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ сообщСниС ΠΎ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅.\r\n *\r\n * @method WebAccess.components.dialogs.FloatDialog#showLoader\r\n * @param {string} text ВСкст сообщСния ΠΎ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅\r\n */\r\n showLoader: function (text) {\r\n var me = this;\r\n $.when(me._inited).done(function () {\r\n if (text) {\r\n me._jLoadingText.text(text);\r\n }\r\n me._jContent.hide();\r\n me._jLoading.show();\r\n });\r\n },\r\n\r\n /**\r\n * ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅Ρ‚, ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ Π»ΠΈ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ.\r\n *\r\n * @method WebAccess.components.dialogs.FloatDialog#isMinimized\r\n * @return {boolean} True – Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½ΠΎ, ΠΈΠ½Π°Ρ‡Π΅ False.\r\n */\r\n isMinimized: function () {\r\n var me = this;\r\n return me._jDialog.hasClass('float-dialog_minimized');\r\n },\r\n\r\n /**\r\n * ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅Ρ‚, Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΠ» Π»ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ.\r\n *\r\n * @method WebAccess.components.dialogs.FloatDialog#isUserExpanded\r\n * @return {boolean} True – Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚ΠΎ, ΠΈΠ½Π°Ρ‡Π΅ False.\r\n */\r\n isUserExpanded: function () {\r\n var me = this;\r\n return WA.cache.getItem('floatdialog.' + me.id + '.expanded') === '1';\r\n },\r\n\r\n /**\r\n * УстанавливаСт ΠΏΡ€ΠΈΠ·Π½Π°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°.\r\n *\r\n * @method WebAccess.components.dialogs.FloatDialog#setMinimized\r\n * @param {boolean} isMinimized ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°\r\n * @param {boolean} saveState ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ сохранСния состояния Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°\r\n */\r\n setMinimized: function (isMinimized, saveState) {\r\n var me = this;\r\n $.when(me._inited).done(function () {\r\n if (isMinimized) {\r\n // Π‘Π²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Π΅ΠΌ.\r\n me._jDialog.addClass('float-dialog_minimized');\r\n me._jContentArea.addClass('float-dialog__content-area_minimized');\r\n me._jLoading.hide();\r\n me._jMinimizingIcon.removeClass('float-dialog__header-icon_toggle-size_maximized');\r\n } else {\r\n // Π Π°Π·Π²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Π΅ΠΌ.\r\n me._jDialog.removeClass('float-dialog_minimized');\r\n me._jContentArea.removeClass('float-dialog__content-area_minimized');\r\n me._jMinimizingIcon.addClass('float-dialog__header-icon_toggle-size_maximized');\r\n\r\n me._jContent.niceScroll({\r\n cursorcolor: \"#d8dce3\",\r\n cursorwidth: \"6px\",\r\n cursorborder: \"0\",\r\n autohidemode: \"false\",\r\n cursorborderradius: \"0\",\r\n railpadding: { right: 3 },\r\n horizrailenabled: false,\r\n railalign: \"right\"\r\n });\r\n }\r\n });\r\n\r\n if (saveState)\r\n WA.cache.setItem('floatdialog.' + me.id + '.expanded', isMinimized ? '0' : '1');\r\n }\r\n }, {\r\n EVENT: {\r\n\r\n /**\r\n * Π‘Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π΄ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ΠΌ модального ΠΎΠΊΠ½Π°.\r\n * МоТно ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°, Π²Π΅Ρ€Π½ΡƒΠ² false Π² ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ΅ события.\r\n *\r\n\t * @event WebAccess.components.dialogs.FloatDialog.EVENT.BEFORE_CLOSE\r\n * @param {WebAccess.components.dialogs.FloatDialog} dialog ЭкзСмпляр Π΄ΠΈΠ°Π»ΠΎΠ³Π°\r\n * @since 5.4.0.1004\r\n */\r\n BEFORE_CLOSE: 'beforeClose',\r\n\r\n /**\r\n * Π‘Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ послС закрытия Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°.\r\n *\r\n\t * @event WebAccess.components.dialogs.FloatDialog.EVENT.AFTER_CLOSE\r\n * @param {WebAccess.components.dialogs.FloatDialog} dialog ЭкзСмпляр Π΄ΠΈΠ°Π»ΠΎΠ³Π°\r\n * @since 5.4.0.1004\r\n */\r\n AFTER_CLOSE: 'close'\r\n }\r\n });\r\n\r\n // ---------------------------------------------------------------------------------------------------\r\n globalWebAccess.components.dialogs.FloatDialog = FloatDialog;\r\n\r\n})(window.WebAccess);\r\n","\"use strict\";\r\n\r\n\r\n/**\r\n* ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚Π½ΠΎΠ΅ мСню.\r\n* ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ΡΡ ΠΏΠΎ Π½Π°ΠΆΠ°Ρ‚ΠΈΡŽ Π»Π΅Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ ΠΌΡ‹ΡˆΠΈ Π½Π° элСмСнт. ПослС отобраТСния Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ.\r\n* Для создания Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡ€Π° элСмСнтов слСдуСт ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.\r\n*\r\n* @class WebAccess.components.menus.BaseContextMenu\r\n* @since 5.0.0.4000\r\n* @extends BaseObject\r\n* @param {string} itemSelector Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ элСмСнт страницы\r\n* @param {WebAccess.components.menus.BaseContextMenu.contextMenuItem} [opt_menuItems] Массив со списком ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠ² мСню\r\n* @param {WebAccess.components.menus.BaseContextMenu.contextMenuSettings} [opt_settings] ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ контСкстного мСню\r\n* @throws ERR_ELEMENT_DOES_NOT_EXIST - ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ элСмСнта страницы Π½Π΅ сущСствуСт.\r\n* @fires Π‘Π»Π΅Π΄ΡƒΠ΅Ρ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ itemSelect с ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‡Π΅ΠΉ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ элСмСнта.\r\n* @example\r\n* function CreateReferenceFiltersMenu(selector, data) {\r\n* var menu = new WA.components.menus.BaseContextMenu(selector,data);\r\n* menu.render();\r\n* menu.bind(\"itemSelect\", function(item) {\r\n* grid.PerformCallback(['CHANGEFILTER', item.name, item.label]);\r\n* $(selector).html(item.label);\r\n* });\r\n* };\r\n*/\r\n\r\n/**\r\n * ΠŸΡƒΠ½ΠΊΡ‚ мСню.\r\n * @typedef {Object} WebAccess.components.menus.BaseContextMenu.contextMenuItem\r\n * @since 5.0.0.4000\r\n * @property {string} name Имя ΠΏΡƒΠ½ΠΊΡ‚Π° мСню\r\n * @property {string} label Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΠΏΡƒΠ½ΠΊΡ‚Π° мСню\r\n * @property {string} [icon] Иконка рядом с Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠΌ\r\n * @property {boolean} [bottomSeparator] ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ нСобходимости добавлСния раздСлитСля Π½ΠΈΠΆΠ΅ ΠΏΡƒΠ½ΠΊΡ‚Π° мСню\r\n * @property {boolean} [selected] ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π²Ρ‹Π±Ρ€Π°Π½\r\n * @property {string} [tooltip] Подсказка ΠΏΡ€ΠΈ Π½Π°Π²Π΅Π΄Π΅Π½ΠΈΠΈΡ‹\r\n * @example\r\n * var menuItems = [\r\n * {\"name\": \"-1\",\r\n * \"label\": L(\"DEFAULT_EMPTY_FILTER\"),\r\n * \"bottomSeparator\": true\r\n * }];\r\n */\r\n\r\n/**\r\n * ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ контСкстного мСню.\r\n * @typedef {Object} WebAccess.components.menus.BaseContextMenu.contextMenuSettings\r\n * @since 5.0.0.4000\r\n * @property {string} [shiftY] Π’Π΅Π»ΠΈΡ‡ΠΈΠ½Π° Π²Π΅Ρ€Ρ…Π½Π΅Π³ΠΎ отступа\r\n * @property {string} [width] Π¨ΠΈΡ€ΠΈΠ½Π° мСню\r\n * @property {function} [onShow] Бсылка Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, которая Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π° ΠΏΡ€ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠΈ мСню\r\n * @property {function} [onHide] Бсылка Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, которая Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π° ΠΏΡ€ΠΈ скрытии мСню\r\n * @example\r\n * var settings = [\r\n * {\"shiftY\": 100,\r\n * \"width\": 300,\r\n * \"onShow\": function( ) { alert(\"onShow\"); }\r\n * }];\r\n */\r\n//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n//\r\n(function (global) {\r\n var BaseContextMenu = BaseObject.extend({\r\n\r\n className: 'BaseContextMenu',\r\n items: [],\r\n settings: {},\r\n _imageWidth: 16,\r\n _imageHeight: 16,\r\n _isRendered: false,\r\n _menu: null,\r\n\r\n init: function (itemSelector, opt_menuItems, opt_settings) {\r\n log.info('CONTEXT_MENU', 'Init context menu for ' + itemSelector);\r\n\r\n this.items = (!!opt_menuItems) ? opt_menuItems : [];\r\n this.settings = { imageWidth: this._imageWidth, imageHeight: this._imageWidth };\r\n if (!$.isEmptyObject(opt_settings)) $.extend(this.settings, opt_settings);\r\n\r\n this._super(itemSelector);\r\n this._jObject = $(itemSelector);\r\n if (this._jObject.length <= 0) WA.raise(\"ERR_ELEMENT_DOES_NOT_EXIST\", itemSelector);\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n _makeMenuObject: function () {\r\n var me = this;\r\n for (var i = 0; i < me.items.length; ++i) {\r\n me.items[i].text = escapeHtml(me.items[i].label).trunc(50) || me.items[i].text; //Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π±Ρ‹Π»ΠΎ ΠΊΠ°ΠΊ Π²Π΅Π·Π΄Π΅, Π±Π»ΠΈΠΆΠ΅ ΠΊ эталонам\r\n me.items[i].image = me.items[i].icon;\r\n me.items[i].hoverImage = me.items[i].hoverIcon;\r\n if (me.items[i].selected && !me.items[i].image) {\r\n me.items[i].image = \"/App_Sprites/menu_check.png\";\r\n }\r\n me.items[i].onClick = (!!me.items[i].onClick) ? me.items[i].onClick : function (item, menu, event) { me.fire(\"itemSelect\", item, menu, event); };\r\n }\r\n this._menu = new ContextMenu(this.items, this.settings);\r\n return this;\r\n },\r\n\r\n /**\r\n * Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ ΠΏΡƒΠ½ΠΊΡ‚ мСню.\r\n * @method WebAccess.components.menus.BaseContextMenu#addItem\r\n * @param {string} name Имя ΠΏΡƒΠ½ΠΊΡ‚Π° мСню\r\n * @param {string} label Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΠΏΡƒΠ½ΠΊΡ‚Π° мСню\r\n * @param {string} [opt_icon] Π—Π½Π°Ρ‡ΠΎΠΊ рядом с Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠΌ\r\n * @param {boolean} [opt_bottomSeparator] ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ нСобходимости добавлСния раздСлитСля послС ΠΏΡƒΠ½ΠΊΡ‚Π° мСню\r\n * @param {boolean} [opt_selected] ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π²Ρ‹Π±Ρ€Π°Π½\r\n * @param {boolean} [opt_disabled] ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ доступСн\r\n * @throws ERR_OBJECT_IS_ALREADY_RENDERED - ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΡƒΠΆΠ΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½.\r\n * @return {WebAccess.components.menus.BaseContextMenu} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° BaseContextMenu.\r\n * @todo Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ принятия WebAccess.components.menus.contextMenuItem.\r\n */\r\n addItem: function (name, label, opt_icon, opt_bottomSeparator, opt_selected, opt_disabled, opt_tooltip) {\r\n if (!this._isRendered) {\r\n var instance = this;\r\n this.items.push({\r\n 'name': name,\r\n 'label': escapeHtml(label).trunc(50),\r\n \"image\": opt_icon,\r\n \"bottomSeparator\": (opt_bottomSeparator || false),\r\n \"selected\": (opt_selected || false),\r\n \"disabled\": (opt_disabled || false),\r\n \"tooltip\": (opt_tooltip || '')\r\n });\r\n return this;\r\n } else {\r\n return WA.raise(\"ERR_OBJECT_IS_ALREADY_RENDERED\");\r\n }\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ ΠΏΡƒΠ½ΠΊΡ‚ мСню.\r\n * @method WebAccess.components.menus.BaseContextMenu#getSelectedItem\r\n * @return {WebAccess.components.menus.BaseContextMenu.contextMenuItem} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° BaseContextMenu.contextMenuItem.\r\n */\r\n getSelectedItem: function () {\r\n return this.items[getElementIndexByAttr(this.items, \"selected\", true)];\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ ΠΏΡƒΠ½ΠΊΡ‚ мСню.\r\n * @method WebAccess.components.menus.BaseContextMenu#setSelectedItem\r\n * @param {string} name Имя ΠΏΡƒΠ½ΠΊΡ‚Π° мСню.\r\n * @param {boolean} isSelected Π’Ρ‹Π±Ρ€Π°Π½ ΠΈΠ»ΠΈ Π½Π΅Ρ‚ ΠΏΡƒΠ½ΠΊΡ‚ мСню.\r\n * @param {string} opt_icon Новая ΠΈΠΊΠΎΠ½ΠΊΠ°.\r\n * @return {WebAccess.components.menus.BaseContextMenu} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° BaseContextMenu.\r\n */\r\n setSelectedItem: function (name, isSelected, opt_icon, opt_iconCSSClass) {\r\n var me = this;\r\n\r\n isSelected = (isSelected !== false);\r\n\r\n var item = me.items[getElementIndexByAttr(me.items, \"name\", name)];\r\n item.selected = isSelected;\r\n item.icon = _.isUndefined(opt_icon) ? item.icon : opt_icon;\r\n item.image = item.icon;\r\n if (isSelected) {\r\n if (!item.image) {\r\n item.image = \"/App_Sprites/menu_check.png\";\r\n } else if (opt_iconCSSClass) {\r\n item.iconCSSClass = opt_iconCSSClass;\r\n }\r\n }\r\n return me;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ мСню.\r\n * ΠœΠ΅Ρ‚ΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹Π·Π²Π°Π½ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· – ΠΊΠΎΠ³Π΄Π° всС ΠΏΡƒΠ½ΠΊΡ‚Ρ‹ мСню ΡƒΠΆΠ΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Ρ‹.\r\n * @method WebAccess.components.menus.BaseContextMenu#render\r\n * @throws ERR_OBJECT_IS_ALREADY_RENDERED - ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΡƒΠΆΠ΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½.\r\n * @return {WebAccess.components.menus.BaseContextMenu} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° BaseContextMenu.\r\n */\r\n render: function (force) {\r\n var me = this;\r\n if (!!me._isRendered && !force) return WA.raise(\"ERR_OBJECT_IS_ALREADY_RENDERED\");\r\n this._makeMenuObject();\r\n this._isRendered = true;\r\n this._jObject.contextMenu(this._menu);\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠžΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ мСню. (ΠΠ»ΡŒΡ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Ρ‹Π½Ρ‹ΠΉ способ, c исходного события)\r\n * @method WebAccess.components.menus.BaseContextMenu#show\r\n * @param {object} [opt_event] DOM-событиС Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄\r\n * @return {WebAccess.components.menus.BaseContextMenu} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° BaseContextMenu.\r\n * @since 5.2.0.1300\r\n */\r\n show: function (opt_event) {\r\n this._makeMenuObject();\r\n this._menu.show(null, null, opt_event);\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠžΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ мСню Π² ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π°Ρ….\r\n * @method WebAccess.components.menus.BaseContextMenu#showAt\r\n * @param {integer} x ΠšΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π° ΠΏΠΎ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΠΈ\r\n * @param {integer} y ΠšΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π° ΠΏΠΎ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΠΈ\r\n * @param {object} [opt_event] DOM-событиС Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄\r\n * @return {WebAccess.components.menus.BaseContextMenu} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° BaseContextMenu.\r\n * @since 5.2.0.1300\r\n */\r\n showAt: function (x, y, opt_event) {\r\n this._makeMenuObject();\r\n this._menu.showAt({ left: x, top: y }, null, null, opt_event);\r\n return this;\r\n }\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n });\r\n\r\n global.BaseContextMenu = BaseContextMenu;\r\n})(window.WebAccess.components.menus);\r\n","\"use strict\";\r\n\r\n/**\r\n* ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚Π½ΠΎΠ΅ мСню Π² Π²ΠΈΠ΄Π΅ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΠΎ располоТСнных ΠΈΠΊΠΎΠ½ΠΎΠΊ.\r\n*\r\n* @class WebAccess.components.menus.OnlyIconsContextMenu\r\n* @since 5.0.0.4200\r\n* @extends WebAccess.components.menus.BaseContextMenu\r\n* @param {string} itemSelector Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ элСмСнт страницы\r\n* @param {WebAccess.components.menus.BaseContextMenu.contextMenuItem} [opt_menuItems] Массив со списком ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠ² мСню\r\n* @param {WebAccess.components.menus.BaseContextMenu.contextMenuSettings} [opt_settings] ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ контСкстного мСню\r\n* @param {string} [opt_settings] Π˜Π” элСмСнта страницы\r\n* @property WebAccess.components.menus.OnlyIconsContextMenu#jMenu jQuery элСмСнт Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ отрисованного мСню\r\n* @property WebAccess.components.menus.OnlyIconsContextMenu#controlId Π˜Π” элСмСнта Π½Π° страницы\r\n* @example\r\n* // ΠŸΡ€ΠΈ Π½Π°Π²Π΅Π΄Π΅Π½ΠΈΠΈ ΠΌΡ‹ΡˆΠΈ Π½Π° Π»ΠΎΠ³ΠΎΡ‚ΠΈΠΏ Directum откроСтся контСкстноС мСню.\r\n* var menu = new window.WebAccess.components.menus.OnlyIconsContextMenu(\"#logo\", [{\r\n* name: \"itemName\",\r\n* text: \"text\",\r\n* image: \"ToolbarAndTab/SaveAndExit_16.png\",\r\n* imageCSSClass: \"availableStatuses[i]\",\r\n* selected: true\r\n* }], {}, \"menuId\");\r\n* menu.render();\r\n*\r\n* menu.bind('itemSelect', function (item) {\r\n* console.log(item);\r\n* });\r\n*\r\n* $(\"#logo\").hover(function() { menu.show() },function() { menu.hide() } );\r\n*/\r\n(function (global) {\r\n var OnlyIconsContextMenu = global.BaseContextMenu.extend({\r\n init: function (element, opt_menuItems, opt_settings, opt_controlId) {\r\n var me = this;\r\n me._super(element, opt_menuItems, opt_settings);\r\n me.controlId = opt_controlId || 'onlyIconsContextMenu';\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n className: 'OnlyIconsContextMenu',\r\n controlId: 'onlyIconsContextMenu',\r\n jMenu: null,\r\n\r\n /**\r\n * ΠžΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ контСкстоС мСню.\r\n * ΠœΠ΅Ρ‚ΠΎΠ΄ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹Π·Π²Π°Π½ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· – ΠΊΠΎΠ³Π΄Π° всС ΠΏΡƒΠ½ΠΊΡ‚Ρ‹ мСню ΡƒΠΆΠ΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Ρ‹.\r\n * @method WebAccess.components.menus.OnlyIconsContextMenu#render\r\n * @throws ERR_OBJECT_IS_ALREADY_RENDERED - ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΡƒΠΆΠ΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½.\r\n * @return {WebAccess.components.menus.OnlyIconsContextMenu} OΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° OnlyIconsContextMenu.\r\n */\r\n render: function (force) {\r\n var me = this;\r\n var i;\r\n if (!!me._isRendered && !force) return WA.raise(\"ERR_OBJECT_IS_ALREADY_RENDERED\");\r\n\r\n // УдяляСм элСмСнт с Ρ‚Π°ΠΊΠΈΠΌ Π˜Π”.\r\n $('#' + me.controlId).remove();\r\n\r\n // Π“Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌ HTML.\r\n var html = '
    ';\r\n for (i = 0; i < me.items.length; i++) {\r\n html += '
    ';\r\n html += '
    ';\r\n html += '
    ';\r\n }\r\n html += '
    ';\r\n me.jMenu = $(html);\r\n\r\n // НавСшиваСм события Π½Π° элСмСнты списка.\r\n var itemEls = me.jMenu.find('.item');\r\n for (i = 0; i < me.items.length; i++) {\r\n var onClick = (function (item) {\r\n return function () {\r\n me.jMenu.find('.selected').removeClass('selected');\r\n $(this).addClass('selected');\r\n me.fire(\"itemSelect\", item);\r\n };\r\n })(me.items[i]);\r\n itemEls.eq(i)\r\n .on('click.onlyIconsCM', onClick);\r\n }\r\n me._isRendered = true;\r\n\r\n return me;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠžΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ мСню Π² ΠΊΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Π°Ρ… ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½ΠΎΠ³ΠΎ элСмСнта.\r\n * @method WebAccess.components.menus.OnlyIconsContextMenu#show\r\n * @return {WebAccess.components.menus.OnlyIconsContextMenu} OΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° OnlyIconsContextMenu.\r\n */\r\n show: function () {\r\n var me = this;\r\n if ($('#' + me.controlId).length === 0) {\r\n $('body').append(me.jMenu);\r\n }\r\n var jObjOffset = me._jObject.offset();\r\n me.jMenu.css({\r\n 'position': 'absolute',\r\n 'left': Math.round(jObjOffset.left),\r\n 'top': Math.round(jObjOffset.top)\r\n });\r\n me.jMenu.show();\r\n return me;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠžΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ мСню Π² ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½ΠΎΠΌ элСмСнтС.\r\n * @method WebAccess.components.menus.OnlyIconsContextMenu#showIn\r\n * @param {string} container Π‘Π΅Π»Π΅ΠΊΡ‚ΠΎΡ€ ΠΈΠ»ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€\r\n\t * @param {boolean} atTop ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ, Π²Ρ‹ΡˆΠ΅ ΠΈΠ»ΠΈ Π½ΠΈΠΆΠ΅ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ вставлСно мСню\r\n * @return {WebAccess.components.menus.OnlyIconsContextMenu} OΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° OnlyIconsContextMenu.\r\n */\r\n showIn: function (container, atTop) {\r\n var me = this;\r\n if (atTop === true) {\r\n $(container).prepend(me.jMenu);\r\n } else {\r\n $(container).append(me.jMenu);\r\n }\r\n me.jMenu.show();\r\n return me;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π‘ΠΊΡ€Ρ‹Ρ‚ΡŒ контСкстноС мСню.\r\n * @method WebAccess.components.menus.OnlyIconsContextMenu#hide\r\n * @return {WebAccess.components.menus.OnlyIconsContextMenu} OΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° OnlyIconsContextMenu.\r\n */\r\n hide: function () {\r\n this.jMenu.hide();\r\n return me;\r\n }\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n });\r\n\r\n global.OnlyIconsContextMenu = OnlyIconsContextMenu;\r\n})(window.WebAccess.components.menus);","\"use strict\";\r\n\r\n\r\n/**\r\n* Π“Π΅Π½Π΅Ρ€Π°Ρ‚ΠΎΡ€ Ρ„ΠΎΡ€ΠΌ.\r\n*\r\n* @example\r\n* var form = new WebAccess.components.forms.FormBuilder(\"uniq_id\");\r\n* var form_html = form.addInput(\"ERR_ELEMENT_DOES_NOT_EXIST\")\r\n* .addInput(\"NOT_CREATED_SESSION_MANAGER\")\r\n* .addInput(\"EDOCUMENT_SIGN\")\r\n* .addText(\"NO_RIGHTS_FOR_SIGN_EDOC_DUE_EDIT\")\r\n* .addTextarea(\"REPORT_ASKABLE_PARAMS\")\r\n* .addInput(\"NOT_CREATED_SESSION_MANAGER\")\r\n* .render();\r\n* WebAccess.current.sideBar.tabs.FldTree.setHtml(form_html);\r\n\r\n* @example\r\n* var CP = WA.components;\r\n* var form = new CP.forms.FormBuilder(\"filter_save_modal\");\r\n* form.addPick(\"FILTER_NAME\", {\"key\": \"value\", \"key2\": \"value2\"}, null, null, true, {\"isRequired\": true});\r\n\r\n* var dialog = new CP.dialogs.BaseDialog();\r\n* dialog.title = L(\"SAVE_NEW_FILTER\");\r\n* dialog.html = form.render();\r\n* dialog.isShowCancelButton = true;\r\n* dialog.ok = function() {\r\n* if (form.isValid() === false) return false;\r\n* var filterName = form.getValue(\"FILTER_NAME\");\r\n* var displayValue = form.getDisplayValue(\"FILTER_NAME\");\r\n* if (filterName === \"\") {\r\n* CallService(\"/Service.asmx/CreateNewFilter\", {\"ReferenceCode\": WA.current.getReferenceCode() ,\"Name\": displayValue} , function(response) {\r\n* });\r\n* }};\r\n* dialog.show();\r\n*\r\n* @since 5.0.0.4000\r\n* @class WebAccess.components.forms.FormBuilder\r\n* @mixes WebAccess.mixins.pluginMixin\r\n* @extends BaseObject\r\n* @param {string} id Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Ρ„ΠΎΡ€ΠΌΡ‹. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ являСтся ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ\r\n* @property {string} displayErrors [\"tip\",\"inline\", \"none\"] - Ρ€Π΅ΠΆΠΈΠΌ отобраТСния ошибок, Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‰ΠΈΡ… ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ΅ коррСктности заполнСния Ρ„ΠΎΡ€ΠΌΡ‹\r\n* @throws ERR_NOT_ALL_REQUIRED_ARGUMENTS_HAVE_BEEN_SUPLIED - Π·Π°Π΄Π°Π½Ρ‹ Π½Π΅ всС ΠΎΠ±ΡΠ·Π°Ρ‚Π°Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹.\r\n*/\r\n\r\n/**\r\n * ΠŸΡ€Π°Π²ΠΈΠ»Π° коррСктности заполнСния Ρ„ΠΎΡ€ΠΌΡ‹.\r\n * @typedef {Object} WebAccess.components.forms.FormBuilder.validatorRules\r\n * @property {boolean} [isRequired] ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ поля\r\n * @property {boolean} [isDate] ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚ΠΈΠΏ Β«Π”Π°Ρ‚Π°Β»: 01/01/2000, 01.01.2000, Π° Π½Π΅ 01/01.2000 ΠΈΠ»ΠΈ Β«Ρ„Π΄Π»Π²Ρ€Ρ„Β»\r\n * @property {boolean} [isDigit] ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»Π΅ ΠΈΠΌΠ΅Π΅Ρ‚ Ρ‚ΠΈΠΏ «Число»\r\n * @property {boolean} [min] ДопустимоС минимальноС числовоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅\r\n * @property {boolean} [max] ДопустимоС максимальноС числовоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅\r\n * @property {boolean} [isEmail] Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ поля – адрСс элСктронной ΠΏΠΎΡ‡Ρ‚Ρ‹\r\n * @since 5.0.0.4000\r\n *\r\n * @example\r\n * form.addCustomField(\"TO_ARCHIVE_DATE\", toArchiveDateHtml, { \"isRequired\": true, \"isDate\": true });\r\n */\r\n\r\n/**\r\n * Бсылка Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚\r\n * @typedef {Object} WebAccess.components.forms.FormBuilder.objectLink\r\n * @property {integer} id Π˜Π” ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°\r\n * @property {OBJECT_TYPE} type Π’ΠΈΠΏ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°\r\n * @property {boolean} [referenceCode] Код справочника\r\n * @since 5.0.0.7100\r\n*/\r\n\r\n//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n(function (global) {\r\n var FormBuilder = BaseObject.extend([WA.mixins.pluginMixin], {\r\n className: \"FormBuilder\",\r\n id: \"\",\r\n items: {},\r\n invalidFields: [],\r\n displayErrors: \"tip\",\r\n heigth: 100,\r\n _html: '',\r\n _orientaion: ORIENTATION.HORIZONTAL,\r\n _request: [],\r\n _action: \"#\",\r\n _method: FORM_METHOD.POST,\r\n _enctype: ENCTYPE.MULTIPART,\r\n _constructors: [],\r\n isHtmlFormEnabled: false,\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n init: function (id) {\r\n if (!id) WA.raise(\"ERR_NOT_ALL_REQUIRED_ARGUMENTS_HAVE_BEEN_SUPLIED\", \"id\");\r\n this._super(id);\r\n this.id = id;\r\n\r\n //Π­Ρ‚ΠΎ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ, Π½Π΅ понятно ΠΏΠΎΡ‡Π΅ΠΌΡƒ, Π½ΠΎ ΠΎΠ½ΠΎ Π½Π΅ обнуляСтся само\r\n this.items = {};\r\n this.invalidFields = [];\r\n this._request = [];\r\n this._constructors = [];\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΎΡ€ΠΈΠ΅Π½Ρ‚Π°Ρ†ΠΈΡŽ содСрТимого Ρ„ΠΎΡ€ΠΌΡ‹.\r\n * ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ΡΡ Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½Π°Ρ ΠΈ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½Π°Ρ ориСнтация.\r\n * ΠœΠ΅Ρ‚ΠΎΠ΄ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π΄ΠΎ Π²Ρ‹Π·ΠΎΠ²Π° ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ добавлСния поля, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ addText ΠΈΠ»ΠΈ addReferenceSelect,\r\n * сразу послС Π²Ρ‹Π·ΠΎΠ²Π° конструктора Π»ΠΈΠ±ΠΎ послС Π²Ρ‹Π·ΠΎΠ²Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π° render.\r\n *\r\n * @function WebAccess.components.forms.FormBuilder#setOrientation\r\n * @param {string} orientation ΠžΡ€ΠΈΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ HTML-Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΈ. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ значСния: \"vertical\" – поля Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚ΡΡ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ поля; \"horizontal\" – ΠΏΠΎΠ»Π΅ ΠΈ Π΅Π³ΠΎ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°ΡŽΡ‚ΡΡ Π² ΠΎΠ΄Π½ΠΎΠΉ строкС. Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ - \"horizontal\"\r\n * @return {WebAccess.components.forms.FormBuilder} OΠ±ΡŠΠ΅ΠΊΡ‚ класса FormBuilder.\r\n */\r\n setOrientation: function (orientation) {\r\n var me = this;\r\n if (!isNaN(orientation)) {\r\n if (orientation === 0) me._orientaion = 'horizontal';\r\n else me._orientaion = 'vertical';\r\n } else {\r\n this._orientaion = orientation;\r\n }\r\n\r\n var jForm = $(\"#\" + this.id);\r\n if (jForm.length > 0) {\r\n jForm.find(\".field_container\").removeClass(me._orientaion).addClass(me._orientaion);\r\n jForm.find(\".rs_SelItems_cont\").removeAttr(\"style\"); //Ρ…Π°ΠΊ для RefSel\r\n }\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ поля.\r\n *\r\n * @function WebAccess.components.forms.FormBuilder#getValue\r\n * @param {string} name Π‘Ρ‚Ρ€ΠΎΠΊΠ° Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ равная ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρƒ этого поля\r\n * @param {boolean} [opt_byId] ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ, ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ Π»ΠΈ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π΅ ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°. Если ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΎ, ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅\r\n * @return {string} Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ поля.\r\n */\r\n getValue: function (name, opt_byId) {\r\n if (!$(\"#\" + this.id).length) WA.raise('ERR_UNABLE_TO_GET_THE_VALUE_FORM_IS_MISSING');\r\n\r\n var byId = byId || false;\r\n name = name.toLowerCase();\r\n var type = \"\";\r\n var value = \"\";\r\n var jField = $(\"#\" + name);\r\n\r\n if (name in this.items) type = this.items[name].type;\r\n else type = \"undefinied\";\r\n\r\n switch (type) {\r\n case \"text\":\r\n jField = $(\"#\" + name + \"_label\");\r\n value = jField.html();\r\n break;\r\n case \"textFrame\":\r\n value = jField.html();\r\n break;\r\n case \"radio\":\r\n value = jField.find('input[name=\"' + name + '\"]:checked').val();\r\n break;\r\n case \"input\":\r\n case \"date\":\r\n value = jField.val();\r\n break;\r\n case \"select\":\r\n value = jField.val();\r\n break;\r\n case \"referenceSelect\":\r\n case \"multiSelect\":\r\n value = $(\"#hSelID_\" + name).val();\r\n break;\r\n case \"custom\":\r\n if (!byId) value = $(\"#hSelID_\" + name).val();\r\n else value = jField.val();\r\n break;\r\n case \"pick\":\r\n var pickInstance = $(\"#\" + name + \"inp\").data('DropDownListInstance');\r\n value = pickInstance.getValue();\r\n if (value == \"-1\") value = \"\";\r\n break;\r\n case \"objectList\":\r\n return ListRequisite(name).GetLinks();\r\n break;\r\n case \"undefinied\":\r\n value = \"\";\r\n break;\r\n case \"checkbox\":\r\n value = jField.is(':checked');\r\n break;\r\n default:\r\n value = jField.val();\r\n break;\r\n }\r\n return value;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * УстанавливаСт Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ поля.\r\n * ΠœΠ΅Ρ‚ΠΎΠ΄ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠΎΠ³Π΄Π° ΠΏΠΎΠ»Π΅ ΡƒΠΆΠ΅ отобраТаСтсяна страницС.\r\n * НапримСр, Ссли Ρ„ΠΎΡ€ΠΌΠ° ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² модальном ΠΎΠΊΠ½Π΅, Ρ‚ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ послС события open модального ΠΎΠΊΠ½Π°:\r\n * dialog.bind('open', function() {\r\n * form.setValue(.....)\r\n * ...\r\n * })\r\n *\r\n * @function WebAccess.components.forms.FormBuilder#setValue\r\n * @param {string} name Π‘Ρ‚Ρ€ΠΎΠΊΠ° Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ равная ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρƒ этого поля\r\n * @param {string} value Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ поля\r\n * @param {string} displayValue ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ поля\r\n * @param {boolean} [opt_byId] ΠžΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠ΅ прСобразования ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°, ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ.\r\n * @return {WebAccess.components.forms.FormBuilder} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° FormBuilder.\r\n */\r\n setValue: function (name, value, displayValue, opt_byId) {\r\n var byId = byId || false;\r\n name = name.toLowerCase();\r\n var type = \"\";\r\n var jField = $(\"#\" + name);\r\n\r\n if (name in this.items) type = this.items[name].type;\r\n else type = \"undefinied\";\r\n\r\n switch (type) {\r\n case 'radio':\r\n var jRadios = jField.find('input[name=\"' + name + '\"]');\r\n jRadios.filter('[value=\"' + value + '\"]').prop('checked', true);\r\n break;\r\n case \"referenceSelect\":\r\n case \"multiSelect\":\r\n WA.CMP.wrappers.form.requisites.BaseObjectSelectRequisite.setControlValue(jField, value, displayValue);\r\n break;\r\n case \"pick\":\r\n setTimeout(function () {\r\n var pickInstance = $(\"#\" + name + \"inp\").data('DropDownListInstance');\r\n pickInstance.setValue(value, displayValue);\r\n }, 10);\r\n break;\r\n case \"undefinied\":\r\n break;\r\n case \"text\":\r\n jField = $(\"#\" + name + \"_label\");\r\n jField.html(L(value));\r\n break;\r\n case \"textFrame\":\r\n jField.html(value);\r\n break;\r\n case \"objectList\":\r\n var list = ListRequisite(name);\r\n var links = [];\r\n\r\n for (var i in value) {\r\n links.push({\r\n 'ID': value[i].id,\r\n 'Kind': objectTypeToString(value[i].type),\r\n 'referenceName': value[i].CompCode\r\n });\r\n }\r\n list.Values = links;\r\n list.UpdateList();\r\n break;\r\n case 'date':\r\n if (typeof value === \"object\") {\r\n value = formatDate(value);\r\n }\r\n jField.val(value);\r\n break;\r\n case 'checkbox':\r\n if (!!value) jField.attr('checked', 'checked');\r\n else jField.removeAttr('checked');\r\n break;\r\n default:\r\n jField.val(value);\r\n break;\r\n }\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π’Ρ‹ΠΊΠΈΠ΄Ρ‹Π²Π°Π΅Ρ‚ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΎΠ΄Π½ΠΎ ΠΈ Ρ‚ΠΎ-ΠΆΠ΅ ΠΏΠΎΠ»Π΅\r\n * @private\r\n * @function WebAccess.components.forms.FormBuilder#_preventDoubles\r\n */\r\n _preventDoubles: function (id) {\r\n if (this.items[id]) WA.raise(\"ERR_FIELD_WITH_THE_SAME_NAME_ALREADY_EXIST\");\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ поля.\r\n *\r\n * @param {string} name Имя поля\r\n * @function WebAccess.components.forms.FormBuilder#getDisplayValue\r\n * @return {string} ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ поля.\r\n */\r\n getDisplayValue: function (name) {\r\n var type = \"\";\r\n name = name.toLowerCase();\r\n var value = \"\";\r\n var jField = $(\"#\" + name);\r\n\r\n if (name in this.items) type = this.items[name].type;\r\n else type = \"undefinied\";\r\n switch (type) {\r\n case \"text\":\r\n jField = $(\"#\" + name + \"_label\");\r\n jField.html(L(value));\r\n break;\r\n case \"textFrame\":\r\n value = jField.html();\r\n break;\r\n case \"pick\":\r\n var pickInstance = $(\"#\" + name + \"inp\").data('DropDownListInstance');\r\n value = pickInstance.getDisplayValue();\r\n break;\r\n case \"multiSelect\":\r\n case \"referenceSelect\":\r\n var values = [];\r\n $('#' + name + '_container').find('.rs_SelItems').children(\"span\").each(function () {\r\n values.push($(this).attr(\"data-text\"));\r\n });\r\n value = values.join(';');\r\n break;\r\n case \"undefinied\":\r\n value = \"\";\r\n break;\r\n case \"objectList\":\r\n WA.raise('ERR_UNSUPPORTED_METHOD');\r\n break;\r\n default:\r\n value = jField.val();\r\n break;\r\n }\r\n return value;\r\n },\r\n\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ высоту Ρ„ΠΎΡ€ΠΌΡ‹.\r\n * Π£ΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄, оставлСн для совмСстимости с ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΌΠΈ вСрсиями. НС рСкомСндуСтся Π΅Π³ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ.\r\n *\r\n * @function WebAccess.components.forms.FormBuilder#getHeight\r\n * @return {integer} Высота Ρ„ΠΎΡ€ΠΌΡ‹.\r\n * @since 5.0.0.4000\r\n * @deprecated\r\n */\r\n getHeight: function () {\r\n return this.heigth;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ высоту Ρ„ΠΎΡ€ΠΌΡ‹.\r\n *\r\n * @deprecated\r\n * @alias WebAccess.components.forms.FormBuilder#getHeight\r\n * @function WebAccess.components.forms.FormBuilder#getHeigth\r\n * @ignore\r\n */\r\n getHeigth: function () { return this.getHeight.apply(this, arguments); },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ поля с Ρ„ΠΎΡ€ΠΌΡ‹\r\n * @function WebAccess.components.forms.FormBuilder#_removeField\r\n * @private\r\n * @param {string} name ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ поля\r\n * @return {WebAccess.components.forms.FormBuilder}\r\n */\r\n _removeField: function (id) {\r\n if (!id) WA.raise(\"ERR_NOT_ALL_REQUIRED_ARGUMENTS_HAVE_BEEN_SUPLIED\", \"name\");\r\n this._preventDoubles(id);\r\n $(\"#\" + name.toLowerCase() + \"_container\").remove();\r\n this.items[id] = { 'id': id }; //Π’ этой строкС Π·Π°ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ порядок, ΡƒΠ±Ρ€Π°Ρ‚ΡŒ Π΅Ρ‘, Π·Π½Π°Ρ‡ΠΈΡ‚ Π½Π°Ρ€ΡƒΡˆΠΈΡ‚ΡŒ Π΅Π³ΠΎ.\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ тСкст Π½Π° Ρ„ΠΎΡ€ΠΌΡƒ.\r\n *\r\n * @function WebAccess.components.forms.FormBuilder#addText\r\n * @param {string} name Π‘Ρ‚Ρ€ΠΎΠΊΠ° Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ равная ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρƒ этого поля\r\n * @return {WebAccess.components.forms.FormBuilder} OΠ±ΡŠΠ΅ΠΊΡ‚ класса FormBuilder.\r\n */\r\n addText: function (name) {\r\n var me = this;\r\n var id = name.toLowerCase();\r\n me._removeField(id);\r\n\r\n var constructor = {\r\n template: 'formBuilder/text.compile.html',\r\n params: {\r\n 'id': id,\r\n 'text': L(name)\r\n },\r\n\r\n afterRender: function (html) {\r\n me._addItem(name, id, false, 'text', html, null);\r\n }\r\n };\r\n\r\n me._constructors.push(constructor);\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Для вставки Π·Π²Π΅Π·Π΄ΠΎΡ‡ΠΊΠΈ Π² ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ поля\r\n * @private\r\n */\r\n _asterisk: function (label, rules) {\r\n if (rules && rules['isRequired'] && label !== '') {\r\n return '*';\r\n }\r\n return '';\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΏΠΎΠ»Π΅ Ρ‚ΠΈΠΏΠ° «ВСкст».\r\n *\r\n * @function WebAccess.components.forms.FormBuilder#addInput\r\n * @param {string} name Π‘Ρ‚Ρ€ΠΎΠΊΠ° Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ равная ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρƒ этого поля\r\n * @param {number} [opt_maxlength] ДопустимоС количСство символов Π² ΠΏΠΎΠ»Π΅\r\n * @param {WebAccess.components.forms.FormBuilder.validatorRules} [opt_validateRules] ΠŸΡ€Π°Π²ΠΈΠ»Π° коррСктности заполнСния Ρ„ΠΎΡ€ΠΌΡ‹\r\n * @param {string} [opt_accept] Π‘Ρ‚Ρ€ΠΎΠΊΠ° для Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° \"accept\", Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ \".xls,.xlsx\"\r\n * @return {WebAccess.components.forms.FormBuilder} OΠ±ΡŠΠ΅ΠΊΡ‚ класса FormBuilder.\r\n */\r\n addInput: function (name, opt_maxlength, opt_validateRules, opt_type, opt_defaultValue, opt_accept) {\r\n var me = this;\r\n var id = name.toLowerCase();\r\n me._removeField(id);\r\n opt_type = opt_type || 'input';\r\n opt_maxlength = opt_maxlength || '';\r\n opt_defaultValue = opt_defaultValue || '';\r\n opt_accept = opt_accept || '';\r\n\r\n var label = L(name);\r\n var constructor = {\r\n template: 'formBuilder/input.compile.html',\r\n params: {\r\n 'id': id,\r\n 'orientation': me._orientaion,\r\n 'asterisk': me._asterisk(label, opt_validateRules),\r\n 'label': (label === '' ? '' : label + ':'),\r\n 'type': (opt_type == 'input') ? 'text' : opt_type,\r\n 'max': opt_maxlength,\r\n 'value': opt_defaultValue,\r\n 'accept': opt_accept\r\n },\r\n afterRender: function (html) {\r\n me._addItem(name, id, false, opt_type, html, opt_validateRules);\r\n }\r\n };\r\n\r\n me._constructors.push(constructor);\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΏΠΎΠ»Π΅ Ρ‚ΠΈΠΏΠ° Β«FileΒ».\r\n *\r\n * @function WebAccess.components.forms.FormBuilder#addFileField\r\n * @param {string} name Π‘Ρ‚Ρ€ΠΎΠΊΠ° Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ равная ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρƒ поля\r\n * @param {WebAccess.components.forms.FormBuilder.validatorRules} [opt_validateRules] ΠŸΡ€Π°Π²ΠΈΠ»Π° коррСктности заполнСния Ρ„ΠΎΡ€ΠΌΡ‹\r\n * @param {string} [opt_accept] Π‘Ρ‚Ρ€ΠΎΠΊΠ° для Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π° \"accept\", Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ \".xls,.xlsx\", Π° Π»ΡƒΡ‡ΡˆΠ΅ вмСстС с MIME-type:\r\n * \".xls,.xlsx, application/vnd.openxmlformats-officedocument.spreadsheetml.sheet,application/vnd.ms-excel\"\r\n * (см. https://w3c.github.io/html/sec-forms.html#element-attrdef-input-accept)\r\n * @return {WebAccess.components.forms.FormBuilder} OΠ±ΡŠΠ΅ΠΊΡ‚ класса FormBuilder.\r\n */\r\n addFileField: function (name, opt_validateRules, opt_accept) {\r\n return this.addInput(name, null, opt_validateRules, 'file', '', opt_accept);\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ скрытоС ΠΏΠΎΠ»Π΅.\r\n *\r\n * @function WebAccess.components.forms.FormBuilder#addHiddenField\r\n * @param {string} name Π‘Ρ‚Ρ€ΠΎΠΊΠ° Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ равная ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρƒ поля\r\n * @param {string} value Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ поля\r\n * @return {WebAccess.components.forms.FormBuilder} OΠ±ΡŠΠ΅ΠΊΡ‚ класса FormBuilder.\r\n */\r\n addHiddenField: function (name, value) {\r\n var me = this;\r\n var id = name.toLowerCase();\r\n me._removeField(id);\r\n\r\n var constructor = {\r\n template: 'formBuilder/hidden.compile.html',\r\n params: {\r\n 'id': id,\r\n 'value': value\r\n },\r\n afterRender: function (html) {\r\n me._addItem(name, id, false, \"datehidden\", html, null);\r\n }\r\n };\r\n\r\n me._constructors.push(constructor);\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΏΠΎΠ»Π΅ для Π²Ρ‹Π±ΠΎΡ€Π° Π΄Π°Ρ‚Ρ‹.\r\n *\r\n * @method WebAccess.components.forms.FormBuilder#addDate\r\n * @param {string} name Π‘Ρ‚Ρ€ΠΎΠΊΠ° Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ равная ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρƒ поля\r\n * @param {WebAccess.components.forms.FormBuilder.validatorRules} [opt_validateRules] ΠŸΡ€Π°Π²ΠΈΠ»Π° коррСктности заполнСния Ρ„ΠΎΡ€ΠΌΡ‹\r\n * @return {WebAccess.components.forms.FormBuilder} OΠ±ΡŠΠ΅ΠΊΡ‚ класса FormBuilder.\r\n */\r\n addDate: function (name, opt_validateRules) {\r\n var me = this;\r\n var id = name.toLowerCase();\r\n me._removeField(id);\r\n\r\n var constructor = {\r\n template: 'formBuilder/date.compile.html',\r\n params: {\r\n 'id': id\r\n },\r\n afterRender: function (html) {\r\n html = me._wrapControl(id, html, opt_validateRules);\r\n me._addItem(name, id, false, \"date\", html, opt_validateRules);\r\n }\r\n };\r\n\r\n me._constructors.push(constructor);\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ многострочноС ΠΏΠΎΠ»Π΅.\r\n *\r\n * @function WebAccess.components.forms.FormBuilder#addTextarea\r\n * @param {string} name Π‘Ρ‚Ρ€ΠΎΠΊΠ° Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ равная ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρƒ этого поля\r\n * @param {string} opt_defaultvalue Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ\r\n * @param {WebAccess.components.forms.FormBuilder.validatorRules} [opt_validateRules] ΠŸΡ€Π°Π²ΠΈΠ»Π° коррСктности заполнСния Ρ„ΠΎΡ€ΠΌΡ‹\r\n * @return {WebAccess.components.forms.FormBuilder} OΠ±ΡŠΠ΅ΠΊΡ‚ класса FormBuilder.\r\n */\r\n addTextArea: function (name, opt_defaultvalue, opt_validateRules) {\r\n var me = this;\r\n var id = name.toLowerCase();\r\n me._removeField(id);\r\n\r\n var label = L(name);\r\n var constructor = {\r\n template: 'formBuilder/textArea.compile.html',\r\n params: {\r\n 'id': id,\r\n 'orientation': me._orientaion,\r\n 'asterisk': me._asterisk(label, opt_validateRules),\r\n 'label': (label === '' ? '' : label + ':'),\r\n 'value': opt_defaultvalue\r\n },\r\n afterRender: function (html) {\r\n me._addItem(name, id, false, \"textArea\", html, opt_validateRules);\r\n }\r\n };\r\n\r\n me._constructors.push(constructor);\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n\r\n /**\r\n * Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ многострочноС ΠΏΠΎΠ»Π΅ фиксированной высоты.\r\n *\r\n * @function WebAccess.components.forms.FormBuilder#addTextFrame\r\n * @param {string} name Π‘Ρ‚Ρ€ΠΎΠΊΠ° Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ равная ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρƒ поля\r\n * @param {string} defaultvalue Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ\r\n * @param {integer} [opt_maxHeigth] Высота, Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ограничиваСтся ΠΏΠΎΠ»Π΅\r\n * @param {WebAccess.components.forms.FormBuilder.validatorRules} [opt_validateRules] ΠŸΡ€Π°Π²ΠΈΠ»Π° коррктности заполнСния Ρ„ΠΎΡ€ΠΌΡ‹\r\n * @return {WebAccess.components.forms.FormBuilder} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ класса FormBuilder.\r\n * @since 5.1.0.1523\r\n */\r\n addTextFrame: function (name, opt_defaultvalue, opt_maxHeigth, opt_validateRules) {\r\n var me = this;\r\n var id = name.toLowerCase();\r\n me._removeField(id);\r\n\r\n opt_maxHeigth = opt_maxHeigth || '150';\r\n opt_maxHeigth = opt_maxHeigth + 'px';\r\n\r\n var label = L(name);\r\n var constructor = {\r\n template: 'formBuilder/textFrame.compile.html',\r\n params: {\r\n 'id': id,\r\n 'maxHeigth': opt_maxHeigth,\r\n 'orientation': me._orientaion,\r\n 'asterisk': me._asterisk(label, opt_validateRules),\r\n 'label': (label === '' ? '' : label + ':'),\r\n 'value': opt_defaultvalue\r\n },\r\n afterRender: function (html) {\r\n me._addItem(name, id, false, \"textFrame\", html, opt_validateRules);\r\n }\r\n };\r\n\r\n me._constructors.push(constructor);\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n\r\n /**\r\n * Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ многострочноС ΠΏΠΎΠ»Π΅.\r\n * @deprecated\r\n * @alias WebAccess.components.forms.FormBuilder#addTextArea\r\n * @function WebAccess.components.forms.FormBuilder#addTextarea\r\n * @ignore\r\n */\r\n addTextarea: function () {\r\n return this.addTextArea.apply(this, arguments);\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΏΠΎΠ»Π΅ Π²Ρ‹Π±ΠΎΡ€Π° ΠΈΠ· списка.\r\n *\r\n * @function WebAccess.components.forms.FormBuilder#addSelect\r\n * @param {string} name Π‘Ρ‚Ρ€ΠΎΠΊΠ° Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ равная ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρƒ этого поля\r\n * @param {dictionary} options Бписок элСмСнтов Π²Ρ‹Π±ΠΎΡ€Π°\r\n * @param {WebAccess.components.forms.FormBuilder.validatorRules} [opt_validateRules] ΠŸΡ€Π°Π²ΠΈΠ»Π° коррСктности заполнСния Ρ„ΠΎΡ€ΠΌΡ‹\r\n * @return {WebAccess.components.forms.FormBuilder} OΠ±ΡŠΠ΅ΠΊΡ‚ класса FormBuilder.\r\n */\r\n addSelect: function (name, options, opt_validateRules) {\r\n var me = this;\r\n var id = name.toLowerCase();\r\n me._removeField(id);\r\n\r\n\r\n var mustache_options = [];\r\n for (var prop in options) {\r\n if (options.hasOwnProperty(prop)) {\r\n mustache_options.push({\r\n 'key': prop,\r\n 'value': L(options[prop])\r\n });\r\n }\r\n }\r\n\r\n var label = L(name);\r\n var constructor = {\r\n template: 'formBuilder/select.compile.html',\r\n params: {\r\n 'id': id,\r\n 'orientation': me._orientaion,\r\n 'asterisk': me._asterisk(label, opt_validateRules),\r\n 'label': (label === '' ? '' : label + ':'),\r\n 'options': mustache_options\r\n },\r\n afterRender: function (html) {\r\n me._addItem(name, id, false, \"select\", html, opt_validateRules);\r\n }\r\n };\r\n\r\n me._constructors.push(constructor);\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π³Ρ€ΡƒΠΏΠΏΡƒ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»Π΅ΠΉ.\r\n *\r\n * @function WebAccess.components.forms.FormBuilder#addRadioButtons\r\n * @param {string} name Π‘Ρ‚Ρ€ΠΎΠΊΠ° Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ, равная ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρƒ этого поля\r\n * @param {dictionary} options Бписок элСмСнтов Π²Ρ‹Π±ΠΎΡ€Π°\r\n * @param {WebAccess.components.forms.FormBuilder.validatorRules} [opt_validateRules] ΠŸΡ€Π°Π²ΠΈΠ»Π° коррСктности заполнСния Ρ„ΠΎΡ€ΠΌΡ‹\r\n * @return {WebAccess.components.forms.FormBuilder} OΠ±ΡŠΠ΅ΠΊΡ‚ класса FormBuilder.\r\n * @since 5.1.0.1505\r\n */\r\n addRadioButtons: function (name, options, opt_validateRules, opt_defaultvalue) {\r\n var me = this;\r\n var id = name.toLowerCase();\r\n me._removeField(id);\r\n opt_defaultvalue = opt_defaultvalue || null;\r\n\r\n var mustache_options = [];\r\n for (var prop in options) {\r\n if (options.hasOwnProperty(prop)) {\r\n mustache_options.push({\r\n 'key': prop,\r\n 'value': L(options[prop]),\r\n 'checked': opt_defaultvalue == prop ? 'checked=\"checked\"' : ''\r\n });\r\n }\r\n }\r\n\r\n var label = L(name);\r\n var constructor = {\r\n template: 'formBuilder/radio.compile.html',\r\n params: {\r\n 'id': id,\r\n 'orientation': me._orientaion,\r\n 'asterisk': me._asterisk(label, opt_validateRules),\r\n 'label': (label === '' ? '' : label + ':'),\r\n 'options': mustache_options\r\n },\r\n afterRender: function (html) {\r\n me._addItem(name, id, false, \"radio\", html, opt_validateRules);\r\n }\r\n };\r\n\r\n me._constructors.push(constructor);\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n\r\n /**\r\n * Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΏΠΎΠ»Π΅ Ρ‚ΠΈΠΏΠ° Β«Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊΒ».\r\n *\r\n * @function WebAccess.components.forms.FormBuilder#addReferenceSelect\r\n * @param {string} name Π‘Ρ‚Ρ€ΠΎΠΊΠ° Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ равная ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρƒ этого поля\r\n * @param {string} referenceCode Код справочника\r\n * @param {string} [opt_toolTip] ВСкст Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ подсказки для ΠΊΠ½ΠΎΠΏΠΊΠΈ Π²Ρ‹Π±ΠΎΡ€Π° ΠΈΠ· справочника\r\n * @param {string} [opt_searchReqName] ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΡ‹ΠΉ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚. По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ «НаимСнованиС»\r\n * @param {string} [opt_filter] Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ. Для Π²Ρ‹Π±ΠΎΡ€Π° Π±ΡƒΠ΄ΡƒΡ‚ доступны Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΡ‚Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ записи ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ справочника\r\n * @param {WebAccess.components.forms.FormBuilder.validatorRules} [opt_validateRules] ΠŸΡ€Π°Π²ΠΈΠ»Π° коррСктности заполнСния Ρ„ΠΎΡ€ΠΌΡ‹\r\n * @return {WebAccess.components.forms.FormBuilder} OΠ±ΡŠΠ΅ΠΊΡ‚ класса FormBuilder.\r\n */\r\n addReferenceSelect: function (name, referenceCode, opt_toolTip, opt_searchReqName, opt_filter, opt_validateRules) {\r\n var me = this;\r\n var id = name.toLowerCase();\r\n this._removeField(id);\r\n\r\n var other = {\r\n 'referenceCode': referenceCode,\r\n 'toolTip': opt_toolTip,\r\n 'searchReqName': opt_searchReqName,\r\n 'filter': opt_filter\r\n };\r\n\r\n me._addItem(name, id, true, \"referenceSelect\", '', opt_validateRules, other);\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΏΠΎΠ»Π΅ Ρ‚ΠΈΠΏΠ° «Бписок ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²Β».\r\n *\r\n * @function WebAccess.components.forms.FormBuilder#addObjectList\r\n * @param {string} name Π‘Ρ‚Ρ€ΠΎΠΊΠ° Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ равная ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρƒ этого поля.\r\n * @param {string} type Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ значСния: EDOCUMENT, JOB, FOLDER, TASK, REFERENCE_RECORD, ANY\r\n * @param {WebAccess.components.forms.FormBuilder.objectLink} opt_liks Бсылки ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. ΠŸΠΎΠ΄Ρ€ΠΎΠ±Π½Π΅Π΅ см. WebAccess.components.forms.FormBuilder.objectLink\r\n * @param {boolean} opt_isList Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ True, Ссли ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ нСсколько ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² ΠΏΠΎΠ»Π΅, ΠΈΠ½Π°Ρ‡Π΅ False\r\n * @param {string} referenceCode Код справочника.\r\n * @param {WebAccess.components.forms.FormBuilder.validatorRules} [opt_validateRules] ΠŸΡ€Π°Π²ΠΈΠ»Π° коррСктности заполнСния Ρ„ΠΎΡ€ΠΌΡ‹\r\n * @return {WebAccess.components.forms.FormBuilder} OΠ±ΡŠΠ΅ΠΊΡ‚ класса FormBuilder.\r\n * @since 5.0.0.7100\r\n *\r\n * @example\r\n * var form = new WA.CMP.forms.FormBuilder(\"1\")\r\n * form.addObjectList(\"YEsdscSd\", OBJECT_TYPE.REFERENCE_RECORD,[{\"id\": \"103619\", \"type\": OBJECT_TYPE.REFERENCE_RECORD, \"referenceCode\": \"ПРБ\"}], true,'ПРБ')\r\n *\r\n * var dialog = new WA.CMP.dialogs.BaseDialog(\"as\")\r\n * dialog.setHtml(form.render())\r\n * dialog.width = 700\r\n * dialog.show()\r\n */\r\n addObjectList: function (name, type, opt_links, opt_isList, opt_referenceCode, opt_validateRules) {\r\n var me = this;\r\n\r\n var id = name.toLowerCase();\r\n this._removeField(id);\r\n\r\n var other = {\r\n \"object_type\": type,\r\n \"values\": opt_links,\r\n \"isList\": opt_isList,\r\n \"referenceCode\": opt_referenceCode\r\n };\r\n\r\n me._addItem(name, id, true, \"objectList\", '', opt_validateRules, other);\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΏΠΎΠ»Π΅ мноТСствСнного Π²Ρ‹Π±ΠΎΡ€Π° ΠΈΠ· справочника.\r\n *\r\n * @function WebAccess.components.forms.FormBuilder#addMultiSelect\r\n * @param {string} name Π‘Ρ‚Ρ€ΠΎΠΊΠ° Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ равная ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρƒ этого поля\r\n * @param {string} referenceNames ΠšΠΎΠ΄Ρ‹ справочников, Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ \";\"\r\n * @param {string} [opt_toolTip] ВСкст Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ подсказки\r\n * @param {string} [opt_searchReqName] ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΡ‹ΠΉ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚\r\n * @param {string} [opt_filter] Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Ρ„ΠΈΠ»ΡŒΡ€Π°Ρ†ΠΈΠΈ. Π’ ΠΏΠΎΠ»Π΅ Π±ΡƒΠ΄ΡƒΡ‚ доступны Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΡ‚Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ записи Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ справочника\r\n * @param {boolean} [opt_isMultiSelect] ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ мноТСствСнного Π²Ρ‹Π±ΠΎΡ€Π°\r\n * @param {WebAccess.components.forms.FormBuilder.validatorRules} [opt_validateRules] ΠŸΡ€Π°Π²ΠΈΠ»Π° коррСктности заполнСния Ρ„ΠΎΡ€ΠΌΡ‹\r\n * @return {WebAccess.components.forms.FormBuilder} OΠ±ΡŠΠ΅ΠΊΡ‚ класса FormBuilder.\r\n * @since 5.0.0.4106\r\n */\r\n addMultiSelect: function (name, referenceNames, opt_toolTip, opt_searchReqName, opt_filter, opt_isMultiSelect, opt_validateRules) {\r\n var me = this;\r\n\r\n var id = name.toLowerCase();\r\n this._removeField(id);\r\n\r\n var other = {\r\n 'referenceNames': referenceNames,\r\n 'toolTip': opt_toolTip,\r\n 'searchReqName': opt_searchReqName,\r\n 'filter': opt_filter,\r\n 'isMultiSelect': opt_isMultiSelect\r\n };\r\n\r\n me._addItem(name, id, true, \"multiSelect\", '', opt_validateRules, other);\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΏΠΎΠ»Π΅ Ρ‚ΠΈΠΏΠ° Β«ΠŸΡ€ΠΈΠ·Π½Π°ΠΊΒ».\r\n *\r\n * @function WebAccess.components.forms.FormBuilder#addPick\r\n * @param {string} name Π‘Ρ‚Ρ€ΠΎΠΊΠ° Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ равная ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρƒ этого поля\r\n * @param {dict} values Ассоциативный массив, содСрТащий ΠΏΠ°Ρ€Ρ‹: Π˜Π” ΠΏΡƒΠ½ΠΊΡ‚Π° Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ списка – ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΡƒΠ½ΠΊΡ‚Π°\r\n * @param {dict} [opt_displayValues] ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΡ‹Π΅ значСния для Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ списка\r\n * @param {array} [opt_disabledValues] ΠŸΡƒΠ½ΠΊΡ‚Ρ‹ нСдоступныС для Π²Ρ‹Π±ΠΎΡ€Π°\r\n * @param {boolean} [opt_editable] Если Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ true, Ρ‚ΠΎ ΠΏΠΎΠ»Π΅ Π²Π²ΠΎΠ΄Π° становится доступным для измСнСния. Π’ случаС, Ссли Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π±Ρ‹Π»ΠΎ Π²Π²Π΅Π΄Π΅Π½ΠΎ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ, ΠΌΠ΅Ρ‚ΠΎΠ΄ getValue Π²Π΅Ρ€Π½Π΅Ρ‚ ΠΏΡƒΡΡ‚ΡƒΡŽ строку. Π’Π°ΠΊΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ getDisplayValue\r\n * @param {WebAccess.components.forms.FormBuilder.validatorRules} [opt_validateRules] ΠŸΡ€Π°Π²ΠΈΠ»Π° коррСктности заполнСния Ρ„ΠΎΡ€ΠΌΡ‹\r\n * @return {WebAccess.components.forms.FormBuilder} Π’Π΅ΠΊΡƒΡ‰ΠΈΠΉ конструктор Ρ„ΠΎΡ€ΠΌ.\r\n */\r\n addPick: function (name, values, opt_displayValues, opt_disabledValues, opt_editable, opt_validateRules) {\r\n var me = this;\r\n\r\n var id = name.toLowerCase();\r\n this._removeField(id);\r\n var other = {\r\n 'values': values,\r\n 'displayValues': opt_disabledValues,\r\n 'disabledValues': opt_disabledValues,\r\n 'editable': opt_editable\r\n };\r\n\r\n me._addItem(name, id, true, \"pick\", '', opt_validateRules, other);\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΏΠΎΠ»Π΅ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ ΠΏΠΎΠ»Π΅ Π²ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚\r\n * @since 5.0.0.7100\r\n * @private\r\n */\r\n _addItem: function (name, id, fromServerSide, type, html, validateRules, other) {\r\n this.items[id] = {\r\n 'id': id,\r\n 'name': name,\r\n 'fromServerSide': fromServerSide,\r\n \"type\": type,\r\n 'validateRules': validateRules,\r\n 'data': html\r\n };\r\n\r\n if (other) {\r\n $.extend(this.items[id], other);\r\n }\r\n },\r\n\r\n /**\r\n * Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΏΠΎΠ»Π΅ с ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΌ содСрТимым.\r\n *\r\n * @function WebAccess.components.forms.FormBuilder#addCustomField\r\n * @param {string} name Π‘Ρ‚Ρ€ΠΎΠΊΠ° Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ равная ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρƒ этого поля\r\n * @param {string} html HTML-Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠ°. Π”ΠΎΠ»ΠΆΠ½Π° ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ name\r\n * @param {WebAccess.components.forms.FormBuilder.validatorRules} [opt_validateRules] ΠŸΡ€Π°Π²ΠΈΠ»Π° коррСктности заполнСния Ρ„ΠΎΡ€ΠΌΡ‹\r\n * @return {WebAccess.components.forms.FormBuilder} OΠ±ΡŠΠ΅ΠΊΡ‚ класса FormBuilder.\r\n */\r\n addCustomField: function (name, html, opt_validateRules, opt_type) {\r\n var me = this;\r\n var id = name.toLowerCase();\r\n me._removeField(id);\r\n var type = (!!opt_type) ? opt_type : \"custom\";\r\n var item = me._wrapControl(id, html, opt_validateRules);\r\n\r\n me._addItem(name, id, false, type, item, opt_validateRules);\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠžΠ±Π΅Ρ€Π½ΡƒΡ‚ΡŒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ» Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ с Π½ΡƒΠΆΠ½Ρ‹ΠΌΠΈ отступами\r\n * Π‘Π»Π΅Π΄ΡƒΡŽΡ ΠΎΠ±Ρ‰Π΅ΠΌΡƒ ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡƒ эта функция Ρ‚ΠΎΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ асинхронной\r\n * ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹, Π½ΠΎ Π² силу слоТности Π΄Π°Π»ΡŒΠ½Π΅ΠΉΡˆΠΈΡ… Π΄ΠΎΡ€Π°Π±ΠΎΡ‚ΠΎΠΊ ΠΈ\r\n * ограничСнности Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ оставСтся Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ Π²ΠΈΠ΄Π΅\r\n * @todo пСрСнСсти Π½Π° ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹\r\n * @private\r\n * @since 5.0.0.7001\r\n */\r\n _wrapControl: function (id, control_html, opt_validateRules) {\r\n var label = L(id.toUpperCase());\r\n var html = \"
    \";\r\n html += format(\"\", {\r\n 'id': id,\r\n 'label': (label === '' ? '' : label + ':'),\r\n 'asterisk': this._asterisk(label, opt_validateRules)\r\n });\r\n\r\n html += '
    ' + control_html + '
    ';\r\n html += \"
    \";\r\n return html;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΡŒ.\r\n *\r\n * @function WebAccess.components.forms.FormBuilder#addCheckbox\r\n * @param {string} name Π‘Ρ‚Ρ€ΠΎΠΊΠ° Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ равная ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρƒ этого поля\r\n * @param {bool} opt_isChecked ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅Ρ‚, установлСн ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΡŒ ΠΈΠ»ΠΈ Π½Π΅Ρ‚\r\n * @param {WebAccess.components.forms.FormBuilder.validatorRules} [opt_validateRules] ΠŸΡ€Π°Π²ΠΈΠ»Π° коррСктности заполнСния Ρ„ΠΎΡ€ΠΌΡ‹\r\n * @return {WebAccess.components.forms.FormBuilder} OΠ±ΡŠΠ΅ΠΊΡ‚ класса FormBuilder.\r\n * @since 5.0.0.4301\r\n */\r\n addCheckbox: function (name, opt_isChecked, opt_validateRules) {\r\n var me = this;\r\n var id = name.toLowerCase();\r\n this._removeField(id);\r\n\r\n var label = L(name);\r\n var constructor = {\r\n 'template': 'formBuilder/checkBox.compile.html',\r\n 'params': {\r\n 'id': id,\r\n 'label': label,\r\n 'asterisk': me._asterisk(label, opt_validateRules),\r\n 'isChecked': opt_isChecked === true ? 'checked=\"checked\"' : '',\r\n 'orientation': this._orientaion\r\n },\r\n 'afterRender': function (html) {\r\n me._addItem(name, id, false, \"checkbox\", html, opt_validateRules);\r\n }\r\n };\r\n\r\n me._constructors.push(constructor);\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠΏΡ‹Ρ‚ΠΊΠ° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π° всСми Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹ΠΌΠΈ способами.\r\n * @private\r\n * @function WebAccess.components.forms.FormBuilder#_tryGetValue\r\n */\r\n _tryGetValue: function (item) {\r\n var value = this.getValue(item[\"id\"]) || this.getDisplayValue(item[\"id\"]);\r\n if (typeof value == 'undefined') value = this.getValue(item[\"id\"], true);\r\n if (typeof value == 'undefined') value = '';\r\n if (item.type === 'objectList') {\r\n if (value.links && value.links.length > 0)\r\n return 'undefined';\r\n else\r\n return '';\r\n }\r\n return value;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΏΡ€Π°Π²ΠΈΠ»Π° коррСктности Π²Π²ΠΎΠ΄Π° Π΄Π°Π½Π½Ρ‹Ρ….\r\n *\r\n * @function WebAccess.components.forms.FormBuilder#addValidationRule\r\n * @param {string} name НазваниС ΠΏΡ€Π°Π²ΠΈΠ»Π°\r\n * @param {function} handler Ѐункция ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ ΠΏΡ€Π°Π²ΠΈΠ»Π°\r\n * @param {string} opt_error_message Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ ΠΎΠ± ошибкС, Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‰Π΅ΠΉ ΠΏΡ€ΠΈ Π½Π΅Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΏΡ€Π°Π²ΠΈΠ»Π°\r\n *\r\n * @example\r\n * // К ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌ коррСктности Π²Π²ΠΎΠ΄Π° Π΄Π°Π½Π½Ρ‹Ρ… добавляСтся Π½ΠΎΠ²ΠΎΠ΅ Β«MoreThanTenΒ».\r\n * // ΠŸΡ€Π°Π²ΠΈΠ»ΠΎ ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Ρ„ΠΎΡ€ΠΌΠ° Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π° ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ, Ссли Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ поля большС 10.\r\n * var form = new WA.CMP.forms.FormBuilder('buldy');\r\n * form.addValidationRule('moreThanTen', function(value, display) {\r\n * console.log(arguments);\r\n * if (value < 10) return false;\r\n * return true;\r\n * }, L('ERROR'));\r\n *\r\n * var dialog = new WA.CMP.dialogs.BaseDialog();\r\n *\r\n * //ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΠ΅ΠΌ ΠΏΡ€Π°Π²ΠΈΠ»ΠΎ ΠΊ полю Β«YESΒ».\r\n * form.addInput(\"YES\", 100, {'isRequired': true, 'moreThanTen': true});\r\n * dialog.setHtml(form.render());\r\n * dialog.show();\r\n * dialog.ok = function() {\r\n * if (form.isValid() !== true) return false;\r\n *\r\n * }\r\n */\r\n addValidationRule: function (name, handler, opt_error_message) {\r\n this._validators[name] = {};\r\n this._validators[name].handler = handler;\r\n this._validators[name].error = opt_error_message;\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΡΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.\r\n * @function WebAccess.components.forms.FormBuilder#isValid\r\n * @return {boolean} True, Ссли значСния ΠΏΠΎΠ»Π΅ΠΉ Ρ„ΠΎΡ€ΠΌΡ‹ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹, ΠΈΠ½Π°Ρ‡Π΅ False.\r\n */\r\n isValid: function () {\r\n var me = this;\r\n this.invalidFields = [];\r\n\r\n $.each(me.items, function (key, item) {\r\n if (item[\"validateRules\"]) {\r\n var rules = item[\"validateRules\"];\r\n\r\n // Π—Π°Π±Ρ‹Π²Π°Π΅ΠΌ всС ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠ΅ ошибки ΠΏΠΎΠ»Π΅ΠΉ\r\n me._markAsValid(item);\r\n item.error = \"\";\r\n $('#' + item[\"id\"] + '_mt_error').html(\"\");\r\n\r\n // ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ, ΠΎΠ½Π° особая ΠΈ запускаСтся ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎ\r\n if (rules.isRequired) {\r\n if (me._validators['isRequired']['handler'](me._tryGetValue(item)) === false) {\r\n item.error = me._validators['isRequired']['error'] || L('ERROR');\r\n me._markAsInvalid(item);\r\n }\r\n }\r\n\r\n /**\r\n * ΠžΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ ΠΏΡ€Π°Π²ΠΈΠ»Π°\r\n */\r\n for (var ruleName in me._validators) {\r\n if (rules[ruleName] && !item.error && me._tryGetValue(item) !== '') {\r\n if (me._validators[ruleName]['handler'](me._tryGetValue(item), me.getDisplayValue(item.id), rules[ruleName]) === false) {\r\n item.error = me._validators[ruleName]['error'] || L('ERROR');\r\n me._markAsInvalid(item);\r\n }\r\n }\r\n }\r\n }\r\n });\r\n var prevColor;\r\n //ИзмСнСниС внСшнСго Π²ΠΈΠ΄Π° Π½Π΅Π²Π°Π»ΠΈΠ΄Π½Ρ‹Ρ… ΠΏΠΎΠ»Π΅ΠΉ\r\n $.each(this.invalidFields, function (index, item) {\r\n var jBorder = me._getFieldBorder(item).addClass(\"Req_Error\");\r\n if (!prevColor) prevColor = jBorder.css('backgroundColor');\r\n var highlight = \"#F6DADA\";\r\n\r\n jBorder.animate({ backgroundColor: highlight }, 300, function () {\r\n jBorder.animate({ backgroundColor: prevColor }, 300);\r\n });\r\n\r\n if (me.displayErrors == \"inline\") {\r\n var errorsHtml = format(\" ({0})\", item.error);\r\n $(format(\"#{0}_mt_error\", item[\"id\"])).html(errorsHtml);\r\n }\r\n\r\n if (me.displayErrors == \"tip\") {\r\n var el = jBorder;\r\n if (item.type == 'referenceSelect') el = el.siblings('.rs_SelItems_cont');\r\n el.qtip({\r\n style: { classes: \"ui-tooltip-light ui-tooltip-shadow ui-tooltip-rounded\" },\r\n content: { text: item.error },\r\n events: {\r\n render: function (event, api) {\r\n setTimeout(function () { el.qtip(\"destroy\"); }, 2000);\r\n }\r\n }\r\n });\r\n }\r\n\r\n });\r\n\r\n if (this.invalidFields.length > 0) return false;\r\n return true;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ ΠΏΠΎΠ»Π΅ Π½Π΅Π²Π°Π»ΠΈΠ΄Π½Ρ‹ΠΌ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎ, Π½ΡƒΠΆΠ½ΠΎ Π·Π½Π°Ρ‚ΡŒ ΠΊΠ°ΠΊ с Π½ΠΈΠΌ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ\r\n * Ρ‚ΡƒΡ‚ ΠΏΠ΅Ρ€Π΅Ρ‡ΠΈΠ»Π΅Π½Ρ‹ сСлСкторы, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‚ Π·Π° Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ элСмСнтов Π²Π²ΠΎΠ΄Π°\r\n * @function WebAccess.components.forms.FormBuilder#_getFieldBorder\r\n * @private\r\n * @todo: нСкрасиво, ΠΎΡ‚Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΡ‚ΡŒ\r\n * @param {object} item\r\n */\r\n _getFieldBorder: function (item) {\r\n var element = null;\r\n var selector = $(\"#\" + item[\"id\"]);\r\n switch (item[\"type\"]) {\r\n case \"custom\":\r\n element = selector.parents(\"span\").find(\".fakeInput\");\r\n break;\r\n case \"referenceSelect\":\r\n case \"multiSelect\":\r\n element = selector.parents(\"span\").find(\".fakeInput\");\r\n break;\r\n case \"objectList\":\r\n element = selector.find(\".ListRequisiteBorder\");\r\n break;\r\n case \"pick\":\r\n element = $(\"#\" + item[\"id\"] + \"inp\");\r\n break;\r\n default:\r\n element = selector;\r\n break;\r\n }\r\n return element;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠžΡ‚ΠΌΠ΅Ρ‚ΠΊΠ° элСмСнта Π½Π΅Π²Π°Π»ΠΈΠ΄Π½Ρ‹ΠΌ, Ρ‚ΠΎ Ρ‡Ρ‚ΠΎ Π΅Π³ΠΎ прСдставлСниС\r\n * Π±ΡƒΠ΄Π΅Ρ‚ крассным обрабатываСтся ΡƒΠΆΠ΅ Π½Π΅ здСсь\r\n * @private\r\n * @function WebAccess.components.forms.FormBuilder#_markAsInvalid\r\n * @param {object} item\r\n */\r\n _markAsInvalid: function (item) {\r\n var id = item[\"id\"];\r\n this.invalidFields.push(item);\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠžΡ‚ΠΌΠ΅Ρ‚ΠΊΠ° элСмСнта Π²Π°Π»ΠΈΠ΄Π½Ρ‹ΠΌ\r\n * @function WebAccess.components.forms.FormBuilder#_markAsValid\r\n * @private\r\n * @param {object} item\r\n */\r\n _markAsValid: function (item) {\r\n var id = item[\"id\"];\r\n this._getFieldBorder(item).removeClass(\"Req_Error\");\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π—Π°ΠΏΠΎΠ»Π΅Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… для отобраТСния.\r\n * @private\r\n * @since 5.0.0.7100\r\n */\r\n _fillItem: function (id, result, opt_validateRules) {\r\n var me = this;\r\n var html = result.html + '';\r\n me.items[id].data = me._wrapControl(id, html, opt_validateRules);\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /*\r\n * Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ адрСс для ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ Ρ„ΠΎΡ€ΠΌΡ‹.\r\n *\r\n * @function WebAccess.components.forms.FormBuilder#setAction\r\n * @param {string} url АдрСс для ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ Ρ„ΠΎΡ€ΠΌΡ‹\r\n * @return {WebAccess.components.forms.FormBuilder} Π’Π΅ΠΊΡƒΡ‰ΠΈΠΉ конструктор Ρ„ΠΎΡ€ΠΌ.\r\n * @since 5.0.0.7100\r\n */\r\n setAction: function (url) {\r\n var me = this;\r\n me.isHtmlFormEnabled = true;\r\n me._action = url;\r\n return me;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /*\r\n * ΠœΠ΅Ρ‚ΠΎΠ΄ для ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ Ρ„ΠΎΡ€ΠΌΡ‹.\r\n *\r\n * @function WebAccess.components.forms.FormBuilder#setMethod\r\n * @param {FORM_METHOD} form_method ΠœΠ΅Ρ‚ΠΎΠ΄ для ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ Ρ„ΠΎΡ€ΠΌΡ‹\r\n * @return {WebAccess.components.forms.FormBuilder} Π’Π΅ΠΊΡƒΡ‰ΠΈΠΉ конструктор Ρ„ΠΎΡ€ΠΌ.\r\n * @since 5.0.0.7100\r\n */\r\n setMethod: function (form_method) {\r\n var me = this;\r\n me.isHtmlFormEnabled = true;\r\n me._method = form_method;\r\n return me;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /*\r\n * Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ‚ΠΈΠΏ содСрТимого Ρ„ΠΎΡ€ΠΌΡ‹.\r\n *\r\n * @function WebAccess.components.forms.FormBuilder#setEnctype\r\n * @param {ENCTYPE} enctype Π’ΠΈΠΏ содСрТимого Ρ„ΠΎΡ€ΠΌΡ‹\r\n * @return {WebAccess.components.forms.FormBuilder} Π’Π΅ΠΊΡƒΡ‰ΠΈΠΉ конструктор Ρ„ΠΎΡ€ΠΌ.\r\n * @since 5.0.0.7100\r\n */\r\n setEnctype: function (enctype) {\r\n var me = this;\r\n me.isHtmlFormEnabled = true;\r\n me._enctype = enctype;\r\n return me;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /*\r\n * ΠžΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ.\r\n *\r\n * @function WebAccess.components.forms.FormBuilder#submit\r\n * @return {WebAccess.components.forms.FormBuilder} Π’Π΅ΠΊΡƒΡ‰ΠΈΠΉ конструктор Ρ„ΠΎΡ€ΠΌ.\r\n * @since 5.0.0.7100\r\n */\r\n submit: function () {\r\n $(\"#\" + this.id + \" form\").submit();\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π“Π΅Π½Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ.\r\n *\r\n * @function WebAccess.components.forms.FormBuilder#render\r\n * @return {string} БгСнСрированная HTML-Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠ°.\r\n */\r\n render: function () {\r\n var me = this;\r\n me._render(true);\r\n return me._html;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π“Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ асинхронного Π²Ρ‹Π·ΠΎΠ²Π°.\r\n *\r\n * @function WebAccess.components.forms.FormBuilder#renderAsync\r\n * @return {Deferred} Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ deferred-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.\r\n * @since 5.0.0.7100\r\n */\r\n renderAsync: function () {\r\n return this._render(false);\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * @private\r\n * @function WebAccess.components.forms.FormBuilder#_render\r\n * @return {Deferred} jquery deferred ΠΎΠ±ΡŠΠ΅ΠΊΡ‚\r\n * @since 5.0.0.7100\r\n */\r\n _render: function (sync) {\r\n var me = this;\r\n var jMasterDeferred = $.Deferred();\r\n me.clean();\r\n\r\n var deferreds = [];\r\n for (var i = 0; i < me._constructors.length; i++) {\r\n var c = me._constructors[i];\r\n deferreds.push(WA.templates.render(c.template, c.params, false, sync).done(c.afterRender));\r\n }\r\n\r\n //Когда всС поля Π³ΠΎΡ‚ΠΎΠ²Ρ‹, Π΄Π΅Π»Π°Π΅ΠΌ запрос\r\n $.when.apply(me, deferreds).then(function () {\r\n\r\n //TODO Π¨Π°ΠΌΠΎΠ² А.: Π― Π΄ΡƒΠΌΠ°ΡŽ стоит ΠΏΠ΅Ρ€Π΅Π΄Π΅Π»Π°Ρ‚ΡŒ Π»ΠΎΠ³ΠΈΠΊΡƒ Π½Π° Π½Π° Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ запросов, засовываниС Π² кэш, ΠΈ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΠ½Π³ ΠΈΠ· кэша.\r\n // На ΠΌΠΎΠΉ взгляд это Π±ΡƒΠ΄Π΅Ρ‚ Π±ΠΎΠ»Π΅Π΅ понятно ΠΈ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ дублирования Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ _fillItem.\r\n // БСйчас странно Ρ‡Ρ‚ΠΎ _preRender Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² этой части условия вызываСтся, Π° Π½Π΅ Π² ΠΎΠ±Ρ‰Π΅ΠΉ.\r\n\r\n me._preRender();\r\n var launchPostRender = function () {\r\n me._postRender(sync).done(function () {\r\n jMasterDeferred.resolve.apply(this, arguments);\r\n }).error(function () {\r\n jMasterDeferred.reject.apply(this, arguments);\r\n });\r\n };\r\n\r\n if (me._request.length) {\r\n var method = (sync) ? 'buildSync' : 'build';\r\n WA.SRV.requisite[method](me._request).done(function (result) {\r\n me._parseServiceResult(result);\r\n launchPostRender();\r\n });\r\n } else {\r\n launchPostRender();\r\n }\r\n });\r\n\r\n return jMasterDeferred;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π Π°Π·Π±ΠΎΡ€ ΠΎΡ‚Π²Π΅Ρ‚Π° сСрвиса\r\n * @private\r\n * @since 5.0.0.7100\r\n */\r\n _parseServiceResult: function (result) {\r\n var me = this;\r\n for (var id in me._request) {\r\n var request = me._request[id];\r\n var name = request.id;\r\n if (typeof request == 'function') continue;\r\n WA.cache.setObject('field.' + getHash(JSON.stringify(request)), result[name]);\r\n me._fillItem(name, result[name], request.validateRules);\r\n }\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π€ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ запроса\r\n * @private\r\n * @since 5.0.0.7100\r\n */\r\n _preRender: function () {\r\n var me = this;\r\n me._request = [];\r\n\r\n /**\r\n * Если Π½Π΅ ΠΌΠΎΠΆΠ΅ΠΌ Π²Π·ΡΡ‚ΡŒ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ ΠΈΠ· кСша ΠΏΠΎ Ρ…Π΅ΡˆΡƒ,\r\n * Ρ‚ΠΎ добавляСм Π΅Π³ΠΎ Π² запрос\r\n */\r\n for (var i in me.items) {\r\n var request = this.items[i];\r\n if (request[\"fromServerSide\"]) {\r\n var name = request.id;\r\n var cached = WA.cache.getObject('field.' + getHash(JSON.stringify(request)));\r\n if (!cached) {\r\n me._request.push(this.items[i]);\r\n } else {\r\n me._fillItem(name, cached, request.validateRules);\r\n }\r\n }\r\n }\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π€ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΈ\r\n * @private\r\n * @since 5.0.0.7100\r\n */\r\n _postRender: function (sync) {\r\n var me = this;\r\n\r\n var content = '';\r\n for (var id in this.items) {\r\n content += this.items[id][\"data\"];\r\n }\r\n\r\n var t = WA.templates.render('formBuilder/formLayout.compile.html', {\r\n 'id': me.id,\r\n 'action': me._action,\r\n 'method': me._method,\r\n 'enctype': me._enctype,\r\n 'orientation': me._orientaion,\r\n 'isHorizontal': me._orientaion == 'horizontal',\r\n 'content': content,\r\n 'isHtmlFormEnabled': me.isHtmlFormEnabled\r\n }, false, sync).done(function (html) {\r\n me._html = html;\r\n });\r\n\r\n return t;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠžΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ.\r\n *\r\n * @function WebAccess.components.forms.FormBuilder#clean\r\n * @return {WebAccess.components.forms.FormBuilder} OΠ±ΡŠΠ΅ΠΊΡ‚ класса FormBuilder.\r\n */\r\n clean: function () {\r\n $(\"#\" + this.id).remove();\r\n this._html = '';\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π”Π΅Π»Π°Π΅Ρ‚ Π½Π΅Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ» Ρ„ΠΎΡ€ΠΌΡ‹.\r\n * @private\r\n * @function WebAccess.components.forms.FormBuilder#disable\r\n * @param {string} name Π‘Ρ‚Ρ€ΠΎΠΊΠ° Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ равная ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρƒ этого поля\r\n * @return {WebAccess.components.forms.FormBuilder} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° FormBuilder.\r\n * @since 5.3.0.1002\r\n */\r\n disable: function (name) {\r\n name = name.toLowerCase();\r\n var jField = $(\"#\" + name);\r\n\r\n // TODO Π΄ΠΎΠ΄Π΅Π»Π°Ρ‚ΡŒ для ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ….\r\n\r\n var type = \"\";\r\n if (name in this.items) type = this.items[name].type;\r\n else type = \"undefinied\";\r\n\r\n switch (type) {\r\n case 'radio':\r\n //var jRadios = jField.find('input[name=\"' + name + '\"]');\r\n //jRadios.filter('[value=\"' + value + '\"]').prop('checked', true);\r\n break;\r\n case \"referenceSelect\":\r\n case \"multiSelect\":\r\n //WA.CMP.wrappers.form.requisites.BaseObjectSelectRequisite.setControlValue(jField, value, displayValue);\r\n break;\r\n case \"pick\":\r\n //TODO Π·Π°ΠΊΡΡˆΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π² классС.\r\n var pickWrapper = new WA.CMP.wrappers.form.requisites.Pick(name, name);\r\n pickWrapper.disable();\r\n break;\r\n case \"undefinied\":\r\n break;\r\n case \"text\":\r\n //jField = $(\"#\" + name + \"_label\");\r\n //jField.html(L(value));\r\n break;\r\n case \"textFrame\":\r\n //jField.html(value);\r\n break;\r\n case \"objectList\":\r\n //var list = ListRequisite(name);\r\n //var links = [];\r\n\r\n //for (var i in value) {\r\n // links.push({\r\n // 'ID': value[i].id,\r\n // 'Kind': objectTypeToString(value[i].type),\r\n // 'referenceName': value[i].CompCode\r\n // });\r\n //}\r\n //list.Values = links;\r\n //list.UpdateList();\r\n break;\r\n case 'date':\r\n //jField.val(value);\r\n break;\r\n case 'checkbox':\r\n //if (!!value) jField.attr('checked', 'checked');\r\n //else jField.removeAttr('checked');\r\n break;\r\n default:\r\n //jField.val(value);\r\n break;\r\n }\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * БСриализация Ρ„ΠΎΡ€ΠΌΡ‹\r\n *\r\n * @since 5.0.0.7300\r\n * @ignore\r\n * @function WebAccess.components.forms.FormBuilder#serialize\r\n * @return {WebAccess.components.forms.FormBuilder}\r\n */\r\n serialize: function (type) {\r\n\r\n switch (type) {\r\n case SERIALIZATION.FULL:\r\n return this._fullSerialization();\r\n break;\r\n case SERIALIZATION.LITE:\r\n default:\r\n return this._defaultSerialization();\r\n break;\r\n }\r\n\r\n\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n _defaultSerialization: function () {\r\n var form = {\r\n source: 'FormBuilder',\r\n requisites: {}\r\n };\r\n\r\n var name;\r\n for (name in this.items) {\r\n if ($.isPlainObject(this.items[name])) {\r\n try {\r\n if (this.items[name].type == 'text') continue;\r\n form.requisites[name] = [this.getValue(name), this.getDisplayValue(name)];\r\n } catch (e) { }\r\n }\r\n }\r\n return form;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n //TODO: ΠΠ°ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ с FormDialog\r\n _fullSerialization: function () {\r\n var me = this;\r\n var result = {\r\n ID: me.id,\r\n Actions: null,\r\n Caption: null,\r\n FType: 0,\r\n FormJS: null\r\n };\r\n var formData = {\r\n source: 'FormBuilder',\r\n obj: null,\r\n isNew: false,\r\n isreadonly: false,\r\n tab: null,\r\n view: null\r\n };\r\n\r\n result.FormData = $.toJSON(formdata);\r\n\r\n //TODO: Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ\r\n var reqTypes = {\r\n 'input': 'string',\r\n 'referenceSelect': 'reference',\r\n 'multiSelect': 'reference',\r\n 'date': 'date',\r\n 'pick': 'pick'\r\n };\r\n\r\n var keys = _(this.items).pluck('name');\r\n var controls = _(this.items).pluck('id');\r\n var values = _(this.items).map(function (req) {\r\n return {\r\n value: me.getValue(req.name),\r\n displayValue: me.getDisplayValue(req.name),\r\n isVisible: true,\r\n isRequired: req.validateRules && req.validateRules.isRequired,\r\n type: reqTypes[req.type],\r\n controls: [req.id]\r\n }\r\n });\r\n\r\n data.req = _.object(keys, values);\r\n data.reqUD_inv = _(controls, keys);\r\n return result;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ДСсСриализация Ρ„ΠΎΡ€ΠΌΡ‹\r\n * @since 5.0.0.7300\r\n * @ignore\r\n * @function WebAccess.components.forms.FormBuilder#deserialize\r\n * @return {WebAccess.components.forms.FormBuilder}\r\n */\r\n deserialize: function (form) {\r\n for (name in form.requisites) {\r\n if ($.isPlainObject(this.items[name])) {\r\n try {\r\n if (this.items[name].type == 'text') continue;\r\n if (!form.requisites[name].value) continue;\r\n this.setValue(name, form.requisites[name][0]);\r\n this.setDisplayValue(name.requisites, form[name][1]);\r\n } catch (e) { }\r\n }\r\n }\r\n return this;\r\n }\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n });\r\n\r\n global.FormBuilder = FormBuilder;\r\n})(window.WebAccess.components.forms);","\"use strict\";\r\n(function (global) {\r\n global._validators = {\r\n\r\n 'isRequired': {\r\n 'handler': function (value, display) {\r\n if (!$.trim(value)) return false;\r\n return true;\r\n },\r\n 'error': L(\"ERR_THIS_FIELD_IS_REQUIRED\")\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n 'isDate': {\r\n 'handler': function (value, display) {\r\n if (!ParseDateTime(value)) return false;\r\n return true;\r\n },\r\n 'error': L(\"ERR_THIS_FIELD_MUST_CONTAIN_DATE\")\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n 'isDigit': {\r\n 'handler': function (value, display) {\r\n // Если Π²Π²Π΅Π΄Π΅Π½ΠΎ число.\r\n if (value.search(/^[+-]?\\d+(((\\.\\d+)?)|((\\,\\d+)?))$/g) == -1) {\r\n return false;\r\n }\r\n return true;\r\n },\r\n 'error': L(\"ERR_THIS_FIELD_MUST_CONTAIN_DIGITS_ONLY\")\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n 'isNumber': {\r\n 'handler': function (value, display) {\r\n if (isNaN(value)) return false;\r\n return true;\r\n },\r\n 'error': L(\"ERR_THIS_FIELD_MUST_CONTAIN_NUMBERS_ONLY\")\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n 'isEmail': {\r\n 'handler': function (value, display) {\r\n if (!validateEmail(value)) return false;\r\n return true;\r\n },\r\n 'error': L(\"ERR_THIS_FIELD_MUST_CONTAIN_EMAIL_ADRESS_ONLY\")\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n 'min': {\r\n 'handler': function (value, display, ruleValue) {\r\n if (value < ruleValue) return false;\r\n return true;\r\n },\r\n 'error': L(\"ERR_THIS_FIELD_REQUIRE_A_GIVEN_MINIMUM\")\r\n },\r\n\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n 'max': {\r\n 'handler': function (value, display, ruleValue) {\r\n if (value > ruleValue) return false;\r\n return true;\r\n },\r\n 'error': L(\"ERR_THIS_FIELD_REQUIRE_A_GIVEN_MAXIMUM\")\r\n }\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n };\r\n\r\n var validateEmail = function (email) {\r\n var re = /^(([^<>()[\\]\\\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/;\r\n return re.test(email);\r\n };\r\n\r\n})(window.WebAccess.components.forms.FormBuilder.prototype);","'use strict';\r\n\r\n(function (global) {\r\n\r\n // ΠŸΡƒΡ‚ΡŒ ΠΊ ΡˆΠ°Π±Π»ΠΎΠ½Ρƒ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° с Ρ‚ΠΈΠΏΠΎΠΌ \"Бсылка Π½Π° Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚\".\r\n const TEMPLATE = '/components/documentRequisite.compile.html';\r\n\r\n /**\r\n * Π Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Ρ‚ΠΈΠΏΠ° «Бсылка Π½Π° Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Β».\r\n *\r\n * @since 5.5.0.1000\r\n * @class WebAccess.components.forms.requisites.DocumentSelect\r\n * @extends BaseObject\r\n * @param {string|WebAccess.components.forms.requisites.DocumentSelect.settings} id Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ элСмСнта. ЯвляСтся ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ\r\n * @param {string} [opt_toolTip] Π’ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π°Ρ подсказка\r\n * @param {string} [opt_searchReqName] НаимСнованиС ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠ³ΠΎ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°\r\n\r\n * @property {string} id Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ элСмСнта\r\n * @property {string} toolTip Π’ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π°Ρ подсказка\r\n * @property {string} searchReqName НаимСнованиС ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠ³ΠΎ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°\r\n * @property {string} html HTML-Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠ° элСмСнта\r\n *\r\n * @fires render вызываСтся послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ HTML-Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠ° собрана ΠΈ Π³ΠΎΡ‚ΠΎΠ²Π° ΠΊ использованию.\r\n * @throws ERR_NOT_ALL_REQUIRED_ARGUMENTS_HAVE_BEEN_SUPLIED - Π·Π°Π΄Π°Π½Ρ‹ Π½Π΅ всС ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹.\r\n * @example\r\n * var field = new WebAccess.components.forms.requisites.DocumentSelect(\"employe_select\", \"РАБ\").render();\r\n * WebAccess.current.sideBar.tabs.FldTree.setHtml(field);\r\n */\r\n\r\n /**\r\n * @typedef {object} WebAccess.components.forms.requisites.DocumentSelect.settings\r\n * @property {string} id Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Ρ„ΠΎΡ€ΠΌΡ‹ справочника\r\n * @property {string} toolTip Π’ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π°Ρ подсказка\r\n * @property {string} searchReqName НаимСнованиС ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠ³ΠΎ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°\r\n * @property {string} html HTML-Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠ° элСмСнта\r\n */\r\n const DocumentSelect = BaseObject.extend({\r\n\r\n /**\r\n * Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ.\r\n *\r\n * @method WebAccess.components.forms.requisites.DocumentSelect#init\r\n * @param {string} id Π˜Π” Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°.\r\n * @param {string} [toolTip=''] ВСкст подсказки.\r\n * @param {string} [searchReqName='ISBEDocName'] Имя Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ осущСствляСтся поиск.\r\n */\r\n init(id, toolTip = '', searchReqName = 'ISBEDocName') {\r\n this._super(id);\r\n this.className = 'DocumentSelect';\r\n\r\n if (!id) return;\r\n\r\n if ($.isPlainObject(id)) {\r\n $.extend(this, id);\r\n } else {\r\n this.id = id;\r\n this.toolTip = toolTip;\r\n this.searchReqName = searchReqName;\r\n }\r\n },\r\n\r\n /**\r\n * Π“Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ HTML-Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΡƒ\r\n *\r\n * @method WebAccess.components.forms.requisites.DocumentSelect#render\r\n * @return {string} БгСнСрированная HTML-Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠ°.\r\n */\r\n render() {\r\n let result = '';\r\n let requestMap = {\r\n 'ID': this.id.toLowerCase(),\r\n 'ToolTip': this.toolTip,\r\n 'SearchReqName': this.searchReqName,\r\n };\r\n\r\n CallServiceSync('/Requisite.asmx/DocumentSelect', requestMap, (response) => {\r\n if (response.Success) {\r\n result = response.Result.html;\r\n }\r\n else {\r\n ShowMessage(response.Result);\r\n }\r\n });\r\n\r\n this.fire('render');\r\n this.html = result;\r\n return result;\r\n },\r\n\r\n /**\r\n * Асинхронно Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ HTML-Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΡƒ\r\n *\r\n * @method WebAccess.components.forms.requisites.DocumentSelect#renderAsync\r\n * @param {object} data МодСль для отрисовки Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°.\r\n * @return {string} БгСнСрированная HTML-Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠ°.\r\n */\r\n renderAsync(data) {\r\n //TODO: Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ hogan шаблон, Π° для Π΅Π³ΠΎ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΌΠ½ΠΎΠ³ΠΎ Π΄Π°Π½Π½Ρ‹Ρ…,\r\n //Π² Ρ‚ΠΎΠΌ числС частично Π½ΡƒΠΆΠ½Ρ‹ Π΄Π°Π½Π½Ρ‹Π΅ с сСрвСрной стороны. Π’ Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ эти\r\n //Π΄Π°Π½Π½Ρ‹Π΅ научится Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π»ΠΈΠ±ΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ. БСйчас ΠΏΠΎΠΊΠ° этот ΠΌΠ΅Ρ‚ΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ\r\n //Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π²ΠΈΡ‚ΡŒ всС Π΄Π°Π½Π½Ρ‹Π΅ явно. Π’ Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ render(Ρ‚ΠΎΡ‚ Ρ‡Ρ‚ΠΎ Π²Ρ‹ΡˆΠ΅) Π½ΡƒΠΆΠ½ΠΎ\r\n //Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π΄Π΅Π»Π°Ρ‚ΡŒ Π½Π° Π½Π΅Π³ΠΎ, Π½ΠΎ с Ρ„Π»Π°Π³Π°ΠΌΠΈ синхронного Π²Ρ‹Π·ΠΎΠ²Π°.\r\n if (!data) {\r\n WA.raise('NOT_IMPLEMENTED_EXCEPTION');\r\n }\r\n\r\n let result = $.Deferred();\r\n\r\n WA.templates.render(TEMPLATE, data).done((html) => {\r\n this.html = html;\r\n result.resolve(this.html);\r\n this.fire('render');\r\n });\r\n\r\n return result;\r\n }\r\n });\r\n\r\n global.DocumentSelect = DocumentSelect;\r\n})(window.WebAccess.components.forms.requisites);","\"use strict\";\r\n/** \r\n* ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²Π΅Π½Ρ‹ΠΉ Π²Ρ‹Π±ΠΎΡ€ ΠΈΠ· справочника\r\n* \r\n* @since 5.0.0.4106 \r\n* @class WebAccess.components.forms.requisites.MultiSelect\r\n* @param {string|WebAccess.components.forms.requisites.MultiSelect.multiSelectSettings} id Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ элСмСнта. ЯвляСтся ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ\r\n* @param {string} referenceNames ΠšΠΎΠ΄Ρ‹ справочников, Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ символом \";\"\r\n* @param {string} [opt_toolTip] Π’Ρ‹ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π°Ρ подсказка\r\n* @param {string} [opt_searchReqName] НазваниС ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠ³ΠΎ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°\r\n* @param {string} [opt_filter] Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Ρ„ΠΈΠ»ΡŒΡ€Π°Ρ†ΠΈΠΈ элСмСнтов Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ справочника\r\n* @param {boolean} [opt_isMultiSelect] ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ Π²Ρ‹Π±ΠΎΡ€Π° ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… записСй ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… справочников Π² Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅. Если установлСно Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ False, Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½Ρƒ запись. Π˜Π½Π°Ρ‡Π΅ доступСн Π²Ρ‹Π±ΠΎΡ€ нСсколько записСй ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… справочников\r\n\r\n* @property {string} id Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ элСмСнта. ЯвляСтся ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ\r\n* @property {string} referenceNames ΠšΠΎΠ΄Ρ‹ справочников, Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ символом \";\"\r\n* @property {string} toolTip Π’ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π°Ρ подсказка\r\n* @property {string} searchReqName НазваниС ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠ³ΠΎ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°\r\n* @property {string} filter Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ элСмСнтов Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ справочника\r\n* @property {boolean} isMultiSelect ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ Π²Ρ‹Π±ΠΎΡ€Π° ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… записСй ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… справочников Π² Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅. Если установлСно Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ False, Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½Ρƒ запись. Π˜Π½Π°Ρ‡Π΅ доступСн Π²Ρ‹Π±ΠΎΡ€ нСсколько записСй ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… справочников\r\n* @property {string} html HTML-Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠ° элСмСнта\r\n*\r\n* @fires render вызываСтся послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ HTML-Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠ° собрана ΠΈ Π³ΠΎΡ‚ΠΎΠ²Π° ΠΊ использованию.\r\n* @throws ERR_NOT_ALL_REQUIRED_ARGUMENTS_HAVE_BEEN_SUPLIED - Π·Π°Π΄Π°Π½Ρ‹ Π½Π΅ всС ΠΎΠ±ΡΠ·Π°Ρ‚Π°Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹. \r\n*/\r\n\r\n/** \r\n* ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ мноТСствСнного Π²Ρ‹Π±ΠΎΡ€Π° ΠΈΠ· справочника.\r\n* @typedef {object} WebAccess.components.forms.requisites.MultiSelect.multiSelectSettings\r\n* @property {string} id Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ элСмСнта. ЯвляСтся ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ\r\n* @property {string} referenceNames ΠšΠΎΠ΄Ρ‹ справочников, Ρ€Π°Π·Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ символом \";\"\r\n* @property {string} toolTip Π’ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π°Ρ подсказка\r\n* @property {string} searchReqName НазваниС ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠ³ΠΎ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°\r\n* @property {string} filter Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ элСмСнтов Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ справочника\r\n* @property {boolean} isMultiSelect ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ Π²Ρ‹Π±ΠΎΡ€Π° ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… записСй ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… справочников Π² Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅. Если установлСно Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ False, Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½Ρƒ запись. Π˜Π½Π°Ρ‡Π΅ доступСн Π²Ρ‹Π±ΠΎΡ€ нСсколько записСй ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… справочников\r\n* @property {string} html HTML-Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠ° элСмСнта\r\n*/\r\n//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n(function (global) {\r\n\r\n var MultiSelect = BaseObject.extend({\r\n init: function (id, referenceNames, opt_toolTip, opt_searchReqName, opt_filter, opt_isMultiSelect) {\r\n\r\n if (!id) WA.raise(\"ERR_NOT_ALL_REQUIRED_ARGUMENTS_HAVE_BEEN_SUPLIED\");\r\n\r\n this._super(id);\r\n if ($.isPlainObject(id)) {\r\n $.extend(this, id);\r\n } else {\r\n if (!referenceNames) WA.raise(\"ERR_NOT_ALL_REQUIRED_ARGUMENTS_HAVE_BEEN_SUPLIED\");\r\n this.id = id;\r\n this.referenceNames = !!referenceNames ? referenceNames : \"ΠŸΠžΠ”\";\r\n this.toolTip = !!opt_toolTip ? opt_toolTip : \"\";\r\n this.searchReqName = !!opt_searchReqName ? opt_searchReqName : \"НаимСнованиС\";\r\n this.filter = !!opt_filter ? opt_filter : \"\";\r\n this.isMultiSelect = !!opt_isMultiSelect ? opt_isMultiSelect : false;\r\n }\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n className: \"MultiSelect\",\r\n id: \"\",\r\n referenceNames: \"\",\r\n toolTip: \"\",\r\n searchReqName: \"НаимСнованиС\",\r\n filter: \"\",\r\n isMultiSelect: false,\r\n html: \"\",\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π‘ΠΎΠ±Ρ€Π°Ρ‚ΡŒ HTML-Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΡƒ с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ….\r\n * @function WebAccess.components.forms.requisites.MultiSelect#render\r\n * @return {string} БгСнСрированная HTML-Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠ°\r\n */\r\n render: function () {\r\n var result = \"\";\r\n var requestMap = {\r\n \"ID\": this.id.toLowerCase(),\r\n \"RefNames\": this.referenceNames,\r\n \"ToolTip\": this.toolTip,\r\n \"SearchReqName\": this.searchReqName,\r\n \"Filter\": this.filter,\r\n \"IsMultiSelect\": this.isMultiSelect\r\n };\r\n\r\n CallServiceSync(\"/Requisite.asmx/MultiSelectControl\", requestMap, function (response) {\r\n if (response.Success) {\r\n result = response.Result.html;\r\n }\r\n else ShowMessage(response.Result);\r\n });\r\n\r\n this.fire(\"render\");\r\n this.html = result;\r\n return result;\r\n }\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n });\r\n\r\n global.MultiSelect = MultiSelect;\r\n})(window.WebAccess.components.forms.requisites);","\"use strict\";\r\n(function (global) {\r\n var TEMPLATE = '/components/pick.compile.html';\r\n\r\n/** \r\n* Π Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ Ρ‚ΠΈΠΏΠ° Β«ΠŸΡ€ΠΈΠ·Π½Π°ΠΊΒ».\r\n* ΠŸΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для хранСния Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌΡ‹Ρ… ΠΈΠ· списка Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. ΠœΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ прСдставлСн Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ для рСдактирования.\r\n* \r\n* @since 5.0.0.4000\r\n* @class WebAccess.components.forms.requisites.Pick\r\n* @param {string|WebAccess.components.forms.requisites.Pick.pickSettings} id Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ элСмСнта. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ являСтся ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ\r\n* @param {dict} values Π‘Π»ΠΎΠ²Π°Ρ€ΡŒ, состоящий ΠΈΠ· ΠΏΠ°Ρ€: ΠΊΠ»ΡŽΡ‡ ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ элСмСнта списка\r\n* @param {dict} [opt_displayValues] Бписок элСмСнтов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ Π² спискС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. НапримСр, ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ использован для дополнСния элСмСнтов списка ΠΈΠΊΠΎΠ½ΠΊΠ°ΠΌΠΈ\r\n* @param {array} [opt_disabledValues] Бписок элСмСнтов, нСдоступных для Π²Ρ‹Π±ΠΎΡ€Π°\r\n* @param {boolean} [opt_editable] ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ список Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ\r\n\r\n* @property {string} id Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°\r\n* @property {dict} values Π‘Π»ΠΎΠ²Π°Ρ€ΡŒ, состоящий ΠΈΠ· ΠΏΠ°Ρ€: ΠΊΠ»ΡŽΡ‡ ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ элСмСнта списка\r\n* @property {dict} opt_displayValues Бписок элСмСнтов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ Π² спискС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ\r\n* @property {array} opt_disabledValues Бписок элСмСнтов, Π½Π΅ доступных для Π²Ρ‹Π±ΠΎΡ€Π°\r\n* @property {boolean} [opt_editable] ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ список Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² спискС ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ\r\n* @throws ERR_NOT_ALL_REQUIRED_ARGUMENTS_HAVE_BEEN_SUPLIED - Π·Π°Π΄Π°Π½Ρ‹ Π½Π΅ всС ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹.\r\n* @fires render вызываСтся послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ HTML-Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠ° собрана ΠΈ Π³ΠΎΡ‚ΠΎΠ²Π° ΠΊ использованию.\r\n* @example\r\n* var vlues = {\"1\": \"ΠŸΡƒΠ½ΠΊΡ‚ списка 1\", \"2\":\"ΠŸΡƒΠ½ΠΊΡ‚ списка 2\"};\r\n* var field = new WebAccess.components.forms.requisites.Pick(\"dropDown1\", values);\r\n* WebAccess.current.sideBar.tabs.FldTree.setHtml(field.render());\r\n*/\r\n\r\n/**\r\n* Настройки Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° Ρ‚ΠΈΠΏΠ° Β«ΠŸΡ€ΠΈΠ·Π½Π°ΠΊΒ».\r\n* @typedef {object} WebAccess.components.forms.requisites.Pick.pickSettings\r\n* @property {string} id Π£Π½ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΉ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ элСмСнта\r\n* @property {dict} values Π‘Π»ΠΎΠ²Π°Ρ€ΡŒ, состоящий ΠΈΠ· ΠΊΠ»ΡŽΡ‡Π΅ΠΉ элСмСнтов списка ΠΈ ΠΈΡ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ\r\n* @property {dict} opt_displayValues Бписок элСмСнтов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‚ΡΡ Π² спискС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ \r\n* @property {array} opt_disabledValues Бписок элСмСнтов, нСдоступных для Π²Ρ‹Π±ΠΎΡ€Π°\r\n* @property {boolean} [opt_editable] ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ список Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΌΠΎΠΆΠ½ΠΎ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ\r\n*/\r\n\r\n\r\n\r\n var Pick = BaseObject.extend({\r\n init: function (id, values, opt_displayValues, opt_disabledValues, opt_editable) {\r\n if (!id) return;\r\n\r\n this._super(id);\r\n if ($.isPlainObject(id)) {\r\n $.extend(this, id);\r\n } else { \r\n if (!values) WA.raise(\"ERR_NOT_ALL_REQUIRED_ARGUMENTS_HAVE_BEEN_SUPLIED\");\r\n this.id = id; \r\n this.values = values;\r\n\r\n this.displayValues = !!opt_displayValues ? opt_displayValues : {};\r\n this.disabledValues = !!opt_disabledValues ? opt_disabledValues : [];\r\n this.editable = !!opt_editable; \r\n }\r\n\r\n if (this.editable === true) {\r\n this.values[\"-1\"] = \"\";\r\n }\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n className: \"Pick\", \r\n id: \"\",\r\n values: {\"0\": L(\"EMPTY\")},\r\n displayValues: {},\r\n disabledValues: [],\r\n editable: false,\r\n\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n \r\n /**\r\n * Π‘ΠΎΠ±Ρ€Π°Ρ‚ΡŒ HTML-Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΡƒ с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²\r\n * @function WebAccess.components.forms.requisites.Pick#render\r\n * @return {string} БгСнСрированная HTML-Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠ°\r\n */\r\n render: function() { \r\n var result = \"\";\r\n\r\n var requestMap = {\r\n \"ID\": this.id.toLowerCase(),\r\n \"Values\": this.values,\r\n \"DisplayValues\": this.displayValues, \r\n \"DisabledValues\": this.disabledValues,\r\n \"Editable\": this.editable\r\n };\r\n \r\n CallServiceSync(\"/Requisite.asmx/Pick\", requestMap, function (response) {\r\n if (response.Success) {\r\n result = response.Result.html;\r\n }\r\n else ShowMessage(response.Result);\r\n });\r\n\r\n this.fire(\"render\");\r\n this.html = result;\r\n return result;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n\r\n /**\r\n * Асинхронно Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ HTML-Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΡƒ\r\n * @function WebAccess.components.forms.requisites.Pick#renderAsync\r\n * @return {string} БгСнСрированная HTML-Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠ°. \r\n * @since 5.2.0.1200\r\n */\r\n renderAsync: function (opt_data) {\r\n //TODO: Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ hogan шаблон, Π° для Π΅Π³ΠΎ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΌΠ½ΠΎΠ³ΠΎ Π΄Π°Π½Π½Ρ‹Ρ…,\r\n //Π² Ρ‚ΠΎΠΌ числС частично Π½ΡƒΠΆΠ½Ρ‹ Π΄Π°Π½Π½Ρ‹Π΅ с сСрвСрной стороны. Π’ Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ эти\r\n //Π΄Π°Π½Π½Ρ‹Π΅ научится Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π»ΠΈΠ±ΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ. БСйчас ΠΏΠΎΠΊΠ° этот ΠΌΠ΅Ρ‚ΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ\r\n //Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π²ΠΈΡ‚ΡŒ всС Π΄Π°Π½Π½Ρ‹Π΅ явно. Π’ Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ render(Ρ‚ΠΎΡ‚ Ρ‡Ρ‚ΠΎ Π²Ρ‹ΡˆΠ΅) Π½ΡƒΠΆΠ½ΠΎ \r\n //Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π΄Π΅Π»Π°Ρ‚ΡŒ Π½Π° Π½Π΅Π³ΠΎ, Π½ΠΎ с Ρ„Π»Π°Π³Π°ΠΌΠΈ синхронного Π²Ρ‹Π·ΠΎΠ²Π°.\r\n var me = this;\r\n var data = opt_data || me.getData();\r\n var result = $.Deferred();\r\n if (!opt_data) WA.raise('NOT_IMPLEMENTED_EXCEPTION')\r\n\r\n WA.templates.render(TEMPLATE, opt_data).done(function (html) {\r\n me.html = html;\r\n result.resolve(me.html);\r\n me.fire(\"render\");\r\n });\r\n\r\n return result;\r\n }\r\n });\r\n \r\n global.Pick = Pick;\r\n})(window.WebAccess.components.forms.requisites);","\"use strict\";\r\n(function (global) {\r\n\r\n var TEMPLATE = '/components/referenceRequisite.compile.html';\r\n\r\n/** \r\n* Π Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ Ρ‚ΠΈΠΏΠ° Β«Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊΒ».\r\n* \r\n* @since 5.0.0.4000\r\n* @class WebAccess.components.forms.requisites.ReferenceSelect\r\n* @param {string|WebAccess.components.forms.requisites.ReferenceSelect.settings} id Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ элСмСнта. ЯвляСтся ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ\r\n* @param {string} referenceCode Код справочника\r\n* @param {string} [opt_toolTip] Π’ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π°Ρ подсказка\r\n* @param {string} [opt_searchReqName] НазваниС ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠ³ΠΎ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°\r\n* @param {string} [opt_filter] Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ элСмСнтов Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ справочника\r\n\r\n* @property {string} id Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ элСмСнта\r\n* @property {string} referenceCode Код справочника\r\n* @property {string} toolTip Π’ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π°Ρ подсказка\r\n* @property {string} searchReqName НазваниС ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠ³ΠΎ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°\r\n* @property {string} filter Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ элСмСнтов Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ справочника\r\n* @property {string} html HTML-Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠ° элСмСнта\r\n*\r\n* @fires render вызываСтся послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ HTML-Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠ° собрана ΠΈ Π³ΠΎΡ‚ΠΎΠ²Π° ΠΊ использованию.\r\n* @throws ERR_NOT_ALL_REQUIRED_ARGUMENTS_HAVE_BEEN_SUPLIED - Π·Π°Π΄Π°Π½Ρ‹ Π½Π΅ всС ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹.\r\n* @example\r\n* var field = new WebAccess.components.forms.requisites.ReferenceSelect(\"employe_select\", \"РАБ\").render();\r\n* WebAccess.current.sideBar.tabs.FldTree.setHtml(field);\r\n*/\r\n\r\n/** \r\n* @typedef {object} WebAccess.components.forms.requisites.ReferenceSelect.settings\r\n* @property {string} id Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Ρ„ΠΎΡ€ΠΌΡ‹ справочника\r\n* @property {string} referenceCode Код справочника\r\n* @property {string} toolTip Π’ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π°Ρ подсказка\r\n* @property {string} searchReqName НаимСнованиС ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠ³ΠΎ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°\r\n* @property {string} filter Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Ρ„ΠΈΠ»ΡŒΡ€Π°Ρ†ΠΈΠΈ элСмСнтов Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ справочника\r\n* @property {string} html HTML-Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠ° элСмСнта\r\n*/\r\n//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n\r\n \r\n\r\n var ReferenceSelect = BaseObject.extend({\r\n init: function (id, referenceCode, opt_toolTip, opt_searchReqName, opt_filter) {\r\n this._super(id);\r\n if (!id) return;\r\n\r\n if ($.isPlainObject(id)) {\r\n $.extend(this, id);\r\n } else { \r\n if (!referenceCode) WA.raise(\"ERR_NOT_ALL_REQUIRED_ARGUMENTS_HAVE_BEEN_SUPLIED\"); \r\n this.id = id;\r\n this.referenceCode = !!referenceCode ? referenceCode : \"ΠŸΠžΠ”\"; \r\n this.toolTip = !!opt_toolTip ? opt_toolTip : \"\";\r\n this.searchReqName = !!opt_searchReqName ? opt_searchReqName : \"НаимСнованиС\";\r\n this.filter = !!opt_filter ? opt_filter : \"\";\r\n }\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n className: \"ReferenceSelect\", \r\n id: \"\",\r\n referenceCode: \"\", \r\n toolTip: \"\",\r\n searchReqName: \"НаимСнованиС\",\r\n filter: \"\",\r\n html: \"\",\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n \r\n /**\r\n * Π“Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ HTML-Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΡƒ\r\n * @function WebAccess.components.forms.requisites.ReferenceSelect#render\r\n * @return {string} БгСнСрированная HTML-Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠ°\r\n */\r\n render: function() { \r\n var result = \"\";\r\n var requestMap = { \r\n \"ID\": this.id.toLowerCase(),\r\n \"ReferenceCode\": this.referenceCode, \r\n \"ToolTip\": this.toolTip, \r\n \"SearchReqName\": this.searchReqName, \r\n \"Filter\": this.filter\r\n };\r\n\r\n CallServiceSync(\"/Requisite.asmx/ReferenceSelect\", requestMap, function (response) {\r\n if (response.Success) {\r\n result = response.Result.html;\r\n }\r\n else ShowMessage(response.Result);\r\n });\r\n\r\n this.fire(\"render\");\r\n this.html = result;\r\n return result;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n \r\n /**\r\n * Асинхронно Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ HTML-Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΡƒ \r\n * @function WebAccess.components.forms.requisites.ReferenceSelect#renderAsync\r\n * @return {string} БгСнСрированная HTML-Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠ°.\r\n * @since 5.2.0.1200\r\n */\r\n renderAsync: function (opt_data) {\r\n //TODO: Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ hogan шаблон, Π° для Π΅Π³ΠΎ Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΌΠ½ΠΎΠ³ΠΎ Π΄Π°Π½Π½Ρ‹Ρ…,\r\n //Π² Ρ‚ΠΎΠΌ числС частично Π½ΡƒΠΆΠ½Ρ‹ Π΄Π°Π½Π½Ρ‹Π΅ с сСрвСрной стороны. Π’ Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ эти\r\n //Π΄Π°Π½Π½Ρ‹Π΅ научится Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π»ΠΈΠ±ΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ. БСйчас ΠΏΠΎΠΊΠ° этот ΠΌΠ΅Ρ‚ΠΎΠ΄ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ\r\n //Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π²ΠΈΡ‚ΡŒ всС Π΄Π°Π½Π½Ρ‹Π΅ явно. Π’ Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ ΠΌΠ΅Ρ‚ΠΎΠ΄ render(Ρ‚ΠΎΡ‚ Ρ‡Ρ‚ΠΎ Π²Ρ‹ΡˆΠ΅) Π½ΡƒΠΆΠ½ΠΎ \r\n //Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠ΅Ρ€Π΅Π΄Π΅Π»Π°Ρ‚ΡŒ Π½Π° Π½Π΅Π³ΠΎ, Π½ΠΎ с Ρ„Π»Π°Π³Π°ΠΌΠΈ синхронного Π²Ρ‹Π·ΠΎΠ²Π°.\r\n var me = this;\r\n var data = opt_data || me.getData();\r\n var result = $.Deferred();\r\n if (!opt_data) WA.raise('NOT_IMPLEMENTED_EXCEPTION')\r\n\r\n WA.templates.render(TEMPLATE, opt_data).done(function (html) {\r\n me.html = html;\r\n result.resolve(me.html);\r\n me.fire(\"render\");\r\n });\r\n\r\n return result;\r\n }\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n });\r\n \r\n global.ReferenceSelect = ReferenceSelect;\r\n})(window.WebAccess.components.forms.requisites);","'use strict';\r\n\r\n(function (global) {\r\n /**\r\n * Абстрактный класс элСмСнта страницы.\r\n *\r\n * @extends BaseObject\r\n * @abstract\r\n * @since 5.6.0.1300\r\n */\r\n var AbstractBasePageElement = BaseObject.extend({\r\n\r\n /**\r\n * ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€.\r\n *\r\n * @method WebAccess.components.wrappers.AbstractBasePageElement#init\r\n * @override\r\n * @see BaseObject#init\r\n */\r\n init: function () {\r\n this._super();\r\n },\r\n\r\n /**\r\n * Имя класса.\r\n *\r\n * @private\r\n * @property WebAccess.components.wrappers.AbstractBasePageElement#className\r\n * @override\r\n * @see BaseObject#className\r\n */\r\n className: 'AbstractBasePageElement',\r\n\r\n /**\r\n * jQuery-сСлСктор элСмСнта страницы.\r\n *\r\n * @private\r\n * @property AbstractBasePageElement#selector\r\n * @deprecated since 5.6.\r\n */\r\n selector: '',\r\n\r\n /**\r\n * Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ ΠΎΠ± ошибкС ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ ΠΊ абстрактному ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ.\r\n *\r\n * @private\r\n * @property WebAccess.components.wrappers.AbstractBasePageElement#_errorMessage\r\n */\r\n _errorMessage: 'Calling method of abstract class is not allowed.',\r\n\r\n /**\r\n * ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ скрытого элСмСнта страницы.\r\n *\r\n * @method WebAccess.components.wrappers.AbstractBasePageElement#isHidden\r\n * @return {boolean} True, Ссли элСмСнт скрыт, ΠΈΠ½Π°Ρ‡Π΅ False.\r\n */\r\n isHidden: function () {\r\n console.error(this._errorMessage);\r\n return false;\r\n },\r\n\r\n /**\r\n * ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ доступного для измСнСния элСмСнта страницы.\r\n *\r\n * @method WebAccess.components.wrappers.AbstractBasePageElement#isEnabled\r\n * @return {boolean} True, Ссли элСмСнт отобраТаСтся, ΠΈΠ½Π°Ρ‡Π΅ False.\r\n */\r\n isEnabled: function () {\r\n console.error(this._errorMessage);\r\n return true;\r\n },\r\n\r\n /**\r\n * ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ Π²Ρ‹Π±ΠΎΡ€Π° элСмСнта страницы.\r\n *\r\n * @method WebAccess.components.wrappers.AbstractBasePageElement#isSelected\r\n * @return {boolean} True, Ссли элСмСнт Π²Ρ‹Π±Ρ€Π°Π½, ΠΈΠ½Π°Ρ‡Π΅ False.\r\n */\r\n isSelected: function() {\r\n console.error(this._errorMessage);\r\n return false;\r\n },\r\n\r\n /**\r\n * ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ элСмСнт страницы.\r\n *\r\n * @method WebAccess.components.wrappers.AbstractBasePageElement#show\r\n * @return {WebAccess.components.wrappers.AbstractBasePageElement} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° AbstractBasePageElement.\r\n */\r\n show: function () {\r\n console.error(this._errorMessage);\r\n return this;\r\n },\r\n\r\n /**\r\n * Π‘ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ элСмСнт страницы.\r\n *\r\n * @method WebAccess.components.wrappers.AbstractBasePageElement#hide\r\n * @return {WebAccess.components.wrappers.AbstractBasePageElement} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° AbstractBasePageElement.\r\n */\r\n hide: function () {\r\n console.error(this._errorMessage);\r\n return this;\r\n },\r\n\r\n /**\r\n * УстанавливаСт Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ элСмСнта страницы.\r\n *\r\n * @method WebAccess.components.wrappers.AbstractBasePageElement#setLabel\r\n * @param {string} text Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ элСмСнта страницы.\r\n * @return {WebAccess.components.wrappers.AbstractBasePageElement} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° AbstractBasePageElement.\r\n */\r\n setLabel: function (text) {\r\n console.error(this._errorMessage);\r\n return this;\r\n },\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ элСмСнта страницы.\r\n *\r\n * @method WebAccess.components.wrappers.AbstractBasePageElement#getLabel\r\n * @return {string} Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ элСмСнта страницы.\r\n */\r\n getLabel: function () {\r\n console.error(this._errorMessage);\r\n return '';\r\n },\r\n\r\n /**\r\n * УстанавливаСт Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰ΡƒΡŽ подсказку.\r\n *\r\n * @method WebAccess.components.wrappers.AbstractBasePageElement#setTooltip\r\n * @param {string} text ВСкст Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ подсказки.\r\n * @return {WebAccess.components.wrappers.AbstractBasePageElement} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° AbstractBasePageElement.\r\n *\r\n */\r\n setTooltip: function (text) {\r\n console.error(this._errorMessage);\r\n return this;\r\n },\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ тСкст Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ подсказки.\r\n *\r\n * @method WebAccess.components.wrappers.AbstractBasePageElement#getTooltip\r\n * @return {string} ВСкст Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ подсказки.\r\n */\r\n getTooltip: function () {\r\n console.error(this._errorMessage);\r\n return '';\r\n },\r\n\r\n /**\r\n * УстанавливаСт ΠΈΠΊΠΎΠ½ΠΊΡƒ.\r\n *\r\n * Π˜ΠΊΠΎΠ½ΠΊΡƒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ€Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π² ΠΏΠ°ΠΏΠΊΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° App_Sprites ΠΈ послС ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚.\r\n *\r\n * @method WebAccess.components.wrappers.AbstractBasePageElement#setIcon\r\n * @param {string} path ΠŸΡƒΡ‚ΡŒ ΠΊ ΠΈΠΊΠΎΠ½ΠΊΠ΅.\r\n * @return {WebAccess.components.wrappers.AbstractBasePageElement} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° AbstractBasePageElement.\r\n *\r\n * @example\r\n * WebAccess.current.sideBar.tabs.create(\"FilterRRCAssignment1\")\r\n * .enable().setLabel(L(\"RRC_ASSIGNMENTS_FILTER\"))\r\n * .setIcon(\"SidebarAndExtensions/EDocumentSearch_24.png\")Β \r\n *\r\n * WebAccess.current.sideBar.tabs.create(\"FilterRRCAssignment1\")\r\n * .enable()\r\n * .setLabel(L(\"RRC_ASSIGNMENTS_FILTER\"))\r\n * .setIcon(\"/App_Sprites/SidebarAndExtensions/EDocumentSearch_24.png\")Β \r\n */\r\n setIcon: function (path) {\r\n console.error(this._errorMessage);\r\n return this;\r\n },\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ имя ΠΈΠΊΠΎΠ½ΠΊΠΈ.\r\n *\r\n * @method WebAccess.components.wrappers.AbstractBasePageElement#getIcon\r\n * @return {string} Имя ΠΈΠΊΠΎΠ½ΠΊΠΈ.\r\n */\r\n getIcon: function () {\r\n console.error(this._errorMessage);\r\n return '';\r\n },\r\n\r\n /**\r\n * Π˜ΠΌΠΈΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‰Π΅Π»Ρ‡ΠΎΠΊ ΠΌΡ‹ΡˆΠΈ.\r\n * Π˜ΠΌΠΈΡ‚Π°Ρ†ΠΈΡ Ρ‰Π΅Π»Ρ‡ΠΊΠ° ΠΌΡ‹ΡˆΠΈ ΠΏΠΎ элСмСнту страницы Π»ΠΈΠ±ΠΎ установка ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° Π½Π° событиС onClick, Ссли ΠΏΠ΅Ρ€Π΅Π΄Π°Π½ opt_callback.\r\n * ЗамСняСт ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ, установлСнный ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅.\r\n *\r\n * @method WebAccess.components.wrappers.AbstractBasePageElement#click\r\n * @param {function} [opt_callback] Ѐункция, которая Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π·Π²Π°Π½Π° послС Ρ‰Π΅Π»Ρ‡ΠΊΠ° ΠΌΡ‹ΡˆΠΈ ΠΏΠΎ элСмСнту.\r\n * @return {WebAccess.components.wrappers.AbstractBasePageElement} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° AbstractBasePageElement.\r\n *\r\n * @example\r\n * WebAccess.current.toolBar.buttons.CrtRefRecords.click();\r\n * WebAccess.current.toolBar.buttons.CrtRefRecords.click(function() {\r\n * alert(\"Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΊΠΈ событий click Π±Ρ‹Π»ΠΈ пСрСзаписаны Π΄Π°Π½Π½Ρ‹ΠΌ\");\r\n * })\r\n */\r\n click: function (opt_callback) {\r\n console.error(this._errorMessage);\r\n return this;\r\n },\r\n\r\n /**\r\n * Π”Π΅Π»Π°Π΅Ρ‚ элСмСнт страницы нСдоступным для измСнСния.\r\n *\r\n * @method WebAccess.components.wrappers.AbstractBasePageElement#disable\r\n * @return {WebAccess.components.wrappers.AbstractBasePageElement} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° AbstractBasePageElement.\r\n */\r\n disable: function () {\r\n console.error(this._errorMessage);\r\n return this;\r\n },\r\n\r\n /**\r\n * Π”Π΅Π»Π°Π΅Ρ‚ элСмСнт страницы доступным для измСнСния.\r\n *\r\n * @method WebAccess.components.wrappers.AbstractBasePageElement#enable\r\n * @return {WebAccess.components.wrappers.AbstractBasePageElement} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° AbstractBasePageElement.\r\n */\r\n enable: function () {\r\n console.error(this._errorMessage);\r\n return this;\r\n },\r\n\r\n /**\r\n * ΠžΡ‚ΠΌΠ΅Ρ‡Π°Π΅Ρ‚ элСмСнт страницы.\r\n * НапримСр, ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ ΠΊΠ½ΠΎΠΏΠΊΡƒ ΠΊΠ°ΠΊ Π½Π°ΠΆΠ°Ρ‚ΡƒΡŽ.\r\n\t *\r\n * @method WebAccess.components.wrappers.AbstractBasePageElement#select\r\n * @return {WebAccess.components.wrappers.AbstractBasePageElement} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° AbstractBasePageElement.\r\n *\r\n */\r\n select: function () {\r\n console.error(this._errorMessage);\r\n return this;\r\n },\r\n\r\n /**\r\n * Π‘Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΡƒ с элСмСнта страницы.\r\n\t * НапримСр, ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ ΠΊΠ½ΠΎΠΏΠΊΡƒ ΠΊΠ°ΠΊ Π½Π΅Π½Π°ΠΆΠ°Ρ‚ΡƒΡŽ.\r\n *\r\n * @method WebAccess.components.wrappers.AbstractBasePageElement#unSelect\r\n * @return {WebAccess.components.wrappers.AbstractBasePageElement} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° AbstractBasePageElement.\r\n */\r\n unSelect: function () {\r\n console.error(this._errorMessage);\r\n return this;\r\n }\r\n }, {\r\n EVENT: {\r\n // Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ срабатываСт ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ элСмСнта.\r\n CHANGE: 'change',\r\n // Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ срабатываСт, ΠΊΠΎΠ³Π΄Π° элСмСнт становится нСдоступным для измСнСния.\r\n DISABLE: 'disable',\r\n // Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ срабатываСт, ΠΊΠΎΠ³Π΄Π° элСмСнт становится доступным для измСнСния.\r\n ENABLE: 'enable',\r\n // Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ срабатываСт, ΠΊΠΎΠ³Π΄Π° элСмСнт становится Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΡ‹ΠΌ.\r\n HIDE: 'hide',\r\n // Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ срабатываСт, ΠΊΠΎΠ³Π΄Π° элСмСнт становится Π²ΠΈΠ΄ΠΈΠΌΡ‹ΠΌ.\r\n SHOW: 'show'\r\n }\r\n });\r\n\r\n global.AbstractBasePageElement = AbstractBasePageElement;\r\n})(window.WebAccess.components.wrappers);","'use strict';\r\n\r\n(function (global) {\r\n /**\r\n * Класс React-элСмСнта страницы.\r\n *\r\n * @abstract\r\n * @extends AbstractBasePageElement\r\n * @since 5.6.0.1300\r\n */\r\n var BaseReactPageElement = WebAccess.components.wrappers.AbstractBasePageElement.extend({\r\n\r\n /**\r\n * ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€.\r\n *\r\n * @method BaseReactPageElement#init\r\n * @param {object} model МодСль React-элСмСнта страницы.\r\n * @fires BaseObject.EVENTS#CLASS_INIT\r\n */\r\n init: function (model) {\r\n this._model = model;\r\n this.name = this._model.name;\r\n this._events = this._model.events;\r\n this.fire(BaseObject.EVENT.CLASS_INIT, this);\r\n this._formatModel();\r\n if (this._model.jsAction instanceof Function) {\r\n this.bind(BaseObject.EVENT.CLICK, this._model.jsAction);\r\n }\r\n },\r\n\r\n /**\r\n * Π€ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ.\r\n *\r\n * @private\r\n * @method BaseReactPageElement#_formatModel\r\n */\r\n _formatModel: function () {\r\n this._model.onInit = this._formatFunction('onInit');\r\n this._model.jsAction = this._formatFunction('jsAction');\r\n },\r\n\r\n /**\r\n * ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ строк Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ.\r\n *\r\n * @method BaseReactPageElement#_formatFunction\r\n * @param {string} paramName Имя ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° ΠΈΠ· ΠΌΠΎΠ΄Π΅Π»ΠΈ.\r\n * @returns {function|null} Ѐункция ΠΈΠ»ΠΈ null.\r\n * @private\r\n */\r\n _formatFunction(paramName) {\r\n let paramValue = this._model[paramName];\r\n if (paramValue) {\r\n if (paramValue instanceof Function) {\r\n return paramValue.bind(this);\r\n } else if (typeof paramValue === 'string' || paramValue instanceof String) {\r\n return (new Function(this._model[paramName])).bind(this);\r\n }\r\n }\r\n return null;\r\n },\r\n\r\n /**\r\n * Имя класса.\r\n *\r\n * @private\r\n * @property BaseReactPageElement#className\r\n * @override\r\n * @see AbstractBasePageElement#className\r\n */\r\n className: 'BaseReactPageElement',\r\n\r\n /**\r\n * Бписок ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² событий.\r\n *\r\n * @private\r\n * @property BaseReactObject#_events\r\n * @override\r\n * @see BaseObject#_events\r\n */\r\n _events: null,\r\n\r\n /**\r\n * МодСль React-элСмСнта страницы.\r\n *\r\n * @private\r\n * @property BaseReactPageElement#_model\r\n */\r\n _model: null,\r\n\r\n /**\r\n * НаимСнованиС элСмСнта.\r\n *\r\n * @property BaseReactPageElement#name\r\n */\r\n name: '',\r\n\r\n /**\r\n * ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ скрытого элСмСнта страницы.\r\n *\r\n * @method WebAccess.components.wrappers.BaseReactPageElement#isHidden\r\n * @return {boolean} True, Ссли элСмСнт скрыт, ΠΈΠ½Π°Ρ‡Π΅ False.\r\n * @override\r\n * @see AbstractBasePageElement#isHidden\r\n */\r\n isHidden: function () {\r\n return !this._model.isVisible;\r\n },\r\n\r\n /**\r\n * ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ доступного для измСнСния элСмСнта страницы.\r\n *\r\n * @method WebAccess.components.wrappers.BaseReactPageElement#isEnabled\r\n * @return {boolean} True, Ссли элСмСнт отобраТаСтся, ΠΈΠ½Π°Ρ‡Π΅ False.\r\n * @override\r\n * @see AbstractBasePageElement#isEnabled\r\n */\r\n isEnabled: function () {\r\n return this._model.isEnabled;\r\n },\r\n\r\n /**\r\n * ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ Π²Ρ‹Π±ΠΎΡ€Π° элСмСнта страницы.\r\n *\r\n * @method WebAccess.components.wrappers.BaseReactPageElement#isSelected\r\n * @return {boolean} True, Ссли элСмСнт Π²Ρ‹Π±Ρ€Π°Π½, ΠΈΠ½Π°Ρ‡Π΅ False.\r\n * @override\r\n * @see AbstractBasePageElement#isSelected\r\n */\r\n isSelected: function () {\r\n return this._model.isSelected;\r\n },\r\n\r\n /**\r\n * ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ элСмСнт страницы.\r\n *\r\n * @method WebAccess.components.wrappers.BaseReactPageElement#show\r\n * @return {WebAccess.components.wrappers.BaseReactPageElement} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° BaseReactPageElement.\r\n * @fires BaseReactPageElement#show\r\n * @override\r\n * @see AbstractBasePageElement#show\r\n */\r\n show: function () {\r\n this._model.isVisible = true;\r\n this.fire(WebAccess.components.wrappers.AbstractBasePageElement.EVENT.SHOW);\r\n return this;\r\n },\r\n\r\n /**\r\n * Π‘ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ элСмСнт страницы.\r\n *\r\n * @method WebAccess.components.wrappers.BaseReactPageElement#hide\r\n * @return {WebAccess.components.wrappers.BaseReactPageElement} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° BaseReactPageElement.\r\n * @fires BaseReactPageElement#hide\r\n * @override\r\n * @see AbstractBasePageElement#hide\r\n */\r\n hide: function () {\r\n this._model.isVisible = false;\r\n this.fire(WebAccess.components.wrappers.AbstractBasePageElement.EVENT.HIDE);\r\n return this;\r\n },\r\n\r\n /**\r\n * УстанавливаСт Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ элСмСнта страницы.\r\n *\r\n * @method WebAccess.components.wrappers.BaseReactPageElement#setLabel\r\n * @param {string} text Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ элСмСнта страницы.\r\n * @return {WebAccess.components.wrappers.BaseReactPageElement} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° BaseReactPageElement.\r\n * @fires BaseReactPageElement#change\r\n * @override\r\n * @see AbstractBasePageElement#setLabel\r\n */\r\n setLabel: function (text) {\r\n this._model.text = text;\r\n this.fire(WebAccess.components.wrappers.AbstractBasePageElement.EVENT.CHANGE);\r\n return this;\r\n },\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ элСмСнта страницы.\r\n *\r\n * @method WebAccess.components.wrappers.BaseReactPageElement#getLabel\r\n * @return {string} Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ элСмСнта страницы.\r\n * @override\r\n * @see AbstractBasePageElement#getLabel\r\n */\r\n getLabel: function () {\r\n return this._model.text;\r\n },\r\n\r\n /**\r\n * УстанавливаСт Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰ΡƒΡŽ подсказку.\r\n *\r\n * @method WebAccess.components.wrappers.BaseReactPageElement#setTooltip\r\n * @param {string} text ВСкст Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ подсказки.\r\n * @return {WebAccess.components.wrappers.BaseReactPageElement} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° BaseReactPageElement.\r\n * @fires BaseReactPageElement#change\r\n * @override\r\n * @see AbstractBasePageElement#setTooltip\r\n *\r\n * @todo ΠŸΠΎΠ΄ΡƒΠΌΠ°Ρ‚ΡŒ Π½Π°Π΄ установкой, Ρ‚.ΠΊ. Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π΄Π²Π΅ подсказки, какая устанавливаСтся? ΠšΡƒΠ΄Π° ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ?\r\n *\r\n */\r\n setTooltip: function (text) {\r\n this._model.tooltip = text;\r\n this.fire(WebAccess.components.wrappers.AbstractBasePageElement.EVENT.CHANGE);\r\n return this;\r\n },\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ тСкст Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ подсказки.\r\n *\r\n * @method WebAccess.components.wrappers.BaseReactPageElement#getTooltip\r\n * @return {string} ВСкст Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ подсказки.\r\n * @override\r\n * @see AbstractBasePageElement#getTooltip\r\n */\r\n getTooltip: function () {\r\n return this._model.tooltip;\r\n },\r\n\r\n /**\r\n * УстанавливаСт ΠΈΠΊΠΎΠ½ΠΊΡƒ.\r\n *\r\n * Π˜ΠΊΠΎΠ½ΠΊΡƒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ€Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π² ΠΏΠ°ΠΏΠΊΠ΅ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° App_Sprites ΠΈ послС ΡΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚.\r\n *\r\n * @method WebAccess.components.wrappers.BaseReactPageElement#setIcon\r\n * @param {string} path ΠŸΡƒΡ‚ΡŒ ΠΊ ΠΈΠΊΠΎΠ½ΠΊΠ΅.\r\n * @return {WebAccess.components.wrappers.BaseReactPageElement} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° BaseReactPageElement.\r\n * @fires BaseReactPageElement#change\r\n * @override\r\n * @see AbstractBasePageElement#setIcon\r\n */\r\n setIcon: function (path) {\r\n this._model.icon = path;\r\n this.fire(WebAccess.components.wrappers.AbstractBasePageElement.EVENT.CHANGE);\r\n return this;\r\n },\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ имя ΠΈΠΊΠΎΠ½ΠΊΠΈ.\r\n *\r\n * @method WebAccess.components.wrappers.BaseReactPageElement#getIcon\r\n * @return {string} Имя ΠΈΠΊΠΎΠ½ΠΊΠΈ.\r\n * @override\r\n * @see AbstractBasePageElement#getIcon\r\n */\r\n getIcon: function () {\r\n return this._model.icon;\r\n },\r\n\r\n /**\r\n * Π˜ΠΌΠΈΡ‚ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ‰Π΅Π»Ρ‡ΠΎΠΊ ΠΌΡ‹ΡˆΠΈ.\r\n * Π˜ΠΌΠΈΡ‚Π°Ρ†ΠΈΡ Ρ‰Π΅Π»Ρ‡ΠΊΠ° ΠΌΡ‹ΡˆΠΈ ΠΏΠΎ элСмСнту страницы Π»ΠΈΠ±ΠΎ установка ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° Π½Π° событиС onClick, Ссли ΠΏΠ΅Ρ€Π΅Π΄Π°Π½ opt_callback.\r\n * ЗамСняСт ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ, установлСнный ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅.\r\n *\r\n * @method WebAccess.components.wrappers.BaseReactPageElement#click\r\n * @param {function} [opt_callback] Ѐункция, которая Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π·Π²Π°Π½Π° послС Ρ‰Π΅Π»Ρ‡ΠΊΠ° ΠΌΡ‹ΡˆΠΈ ΠΏΠΎ элСмСнту.\r\n * @return {WebAccess.components.wrappers.BaseReactPageElement} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° BaseReactPageElement.\r\n * @override\r\n * @see AbstractBasePageElement#click\r\n */\r\n click: function (opt_callback) {\r\n if (typeof opt_callback === 'function') {\r\n this\r\n .unbind(BaseObject.EVENT.CLICK)\r\n .bind(BaseObject.EVENT.CLICK, opt_callback);\r\n\r\n this._model.jsAction = opt_callback;\r\n this.fire(WebAccess.components.wrappers.AbstractBasePageElement.EVENT.CHANGE);\r\n } else {\r\n this.fire(BaseObject.EVENT.CLICK);\r\n }\r\n\r\n return this;\r\n },\r\n\r\n /**\r\n * Π”Π΅Π»Π°Π΅Ρ‚ элСмСнт страницы нСдоступным для измСнСния.\r\n *\r\n * @method WebAccess.components.wrappers.BaseReactPageElement#disable\r\n * @return {WebAccess.components.wrappers.BaseReactPageElement} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° BaseReactPageElement.\r\n * @fires BaseReactPageElement#disable\r\n * @override\r\n * @see AbstractBasePageElement#disable\r\n */\r\n disable: function () {\r\n this._model.isEnabled = false;\r\n this.fire(WebAccess.components.wrappers.AbstractBasePageElement.EVENT.DISABLE);\r\n return this;\r\n },\r\n\r\n /**\r\n * Π”Π΅Π»Π°Π΅Ρ‚ элСмСнт страницы доступным для измСнСния.\r\n *\r\n * @method WebAccess.components.wrappers.BaseReactPageElement#enable\r\n * @return {WebAccess.components.wrappers.BaseReactPageElement} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° BaseReactPageElement.\r\n * @fires BaseReactPageElement#enable\r\n * @override\r\n * @see AbstractBasePageElement#enable\r\n */\r\n enable: function () {\r\n this._model.isEnabled = true;\r\n this.fire(WebAccess.components.wrappers.AbstractBasePageElement.EVENT.ENABLE);\r\n return this;\r\n },\r\n\r\n /**\r\n * ΠžΡ‚ΠΌΠ΅Ρ‡Π°Π΅Ρ‚ элСмСнт страницы.\r\n *\r\n * @method WebAccess.components.wrappers.BaseReactPageElement#select\r\n * @return {WebAccess.components.wrappers.BaseReactPageElement} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° BaseReactPageElement.\r\n * @override\r\n * @see AbstractBasePageElement#select\r\n */\r\n select: function () {\r\n this._model.isSelected = true;\r\n this.fire(WebAccess.components.wrappers.AbstractBasePageElement.EVENT.CHANGE);\r\n return this;\r\n },\r\n\r\n /**\r\n * Π‘Π½ΠΈΠΌΠ°Π΅Ρ‚ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΡƒ с элСмСнта страницы.\r\n *\r\n * @method WebAccess.components.wrappers.BaseReactPageElement#unSelect\r\n * @return {WebAccess.components.wrappers.BaseReactPageElement} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° BaseReactPageElement.\r\n * @override\r\n * @see AbstractBasePageElement#unSelect\r\n */\r\n unSelect: function () {\r\n this._model.isSelected = false;\r\n this.fire(WebAccess.components.wrappers.AbstractBasePageElement.EVENT.CHANGE);\r\n return this;\r\n }\r\n });\r\n\r\n global.BaseReactPageElement = BaseReactPageElement;\r\n})(window.WebAccess.components.wrappers);","'use strict';\r\n\r\n/** \r\n* Π‘Π°Π·ΠΎΠ²Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ страницы.\r\n*\r\n* @class WebAccess.components.wrappers.BasePageElement\r\n* @extends AbstractBasePageElement\r\n* @property {string} className Имя класса\r\n* @property {string} name Имя ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°\r\n* @property {string} selector Π‘Π΅Π»Π΅ΠΊΡ‚ΠΎΡ€ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ Π²Π½Π΅ API\r\n*/\r\n\r\n(function (global) {\r\n\r\n /**\r\n * Класс jQuery-элСмСнта Π½Π° страницС.\r\n *\r\n * @abstract\r\n * @extends WebAccess.components.wrappers.AbstractBasePageElement\r\n */\r\n var BasePageElement = WebAccess.components.wrappers.AbstractBasePageElement.extend({\r\n\r\n /**\r\n * ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€.\r\n *\r\n * @param {string} itemSelector Π‘Π΅Π»Π΅ΠΊΡ‚ΠΎΡ€ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ элСмСнта страницы\r\n * @method WebAccess.components.wrappers.BasePageElement#init\r\n * @override\r\n * @see WebAccess.components.wrappers.AbstractBasePageElement#init\r\n */\r\n init: function (itemSelector) {\r\n this._super(itemSelector);\r\n this._jObject = $(itemSelector);\r\n this.name = this._jObject.attr('name');\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Имя класса.\r\n *\r\n * @private\r\n * @property WebAccess.components.wrappers.BasePageElement#className\r\n * @override\r\n * @see WebAccess.components.wrappers.AbstractBasePageElement#className\r\n */\r\n className: 'BasePageElement',\r\n\r\n /**\r\n * Имя элСмСнта страницы.\r\n *\r\n * @private\r\n * @property BasePageElement#name\r\n */\r\n name: '',\r\n\r\n /**\r\n * jQuery-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ элСмСнта страницы.\r\n *\r\n * @private\r\n * @property BasePageElement#_jObject\r\n */\r\n _jObject: {},\r\n\r\n /**\r\n * Бобытия, связанныС с Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΡ… элСмСнтом страницы.\r\n *\r\n * @private\r\n * @property BasePageElement#_storedEvents\r\n */\r\n _storedEvents: [],\r\n\r\n\r\n /**\r\n * jQuery-сСлСктор элСмСнта страницы с использованиСм ΠΈΠΌΠ΅Π½ΠΈ элСмСнта.\r\n *\r\n * @private\r\n * @property BasePageElement#_byNameSelectorTemplate\r\n */\r\n _byNameSelectorTemplate: '{0}[name={1}]',\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ скрытия элСмСнта страницы.\r\n *\r\n * @method WebAccess.components.wrappers.BasePageElement#isHidden\r\n * @return {boolean} True, Ссли элСмСнт скрыт, ΠΈΠ½Π°Ρ‡Π΅ False.\r\n * @override\r\n * @see WebAccess.components.wrappers.AbstractBasePageElement#isHidden\r\n */\r\n isHidden: function () {\r\n return !this._jObject.is(':visible');\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ отобраТСния элСмСнта страницы.\r\n *\r\n * @method WebAccess.components.wrappers.BasePageElement#isEnabled\r\n * @return {boolean} True, Ссли элСмСнт отобраТаСтся, ΠΈΠ½Π°Ρ‡Π΅ False.\r\n * @override\r\n * @see WebAccess.components.wrappers.AbstractBasePageElement#isEnabled\r\n */\r\n isEnabled: function () {\r\n return !this._jObject.hasClass('disabled');\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ Π²Ρ‹Π±ΠΎΡ€Π° элСмСнта страницы.\r\n *\r\n * @method WebAccess.components.wrappers.BasePageElement#isSelected\r\n * @return {boolean} True, Ссли элСмСнт Π²Ρ‹Π±Ρ€Π°Π½, ΠΈΠ½Π°Ρ‡Π΅ False.\r\n * @override\r\n * @see WebAccess.components.wrappers.AbstractBasePageElement#isSelected\r\n */\r\n isSelected: function () {\r\n return this._jObject.hasClass('selected');\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ элСмСнт страницы.\r\n * \r\n * @method WebAccess.components.wrappers.BasePageElement#show\r\n * @return {WebAccess.components.wrappers.BasePageElement} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° BasePageElement.\r\n * @fires BasePageElement#show\r\n * @override\r\n * @see WebAccess.components.wrappers.AbstractBasePageElement#show\r\n */\r\n show: function () {\r\n this._jObject.show();\r\n this.fire(WebAccess.components.wrappers.AbstractBasePageElement.EVENT.SHOW);\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π‘ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ элСмСнт страницы.\r\n *\r\n * @method WebAccess.components.wrappers.BasePageElement#hide\r\n * @return {WebAccess.components.wrappers.BasePageElement} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° BasePageElement.\r\n * @fires BasePageElement#hide\r\n * @override\r\n * @see WebAccess.components.wrappers.AbstractBasePageElement#hide\r\n */\r\n hide: function () {\r\n this._jObject.hide();\r\n this.fire(WebAccess.components.wrappers.AbstractBasePageElement.EVENT.HIDE);\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * УстанавливаСт Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ элСмСнта страницы.\r\n *\r\n * @method WebAccess.components.wrappers.BasePageElement#setLabel\r\n * @param {string} text Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ элСмСнта страницы.\r\n * @return {WebAccess.components.wrappers.BasePageElement} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° BasePageElement.\r\n * @fires BasePageElement#change\r\n * @override\r\n * @see WebAccess.components.wrappers.AbstractBasePageElement#setLabel\r\n */\r\n setLabel: function (text) {\r\n this._jObject.find('span').text(text);\r\n this.fire(WebAccess.components.wrappers.AbstractBasePageElement.EVENT.CHANGE);\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ элСмСнта страницы.\r\n *\r\n * @method WebAccess.components.wrappers.BasePageElement#getLabel\r\n * @return {string} Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ элСмСнта страницы.\r\n * @override\r\n * @see WebAccess.components.wrappers.AbstractBasePageElement#getLabel\r\n */\r\n getLabel: function () {\r\n return this._jObject.find('span').text();\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n\r\n /**\r\n * УстанавливаСт Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰ΡƒΡŽ подсказку.\r\n *\r\n * @fires BasePageElement#change\r\n * @method WebAccess.components.wrappers.BasePageElement#setTooltip\r\n * @override\r\n * @param {string} tooltip ВСкст Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ подсказки.\r\n * @return {WebAccess.components.wrappers.BasePageElement} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° BasePageElement.\r\n * @see WebAccess.components.wrappers.AbstractBasePageElement#setTooltip\r\n */\r\n setTooltip(tooltip) {\r\n let label = this.getLabel();\r\n // Π”ΠΎΠ±Π°Π²ΠΈΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π² подсказку ΠΊ этой ΠΊΠ½ΠΎΠΏΠΊΠ΅.\r\n if (tooltip !== label) {\r\n tooltip = `${label}\\n${tooltip}`;\r\n }\r\n this._jObject.attr('title', tooltip);\r\n this.fire(WebAccess.components.wrappers.AbstractBasePageElement.EVENT.CHANGE);\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ тСкст Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ подсказки.\r\n *\r\n * @method WebAccess.components.wrappers.BasePageElement#getTooltip\r\n * @return {string} ВСкст Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ подсказки.\r\n * @override\r\n * @see WebAccess.components.wrappers.AbstractBasePageElement#getTooltip\r\n */\r\n getTooltip: function () {\r\n return this._jObject.attr('title');\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * УстанавливаСт ΠΈΠΊΠΎΠ½ΠΊΡƒ.\r\n *\r\n * @method WebAccess.components.wrappers.BasePageElement#setIcon\r\n * @param {string} path ΠŸΡƒΡ‚ΡŒ ΠΊ ΠΈΠΊΠΎΠ½ΠΊΠ΅.\r\n * @return {WebAccess.components.wrappers.BasePageElement} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° BasePageElement.\r\n * @fires BasePageElement#change\r\n * @override\r\n * @see WebAccess.components.wrappers.AbstractBasePageElement#setIcon\r\n */\r\n setIcon: function (path) {\r\n\r\n if (path.indexOf('.') !== -1) {\r\n\r\n var jSvgIcon = this._jObject.find('svg');\r\n\r\n if (jSvgIcon.length != 0) {\r\n jSvgIcon.remove();\r\n var jContainer = this._jObject.find('div').first();\r\n jContainer.prepend('

    ');\r\n }\r\n\r\n if (path.indexOf('/App_Sprites/') !== -1) {\r\n path = path.substring(path.indexOf('s/') + 2);\r\n }\r\n\r\n this._jObject.find('p').first().removeClass().addClass(path);\r\n }\r\n else {\r\n var jSpriteIcon = this._jObject.find('p').first();\r\n if (jSpriteIcon.length !== 0) {\r\n var jContainer = this._jObject.find('div').first();\r\n jSpriteIcon.remove();\r\n jContainer.prepend('');\r\n }\r\n else {\r\n var jUseElement = this._jObject.find('use').first();\r\n jUseElement.attr('xlink:href', '#' + path);\r\n }\r\n }\r\n\r\n this.fire(WebAccess.components.wrappers.AbstractBasePageElement.EVENT.CHANGE);\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ имя ΠΈΠΊΠΎΠ½ΠΊΠΈ.\r\n * \r\n * @method WebAccess.components.wrappers.BasePageElement#getIcon\r\n * @return {string} Имя ΠΈΠΊΠΎΠ½ΠΊΠΈ.\r\n * @override\r\n * @see WebAccess.components.wrappers.AbstractBasePageElement#getIcon\r\n */\r\n getIcon: function () {\r\n\r\n var jSvgIcon = this._jObject.find('svg');\r\n\r\n if (jSvgIcon.length !== 0)\r\n return jSvgIcon.children('use').attr('xlink:href').substr(1);\r\n\r\n return this._jObject.find('p').first().attr('class');\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π˜ΠΌΠΈΡ‚ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ‰Π΅Π»Ρ‡ΠΎΠΊ ΠΌΡ‹ΡˆΠΈ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ΅ ΠΈΠ»ΠΈ устанавливаСт ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ Π½Π° событиС onClick, Ссли ΠΏΠ΅Ρ€Π΅Π΄Π°Π½ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ opt_callback.\r\n *\r\n * @method WebAccess.components.wrappers.BasePageElement#click\r\n * @param {function} [opt_callback] Ѐункция, которая Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π·Π²Π°Π½Π° послС Ρ‰Π΅Π»Ρ‡ΠΊΠ° ΠΌΡ‹ΡˆΠΈ ΠΏΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ΅.\r\n * @return {WebAccess.components.wrappers.BasePageElement} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° BasePageElement.\r\n * @override\r\n * @see WebAccess.components.wrappers.AbstractBasePageElement#click\r\n */\r\n click: function (opt_callback) {\r\n var instance = this;\r\n if ($.isFunction(opt_callback)) {\r\n instance._disableClickHandler(instance._jObject);\r\n instance\r\n .unbind(BaseObject.EVENT.CLICK)\r\n .bind(BaseObject.EVENT.CLICK, opt_callback);\r\n } else {\r\n instance._jObject.click();\r\n }\r\n return instance;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ дСйствиС ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.\r\n *\r\n * @private\r\n * @method WebAccess.components.wrappers.BasePageElement#_defaultAction\r\n * @return {function} ДСйствиС ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.\r\n */\r\n _defaultAction: function () {\r\n if (!this._inlineEvent) return;\r\n return (new Function(this._inlineEvent)).call(this._jObject.get(0));\r\n },\r\n\r\n /**\r\n * Π’Ρ‹Π·ΠΎΠ² нашСго fire ΠΏΡ€ΠΈ ΠΊΠ»ΠΈΠΊΠ΅ Π½Π° элСмСнт.\r\n *\r\n * @private\r\n * @method WebAccess.components.wrappers.BasePageElement#_eventHandler\r\n */\r\n _eventHandler: function (event) {\r\n var eventName = event.data.eventName;\r\n var name = event.data.buttonName;\r\n var element = event.data.instance;\r\n var continueDefaultAction = event.data.continueDefaultAction;\r\n\r\n if (element.fire(eventName, name, continueDefaultAction) !== false && eventName === 'click') {\r\n element._defaultAction.call(element);\r\n }\r\n },\r\n\r\n /**\r\n * ΠŸΡ€ΠΈΠ²ΡΠ·Ρ‹Π²Π°Π΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΊ ΡΠΎΠ±Ρ‹Ρ‚ΠΈΡŽ.\r\n *\r\n * @method WebAccess.components.wrappers.BasePageElement#bind\r\n * @param {string} name Имя события.\r\n * @param {function} callback Ѐункция, ΡΡ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‰Π°Ρ ΠΏΡ€ΠΈ событии.\r\n * @return {WebAccess.components.wrappers.BasePageElement} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° BasePageElement.\r\n * @override\r\n * @see WebAccess.components.wrappers.BaseObject#bind\r\n */\r\n bind: function (event, callback) {\r\n var instance = this;\r\n if (event === 'click') {\r\n this._storeInlineEvents();\r\n }\r\n\r\n this._super(event, callback);\r\n //if (event == \"click\") this._disableClickHandler(this._jObject); \r\n this._jObject.unbind(event, this._eventHanler).bind(event, {\r\n 'instance': instance,\r\n 'eventName': event,\r\n 'buttonName': instance.name,\r\n 'continueDefaultAction': $.proxy(instance._defaultAction, instance)\r\n }, this._eventHandler);\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n\r\n /**\r\n * ΠžΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° click Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.\r\n *\r\n * @private\r\n * @method WebAccess.components.wrappers.BasePageElement#_disableClickHandler\r\n * @param {object} jObject - jQuery-ΠΎΠ±Π΅ΡŠΠ΅ΠΊΡ‚, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ.\r\n */\r\n _disableClickHandler: function (jObject) {\r\n\r\n jObject.removeAttr('onclick'); // Π—Π΄Π΅ΡΡŒ ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚Π°ΠΊ \r\n jObject.prop('onclick', null); // ΠΈΠΌΠ΅Π½Π½ΠΎ Π΄Π²Π΅ строки\r\n\r\n jObject.off('click');\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π”Π΅Π»Π°Π΅Ρ‚ элСмСнт страницы нСдоступным.\r\n *\r\n * @method WebAccess.components.wrappers.BasePageElement#disable\r\n * @return {WebAccess.components.wrappers.BasePageElement} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° BasePageElement.\r\n * @fires BasePageElement#disable\r\n * @override\r\n * @see WebAccess.components.wrappers.AbstractBasePageElement#disable\r\n */\r\n disable: function () {\r\n if (this.isEnabled()) { // Π‘Π΅Π· этого Ссли Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ disable 2 Ρ€Π°Π·Π°, Ρ‚ΠΎ ΠΎΠ½ потСряСт события Π²ΠΎΠΎΠ±Ρ‰Π΅.\r\n this._storeEvents();\r\n this._jObject.unbind('click');\r\n this._jObject.addClass('disabled').removeClass('hover');\r\n this.fire(WebAccess.components.wrappers.AbstractBasePageElement.EVENT.DISABLE);\r\n }\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π”Π΅Π»Π°Π΅Ρ‚ элСмСнт страницы доступным.\r\n *\r\n * @method WebAccess.components.wrappers.BasePageElement#enable\r\n * @return {WebAccess.components.wrappers.BasePageElement} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° BasePageElement.\r\n * @fires BasePageElement#enable\r\n * @override\r\n * @see WebAccess.components.wrappers.AbstractBasePageElement#enable\r\n */\r\n enable: function () {\r\n if (!this.isEnabled()) {\r\n this._jObject.removeClass('disabled');\r\n this._restoreEvents();\r\n this.fire(WebAccess.components.wrappers.AbstractBasePageElement.EVENT.ENABLE);\r\n }\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π‘ΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ привязанных ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² событий\r\n *\r\n * @method WebAccess.components.wrappers.BasePageElement#_storeEvents\r\n * @return {WebAccess.components.wrappers.BasePageElement} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° BasePageElement.\r\n */\r\n _storeEvents: function () {\r\n this._storeInlineEvents();\r\n this._storedEvents = this._events;\r\n\r\n this._events = [];\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π‘ΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π±Ρ‹Π»ΠΎ навСшСно Π½Π° Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ onclick.\r\n * @private\r\n * @method WebAccess.components.wrappers.BasePageElement#_storeInlineEvents\r\n */\r\n _storeInlineEvents: function () {\r\n if (this._jObject.hasAttr('onclick')) {\r\n if (WA.ENV.browser.name !== 'IE' && WA.ENV.browser.major !== '7') {\r\n this._inlineEvent = this._jObject.attr('onclick'); //Π—Π΄Π΅ΡΡŒ ΠΈΠΌΠ΅Π΅Π½Π½ΠΎ attr, Π½Π΅ prop! ΠΈ Ρ‚ΠΎΡ‡ΠΊΠ°.\r\n this._jObject.removeAttr('onclick'); // Аналогично\r\n }\r\n //this._jObject.prop(\"onclick\")\r\n }\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ВосстановлСниС привязанных ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² событий\r\n *\r\n * @private\r\n * @method WebAccess.components.wrappers.BasePageElement#_storeEvents\r\n * @return {WebAccess.components.wrappers.BasePageElement} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° BasePageElement.\r\n */\r\n _restoreEvents: function () {\r\n this._restoreInlineEvents();\r\n if (Object.keys(this._storedEvents).length > 0) {\r\n this._events = this._storedEvents;\r\n this._storedEvents = [];\r\n\r\n var instance = this;\r\n for (var event in this._events) {\r\n if (this._events.hasOwnProperty(event)) {\r\n this._jObject.bind(event, function () {\r\n instance.fire(event, instance.name);\r\n });\r\n }\r\n }\r\n }\r\n\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ВосстановлСниС привязанных Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠΌ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² событий onclick\r\n *\r\n * @private\r\n * @method WebAccess.components.wrappers.BasePageElement#_restoreInlineEvents\r\n */\r\n _restoreInlineEvents: function () {\r\n if (this._inlineEvent !== '') {\r\n this._jObject.attr('onclick', this._inlineEvent);\r\n } //И здСсь ΠΈΠΌΠ΅Π΅Π½Π½ΠΎ attr, Π½Π΅ prop! ΠΆΠ΅Π»Π΅Π·Π½ΠΎ!\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ ΠΊΠ½ΠΎΠΏΠΊΡƒ ΠΊΠ°ΠΊ Π½Π°ΠΆΠ°Ρ‚ΡƒΡŽ.\r\n *\r\n * @method WebAccess.components.wrappers.BasePageElement#select\r\n * @return {WebAccess.components.wrappers.BasePageElement} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° BasePageElement.\r\n * @override\r\n * @see WebAccess.components.wrappers.AbstractBasePageElement#select\r\n */\r\n select: function () {\r\n this._jObject.addClass('selected');\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ ΠΊΠ½ΠΎΠΏΠΊΡƒ ΠΊΠ°ΠΊ Π½Π΅Π½Π°ΠΆΠ°Ρ‚ΡƒΡŽ.\r\n *\r\n * @method WebAccess.components.wrappers.BasePageElement#unSelect\r\n * @return {WebAccess.components.wrappers.BasePageElement} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° BasePageElement.\r\n * @override\r\n * @see WebAccess.components.wrappers.AbstractBasePageElement#unSelect\r\n */\r\n unSelect: function () {\r\n this._jObject.removeClass('selected');\r\n return this;\r\n }\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n });\r\n\r\n global.BasePageElement = BasePageElement;\r\n\r\n})(window.WebAccess.components.wrappers);\r\n","/**\r\n * ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ наТатия Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ «Высокая Π²Π°ΠΆΠ½ΠΎΡΡ‚ΡŒΒ» Π² ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ.\r\n *\r\n * @global\r\n * @async\r\n * @function toggleHighImportance\r\n * @param {string} SaveBtnName НазваниС ΠΊΠ½ΠΎΠΏΠΊΠΈ Β«Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒΒ». Кнопка станСт доступна послС наТатия Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ «Высокая Π²Π°ΠΆΠ½ΠΎΡΡ‚ΡŒΒ»\r\n */\r\nasync function toggleHighImportance(SaveBtnName) {\r\n await _sendSetImportanceRequest(TASK_IMPORTANCE.HIGH, SaveBtnName);\r\n _changeImportanceButtonStates('TaskHighImp', 'TaskLowImp');\r\n}\r\n\r\n/**\r\n * ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ наТатия Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ «Низкая Π²Π°ΠΆΠ½ΠΎΡΡ‚ΡŒΒ» Π² ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ.\r\n *\r\n * @global\r\n * @async\r\n * @function toggleLowImportance\r\n * @param {string} SaveBtnName НазваниС ΠΊΠ½ΠΎΠΏΠΊΠΈ Β«Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒΒ». Кнопка станСт доступна послС наТатия Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ «Низкая Π²Π°ΠΆΠ½ΠΎΡΡ‚ΡŒΒ»\r\n */\r\nasync function toggleLowImportance(SaveBtnName) {\r\n await _sendSetImportanceRequest(TASK_IMPORTANCE.LOW, SaveBtnName);\r\n _changeImportanceButtonStates('TaskLowImp', 'TaskHighImp');\r\n}\r\n\r\n/**\r\n * ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Ρ€Π΅ΠΆΠΈΠΌ контроля Π·Π°Π΄Π°Ρ‡ΠΈ.\r\n *\r\n * @global\r\n * @function toggleCheckedTask\r\n * @param {string} SaveBtnName НазваниС ΠΊΠ½ΠΎΠΏΠΊΠΈ Β«Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒΒ». Кнопка станСт доступна послС наТатия Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ Π·Π°Π΄Π°Ρ‡ΠΈΒ»\r\n */\r\nasync function toggleCheckedTask(SaveBtnName) {\r\n let checkedButton = WA.CR.toolBar.buttons['CheckedTask'];\r\n let newCheckedTaskMode = !checkedButton.isSelected();\r\n\r\n await _sendSetCheckedTaskRequest(newCheckedTaskMode, SaveBtnName);\r\n _toggleButtonState('CheckedTask');\r\n}\r\n\r\n/**\r\n * ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Ρ€Π΅ΠΆΠΈΠΌ увСдомлСния ΠΎΠ± этапах.\r\n *\r\n * @global\r\n * @function toggleCheckedRoute\r\n * @param {string} SaveBtnName НазваниС ΠΊΠ½ΠΎΠΏΠΊΠΈ Β«Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒΒ». Кнопка станСт доступна послС наТатия Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ Β«Π£Π²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅ ΠΎΠ± этапах»\r\n */\r\nasync function toggleCheckedRoute(SaveBtnName) {\r\n let checkedButton = WA.CR.toolBar.buttons['CheckedRoute'];\r\n let newCheckedRouteMode = !checkedButton.isSelected();\r\n\r\n await _sendSetCheckedRouteRequest(newCheckedRouteMode, SaveBtnName);\r\n _toggleButtonState('CheckedRoute');\r\n}\r\n\r\n/**\r\n * ΠžΡ‚ΠΏΡ€Π°Π²Π»ΡΠ΅Ρ‚ запрос Π½Π° установку ваТности Π·Π°Π΄Π°Ρ‡ΠΈ.\r\n *\r\n * @global\r\n * @private\r\n * @ignore\r\n * @function _sendSetImportanceRequest\r\n * @param {TASK_IMPORTANCE} level Π’Π°ΠΆΠ½ΠΎΡΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡ΠΈ.\r\n * @param {string} SaveBtnName НазваниС ΠΊΠ½ΠΎΠΏΠΊΠΈ \"Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ\", Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π·Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Ρ‘.\r\n */\r\nfunction _sendSetImportanceRequest(level, SaveBtnName) {\r\n return new Promise((resolve, reject) => {\r\n WA.SRV.call('/Task.asmx/SetImportance', {\r\n TaskID: WA.CR.ID,\r\n Importance: level,\r\n }).done((level) => {\r\n WA.CR.toolBar.buttons[SaveBtnName].enable();\r\n WA.Task.Importance = WA.CR.Importance = level;\r\n resolve();\r\n }).fail((message) => {\r\n reject(message);\r\n });\r\n });\r\n}\r\n\r\n/**\r\n * ΠžΡ‚ΠΏΡ€Π°Π²Π»ΡΠ΅Ρ‚ запрос Π½Π° установку контроля Π·Π°Π΄Π°Ρ‡ΠΈ.\r\n *\r\n * @global\r\n * @private\r\n * @ignore\r\n * @function _sendSetCheckedTaskRequest\r\n * @param {boolean} checkedTask ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ Π·Π°Π΄Π°Ρ‡ΠΈ.\r\n * @param {string} SaveBtnName НазваниС ΠΊΠ½ΠΎΠΏΠΊΠΈ \"Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ\", Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π·Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Ρ‘.\r\n */\r\nfunction _sendSetCheckedTaskRequest(checkedTask, SaveBtnName) {\r\n return new Promise((resolve, reject) => {\r\n WA.SRV.call('/Task.asmx/SetCheckedTask', {\r\n TaskID: WA.CR.ID,\r\n CheckedTask: checkedTask,\r\n }).done((checkedTask) => {\r\n WA.CR.toolBar.buttons[SaveBtnName].enable();\r\n WA.Task.CheckedTask = WA.CR.CheckedTask = checkedTask;\r\n resolve();\r\n }).fail((message) => {\r\n reject(message);\r\n });\r\n });\r\n}\r\n\r\n/**\r\n * ΠžΡ‚ΠΏΡ€Π°Π²Π»ΡΠ΅Ρ‚ запрос Π½Π° установку увСдомлСния ΠΎΠ± этапах.\r\n *\r\n * @global\r\n * @private\r\n * @ignore\r\n * @function _sendSetCheckedRouteRequest\r\n * @param {boolean} checkedRoute Π£Π²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅ ΠΎΠ± этапах.\r\n * @param {string} SaveBtnName НазваниС ΠΊΠ½ΠΎΠΏΠΊΠΈ \"Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ\", Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ€Π°Π·Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΅Ρ‘.\r\n */\r\nfunction _sendSetCheckedRouteRequest(checkedRoute, SaveBtnName) {\r\n return new Promise((resolve, reject) => {\r\n WA.SRV.call('/Task.asmx/SetCheckedRoute', {\r\n TaskID: WA.CR.ID,\r\n CheckedRoute: checkedRoute,\r\n }).done((checkedRoute) => {\r\n WA.CR.toolBar.buttons[SaveBtnName].enable();\r\n WA.Task.CheckedRoute = WA.CR.CheckedRoute = checkedRoute;\r\n resolve();\r\n }).fail((message) => {\r\n reject(message);\r\n });\r\n });\r\n}\r\n\r\n/**\r\n * УстанавливаСт Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½ΠΎΡΡ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΎΠΊ ваТности Π·Π°Π΄Π°Ρ‡ΠΈ.\r\n *\r\n * @global\r\n * @private\r\n * @ignore\r\n * @function _changeImportanceButtonStates\r\n * @param {string} settableButtonName Имя ΠΊΠ½ΠΎΠΏΠΊΠΈ, которая Π±Ρ‹Π»Π° Π½Π°ΠΆΠ°Ρ‚Π°.\r\n * @param {string} resetButtonName Имя ΠΊΠ½ΠΎΠΏΠΊΠΈ, Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π±ΡƒΠ΄Π΅Ρ‚ снято.\r\n */\r\nfunction _changeImportanceButtonStates(settableButtonName, resetButtonName) {\r\n let settableImportanceButton = WA.CR.toolBar.buttons[settableButtonName];\r\n if (settableImportanceButton.isSelected()) {\r\n settableImportanceButton.unSelect();\r\n } else {\r\n settableImportanceButton.select();\r\n }\r\n\r\n let resetImportanceButton = WA.CR.toolBar.buttons[resetButtonName];\r\n if (resetImportanceButton.isSelected()) {\r\n resetImportanceButton.unSelect();\r\n }\r\n}\r\n\r\n/**\r\n * УстанавливаСт Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½ΠΎΡΡ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΠΈ.\r\n *\r\n * @global\r\n * @private\r\n * @ignore\r\n * @function _changeButtonState\r\n * @param {string} buttonName Имя ΠΊΠ½ΠΎΠΏΠΊΠΈ, которая Π±Ρ‹Π»Π° Π½Π°ΠΆΠ°Ρ‚Π°.\r\n * @param {boolean} isSelected УстанавливаСмоС состояниС выдСлСния.\r\n */\r\nfunction _toggleButtonState(buttonName) {\r\n let button = WA.CR.toolBar.buttons[buttonName];\r\n if (button.isSelected()) {\r\n button.unSelect();\r\n } else {\r\n button.select();\r\n }\r\n}\r\n\r\n/**\r\n * УстанавливаСт Π²Π°ΠΆΠ½ΠΎΡΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡ΠΈ.\r\n *\r\n * @global\r\n * @private\r\n * @ignore\r\n * @function DoImportance\r\n * @param {object} el DOM-элСмСнт ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΏΠ°Π½Π΅Π»ΠΈ дСйствий.\r\n * @param {string} val УстанавливаСмая Π²Π°ΠΆΠ½ΠΎΡΡ‚ΡŒ.\r\n * @param {string} css ДобавляСмый класс.\r\n * @deprecated since 5.6.0.1300\r\n */\r\nfunction DoImportance(el, val, css) {\r\n UnbindBeforeUnload();\r\n MakeRequestImportance(GetParamInURL('id'), val, function (res) {\r\n if (res.d) {\r\n if ($(el).hasClass(css)) {\r\n $(el).removeClass(css);\r\n } else {\r\n $(el).addClass(css);\r\n }\r\n if (val === 'High') {\r\n $(el).next().removeClass(css);\r\n } else if (val === 'Low') {\r\n $(el).prev().removeClass(css);\r\n }\r\n }\r\n });\r\n}\r\n\r\n/**\r\n * Π‘Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ запрос Π½Π° установку ваТности.\r\n *\r\n * @global\r\n * @private\r\n * @ignore\r\n * @function MakeRequestImportance\r\n * @param {number} TaskID Π˜Π” Π·Π°Π΄Π°Ρ‡ΠΈ.\r\n * @param {string} Value УстанавливаСмая Π²Π°ΠΆΠ½ΠΎΡΡ‚ΡŒ.\r\n * @param {function} CallbackFunc Callback-функция.\r\n * @deprecated since 5.6.0.1300\r\n */\r\nfunction MakeRequestImportance(TaskID, Value, CallbackFunc) {\r\n var WSSParam = GetWSSParam(location.href, true);\r\n $.ajax({\r\n type: 'POST',\r\n contentType: 'application/json; charset=utf-8',\r\n dataType: 'json',\r\n url: '/Task.asmx/DoImportance' + WSSParam,\r\n data: '{\"TaskID\":\"' + TaskID + '\", \"Value\":\"' + Value + '\"}',\r\n success: function (res) {\r\n if (!CheckForLoginPage(res.d)) {\r\n CallbackFunc(res);\r\n }\r\n }\r\n });\r\n}\r\n\r\n/**\r\n * УстанавливаСт Π²Ρ‹ΡΠΎΠΊΡƒΡŽ Π²Π°ΠΆΠ½ΠΎΡΡ‚ΡŒ для Π·Π°Π΄Π°Ρ‡ΠΈ.\r\n *\r\n * @global\r\n * @function DoHighImportance\r\n * @param {object} el DOM-элСмСнт ΠΊΠ½ΠΎΠΏΠΊΠΈ \"Высокая Π²Π°ΠΆΠ½ΠΎΡΡ‚ΡŒ\".\r\n * @deprecated since 5.6.0.1300\r\n */\r\nfunction DoHighImportance(el) {\r\n DoImportance(el, 'High', 'selected');\r\n}\r\n\r\n/**\r\n * УстанавливаСт Π½ΠΈΠ·ΠΊΡƒΡŽ Π²Π°ΠΆΠ½ΠΎΡΡ‚ΡŒ для Π·Π°Π΄Π°Ρ‡ΠΈ.\r\n *\r\n * @global\r\n * @function DoLowImportance\r\n * @param {object} el DOM-элСмСнт ΠΊΠ½ΠΎΠΏΠΊΠΈ \"Низкая Π²Π°ΠΆΠ½ΠΎΡΡ‚ΡŒ\".\r\n * @deprecated since 5.6.0.1300\r\n */\r\nfunction DoLowImportance(el) {\r\n DoImportance(el, 'Low', 'selected');\r\n}","/**\r\n * ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ список Π˜Π” ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΈΠ· значСния Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° Ρ„ΠΎΡ€ΠΌΡ‹.\r\n *\r\n * @global\r\n * @private\r\n * @ignore\r\n * @function _getUserList\r\n * @param {string} sourceVal Π‘Ρ‚Ρ€ΠΎΠΊΠ° со Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°.\r\n * @returns {number[]} Массив Π˜Π”.\r\n */\r\nfunction _getUserList(sourceVal) {\r\n if (sourceVal) {\r\n return sourceVal.split(';').map((val) => {\r\n // ToDo: ΠΈΡΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ это Π½Π΅Π΄ΠΎΡ€Π°Π·ΡƒΠΌΠ΅Π½ΠΈΠ΅\r\n if (val.indexOf('_') + 1) {\r\n return val.split('_')[1];\r\n } else {\r\n return val.split(':')[1];\r\n }\r\n });\r\n } else {\r\n return [];\r\n }\r\n}\r\n\r\n/**\r\n * ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ‚ΠΈΠΏ задания.\r\n *\r\n * @global\r\n * @private\r\n * @ignore\r\n * @function _getJobKind\r\n * @returns {JOB_KIND|integer} Π’ΠΈΠΏ Π·Π°Π΄Π°Π½ΠΈΠΉ.\r\n */\r\nfunction _getJobKind() {\r\n if ($('input#hiddCardContrrolJobsType').val() === 'J') {\r\n return JOB_KIND.JOB;\r\n } else {\r\n return JOB_KIND.NOTICE;\r\n }\r\n}\r\n\r\n/**\r\n * ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ сСлСктор для срока Π·Π°Π΄Π°Ρ‡ΠΈ.\r\n *\r\n * @global\r\n * @private\r\n * @function _getTaskDeadlineSelector\r\n * @returns {string} Π‘Π΅Π»Π΅ΠΊΡ‚ΠΎΡ€ для срока Π·Π°Π΄Π°Ρ‡ΠΈ.\r\n */\r\nfunction _getTaskDeadlineSelector() {\r\n return '#CardContrrolStepsDeadline';\r\n}\r\n\r\n/**\r\n * ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ список ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² запроса.\r\n *\r\n * @global\r\n * @private\r\n * @ignore\r\n * @function _getQueryParams\r\n * @returns {object} ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ запроса.\r\n */\r\nfunction _getQueryParams() {\r\n return {\r\n TaskID: WA.CR.ID,\r\n Subject: $('input#CardContrrolSubject').val(),\r\n ActiveText: $('textarea#CardContrrolEditedText').val(),\r\n Observers: _getUserList($('input[name=CardContrrolObservers]').val()),\r\n Performers: _getUserList($('input#hSelID_CardContrrolRoute').val()),\r\n JobKind: _getJobKind(),\r\n Deadline: $(_getTaskDeadlineSelector()).val() || '',\r\n InitiatorId: $('#hSelID_CardContrrolInitiator').val(),\r\n RouteType: $('#hiddCardContrrolRouteType').val() || '',\r\n Rights: $('#hiddCardContrrolRightsType').val(),\r\n IsEncyptEnabled: $('#EncryptWithCertCheck').is(':checked')\r\n };\r\n}\r\n\r\n/**\r\n * ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠ°ΠΏΠΊΡƒ \"ВходящиС\".\r\n *\r\n * @global\r\n * @private\r\n * @ignore\r\n * @function _updateFolderList\r\n */\r\nfunction _updateFolderList() {\r\n if (opener && opener.WA.getLocation() === 'explorer' && opener.WA.CR.objectList) {\r\n opener.WA.CR.objectList.reload();\r\n }\r\n}\r\n\r\n/**\r\n * ПолноС ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π²ΠΊΠ»Π°Π΄ΠΊΠΈ ΠšΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠ°.\r\n *\r\n * @global\r\n * @private\r\n * @ignore\r\n * @function _cardTabFullUpdate\r\n * @param {object} model МодСль всСй Π²ΠΊΠ»Π°Π΄ΠΊΠΈ ΠšΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠΈ.\r\n */\r\nfunction _cardTabFullUpdate(model) {\r\n WA.CR.initOrUpdateCardTab(model.cardTabModel);\r\n\r\n const headerElement = $('.react-container')[0];\r\n if (!WA.CR.IsNew) {\r\n WA.CR.initCardHeader(\r\n headerElement,\r\n model.cardHeaderModel,\r\n );\r\n }\r\n}\r\n\r\n/**\r\n * Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡Ρƒ.\r\n *\r\n * @global\r\n * @function saveTask\r\n */\r\nfunction saveTask() {\r\n WA.SRV.call('Task.asmx/Save', _getQueryParams()).done((model) => {\r\n let modelWrapper = JSON.parse(model);\r\n WA.CR.IsNew = modelWrapper.isNew;\r\n _cardTabFullUpdate(modelWrapper.model);\r\n // Π Π°Π·Π΄ΠΈΠ·Π΅ΠΉΠ±Π»ΠΈΠΌ Π²ΠΊΠ»Π°Π΄ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΡ‹ Π΄ΠΈΠ·Π΅ΠΉΠ±Π»ΠΈΠ»ΠΈ Π² бэСкСндС для Π½ΠΎΠ²ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ.\r\n if (!WA.CR.IsNew) {\r\n let sideBarTabs = WA.CR.sideBar.tabs.toArray();\r\n let tabIdsToEnable = [\r\n TAB_TYPE.HISTORY,\r\n TAB_TYPE.ROUTE_SCHEME,\r\n ];\r\n let tabNamesToEnable = tabIdsToEnable.map((tabId) => {\r\n return WA.CR._getTabName(tabId);\r\n });\r\n sideBarTabs.forEach((tab) => {\r\n if (tabNamesToEnable.includes(tab.name)) {\r\n tab.enable();\r\n }\r\n });\r\n }\r\n });\r\n}\r\n\r\n/**\r\n * Π‘Ρ‚Π°Ρ€Ρ‚ΠΎΠ²Π°Ρ‚ΡŒ Π·Π°Π΄Π°Ρ‡Ρƒ.\r\n *\r\n * @global\r\n * @function startTask\r\n * @param {object} model МодСль Π·Π°Π΄Π°Ρ‡ΠΈ.\r\n * @param {ACCESS_RIGHTS} accessRights УстанавливаСмыС ΠΏΡ€Π°Π²Π° доступа.\r\n */\r\nfunction startTask(model = _getQueryParams(), accessRights = ACCESS_RIGHTS.NO_ACCESS) {\r\n const params = Object.assign(model, {\r\n AccessRights: accessRights,\r\n });\r\n\r\n const callStartTask = () => {\r\n changeTaskButtons(true);\r\n\r\n WA.SRV.call('Task.asmx/Start', params,null,null,true).done((maxRights) => {\r\n // ΠŸΡ€Π΅Π΄ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅ΠΌ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΡƒ старта Π·Π°Π΄Π°Ρ‡ΠΈ. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Π° ситуация, ΠΊΠΎΠ³Π΄Π°\r\n // исполнитСлям ΠΏΠΎ Π·Π°Π΄Π°Ρ‡Π΅ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ…Π²Π°Ρ‚Π°Ρ‚ΡŒ ΠΏΡ€Π°Π² Π½Π° Π·Π°Π΄Π°Ρ‡Ρƒ.\r\n // НСобходимо Π·Π°ΠΏΡ€ΠΎΡΠΈΡ‚ΡŒ ΠΈΡ….\r\n if (maxRights && maxRights != ACCESS_RIGHTS.NO_ACCESS) {\r\n Core.customWorks.showAccessRightsDialog(maxRights, {\r\n View : () => startTask(model, ACCESS_RIGHTS.VIEW),\r\n Change: () => startTask(model, ACCESS_RIGHTS.CHANGE),\r\n Full: () => startTask(model, ACCESS_RIGHTS.FULL),\r\n Ignore: () => startTask(model, ACCESS_RIGHTS.EMPTY),\r\n }, L('WARN_ASSIGN_TASK_ATTACHMENTS_RIGHTS_DLG_MSG'));\r\n } else {\r\n _updateFolderList();\r\n WA.CR.window.unbind('beforeClose');\r\n window.close();\r\n }\r\n })\r\n .error((errorText,result)=> {\r\n var maxRights = result.Result;\r\n if (maxRights != ACCESS_RIGHTS.NO_ACCESS) {\r\n let dialogMessage = L('WRN_CANNOT_SET_ATTACHMENTS_RIGHTS') + '
    ' + errorText;\r\n Core.customWorks.showAccessRightsDialog(maxRights, {\r\n View : () => startTask(model, ACCESS_RIGHTS.VIEW),\r\n Change: () => startTask(model, ACCESS_RIGHTS.CHANGE),\r\n Full: () => startTask(model, ACCESS_RIGHTS.FULL),\r\n Ignore: () => startTask(model, ACCESS_RIGHTS.EMPTY),\r\n }, dialogMessage);\r\n } else {\r\n WA.CR.inlineHint.showError(errorText);\r\n }\r\n changeTaskButtons(false);\r\n });\r\n };\r\n\r\n const showTaskDeadlineActualizeDialog = () => {\r\n const taskDeadlineActualizeButtons = [\r\n {\r\n id: 'ActualizeButton',\r\n caption: L('ACTUALIZE'),\r\n onClick: () => {\r\n taskDeadlineActualizeDialog.bind(WA.CMP.dialogs.MessageBox.EVENT.AFTER_CLOSE, (dialog) => {\r\n $(_getTaskDeadlineSelector()).focus();\r\n });\r\n },\r\n },\r\n {\r\n id: 'NoActualizeButton',\r\n caption: L('NOACTUALIZE'),\r\n onClick: callStartTask,\r\n }\r\n ];\r\n const taskDeadlineActualizeDialog = new WA.CMP.dialogs.MessageBox();\r\n for (const buttonModel of taskDeadlineActualizeButtons) {\r\n taskDeadlineActualizeDialog.addButton(buttonModel.id, buttonModel.caption, buttonModel.onClick);\r\n }\r\n taskDeadlineActualizeDialog.isShowOkButton = false;\r\n taskDeadlineActualizeDialog.isShowCancelButton = true;\r\n\r\n taskDeadlineActualizeDialog.showQuestion(L('TASK_DEADLINE_ACTUALIZE_MSG'));\r\n };\r\n\r\n const changeTaskButtons = (needDisable) => {\r\n const buttons = [\"StartTask\", \"Save\"];\r\n for (const buttonName of buttons) {\r\n const button = WA.CR.toolBar.buttons[buttonName];\r\n if (button) {\r\n if (needDisable) {\r\n button.disable();\r\n } else {\r\n button.enable();\r\n }\r\n }\r\n }\r\n };\r\n\r\n let isDeadlineActual = true;\r\n if (params.Deadline) {\r\n const deadLine = parseDateTime(params.Deadline);\r\n if (deadLine) {\r\n // Если врСмя Π½Π΅ Π·Π°Π΄Π°Π½ΠΎ, Ρ‚ΠΎ срок выполнСния ставим Π½Π° ΠΊΠΎΠ½Π΅Ρ† суток, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ ΡΡ€Π°Π²Π½ΠΈΠ²Π°Ρ‚ΡŒ с Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ Π΄Π°Ρ‚ΠΎΠΉ\r\n if (deadLine.getHours() === 0 && deadLine.getMinutes() === 0 && deadLine.getSeconds() === 0) {\r\n deadLine.setHours(23);\r\n deadLine.setMinutes(59);\r\n deadLine.setSeconds(59);\r\n }\r\n const difference = (Date.now() - deadLine.getTime());\r\n isDeadlineActual = (difference <= 0);\r\n }\r\n }\r\n\r\n if (isDeadlineActual) {\r\n callStartTask();\r\n } else {\r\n showTaskDeadlineActualizeDialog();\r\n }\r\n}\r\n\r\n/**\r\n * ΠŸΡ€Π΅ΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡Ρƒ.\r\n *\r\n * @global\r\n * @function abortTask\r\n */\r\nfunction abortTask() {\r\n Core.toolBars.job.showRequestActionOnSubtasksDialog('', () => {\r\n WA.SRV.call('Task.asmx/Abort', {\r\n TaskID: WA.CR.ID\r\n }).done((model) => {\r\n _updateFolderList();\r\n _cardTabFullUpdate(JSON.parse(model));\r\n });\r\n }, true);\r\n}\r\n\r\n/**\r\n * Π’ΠΎΠ·ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡Ρƒ.\r\n *\r\n * @global\r\n * @function restoreTask\r\n */\r\nfunction restoreTask() {\r\n WA.SRV.call('Task.asmx/Restore', {\r\n TaskID: WA.CR.ID\r\n }).done((model) => {\r\n _updateFolderList();\r\n WA.CR.window.unbind('beforeClose');\r\n window.close();\r\n });\r\n}\r\n\r\n/**\r\n * Π Π΅ΡΡ‚Π°Ρ€Ρ‚ΠΎΠ²Π°Ρ‚ΡŒ Π·Π°Π΄Π°Ρ‡Ρƒ.\r\n *\r\n * @global\r\n * @function restartTask\r\n */\r\nfunction restartTask() {\r\n WA.SRV.call('Task.asmx/Restart', {\r\n TaskID: WA.CR.ID\r\n }).done((model) => {\r\n _updateFolderList();\r\n _cardTabFullUpdate(JSON.parse(model));\r\n });\r\n}\r\n\r\n/**\r\n * ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΌΠ΅ΠΆΠ΄Ρƒ Ρ€Π΅ΠΆΠΈΠΌΠΎΠΌ чтСния ΠΈ рСдактирования.\r\n *\r\n * @global\r\n * @function toggleChange\r\n * @param {WA.CMP.wrappers.toolBar.ReactToolBarButton|WA.CMP.wrappers.toolBar.ToolBarButton} btn Кнопка ΠΏΠ°Π½Π΅Π»ΠΈ дСйствий.\r\n */\r\nfunction toggleChange(btn) {\r\n const isEditMode = btn.isSelected();\r\n const params = {\r\n TaskID: WA.CR.ID,\r\n IsEditMode: isEditMode,\r\n };\r\n if (isEditMode && WA.CR.CardTab.mainTab && WA.CR.CardTab.mainTab.isModifiedByUser()) {\r\n ConfirmDialogNew(L('UNSAVED_CHANGES_WILL_BE_LOST'), () => {\r\n WA.SRV.call('Task.asmx/ToggleChange', params).done((model) => _cardTabFullUpdate(JSON.parse(model)));\r\n });\r\n } else {\r\n WA.SRV.call('Task.asmx/ToggleChange', params).done((model) => _cardTabFullUpdate(JSON.parse(model)));\r\n }\r\n}\r\n\r\n/**\r\n * ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ события измСнСния значСния Π²ΠΈΠ΄Π° задания.\r\n *\r\n * @global\r\n * @function onJobKindChange\r\n * @param control Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ управлСния Π²Ρ‹Π±ΠΎΡ€Π° Ρ‚ΠΈΠΏΠ° задания\r\n */\r\nfunction onJobKindChange(control) {\r\n if (!!control && control.getValue() === 'N') {\r\n if (WA.Task.CheckedTask) {\r\n toggleCheckedTask('Save');\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * Π‘Ρ‚Π°Ρ€Ρ‚ Π·Π°Π΄Π°Ρ‡ΠΈ.\r\n *\r\n * @global\r\n * @function StartTask\r\n * @deprecated since 5.6. Use startTask function instead.\r\n */\r\nfunction StartTask() {\r\n startTask();\r\n}\r\n\r\n/**\r\n * ΠŸΡ€Π΅ΠΊΡ€Π°Ρ‰Π΅Π½ΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ.\r\n *\r\n * @global\r\n * @function AbortTask\r\n * @deprecated since 5.6. Use abortTask function instead.\r\n */\r\nfunction AbortTask() {\r\n abortTask();\r\n}\r\n\r\n/**\r\n * РСстарт Π·Π°Π΄Π°Ρ‡ΠΈ.\r\n *\r\n * @global\r\n * @function RestartTask\r\n * @deprecated since 5.6. Use restartTask function instead.\r\n */\r\nfunction RestartTask() {\r\n restartTask();\r\n}\r\n\r\n/**\r\n * Π’ΠΎΠ·ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ.\r\n *\r\n * @global\r\n * @function RestoreTask\r\n * @deprecated since 5.6. Use restoreTask function instead.\r\n */\r\nfunction RestoreTask() {\r\n restoreTask();\r\n}","'use strict';\r\n\r\n/**\r\n* Кнопка ΠΏΠ°Π½Π΅Π»ΠΈ дСйствий.\r\n* \r\n* @class WebAccess.components.wrappers.toolBar.ToolBarButton\r\n* @extends WebAccess.components.wrappers.BasePageElement\r\n* @property {string} name Имя ΠΊΠ½ΠΎΠΏΠΊΠΈ\r\n* @property {group} groupName Π“Ρ€ΡƒΠΏΠΏΠ°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ находится ΠΊΠ½ΠΎΠΏΠΊΠ°\r\n* @property {string} selector ΠŸΡƒΡ‚ΡŒ Π² DOM-ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ ΠΊΠ½ΠΎΠΏΠΊΠΈ, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ div.content#container \r\n* @property {boolean} isSynthetic ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ° Π±Ρ‹Π»Π° создана срСдствами API\r\n* @param {string} itemSelector Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ элСмСнт страницы\r\n*/\r\n\r\n(function (global) {\r\n\r\n var buttonSelector = \"div.toolbar_button\";\r\n var groupSelector = \"div.toolbar_group\";\r\n\r\n // ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ доступности дСйствия, Ссли Π² области Π²Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π²Ρ‹Π΄Π΅Π»Π΅Π½ хотя Π±Ρ‹ ΠΎΠ΄ΠΈΠ½ элСмСнт.\r\n var isEnabledOnAttachmentSelected = 1 << 0;\r\n\r\n // ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ доступности дСйствия, Ссли Π—Π—Π£ ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‰Π΅Π½ΠΎ.\r\n var isEnabledOnAborted = 1 << 1;\r\n\r\n // ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ доступности дСйствия, Ссли Π—Π—Π£ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ.\r\n var isEnabledOnDone = 1 << 2;\r\n\r\n // ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ доступности дСйствия, Ссли Π—Π—Π£ Π² Ρ€Π°Π±ΠΎΡ‚Π΅.\r\n var isEnabledOnRunning = 1 << 3;\r\n\r\n var ToolBarButton = global.components.wrappers.BasePageElement.extend({\r\n init: function (itemSelector) {\r\n this._super(itemSelector);\r\n this.selector = format(this._byNameSelectorTemplate, buttonSelector, this.name);\r\n this.groupName = this._jObject.parents(groupSelector).attr(\"name\");\r\n this._jGroup = this._jObject.parents(groupSelector);\r\n\r\n // Установка свойства связанного ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠ³ΠΎ дСйствия\r\n this._linkedAction = this._jObject.data('linkedaction');\r\n this._enabledMode = this._jObject.data('enabledmode');\r\n var enabledWhen = this._jObject.data('enabledwhen');\r\n if (enabledWhen) {\r\n this._enabledWhen = enabledWhen;\r\n }\r\n let contentsActionEnableMode = this._jObject.data('contentsactionenablemode');\r\n if (contentsActionEnableMode){\r\n this._contentsActionEnableMode = contentsActionEnableMode;\r\n }\r\n\r\n // ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ тСксты Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰ΠΈΡ… подсказок\r\n this._disabledHint = this._jObject.data('disabledhint');\r\n this._hint = this._jObject.data('hint');\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n className: 'ToolBarButton',\r\n groupName: '',\r\n isSynthetic: false,\r\n _jGroup: null,\r\n _inlineEvent: '',\r\n _linkedAction: null,\r\n _enabledMode: null,\r\n _disabledHint: '',\r\n _hint: '',\r\n _enabledWhen: null,\r\n _contentsActionEnableMode: 0,\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π˜Π·ΠΌΠ΅Π½ΡΠ΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΊΠ½ΠΎΠΏΠΊΠΈ.\r\n * Π Π°Π·ΠΌΠ΅Ρ€ ΠΊΠ½ΠΎΠΏΠΊΠΈ рСгулируСтся ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΈ скрытиСм Π΅Π΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°.\r\n *\r\n * @deprecated since 5.6. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ hideCaption ΠΈ showCaption.\r\n * @method WebAccess.components.wrappers.toolBar.ToolBarButton#convertTo\r\n * @param {BUTTON} buttonType Π’ΠΈΠΏ ΠΊΠ½ΠΎΠΏΠΊΠΈ\r\n * @return {WebAccess.components.wrappers.toolBar.ToolBarButton} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° ToolBarButton.\r\n * @since 5.0.0.4104\r\n */\r\n convertTo(buttonType) {\r\n this._warnAboutDeprecatedMethod(arguments.callee.name);\r\n return (buttonType === BUTTON.LARGE) ? this.showCaption() : this.hideCaption();\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n\r\n /**\r\n * Π‘ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΠΊΠ½ΠΎΠΏΠΊΠΈ.\r\n *\r\n * @method WebAccess.components.wrappers.toolBar.ToolBarButton#hideCaption\r\n * @since 5.6.0.1300\r\n */\r\n hideCaption() {\r\n if (this.isCaptionVisible()) {\r\n this._jObject.removeClass('toolbar_item').addClass('small_toolbar_item');\r\n }\r\n return this;\r\n },\r\n\r\n /**\r\n * ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΠΊΠ½ΠΎΠΏΠΊΠΈ.\r\n *\r\n * @method WebAccess.components.wrappers.toolBar.ToolBarButton#showCaption\r\n * @since 5.6.0.1300\r\n */\r\n showCaption() {\r\n if (!this.isCaptionVisible()) {\r\n this._jObject.removeClass('small_toolbar_item').addClass('toolbar_item');\r\n }\r\n return this;\r\n },\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ имя ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠ³ΠΎ дСйствия, связанного с ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ дСйствий.\r\n * @method WebAccess.components.wrappers.toolBar.ToolBarButton#getLinkedAction\r\n * @return {string} Имя ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠ³ΠΎ дСйствия, Ссли дСйствиС ΡƒΠΊΠ°Π·Π°Π½ΠΎ, ΠΈΠ½Π°Ρ‡Π΅ пустая строка.\r\n */\r\n getLinkedAction() {\r\n return this._linkedAction;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Ρ€Π΅ΠΆΠΈΠΌ доступности ΠΊΠ½ΠΎΠΏΠΊΠΈ.\r\n * @method WebAccess.components.wrappers.toolBar.ToolBarButton#getEnabledMode\r\n\t* @return {ACTION_ENABLED_MODE} Π Π΅ΠΆΠΈΠΌ доступности ΠΊΠ½ΠΎΠΏΠΊΠΈ.\r\n */\r\n getEnabledMode() {\r\n return this._enabledMode;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Ρ€Π΅ΠΆΠΈΠΌ доступности ΠΊΠ½ΠΎΠΏΠΊΠΈ, Ссли Π² области Π²Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π²Ρ‹Π΄Π΅Π»Π΅Π½ хотя Π±Ρ‹ ΠΎΠ΄ΠΈΠ½ элСмСнт.\r\n *\r\n * @method WebAccess.components.wrappers.toolBar.ToolBarButton#getIsEnabledOnAttachnentSelected\r\n * @deprecated since 5.6. Use getIsEnabledOnAttachmentSelected instead.\r\n * @returns {boolean} True - Ссли ΠΊΠ½ΠΎΠΏΠΊΠ° доступна, ΠΈΠ½Π°Ρ‡Π΅ False.\r\n */\r\n getIsEnabledOnAttachnentSelected() {\r\n this._warnAboutDeprecatedMethod(arguments.callee.name);\r\n return this.getIsEnabledOnAttachmentSelected();\r\n },\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Ρ€Π΅ΠΆΠΈΠΌ доступности ΠΊΠ½ΠΎΠΏΠΊΠΈ, Ссли Π² области Π²Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π²Ρ‹Π΄Π΅Π»Π΅Π½ хотя Π±Ρ‹ ΠΎΠ΄ΠΈΠ½ элСмСнт.\r\n *\r\n * @method WebAccess.components.wrappers.toolBar.ToolBarButton#getIsEnabledOnAttachmentSelected\r\n * @return {boolean} True - ΠΊΠ½ΠΎΠΏΠΊΠ° доступна, ΠΈΠ½Π°Ρ‡Π΅ False.\r\n */\r\n getIsEnabledOnAttachmentSelected() {\r\n if (this._enabledWhen) {\r\n return Boolean(this._enabledWhen & isEnabledOnAttachmentSelected);\r\n }\r\n return false;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Ρ€Π΅ΠΆΠΈΠΌ доступности ΠΊΠ½ΠΎΠΏΠΊΠΈ для состояния \"ΠŸΡ€Π΅ΠΊΡ€Π°Ρ‰Π΅Π½ΠΎ\".\r\n * @method WebAccess.components.wrappers.toolBar.ToolBarButton#getIsEnabledOnAborted\r\n * @return {boolean} True - ΠΊΠ½ΠΎΠΏΠΊΠ° доступна, ΠΈΠ½Π°Ρ‡Π΅ False.\r\n */\r\n getIsEnabledOnAborted() {\r\n if (this._enabledWhen) {\r\n return Boolean(this._enabledWhen & isEnabledOnAborted);\r\n }\r\n return true;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Ρ€Π΅ΠΆΠΈΠΌ доступности ΠΊΠ½ΠΎΠΏΠΊΠΈ для состояния \"Π’Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ\".\r\n * @method WebAccess.components.wrappers.toolBar.ToolBarButton#getIsEnabledOnDone\r\n * @return {boolean} True - ΠΊΠ½ΠΎΠΏΠΊΠ° доступна, ΠΈΠ½Π°Ρ‡Π΅ False.\r\n */\r\n getIsEnabledOnDone() {\r\n if (this._enabledWhen) {\r\n return Boolean(this._enabledWhen & isEnabledOnDone);\r\n }\r\n return true;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Ρ€Π΅ΠΆΠΈΠΌ доступности ΠΊΠ½ΠΎΠΏΠΊΠΈ для состояния \"Π’ Ρ€Π°Π±ΠΎΡ‚Π΅\".\r\n * @method WebAccess.components.wrappers.toolBar.ToolBarButton#getIsEnabledOnRunning\r\n * @return {boolean} True - ΠΊΠ½ΠΎΠΏΠΊΠ° доступна, ΠΈΠ½Π°Ρ‡Π΅ False.\r\n */\r\n getIsEnabledOnRunning() {\r\n if (this._enabledWhen) {\r\n return Boolean(this._enabledWhen & isEnabledOnRunning);\r\n }\r\n return true;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ° Π½Π°ΠΆΠ°Ρ‚Π°.\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Ρ€Π΅ΠΆΠΈΠΌ доступности ΠΊΠ½ΠΎΠΏΠΊΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… записСй.\r\n * @method WebAccess.components.wrappers.toolBar.ToolBarButton#getIsEnabledOnlyForSelected\r\n * @return {boolean} True - ΠΊΠ½ΠΎΠΏΠΊΠ° доступна, ΠΈΠ½Π°Ρ‡Π΅ False.\r\n */\r\n getIsEnabledOnlyForSelected() {\r\n return Boolean(this._contentsActionEnableMode & CONTENTS_ACTION_ENABLED_MODE.ENABLED_ONLY_FOR_SELECTED);\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Ρ€Π΅ΠΆΠΈΠΌ доступности ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΏΡ€ΠΈ мноТСствСнном Π²Ρ‹Π±ΠΎΡ€Π΅.\r\n * @method WebAccess.components.wrappers.toolBar.ToolBarButton#getIsEnabledWhenMultiSelect\r\n * @return {boolean} True - ΠΊΠ½ΠΎΠΏΠΊΠ° доступна, ΠΈΠ½Π°Ρ‡Π΅ False.\r\n */\r\n getIsEnabledWhenMultiSelect() {\r\n return Boolean(this._contentsActionEnableMode & CONTENTS_ACTION_ENABLED_MODE.ENABLED_WHEN_MULTISELECT);\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ° Π½Π°ΠΆΠ°Ρ‚Π°.\r\n *\r\n * @method WebAccess.components.wrappers.toolBar.ToolBarButton#isSelected\r\n * @return {boolean} True, Ссли ΠΊΠ½ΠΎΠΏΠΊΠ° Π½Π°ΠΆΠ°Ρ‚Π°, ΠΈΠ½Π°Ρ‡Π΅ False.\r\n * @since 5.3.0.1104\r\n */\r\n isSelected() {\r\n return this._jObject.hasClass(\"selected\");\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ ΠΊΠ½ΠΎΠΏΠΊΠΈ малСнького Ρ€Π°Π·ΠΌΠ΅Ρ€Π°.\r\n *\r\n * @deprecated since 5.6. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ isCaptionVisible.\r\n * @method WebAccess.components.wrappers.toolBar.ToolBarButton#isSmall\r\n * @returns {boolean} TRUE, Ссли ΠΊΠ½ΠΎΠΏΠΊΠ° ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½Π° (Ρƒ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π½Π΅ отобраТаСтся Π½Π°Π·Π²Π°Π½ΠΈΠ΅), ΠΈΠ½Π°Ρ‡Π΅ - FALSE.\r\n * @since 5.0.0.4104\r\n */\r\n isSmall() {\r\n this._warnAboutDeprecatedMethod(arguments.callee.name);\r\n return !this.isCaptionVisible();\r\n },\r\n\r\n /**\r\n * ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ видимости названия ΠΊΠ½ΠΎΠΏΠΊΠΈ.\r\n *\r\n * @method WebAccess.components.wrappers.toolBar.ToolBarButton#isCaptionVisible\r\n * @returns {boolean} TRUE, Ссли Ρƒ ΠΊΠ½ΠΎΠΏΠΊΠΈ отобраТаСтся Π½Π°Π·Π²Π°Π½ΠΈΠ΅, ΠΈΠ½Π°Ρ‡Π΅ - FALSE.\r\n * @since 5.6.0.9072\r\n */\r\n isCaptionVisible() {\r\n return !this._jObject.hasClass('small_toolbar_item');\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΡƒΡŽ Π³Ρ€ΡƒΠΏΠΏΡƒ ΠΊΠ½ΠΎΠΏΠΎΠΊ.\r\n *\r\n * @method WebAccess.components.wrappers.toolBar.ToolBarButton#getParentGroup\r\n * @returns {WebAccess.components.wrappers.toolBar.ToolBarGroup} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° WebAccess.components.wrappers.toolBar.ToolBarGroup.\r\n * @since 5.6.0.1300\r\n */\r\n getParentGroup() {\r\n this.groupName = this._jObject.parents(groupSelector).attr(\"name\");\r\n return global.current.toolBar.groups[this.groupName];\r\n },\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΡƒΡŽ Π³Ρ€ΡƒΠΏΠΏΡƒ ΠΊΠ½ΠΎΠΏΠΎΠΊ.\r\n *\r\n * @method WebAccess.components.wrappers.toolBar.ToolBarButton#group\r\n * @return {WebAccess.components.wrappers.toolBar.ToolBarGroup} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° WebAccess.components.wrappers.toolBar.ToolBarGroup.\r\n * @deprecated since 5.6. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄ getParentGroup.\r\n */\r\n group() {\r\n this._warnAboutDeprecatedMethod(arguments.callee.name);\r\n return this.getParentGroup();\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n click(opt_callback) {\r\n if ($.isFunction(opt_callback)) {\r\n this.unbind(\"click\");\r\n };\r\n this._super(opt_callback);\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n bind(event, callback) {\r\n this._super(event, callback);\r\n if (this.isSynthetic && event == \"click\") { //Π£Π±ΠΈΡ€Π°Π΅ΠΌ Π°Π»Π΅Ρ€Ρ‚ с подсказкой\r\n this._jObject.removeAttr(\"onclick\"); // Π—Π΄Π΅ΡΡŒ ΠΈΠΌΠ΅Π½Π½ΠΎ Ρ‚Π°ΠΊ \r\n this._jObject.prop(\"onclick\", null); // ΠΈΠΌΠ΅Π½Π½ΠΎ Π΄Π²Π΅ строки\r\n }\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π”Π΅Π»Π°Π΅Ρ‚ ΠΊΠ½ΠΎΠΏΠΊΡƒ нСдоступной.\r\n * \r\n * @method WebAccess.components.wrappers.toolBar.ToolBarButton#disable\r\n * @return {WebAccess.components.wrappers.toolBar.ToolBarButton} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° ToolBarButton.\r\n */\r\n disable() {\r\n this._super();\r\n this._setActualHint();\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π”Π΅Π»Π°Π΅Ρ‚ ΠΊΠ½ΠΎΠΏΠΊΡƒ доступной.\r\n * \r\n * @method WebAccess.components.wrappers.toolBar.ToolBarButton#enable\r\n * @return {WebAccess.components.wrappers.toolBar.ToolBarButton} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° ToolBarButton.\r\n */\r\n enable() {\r\n this._super();\r\n this._setActualHint();\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * УстанавливаСт тСкст Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ подсказки.\r\n * \r\n * @method WebAccess.components.wrappers.toolBar.ToolBarButton#setHints\r\n * @param {string} hint ВСкст Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ подсказки.\r\n * @param {string} disabledHint ВСкст Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ подсказки для нСдоступной ΠΊΠ½ΠΎΠΏΠΊΠΈ.\r\n * @return {WebAccess.components.wrappers.toolBar.ToolBarButton} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° ToolBarButton.\r\n */\r\n setHints(hint, disabledHint) {\r\n var me = this;\r\n me._hint = hint;\r\n me._disabledHint = disabledHint;\r\n me._setActualHint();\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ подсказку Π½Π° основС состояния дСйствия ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ свойств.\r\n *\r\n * @private\r\n * @method WebAccess.components.wrappers.toolBar.ToolBarButton#_setActualHint\r\n * @return {WebAccess.components.wrappers.toolBar.ToolBarButton}\r\n */\r\n _setActualHint() {\r\n var me = this;\r\n if (!me.isEnabled() && me._disabledHint) {\r\n me.setTooltip(me._disabledHint);\r\n } else {\r\n if (me._hint) {\r\n me.setTooltip(me._hint);\r\n } else {\r\n me.setTooltip(me.getLabel());\r\n }\r\n }\r\n }\r\n });\r\n\r\n global.components.wrappers.toolBar.ToolBarButton = ToolBarButton;\r\n})(window.WebAccess);","'use strict';\r\n\r\n(function(global) {\r\n /**\r\n * Класс ΠΊΠ½ΠΎΠΏΠΊΠΈ React-ΠΏΠ°Π½Π΅Π»ΠΈ дСйствий.\r\n *\r\n * @memberOf WebAccess.components.wrappers.toolBar\r\n * @class ReactToolBarButton\r\n * @extends WebAccess.components.wrappers.BaseReactPageElement\r\n * @since 5.6.0.1300\r\n */\r\n var ReactToolBarButton = global.components.wrappers.BaseReactPageElement.extend({\r\n\r\n /**\r\n * ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€.\r\n *\r\n * @method WebAccess.components.wrappers.toolBar.ReactToolBarButton#init\r\n * @param {object} buttonModel МодСль React-элСмСнта страницы.\r\n * @param {string} parentGroupName Имя Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΊΠ½ΠΎΠΏΠΎΠΊ.\r\n * @fires BaseObject.EVENTS#CLASS_INIT\r\n */\r\n init: function (buttonModel, parentGroupName) {\r\n this._super(buttonModel);\r\n\r\n this.groupName = parentGroupName;\r\n\r\n // Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ дСйствий Π² соотвСтствии с Ρ€Π΅ΠΆΠΈΠΌΠΎΠΌ доступности Π—Π—Π£\r\n if(this._model.enabledWhen) {\r\n this._isEnabledOnAttachmentSelected =\r\n Boolean(this._model.enabledWhen & JOB_ACTION_ENABLED_WHEN.IS_ENABLED_ON_ATTACHMENT_SELECTED);\r\n this._isEnabledOnAborted = Boolean(this._model.enabledWhen & JOB_ACTION_ENABLED_WHEN.IS_ENABLED_ON_ABORTED);\r\n this._isEnabledOnDone = Boolean(this._model.enabledWhen & JOB_ACTION_ENABLED_WHEN.IS_ENABLED_ON_DONE);\r\n this._isEnabledOnRunning = Boolean(this._model.enabledWhen & JOB_ACTION_ENABLED_WHEN.IS_ENABLED_ON_RUNNING);\r\n }\r\n },\r\n\r\n /**\r\n * Имя класса.\r\n *\r\n * @private\r\n * @property BaseReactPageElement#className\r\n * @override\r\n * @see BaseReactPageElement#className\r\n */\r\n className: 'ReactToolBarButton',\r\n\r\n /**\r\n * Имя Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΡ‹, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ‚ ΠΊΠ½ΠΎΠΏΠΊΠ° Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ дСйствий.\r\n *\r\n * @private\r\n * @property WebAccess.components.wrappers.toolBar.ReactToolBarButton#groupName\r\n */\r\n groupName: '',\r\n\r\n /**\r\n * ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ доступности дСйствия, Ссли Π² области Π²Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π²Ρ‹Π΄Π΅Π»Π΅Π½ хотя Π±Ρ‹ ΠΎΠ΄ΠΈΠ½ элСмСнт.\r\n *\r\n * @private\r\n * @property WebAccess.components.wrappers.toolBar.ReactToolBarButton#_isEnabledOnAttachmentSelected\r\n */\r\n _isEnabledOnAttachmentSelected: false,\r\n\r\n /**\r\n * ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ доступности дСйствия, Ссли Π—Π—Π£ ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‰Π΅Π½ΠΎ.\r\n *\r\n * @private\r\n * @property WebAccess.components.wrappers.toolBar.ReactToolBarButton#_isEnabledOnAborted\r\n */\r\n _isEnabledOnAborted: true,\r\n\r\n /**\r\n * ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ доступности дСйствия, Ссли Π—Π—Π£ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΎ.\r\n *\r\n * @private\r\n * @property WebAccess.components.wrappers.toolBar.ReactToolBarButton#_isEnabledOnDone\r\n */\r\n _isEnabledOnDone: true,\r\n\r\n /**\r\n * ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ доступности дСйствия, Ссли Π—Π—Π£ Π² Ρ€Π°Π±ΠΎΡ‚Π΅.\r\n *\r\n * @private\r\n * @property WebAccess.components.wrappers.toolBar.ReactToolBarButton#_isEnabledOnRunning\r\n */\r\n _isEnabledOnRunning: true,\r\n\r\n /**\r\n * Π€ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ.\r\n *\r\n * @private\r\n * @method WebAccess.components.wrappers.toolBar.ReactToolBarButton#_formatModel\r\n */\r\n _formatModel: function () {\r\n this._super();\r\n\r\n // Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈ установкС tooltip'ΠΎΠ² Π½Π΅ измСнялся тСкст ΠΊΠ½ΠΎΠΏΠΊΠΈ.\r\n this._model['caption'] = this._model['caption'] || this._model['hint'];\r\n },\r\n\r\n /**\r\n * Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ подсказку Π½Π° основС состояния дСйствия ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ свойств.\r\n *\r\n * @private\r\n * @method WebAccess.components.wrappers.toolBar.ToolBarButton#_setActualHint\r\n * @return {WebAccess.components.wrappers.toolBar.ToolBarButton}\r\n */\r\n _setActualHint: function() {\r\n var me = this;\r\n if (!me.isEnabled() && me._model.disabledHint) {\r\n me.setTooltip(me._model.disabledHint);\r\n } else {\r\n if (me._model.hint) {\r\n me.setTooltip(me._model.hint);\r\n } else {\r\n me.setTooltip(me.getLabel());\r\n }\r\n }\r\n },\r\n\r\n /**\r\n * Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΊΠ½ΠΎΠΏΠΊΠΈ.\r\n *\r\n * @method WebAccess.components.wrappers.toolBar.ReactToolBarButton#convertTo\r\n * @param {BUTTON} buttonSize Π Π°Π·ΠΌΠ΅Ρ€ ΠΊΠ½ΠΎΠΏΠΊΠΈ.\r\n * @fires WebAccess.components.wrappers.toolBar.ReactToolBar.EVENT.CHANGE\r\n * @deprecated since 5.6. Use hideCaption or showCaption instead.\r\n */\r\n convertTo(buttonSize) {\r\n this._warnAboutDeprecatedMethod(arguments.callee.name);\r\n\r\n if(buttonSize === BUTTON.LARGE) {\r\n this.showCaption();\r\n } else {\r\n this.hideCaption();\r\n }\r\n this.fire(WebAccess.components.wrappers.toolBar.ReactToolBar.EVENT.CHANGE);\r\n \r\n return this;\r\n },\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠ³ΠΎ дСйствия, связанного с ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ дСйствий.\r\n *\r\n * @method WebAccess.components.wrappers.toolBar.ReactToolBarButton#getLinkedAction\r\n * @returns {string} Имя ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠ³ΠΎ дСйствия, Ссли дСйствиС ΡƒΠΊΠ°Π·Π°Π½ΠΎ, ΠΈΠ½Π°Ρ‡Π΅ пустая строка.\r\n */\r\n getLinkedAction: function () {\r\n return this._model.linkedAction;\r\n },\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Ρ€Π΅ΠΆΠΈΠΌ доступности ΠΊΠ½ΠΎΠΏΠΊΠΈ.\r\n *\r\n * @method WebAccess.components.wrappers.toolBar.ReactToolBarButton#getEnabledMode\r\n * @returns {ACTION_ENABLED_MODE} Π Π΅ΠΆΠΈΠΌ доступности ΠΊΠ½ΠΎΠΏΠΊΠΈ.\r\n */\r\n getEnabledMode() {\r\n return this._model.enabledMode;\r\n },\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Ρ€Π΅ΠΆΠΈΠΌ доступности ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΏΡ€ΠΈ Π²Ρ‹Π±ΠΎΡ€Π΅ Π²Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ.\r\n *\r\n * @method WebAccess.components.wrappers.toolBar.ReactToolBarButton#getIsEnabledOnAttachnentSelected\r\n * @deprecated since 5.6. Use getIsEnabledOnAttachmentSelected instead.\r\n * @returns {boolean} True - Ссли ΠΊΠ½ΠΎΠΏΠΊΠ° доступна, ΠΈΠ½Π°Ρ‡Π΅ False.\r\n */\r\n getIsEnabledOnAttachnentSelected() {\r\n this._warnAboutDeprecatedMethod(arguments.callee.name);\r\n return this.getIsEnabledOnAttachmentSelected();\r\n },\r\n\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ€Π΅ΠΆΠΈΠΌ доступности ΠΊΠ½ΠΎΠΏΠΊΠΈ, Ссли Π² области Π²Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π²Ρ‹Π΄Π΅Π»Π΅Π½ хотя Π±Ρ‹ ΠΎΠ΄ΠΈΠ½ элСмСнт.\r\n *\r\n * @method WebAccess.components.wrappers.toolBar.ReactToolBarButton#getIsEnabledOnAttachmentSelected\r\n * @returns {boolean} True - Ссли ΠΊΠ½ΠΎΠΏΠΊΠ° доступна, ΠΈΠ½Π°Ρ‡Π΅ False.\r\n */\r\n getIsEnabledOnAttachmentSelected() {\r\n return this._isEnabledOnAttachmentSelected;\r\n },\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Ρ€Π΅ΠΆΠΈΠΌ доступности ΠΊΠ½ΠΎΠΏΠΊΠΈ для ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‰Π΅Π½Π½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡ ΠΈ Π·Π°Π΄Π°Π½ΠΈΠΉ.\r\n *\r\n * @method WebAccess.components.wrappers.toolBar.ReactToolBarButton#getIsEnabledOnAborted\r\n * @returns {boolean} True - Ссли ΠΊΠ½ΠΎΠΏΠΊΠ° доступна, ΠΈΠ½Π°Ρ‡Π΅ False.\r\n */\r\n getIsEnabledOnAborted() {\r\n return this._isEnabledOnAborted;\r\n },\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Ρ€Π΅ΠΆΠΈΠΌ доступности ΠΊΠ½ΠΎΠΏΠΊΠΈ для Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡ ΠΈ Π·Π°Π΄Π°Π½ΠΈΠΉ.\r\n *\r\n * @method WebAccess.components.wrappers.toolBar.ReactToolBarButton#getIsEnabledOnDone\r\n * @return {boolean} True - Ссли ΠΊΠ½ΠΎΠΏΠΊΠ° доступна, ΠΈΠ½Π°Ρ‡Π΅ False.\r\n */\r\n getIsEnabledOnDone() {\r\n return this._isEnabledOnDone;\r\n },\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Ρ€Π΅ΠΆΠΈΠΌ доступности ΠΊΠ½ΠΎΠΏΠΊΠΈ для Π·Π°Π΄Π°Ρ‡ ΠΈ Π·Π°Π΄Π°Π½ΠΈΠΉ Π² состоянии \"Π’ Ρ€Π°Π±ΠΎΡ‚Π΅\".\r\n *\r\n * @method WebAccess.components.wrappers.toolBar.ReactToolBarButton#getIsEnabledOnRunning\r\n * @return {boolean} True - Ссли ΠΊΠ½ΠΎΠΏΠΊΠ° доступна, ΠΈΠ½Π°Ρ‡Π΅ False.\r\n */\r\n getIsEnabledOnRunning() {\r\n return this._isEnabledOnRunning;\r\n },\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΡƒΡŽ Π³Ρ€ΡƒΠΏΠΏΡƒ ΠΊΠ½ΠΎΠΏΠΎΠΊ.\r\n *\r\n * @method WebAccess.components.wrappers.toolBar.ReactToolBarButton#group\r\n * @returns {WebAccess.components.wrappers.toolBar.ReactToolBarGroup} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° WebAccess.components.wrappers.toolBar.ReactToolBarGroup.\r\n * @deprecated since 5.6. Use getParentGroup instead.\r\n * @use WebAccess.components.wrappers.toolBar.ReactToolBarButton.getParentGroup\r\n */\r\n group() {\r\n this._warnAboutDeprecatedMethod(arguments.callee.name);\r\n return this.getParentGroup();\r\n },\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΡƒΡŽ Π³Ρ€ΡƒΠΏΠΏΡƒ ΠΊΠ½ΠΎΠΏΠΎΠΊ.\r\n *\r\n * @method WebAccess.components.wrappers.toolBar.ReactToolBarButton#getParentGroup\r\n * @returns {WebAccess.components.wrappers.toolBar.ReactToolBarGroup} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° WebAccess.components.wrappers.toolBar.ReactToolBarGroup.\r\n */\r\n getParentGroup: function () {\r\n return global.current.toolBar.groups[this.groupName];\r\n },\r\n\r\n /**\r\n * Π‘ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΠΊΠ½ΠΎΠΏΠΊΠΈ.\r\n *\r\n * @method WebAccess.components.wrappers.toolBar.ReactToolBarButton#hideCaption\r\n * @fires WebAccess.components.wrappers.toolBar.ReactToolBarButton.EVENT.CHANGE_CAPTION_VISIBILITY\r\n */\r\n hideCaption: function () {\r\n this._model.isCaptionVisible = false;\r\n this.fire(WebAccess.components.wrappers.toolBar.ReactToolBarButton.EVENT.CHANGE_CAPTION_VISIBILITY);\r\n return this;\r\n },\r\n\r\n /**\r\n * ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ отобраТСния Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° ΠΊΠ½ΠΎΠΏΠΊΠΈ.\r\n *\r\n * @method WebAccess.components.wrappers.toolBar.ReactToolBarButton#isCaptionVisible\r\n * @returns {boolean} True, Ссли Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ отобраТаСтся, ΠΈΠ½Π°Ρ‡Π΅ False.\r\n */\r\n isCaptionVisible: function () {\r\n return this._model.isCaptionVisible;\r\n },\r\n\r\n /**\r\n * ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ ΠΊΠ½ΠΎΠΏΠΊΠΈ малСнького Ρ€Π°Π·ΠΌΠ΅Ρ€Π°.\r\n *\r\n * @method WebAccess.components.wrappers.toolBar.ReactToolBarButton#isSmall\r\n * @returns {boolean} True, Ссли ΠΊΠ½ΠΎΠΏΠΊΠ° малСнького Ρ€Π°Π·ΠΌΠ΅Ρ€Π°, ΠΈΠ½Π°Ρ‡Π΅ False.\r\n * @deprecated since 5.6. Use isCaptionVisible instead.\r\n */\r\n isSmall() {\r\n this._warnAboutDeprecatedMethod(arguments.callee.name);\r\n return !this._model.isCaptionVisible;\r\n },\r\n\r\n /**\r\n * УстанавливаСт тСкст Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ подсказки.\r\n *\r\n * @method WebAccess.components.wrappers.toolBar.ReactToolBarButton#setHints\r\n * @param {string} hint ВСкст Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ подсказки.\r\n * @param {string} disabledHint ВСкст Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ подсказки ΠΏΡ€ΠΈ нСдоступной ΠΊΠ½ΠΎΠΏΠΊΠ΅.\r\n * @return {WebAccess.components.wrappers.toolBar.ReactToolBarButton} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° WebAccess.components.wrappers.toolBar.ReactToolBarButton.\r\n */\r\n setHints: function (hint, disabledHint) {\r\n this._model.hint = hint;\r\n this._model.disabledHint = disabledHint;\r\n this._setActualHint();\r\n this.fire(WebAccess.components.wrappers.toolBar.ReactToolBar.EVENT.CHANGE);\r\n },\r\n\r\n /**\r\n * ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΠΊΠ½ΠΎΠΏΠΊΠΈ.\r\n *\r\n * @method WebAccess.components.wrappers.toolBar.ReactToolBarButton#showCaption\r\n * @fires WebAccess.components.wrappers.toolBar.ReactToolBarButton.EVENT.CHANGE_CAPTION_VISIBILITY\r\n */\r\n showCaption: function () {\r\n this._model.isCaptionVisible = true;\r\n this.fire(WebAccess.components.wrappers.toolBar.ReactToolBarButton.EVENT.CHANGE_CAPTION_VISIBILITY);\r\n return this;\r\n },\r\n\r\n /**\r\n * УстанавливаСт Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ элСмСнта страницы.\r\n *\r\n * @method WebAccess.components.wrappers.toolBar.ReactToolBarButton#setLabel\r\n * @param {string} text Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ элСмСнта страницы\r\n * @return {WebAccess.components.wrappers.toolBar.ReactToolBarButton} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° ReactToolBarButton.\r\n * @fires BaseReactPageElement#change\r\n * @override\r\n * @see BaseReactPageElement#setLabel\r\n */\r\n setLabel: function (text) {\r\n this._model.caption = text;\r\n this.fire(WebAccess.components.wrappers.AbstractBasePageElement.EVENT.CHANGE);\r\n return this;\r\n },\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ элСмСнта страницы.\r\n *\r\n * @method WebAccess.components.wrappers.toolBar.ReactToolBarButton#getLabel\r\n * @return {string} Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ элСмСнта страницы.\r\n * @override\r\n * @see BaseReactPageElement#getLabel\r\n */\r\n getLabel: function () {\r\n return this._model.caption;\r\n },\r\n\r\n /**\r\n * УстанавливаСт Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰ΡƒΡŽ подсказку.\r\n *\r\n * @method WebAccess.components.wrappers.toolBar.ReactToolBarButton#setTooltip\r\n * @param {string} text ВСкст Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ подсказки\r\n * @return {WebAccess.components.wrappers.toolBar.ReactToolBarButton} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° ReactToolBarButton.\r\n * @fires BaseReactPageElement#change\r\n * @override\r\n * @see BaseReactPageElement#setTooltip\r\n */\r\n setTooltip: function (text) {\r\n this._model.hint = text;\r\n this._model.tooltip = text;\r\n console.log(this._model);\r\n this.fire(WebAccess.components.wrappers.AbstractBasePageElement.EVENT.CHANGE);\r\n return this;\r\n },\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ тСкст Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ подсказки.\r\n *\r\n * @method WebAccess.components.wrappers.toolBar.ReactToolBarButton#getTooltip\r\n * @return {string} ВСкст Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ подсказки.\r\n * @override\r\n * @see BaseReactPageElement#getTooltip\r\n */\r\n getTooltip: function () {\r\n return this._model.hint;\r\n },\r\n }, {\r\n EVENT: {\r\n // Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅, ΡΡ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ видимости Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° ΠΊΠ½ΠΎΠΏΠΊΠΈ.\r\n CHANGE_CAPTION_VISIBILITY: 'changeCaptionVisibility'\r\n }\r\n });\r\n\r\n global.components.wrappers.toolBar.ReactToolBarButton = ReactToolBarButton;\r\n})(window.WebAccess);","'use strict';\r\n\r\n/**\r\n * Π Π΅ΠΆΠΈΠΌ сТатия Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΊΠ½ΠΎΠΏΠΎΠΊ.\r\n * @since 5.0.0.4104\r\n * @readonly\r\n * @enum {string} GROUP_FOLD_MODE\r\n * @example\r\n * //Π’ Π³Ρ€ΡƒΠΏΠΏΠ΅ ΠΊΠ½ΠΎΠΏΠΎΠΊ, ΠΈΠΌΠ΅Π½ΡƒΠ΅ΠΌΠΎΠΉ ATTACHMENTS, ΡƒΠ±Ρ€Π°Ρ‚ΡŒ подписи Ρƒ ΠΌΠ°Π»Π΅Π½ΡŒΠΊΠΈΡ… ΠΊΠ½ΠΎΠΏΠΎΠΊ.\r\n * WebAccess.current.toolBar.groups.ATTACHMENTS.compress(GROUP_FOLD_MODE.SHRINK_SMALL_BUTTONS);\r\n */\r\nvar GROUP_FOLD_MODE = {\r\n /** Π£Π±Ρ€Π°Ρ‚ΡŒ подписи Ρƒ ΠΌΠ°Π»Π΅Π½ΡŒΠΊΠΈΡ… ΠΊΠ½ΠΎΠΏΠΎΠΊ */\r\n SHRINK_SMALL_BUTTONS: 0,\r\n /** ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Ρ‚ΡŒ большиС ΠΊΠ½ΠΎΠΏΠΊΠΈ Π² столбСц ΠΈΠ· ΠΌΠ°Π»Π΅Π½ΡŒΠΊΠΈΡ… */\r\n CONVERT_LARGE_BUTTONS: 1,\r\n /** Π‘Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Π³Ρ€ΡƒΠΏΠΏΡƒ, ΡΠΎΡΡ‚ΠΎΡΡ‰ΡƒΡŽ ΠΈΠ· ΠΌΠ°Π»Π΅Π½ΡŒΠΊΠΈΡ… ΠΊΠ½ΠΎΠΏΠΎΠΊ, Π² ΠΎΠ΄Π½Ρƒ Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ ΠΊΠ½ΠΎΠΏΠΊΡƒ */\r\n COLLAPSE: 2,\r\n /** Π‘Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Π³Ρ€ΡƒΠΏΠΏΡƒ ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΏΠΎ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Ρƒ: CONVERT_LARGE_BUTTONS > SHRINK_SMALL_BUTTONS > COLLAPSE */\r\n AUTO: 3\r\n};\r\n\r\n// ВрСмя оТидания скрытия Π³Ρ€ΡƒΠΏΠΏΡ‹ Π½Π° Π»Π΅Π½Ρ‚Π΅ Ρ‚ΡƒΠ»Π±Π°Ρ€Π°.\r\nconst autoHideTimeout = 500;\r\n\r\n/**\r\n * Π“Ρ€ΡƒΠΏΠΏΠ° ΠΏΠ°Π½Π΅Π»ΠΈ инструмСнтов.\r\n *\r\n * @class WebAccess.components.wrappers.toolBar.ToolBarGroup\r\n * @extends WebAccess.components.wrappers.BasePageElement\r\n * @property {string} name Имя Π³Ρ€ΡƒΠΏΠΏΡ‹\r\n * @property {string} priority ΠŸΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ сворачивания Π³Ρ€ΡƒΠΏΠΏΡ‹\r\n * @property {string} selector ΠŸΡƒΡ‚ΡŒ Π² DOM-ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ Π³Ρ€ΡƒΠΏΠΏΡ‹, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ div.content#container\r\n * @param {string} itemSelector Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ элСмСнт страницы\r\n * @return {WebAccess.components.wrappers.toolBar.ToolBarGroup}\r\n */\r\n\r\n(function (global) {\r\n var toolBarContainerSelector = '#toolbar_container';\r\n var groupSelector = 'div.toolbar_group';\r\n var groupHeaderSelector = 'div.toolbar_group_header, div.toolbar-more-button__header';\r\n const buttonSelector = 'div.toolbar_button';\r\n var smallButtonSelector = 'div.small_toolbar_item';\r\n var jToolBarContainer = $(toolBarContainerSelector);\r\n var toolBarBottomBorderClass = 'toolbar_bottom_border';\r\n var buttonArrowSelector = '.toolbar-item__arrow';\r\n\r\n\r\n global.index = 100;\r\n\r\n /**\r\n * Π“Ρ€ΡƒΠΏΠΏΠ° ΠΊΠ½ΠΎΠΏΠΎΠΊ Π½Π° Ρ‚ΡƒΠ»Π±Π°Ρ€Π΅.\r\n *\r\n * @extends WebAccess.components.wrappers.BasePageElement\r\n */\r\n var ToolBarGroup = global.components.wrappers.BasePageElement.extend({\r\n\r\n /**\r\n * ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€.\r\n *\r\n * @method WebAccess.components.wrappers.toolBar.ToolBarGroup#init\r\n * @param {object} itemSelector - jQuery-сСлСктор ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° для Π³Ρ€ΡƒΠΏΠΏΡ‹.\r\n * @override\r\n */\r\n init: function (itemSelector) {\r\n this._super(itemSelector);\r\n this.selector = format(this._byNameSelectorTemplate, groupSelector, this.name);\r\n this._index = global.index += 1;\r\n this.priority = this._jObject.attr('priority');\r\n\r\n if (this._jObject.attr('iscollapsed') === 'True') {\r\n this._isCollapsed = this._isCollapsedOnExtension = true;\r\n this._bindHeaderClick();\r\n }\r\n },\r\n\r\n /**\r\n * Имя класса.\r\n *\r\n * @private\r\n * @property WebAccess.components.wrappers.toolBar.ToolBarGroup#className\r\n * @override\r\n */\r\n className: 'ToolBarGroup',\r\n\r\n /**\r\n * ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ свСрнутой Π³Ρ€ΡƒΠΏΠΏΡ‹.\r\n *\r\n * @private\r\n * @property WebAccess.components.wrappers.toolBar.ToolBarGroup#_isCollapsed\r\n */\r\n _isCollapsed: false,\r\n /**\r\n * ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ Π³Ρ€ΡƒΠΏΠΏΡ‹, свСрнутой Π² Π²Π΅Π±-ΠΌΠΎΠ΄ΡƒΠ»Π΅.\r\n * Π’Π°ΠΊΠΈΠ΅ Π³Ρ€ΡƒΠΏΠΏΡ‹ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Ρ€Π°Π·Π²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Ρ‚ΡŒΡΡ.\r\n *\r\n * @private\r\n * @property WebAccess.components.wrappers.toolBar.ToolBarGroup#_isCollapsedOnExtension\r\n */\r\n _isCollapsedOnExtension: false,\r\n\r\n /**\r\n * ΠŸΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΊΠ½ΠΎΠΏΠΎΠΊ Π½Π° Π»Π΅Π½Ρ‚Π΅.\r\n *\r\n * @private\r\n * @property WebAccess.components.wrappers.BasePageElement#priority\r\n */\r\n priority: null,\r\n\r\n /**\r\n * jQuery-сСлСктор элСмСнта страницы.\r\n *\r\n * @private\r\n * @property WebAccess.components.wrappers.BasePageElement#selector\r\n * @deprecated since 5.6.\r\n */\r\n selector: '',\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /** @private */\r\n _index: 0,\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ наТатия Π½Π° Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Π³Ρ€ΡƒΠΏΠΏΡ‹.\r\n *\r\n * @private\r\n * @method WebAccess.components.wrappers.toolBar.ToolBarGroup#_bindHeaderClick\r\n */\r\n _bindHeaderClick: function () {\r\n var me = this;\r\n var headerInlineBlock = 'inline-block';\r\n var addedGroupSelector = 'div[id^=\\'addedDiv\\']';\r\n var tbgroup_header = this._jObject.children(groupHeaderSelector);\r\n tbgroup_header.css('display', headerInlineBlock).unbind('click').bind('click', function (evt) {\r\n evt.stopPropagation();\r\n var elem = $(this).nextAll(addedGroupSelector);\r\n if (elem.css('display') !== 'none') {\r\n elem.hide();\r\n } else {\r\n var docWidth = $(document).width();\r\n $(addedGroupSelector).hide();\r\n elem.show();\r\n var jHiddenDiv = me._jObject.find('.addedHiddenDiv:visible').css('left', '');\r\n var divWidth = jHiddenDiv.width();\r\n if (divWidth > (docWidth - jHiddenDiv.position().left)) jHiddenDiv.css('left', docWidth - divWidth);\r\n }\r\n });\r\n\r\n tbgroup_header.nextAll(buttonSelector).hover(function () {\r\n $(this).addClass('hover');\r\n }, function () {\r\n $(this).removeClass('hover');\r\n });\r\n\r\n me._autoHideGroup($('.addedHiddenDiv'));\r\n },\r\n\r\n /**\r\n * Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΡƒ Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π³Ρ€ΡƒΠΏΠΏΠ΅.\r\n *\r\n * @method WebAccess.components.wrappers.toolBar.ToolBarGroup#createButton\r\n * @param {string} buttonName Имя создаваСмой ΠΊΠ½ΠΎΠΏΠΊΠΈ.\r\n * @param {BUTTON} [opt_smallSized] ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ скрытиС Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° ΠΊΠ½ΠΎΠΏΠΊΠΈ.\r\n * @return {WebAccess.components.wrappers.toolBar.ToolBarButton} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° ToolBarButton.\r\n */\r\n createButton: function (buttonName, opt_smallSized) {\r\n return global.current.toolBar.buttons.create(this.name, buttonName, opt_smallSized);\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π‘Π²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Π½ΠΈΠ΅ Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΊΠ½ΠΎΠΏΠΎΠΊ\r\n * @method WebAccess.components.wrappers.toolBar.ToolBarGroup#collapse\r\n * @return {WebAccess.components.wrappers.toolBar.ToolBarGroup}\r\n */\r\n collapse: function () {\r\n var me = this;\r\n if (!me.isCollapsed()) {\r\n var addedGroupSelector = 'div[id^=\\'addedDiv\\']';\r\n\r\n jToolBarContainer.find(addedGroupSelector + ':visible').hide();\r\n const jVisibleButtons = me._jObject.children(buttonSelector).filter(':visible');\r\n const jButtonArrows = jVisibleButtons.find(buttonArrowSelector);\r\n //НСльзя ΡΠ²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Ρ‚ΡŒ Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ. А Ρ‚Π°ΠΊΠΆΠ΅ нСльзя ΡΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ Π³Ρ€ΡƒΠΏΠΏΡ‹ с ΠΊΠ½ΠΎΠΏΠΊΠ°ΠΌΠΈ со стрСлками, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ ΠΌΠ½ΠΎΠ³ΠΎΡƒΡ€ΠΎΠ²Π½Π΅Π²ΠΎΠ΅ мСню.\r\n if (jVisibleButtons.length > 1 && !jButtonArrows.length) {\r\n me._jObject.append(format(CT.toolBar.groupCollapsed, me._jObject.css('left')));\r\n //Π‘Π½Π°Ρ‡Π°Π»Π° добавляСм div Π²Ρ‹ΡˆΠ΅, ΠΏΠΎΡ‚ΠΎΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π±ΠΈΠ½Π΄ΠΈΡ‚ΡŒ ΠΊΠ»ΠΈΠΊ\r\n me._bindHeaderClick();\r\n\r\n var jAddedDiv = me._jObject.find('#addedDiv');\r\n jVisibleButtons.appendTo(jAddedDiv);\r\n fixSvg(jAddedDiv[0]);\r\n\r\n me._isCollapsed = true;\r\n me.fire(WebAccess.components.wrappers.toolBar.ToolBarGroup.EVENTS.COLLAPSE);\r\n\r\n jVisibleButtons.hover(function () {\r\n $(me).addClass('hover');\r\n }, function () {\r\n $(me).removeClass('hover');\r\n });\r\n } else {\r\n return me;\r\n }\r\n }\r\n return me;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~// \r\n\r\n /**\r\n * АвтоскрытиС Π³Ρ€ΡƒΠΏΠΏΡ‹, ΠΊΠΎΠ³Π΄Π° ΠΌΡ‹ΡˆΡŒ находится Π²Π½Π΅ Π΅Ρ‘.\r\n *\r\n * @private\r\n * @since 5.0.0.4212\r\n */\r\n _autoHideGroup(jGroup) {\r\n let autohide;\r\n jGroup\r\n .off('mouseenter.collapse')\r\n .off('mouseleave.collapse')\r\n .on('mouseenter.collapse', () => {\r\n if (autohide) {\r\n clearTimeout(autohide);\r\n }\r\n })\r\n .on('mouseleave.collapse', () => {\r\n autohide = setTimeout(() => {\r\n jGroup.hide();\r\n }, autoHideTimeout);\r\n });\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π³Ρ€ΡƒΠΏΠΏΡ‹.\r\n *\r\n * @method WebAccess.components.wrappers.toolBar.ToolBarGroup#expand\r\n * @returns {WebAccess.components.wrappers.toolBar.ToolBarGroup} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° ToolBarGroup.\r\n */\r\n expand: function () {\r\n if (this.isCollapsed()) {\r\n const jAddedDiv = this._jObject.find('#addedDiv');\r\n let items = jAddedDiv.children(buttonSelector);\r\n items.appendTo(this._jObject);\r\n fixSvg(this._jObject[0]);\r\n jAddedDiv.remove(); //ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ Π½Π°Π΄ΠΎ послС вставки Π² Π΄Ρ€ΡƒΠ³ΠΎΠ΅ мСсто ΠΈΠ½Π°Ρ‡Π΅ Ρ‚Π΅Ρ€ΡΡŽΡ‚ΡΡ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΈ событий.\r\n\r\n this._jObject.children('.toolbar_group_header').css('display', 'none');\r\n\r\n setRealHeightAndWidth();\r\n var jSmallItems = items.find('.small_toolbar_item');\r\n items.add(jSmallItems).hover(function () {\r\n if (!$(this).hasClass('disabled')) {\r\n $(this).addClass('hover');\r\n }\r\n }, function () {\r\n if (!$(this).hasClass('disabled')) {\r\n $(this).removeClass('hover');\r\n }\r\n });\r\n this._isCollapsed = false;\r\n this.fire(WebAccess.components.wrappers.toolBar.ToolBarGroup.EVENTS.EXPAND);\r\n }\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ свСрнутой Π³Ρ€ΡƒΠΏΠΏΡ‹.\r\n *\r\n * @method WebAccess.components.wrappers.toolBar.ToolBarGroup#isCollapsed\r\n * @return {boolean} True, Ссли Π³Ρ€ΡƒΠΏΠΏΠ° свСрнута, ΠΈΠ½Π°Ρ‡Π΅ False.\r\n */\r\n isCollapsed: function () {\r\n return this._isCollapsed; //this._jObject.children(groupHeaderSelector).is(\":visible\");\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π˜ΠΌΠΈΡ‚ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ‰Π΅Π»Ρ‡ΠΎΠΊ ΠΌΡ‹ΡˆΠΈ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ΅ свСрнутой Π³Ρ€ΡƒΠΏΠΏΡ‹.\r\n *\r\n * @method WebAccess.components.wrappers.toolBar.ToolBarGroup#click\r\n * @param {function} opt_callback Ѐункция, которая Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π·Π²Π°Π½Π° ΠΏΠΎ Ρ‰Π΅Π»Ρ‡ΠΊΡƒ ΠΌΡ‹ΡˆΠΈ.\r\n * @throws ERR_CANT_CLICK_ON_EXPANDED_GROUP – ΠΌΠ΅Ρ‚ΠΎΠ΄ click поддСрТиваСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для свСрнутых Π³Ρ€ΡƒΠΏΠΏ.\r\n * @return {WebAccess.components.wrappers.toolBar.ToolBarGroup} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° ToolBarGroup.\r\n */\r\n click: function (opt_callback) {\r\n var jHeader = this._jObject.children(groupHeaderSelector);\r\n\r\n if (this.isCollapsed()) {\r\n if ($.isFunction(opt_callback)) {\r\n this._disableClickHandler(jHeader);\r\n this.bind('click', opt_callback);\r\n this.jHeader.bind('click', function () {\r\n instance.fire('click');\r\n });\r\n } else jHeader.click();\r\n } else global.raise('ERR_CANT_CLICK_ON_EXPANDED_GROUP');\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ список ΠΊΠ½ΠΎΠΏΠΎΠΊ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π³Ρ€ΡƒΠΏΠΏΡ‹.\r\n *\r\n * @method WebAccess.components.wrappers.toolBar.ToolBarGroup#getButtons\r\n * @return {WebAccess.current.toolBar.buttons} Бписок ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Ρ‚ΠΈΠΏΠ° ToolBarButton, Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… Π² эту Π³Ρ€ΡƒΠΏΠΏΡƒ.\r\n */\r\n getButtons: function () {\r\n var me = this;\r\n var buttons = global.current.toolBar.buttons.toArray();\r\n var filteredButtons = {};\r\n var filtered = _(buttons).filter(function (button) {\r\n return button.groupName === me.name;\r\n });\r\n for (var buttonName in filtered) {\r\n filteredButtons[filtered[buttonName].name] = filtered[buttonName];\r\n }\r\n return new WA.Collection(filteredButtons);\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~// \r\n\r\n /**\r\n * Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ниТнюю Π³Ρ€Π°Π½ΠΈΡ†Ρƒ ΠΊ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π³Ρ€ΡƒΠΏΠΏΠ΅.\r\n *\r\n * @method WebAccess.components.wrappers.toolBar.ToolBarGroup#addBottomBorder\r\n * @param {string} color CSS-класс Ρ†Π²Π΅Ρ‚Π° Π½ΠΈΠΆΠ½Π΅ΠΉ Π³Ρ€Π°Π½ΠΈΡ†Ρ‹\r\n * @return {WebAccess.components.wrappers.toolBar.ToolBarGroup} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° ToolBarGroup.\r\n * @since 5.0.0.4200\r\n * @deprecated since 5.6.\r\n */\r\n addBottomBorder(color) {\r\n this._warnAboutDeprecatedMethod(arguments.callee.name);\r\n var me = this;\r\n var jBottomBorder = me._jObject.children('.' + toolBarBottomBorderClass);\r\n if (!jBottomBorder.length) {\r\n // Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ div Π½ΡƒΠΆΠ΅Π½ Ρ‡Ρ‚ΠΎ Π±Ρ‹ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΅ΠΌΡƒ position:relative, \r\n // Ρ‚.ΠΊ. Ρƒ toolbar_group этого ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ нСльзя, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ ломаСтся Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΉ список сгруппированных ΠΊΠ½ΠΎΠΏΠΎΠΊ.\r\n // А Π²ΠΎΠΎΠ±Ρ‰Π΅ position:relative Π½ΡƒΠΆΠ΅Π½ Ρ‡Ρ‚ΠΎ Π±Ρ‹ Π² IE7 Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ Π·Π°Ρ€Π°Π±ΠΎΡ‚Π°Π»ΠΎ.\r\n jBottomBorder = $('
    ');\r\n me._jObject.prepend(jBottomBorder);\r\n }\r\n jBottomBorder.removeClass().addClass(toolBarBottomBorderClass + ' ' + color);\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n // Deprecated ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΡˆΠΈΡ€ΠΈΠ½Ρƒ Π³Ρ€ΡƒΠΏΠΏΡ‹.\r\n *\r\n * @deprecated since 5.6.\r\n * @method WebAccess.components.wrappers.toolBar.ToolBarGroup#getWidth\r\n * @return {number} Π¨ΠΈΡ€ΠΈΠ½Π° Π³Ρ€ΡƒΠΏΠΏΡ‹.\r\n * @since 5.0.0.4104\r\n */\r\n getWidth() {\r\n this._warnAboutDeprecatedMethod(arguments.callee.name);\r\n return this._jObject.width();\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Пошагово ΡΠΆΠ°Ρ‚ΡŒ Π³Ρ€ΡƒΠΏΠΏΡƒ ΠΊΠ½ΠΎΠΏΠΎΠΊ.\r\n *\r\n * @deprecated since 5.6.\r\n * @method WebAccess.components.wrappers.toolBar.ToolBarGroup#fold\r\n * @returns {boolean} Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ сТатия - FALSE.\r\n * @since 5.0.0.4104\r\n */\r\n fold() {\r\n this._warnAboutDeprecatedMethod(arguments.callee.name);\r\n return false;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Пошагово Π²ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΊΠ½ΠΎΠΏΠΎΠΊ.\r\n *\r\n * @deprecated since 5.6.\r\n * @method WebAccess.components.wrappers.toolBar.ToolBarGroup#unfold\r\n * @returns {boolean} Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ восстановлСния - FALSE.\r\n * @since 5.0.0.4104\r\n */\r\n unfold() {\r\n this._warnAboutDeprecatedMethod(arguments.callee.name);\r\n return false;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π‘ΠΆΠ°Ρ‚ΡŒ Π³Ρ€ΡƒΠΏΠΏΡƒ Π² ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€.\r\n *\r\n * @deprecated since 5.6.\r\n * @method WebAccess.components.wrappers.toolBar.ToolBarGroup#fitToWidth\r\n * @param {number} width Π¨ΠΈΡ€ΠΈΠ½Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²ΠΏΠΈΡΠ°Ρ‚ΡŒ Π³Ρ€ΡƒΠΏΠΏΡƒ.\r\n * @returns {boolean} TRUE, Ссли Π³Ρ€ΡƒΠΏΠΏΠ° вмСщаСтся Π² ΡƒΠΊΠ°Π·Π°Π½Π½ΡƒΡŽ ΡˆΠΈΡ€ΠΈΠ½Ρƒ, ΠΈΠ½Π°Ρ‡Π΅ - FALSE.\r\n * @since 5.0.0.4104\r\n */\r\n fitToWidth(width) {\r\n this._warnAboutDeprecatedMethod(arguments.callee.name);\r\n return this.getWidth() <= width;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π‘ΠΊΡ€Ρ‹Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π·Π° Π³Ρ€ΡƒΠΏΠΏΠΎΠΉ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ.\r\n *\r\n * @deprecated since 5.6.\r\n * @method WebAccess.components.wrappers.toolBar.ToolBarGroup#hideNextSeparator\r\n * @returns {WebAccess.components.wrappers.toolBar.ToolBarGroup} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° ToolBarGroup.\r\n * @since 5.0.0.4212\r\n */\r\n hideNextSeparator() {\r\n this._warnAboutDeprecatedMethod(arguments.callee.name);\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~// \r\n\r\n /**\r\n * ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π·Π° Π³Ρ€ΡƒΠΏΠΏΠΎΠΉ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ.\r\n *\r\n * @deprecated since 5.6.\r\n * @method WebAccess.components.wrappers.toolBar.ToolBarGroup#showNextSeparator\r\n * @returns {WebAccess.components.wrappers.toolBar.ToolBarGroup} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° ToolBarGroup.\r\n * @since 5.0.0.4212\r\n */\r\n showNextSeparator() {\r\n this._warnAboutDeprecatedMethod(arguments.callee.name);\r\n return this;\r\n }\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n }, {\r\n EVENTS: {\r\n CHANGE: 'change',\r\n COLLAPSE: 'collapse',\r\n EXPAND: 'expand'\r\n }\r\n });\r\n\r\n global.components.wrappers.toolBar.ToolBarGroup = ToolBarGroup;\r\n})(window.WebAccess);","'use strict';\r\n\r\n(function (global) {\r\n\r\n /**\r\n * Класс Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΊΠ½ΠΎΠΏΠΎΠΊ React-ΠΏΠ°Π½Π΅Π»ΠΈ дСйствий.\r\n * @memberOf WebAccess.components.wrappers.toolBar\r\n * @class ReactToolBarGroup\r\n * @extends BaseReactPageElement\r\n * @since 5.6.0.1300\r\n */\r\n var ReactToolBarGroup = global.components.wrappers.BaseReactPageElement.extend({\r\n\r\n /**\r\n * ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€.\r\n *\r\n * @method WebAccess.components.wrappers.toolBar.ReactToolBarGroup#init\r\n * @param {object} model МодСль Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΊΠ½ΠΎΠΏΠΎΠΊ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ дСйствий.\r\n * @override\r\n */\r\n init(model) {\r\n let extendedModel = this._extendModel(model);\r\n this._super(extendedModel);\r\n this.priority = this._model.priority;\r\n },\r\n\r\n /**\r\n * Имя класса.\r\n *\r\n * @private\r\n * @property WebAccess.components.wrappers.toolBar.ReactToolBarGroup#className\r\n * @override\r\n */\r\n className: 'ReactToolBarGroup',\r\n\r\n /**\r\n * ΠŸΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΊΠ½ΠΎΠΏΠΎΠΊ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ дСйствий.\r\n *\r\n * @private\r\n * @property WebAccess.components.wrappers.ReactToolBarGroup#priority\r\n */\r\n priority: null,\r\n\r\n /**\r\n * Π Π°ΡΡˆΠΈΡ€ΠΈΡ‚ΡŒ модСль Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΊΠ½ΠΎΠΏΠΎΠΊ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ дСйствий.\r\n *\r\n * @private\r\n * @method WebAccess.components.wrappers.toolBar.ReactToolBarGroup#_extendModel\r\n * @param {object} model МодСль Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΊΠ½ΠΎΠΏΠΎΠΊ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ дСйствий.\r\n * @returns {object} Π Π°ΡΡˆΠΈΡ€Π΅Π½Π½Π°Ρ модСль Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΊΠ½ΠΎΠΏΠΎΠΊ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ дСйствий.\r\n */\r\n _extendModel(model) {\r\n model.isCollapsed = model.isCollapsed || false;\r\n return model;\r\n },\r\n\r\n /**\r\n * Π‘ΠΎΠ·Π΄Π°Π΅Ρ‚ ΠΊΠ½ΠΎΠΏΠΊΡƒ Π² Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π³Ρ€ΡƒΠΏΠΏΠ΅ ΠΊΠ½ΠΎΠΏΠΎΠΊ.\r\n *\r\n * @method WebAccess.components.wrappers.toolBar.ReactToolBarGroup#createButton\r\n * @param {string} buttonName Имя создаваСмой ΠΊΠ½ΠΎΠΏΠΊΠΈ.\r\n * @param {BUTTON} [opt_smallSized] ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ скрытиС Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° ΠΊΠ½ΠΎΠΏΠΊΠΈ.\r\n * @return {object} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° ReactToolBarButton.\r\n * @fires WebAccess.components.wrappers.toolBar.ReactToolBarGroup.EVENT#CHANGE\r\n */\r\n createButton(buttonName, opt_smallSized) {\r\n let buttonLabel = L('NEW_BUTTON');\r\n let newButtonModel = {\r\n icon: 'Doc/doc_32.png',\r\n isCaptionVisible: !opt_smallSized,\r\n name: buttonName,\r\n caption: buttonLabel,\r\n tooltip: buttonLabel,\r\n isVisible: true,\r\n isEnabled: true,\r\n };\r\n this._model.buttons.push(newButtonModel);\r\n this.fire(WebAccess.components.wrappers.toolBar.ReactToolBarGroup.EVENT.CHANGE);\r\n return new global.components.wrappers.toolBar.ReactToolBarButton(newButtonModel);\r\n },\r\n\r\n /**\r\n * Π‘Π²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Π΅Ρ‚ Π³Ρ€ΡƒΠΏΠΏΡƒ ΠΊΠ½ΠΎΠΏΠΎΠΊ.\r\n *\r\n * @method WebAccess.components.wrappers.toolBar.ReactToolBarGroup#collapse\r\n * @return {WebAccess.components.wrappers.toolBar.ReactToolBarGroup} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° ReactToolBarGroup.\r\n * @fires WebAccess.components.wrappers.toolBar.ReactToolBarGroup.EVENT#COLLAPSE\r\n */\r\n collapse() {\r\n this._model.isCollapsed = true;\r\n this.fire(WebAccess.components.wrappers.toolBar.ReactToolBarGroup.EVENT.COLLAPSE);\r\n return this;\r\n },\r\n\r\n /**\r\n * Пошагово сТимаСт Π³Ρ€ΡƒΠΏΠΏΡƒ ΠΊΠ½ΠΎΠΏΠΎΠΊ.\r\n *\r\n * @method WebAccess.components.wrappers.toolBar.ReactToolBarGroup#fold\r\n * @param {GROUP_FOLD_MODE} foldMode Π Π΅ΠΆΠΈΠΌ сТатия.\r\n * @return {WebAccess.components.wrappers.toolBar.ReactToolBarGroup} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° ReactToolBarGroup.\r\n * @deprecated since 5.6.\r\n */\r\n fold(foldMode) {\r\n this._warnAboutDeprecatedMethod(arguments.callee.name);\r\n return this;\r\n },\r\n\r\n /**\r\n * Пошагово восстанавливаСт Π³Ρ€ΡƒΠΏΠΏΡƒ ΠΊΠ½ΠΎΠΏΠΎΠΊ.\r\n *\r\n * @method WebAccess.components.wrappers.toolBar.ReactToolBarGroup#unfold\r\n * @param {GROUP_FOLD_MODE} foldMode Π Π΅ΠΆΠΈΠΌ сТатия.\r\n * @return {WebAccess.components.wrappers.toolBar.ReactToolBarGroup} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° ReactToolBarGroup.\r\n * @deprecated since 5.6.\r\n */\r\n unfold(foldMode) {\r\n this._warnAboutDeprecatedMethod(arguments.callee.name);\r\n return this;\r\n },\r\n\r\n /**\r\n * Π‘ΠΆΠΈΠΌΠ°Π΅Ρ‚ Π³Ρ€ΡƒΠΏΠΏΡƒ Π² ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ Ρ€Π°Π·ΠΌΠ΅Ρ€.\r\n *\r\n * @method WebAccess.components.wrappers.toolBar.ReactToolBarGroup#fitToWidth\r\n * @param {integer} width Π¨ΠΈΡ€ΠΈΠ½Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²ΠΏΠΈΡΠ°Ρ‚ΡŒ Π³Ρ€ΡƒΠΏΠΏΡƒ.\r\n * @return {boolean} Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ сТатия. True – Π³Ρ€ΡƒΠΏΠΏΡ‹ Π²ΠΌΠ΅ΡΡ‚ΠΈΠ»Π°ΡΡŒ, ΠΈΠ½Π°Ρ‡Π΅ False.\r\n * @deprecated since 5.6.\r\n */\r\n fitToWidth(width) {\r\n this._warnAboutDeprecatedMethod(arguments.callee.name);\r\n return true;\r\n },\r\n\r\n /**\r\n * Π Π°Π·Π²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Π΅Ρ‚ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π³Ρ€ΡƒΠΏΠΏΡ‹.\r\n *\r\n * @method WebAccess.components.wrappers.toolBar.ReactToolBarGroup#expand\r\n * @return {WebAccess.components.wrappers.toolBar.ReactToolBarGroup} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° ReactToolBarGroup.\r\n * @fires WebAccess.components.wrappers.toolBar.ReactToolBarGroup.EVENT#EXPAND\r\n */\r\n expand() {\r\n this._model.isCollapsed = false;\r\n this.fire(WebAccess.components.wrappers.toolBar.ReactToolBarGroup.EVENT.EXPAND);\r\n return this;\r\n },\r\n\r\n /**\r\n * ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ свСрнутой Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΊΠ½ΠΎΠΏΠΎΠΊ.\r\n *\r\n * @method WebAccess.components.wrappers.toolBar.ReactToolBarGroup#isCollapsed\r\n * @return {boolean} True, Ссли Π³Ρ€ΡƒΠΏΠΏΠ° свСрнута, ΠΈΠ½Π°Ρ‡Π΅ False.\r\n */\r\n isCollapsed() {\r\n return this._model.isCollapsed;\r\n },\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ΡˆΠΈΡ€ΠΈΠ½Ρƒ Π³Ρ€ΡƒΠΏΠΏΡ‹.\r\n *\r\n * @method WebAccess.components.wrappers.toolBar.ReactToolBarGroup#getWidth\r\n * @return {number} ВсСгда 0, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° Π½Π΅ Π·Π½Π°Π΅Ρ‚ Π½ΠΈΡ‡Π΅Π³ΠΎ ΠΎ прСдставлСнии.\r\n * @deprecated since 5.6.\r\n */\r\n getWidth() {\r\n this._warnAboutDeprecatedMethod(arguments.callee.name);\r\n return 0;\r\n },\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ список ΠΊΠ½ΠΎΠΏΠΎΠΊ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π³Ρ€ΡƒΠΏΠΏΡ‹.\r\n *\r\n * @method WebAccess.components.wrappers.toolBar.ReactToolBarGroup#getButtons\r\n * @return {WebAccess.components.wrappers.toolBar.Buttons} Бписок ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Ρ‚ΠΈΠΏΠ° ReactToolBarButton, Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Ρ… Π² эту Π³Ρ€ΡƒΠΏΠΏΡƒ.\r\n */\r\n getButtons() {\r\n let toolbarButtons = global.current.toolBar.buttons.toArray();\r\n let filteredButtons = toolbarButtons.filter((button) => {\r\n return button.groupName === this._model.name;\r\n });\r\n return new WA.Collection(filteredButtons);\r\n },\r\n\r\n /**\r\n * ДобавляСт ниТнюю Π³Ρ€Π°Π½ΠΈΡ†Ρƒ ΠΊ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π³Ρ€ΡƒΠΏΠΏΠ΅.\r\n *\r\n * @method WebAccess.components.wrappers.toolBar.ReactToolBarGroup#addBottomBorder\r\n * @param {string} color CSS-класс Ρ†Π²Π΅Ρ‚Π° Π½ΠΈΠΆΠ½Π΅ΠΉ Π³Ρ€Π°Π½ΠΈΡ†Ρ‹.\r\n * @return {WebAccess.components.wrappers.toolBar.ReactToolBarGroup} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° ReactToolBarGroup.\r\n * @deprecated since 5.6.\r\n */\r\n addBottomBorder(color) {\r\n this._warnAboutDeprecatedMethod(arguments.callee.name);\r\n return this;\r\n },\r\n\r\n /**\r\n * Π‘ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π·Π° Π³Ρ€ΡƒΠΏΠΏΠΎΠΉ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ.\r\n *\r\n * @method WebAccess.components.wrappers.toolBar.ReactToolBarGroup#hideNextSeparator\r\n * @return {WebAccess.components.wrappers.toolBar.ReactToolBarGroup} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° ReactToolBarGroup.\r\n * @deprecated since 5.6.\r\n */\r\n hideNextSeparator() {\r\n this._warnAboutDeprecatedMethod(arguments.callee.name);\r\n return this;\r\n },\r\n\r\n /**\r\n * ΠŸΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π·Π° Π³Ρ€ΡƒΠΏΠΏΠΎΠΉ Ρ€Π°Π·Π΄Π΅Π»ΠΈΡ‚Π΅Π»ΡŒ.\r\n *\r\n * @method WebAccess.components.wrappers.toolBar.ReactToolBarGroup#showNextSeparator\r\n * @return {WebAccess.components.wrappers.toolBar.ReactToolBarGroup} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° ReactToolBarGroup.\r\n * @deprecated since 5.6.\r\n */\r\n showNextSeparator() {\r\n this._warnAboutDeprecatedMethod(arguments.callee.name);\r\n return true;\r\n }\r\n }, {\r\n EVENT: {\r\n // Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅, ΡΡ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ ΠΏΡ€ΠΈ сворачивании Π³Ρ€ΡƒΠΏΠΏΡ‹.\r\n COLLAPSE: 'toolbarGroupCollapse',\r\n // Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅, ΡΡ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ ΠΏΡ€ΠΈ Ρ€Π°Π·Π²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Π½ΠΈΠΈ Π³Ρ€ΡƒΠΏΠΏΡ‹.\r\n EXPAND: 'toolbarGroupExpand',\r\n // Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅, ΡΡ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ Π³Ρ€ΡƒΠΏΠΏΡ‹.\r\n CHANGE: 'toolbarGroupChange'\r\n }\r\n });\r\n\r\n global.components.wrappers.toolBar.ReactToolBarGroup = ReactToolBarGroup;\r\n})(window.WebAccess);","'use strict';\r\n(function defButtonsCollection(global) {\r\n\r\n /**\r\n * Часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ сСлСкторы\r\n */\r\n const buttonSelector = '.toolbar_button';\r\n const byNameSelectorTemplate = '{0}[name={1}]';\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Класс-ΠΎΠ±Π΅Ρ€Ρ‚ΠΊΠ° для ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ ΠΊΠ½ΠΎΠΏΠΎΠΊ\r\n * @class WebAccess.components.wrappers.toolBar.Buttons\r\n * @extends WebAccess.Collecton\r\n * @since 5.2.0.1600\r\n */\r\n var Buttons = global.Collection.extend({\r\n\r\n // Бписок дСйствий ΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΈΠΌ ΠΊΠ½ΠΎΠΏΠΎΠΊ Π½Π° Π»Π΅Π½Ρ‚Π΅.\r\n _buttonsByActionName: {},\r\n\r\n // Бписок Ρ€Π΅ΠΆΠΈΠΌΠΎΠ² доступности ΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΈΠΌ дСйствий.\r\n _buttonsByEnabledMode: {},\r\n\r\n // Бписок ΠΊΠ½ΠΎΠΏΠΎΠΊ, состояниС ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… измСняСтся Π² зависимости ΠΎΡ‚ выдСлСния Π²Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ\r\n _buttonsEnabledOnAttachmentSelection: [],\r\n\r\n // Бписок ΠΊΠ½ΠΎΠΏΠΎΠΊ, доступных ΠΏΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… записСй\r\n _buttonsEnabledForMultiSelected: {},\r\n\r\n // Бписок ΠΊΠ½ΠΎΠΏΠΎΠΊ, доступных Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ 1 записи\r\n _buttonsEnabledOnlyForOneSelected: {},\r\n\r\n /**\r\n * ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€.\r\n *\r\n * @param {array} elements Бписок ΠΊΠ½ΠΎΠΏΠΎΠΊ.\r\n */\r\n init(elements) {\r\n var me = this;\r\n me._super(elements);\r\n\r\n // Π‘Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ списки\r\n me._arr.forEach(function (item) {\r\n // ДСйствия ΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΈΠΌ ΠΊΠ½ΠΎΠΏΠΊΠΈ\r\n var linkedAction = item.getLinkedAction();\r\n var buttons = null;\r\n if (linkedAction) {\r\n buttons = me._buttonsByActionName[linkedAction];\r\n if (buttons) {\r\n buttons.push(item);\r\n } else {\r\n me._buttonsByActionName[linkedAction] = [item];\r\n }\r\n }\r\n\r\n // Π Π΅ΠΆΠΈΠΌΡ‹ доступности ΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΈΠΌ ΠΊΠ½ΠΎΠΏΠΊΠΈ\r\n var enabledMode = item.getEnabledMode();\r\n if (enabledMode) {\r\n buttons = me._buttonsByEnabledMode[enabledMode];\r\n if (buttons) {\r\n buttons.push(item);\r\n } else {\r\n me._buttonsByEnabledMode[enabledMode] = [item];\r\n }\r\n }\r\n\r\n // Π‘Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ список ΠΊΠ½ΠΎΠΏΠΎΠΊ, состояния ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ Π² зависимости ΠΎΡ‚ выдСлСния элСмСнтов\r\n if (item.getIsEnabledOnAttachnentSelected()) {\r\n me._buttonsEnabledOnAttachmentSelection.push(item);\r\n }\r\n\r\n // Π‘Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ список ΠΊΠ½ΠΎΠΏΠΎΠΊ, состояния ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ Π² зависимости ΠΎΡ‚ выдСлСния элСмСнтов\r\n if (item.getIsEnabledOnlyForSelected() && item.groupName === \"TOOLBAR_CONTENTS_ACTIONS_GROUP\") {\r\n if (item.getIsEnabledWhenMultiSelect()) {\r\n me._buttonsEnabledForMultiSelected[item.name] = item;\r\n } else {\r\n me._buttonsEnabledOnlyForOneSelected[item.name] = item;\r\n }\r\n }\r\n });\r\n\r\n me._jToolBarConatainer = $('#toolbar_container');\r\n me._jSearchTarget = me._jToolBarConatainer.find(buttonSelector);\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ ΠΊΠ½ΠΎΠΏΠΊΡƒ ΠΏΠ°Π½Π΅Π»ΠΈ инструмСнтов.\r\n *\r\n * @method WebAccess.components.wrappers.toolBar.Buttons#create\r\n * @param {string} toolGroupName Имя Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΊΠ½ΠΎΠΏΠΎΠΊ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π±ΡƒΠ΄Π΅Ρ‚ Π²Π»ΠΎΠΆΠ΅Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ°.\r\n * @param {string | object} buttonName Имя создаваСмой ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΈΠ»ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ {name: \"\", text:\"\", action:\"\", icon:\"\"}\r\n * @param {boolean} [isSmall = false] ЯвляСтся Π»ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠ° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΈΠΊΠΎΠ½ΠΊΠΎΠΉ (Π±Π΅Π· названия).\r\n * @throws ERR_SPECIFIED_BUTTONS_GROUP_DOES_NOT_EXIST – ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΊΠ½ΠΎΠΏΠΎΠΊ Π½Π΅ сущСствуСт;\r\n * @throws ERR_BUTTON_NAME_IS_NOT_SPECIFIED – Π½Π΅Π²Π΅Ρ€Π½ΠΎ ΡƒΠΊΠ°Π·Π°Π½ΠΎ имя ΠΊΠ½ΠΎΠΏΠΊΠΈ;\r\n * @throws ERR_BUTTON_WITH_THE_SAME_NAME_ALREADY_EXIST – ΠΊΠ½ΠΎΠΏΠΊΠ° с ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΡƒΠΆΠ΅ сущСствуСт.\r\n * @return {WebAccess.components.wrappers.toolBar.ToolBarButton} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° ToolBarButton.\r\n */\r\n create(toolGroupName, buttonName, isSmall = false) {\r\n if (arguments.length < 2) {\r\n global.raise('ERR_NOT_ALL_REQUIRED_ARGUMENTS_HAVE_BEEN_SUPLIED');\r\n }\r\n\r\n const name = buttonName.name || buttonName;\r\n if (!name) {\r\n global.raise('ERR_BUTTON_NAME_IS_NOT_SPECIFIED_PROPERLY');\r\n }\r\n\r\n const text = buttonName.text || L('NEW_BUTTON');\r\n // ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΊΠ»ΠΈΠΊΠ° пСрСдаётся Π»ΠΈΠ±ΠΎ Π² свойствС action Π² Π²ΠΈΠ΄Π΅ строки, Π»ΠΈΠ±ΠΎ Π² jsaction Π² Π²ΠΈΠ΄Π΅ Ρ„ΡƒΠΊΡ†ΠΈΠΈ\r\n const action = buttonName.action || (buttonName.jsaction ? '' : `alert(L('WRN_USE_CLICK_OR_BIND_METHODS_TO_SET_THE_ACTION'));`);\r\n const icon = buttonName.icon || 'document-20';\r\n const toolTip = buttonName.toolTip || text;\r\n const contentsActionEnabledMode = buttonName.contentsActionEnabledMode;\r\n\r\n const groupSelector = '.toolbar_group';\r\n const currentGroupSelector = format(byNameSelectorTemplate, groupSelector, toolGroupName);\r\n let jToolGroup = this._jToolBarConatainer.find(currentGroupSelector);\r\n if (!jToolGroup.length) {\r\n global.raise('ERR_SPECIFIED_BUTTONS_GROUP_DOES_NOT_EXIST', toolGroupName);\r\n }\r\n\r\n const currentButtonSelector = format(byNameSelectorTemplate, buttonSelector, name);\r\n const jExistingButton = this._jToolBarConatainer.find(currentButtonSelector);\r\n if (jExistingButton.length > 0) {\r\n global.raise('ERR_BUTTON_WITH_THE_SAME_NAME_ALREADY_EXIST', name);\r\n }\r\n\r\n if (global.current.toolBar.groups[toolGroupName].isCollapsed()) {\r\n jToolGroup = jToolGroup.find('.addedHiddenDiv');\r\n }\r\n\r\n const buttonClass = `${isSmall ? 'small_' : ''}toolbar_item toolbar_button`;\r\n\r\n // Π Π°Π·Π½Ρ‹Π΅ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ для ΠΊΠ½ΠΎΠΏΠΊΠΈ с svg-ΠΈΠΊΠΎΠ½ΠΊΠΎΠΉ ΠΈ, Ρ€Π°Π΄ΠΈ совмСстимости, для ΠΊΠ½ΠΎΠΏΠΊΠΈ с png-ΠΈΠΊΠΎΠ½ΠΊΠΎΠΉ. Начиная с v5.5\r\n let buttonTemplate = icon.endsWith('.png') ? CT.toolBar.button : CT.toolBar.buttonSvg;\r\n jToolGroup.append(format(buttonTemplate.replace(/> +<'), name, text, action, icon, buttonClass, toolTip));\r\n\r\n let button = new global.components.wrappers.toolBar.ToolBarButton(currentButtonSelector);\r\n button.isSynthetic = true;\r\n this.addElement(name, button);\r\n\r\n jExistingButton.hover(\r\n () => {\r\n $(this).addClass('hover');\r\n },\r\n () => {\r\n $(this).removeClass('hover');\r\n }\r\n );\r\n\r\n // jsaction Π½Π΅ зависит ΠΎΡ‚ action, пСрСдаётся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠ°ΠΊ функция ΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Π΅Ρ€Π΅Π· bind\r\n if (buttonName.jsaction) {\r\n this[name].bind('click', buttonName.jsaction);\r\n }\r\n\r\n // Π‘Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ список ΠΊΠ½ΠΎΠΏΠΎΠΊ, состояния ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ Π² зависимости ΠΎΡ‚ выдСлСния элСмСнтов\r\n if ((contentsActionEnabledMode & CONTENTS_ACTION_ENABLED_MODE.ENABLED_ONLY_FOR_SELECTED) && toolGroupName === 'TOOLBAR_CONTENTS_ACTIONS_GROUP') {\r\n if (contentsActionEnabledMode & CONTENTS_ACTION_ENABLED_MODE.ENABLED_WHEN_MULTISELECT) {\r\n this._buttonsEnabledForMultiSelected[name] = button;\r\n } else {\r\n this._buttonsEnabledOnlyForOneSelected[name] = button;\r\n }\r\n }\r\n\r\n return this[name];\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π£Π΄Π°Π»ΠΈΡ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΡƒ ΠΏΠ°Π½Π΅Π»ΠΈ инструмСнтов.\r\n *\r\n * @method WebAccess.components.wrappers.toolBar.Buttons#remove\r\n * @param {string} buttonName Имя создаваСмой ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΏΠ°Π½Π΅Π»ΠΈ инструмСнтов\r\n * @return {WebAccess.current.toolBar.buttons} ΠŸΡ€ΠΎΡΡ‚Ρ€Π°Π½ΡΡ‚Π²ΠΎ ΠΈΠΌΠ΅Π½ WebAccess.components.wrappers.toolBar.Buttons#\r\n */\r\n remove(buttonName) {\r\n var me = this;\r\n delete me[buttonName];\r\n me._jToolBarConatainer.find(format(byNameSelectorTemplate, buttonSelector, buttonName)).remove();\r\n\r\n delete me._buttonsEnabledOnlyForOneSelected[buttonName];\r\n delete me._buttonsEnabledForMultiSelected[buttonName];\r\n return me;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΏΠ°Π½Π΅Π»ΠΈ инструмСнтов.\r\n *\r\n * @method WebAccess.components.wrappers.toolBar.Buttons#isExist\r\n * @param {string} buttonName Имя ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΏΠ°Π½Π΅Π»ΠΈ инструмСнтов\r\n * @return {boolean} True, Ссли ΠΊΠ½ΠΎΠΏΠΊΠ° сущСствуСт, ΠΈΠ½Π°Ρ‡Π΅ False.\r\n */\r\n isExist(buttonName) {\r\n var existingButton = $(format(byNameSelectorTemplate, buttonSelector, buttonName));\r\n return existingButton.length > 0;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ список ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΏΠ°Π½Π΅Π»ΠΈ дСйствий, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ зависят ΠΎΡ‚ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠ³ΠΎ дСйствия.\r\n * @method WebAccess.components.wrappers.toolBar.Buttons#getButtonsByActionName\r\n\t* @param {string} actionName НаимСнованиС ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠ³ΠΎ дСйствия.\r\n * @returns {array} Массив ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΏΠ°Π½Π΅Π»ΠΈ дСйствий, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ зависят ΠΎΡ‚ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠ³ΠΎ дСйствия.\r\n */\r\n getButtonsByActionName(actionName) {\r\n var buttons = this._buttonsByActionName[actionName.toLowerCase()];\r\n return buttons ? buttons : [];\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ список ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΏΠ°Π½Π΅Π»ΠΈ дСйствий ΠΏΠΎ Ρ€Π΅ΠΆΠΈΠΌΡƒ доступности дСйствия.\r\n * @method WebAccess.components.wrappers.toolBar.Buttons#getButtonsByEnabledMode\r\n\t* @param {ACTION_ENABLED_MODE} enabledMode Π Π΅ΠΆΠΈΠΌ доступности дСйствия.\r\n * @returns {array} Массив ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΏΠ°Π½Π΅Π»ΠΈ дСйствий, для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… установлСн ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΉ Ρ€Π΅ΠΆΠΈΠΌ доступности дСйствия.\r\n */\r\n getButtonsByEnabledMode(enabledMode) {\r\n var buttons = this._buttonsByEnabledMode[enabledMode];\r\n return buttons ? buttons : [];\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ список ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΏΠ°Π½Π΅Π»ΠΈ дСйствий, доступных для Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Ρ… Π²Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ.\r\n * @method WebAccess.components.wrappers.toolBar.Buttons#getButtonsEnabledOnAttachmentSelection\r\n\t * @returns {array} Массив ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΏΠ°Π½Π΅Π»ΠΈ дСйствий, Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… измСняСтся Π² зависимости ΠΎΡ‚ Π²Ρ‹Π±ΠΎΡ€Π° Π²Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ.\r\n */\r\n getButtonsEnabledOnAttachmentSelection() {\r\n return this._buttonsEnabledOnAttachmentSelection;\r\n },\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ список ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΏΠ°Π½Π΅Π»ΠΈ дСйствий ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊΠ°, доступных Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для ΠΎΠ΄Π½ΠΎΠΉ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΉ записи.\r\n * @method WebAccess.components.wrappers.toolBar.Buttons#getButtonsEnabledOnlyForOneSelected\r\n\t * @returns {array} Массив ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΏΠ°Π½Π΅Π»ΠΈ дСйствий, Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… измСняСтся Π² зависимости ΠΎΡ‚ Π²Ρ‹Π±ΠΎΡ€Π° ΠΎΠ΄Π½ΠΎΠΉ записи.\r\n */\r\n getButtonsEnabledOnlyForOneSelected() {\r\n return this._buttonsEnabledOnlyForOneSelected;\r\n },\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ список ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΏΠ°Π½Π΅Π»ΠΈ дСйствий ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊΠ°, доступных ΠΏΡ€ΠΈ мноТСствСнном Π²Ρ‹Π±ΠΎΡ€Π΅.\r\n * @method WebAccess.components.wrappers.toolBar.Buttons#getButtonsEnabledForMultiSelected\r\n\t * @returns {array} Массив ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΏΠ°Π½Π΅Π»ΠΈ дСйствий, Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… измСняСтся Π² зависимости ΠΎΡ‚ Π²Ρ‹Π±ΠΎΡ€Π° записСй.\r\n */\r\n getButtonsEnabledForMultiSelected() {\r\n return this._buttonsEnabledForMultiSelected;\r\n }\r\n });\r\n\r\n global.components.wrappers.toolBar.Buttons = Buttons;\r\n\r\n})(window.WebAccess);\r\n","'use strict';\r\n(function defGroupsCollection(global) {\r\n\r\n /**\r\n * Часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ сСлСкторы\r\n */\r\n const toolbarContentsSelector = '.toolbar_holder';\r\n const groupSelector = '.toolbar_group';\r\n const byNameSelectorTemplate = '{0}[name={1}]';\r\n //------------------------------------------------------------------------//\r\n\r\n /**\r\n * ΠžΠ±Π΅Ρ€Ρ‚ΠΊΠ° для ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ ΠΊΠ½ΠΎΠΏΠΎΠΊ\r\n * \r\n * @class WebAccess.components.wrappers.toolBar.Groups\r\n * @extends WebAccess.Collecton\r\n * @since 5.2.0.1600\r\n */\r\n var Groups = global.Collection.extend({\r\n\r\n /**\r\n * Π‘ΠΎΠ·Π΄Π°Π΅Ρ‚ Π½ΠΎΠ²ΡƒΡŽ Π³Ρ€ΡƒΠΏΠΏΡƒ ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΏΠ°Π½Π΅Π»ΠΈ инструмСнтов.\r\n *\r\n * @method WebAccess.components.wrappers.toolBar.Groups#create\r\n * @param {string | object} toolGroupName Имя Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΈΠ»ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ {name: \"\", label:\"\", action:\"\", icon:\"\"}\r\n * @param {string} toolGroupNameToAppendAfter Имя ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΊΠ½ΠΎΠΏΠΎΠΊ Π½Π° Π»Π΅Π½Ρ‚Π΅, послС ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ вставится новая Π³Ρ€ΡƒΠΏΠΏΠ°\r\n * @throws ERR_GROUP_NAME_IS_NOT_SPECIFIED_PROPERLY – НСвСрно ΡƒΠΊΠ°Π·Π°Π½ΠΎ имя Π³Ρ€ΡƒΠΏΠΏΡ‹.\r\n * @throws ERR_GROUP_WITH_THE_SAME_NAME_ALREADY_EXIST – Π“Ρ€ΡƒΠΏΠΏΠ° с ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΡƒΠΆΠ΅ сущСствуСт.\r\n * @return {WebAccess.components.wrappers.toolBar.ToolBarButton} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° ToolBarButton.\r\n */\r\n create(toolGroupName, toolGroupNameToAppendAfter) {\r\n const jToolBar = $(toolbarContentsSelector);\r\n\r\n const name = toolGroupName.name || toolGroupName;\r\n if (!name) {\r\n global.raise('ERR_GROUP_NAME_IS_NOT_SPECIFIED_PROPERLY');\r\n }\r\n\r\n const label = toolGroupName.label || L('NEW_GROUP');\r\n const icon = toolGroupName.icon || 'document-20';\r\n\r\n const jExistingGroup = $(format(byNameSelectorTemplate, groupSelector, name));\r\n if (jExistingGroup.length) {\r\n global.raise('ERR_GROUP_WITH_THE_SAME_NAME_ALREADY_EXIST', name);\r\n }\r\n\r\n // Π Π°Π·Π½Ρ‹Π΅ ΡˆΠ°Π±Π»ΠΎΠ½Ρ‹ для Π³Ρ€ΡƒΠΏΠΏΡ‹ с svg-ΠΈΠΊΠΎΠ½ΠΊΠΎΠΉ ΠΈ, Ρ€Π°Π΄ΠΈ совмСстимости, для Π³Ρ€ΡƒΠΏΠΏΡ‹ с png-ΠΈΠΊΠΎΠ½ΠΊΠΎΠΉ. Начиная с v5.6\r\n const groupTemplate = icon.endsWith('.png') ? ControlTemplate.toolBar.group : ControlTemplate.toolBar.groupSvg;\r\n const groupHtml = format(groupTemplate, name, label, icon);\r\n if (typeof toolGroupNameToAppendAfter === 'string') {\r\n if (toolGroupNameToAppendAfter === '') {\r\n jToolBar.prepend(groupHtml);\r\n } else {\r\n const jBeforeGroup = jToolBar.find(`[name=\"${toolGroupNameToAppendAfter}\"]`);\r\n if (jBeforeGroup.length) {\r\n jBeforeGroup.after(groupHtml);\r\n } else {\r\n global.raise('ERR_SPECIFIED_BUTTONS_GROUP_DOES_NOT_EXIST');\r\n }\r\n }\r\n } else {\r\n jToolBar.append(groupHtml);\r\n }\r\n this.addElement(name, new global.components.wrappers.toolBar.ToolBarGroup(format(byNameSelectorTemplate, groupSelector, name)));\r\n return this[name];\r\n },\r\n //----------------------------------------------------------------------//\r\n\r\n /**\r\n * ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅Ρ‚ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΏΠ°Π½Π΅Π»ΠΈ инструмСнтов.\r\n *\r\n * @method WebAccess.components.wrappers.toolBar.Groups#isExist\r\n * @param {string} toolGroupName Имя Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΊΠ½ΠΎΠΏΠΎΠΊ\r\n * @return {boolean} True, Ссли Π³Ρ€ΡƒΠΏΠΏΠ° ΠΊΠ½ΠΎΠΏΠΎΠΊ сущСствуСт, ΠΈΠ½Π°Ρ‡Π΅ False.\r\n */\r\n isExist(toolGroupName) {\r\n const existingGroup = $(format(byNameSelectorTemplate, groupSelector, toolGroupName));\r\n return !!existingGroup.length;\r\n }\r\n //----------------------------------------------------------------------//\r\n });\r\n\r\n global.components.wrappers.toolBar.Groups = Groups;\r\n\r\n})(window.WebAccess);","\"use strict\";\r\n\r\n/**\r\n* Π—Π°ΠΊΠ»Π°Π΄ΠΊΠ° Π±ΠΎΠΊΠΎΠ²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ.\r\n* \r\n* @class WebAccess.components.wrappers.sideBar.Tab\r\n* @extends BasePageElement\r\n* @property {string} name Имя Π·Π°ΠΊΠ»Π°Π΄ΠΊΠΈ\r\n* @property {string} selector ΠŸΡƒΡ‚ΡŒ Π² DOM-ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ Π³Ρ€ΡƒΠΏΠΏΡ‹, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ div.content#container\r\n* @property isSynthetic {boolean} ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ Π·Π°ΠΊΠ»Π°Π΄ΠΊΠ° Π±Ρ‹Π»Π° создана срСдствами API\r\n* @param {string} itemSelector CΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ элСмСнт страницы\r\n*/\r\n(function (global) {\r\n\r\n /**\r\n * Часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ сСлСкторы\r\n */\r\n var sideBarConatainerSelector = \"#card_left_container\";\r\n var tabSelector = \"div.tab_item\";\r\n var cardFormTabTemplate = '#CardForm_Tab_{0}';\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n\r\n /**\r\n * Π§Π°ΡΡ‚ΠΎΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ jQuery ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹\r\n */\r\n var jSideBarConatainer = $(sideBarConatainerSelector);\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~// \r\n\r\n var Tab = WebAccess.components.wrappers.BasePageElement.extend({\r\n _current: null,\r\n dfmName: '',\r\n helpLink: '',\r\n\r\n init: function (itemSelector, opt_current) {\r\n this._current = opt_current.current;\r\n let jTab;\r\n\r\n if (this._current && this._current.sideBar) {\r\n jTab = this._current.sideBar._jSideBar.find(itemSelector);\r\n } else {\r\n jTab = $(itemSelector);\r\n }\r\n\r\n this._jObject = jTab;\r\n this._super(jTab);\r\n this.selector = format(this._byNameSelectorTemplate, tabSelector, this.name);\r\n this.dfmName = jTab.data('name');\r\n this.helpLink = jTab.data('help-link') || '';\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n className: \"Tab\",\r\n isSynthetic: false,\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~// \r\n\r\n /**\r\n * Π—Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Π·Π°ΠΊΠ»Π°Π΄ΠΊΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΌ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ΠΎΠΌ\r\n * \r\n * @method WebAccess.current.sideBar.tabs.tab#setHtml\r\n * @param {string} html - тСкст html Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΈ\r\n * @return {Tab}\r\n */\r\n setHtml: function (html) {\r\n if (global.getLocation() != \"explorer\") {\r\n if (this._jObject.hasClass(\"inline_tab\") && !this.isSynthetic) {\r\n if (this.name == \"Card\") {\r\n $(\"#CardForm_Tab_Card\").html(html);\r\n } else {\r\n var id = this._jObject.attr(\"id\");\r\n var num = id.substr(id.length - 1);\r\n $(\"#CardForm_Tab_\" + num).html(html);\r\n }\r\n } else {\r\n $(format(cardFormTabTemplate, this.name)).html(html);\r\n };\r\n } else {\r\n if (this._current && this._current.className === 'Current') { //ВсС ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ситуации Π½ΠΈΠΆΠ΅ для совмСстимости ΠΈ равнозначности всСх Π·Π°ΠΊΠ»Π°Π΄ΠΎΠΊ.\r\n switch (this.name) {\r\n case \"FldTree\":\r\n $(\"#ctl00_LeftContentPlaceHolder_TreeDiv\").html(html);\r\n break;\r\n default:\r\n $(\"#Search\").children(\"#\" + this.name).html(html);\r\n }\r\n }\r\n }\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~// \r\n\r\n click: function (opt_callback) {\r\n if ($.isFunction(opt_callback)) {\r\n this.unbind(\"click\");\r\n };\r\n this._super(opt_callback);\r\n },\r\n\r\n /**\r\n * Π‘ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Π·Π°ΠΊΠ»Π°Π΄ΠΊΠΈ\r\n * \r\n * @method WebAccess.current.sideBar.tabs.tab#setHtml\r\n * @return {Tab}\r\n */\r\n hide: function () {\r\n this._super();\r\n if (this._jObject.hasClass(\"last\")) this._jObject.removeClass(\"last\").prev(\"div\").addClass(\"last\");\r\n return this;\r\n },\r\n\r\n /** \r\n * Показ Π·Π°ΠΊΠ»Π°Π΄ΠΊΠΈ\r\n * \r\n * @method WebAccess.current.sideBar.tabs.tab#show\r\n * @return {Tab}\r\n */\r\n show: function () {\r\n this._super();\r\n if (this._jObject.prev().hasClass(\"last\")) {\r\n this._jObject.addClass(\"last\").prev(\"div\").removeClass(\"last\");\r\n }\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /** \r\n * Π”Π΅Π»Π°Π΅Ρ‚ Π·Π°ΠΊΠ»Π°Π΄ΠΊΡƒ доступной для измСнСния.\r\n * \r\n * @method WebAccess.current.sideBar.tabs.tab#enable\r\n * @return {Tab} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° Tab.\r\n */\r\n enable: function () {\r\n var me = this;\r\n me._super();\r\n // Π’ ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠ΅ Π—Π—Π£ Ρ‚ΠΎΡ‡Π½ΠΎ Π½Π΅ Π½Π°Π΄ΠΎ Π½ΠΈΡ‡Π΅Π³ΠΎ Π±Π°ΠΉΠ½Π΄ΠΈΡ‚ΡŒ. Π£ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² - ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΈ Π½Π°Π΄ΠΎ, Π½Π΅ провСрял.\r\n const isNotBindedCard = [\r\n OBJECT_TYPE.EDOCUMENT,\r\n OBJECT_TYPE.JOB,\r\n OBJECT_TYPE.TASK,\r\n ].includes(WA.CR.Type);\r\n if (!me.isSynthetic && !isNotBindedCard) {\r\n me._jObject.bind(\"click\", function () {\r\n me._current.sideBar.tabs._defaultClickHandler(me, me.name, me.selector);\r\n });\r\n }\r\n return me;\r\n },\r\n\r\n /** \r\n * Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΏΡ€ΠΈΠ·Π½Π°ΠΊ видимости Π·Π°ΠΊΠ»Π°Π΄ΠΊΠΈ.\r\n * \r\n * @method WebAccess.current.sideBar.tabs.tab#isVisible\r\n * @return {boolean} True - Π·Π°ΠΊΠ»Π°Π΄ΠΊΠ° отобраТаСтся, False - Π·Π°ΠΊΠ»Π°Π΄ΠΊΠ° скрыта.\r\n */\r\n isVisible: function () {\r\n return this._jObject.is(':visible');\r\n }\r\n\r\n });\r\n\r\n global.components.wrappers.sideBar.Tab = Tab;\r\n})(window.WebAccess);\r\n","\"use strict\";\r\n\r\n(function (global) {\r\n\r\n /**\r\n * Класс-ΠΎΠ±Π΅Ρ€Ρ‚ΠΊΠ° для ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Π·Π°ΠΊΠ»Π°Π΄ΠΎΠΊ\r\n * @class WebAccess.components.wrappers.sideBar.Tabs\r\n * @extends WebAccess.Collecton\r\n * @since 5.2.0.1600 \r\n */\r\n var Tabs = global.Collection.extend({\r\n _tabSelector: 'div.tab_item',\r\n _byNameSelectorTemplate: '{0}[name=\"{1}\"]',\r\n _cardFormTabTemplate: '#CardForm_Tab_{0}',\r\n _cardFormTabSelector: 'div.CardForm_Tab',\r\n _cssClass: 'tab_item',\r\n _noCardFormAtStartFound: false,\r\n _current: null,\r\n\r\n init: function (elements, sideBarConatainerSelector, opt_current) {\r\n var me = this;\r\n me._super(elements);\r\n me._current = opt_current;\r\n me._jSideBarConatainer = $(sideBarConatainerSelector);\r\n me._jPlaceHolder = me._jSideBarConatainer.find(\"span:first\");\r\n\r\n me._jCardForm = $(\".CardForm, .FakeCardForm\");\r\n me._jScroller = $(\"#scroller\");\r\n me._jAfterTabs = $(\".after_tabs\");\r\n me._jSideBar = $('#card_left_container');\r\n me._actualizeCurrentOnClick();\r\n\r\n // ΠŸΠΎΠ΄ΠΏΠΈΡΡ‹Π²Π°Π΅ΠΌΡΡ Π½Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ Π²ΠΊΠ»Π°Π΄ΠΊΠΈ.\r\n if (me._current && me._current.sideBar) {\r\n var currentSidebar = me._current.sideBar;\r\n currentSidebar.bind(currentSidebar['class'].EVENT.AFTER_TAB_SWITCH, function () {\r\n me._updateCurrentSelectedTab();\r\n });\r\n }\r\n\r\n },\r\n\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n /**\r\n * Π‘Π»Π΅ΠΆΠ΅Π½ΠΈΠ΅ Π·Π° Ρ‚Π΅ΠΌ, какая Π·Π°ΠΊΠ»Π°Π΄ΠΊΠ° тСкущая\r\n * @private\r\n */\r\n _actualizeCurrentOnClick: function () {\r\n var me = this;\r\n me._jSearchTarget = me._jSideBarConatainer.bind('click', function () {\r\n me._updateCurrentSelectedTab();\r\n });\r\n me._updateCurrentSelectedTab();\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n /**\r\n * Π‘Π»Π΅ΠΆΠ΅Π½ΠΈΠ΅ Π·Π° Ρ‚Π΅ΠΌ, какая Π·Π°ΠΊΠ»Π°Π΄ΠΊΠ° тСкущая\r\n * @private\r\n */\r\n _updateCurrentSelectedTab: function () {\r\n var me = this;\r\n me._jSelectedTab = me._jSideBarConatainer.find(me._tabSelector + '.selected');\r\n if (!me._jSelectedTab.length)\r\n me._jSelectedTab = me._jSideBarConatainer.find(me._tabSelector + '.first');\r\n var name = me._jSelectedTab.attr('name') || me._jSelectedTab.data('name');\r\n me.current = me[name];\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ Π·Π°ΠΊΠ»Π°Π΄ΠΊΡƒ Π±ΠΎΠΊΠΎΠ²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ.\r\n * \r\n * @method WebAccess.components.wrappers.sideBar.Tabs#create\r\n * @param {string|object} tabName Имя Π·Π°ΠΊΠ»Π°Π΄ΠΊΠΈ ΠΈΠ»ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ \r\n * {name: \"\", label:\"\", action:\"\", icon:\"\"}\r\n * @throws ERR_TAB_NAME_IS_NOT_SPECIFIED_PROPERLY – Π½Π΅Π²Π΅Ρ€Π½ΠΎ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎ имя Π·Π°ΠΊΠ»Π°Π΄ΠΊΠΈ;\r\n * @throws ERR_TAB_WITH_THE_SAME_NAME_ALREADY_EXIST – Π·Π°ΠΊΠ»Π°Π΄ΠΊΠ° с ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ\r\n * ΠΈΠΌΠ΅Π½Π΅ΠΌ ΡƒΠΆΠ΅ сущСствуСт.\r\n * @return {WebAccess.components.wrappers.sideBar.Tab} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° Tab. \r\n */\r\n create: function (tabName) {\r\n var me = this;\r\n\r\n var name = \"\";\r\n var label = L(\"NEW_TAB\");\r\n var icon = \"Doc/doc_32.png\";\r\n var toolTip = label;\r\n\r\n if (typeof tabName == \"object\") {\r\n name = tabName.name || tabName.id;\r\n label = tabName.label || tabName.text;\r\n icon = tabName.icon || icon;\r\n toolTip = tabName.toolTip || tabName.tooltip;\r\n } else if (typeof tabName == \"string\") {\r\n name = tabName;\r\n } else global.raise(\"ERR_TAB_NAME_IS_NOT_SPECIFIED_PROPERLY\");\r\n\r\n me._currentTabSelector = format(me._byNameSelectorTemplate, me._tabSelector, name);\r\n me._jExistingTab = me._jSideBarConatainer.find(me._currentTabSelector);\r\n\r\n if (me._jExistingTab.length > 0) {\r\n global.raise(\"ERR_TAB_WITH_THE_SAME_NAME_ALREADY_EXIST\", name);\r\n };\r\n\r\n var template = format(ControlTemplate.sideBar.tab, name, label, icon, me._cssClass, toolTip);\r\n\r\n if (me._jPlaceHolder.find('.more').length) {\r\n me._jAfterTabs.append(template);\r\n } else {\r\n me._jPlaceHolder.append(template);\r\n }\r\n\r\n me._jSideBarConatainer.find(me._currentTabSelector).addClass(\"last\")\r\n .prev().removeClass(\"last\");\r\n\r\n this._preparePage(name);\r\n\r\n\r\n var tab = new global.components.wrappers.sideBar.Tab(me._currentTabSelector, me._current);\r\n\r\n\r\n tab.bind('click', function () { me._defaultClickHandler(this, name, me._currentTabSelector) });\r\n tab.isSynthetic = true;\r\n\r\n tab.setHtml(format(ControlTemplate.form.tabHelp, L(\"NEW_TAB\"), L(\"WRN_USE_SET_HTML_HELP_TEXT\"), L(\"OM_HELP_HYPERLINK\")));\r\n me.addElement(name, tab);\r\n\r\n if (tabName['jsaction']) {\r\n tab.bind('click', tabName['jsaction']);\r\n };\r\n return tab;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * УстанавливаСт ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ события Ρ‰Π΅Π»Ρ‡ΠΊΠ°, для ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½ΠΎΠΉ DOM структуры.\r\n *\r\n * @private \r\n * @method WebAccess.components.wrappers.sideBar.Tabs#_bindOpenHandler\r\n * @property tabName имя Π·Π°ΠΊΠ»Π°Π΄ΠΊΠΈ\r\n */\r\n _bindOpenHandler: function (tabName) {\r\n var me = this;\r\n me._current.sideBar.tabs.current.click(function (tabName) {\r\n var currentTabSelector = format(me._byNameSelectorTemplate, me._tabSelector, tabName);\r\n me._openHandler(tabName, currentTabSelector);\r\n });\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * НовыС ΠΊΠ½ΠΎΠΏΠΊΠΈ Ρ‚ΠΎΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΠΌΠ΅Ρ‚ΡŒ Π΄Π΅Π»Π°Ρ‚ΡŒ expand/collapse\r\n * @private\r\n */\r\n _defaultClickHandler: function (element, name, currentTabSelector) {\r\n var me = this;\r\n if (name !== \"FldTree\" && name !== \"Run\") me._openHandler(name, currentTabSelector);\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π’Ρ‹Π±ΠΎΡ€ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ Π·Π°ΠΊΠ»Π°Π΄ΠΊΠΈ/\r\n *\r\n * @private\r\n * @method WebAccess.components.wrappers.sideBar.Tabs#_openHandler\r\n * @property tabName имя Π·Π°ΠΊΠ»Π°Π΄ΠΊΠΈ\r\n * @property me._tabSelector сСлСктор Π·Π°ΠΊΠ»Π°Π΄ΠΊΠΈ\r\n */\r\n _openHandler: function (tabName, targetTabSelector) {\r\n var me = this;\r\n me._jCardForm.find(me._cardFormTabSelector).hide();\r\n $(me._tabSelector).removeClass('selected');\r\n me._jSideBarConatainer.find(targetTabSelector).addClass('selected');\r\n if (me._current.className !== \"FormDialog\") {\r\n window.location.hash = tabName;\r\n }\r\n me._jCardForm.find(format(me._cardFormTabTemplate, tabName)).show();\r\n\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π‘ΠΎΠ·Π΄Π°Π΅Ρ‚ ΠΈΠΌΠΈΡ‚Π°Ρ†ΠΈΡŽ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Ρ‚Π°Π±ΠΎΠ², Ρ‚Π°ΠΌ Π³Π΄Π΅ ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠΈ Π½Π΅ сущСствуСт. \r\n * Для возмоТности ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Ρ‚Π°Π±ΠΎΠ².\r\n *\r\n * @private \r\n * @method WebAccess.components.wrappers.sideBar.Tabs#_preparePage\r\n * @param {string} name\r\n */\r\n _preparePage: function (name) {\r\n\r\n var me = this;\r\n if (me._current.sideBar.tabs.hasOwnProperty(\"current\")) {\r\n var currentTabName = me._current.sideBar.tabs.current.name;\r\n //Если ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ Ρ‚Π°Π±ΠΎΠ² Π½Π΅ Π±Ρ‹Π»ΠΎ, сдСлаСм ΠΈΡ… сами.\r\n if (me._jCardForm.length == 0) {\r\n me.noCardFormAtStartFound = true;\r\n if (me._jScroller.children(\"div\").length === 1) {\r\n //Если справочник, Π½ΠΎ Π·Π°ΠΊΠ»Π°Π΄ΠΊΠ° Π±Π΅Π· Ρ„ΠΎΡ€ΠΌΡ‹\r\n me._jScroller.children(\"div\").addClass(\"FakeCardForm\");\r\n } else {\r\n //Если ΠΌΡ‹ Π² Π—Π—Π£\r\n me._jScroller.wrapInner('
    ');\r\n me._jScroller.wrapInner('
    ');\r\n }\r\n };\r\n\r\n me._jCardForm = $(\".CardForm, .FakeCardForm\");\r\n\r\n //Если содСрТимоС Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π·Π°ΠΊΠ»Π°Π΄ΠΊΠΈ Π½Π΅ ΠΎΠ±Π΅Ρ€Π½ΡƒΡ‚ΠΎ Π² div для Ρ‚Π°Π±Π°\r\n if ($(me._cardFormTabSelector).length == 0) {\r\n me._jCardForm.wrapInner('
    ');\r\n //jCardForm.addClass('CardForm_Tab').attr('id', 'CardForm_Tab_' + currentTabName);\r\n this._bindOpenHandler(currentTabName);\r\n };\r\n\r\n if (!me._current.sideBar.tabs.current._jObject.hasClass(\"inline_tab\")) {\r\n this._bindOpenHandler(currentTabName);\r\n }\r\n var template = format(ControlTemplate.form.tab, name);\r\n me._jCardForm.append(template);\r\n if (me.noCardFormAtStartFound) me._jCardForm.find(format(me._cardFormTabTemplate, name)).addClass(\"basic_padding\");\r\n }\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Π·Π°ΠΊΠ»Π°Π΄ΠΊΠΈ Π±ΠΎΠΊΠΎΠ²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ.\r\n * \r\n * @method WebAccess.components.wrappers.sideBar.Tabs#isExist\r\n * @param tabName Имя Π·Π°ΠΊΠ»Π°Π΄ΠΊΠΈ\r\n * @return {boolean} True, Ссли Π·Π°ΠΊΠ»Π°Π΄ΠΊΠ° сущСствуСт, ΠΈΠ½Π°Ρ‡Π΅ False.\r\n */\r\n isExist: function (tabName) {\r\n var me = this;\r\n\r\n var selector = format(me._byNameSelectorTemplate, me._tabSelector, tabName);\r\n me._jExistingTab = me._jSideBarConatainer.find(selector);\r\n return me._jExistingTab.length > 0;\r\n }\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n });\r\n\r\n global.components.wrappers.sideBar.Tabs = Tabs;\r\n\r\n})(window.WebAccess);","\"use strict\";\r\n\r\n (function (global) {\r\n\r\n var cssClass = \"sidebar_item\";\r\n\r\n \r\n /**\r\n * Класс-ΠΎΠ±Π΅Ρ€Ρ‚ΠΊΠ° для ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ Π·Π°ΠΊΠ»Π°Π΄ΠΎΠΊ\r\n * @class WebAccess.components.wrappers.sideBar.Tabs\r\n * @extends WebAccess.Collecton\r\n * @since 5.2.0.1600 \r\n */\r\n var _ExplorerTabs = global.components.wrappers.sideBar.Tabs.extend({\r\n\r\n _tabSelector: 'div.explorer-search-panel__item',\r\n _byNameSelectorTemplate: '{0}[name=\"{1}\"]',\r\n\r\n \r\n /**\r\n * НовыС ΠΊΠ½ΠΎΠΏΠΊΠΈ Ρ‚ΠΎΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΠΌΠ΅Ρ‚ΡŒ Π΄Π΅Π»Π°Ρ‚ΡŒ expand/collapse\r\n * @private\r\n */\r\n _defaultClickHandler: function (element, name, currentTabSelector) {\r\n var me = this;\r\n // ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π΄Π²ΠΎΠΉΠ½ΠΎΠ³ΠΎ ΠΊΠ»ΠΈΠΊΠ° - сворачиваниС - Ρ€Π°Π·Π²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Π½ΠΈΠ΅. \r\n var index = $(me._tabSelector).index(element);\r\n\r\n if (window.nowSelect == index) {\r\n if (!me._current.sideBar.isCollapsed()) me._current.sideBar.collapse();\r\n else me._current.sideBar.expand();\r\n }\r\n else {\r\n window.nowSelect = index;\r\n me._current.sideBar.expand();\r\n }\r\n if (name !== \"FldTree\" && name !== \"Run\") CustomSearch(name, this); \r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Π·Π°ΠΊΠ»Π°Π΄ΠΊΠΈ Π±ΠΎΠΊΠΎΠ²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ.\r\n * \r\n * @method WebAccess.components.wrappers.sideBar.Tabs#isExist\r\n * @param tabName Имя Π·Π°ΠΊΠ»Π°Π΄ΠΊΠΈ\r\n * @return {boolean} True, Ссли Π·Π°ΠΊΠ»Π°Π΄ΠΊΠ° сущСствуСт, ΠΈΠ½Π°Ρ‡Π΅ False.\r\n */\r\n isExist: function (tabName) {\r\n var me = this;\r\n\r\n var selector = format(byNameSelectorTemplate, me._tabSelector, tabName);\r\n me._jExistingTab = me._jSideBarConatainer.find(selector);\r\n return me._jExistingTab.length > 0;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n \r\n /**\r\n * Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ Π·Π°ΠΊΠ»Π°Π΄ΠΊΡƒ Π±ΠΎΠΊΠΎΠ²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ.\r\n **/\r\n // TODO: Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡΠΎΠ·Π΄Π°Π²Π°Ρ‚ΡŒ Π·Π°ΠΊΠ»Π°Π΄ΠΊΠΈ Π²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½Π°.\r\n create: function (tabName) { return; }\r\n\r\n });\r\n\r\n global.components.wrappers.sideBar._ExplorerTabs = _ExplorerTabs;\r\n\r\n})(window.WebAccess);","'use_strict';\r\n\r\n(function defSideBar(global) {\r\n\r\n // ΠšΠΎΠ½ΡΡ‚Π°Π½Ρ‚Ρ‹\r\n const tabSelector = 'div.tab_item';\r\n const moreTabName = 'More';\r\n const moreTabSelector = '.more';\r\n\r\n /**\r\n * Класс-ΠΎΠ±Π΅Ρ€Ρ‚ΠΊΠ° для ΠΏΠ°Π½Π΅Π»ΠΈ Π·Π°ΠΊΠ»Π°Π΄ΠΎΠΊ\r\n * @class WebAccess.components.wrappers.sideBar.SideBar\r\n * @since 5.2.0.1600\r\n */\r\n const SideBar = BaseObject.extend({\r\n\r\n /**\r\n * @inheritDoc\r\n * @param {string} containerSelector Π‘Π΅Π»Π΅ΠΊΡ‚ΠΎΡ€ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° сайдбара.\r\n * @param {object} current Π’Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ систСмы.\r\n */\r\n init(containerSelector, current) {\r\n this._jSideBar = $(containerSelector);\r\n this._jAfterTabs = this._jSideBar.find(\".after_tabs\");\r\n this._super();\r\n\r\n // НС появляСтся Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ скроллинг Π² Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅, ΠΏΠΎΠΊΠ° Π½Π΅\r\n // пошСвСлишь ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ\r\n // #106665\r\n // Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ, особСнно Π³Π΄Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π²ΠΊΠ»Π°Π΄ΠΎΠΊ ΠΈ Ρ‚Π°Π±Π»ΠΈΡ†\r\n this.bind(this['class'].EVENT.AFTER_TAB_SWITCH, () => {\r\n _(current._getGrids()).each((grid) => {\r\n setTimeout(() => {\r\n grid.grid.resizeCanvas();\r\n\r\n // #106257 ПолС Π² Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅ Π½Π΅ становится Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ. ΠŸΠΎΠΌΠΎΠ³Π°Π΅Ρ‚ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ страницы\r\n grid.grid.resetActiveCell();\r\n }, 0);\r\n });\r\n });\r\n\r\n // Π‘Π²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Π΅Ρ‚ Π²ΠΊΠ»Π°Π΄ΠΊΠΈ Π² \"Π•Ρ‰Π΅\" ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² экрана.\r\n $(window).bind('resizeEnd', () => {\r\n this.resizeHorizontalTabs();\r\n }); \r\n },\r\n\r\n /**\r\n * CΠ²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Π½ΠΈΠ΅ / Ρ€Π°Π·ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Π½ΠΈΠ΅ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½Ρ‹Ρ… Π·Π°ΠΊΠ»Π°Π΄ΠΎΠΊ Π² ΠΊΠ½ΠΎΠΏΠΊΡƒ Π΅Ρ‰Π΅.\r\n *\r\n * @method WebAccess.components.wrappers.sideBar.SideBar#resizeHorizontalTabs \r\n * @return {WebAccess.current.sideBar} Π’Π΅ΠΊΡƒΡ‰ΠΈΠΉ сайдбар.\r\n * @since 5.7.0\r\n */\r\n resizeHorizontalTabs() {\r\n this._jAfterTabs.addClass(\"hidden\");\r\n this._fitHorizontalTabs();\r\n },\r\n\r\n\r\n /**\r\n * Π›ΠΎΠ³ΠΈΠΊΠ° сворачивания / разорачивания Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½Ρ‹Ρ… Π·Π°ΠΊΠ»Π°Π΄ΠΎΠΊ Π² ΠΊΠ½ΠΎΠΏΠΊΡƒ Π΅Ρ‰Π΅.\r\n *\r\n * @method WebAccess.components.wrappers.sideBar.SideBar#_fitHorizontalTabs\r\n * @private\r\n * @return {WebAccess.current.sideBar} Π’Π΅ΠΊΡƒΡ‰ΠΈΠΉ сайдбар.\r\n * @since 5.2.0.1600\r\n */\r\n _fitHorizontalTabs() {\r\n return this._fitTabs('outerWidth', this._jSideBar.width());\r\n },\r\n\r\n /**\r\n * Π›ΠΎΠ³ΠΈΠΊΠ° сворачивания / разорачивания Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… Π·Π°ΠΊΠ»Π°Π΄ΠΎΠΊ Π² ΠΊΠ½ΠΎΠΏΠΊΡƒ Π•Ρ‰Π΅.\r\n *\r\n * @deprecated since 5.6.\r\n * @method WebAccess.components.wrappers.sideBar.SideBar#_fitVerticalTabs\r\n * @private\r\n * @return {WebAccess.current.sideBar} Π’Π΅ΠΊΡƒΡ‰ΠΈΠΉ сайдбар.\r\n * @since 5.2.0.1600\r\n */\r\n _fitVerticalTabs() {\r\n this._warnAboutDeprecatedMethod(arguments.callee.name);\r\n return this;\r\n },\r\n\r\n /**\r\n * ΠŸΠΎΠ΄ΡΡ‡Π΅Ρ‚ ΡˆΠΈΡ€ΠΈΠ½Ρ‹ ΠΈΠ»ΠΈ высоты всСх Π·Π°ΠΊΠ»Π°Π΄ΠΎΠΊ.\r\n *\r\n * @method WebAccess.components.wrappers.sideBar.SideBar#_getSideBarSize\r\n * @private\r\n * @return {number} Π¨ΠΈΡ€ΠΈΠ½Π° сайдбара Π² пиксСлах.\r\n * @since 5.2.0.1600\r\n */\r\n _getSideBarSize() {\r\n let sideBarSize = 0;\r\n\r\n this._jSideBar.find(`${tabSelector}:visible`).each(function () {\r\n sideBarSize += $(this).outerWidth();\r\n });\r\n\r\n return sideBarSize;\r\n },\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΡˆΠΈΡ€ΠΈΠ½Ρ‹ ΠΈΠ»ΠΈ высоты послСднСй нСскрытой Π·Π°ΠΊΠ»Π°Π΄ΠΊΠΈ (Π½Π΅ учитывая Π·Π°ΠΊΠ»Π°Π΄ΠΊΡƒ \"Π•Ρ‰Π΅\").\r\n *\r\n * @method WebAccess.components.wrappers.sideBar.SideBar#_getLastTabSize\r\n * @param {object} jSideBar - ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ сайдбара\r\n * @param {string} sizeName - ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅ (доступныС значСния: 'outerWidth', 'outerHeight').\r\n * @private\r\n * @return {integer} Π¨ΠΈΡ€ΠΈΠ½Π° послСднСй Π²ΠΊΠ»Π°Π΄ΠΊΠΈ Π² пиксСлах.\r\n * @since 5.2.0.1600\r\n */\r\n _getLastTabSize(sizeName) {\r\n let jTabs = this._jSideBar.find('span:first').find(tabSelector);\r\n return $.fn[sizeName].call(jTabs.not(moreTabSelector).last(), true);\r\n },\r\n\r\n /**\r\n * Π›ΠΎΠ³ΠΈΠΊΠ° сворачивания / разворачивания Π·Π°ΠΊΠ»Π°Π΄ΠΎΠΊ Π² ΠΊΠ½ΠΎΠΏΠΊΡƒ \"Π•Ρ‰Π΅\".\r\n *\r\n * @method WebAccess.components.wrappers.sideBar.SideBar#_fitTabs\r\n * @param {string} sizeName - ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅ (доступныС значСния: 'outerWidth', 'outerHeight').\r\n * @param {number} availableSize - доступная максимальная Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Π° измСрСния.\r\n * @private\r\n * @return {WebAccess.current.sideBar} Π’Π΅ΠΊΡƒΡ‰ΠΈΠΉ сайдбар.\r\n * @since 5.2.0.1600\r\n */\r\n _fitTabs(sizeName, availableSize) {\r\n // Π‘ΠΊΡ€Ρ‹Ρ‚ΡŒ сайдбар\r\n this._jSideBar.css('display', 'hidden');\r\n\r\n // Π Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ сайдбар ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ\r\n while (this.expand()) ;\r\n\r\n // Π‘Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Π³Ρ€ΡƒΠΏΠΏΡ‹, Ссли Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ\r\n while (availableSize < this._getSideBarSize() && this.collapse()) ;\r\n\r\n // ΠžΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ сайдбар\r\n this._jSideBar.css('display', 'block');\r\n\r\n return this;\r\n },\r\n\r\n /**\r\n * Π’ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ спрятанныС Π·Π°ΠΊΠ»Π°Π΄ΠΊΠΈ\r\n * Π‘ΠΏΡ€ΡΡ‚Π°Ρ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΡƒ \"Π•Ρ‰Π΅\".\r\n *\r\n * @method WebAccess.components.wrappers.sideBar.SideBar#_internalExpand\r\n * @private\r\n * @return {boolean} имССтся Π»ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ дальнСйшСго разворачивания\r\n * @since 5.2.0.1600\r\n */\r\n _internalExpand(jSideBar) {\r\n let collapsedTabs = this._jAfterTabs.find(tabSelector);\r\n let firstCollapsedTab = collapsedTabs.first();\r\n let prevId = firstCollapsedTab.data('prevId');\r\n\r\n if (prevId) {\r\n this._jSideBar\r\n .find(`#${prevId}`)\r\n .after(firstCollapsedTab);\r\n } else {\r\n this._jSideBar\r\n .find(`${tabSelector}:first`)\r\n .before(firstCollapsedTab);\r\n }\r\n\r\n if (collapsedTabs.length === 1) {\r\n this._internalExpand();\r\n }\r\n\r\n let jFirstTab = this._jAfterTabs.find(`${tabSelector}:first`);\r\n if (!jFirstTab.length) {\r\n if (!!this.tabs[moreTabName]) {\r\n this.tabs[moreTabName]._jObject.remove();\r\n delete this.tabs[moreTabName];\r\n }\r\n return false;\r\n }\r\n return true;\r\n },\r\n\r\n /**\r\n * ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΡƒ \"Π•Ρ‰Π΅\".\r\n * Π‘ΠΏΡ€ΡΡ‚Π°Ρ‚ΡŒ всС, Ρ‡Ρ‚ΠΎ Π½Π΅ Π²Π»Π°Π·ΠΈΡ‚ Π² Π½Π΅Ρ‘.\r\n * Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ Π²Ρ‹ΠΏΠ°Π΄ΡŽΡ‰Π΅Π΅ мСню ΠΏΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ с Π³Ρ€ΡƒΠΏΠΏΠ°ΠΌΠΈ.\r\n *\r\n * @method WebAccess.components.wrappers.sideBar.SideBar#_internalCollapse\r\n * @private\r\n * @return {boolean} имССтся Π»ΠΈ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ дальнСйшСго сворачивания\r\n * @since 5.2.0.1600\r\n */\r\n _internalCollapse() {\r\n // Если Π½Π΅Ρ‚ Π²ΠΊΠ»Π°Π΄ΠΊΠΈ \"Π•Ρ‰Ρ‘\", Ρ‚ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Π΅Π΅\r\n if (!this.tabs[moreTabName]) {\r\n let moreTab = this.tabs.create({\r\n name: moreTabName,\r\n label: L('MORE_TABS'),\r\n toolTip: L('OTHER_TABS'),\r\n });\r\n moreTab.click(() => {\r\n });\r\n\r\n // Установим событиС наТатия Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΡƒ\r\n moreTab._jObject.click((event) => {\r\n event.stopPropagation();\r\n this._jAfterTabs.toggleClass(\"hidden\");\r\n\r\n let collapsedTabsLeftOffset = moreTab._jObject.offset().left;\r\n let collapsedTabsWidth = this._jAfterTabs.width();\r\n\r\n if (collapsedTabsLeftOffset + collapsedTabsWidth > windowWidth()) {\r\n collapsedTabsLeftOffset = windowWidth() - collapsedTabsWidth - 10;\r\n }\r\n\r\n this._jAfterTabs.css({\r\n left: collapsedTabsLeftOffset,\r\n });\r\n $('.CardForm').redraw(); //#106605\r\n });\r\n } else {\r\n this.tabs[moreTabName].show();\r\n }\r\n\r\n let jMore = this._jSideBar\r\n .find(this.tabs[moreTabName].selector)\r\n .addClass('more');\r\n\r\n let lastTab = jMore.prev(tabSelector);\r\n if (!lastTab.length) {\r\n return false;\r\n }\r\n\r\n if (lastTab.hasClass('selected')) {\r\n lastTab = lastTab.prev(tabSelector);\r\n if (!lastTab.length) {\r\n return false;\r\n }\r\n }\r\n\r\n lastTab.data('prevId', lastTab.prev().attr('id'));\r\n this._jAfterTabs.prepend(lastTab);\r\n\r\n return true;\r\n },\r\n\r\n /**\r\n * Π Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ содСрТимоС Π·Π°ΠΊΠ»Π°Π΄ΠΎΠΊ ΠΈΠ»ΠΈ Π΄Π΅Ρ€Π΅Π²ΠΎ Π·Π°Π΄Π°Ρ‡ Π² ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊΠ΅.\r\n * Π’ ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠ°Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² пошагово пСрСносит скрытыС Π·Π°ΠΊΠ»Π°Π΄ΠΊΠΈ с Π·Π°ΠΊΠ»Π°Π΄ΠΊΠΈ Β«Π•Ρ‰Π΅Β» Π½Π° Π±ΠΎΠΊΠΎΠ²ΡƒΡŽ панСль.\r\n *\r\n * @method WebAccess.components.wrappers.sideBar.SideBar#expand\r\n */\r\n expand() {\r\n return this._internalExpand();\r\n },\r\n\r\n /**\r\n * Π‘Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ содСрТимоС Π·Π°ΠΊΠ»Π°Π΄ΠΎΠΊ ΠΈΠ»ΠΈ Π΄Π΅Ρ€Π΅Π²ΠΎ ΠΏΠ°ΠΏΠΎΠΊ Π² ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊΠ΅.\r\n * Π’ ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠ°Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² пошагово пСрСносит Π·Π°ΠΊΠ»Π°Π΄ΠΊΠΈ с Π±ΠΎΠΊΠΎΠ²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ Π½Π° Π·Π°ΠΊΠ»Π°Π΄ΠΊΡƒ Β«Π•Ρ‰Π΅Β».\r\n *\r\n * @method WebAccess.components.wrappers.sideBar.SideBar#collapse\r\n * @return {WebAccess.current.sideBar | boolean} True – имССтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡΠ²Π΅Ρ€Π½ΡƒΡ‚ΡŒ содСрТимоС Π·Π°ΠΊΠ»Π°Π΄ΠΎΠΊ, ΠΈΠ½Π°Ρ‡Π΅ False.\r\n */\r\n collapse() {\r\n return this._internalCollapse();\r\n },\r\n\r\n /**\r\n * ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, свСрнута Π»ΠΈ боковая панСль.\r\n *\r\n * @method WebAccess.components.wrappers.sideBar.SideBar#isCollapsed\r\n * @since 5.2.0.1600\r\n */\r\n isCollapsed() {\r\n return !!this.tabs[moreTabName];\r\n },\r\n\r\n /**\r\n * Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ располоТСниС Π±ΠΎΠΊΠΎΠ²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ.\r\n *\r\n * @deprecated since 5.6.\r\n * @method WebAccess.components.wrappers.sideBar.SideBar#setOrientation\r\n * @param {ORIENTATION} orientation Π Π΅ΠΆΠΈΠΌ располоТСния Π±ΠΎΠΊΠΎΠ²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ.\r\n * Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ значСния:HORIZONTAL – Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΠΎΠ΅; VERTICAL – Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ΅.\r\n * @since 5.2.0.1600\r\n */\r\n setOrientation(orientation) {\r\n this._warnAboutDeprecatedMethod(arguments.callee.name);\r\n return this;\r\n },\r\n\r\n /**\r\n * ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎ Π»ΠΈ распологаСтся боковая панСль.\r\n *\r\n * @deprecated since 5.6.\r\n * @method WebAccess.components.wrappers.sideBar.SideBar#isVertical\r\n * @return {boolean} True – боковая панСль располагаСтся Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎ, ΠΈΠ½Π°Ρ‡Π΅ False.\r\n * @since 5.0.0.4206\r\n */\r\n isVertical() {\r\n this._warnAboutDeprecatedMethod(arguments.callee.name);\r\n return false;\r\n },\r\n\r\n /**\r\n * Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π°ΠΊΠ»Π°Π΄ΠΎΠΊ Π±ΠΎΠΊΠΎΠ²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ.\r\n *\r\n * @deprecated since 5.6.\r\n * @method WebAccess.components.wrappers.sideBar.SideBar#moveSidebarToLeftColumn\r\n * @since 5.2.0.1600\r\n */\r\n moveSidebarToLeftColumn() {\r\n this._warnAboutDeprecatedMethod(arguments.callee.name);\r\n return this;\r\n }\r\n }, {\r\n EVENT: {\r\n /**\r\n * Π‘Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ Π΄ΠΎ смСны Π·Π°ΠΊΠ»Π°Π΄ΠΊΠΈ\r\n * @event WebAccess.components.wrappers.sideBar.SideBar.EVENT.BEFORE_TAB_SWITCH\r\n * @param {WebAccess.components.wrappers.sideBar.Tab} Π·Π°ΠΊΠ»Π°Π΄ΠΊΠ°,\r\n * Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅\r\n * @since 5.2.0.1304\r\n */\r\n BEFORE_TAB_SWITCH: 'beforeTabSwitch',\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π‘Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ послС смСны Π·Π°ΠΊΠ»Π°Π΄ΠΊΠΈ\r\n * @event WebAccess.components.wrappers.sideBar.SideBar.EVENT.AFTER_TAB_SWITCH\r\n * @param {WebAccess.components.wrappers.sideBar.Tab} Π·Π°ΠΊΠ»Π°Π΄ΠΊΠ°,\r\n * Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅\r\n * @since 5.2.0.1304\r\n */\r\n AFTER_TAB_SWITCH: 'afterTabSwitch'\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n }\r\n }\r\n );\r\n\r\n WA.CMP.wrappers.sideBar.SideBar = SideBar;\r\n\r\n})(window.WA);\r\n","; \"use_strict\";\r\n(function defSideBar(global) {\r\n\r\n var cssClass = \"tab_item\";\r\n\r\n /**\r\n * Часто ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ сСлСкторы\r\n */\r\n var noCardFormAtStartFound = false;\r\n\r\n var tabSelector = \"div.tab_item\";\r\n var byNameSelectorTemplate = \"{0}[name='{1}']\";\r\n var cardFormTabTemplate = '#CardForm_Tab_{0}';\r\n var cardFormTabSelector = 'div.CardForm_Tab';\r\n\r\n /**\r\n * Π£ ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊΠ° Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ другая вСрстка\r\n */\r\n /*if (global.getLocation() == \"explorer\") {\r\n sideBarConatainerSelector = \"#sidebar_container\";\r\n tabSelector = \"div.sidebar_item\";\r\n cssClass = \"sidebar_item\";\r\n }*/\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π§Π°ΡΡ‚ΠΎΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ jQuery ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹\r\n */\r\n\r\n /**\r\n * Класс-ΠΎΠ±Π΅Ρ€Ρ‚ΠΊΠ° для ΠΏΠ°Π½Π΅Π»ΠΈ Π·Π°ΠΊΠ»Π°Π΄ΠΎΠΊ\r\n * @class WebAccess.components.wrappers.sideBar.SideBar\r\n * @since 5.2.0.1600 \r\n */\r\n var _ExplorerSideBar = WA.CMP.wrappers.sideBar.SideBar.extend({\r\n _jContainer: null,\r\n _current: null,\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π›ΠΎΠ³ΠΈΠΊΠ° сворачивания / разорачивания Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½Ρ‹Ρ… Π·Π°ΠΊΠ»Π°Π΄ΠΎΠΊ Π² ΠΊΠ½ΠΎΠΏΠΊΡƒ Π΅Ρ‰Π΅.\r\n *\r\n * @function WebAccess.components.wrappers.sideBar.SideBar#_fitHorizontalTabs\r\n * @private\r\n * @since 5.2.0.1600\r\n * @return {WebAccess.current.sideBar}\r\n */\r\n _fitHorizontalTabs: global.TCD(function () {\r\n return false;\r\n }),\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π›ΠΎΠ³ΠΈΠΊΠ° сворачивания / разорачивания Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… Π·Π°ΠΊΠ»Π°Π΄ΠΎΠΊ Π² ΠΊΠ½ΠΎΠΏΠΊΡƒ Π•Ρ‰Π΅.\r\n *\r\n * @function WebAccess.components.wrappers.sideBar.SideBar#_fitVerticalTabs\r\n * @private\r\n * @since 5.2.0.1600\r\n * @return {WebAccess.current.sideBar}\r\n */\r\n _fitVerticalTabs: global.TCD(function () {\r\n return false;\r\n }),\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠ΄ΡΡ‡Π΅Ρ‚ ΡˆΠΈΡ€ΠΈΠ½Ρ‹ ΠΈΠ»ΠΈ высоты всСх Π·Π°ΠΊΠ»Π°Π΄ΠΎΠΊ.\r\n *\r\n * @function WebAccess.components.wrappers.sideBar.SideBar#_getSideBarSize\r\n * @since 5.2.0.1600\r\n * @private\r\n * @param {object} jSideBar - ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ сайдбара\r\n * @param {string} sizeName - ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅ (доступныС значСния: 'outerWidth', 'outerHeight').\r\n * @return {integer} ΡˆΠΈΡ€ΠΈΠ½Π° сайдбара\r\n */\r\n _getSideBarSize: function (sizeName) {\r\n var me = this;\r\n var sideBarSize = 0;\r\n\r\n me._jSideBar.find('span:first').find(tabSelector).each(function () {\r\n sideBarSize += $.fn[sizeName].call($(this), true);\r\n });\r\n\r\n if (!this.isVertical()) sideBarSize += $(\".more\").width();\r\n return sideBarSize;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΡˆΠΈΡ€ΠΈΠ½Ρ‹ ΠΈΠ»ΠΈ высоты послСднСй нСскрытой Π·Π°ΠΊΠ»Π°Π΄ΠΊΠΈ (Π½Π΅ учитывая Π·Π°ΠΊΠ»Π°Π΄ΠΊΡƒ \"Π•Ρ‰Π΅\").\r\n *\r\n * @function WebAccess.components.wrappers.sideBar.SideBar#_getLastTabSize\r\n * @since 5.2.0.1600\r\n * @private\r\n * @param {object} jSideBar - ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ сайдбара\r\n * @param {string} sizeName - ΠΈΠ·ΠΌΠ΅Ρ€Π΅Π½ΠΈΠ΅ (доступныС значСния: 'outerWidth', 'outerHeight').\r\n * @return {integer}\r\n */\r\n _getLastTabSize: function (sizeName) {\r\n var me = this;\r\n var tabs = me._jSideBar.find('span:first').find(tabSelector);\r\n return $.fn[sizeName].call(tabs.not('.more').last(), true);\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n\r\n /** \r\n * Π Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ содСрТимоС Π·Π°ΠΊΠ»Π°Π΄ΠΎΠΊ ΠΈΠ»ΠΈ Π΄Π΅Ρ€Π΅Π²ΠΎ Π·Π°Π΄Π°Ρ‡ Π² ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊΠ΅.\r\n * Π’ ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠ°Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² пошагово пСрСносит скрытыС Π·Π°ΠΊΠ»Π°Π΄ΠΊΠΈ с Π·Π°ΠΊΠ»Π°Π΄ΠΊΠΈ Β«Π•Ρ‰Π΅Β» Π½Π° Π±ΠΎΠΊΠΎΠ²ΡƒΡŽ панСль.\r\n *\r\n * @method WebAccess.components.wrappers.sideBar.SideBar#expand\r\n */\r\n expand: global.TCD(function () {\r\n var jTreeArea = $(\".explorer-header__tree-area\");\r\n var jLeftContainer = $(\"#left_column\");\r\n var jTreeContainer = $(\"#tree_container\");\r\n var jExpandTreeContainer = $(\"#expand_tree_container\");\r\n var jExpandHeaderContainer = $(\".explorer-header__expand-area\");\r\n var jRightColumn = $(\"#right_column\");\r\n const jHeader = $('#top_content');\r\n\r\n jLeftContainer.removeClass('left_column_collapsed');\r\n jRightColumn.removeClass('left_column_collapsed');\r\n jHeader.removeClass('left_column_collapsed');\r\n\r\n jExpandTreeContainer.hide();\r\n jExpandHeaderContainer.hide();\r\n\r\n jTreeContainer.show();\r\n jTreeArea.show();\r\n\r\n $.cookie('SideBarCollapsed', '0', { expires: 70000 });\r\n return this;\r\n }),\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π‘Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ содСрТимоС Π·Π°ΠΊΠ»Π°Π΄ΠΎΠΊ ΠΈΠ»ΠΈ Π΄Π΅Ρ€Π΅Π²ΠΎ ΠΏΠ°ΠΏΠΎΠΊ Π² ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊΠ΅.\r\n * Π’ ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠ°Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² пошагово пСрСносит Π·Π°ΠΊΠ»Π°Π΄ΠΊΠΈ с Π±ΠΎΠΊΠΎΠ²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ Π½Π° Π·Π°ΠΊΠ»Π°Π΄ΠΊΡƒ Β«Π•Ρ‰Π΅Β».\r\n * @method WebAccess.components.wrappers.sideBar.SideBar#collapse\r\n * @param {string} tabName Имя Π·Π°ΠΊΠ»Π°Π΄ΠΊΠΈ\r\n * @return {WebAccess.current.sideBar | boolean} True – имССтся Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΡΠ²Π΅Ρ€Π½ΡƒΡ‚ΡŒ содСрТимоС Π·Π°ΠΊΠ»Π°Π΄ΠΎΠΊ, ΠΈΠ½Π°Ρ‡Π΅ False.\r\n */\r\n collapse: global.TCD(function () {\r\n var jTreeArea = $(\".explorer-header__tree-area\");\r\n var jLeftContainer = $(\"#left_column\");\r\n var jTreeContainer = $(\"#tree_container\");\r\n var jExpandTreeContainer = $(\"#expand_tree_container\");\r\n var jExpandHeaderContainer = $(\".explorer-header__expand-area\");\r\n var jRightColumn = $(\"#right_column\");\r\n const jHeader = $('#top_content');\r\n\r\n jLeftContainer.addClass('left_column_collapsed');\r\n jRightColumn.addClass('left_column_collapsed');\r\n jHeader.addClass('left_column_collapsed');\r\n\r\n jTreeContainer.hide();\r\n jTreeArea.hide();\r\n\r\n jExpandTreeContainer.show();\r\n jExpandHeaderContainer.show();\r\n\r\n $.cookie('SideBarCollapsed', '1', { expires: 70000 });\r\n return this;\r\n }),\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, свСрнута Π»ΠΈ боковая панСль.\r\n *\r\n * @method WebAccess.components.wrappers.sideBar.SideBar#isCollapsed\r\n * @param {String} tabName Имя Π·Π°ΠΊΠ»Π°Π΄ΠΊΠΈ\r\n * @since 5.2.0.1600\r\n */\r\n isCollapsed: function () {\r\n var me = this;\r\n return !$(\"#tree_container\").is(\":visible\");\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~// \r\n\r\n /**\r\n * Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ располоТСниС Π±ΠΎΠΊΠΎΠ²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ.\r\n *\r\n\r\n * @method WebAccess.components.wrappers.sideBar.SideBar#setOrientation\r\n * @todo ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π² Ρ€Π°Π·Π½Ρ‹Ρ… мСстах, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π² ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊΠ΅, мастСрах\r\n * @fixme с ΠΈΠΊΠΎΠ½ΠΊΠ°ΠΌΠΈ Π² ΠΎΠ±Ρ€Π°Ρ‚Π½ΡƒΡŽ сторону ΠΏΠΎΠΊΠ° ΠΏΠ»ΠΎΡ…ΠΎ.\r\n * @param {ORIENTATION} orientation Π Π΅ΠΆΠΈΠΌ располоТСния Π±ΠΎΠΊΠΎΠ²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ. \r\n * Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ значСния:HORIZONTAL – Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΠΎΠ΅; VERTICAL – Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ΅.\r\n * @since 5.2.0.1600\r\n * @example\r\n *\r\n * //Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΠΎΠ΅ располоТСниС Π±ΠΎΠΊΠΎΠ²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ.\r\n * WA.CR.sideBar.setOrientation(ORIENTATION.HORIZONTAL)\r\n */\r\n setOrientation: function (orientation) {\r\n var me = this;\r\n\r\n if (orientation == ORIENTATION.HORIZONTAL) {\r\n me._jSideBar.removeClass(\"vertical\").addClass(\"horizontal\");\r\n $(\"#right_column\").addClass(\"no_margin\");\r\n me._jSideBar.find(tabSelector + \" p\").each(function () {\r\n var smallIcon = $(this).data('smallicon');\r\n $(this).removeClass().addClass(smallIcon);\r\n });\r\n\r\n this._fitHorizontalTabs();\r\n this._moveSidebarBeforeCustomWorkCard();\r\n } else {\r\n me._jSideBar.addClass(\"vertical\").removeClass(\"horizontal\");\r\n\r\n $(\"#right_column\").removeClass(\"no_margin\");\r\n me._jSideBar.find(tabSelector + \" p\").each(function () {\r\n var icon = $(this).data('icon');\r\n $(this).removeClass().addClass(icon);\r\n });\r\n\r\n this._fitVerticalTabs();\r\n this.moveSidebarToLeftColumn();\r\n };\r\n\r\n // Π‘ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ панСль \"Π•Ρ‰Π΅\".\r\n $('body').off('click.tabs').on('click.tabs', function () {\r\n me._jAfterTabs.addClass(\"hidden\");\r\n });\r\n\r\n // Π‘Π²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Π΅Ρ‚ Π²ΠΊΠ»Π°Π΄ΠΊΠΈ Π² \"Π•Ρ‰Π΅\" ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² экрана.\r\n $(window).bind('resizeEnd', function () {\r\n me._jAfterTabs.addClass(\"hidden\");\r\n if (me._jSideBar.hasClass(\"horizontal\")) {\r\n me._fitHorizontalTabs();\r\n } else {\r\n me._fitVerticalTabs();\r\n };\r\n });\r\n\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎ Π»ΠΈ распологаСтся боковая панСль.\r\n *\r\n * @method WebAccess.components.wrappers.sideBar.SideBar#isVertical\r\n * @since 5.0.0.4206\r\n * @return {boolean} True – боковая панСль располагаСтся Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎ, ΠΈΠ½Π°Ρ‡Π΅ False.\r\n */\r\n isVertical: function () {\r\n var me = this;\r\n return !$(\"#left_column\").hasClass(\"horizontal\");\r\n },\r\n\r\n /**\r\n * ΠŸΠ΅Ρ€Π΅Π½ΠΎΡΠΈΡ‚ Π²ΠΊΠ»Π°Π΄ΠΊΠΈ Π²Π½ΡƒΡ‚Ρ€ΡŒ основной области, Ρ‡Ρ‚ΠΎ Π±Ρ‹ ΠΌΠΈΠ½ΠΈΡ‚ΡƒΠ»Π±Π°Ρ€ Π²Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ Π±Ρ‹Π» с Π½ΠΈΠΌΠΈ Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΡƒΡ€ΠΎΠ²Π½Π΅.\r\n *\r\n * @method WebAccess.components.wrappers.sideBar.SideBar#_moveSidebarBeforeCustomWorkCard\r\n * @since 5.2.0.1600 \r\n * @private \r\n */\r\n _moveSidebarBeforeCustomWorkCard: function () {\r\n var me = this;\r\n var view = GetParamInURL(\"view\").toLowerCase();\r\n if (view !== \"card\" && view !== \"\") return;\r\n if (me._jSideBar.hasClass('horizontal')) {\r\n var jMainContainer = $('#main_container');\r\n var jAttachment = jMainContainer.find('.attachments_td');\r\n var jLeftColumn = $('#left_column');\r\n if (jAttachment.length > 0) {\r\n // ΠŸΠ΅Ρ€Π΅Π½ΠΎΡ.\r\n jMainContainer.find('.card').before(jLeftColumn);\r\n // ΠšΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΡƒΠ΅ΠΌ стили Π»Π΅Π²ΠΎΠΉ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ, Ρ‡Ρ‚ΠΎ Π±Ρ‹ Π½Π΅ Π½Π°Π΅Π·ΠΆΠ°Π»Π° Π½Π° ΠΌΠΈΠ½ΠΈΡ‚ΡƒΠ»Π±Π°Ρ€ Π²Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ.\r\n var attachmentWidth = parseInt(jAttachment.width(), 10);\r\n jLeftColumn.css({ 'width': 'auto', 'marginRight': attachmentWidth - 5 });\r\n // ΠšΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΡƒΠ΅ΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΏΠΎΠ»Π΅ΠΉ тСкста Π—Π—Π£.\r\n if (typeof (initSavedTextHeight) !== 'undefined') initSavedTextHeight();\r\n }\r\n }\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π²ΠΎΠ½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π·Π°ΠΊΠ»Π°Π΄ΠΎΠΊ Π±ΠΎΠΊΠΎΠ²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ.\r\n *\r\n * @method WebAccess.components.wrappers.sideBar.SideBar#moveSidebarToLeftColumn\r\n * @since 5.2.0.1600 \r\n */\r\n // \r\n moveSidebarToLeftColumn: function () {\r\n var me = this;\r\n var jLeftColumn = $('#left_column');\r\n var jRightColumn = $('#right_column');\r\n // ΠŸΠ΅Ρ€Π΅Π½ΠΎΡ.\r\n jRightColumn.before(jLeftColumn);\r\n // ΠšΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΡƒΠ΅ΠΌ стили Π»Π΅Π²ΠΎΠΉ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ.\r\n jLeftColumn.css({ 'width': '', 'marginRight': '' }); //FIXME: ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π½Π° ΠΏΠ»Π°Π½ΡˆΠ΅Ρ‚Π°Ρ…\r\n // ΠšΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΡƒΠ΅ΠΌ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΏΠΎΠ»Π΅ΠΉ тСкста Π—Π—Π£.\r\n if (typeof (initSavedTextHeight) !== 'undefined') initSavedTextHeight();\r\n }\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n });\r\n\r\n WA.CMP.wrappers.sideBar._ExplorerSideBar = _ExplorerSideBar;\r\n\r\n})(window.WA);","\"use strict\";\r\n\r\n/**\r\n* Бсылка.\r\n* \r\n* @class WebAccess.components.wrappers.form.Link\r\n* @extends WebAccess.components.wrappers.BasePageElement\r\n* @property {string} name Имя ссылки\r\n* @property {string} selector ΠŸΡƒΡ‚ΡŒ Π² DOM-ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ Π³Ρ€ΡƒΠΏΠΏΡ‹, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ div.content#container\r\n* @param {string} itemSelector CΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ элСмСнт страницы\r\n*/\r\n(function (global) {\r\n \r\n var Link = global.components.wrappers.BasePageElement.extend({\r\n\r\n init: function (itemSelector) {\r\n this._super(itemSelector);\r\n this.name = this._jObject.attr('id');\r\n this.selector = \"#\" + this.name;\r\n this.actionName = this._jObject.data('action-name');\r\n }, \r\n\r\n className: \"Link\",\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~// \r\n\r\n /**\r\n * Π˜ΠΌΠΈΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‰Π΅Π»Ρ‡ΠΎΠΊ ΠΌΡ‹ΡˆΠΈ.\r\n * Π˜ΠΌΠΈΡ‚Π°Ρ†ΠΈΡ Ρ‰Π΅Π»Ρ‡ΠΊΠ° ΠΌΡ‹ΡˆΠΈ ΠΏΠΎ ссылкС Π»ΠΈΠ±ΠΎ установка ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° Π½Π° событиС onClick, Ссли ΠΏΠ΅Ρ€Π΅Π΄Π°Π½ callback. \r\n * ЗамСняСт ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.\r\n * \r\n * @param {function} [opt_callback] Ѐункция, которая Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π·Π²Π°Π½Π° послС Ρ‰Π΅Π»Ρ‡ΠΊΠ° ΠΌΡ‹ΡˆΠΈ ΠΏΠΎ ссылкС\r\n * @method WebAccess.components.wrappers.form.Link#click \r\n * @return {button}\r\n */\r\n click: function (opt_callback) {\r\n var me = this;\r\n if ($.isFunction(opt_callback)) {\r\n var jObject = me._jObject;\r\n me._super(function () {\r\n if (!jObject.hasClass('disabled')) opt_callback();\r\n });\r\n jObject.addClass('binded');\r\n }\r\n return me;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Подписка Π½Π° события\r\n * \r\n * @param {string} event\r\n * @method WebAccess.components.wrappers.form.Link#bind\r\n * @return { WebAccess.components.wrappers.form.Link}\r\n */\r\n bind: function (event, callback) {\r\n var me = this;\r\n if ($.isFunction(callback)) {\r\n var jObject = me._jObject;\r\n me._super(event, function () {\r\n if (!jObject.hasClass('disabled')) callback();\r\n });\r\n jObject.addClass('binded');\r\n }\r\n return me;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠžΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ссылки\r\n * \r\n * @method WebAccess.components.wrappers.form.Link#disable\r\n * @return { WebAccess.components.wrappers.form.Link}\r\n * @see module:tests/FormControls~isLinkRealyDisabled\r\n */\r\n disable: function () {\r\n if (this.isEnabled()) {\r\n this._super();\r\n this._jObject.addClass('disabled');\r\n };\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π’ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ссылки, Ссли ΠΎΠ½Π° Π±Ρ‹Π»Π° ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½Π° Ρ€Π°Π½Π΅Π΅.\r\n * \r\n * @method WebAccess.components.wrappers.form.Link#enable\r\n * @return { WebAccess.components.wrappers.form.Link}\r\n * @see module:tests/FormControls~isLinkRealyEnabled\r\n */\r\n enable: function () {\r\n if (!this.isEnabled()) {\r\n this._super();\r\n this._jObject.removeClass('disabled');\r\n };\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ подпись ссылки\r\n * \r\n * @method WebAccess.components.wrappers.form.Link#getLabel\r\n * @return {string}\r\n * @see module:tests/FormControls~getLabelValue\r\n */\r\n getLabel: function() { \r\n return this._jObject.text();\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ подпись ссылки\r\n * \r\n * @method WebAccess.components.wrappers.form.Link#setLabel\r\n * @param {string} text тСкст подписи\r\n * @see module:tests/FormControls~setLabelValue\r\n * @return {link}\r\n */\r\n setLabel: function(text) {\r\n this._jObject.text(text);\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * @ignore\r\n * @method WebAccess.components.wrappers.form.Link#setIcon\r\n */\r\n setIcon: function (path) {\r\n global.raise(\"ERR_UNSUPPORTED_METHOD\");\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * @ignore\r\n * @method WebAccess.components.wrappers.form.Link#getIcon\r\n */\r\n getIcon: function (path) { \r\n global.raise(\"ERR_UNSUPPORTED_METHOD\");\r\n return this;\r\n },\r\n\r\n /**\r\n * ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ гипСрссылку.\r\n * \r\n * @method WebAccess.components.wrappers.form.Link#show\r\n * @return {WebAccess.components.wrappers.form.Link} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° Link.\r\n */\r\n show: function () {\r\n this._jObject.css('visibility', 'visible');\r\n this.fire(\"show\");\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π‘ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ гипСрссылку.\r\n * \r\n * @method WebAccess.components.wrappers.form.Link#hide\r\n * @return {WebAccess.components.wrappers.form.Link} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° Link.\r\n */\r\n hide: function () {\r\n this._jObject.css('visibility', 'hidden');\r\n this.fire(\"hide\");\r\n return this;\r\n }\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n });\r\n\r\n global.components.wrappers.form.Link = Link;\r\n})(window.WebAccess);","\"use strict\";\r\n\r\n/**\r\n* Кнопка.\r\n* \r\n* @class WebAccess.components.wrappers.form.Button\r\n* @extends WebAccess.components.wrappers.BasePageElement\r\n* @property {string} name Имя ссылки\r\n* @property {string} actionName имя дСствия\r\n* @property {string} selector ΠŸΡƒΡ‚ΡŒ Π² DOM-ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ Π³Ρ€ΡƒΠΏΠΏΡ‹, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ div.content#container\r\n* @param {string} itemSelector CΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ элСмСнт страницы\r\n*/\r\n(function (global) {\r\n\r\n var Button = global.components.wrappers.BasePageElement.extend({\r\n\r\n init: function (itemSelector) {\r\n this._super(itemSelector);\r\n this.name = this._jObject.attr('button-name') || this._jObject.attr('id');\r\n this.actionName = this._jObject.data('action-name');\r\n this.selector = \"#\" + this.name; //TODO Π‘ΡƒΠ΄Π΅Ρ‚ Π½Π΅ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½Ρ‹ΠΉ сСлСктор Ссли ΡƒΠΊΠ°Π·Π°Π½ΠΎ button-name\r\n },\r\n\r\n className: \"Button\",\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~// \r\n\r\n /**\r\n * Π˜ΠΌΠΈΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‰Π΅Π»Ρ‡ΠΎΠΊ ΠΌΡ‹ΡˆΠΈ.\r\n * Π˜ΠΌΠΈΡ‚Π°Ρ†ΠΈΡ Ρ‰Π΅Π»Ρ‡ΠΊΠ° ΠΌΡ‹ΡˆΠΈ ΠΏΠΎ ссылкС Π»ΠΈΠ±ΠΎ установка ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° Π½Π° событиС onClick, Ссли ΠΏΠ΅Ρ€Π΅Π΄Π°Π½ callback. \r\n * ЗамСняСт ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.\r\n * \r\n * @param {function} [opt_callback] Ѐункция, которая Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π·Π²Π°Π½Π° послС Ρ‰Π΅Π»Ρ‡ΠΊΠ° ΠΌΡ‹ΡˆΠΈ ΠΏΠΎ ссылкС\r\n * @method WebAccess.components.wrappers.form.Button#click \r\n * @return {button}\r\n */\r\n click: function (opt_callback) {\r\n var me = this;\r\n me._super(opt_callback);\r\n if ($.isFunction(opt_callback)) {\r\n this._jObject.addClass('binded_button').removeClass('disabled');\r\n }\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n\r\n /**\r\n * Π’Ρ‹Ρ…ΠΎΠ² нашСго fire ΠΏΡ€ΠΈ ΠΊΠ»ΠΈΠΊΠ΅ Π½Π° элСмСнт\r\n * @private\r\n */\r\n _eventHandler: function (event) {\r\n var eventName = event.data.eventName;\r\n var name = event.data.actionName;\r\n var element = event.data.instance;\r\n var continueDefaultAction = event.data.continueDefaultAction;\r\n if (element.fire(eventName, name, continueDefaultAction) !== false && eventName === 'click') {\r\n element._defaultAction.call(element);\r\n };\r\n },\r\n\r\n /**\r\n * Подписка Π½Π° события\r\n * \r\n * @param {string} event\r\n * @method WebAccess.components.wrappers.form.Button#bind\r\n * @return { WebAccess.components.wrappers.form.Button}\r\n */\r\n bind: function (event, callback) {\r\n var instance = this;\r\n this._super(event, callback);\r\n\r\n //if (event == \"click\") this._disableClickHandler(this._jObject); \r\n this._jObject.unbind(event, this._eventHanler).bind(event, {\r\n \"instance\": instance,\r\n \"eventName\": event,\r\n \"buttonName\": instance.name,\r\n \"actionName\": instance._jObject.data('action-name'),\r\n \"continueDefaultAction\": $.proxy(instance._defaultAction, instance)\r\n }, this._eventHandler);\r\n\r\n this._jObject.addClass('binded_button').removeClass('disabled');\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n\r\n /**\r\n * ΠžΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ссылки\r\n * \r\n * @method WebAccess.components.wrappers.form.Button#disable\r\n * @return { WebAccess.components.wrappers.form.Button}\r\n * @see module:tests/FormControls~isLinkRealyDisabled\r\n */\r\n disable: function () {\r\n if (this.isEnabled()) {\r\n this._super();\r\n this._jObject.removeClass(\"binded_button\");\r\n this._jObject.attr(\"disabled\", \"disabled\");\r\n return this;\r\n };\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π’ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ссылки, Ссли ΠΎΠ½Π° Π±Ρ‹Π»Π° ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½Π° Ρ€Π°Π½Π΅Π΅.\r\n * \r\n * @method WebAccess.components.wrappers.form.Button#enable\r\n * @return { WebAccess.components.wrappers.form.Button}\r\n * @see module:tests/FormControls~isLinkRealyEnabled\r\n */\r\n enable: function () {\r\n if (!this.isEnabled()) {\r\n this._super();\r\n this._jObject.addClass(\"binded_button\");\r\n this._jObject.removeAttr(\"disabled\");\r\n return this;\r\n };\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ подпись ссылки\r\n * \r\n * @method WebAccess.components.wrappers.form.Button#getLabel\r\n * @return {string}\r\n * @see module:tests/FormControls~getLabelValue\r\n */\r\n getLabel: function () {\r\n return this._jObject.val();\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ подпись ссылки\r\n * \r\n * @method WebAccess.components.wrappers.form.Button#setLabel\r\n * @param {string} text тСкст подписи\r\n * @see module:tests/FormControls~setLabelValue\r\n * @return {link}\r\n */\r\n setLabel: function (text) {\r\n this._jObject.val(text);\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * @ignore\r\n * @method WebAccess.components.wrappers.form.Button#setIcon\r\n */\r\n setIcon: function (path) {\r\n global.raise(\"ERR_UNSUPPORTED_METHOD\");\r\n return this;\r\n },\r\n\r\n /**\r\n * @ignore\r\n * @method WebAccess.components.wrappers.form.Button#getIcon\r\n */\r\n getIcon: function (path) {\r\n global.raise(\"ERR_UNSUPPORTED_METHOD\");\r\n return this;\r\n }\r\n });\r\n\r\n global.components.wrappers.form.Button = Button;\r\n})(window.WebAccess);","\"use strict\";\r\n\r\n/**\r\n* ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ с Π΄Π΅Ρ€Π΅Π²ΠΎΠΌ ΠΏΠ°ΠΏΠΎΠΊ.\r\n*\r\n* @namespace WebAccess.components.wrappers.folderTree.FolderTree\r\n* @property {string} containerSelector Π‘Π»ΠΎΠΊ, содСрТащий Π΄Π΅Ρ€Π΅Π²ΠΎ ΠΏΠ°ΠΏΠΎΠΊ\r\n* @fires WebAccess.current.objectList#onChange ВызываСтся послС измСнСния Π΄Π΅Ρ€Π΅Π²Π° ΠΏΠ°ΠΏΠΎΠΊ.\r\n* @since 5.2.0.1600\r\n*/\r\n\r\n(function (global) {\r\n\r\n var FolderTree = BaseObject.extend({\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n className: 'FolderTree',\r\n containerSelector: '#tree_container',\r\n\r\n _data: [],\r\n _containerId: {},\r\n _promise: null,\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n init: function (promise) { \r\n this._super();\r\n this._promise = promise;\r\n },\r\n\r\n /**\r\n * Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π½ΡƒΡŽ модСль для react-ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹.\r\n * @param {string} containerId ID ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°\r\n * @param {Array} state МодСль Π΄Π΅Ρ€Π΅Π²Π°.\r\n */\r\n initComponent: function (containerId, state) { \r\n this._data = state;\r\n this._containerId = containerId;\r\n this.containerSelector = '#' + containerId;\r\n\r\n if (this._promise) this._promise.resolve();\r\n },\r\n\r\n /**\r\n * Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠ΅ содСрТимоС вмСсто Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ списка ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².\r\n *\r\n * @method WebAccess.components.wrappers.folderTree.FolderTree.setHtml\r\n * @return {WebAccess.components.wrappers.folderTree.FolderTree} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° folderTree.\r\n */\r\n setHtml: function (html) {\r\n $(this.containerSelector).html(html);\r\n return this;\r\n },\r\n\r\n /**\r\n * Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π² ΡƒΠΊΠ°Π·Π°Π½Π½ΡƒΡŽ ΠΏΠ°ΠΏΠΊΡƒ.\r\n *\r\n * @param {object} [nodeInfo] Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ Π΄Π΅Ρ€Π΅Π²Π°.\r\n */\r\n selectNode(nodeInfo = false) {\r\n // Если Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½ nodeInfo, ΠΏΠ΅Ρ€Π΅Π΄Π°Ρ‘ΠΌ ΠΎΠ±Ρ€Π°Π±Ρ‚ΠΊΡƒ события дальшС.\r\n if (!nodeInfo) {\r\n return false;\r\n }\r\n\r\n const gridWidths = JSON.parse(localStorage.getItem(window.FOLDER_GRID.WIDTHS_STORAGE_KEY) || \"{}\");\r\n const folderOptions = gridWidths[nodeInfo.id] || {};\r\n nodeInfo.folderMode = folderOptions[window.FOLDER_GRID.FOLDER_MODE_KEY] ||\r\n (nodeInfo.hasFolderCover ? window.FOLDER_MODE.COVER : window.FOLDER_MODE.NONE);\r\n\r\n const url = this._buildFolderUrl(nodeInfo);\r\n const prevPath = window.GetParamInURL('fpath');\r\n const nextPath = nodeInfo.key;\r\n\r\n // Π—Π°ΠΏΠΈΡΠ°Ρ‚ΡŒ Π² ΠΈΡΡ‚ΠΎΡ€ΠΈΡŽ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄.\r\n let state = {\r\n type: 'explorer',\r\n folderID: nodeInfo.id,\r\n path: nodeInfo.key,\r\n title: nodeInfo.caption,\r\n folderMode: nodeInfo.folderMode,\r\n hasCoverOnly: nodeInfo.showCoverOnly,\r\n contentType: nodeInfo.contentType\r\n };\r\n WA.history.pushState(state, nodeInfo.caption, url);\r\n\r\n this.markAsSelected(nodeInfo);\r\n\r\n // РаскроСм список. По ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π½Π°ΠΉΠ΄Π΅ΠΌ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ ΡƒΠ·Π΅Π», Ρ‚.ΠΊ. Π² ΠΈΠ½Ρ„ΠΎ-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅ Π½Π΅Ρ‚ ссылок Π½Π° ΠΏΠΎΡ‚ΠΎΠΌΠΊΠΎΠ².\r\n let node = this._findNode(this._data, (n) => {\r\n return (n.key === nodeInfo.key);\r\n });\r\n if (node.children && node.children.length) {\r\n if (prevPath !== nextPath) {\r\n // Если Π΄ΠΎ этого Π½Π°Ρ…ΠΎΠ΄ΠΈΠ»ΠΈΡΡŒ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΌ ΡƒΠ·Π»Π΅, Ρ‚ΠΎ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ всСгда Ρ‚ΠΎΠ»ΡŒΠΊΠΎ раскрываСм.\r\n this.openNode({ key: node.key });\r\n } else {\r\n this.toggleNode({ key: node.key });\r\n }\r\n } else {\r\n this.loadNode({ key: node.key }, () => {\r\n this.openNode({ key: node.key });\r\n });\r\n }\r\n // ΠžΡ‚ΠΌΠ΅Ρ‚ΠΈΠΌ ΡƒΠ·Π΅Π» ΠΊΠ°ΠΊ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ ΠΈ пСрСрисуСм Π΄Π΅Ρ€Π΅Π²ΠΎ.\r\n this._render(this._data);\r\n\r\n return true;\r\n },\r\n\r\n /**\r\n * ΠžΡ‚ΠΌΠ΅Ρ‡Π°Π΅Ρ‚ ΡƒΠ·Π΅Π» Π² ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΊΠ°ΠΊ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ.\r\n * @param {object} node Π£Π·Π΅Π» Π΄Π΅Ρ€Π΅Π²Π°.\r\n */\r\n markAsSelected: function (node) {\r\n var me = this;\r\n me._mapNodes(me._data, function (n) {\r\n n.selected = (n.key === node.key);\r\n return n;\r\n });\r\n\r\n return me;\r\n },\r\n\r\n /**\r\n * ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΏΠ°ΠΏΠΊΡƒ ΠΏΠΎ fpath.\r\n *\r\n * @param {str} fpath ΠŸΡƒΡ‚ΡŒ ΠΊ ΠΏΠ°ΠΏΠΊΠ΅.\r\n * @param {boolean} triggerClick ΠΠ΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ событиС ΠΊΠ»ΠΈΠΊΠ°.\r\n */\r\n selectNodeByPath: function (fpath, triggerClick) {\r\n var me = this;\r\n var node = me._findNode(me._data, function (n) { return n.key === fpath });\r\n if (!node) {\r\n // ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΠ°ΠΏΠΊΠ° являСтся ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΏΠΎ fpath. Если Π΄Π°, Ρ‚ΠΎ Π·Π°Π³Ρ€ΡƒΠ·ΠΈΠΌ ΡƒΠ·Π΅Π» ΠΈ раскроСм Π΅Π³ΠΎ.\r\n var currentPath = GetParamInURL('fpath');\r\n var prevPath = fpath.substring(fpath.indexOf('-') + 1, fpath.length);\r\n if (prevPath === currentPath && me._findNode(me._data, function (n) { return n.key === currentPath }) !== null) {\r\n me.loadNode({ key: currentPath }, function () {\r\n me.toggleNode({ key: currentPath });\r\n me.selectNodeByPath(fpath, triggerClick);\r\n });\r\n return true;\r\n }\r\n return false;\r\n }\r\n\r\n if (triggerClick) {\r\n me.selectNode(node);\r\n } else {\r\n // ΠžΡ‚ΠΌΠ΅Ρ‚ΠΈΠΌ ΡƒΠ·Π΅Π» ΠΊΠ°ΠΊ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ ΠΈ пСрСрисуСм Π΄Π΅Ρ€Π΅Π²ΠΎ.\r\n me.markAsSelected(node)\r\n ._render(me._data);\r\n };\r\n return true;\r\n },\r\n\r\n /**\r\n * ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ счСтчик Π½Π΅ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π½Π½Ρ‹Ρ….\r\n *\r\n * @param {integer} folderID Π˜Π” ΠΏΠ°ΠΏΠΊΠΈ.\r\n */\r\n updateUnreadJobCount: function (folderID, forceUpdateCache) {\r\n var me = this;\r\n\r\n var nodes = me._findNodes(me._data, function (n) {\r\n return n.id == folderID && n.showUnread;\r\n });\r\n\r\n if (nodes.length > 0) {\r\n WA.SRV.call('/Folder.asmx/GetUnreadJobCount', { 'FolderID': folderID }).done(function (count) {\r\n $.each(nodes, function (i, node) {\r\n node.unreadCount = count;\r\n });\r\n\r\n me._render(me._data);\r\n document.title = nodes[0].caption + (count > 0 ? ' (' + count + ')' : '');\r\n });\r\n }\r\n },\r\n\r\n /**\r\n * ΠžΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ‚ ΡƒΠ·Π΅Π» Π΄Π΅Ρ€Π΅Π²Π°.\r\n *\r\n * @method WebAccess.components.wrappers.folderTree.FolderTree.updateNode\r\n * @param {} folderPath ΠŸΡƒΡ‚ΡŒ ΠΊ ΠΏΠ°ΠΏΠΊΠ΅.\r\n * @param {} callback Callback-функция.\r\n */\r\n _updateNode: function (folderPath, callback) {\r\n var me = this;\r\n callback = callback || $.noop;\r\n\r\n var node = me._findNode(me._data, function (n) { return n.key === folderPath; });\r\n\r\n me.loadNode(node, function () {\r\n me._render(me._data);\r\n callback();\r\n });\r\n },\r\n\r\n /**\r\n * ΠžΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ‚ всС Π΄Π΅Ρ€Π΅Π²ΠΎ Ρ†Π΅Π»ΠΈΠΊΠΎΠΌ.\r\n *\r\n * @method WebAccess.components.wrappers.folderTree.FolderTree.update\r\n * @param {function} callback Callback-функция.\r\n */\r\n update: function (callback) {\r\n var me = this;\r\n var id = WA.CR.getID();\r\n var fpath = GetParamInURL('fpath');\r\n\r\n me.loadNode({ id: id, key: fpath }, function () {\r\n me._render(me._data);\r\n HideSpinner();\r\n if (callback) callback();\r\n });\r\n },\r\n\r\n /**\r\n * ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΡƒΠ·Π΅Π» для ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠΈ.\r\n *\r\n * @param {int} folderID Π˜Π” ΠΏΠ°ΠΏΠΊΠΈ.\r\n * @param {function} callback Callback-функция.\r\n */\r\n updateByFolderID: function (folderID, callback) {\r\n var me = this;\r\n\r\n var nodes = me._findNodes(me._data, function (n) {\r\n return n.id == folderID;\r\n });\r\n\r\n if (nodes && nodes.length > 0) {\r\n me._getNodeContent(nodes[0]).done(function (children) {\r\n nodes.forEach(function (node) {\r\n node.children = JSON.parse(children);\r\n node.hasChildren = !!node.children.length;\r\n });\r\n\r\n me._render(me._data);\r\n if (callback) callback();\r\n });\r\n }\r\n },\r\n\r\n /**\r\n * ΠžΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ‚ ΡƒΠ·Π»Ρ‹, содСрТащиС ΠΏΠ°ΠΏΠΊΡƒ. ΠœΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ ID, массив с ID.\r\n * Если Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½ΠΎ, обновляСт ΡƒΠ·Π΅Π», содСрТащий ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡƒΡŽ ΠΏΠ°ΠΏΠΊΡƒ.\r\n *\r\n * @method WebAccess.components.wrappers.folderTree.FolderTree.updateNodesWithFolder\r\n * @param folder ID ΠΏΠ°ΠΏΠΎΠΊ.\r\n * @param callback Callback-функция.\r\n */\r\n updateNodesWithFolder: function (folderID, callback) {\r\n var me = this;\r\n var nodes = me._findNodesWithFolder(me._data, folderID);\r\n if (nodes.length > 0) {\r\n nodes.forEach(function (node) {\r\n me.updateByFolderID(node.id, callback);\r\n });\r\n } else {\r\n me.update();\r\n }\r\n },\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ имя Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠΈ.\r\n *\r\n * @method WebAccess.components.wrappers.folderTree.FolderTree.getCurrentFolderName\r\n * @returns {string} Имя Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠΈ.\r\n */\r\n getCurrentFolderName: function () {\r\n var node = this._findNode(this._data, function (n) { return n.selected; });\r\n return node && node.caption;\r\n },\r\n\r\n /**\r\n * Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠ΅ имя для ΠΏΠ°ΠΏΠΊΠΈ.\r\n *\r\n * @method WebAccess.components.wrappers.folderTree.FolderTree.setFolderVisibleName\r\n * @param {int} id Π˜Π” ΠΏΠ°ΠΏΠΊΠΈ.\r\n * @param {string} name НовоС имя ΠΏΠ°ΠΏΠΊΠΈ.\r\n */\r\n setFolderVisibleName: function (id, name) {\r\n var me = this;\r\n me._mapNodes(me._data, function (n) {\r\n if (n.id === id) {\r\n n.caption = name;\r\n }\r\n return n;\r\n });\r\n me._render(me._data);\r\n },\r\n\r\n /**\r\n * ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ имя ΠΏΠ°ΠΏΠΊΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ с сСрвСра.\r\n *\r\n * @method WebAccess.components.wrappers.folderTree.FolderTree.updateFolderName\r\n * @param {int} id Π˜Π” ΠΏΠ°ΠΏΠΊΠΈ.\r\n */\r\n updateFolderName: function (id) {\r\n var me = this;\r\n var nodes = me._findNodes(me._data, function (n) {\r\n return n.id == id;\r\n });\r\n\r\n if (nodes && nodes.length > 0) {\r\n WA.SRV.call('/Folder.asmx/GetName', { FolderID: id }).done(function (name) {\r\n nodes.forEach(function (node) {\r\n node.caption = name;\r\n });\r\n me._render(me._data);\r\n });\r\n }\r\n },\r\n\r\n /**************************************************************************************/\r\n /**\r\n * Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ массив ΡƒΠ·Π»ΠΎΠ², содСрТащий ΠΏΡƒΡ‚ΡŒ ΠΊ ΡƒΠ·Π»Ρƒ с ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ ΠΊΠ»ΡŽΡ‡ΠΎΠΌ.\r\n * @param {string} key ΠšΠ»ΡŽΡ‡.\r\n * @param {Array} nodes Массив ΡƒΠ·Π»ΠΎΠ².\r\n */\r\n _findNodePath: function (nodes, predicate) {\r\n for (var i = 0; i < nodes.length; i++) {\r\n if (predicate(nodes[i])) {\r\n return [nodes[i]];\r\n } else {\r\n if (nodes[i].children && nodes[i].children.length > 0) {\r\n var nodesPath = this._findNodePath(nodes[i].children, predicate);\r\n if (nodesPath && nodesPath.length > 0) {\r\n nodesPath.push(nodes[i]);\r\n return nodesPath;\r\n }\r\n }\r\n }\r\n }\r\n return null;\r\n },\r\n\r\n /**\r\n * Π˜Ρ‰Π΅Ρ‚ ΡƒΠ·Π΅Π» Π΄Π΅Ρ€Π΅Π²Π° с ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ ΠΊΠ»ΡŽΡ‡ΠΎΠΌ.\r\n * @param {Array} nodes Массив ΡƒΠ·Π»ΠΎΠ².\r\n */\r\n _findNode: function (nodes, predicate) {\r\n var result = this._findNodes(nodes, predicate);\r\n return (result && result.length > 0) ? result[0] : null;\r\n },\r\n\r\n /**\r\n * Π˜Ρ‰Π΅Ρ‚ ΡƒΠ·Π΅Π» Π΄Π΅Ρ€Π΅Π²Π° с ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ ΠΊΠ»ΡŽΡ‡ΠΎΠΌ.\r\n * @param {Array} nodes Массив ΡƒΠ·Π»ΠΎΠ².\r\n */\r\n _findNodes: function (nodes, predicate) {\r\n var result = [];\r\n for (var i = 0; i < nodes.length; i++) {\r\n if (predicate(nodes[i])) {\r\n result.push(nodes[i]);\r\n } else {\r\n if (nodes[i].children && nodes[i].children.length > 0) {\r\n var childNodes = this._findNodePath(nodes[i].children, predicate);\r\n if (childNodes && childNodes.length > 0) {\r\n result = result.concat(childNodes[0]);\r\n }\r\n }\r\n }\r\n }\r\n return result;\r\n },\r\n\r\n /**\r\n * Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ массив ΡƒΠ·Π»ΠΎΠ², содСрТащих ΡƒΠΊΠ°Π·Π°Π½Π½ΡƒΡŽ ΠΏΠ°ΠΏΠΊΡƒ.\r\n *\r\n * @param {Array} nodes Массив ΡƒΠ·Π»ΠΎΠ².\r\n * @param {number} folderID Π˜Π” ΠΏΠ°ΠΏΠΊΠΈ.\r\n * @returns {Array} Массив ΡƒΠ·Π»ΠΎΠ² с ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠΎΠΉ.\r\n */\r\n _findNodesWithFolder: function (nodes, folderID) { \r\n var me = this;\r\n var result = [];\r\n nodes.forEach(function (item) {\r\n if (item.children && item.children.length > 0) {\r\n var filteredNodes = item.children.filter(function (n) { return n.id == folderID; });\r\n if (filteredNodes.length > 0) {\r\n result.push(item);\r\n };\r\n\r\n var childNodes = me._findNodesWithFolder(item.children, folderID);\r\n if (childNodes.length > 0) {\r\n childNodes.forEach(function (n) {\r\n if (!result.some(function (el) { return el.id === n.id })) {\r\n result.push(n);\r\n }\r\n });\r\n }\r\n }\r\n });\r\n return result;\r\n },\r\n\r\n /**\r\n * ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Ρ‹Π²Π°Π΅Ρ‚ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅ ΡƒΠ·Π»Ρ‹.\r\n * @param {} nodes\r\n * @param {} changeFunc\r\n * @returns {}\r\n */\r\n _mapNodes: function (nodes, changeFunc) {\r\n for (var i = 0; i < nodes.length; i++) {\r\n nodes[i] = changeFunc(nodes[i]);\r\n if (nodes[i].children && nodes[i].children.length > 0) {\r\n this._mapNodes(nodes[i].children, changeFunc);\r\n }\r\n }\r\n\r\n return nodes;\r\n },\r\n\r\n /**\r\n * Π˜Π½ΠΈΡ†ΠΈΠΈΡ€ΡƒΠ΅Ρ‚ пСрСрисовку Π΄Π΅Ρ€Π΅Π²Π°.\r\n * @param {} state\r\n * @returns {}\r\n */\r\n _render: function (state) {\r\n ReactDOM.render(\r\n React.createElement(Component.FolderTree, { data: state, constants: { systemCode: g_SysCode, extension: g_ExtName } }),\r\n document.getElementById(this._containerId));\r\n },\r\n\r\n /**\r\n * Π—Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ содСрТимоС ΡƒΠ·Π»Π°.\r\n * @param {object} nodeInfo Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ ΠΎΠ± ΡƒΠ·Π»Π΅.\r\n * @param {function} onSuccess Callback ΠΏΡ€ΠΈ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΉ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅.\r\n * @param {function} onFail Callback ΠΏΡ€ΠΈ ошибкС.\r\n */\r\n loadNode: function (nodeInfo, onSuccess, onFail) {\r\n var me = this;\r\n if (me._data) {\r\n var node = me._findNode(me._data, function (n) {\r\n return n.key === nodeInfo.key;\r\n });\r\n\r\n if (node) {\r\n me._getNodeContent(node).done(function (res) {\r\n if (res) {\r\n var children = JSON.parse(res);\r\n node.hasChildren = (children.length > 0);\r\n node.children = children;\r\n\r\n if (onSuccess) onSuccess();\r\n if (!node.hasChildren) me._render(me._data);\r\n }\r\n }).fail(function (err) {\r\n log.error('FOLDER_TREE', err);\r\n if (onFail) onFail(err);\r\n });\r\n }\r\n\r\n }\r\n },\r\n\r\n /**\r\n * ВыполняСт запрос ΠΊ сСрвису для Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ содСрТимого ΡƒΠ·Π»Π°.\r\n * @param {object} node Π£Π·Π΅Π».\r\n * @returns {$.Deferred} Deferred-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ.\r\n */\r\n _getNodeContent: function (node) {\r\n var selectedNode = this._findNode(this._data, function (n) { return n.selected; });\r\n return WA.SRV.call('/FolderList.asmx/LoadTree', {\r\n FolderID: node.id,\r\n FolderPath: node.key,\r\n SelectedTreeItem: selectedNode ? selectedNode.key : ''\r\n });\r\n },\r\n\r\n /**\r\n * РаскрываСт ΠΈΠ»ΠΈ сворачиваСт ΡƒΠ·Π΅Π».\r\n * @param {object} node Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ ΠΎΠ± ΡƒΠ·Π»Π΅.\r\n */\r\n toggleNode: function (node) {\r\n this._mapNodes(this._data, function (n) {\r\n if (n.key === node.key) {\r\n n.expanded = !n.expanded;\r\n WA.SRV.call('/FolderList.asmx/SaveOpened', {\r\n IsOpening: n.expanded,\r\n FolderPath: node.key\r\n }, null, null, true, true); // Π½Π΅ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ ошибки\r\n } else if (node.key.indexOf(n.key) !== -1) {\r\n n.expanded = true; //раскрываСм родитСля\r\n }\r\n return n;\r\n });\r\n this._render(this._data);\r\n },\r\n\r\n /**\r\n * ВсСгда раскрываСт ΡƒΠ·Π΅Π»\r\n * @param {object} node Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ ΠΎΠ± ΡƒΠ·Π»Π΅.\r\n */\r\n openNode: function (node) {\r\n this._mapNodes(this._data, function (n) {\r\n if (n.key === node.key) {\r\n n.expanded = true;\r\n WA.SRV.call('/FolderList.asmx/SaveOpened', {\r\n IsOpening: n.expanded,\r\n FolderPath: node.key\r\n }, null, null, true, true); // Π½Π΅ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ ошибки\r\n } else if (node.key.indexOf(n.key) !== -1) {\r\n n.expanded = true; //раскрываСм родитСля\r\n }\r\n return n;\r\n });\r\n this._render(this._data);\r\n },\r\n\r\n /**\r\n * Π‘Ρ‚Ρ€ΠΎΠΈΡ‚ url для ΠΏΠ°ΠΏΠΊΠΈ.\r\n * @private\r\n * @param {object} node Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ ΠΎΠ± ΡƒΠ·Π»Π΅.\r\n * @returns {string} Π‘Ρ‚Ρ€ΠΎΠΊΠ° URL.\r\n */\r\n _buildFolderUrl(node) {\r\n let url = new WA.URL('Explorer.aspx');\r\n url\r\n .setParam('sys', g_SysCode)\r\n .setParam('ext', g_ExtName)\r\n .setParam('id', node.id);\r\n\r\n if (node.key) {\r\n url.setParam('fpath', node.key);\r\n }\r\n if (node.treeitem) {\r\n url.setParam('treeitem', node.treeitem);\r\n }\r\n if (node.folderMode) {\r\n url.setParam(window.FOLDER_GRID.FOLDER_MODE_URL_PARAM, node.folderMode);\r\n }\r\n\r\n return url.asString();\r\n }\r\n\r\n });\r\n\r\n global.components.wrappers.folderTree.FolderTree = FolderTree;\r\n\r\n})(window.WebAccess);\r\n","\"use strict\";\r\n\r\n/**\r\n* ВстроСнная подсказка\r\n*\r\n* @class WebAccess.components.notifications.InlineHint\r\n* @extends BaseObject\r\n* @param {object} [opt_settings] ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ подсказки\r\n* @param {Integer} [opt_dialogId] Π˜Π” подсказки\r\n* @since 5.0.0.7300\r\n*\r\n* @example\r\n* var hint = new WA.CMP.NTF.InlineHint()\r\n* hint.showError(\"Hello world\");\r\n*/\r\n(function (global) {\r\n var InlineHint = BaseObject.extend({\r\n _dialogId: 0,\r\n _customDialogId: false,\r\n init: function (opt_settings, opt_dialogId) {\r\n this._super(opt_settings);\r\n this._dialogId = opt_dialogId;\r\n if (opt_dialogId) this._customDialogId = true;\r\n if ($.isPlainObject(opt_settings)) {\r\n $.extend(this, opt_settings);\r\n };\r\n\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n className: 'InlineHint',\r\n\r\n /**\r\n * ΠŸΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π²ΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΡƒΡŽ подсказку с ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ΠΌ.\r\n *\r\n * @function WebAccess.components.notifications.InlineHint#showWarning\r\n * @param {string} title Основной тСкст прСдупрСТдСния\r\n * @param {string} [description] Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ тСкст, ΠΎΠ±ΡŠΡΡΠ½ΡΡŽΡ‰ΠΈΠΉ ΡΡƒΡ‚ΡŒ прСдупрСТдСния\r\n * @param {INLINE_HINT_PRIORITY} [inlineHintPriority = INLINE_HINT_PRIORITY.PRIMARY] ΠŸΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ встроСнной подсказки\r\n * @param {boolean} [params.isShowInDialog = True] ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ нСобходимости ΠΏΠΎΠΊΠ°Π·Π° прСдупрСТдСния Π² Π΄ΠΈΠ°Π»ΠΎΠ³Π°Ρ…\r\n * @return {WebAccess.components.notifications.InlineHint} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° InlineHint.\r\n * @since 5.0.0.7300\r\n */\r\n showWarning(title, description, inlineHintPriority = INLINE_HINT_PRIORITY.PRIMARY, isShowInDialog = true) {\r\n const inlineHintParams = {\r\n description,\r\n priority: inlineHintPriority,\r\n type: MESSAGE_TYPE.WARNING,\r\n isShowInDialog: isShowInDialog,\r\n }; \r\n return this.show(title, inlineHintParams);\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π²ΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΡƒΡŽ подсказку с тСкстом ошибки.\r\n *\r\n * @function WebAccess.components.notifications.InlineHint#showError\r\n * @param {string} title Основной тСкст ошибки\r\n * @param {string} [description] Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ тСкст, ΠΎΠ±ΡŠΡΡΠ½ΡΡŽΡ‰ΠΈΠΉ ΠΎΡˆΠΈΠ±ΠΊΡƒ\r\n * @param {INLINE_HINT_PRIORITY} [inlineHintPriority = INLINE_HINT_PRIORITY.PRIMARY] ΠŸΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ встроСнной подсказки\r\n * @param {boolean} [params.isShowInDialog = True] ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ нСобходимости ΠΏΠΎΠΊΠ°Π·Π° ошибки Π² Π΄ΠΈΠ°Π»ΠΎΠ³Π°Ρ…\r\n * @return {WebAccess.components.notifications.InlineHint} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° InlineHint.\r\n */\r\n showError(title, description, inlineHintPriority = INLINE_HINT_PRIORITY.PRIMARY, isShowInDialog = true) {\r\n const inlineHintParams = {\r\n description,\r\n priority: inlineHintPriority,\r\n type: MESSAGE_TYPE.ERROR,\r\n isShowInDialog: isShowInDialog,\r\n };\r\n return this.show(title, inlineHintParams);\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n\r\n /**\r\n * ΠŸΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π²ΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΡƒΡŽ подсказку с ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΌ сообщСниСм.\r\n *\r\n * @method WebAccess.components.notifications.InlineHint#showInfo\r\n * @param {string} title Основной тСкст сообщСния\r\n * @param {string} [description] Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ тСкст, ΠΎΠ±ΡŠΡΡΠ½ΡΡŽΡ‰ΠΈΠΉ ΡΡƒΡ‚ΡŒ сообщСния\r\n * @param {INLINE_HINT_PRIORITY} [inlineHintPriority] ΠŸΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ встроСнной подсказки\r\n * @param {boolean} [params.isShowInDialog = True] ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ нСобходимости ΠΏΠΎΠΊΠ°Π·Π° сообщСния Π² Π΄ΠΈΠ°Π»ΠΎΠ³Π°Ρ…\r\n * @return {WebAccess.components.notifications.InlineHint} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° InlineHint.\r\n * @since 5.1.0.1511\r\n */\r\n showInfo(title, description, inlineHintPriority, isShowInDialog = true) {\r\n const inlineHintParams = {\r\n description,\r\n priority: inlineHintPriority,\r\n type: MESSAGE_TYPE.INFO,\r\n isShowInDialog: isShowInDialog,\r\n };\r\n return this.show(title, inlineHintParams);\r\n },\r\n\r\n /**\r\n * ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ подсказку Π² ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π΅\r\n * @function WebAccess.components.notifications.InlineHint#showInContainer\r\n * @param {string} containerSelector Π‘Π΅Π»Π΅ΠΊΡ‚ΠΎΡ€ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° для сообщСния\r\n * @param {string} title Основной тСкст сообщСния\r\n * @param {string} [description] Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ тСкст\r\n * @param {MESSAGE_TYPE} [messageType] Π’ΠΈΠΏ сообщСния\r\n * @param {INLINE_HINT_PRIORITY} [inlineHintPriority] ΠŸΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ встроСнной подсказки\r\n * @return {WebAccess.components.notifications.InlineHint} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° InlineHint\r\n */\r\n showInContainer(containerSelector, title, description, messageType, inlineHintPriority) {\r\n const inlineHintParams = {\r\n containerSelector,\r\n description,\r\n priority: inlineHintPriority,\r\n type: messageType,\r\n isShowInDialog: true,\r\n };\r\n return this.show(title, inlineHintParams);\r\n }, \r\n\r\n /**\r\n * ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ подсказку Π² Π΄ΠΈΠ°Π»ΠΎΠ³Π΅\r\n * @function WebAccess.components.notifications.InlineHint#showInDialog\r\n * @param {string} dialogId Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Ρ†Π΅Π»Π΅Π²ΠΎΠ³ΠΎ Π΄ΠΈΠ°Π»ΠΎΠ³Π°\r\n * @param {string} title Основной тСкст сообщСния\r\n * @param {string} [description] Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ тСкст\r\n * @param {MESSAGE_TYPE} [messageType] Π’ΠΈΠΏ сообщСния\r\n * @param {INLINE_HINT_PRIORITY} [inlineHintPriority] ΠŸΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ встроСнной подсказки\r\n * @return {WebAccess.components.notifications.InlineHint} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° InlineHint\r\n */\r\n showInDialog(dialogId, title, description, messageType, inlineHintPriority) {\r\n this._dialogId = dialogId;\r\n this._customDialogId = true;\r\n const inlineHintParams = {\r\n description,\r\n priority: inlineHintPriority,\r\n type: messageType,\r\n isShowInDialog: true,\r\n };\r\n return this.show(title, inlineHintParams);\r\n },\r\n\r\n _updateContext: function () {\r\n if (this._customDialogId) return;\r\n\r\n this._dialogId = null;\r\n\r\n var jDialog = $('.ui-dialog-content').last();\r\n if (!jDialog.length) return;\r\n var jDialogContent = jDialog.children();\r\n if (jDialogContent.length) {\r\n this._dialogId = jDialogContent.attr('id');\r\n if (typeof this._dialogId !== 'undefined') {\r\n this._dialogId = this._dialogId.replace('dialog_content_', '');\r\n }\r\n }\r\n },\r\n\r\n /**\r\n * Π‘Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ модСль встроСнной подсказки.\r\n *\r\n * @method WebAccess.components.notifications.InlineHint#_prepareHintModel\r\n * @param {...*} args АргумСнты ΠΌΠ΅Ρ‚ΠΎΠ΄Π° show, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π±ΡƒΠ΄Π΅Ρ‚ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ модСль встроСнной подсказки\r\n * @private\r\n * @return {Object} МодСль встроСнной подсказки.\r\n * @since 5.7.0.2201\r\n */\r\n _prepareHintModel(...args) {\r\n let hintModel = {};\r\n\r\n // Начиная с вСрсии 5.6 ΠΌΠ΅Ρ‚ΠΎΠ΄ show Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ: show(title, params);\r\n if ((!args[1] || typeof args[1] !== 'object') && args.length >= 2) {\r\n // ΠŸΡ€ΠΈΠ²ΠΎΠ΄ΠΈΠΌ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ Π² соврСмСнный Π²ΠΈΠ΄ ΠΈ сообщаСм ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΠΎ-старому ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π½Π΅ рСкомСндуСтся\r\n this._warnAboutDeprecatedMethod('WA.CMP.NTF.InlineHint.show', 'Π£ΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ использования Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΌΠ΅Ρ‚ΠΎΠ΄Π° {0}');\r\n hintModel = {\r\n description: args[1],\r\n priority: args[3],\r\n type: args[2],\r\n };\r\n } else {\r\n if (args[1]) {\r\n hintModel = args[1];\r\n // РаньшС вмСсто description Π±Ρ‹Π» message\r\n if (typeof hintModel.message === 'string') {\r\n this._warnAboutDeprecatedMethod('WA.CMP.NTF.InlineHint.show', 'Π£ΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ использования Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΌΠ΅Ρ‚ΠΎΠ΄Π° {0}');\r\n hintModel.description = hintModel.message;\r\n delete hintModel.message;\r\n }\r\n }\r\n }\r\n\r\n // УстанавливаСм значСния ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.\r\n if (typeof hintModel.description !== 'string') {\r\n hintModel.description = '';\r\n }\r\n if (!Object.values(INLINE_HINT_PRIORITY).includes(hintModel.priority)) {\r\n hintModel.priority = INLINE_HINT_PRIORITY.SECONDARY;\r\n }\r\n if (!Object.values(MESSAGE_TYPE).includes(hintModel.type)) {\r\n hintModel.type = MESSAGE_TYPE.ERROR;\r\n }\r\n\r\n let title = args[0].toString();\r\n\r\n\r\n // ΠŸΡ€ΠΎΠ±ΡƒΠ΅ΠΌ Ρ€Π°ΡΠΏΠ°Ρ€ΡΠΈΡ‚ΡŒ JSON, Π½Π° случай, Ссли Π² ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ Π±Ρ‹Π» ΠΏΠ΅Ρ€Π΅Π΄Π°Π½ JSON-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚\r\n try {\r\n let jsonObject = JSON.parse(title);\r\n if (jsonObject.Message) {\r\n title = jsonObject.Message;\r\n }\r\n } catch (e) {\r\n // Π˜Π³Π½ΠΎΡ€ΠΈΡ€ΡƒΠ΅ΠΌ, Ссли title Π½Π΅ являСтся JSON-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ\r\n }\r\n\r\n title.trim().replace(/\\n/g, '
    ').replaceAll(\"\\u0026quot;\", '\"');\r\n\r\n if (title.includes('^')) {\r\n const splitterIndex = title.indexOf('^');\r\n hintModel.description = title.substring(splitterIndex + 1).fromISBuilderToNormal();\r\n title = title.substring(0, splitterIndex);\r\n }\r\n\r\n hintModel.title = title;\r\n\r\n return hintModel;\r\n },\r\n\r\n /**\r\n * ΠŸΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π²ΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΡƒΡŽ подсказку.\r\n *\r\n * @method WebAccess.components.notifications.InlineHint#show\r\n * @param {string} title Основной тСкст сообщСния\r\n * @param {string} [params = {}] Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹\r\n * @param {string} [params.containerSelector] Π‘Π΅Π»Π΅ΠΊΡ‚ΠΎΡ€ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° для сообщСния\r\n * @param {string} [params.description = ''] Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ тСкст\r\n * @param {string} [params.priority = INLINE_HINT_PRIORITY.SECONDARY] ΠŸΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ встроСнной подсказки\r\n * @param {string} [params.type = MESSAGE_TYPE.ERROR] Π’ΠΈΠΏ сообщСния\r\n * @param {boolean} [params.isShowInDialog = True] ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ нСобходимости ΠΏΠΎΠΊΠ°Π·Π° сообщСния Π² Π΄ΠΈΠ°Π»ΠΎΠ³Π°Ρ…\r\n * подсказки @deprecated since 5.6.0.9069\r\n * @return {WebAccess.components.notifications.InlineHint} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° InlineHint.\r\n */\r\n show(title, params = {}) {\r\n // ΠŸΠΎΠ΄Π³ΠΎΡ‚Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ модСль подсказки\r\n let hintModel = this._prepareHintModel(...arguments);\r\n\r\n this._updateContext();\r\n\r\n //Если ΠΏΠΎΠΊΠ°Π·Π°Π½ Π΄ΠΈΠ°Π»ΠΎΠ³ ΠΎ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΈ сСанса, Ρ‚ΠΎ Ρ…ΠΈΠ½Ρ‚Ρ‹ Π½Π΅ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ\r\n if (WA.SRV._sessionBrokenDialog) {\r\n return this;\r\n }\r\n\r\n if (!hintModel.title) {\r\n return this;\r\n }\r\n\r\n const templateParams = {\r\n cssClass: (hintModel.priority === INLINE_HINT_PRIORITY.SECONDARY) ? ' inline-hint_priority_secondary' : '',\r\n description: hintModel.description,\r\n title: hintModel.title,\r\n type: Object.keys(MESSAGE_TYPE)[hintModel.type].toLowerCase(),\r\n };\r\n\r\n WA.TMPL.render('components/inlineHint.compile.html', templateParams).done((html) => { \r\n // ΠŸΡ€ΡΡ‡Π΅ΠΌ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΡƒΡŽ подсказку с Ρ‚Π°ΠΊΠΈΠΌ ΠΆΠ΅ inlineHintPriority\r\n this.hide(hintModel.priority); \r\n \r\n // Находим ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ ошибки Π² DOM, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΌ Π±ΡƒΠ΄Π΅ΠΌ Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΡ‚ΡŒ inline-hint\r\n let jContainer = hintModel.containerSelector ? $(hintModel.containerSelector) : {};\r\n if (!jContainer.length) {\r\n const defaultContainerSelectors = Object.freeze([\r\n (hintModel.isShowInDialog || this._customDialogId) ? `#dialog_content_${this._dialogId}:visible` : '', // Π’ Π΄ΠΈΠ°Π»ΠΎΠ³Π΅\r\n '.preview-container__inline-hint', // Π’ прСдпросмотрС\r\n '#ctl00_MainContent_ErrorContainer', // Π’ ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠ°Ρ… ΠΈ Π² ΠœΠ”\r\n '[name=\"ErrorControl\"]', // Π’ ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊΠ΅\r\n '#right_column', // НСизвСстно Π³Π΄Π΅, оставлСно лишь Π±Ρ‹ Ρ‡Π΅Π³ΠΎ Π½Π΅ ΡΠ»ΠΎΠΌΠ°Ρ‚ΡŒ\r\n ]);\r\n for (const defaultContainerSelector of defaultContainerSelectors) {\r\n jContainer = $(defaultContainerSelector);\r\n if (jContainer.length) {\r\n break;\r\n }\r\n }\r\n }\r\n\r\n // ДобавляСм inline-hint с Π½ΠΈΠ·ΠΊΠΈΠΌ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ΠΎΠΌ послС inline-hint'Π° с высоким ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ΠΎΠΌ\r\n const jErrorContainerPrimary = jContainer.find('.inline-hint').not('.inline-hint_priority_secondary');\r\n if (jErrorContainerPrimary.length) {\r\n jErrorContainerPrimary.after(html);\r\n } else {\r\n jContainer.prepend(html);\r\n }\r\n\r\n // ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½Ρ‹ΠΉ inline-hint\r\n let jCurrentErrorContainer;\r\n switch (hintModel.priority) {\r\n case INLINE_HINT_PRIORITY.PRIMARY:\r\n jCurrentErrorContainer = jContainer.find('.inline-hint').not('.inline-hint_priority_secondary');\r\n break;\r\n case INLINE_HINT_PRIORITY.SECONDARY:\r\n jCurrentErrorContainer = jContainer.find('.inline-hint_priority_secondary');\r\n }\r\n\r\n // НавСшиваСм событыС удалСния inline-hint ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° крСстик\r\n jCurrentErrorContainer.find('.inline-hint__close').on('click', () => {\r\n this.hide(hintModel.priority);\r\n });\r\n });\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π‘ΠΊΡ€Ρ‹Ρ‚ΡŒ послСднСС ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ΅ сообщСниС.\r\n *\r\n * @function WebAccess.components.notifications.InlineHint#hide\r\n * @param {INLINE_HINT_PRIORITY} [inlineHintPriority] ΠŸΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ встроСнной подсказки\r\n * @return {WebAccess.components.notifications.InlineHint} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° InlineHint.\r\n * @since 5.0.0.7300\r\n */\r\n hide(inlineHintPriority = null) {\r\n switch (inlineHintPriority) {\r\n case INLINE_HINT_PRIORITY.PRIMARY:\r\n $('.inline-hint').not('.inline-hint_priority_secondary').remove();\r\n break;\r\n case INLINE_HINT_PRIORITY.SECONDARY:\r\n $('.inline-hint_priority_secondary').remove();\r\n break;\r\n default:\r\n global.InlineHint.hideAll();\r\n }\r\n return this;\r\n },\r\n\r\n });\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~!!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n global.InlineHint = InlineHint;\r\n\r\n /**\r\n * Π‘ΠΊΡ€Ρ‹Ρ‚ΡŒ всС сообщСния.\r\n *\r\n * @function WebAccess.components.notifications.InlineHint#hideAll\r\n * @static\r\n * @since 5.0.0.7300\r\n */\r\n global.InlineHint.hideAll = function () {\r\n $('.inline-hint').add('.error_div_msg').add('#error_container').remove();\r\n }\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n\r\n})(window.WebAccess.components.notifications);","'use strict';\r\n\r\n(function (global) {\r\n /**\r\n * Класс встроСнной подсказки.\r\n *\r\n * @class WebAccess.components.notifications.ReactInlineHint\r\n * @extend BaseReactObject\r\n * @since 5.6.0.1300\r\n */\r\n class ReactInlineHint extends BaseReactObject {\r\n static get EVENT() {\r\n // Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅, ΡΡ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ встроСнной подсказки.\r\n return Object.assign(\r\n {},\r\n BaseReactObject.EVENT,\r\n {\r\n CHANGE_STATE: 'ReactInlineHintChange',\r\n },\r\n );\r\n }\r\n /**\r\n * ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€.\r\n *\r\n * @ignore\r\n * @method WebAccess.components.notifications.ReactInlineHint#init\r\n * @param {object} model МодСль ΠΏΠ°Π½Π΅Π»ΠΈ дСйствий.\r\n * @override\r\n * @see BaseReactObject#init\r\n */\r\n constructor (model) {\r\n super(model);\r\n /**\r\n * Имя класса.\r\n *\r\n * @private\r\n * @property WebAccess.components.notifications.ReactInlineHint#className\r\n * @override\r\n * @see BaseReactObject#className\r\n */\r\n this.className = 'ReactInlineHint';\r\n this._model.extended = {\r\n hide: () => {\r\n this.hide();\r\n }\r\n };\r\n }\r\n\r\n /**\r\n * ΠŸΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π²ΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΡƒΡŽ подсказку с ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ΠΌ.\r\n *\r\n * @method WebAccess.components.notifications.ReactInlineHint#showWarning\r\n * @param {string} title Основной тСкст прСдупрСТдСния.\r\n * @param {string} [description = ''] ВСкст, ΠΎΠ±ΡŠΡΡΠ½ΡΡŽΡ‰ΠΈΠΉ ΡΡƒΡ‚ΡŒ прСдупрСТдСния.\r\n * @returns {WebAccess.components.notifications.ReactInlineHint} Π’Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ сообщСния.\r\n */\r\n showWarning(title, description = '') {\r\n const inlineHintParams = {\r\n description,\r\n type: MESSAGE_TYPE.WARNING,\r\n };\r\n return this.show(title, inlineHintParams);\r\n }\r\n\r\n /**\r\n * ΠŸΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π²ΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΡƒΡŽ подсказку с тСкстом ошибки.\r\n *\r\n * @method WebAccess.components.notifications.ReactInlineHint#showError\r\n * @param {string} title Основной тСкст ошибки.\r\n * @param {string} [description = ''] ВСкст, ΠΎΠ±ΡŠΡΡΠ½ΡΡŽΡ‰ΠΈΠΉ ΠΏΡ€ΠΈΡ‡ΠΈΠ½Ρƒ ошибки.\r\n * @returns {WebAccess.components.notifications.ReactInlineHint} Π’Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ сообщСния.\r\n */\r\n showError(title, description = '') {\r\n const inlineHintParams = {\r\n description,\r\n type: MESSAGE_TYPE.ERROR,\r\n };\r\n return this.show(title, inlineHintParams);\r\n }\r\n\r\n /**\r\n * ΠŸΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π²ΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΡƒΡŽ подсказку с ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΌ сообщСниСм.\r\n *\r\n * @method WebAccess.components.notifications.ReactInlineHint#showInfo\r\n * @param {string} title Основной тСкст сообщСния.\r\n * @param {string} [description = ''] ВСкст, ΠΎΠ±ΡŠΡΡΠ½ΡΡŽΡ‰ΠΈΠΉ ΡΡƒΡ‚ΡŒ подсказки.\r\n * @returns {WebAccess.components.notifications.ReactInlineHint} Π’Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ сообщСния.\r\n */\r\n showInfo(title, description = '') {\r\n const inlineHintParams = {\r\n description,\r\n type: MESSAGE_TYPE.INFO,\r\n };\r\n return this.show(title, inlineHintParams);\r\n }\r\n\r\n /**\r\n * ΠŸΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ подсказку Π² Π΄ΠΈΠ°Π»ΠΎΠ³Π΅.\r\n *\r\n * @method WebAccess.components.notifications.ReactInlineHint#showInDialog\r\n * @param {string} dialogId Π˜Π” Π΄ΠΈΠ°Π»ΠΎΠ³Π°.\r\n * @param {string} description Основной тСкст подсказки.\r\n * @param {string} [details = ''] Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ информация.\r\n * @param {MESSAGE_TYPE} [messageType] Π’ΠΈΠΏ сообщСния.\r\n * @returns {WebAccess.components.notifications.ReactInlineHint} Π’Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ сообщСния.\r\n */\r\n showInDialog(dialogId, description, details = '', messageType) {\r\n // Π’ Π΄ΠΈΠ°Π»ΠΎΠ³Π°Ρ… Π½Π΅Ρ‚ \"Ρ€Π΅Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ\" сообщСния ΠΎΠ± ошибкС\r\n // Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ΅ сообщСниС ΠΎΠ± ошибкС\r\n (new global.InlineHint()).showInDialog(dialogId, description, details, messageType);\r\n return this;\r\n }\r\n\r\n /**\r\n * Π‘Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ модСль встроСнной подсказки.\r\n *\r\n * @method WebAccess.components.notifications.ReactInlineHint#_prepareHintModel\r\n * @param {...*} args АргумСнты ΠΌΠ΅Ρ‚ΠΎΠ΄Π° show, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π±ΡƒΠ΄Π΅Ρ‚ Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒΡΡ модСль встроСнной подсказки\r\n * @private\r\n * @since 5.7.0.2201\r\n */\r\n _prepareHintModel(...args) {\r\n\r\n // Начиная с вСрсии 5.6 ΠΌΠ΅Ρ‚ΠΎΠ΄ show Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ: show(title, params);\r\n if (typeof args[1] !== 'object' && args.length >= 2) {\r\n // ΠŸΡ€ΠΈΠ²ΠΎΠ΄ΠΈΠΌ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹ Π² соврСмСнный Π²ΠΈΠ΄ ΠΈ сообщаСм ΠΎ Ρ‚ΠΎΠΌ, Ρ‡Ρ‚ΠΎ ΠΏΠΎ-старому ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π½Π΅ рСкомСндуСтся\r\n this._warnAboutDeprecatedMethod('WA.CMP.NTF.InlineHint.show', 'Π£ΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ использования Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΌΠ΅Ρ‚ΠΎΠ΄Π° {0}');\r\n Object.assign(this._model, {\r\n description: args[1],\r\n priority: args[3],\r\n type: args[2],\r\n });\r\n } else {\r\n Object.assign(this._model, args[1]);\r\n // РаньшС вмСсто description Π±Ρ‹Π» message\r\n if (typeof this._model.message === 'string') {\r\n this._warnAboutDeprecatedMethod('WA.CMP.NTF.InlineHint.show', 'Π£ΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠΉ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ использования Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΌΠ΅Ρ‚ΠΎΠ΄Π° {0}');\r\n this._model.description = this._model.message;\r\n delete this._model.message;\r\n }\r\n }\r\n\r\n // УстанавливаСм значСния ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.\r\n if (typeof this._model.description !== 'string') {\r\n this._model.description = '';\r\n }\r\n if (!Object.values(INLINE_HINT_PRIORITY).includes(this._model.priority)) {\r\n this._model.priority = INLINE_HINT_PRIORITY.SECONDARY;\r\n }\r\n if (!Object.values(MESSAGE_TYPE).includes(this._model.type)) {\r\n this._model.type = MESSAGE_TYPE.ERROR;\r\n }\r\n\r\n let title = args[0].toString();\r\n\r\n // ΠŸΡ€ΠΎΠ±ΡƒΠ΅ΠΌ Ρ€Π°ΡΠΏΠ°Ρ€ΡΠΈΡ‚ΡŒ JSON, Π½Π° случай, Ссли Π² ΠΌΠ΅Ρ‚ΠΎΠ΄ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ Π±Ρ‹Π» ΠΏΠ΅Ρ€Π΅Π΄Π°Π½ JSON-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚\r\n try {\r\n let jsonObject = JSON.parse(title);\r\n if (jsonObject.Message) {\r\n title = jsonObject.Message;\r\n }\r\n } catch (e) {\r\n // Π˜Π³Π½ΠΎΡ€ΠΈΡ€ΡƒΠ΅ΠΌ, Ссли title Π½Π΅ являСтся JSON-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ\r\n }\r\n\r\n title.trim().replace(/\\n/g, '
    ').replaceAll(\"\\u0026quot;\", '\"');\r\n\r\n if (title.includes('^')) {\r\n const splitterIndex = title.indexOf('^');\r\n this._model.description = title.substring(splitterIndex + 1).fromISBuilderToNormal();\r\n title = title.substring(0, splitterIndex);\r\n }\r\n\r\n this._model.title = title;\r\n }\r\n\r\n /**\r\n * ΠŸΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π²ΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΡƒΡŽ подсказку.\r\n *\r\n * @method WebAccess.components.notifications.ReactInlineHint#show\r\n * @param {string} title Основной тСкст подсказки.\r\n * @param {string} [params = {}] Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹\r\n * @param {string} [params.description = ''] Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹ΠΉ тСкст\r\n * @param {string} [params.priority = INLINE_HINT_PRIORITY.SECONDARY] ΠŸΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ встроСнной подсказки\r\n * @param {string} [params.type = MESSAGE_TYPE.ERROR] Π’ΠΈΠΏ сообщСния\r\n * @returns {WebAccess.components.notifications.ReactInlineHint} Π’Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ сообщСния.\r\n */\r\n show(title, params = {}) {\r\n // ΠŸΠΎΠ΄Π³ΠΎΡ‚Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌ модСль подсказки\r\n this._prepareHintModel(...arguments);\r\n this.fire(this.constructor.EVENT.CHANGE_STATE, this._model);\r\n return this;\r\n }\r\n\r\n /**\r\n * Π‘ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ Π²ΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΡƒΡŽ подсказку.\r\n *\r\n * @method WebAccess.components.notifications.ReactInlineHint#hide\r\n * @returns {WebAccess.components.notifications.ReactInlineHint} Π’Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ сообщСния.\r\n */\r\n hide() {\r\n for (let key in this._model) {\r\n if (this._model.hasOwnProperty(key) && key !== 'extended') {\r\n delete this._model[key];\r\n }\r\n }\r\n\r\n this.fire(this.constructor.EVENT.CHANGE_STATE, this._model);\r\n return this;\r\n }\r\n }\r\n\r\n global.ReactInlineHint = ReactInlineHint;\r\n\r\n})(window.WebAccess.components.notifications);","'use strict';\r\n\r\n/** jQuery-сСлСктор спиннСра. */\r\nconst SPINNER_SELECTOR = '.loader #nprogress';\r\n\r\n// ToDo: пСрСнСсти Π½Π° wiki ΠΊΠ°ΠΊ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ использования jsdoc.\r\n/**\r\n * Π‘ΠΏΠΈΠ½Π½Π΅Ρ€.\r\n *\r\n * @memberOf WebAccess.components.notifications\r\n */\r\nWebAccess.components.notifications.Spinner = class {\r\n /**\r\n * Π’ΠΈΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ спиннСра.\r\n *\r\n * @name Spinner#isVisible\r\n * @type boolean\r\n * @readonly\r\n * @return {boolean} True - спиннСр Π²ΠΈΠ΄ΠΈΠΌΡ‹ΠΉ, ΠΈΠ½Π°Ρ‡Π΅ False.\r\n */\r\n get isVisible() {\r\n return this._isVisible;\r\n }\r\n\r\n /**\r\n * Π‘ΠΎΠ·Π΄Π°Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Spinner.\r\n *\r\n * @param {object} [jSpinner = $(SPINNER_SELECTOR)] jQuery-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ спиннСра.\r\n */\r\n constructor(jSpinner = $(SPINNER_SELECTOR)) {\r\n /**\r\n * jQuery-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ спиннСра.\r\n * @type {object}\r\n */\r\n this.jSpinner = jSpinner;\r\n /**\r\n * Π˜Π” Ρ‚Π°ΠΉΠΌΠ΅Ρ€Π°.\r\n * @type {number}\r\n */\r\n this.timer = null;\r\n /*\r\n * ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ видимости спиннСра.\r\n * @private\r\n * @type {boolean}\r\n * @default false\r\n */\r\n this._isVisible = false;\r\n }\r\n\r\n /**\r\n * Запуск Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ спиннСра.\r\n *\r\n * @method Spinner#_start\r\n * @private\r\n * @since 5.0.0.7300\r\n */\r\n _start() { \r\n if (NProgress.isCanRendered() && !NProgress.isStarted() && !NProgress.isRendered()) {\r\n NProgress.start();\r\n }\r\n return this;\r\n }\r\n\r\n /**\r\n * ΠžΡ‚Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ запуск Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ процСсса Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ.\r\n *\r\n * @deprecated\r\n * @method Spinner#showDelayed\r\n * @param {number} [delay = 500] Π—Π°Π΄Π΅Ρ€ΠΆΠΊΠ° запуска Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ Π² миллисСкундах.\r\n * @return {WebAccess.components.notifications.Spinner} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° Spinner.\r\n * @since 5.0.0.7300\r\n */\r\n showDelayed(delay = 500) {\r\n if (this.timer) {\r\n clearTimeout(this.timer);\r\n }\r\n this.timer = setTimeout(() => {\r\n this._start();\r\n }, delay);\r\n return this;\r\n }\r\n\r\n /**\r\n * ΠŸΡ€Π΅ΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ ΠΎΡ‚ΠΎΠ±Ρ€ΠΆΠ΅Π½ΠΈΠ΅ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ спиннСра.\r\n *\r\n * @method Spinner#_stop\r\n * @return {WebAccess.components.notifications.Spinner} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° Spinner.\r\n * @since 5.0.0.7300\r\n */\r\n _stop() {\r\n if (NProgress.isRendered()) {\r\n NProgress.done();\r\n }\r\n }\r\n\r\n /**\r\n * ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΡŽ процСсса Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ.\r\n *\r\n * @method Spinner#show\r\n * @return {WebAccess.components.notifications.Spinner} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° Spinner.\r\n * @since 5.0.0.7300\r\n */\r\n show() {\r\n if (!this.jSpinner.length) {\r\n this.jSpinner = $(SPINNER_SELECTOR);\r\n }\r\n\r\n // ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ спиннСр, Ссли Π½Π΅ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎ модальноС ΠΎΠΊΠ½ΠΎ\r\n if (!window.IsModalShown()) {\r\n this._isVisible = true;\r\n this._start();\r\n }\r\n\r\n return this;\r\n }\r\n\r\n /**\r\n * ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΡŽ процСсса Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π² Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ²ΠΎΠΌ ΠΎΠΊΠ½Π΅.\r\n *\r\n * @method Spinner#showInDialog\r\n * @param {number} [delay] Π—Π°Π΄Π΅Ρ€ΠΆΠΊΠ° запуска Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ Π² миллисСкундах\r\n * @return {WebAccess.components.notifications.Spinner} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° Spinner.\r\n * @since 5.0.0.7300\r\n * @deprecated\r\n */ \r\n showInDialog(delay) {\r\n let jDialog = $('.ui-dialog:visible, .wizard-form:visible');\r\n let jDialogLoader = jDialog.find('.ui-dialog-loader');\r\n\r\n if (!jDialogLoader) {\r\n jDialog.append('
    ');\r\n jDialogLoader = jDialog.find('.ui-dialog-loader');\r\n }\r\n this.jSpinner = jDialogLoader;\r\n\r\n if (delay) {\r\n this.showDelayed(delay);\r\n } else {\r\n this._isVisible = true;\r\n this._start();\r\n }\r\n\r\n return this;\r\n }\r\n\r\n /**\r\n * Π‘ΠΊΡ€Ρ‹Ρ‚ΡŒ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΡŽ процСсса Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ.\r\n *\r\n * @method Spinner#hide\r\n * @param {String} [message] Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ ΠΎ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠΈ процСсса Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ.\r\n * @param {number} [delay] Π—Π°Π΄Π΅Ρ€ΠΆΠΊΠ° запуска Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ Π² миллисСкундах\r\n * @param {number} [callback] Ѐункция, которая Π±ΡƒΠ΄Π΅Ρ‚ Π·Π°ΠΏΡƒΡ‰Π΅Π½Π° послС скрытия Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ.\r\n * @return {WebAccess.components.notifications.Spinner} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° Spinner.\r\n * @since 5.0.0.7300\r\n */\r\n hide(message, delay, callback) {\r\n this._isVisible = false;\r\n if (this.timer) {\r\n clearTimeout(this.timer);\r\n }\r\n if (message) {\r\n let toast = new WA.CMP.NTF.Toast();\r\n toast.show(message, 'success', null, delay);\r\n }\r\n if (callback instanceof Function) {\r\n setTimeout(() => {\r\n callback();\r\n }, delay);\r\n }\r\n this._stop();\r\n return this;\r\n }\r\n};\r\n","((global) => {\r\n\r\n /**\r\n * Боковая панСль ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊΠ°.\r\n *\r\n * @class WebAccess.components.SidePanel\r\n * @extends BaseObject\r\n * @since 5.8.3.9000\r\n */\r\n class SidePanel extends BaseObject {\r\n constructor() {\r\n super();\r\n this.headerString = '';\r\n };\r\n\r\n /**\r\n * ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ Π±ΠΎΠΊΠΎΠ²ΡƒΡŽ панСль.\r\n\t * @function WebAccess.components.SidePanel.render\r\n * */\r\n render() {\r\n let innerHtml = `
    \r\n
    \r\n ${this.headerString}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    `;\r\n this.html = `
    ${innerHtml}
    `;\r\n let panelElement = $('.sidepanel');\r\n if (panelElement.length) {\r\n // ΠžΡ‡ΠΈΡ‰Π°Π΅Ρ‚ΡΡ Π˜Π” ΠΏΠ°Π½Π΅Π»ΠΈ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ срабатывали Π»ΠΎΠΆΠ½Ρ‹Π΅ события.\r\n if (panelElement.attr('id')) {\r\n panelElement.removeAttr('id');\r\n }\r\n panelElement.html(innerHtml);\r\n } else {\r\n let form = $('form');\r\n if (form) {\r\n form.prepend(this.html);\r\n $(document).click(e => { this.closePanel(e) })\r\n .contextmenu(e => { this.closePanel(e) })\r\n .bind('openFolderContextMenu', () => { this.closePanel(e) });\r\n }\r\n }\r\n return this;\r\n };\r\n\r\n /**\r\n * Π—Π°ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ Π±ΠΎΠΊΠΎΠ²ΡƒΡŽ панСль.\r\n * @function WebAccess.components.SidePanel.closePanel\r\n * @param {} event Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ ΠΊΠ»ΠΈΠΊΠ°.\r\n * */\r\n closePanel(event) {\r\n if ($('.sidepanel').hasClass('active') &&\r\n !event.target.closest('.sidepanel') &&\r\n (!event.target.closest('.base-header__explorer-additional-btn') ||\r\n (event.target.closest('.base-header__explorer-additional-btn') && !event.target.closest('.base-header__explorer-additional-btn').classList.contains('active'))) &&\r\n !event.target.closest('[class^=\"ui-\"]') &&\r\n !event.target.closest('.toast')) {\r\n event.stopPropagation();\r\n event.preventDefault();\r\n this.toggleActive(false);\r\n }\r\n };\r\n\r\n /**\r\n * Π‘ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ ΠΈΠ»ΠΈ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ панСль ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ.\r\n\t * @function WebAccess.components.SidePanel.toggleActive\r\n * @param {any} isActive ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ, ΠΏΠΎΠΊΠ°Π·Π°Π½Π° ΠΈΠ»ΠΈ скрыта панСль ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ Π² Π΄Π°Π½Π½Ρ‹ΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚\r\n */\r\n toggleActive(isActive) {\r\n let panelElement = $('.sidepanel');\r\n if (panelElement.length) {\r\n if (isActive) {\r\n panelElement[0].classList.add('active');\r\n panelElement.focus();\r\n } else {\r\n panelElement[0].classList.remove('active');\r\n\r\n let event = document.createEvent('CustomEvent');\r\n event.initCustomEvent('hideSidePanel', true, false, '');\r\n document.dispatchEvent(event);\r\n }\r\n }\r\n };\r\n }\r\n\r\n global.SidePanel = SidePanel;\r\n})(window.WebAccess.components);","((global) => {\r\n\r\n /**\r\n * Боковая панСль настроСк.\r\n *\r\n * @class WebAccess.components.AboutPanel\r\n * @extends WA.CMP.SidePanel\r\n * @since 5.8.3.9000\r\n */\r\n class AboutPanel extends WA.CMP.SidePanel {\r\n constructor() {\r\n super();\r\n\r\n this.headerString = L('ABOUT');\r\n this.initiator = '.AboutIco';\r\n };\r\n\r\n /**\r\n * ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ Π±ΠΎΠΊΠΎΠ²ΡƒΡŽ панСль.\r\n\t * @function WebAccess.components.AboutPanel.render\r\n * */\r\n render() {\r\n super.render();\r\n\r\n WA.SRV.request('api/UserSettings.asmx/GetAbout').done(result => {\r\n $('#sidepanel-body').append(`
    `);\r\n $('#settings-body').append(result.html);\r\n // Π£Π΄Π°Π»ΠΈΠΌ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Π±Π»ΠΎΠΊΠ°, Ρ‚.ΠΊ. ΠΎΠ½ ΡƒΠΆΠ΅ Π΅ΡΡ‚ΡŒ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ.\r\n $('.settings-block-name').remove();\r\n }).fail(() => {\r\n ShowError(L('SETTINGS_PANEL_SHOW_ERROR_MESSAGE'));\r\n });\r\n\r\n return this;\r\n };\r\n }\r\n\r\n global.AboutPanel = new AboutPanel();\r\n})(window.WebAccess.components);","((global) => {\r\n\r\n /**\r\n * Боковая панСль настроСк.\r\n *\r\n * @class WebAccess.components.SettingsPanel\r\n * @extends WA.CMP.SidePanel\r\n * @since 5.8.3.9000\r\n */\r\n class SettingsPanel extends WA.CMP.SidePanel {\r\n constructor() {\r\n super();\r\n\r\n this.headerString = L('SETTINGS');\r\n this.initiator = '.settingsAboutIco';\r\n this.settingsElementSelectors = ['.settings-block-name', 'h3', 'h4'];\r\n };\r\n\r\n /**\r\n * ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ Π±ΠΎΠΊΠΎΠ²ΡƒΡŽ панСль.\r\n\t * @function WebAccess.components.SettingsPanel.render\r\n * */\r\n render() {\r\n super.render();\r\n\r\n WA.SRV.request('api/UserSettings.asmx/getSettings', { 'componentName': '' }).done(result => {\r\n $('#sidepanel-body').append(`
    \r\n
    \r\n \r\n
    \r\n
    `);\r\n $('#sidepanel-body').append(`
    \r\n
    \r\n
    \r\n
    ${L('EMPTY_WITH_FILTER')}
    \r\n
    \r\n
    `);\r\n $('#filter-settings')\r\n .bind('focus', e => { this._filterFocus(e); })\r\n .bind('blur', e => {\r\n this._filterFocus(e);\r\n if (e.target.value !== '') {\r\n $('#sidepanel-body .icon.clear').show();\r\n } else {\r\n $('#sidepanel-body .icon.clear').hide();\r\n }\r\n })\r\n .bind('input', e => { this._filterSettings(e) })\r\n .bind('change', e => { this._filterSettings(e) });\r\n\r\n $('#sidepanel-body .icon.clear').bind('click', e => {\r\n let filterInput = $('#filter-settings');\r\n filterInput.val('');\r\n filterInput[0].focus();\r\n filterInput.trigger('change');\r\n event.stopPropagation();\r\n event.preventDefault();\r\n });\r\n\r\n $('#sidepanel-body').append(`
    `);\r\n\r\n $('#settings-body').append(result.html);\r\n\r\n if (result.initJs) {\r\n eval(result.initJs);\r\n }\r\n\r\n // Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ настроСк.\r\n Core.settings.\r\n initPreviewSettings().\r\n initColoringRecordsSettings().\r\n initAutoCleaningSettings().\r\n initAgentControls().\r\n initDocDefaultAction().\r\n initManagedFoldersSettings();\r\n }).fail(() => {\r\n ShowError(L('SETTINGS_PANEL_SHOW_ERROR_MESSAGE'));\r\n });\r\n\r\n return this;\r\n };\r\n\r\n /**\r\n * ΠŸΠ΅Ρ€Π΅Ρ€ΠΈΡΠΎΠ²Ρ‹Π²Π°Π΅Ρ‚ Π±Π»ΠΎΠΊ с настройками Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ².\r\n * */\r\n renderDocumentTab() { \r\n WA.SRV.request('api/UserSettings.asmx/getSettings', { 'componentName': 'DocumentsAndFolders' }).done(result => {\r\n $('.settings-block .stat_OpenDocumentSettings').closest('.settings-block').replaceWith(result.html);\r\n // Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½Ρ‹Ρ… Π½Π° сСрвСрС.\r\n if (result.initJs) {\r\n eval(result.initJs);\r\n }\r\n // Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… настроСк.\r\n Core.settings.\r\n initPreviewSettings().\r\n initDocDefaultAction().\r\n initManagedFoldersSettings();\r\n });\r\n }\r\n\r\n /**\r\n * ΠŸΠ΅Ρ€Π΅Ρ€ΠΈΡΠΎΠ²Ρ‹Π²Π°Π΅Ρ‚ Π±Π»ΠΎΠΊ с настройками автоочистки.\r\n * */\r\n renderAutoCleaningFoldersTab() {\r\n WA.SRV.request('api/UserSettings.asmx/getSettings', { 'componentName': 'Autocleaning' }).done(result => {\r\n $('.settings-block .stat_AutoCleaning').closest('.settings-block').replaceWith(result.html);\r\n // Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Ρ… Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½Ρ‹Ρ… Π½Π° сСрвСрС.\r\n if (result.initJs) {\r\n eval(result.initJs);\r\n }\r\n // Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Ρ… настроСк.\r\n Core.settings.initAutoCleaningSettings();\r\n });\r\n }\r\n\r\n /**\r\n * ΠžΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ ΠΊΠ»ΠΈΠΊ ΠΏΠΎ строкС Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ.\r\n * @param {any} event Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅.\r\n */\r\n _filterFocus(event) {\r\n event.target.parentElement.classList.toggle('active');\r\n }\r\n\r\n /**\r\n * ВыполняСт поиск ΠΏΠΎ настройкам.\r\n * @param {any} event Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅.\r\n */\r\n _filterSettings(event) {\r\n const minFilterTextLength = 2;\r\n const filterText = event.target.value.toLowerCase();\r\n\r\n if (!event.target.parentElement.classList.contains('active')) {\r\n event.target.parentElement.classList.add('active');\r\n }\r\n\r\n this._removeAllSettingsPanelFilter();\r\n if (filterText.length >= minFilterTextLength) {\r\n const isFoundAnySettings = this._panelSettingsFilter(filterText, $('#settings-body'), false);\r\n if (!isFoundAnySettings) {\r\n $('#sidepanel-body .Empty').show();\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * ΠžΡ‡ΠΈΡ‰Π°Π΅Ρ‚ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Ρ‹ ΠΏΠ°Π½Π΅Π»ΠΈ настроСк.\r\n * */\r\n _removeAllSettingsPanelFilter() {\r\n const emptyFilterWatermark = $('#sidepanel-body .Empty');\r\n if (!emptyFilterWatermark.is(\":hidden\")) {\r\n emptyFilterWatermark.hide();\r\n $('#settings-body').show();\r\n }\r\n this.settingsElementSelectors.forEach(value => {\r\n $(`#settings-body ${value}`).parent().show();\r\n });\r\n }\r\n\r\n /**\r\n * НакладываСт Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ Π½Π° панСль настроСк.\r\n * @param {string} filterText Π‘Ρ‚Ρ€ΠΎΠΊΠ° поиска.\r\n * @param {obj} parentElement Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ накладываСтся Ρ„ΠΈΠ»ΡŒΡ‚Ρ€.\r\n * @param {number} iterator Π˜Ρ‚Π΅Ρ€Π°Ρ‚ΠΎΡ€ элСмСнтов.\r\n */\r\n _panelSettingsFilter(filterText, parentElement, iterator = 0) {\r\n let isNeedShowCurrentElement = false;\r\n let childElementsVisibility = [];\r\n const isLastSelector = this.settingsElementSelectors.length - 1 <= iterator;\r\n\r\n const jSettingsElements = parentElement.find(this.settingsElementSelectors[iterator++]);\r\n if (jSettingsElements.length) {\r\n jSettingsElements.each((i, element) => {\r\n let jElement = $(element);\r\n\r\n isNeedShowCurrentElement = element.innerText.toLowerCase().indexOf(filterText) >= 0;\r\n\r\n if (!isLastSelector && !isNeedShowCurrentElement) {\r\n isNeedShowCurrentElement = this._panelSettingsFilter(filterText, jElement.parent(), iterator);\r\n }\r\n\r\n childElementsVisibility.push(isNeedShowCurrentElement);\r\n\r\n if (isNeedShowCurrentElement) {\r\n jElement.parent().show();\r\n } else {\r\n jElement.parent().hide();\r\n }\r\n });\r\n if (childElementsVisibility.length > 0) {\r\n isNeedShowCurrentElement = childElementsVisibility.includes(true);\r\n if (isNeedShowCurrentElement) {\r\n parentElement.show();\r\n } else {\r\n parentElement.hide();\r\n }\r\n }\r\n } else if (!isLastSelector) {\r\n isNeedShowCurrentElement = this._panelSettingsFilter(filterText, parentElement, iterator);\r\n }\r\n return isNeedShowCurrentElement;\r\n }\r\n\r\n }\r\n\r\n global.SettingsPanel = new SettingsPanel();\r\n})(window.WebAccess.components);","\r\n((global) => {\r\n /**\r\n * ПанСль ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ.\r\n *\r\n * @class WebAccess.components.notifications.NotificationsPanel\r\n * @extends WA.CMP.SidePanel\r\n * @since 5.8.2.9000\r\n */\r\n class NotificationsPanel extends WA.CMP.SidePanel {\r\n constructor() {\r\n super();\r\n\r\n window.addEventListener('storage', e => {\r\n if (e.key === 'notifications') {\r\n const oldNotificationIds = JSON.parse(e.oldValue).map(ntf => {\r\n return ntf.id;\r\n }) || [];\r\n const currentNotifications = JSON.parse(e.newValue) || [];\r\n\r\n if (!currentNotifications.length) {\r\n let event = document.createEvent('CustomEvent');\r\n event.initCustomEvent('noNotifications', true, false, '');\r\n document.dispatchEvent(event);\r\n } else {\r\n const newNotifications = currentNotifications.filter(ntf => { return !(oldNotificationIds.includes(ntf.id)); });\r\n\r\n this.notifyNew(newNotifications);\r\n }\r\n\r\n // ΠšΠΎΠ½Ρ‚Π΅Π½Ρ‚ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠ΅Ρ€Π΅ΡΡ‚Ρ€Π°ΠΈΠ²Π°Ρ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ.\r\n if ($('#NotificationsPanel').hasClass('active')) {\r\n this.render();\r\n }\r\n }\r\n });\r\n };\r\n\r\n /**\r\n * ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ панСль ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ.\r\n\t * @function WebAccess.components.notifications.NotificationsPanel.render\r\n * */\r\n render() {\r\n let notificationsHtml = '';\r\n var storedNotifications = this.getStoredNotifications();\r\n storedNotifications.forEach(notification => {\r\n let ntf = new WA.CMP.NTF.Notification(notification);\r\n ntf.render();\r\n notificationsHtml += ntf.html;\r\n });\r\n\r\n let innerHtml = `
    \r\n
    \r\n ${L('NOTIFICATIONS')}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    ${notificationsHtml}
    `;\r\n this.html = `
    ${innerHtml}
    `;\r\n let panelElement = $('#NotificationsPanel');\r\n if (panelElement.length) {\r\n panelElement.html(innerHtml);\r\n } else {\r\n let form = $('form');\r\n if (form) {\r\n form.prepend(this.html);\r\n $(document).click(e => { this.closePanel(e) });\r\n }\r\n }\r\n return this;\r\n };\r\n\r\n /**\r\n * Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ увСдомлСния ΠΈΠ· локального Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π° (localStorage).\r\n\t * @function WebAccess.components.notifications.NotificationsPanel.getStoredNotifications\r\n * */\r\n getStoredNotifications() {\r\n return JSON.parse(localStorage.getItem('notifications')) || [];\r\n };\r\n\r\n /**\r\n * УдаляСт ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅ ΠΈΠ· ΠΏΠ°Π½Π΅Π»ΠΈ ΠΈ локального Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π° (localStorage).\r\n\t * @function WebAccess.components.notifications.NotificationsPanel.deleteNtf\r\n * @param {any} idToDel Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ удаляСмого увСдомлСния\r\n */\r\n deleteNtf(idToDel) {\r\n let storedNotifications = JSON.parse(localStorage.getItem('notifications'));\r\n if (storedNotifications.length) {\r\n storedNotifications = storedNotifications.filter(function (ntf) { return ntf.id !== idToDel; });\r\n localStorage.setItem('notifications', JSON.stringify(storedNotifications));\r\n this.render();\r\n }\r\n };\r\n\r\n /**\r\n * УдаляСт всС увСдомлСния ΠΈΠ· ΠΏΠ°Π½Π΅Π»ΠΈ ΠΈ локального Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π° (localStorage).\r\n\t * @function WebAccess.components.notifications.NotificationsPanel.deleteAllHandler\r\n * */\r\n deleteAllHandler() {\r\n window.event.cancelBubble = true;\r\n event.stopPropagation();\r\n localStorage.setItem('notifications', '[]');\r\n this.render();\r\n };\r\n\r\n /**\r\n * Π‘ΠΎΠΎΠ±Ρ‰Π°Π΅Ρ‚ ΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠΈ Π½ΠΎΠ²Ρ‹Ρ… ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ.\r\n\t * @function WebAccess.components.notifications.NotificationsPanel.notifyNew\r\n * @param {Array} notifications НовыС увСдомлСния\r\n */\r\n notifyNew(notifications) {\r\n if (notifications && notifications.length) {\r\n if (!($('#NotificationsPanel').hasClass('active'))) {\r\n let event = document.createEvent('CustomEvent');\r\n event.initCustomEvent('newNotification', true, false, '');\r\n document.dispatchEvent(event);\r\n\r\n const toast = new WA.CMP.NTF.Toast();\r\n toast.showMessage(notifications.map(ntf => { return `${ntf.title.escapeHtml()}
    ${ntf.text.escapeHtml()}`; }).join('

    '), false, 10000);\r\n }\r\n }\r\n };\r\n\r\n /**\r\n * ΠŸΠΎΠΌΠ΅Ρ‡Π°Π΅Ρ‚ ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π½Π½ΠΎΠ΅.\r\n\t * @function WebAccess.components.notifications.NotificationsPanel.markRead\r\n * @param {string} id Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ увСдомлСния\r\n */\r\n markRead(id) {\r\n let storedNotifications = JSON.parse(localStorage.getItem('notifications'));\r\n localStorage.setItem('notifications', JSON.stringify(storedNotifications.map(item => {\r\n if (item.id === id) {\r\n item.new = false;\r\n }\r\n return item;\r\n })));\r\n this.render();\r\n };\r\n }\r\n\r\n global.NotificationsPanel = NotificationsPanel;\r\n})(window.WebAccess.components.notifications);","\"use strict\";\n\n\n(function (global) {\n\n /**\n * ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΠ΅Ρ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°ΠΌΠΈ. \n *\n * @mixin WebAccess.mixins.requisitesMixin\n * @since 5.0.0.7100 \n */\n var requisitesMixin = {\n\n /**\n * Ассоциация класса Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° ΠΏΠΎ Π΅Π³ΠΎ Ρ‚ΠΈΠΏΡƒ.\n *\n * @method WebAccess.mixins.requisitesMixin._createRequisite\n * @private\n * @since 5.0.0.7100\n * @return {Object}\n */\n _createRequisite: function (reqName, reqData, opt_isDetail, opt_grid) {\r\n var REQ;\n\n if (opt_isDetail)\n var REQ = WA.CMP.wrappers.form.requisites._details;\n else {\r\n var REQ = WA.CMP.wrappers.form.requisites;\r\n }\n\n switch (reqData.type) {\r\n case \"string\":\n case \"text\": \n return new REQ.Text(reqName, reqData, this, opt_grid);\n case \"pick\":\n return new REQ.Pick(reqName, reqData, this, opt_grid);\n case \"date\":\n return new REQ.Date(reqName, reqData, this, opt_grid);\n case \"integer\":\n case \"largeinteger\":\n case \"float\":\n return new REQ.Integer(reqName, reqData, this, opt_grid);\n case \"reference\":\n return new REQ.Reference(reqName, reqData, this, opt_grid);\n case \"document\":\n return new REQ.Document(reqName, reqData, this, opt_grid);\n case \"radio\":\n return new REQ.Radio(reqName, reqData, this, opt_grid);\n case \"checkbox\":\n return new REQ.CheckBox(reqName, reqData, this, opt_grid);\n case \"objectList\":\n return new REQ.ObjectList(reqName, reqData, this, opt_grid);\n default:\n return new REQ.BaseRequisite(reqName, reqData, this, opt_grid);\r\n };\r\n },\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\n\n /**\n * ΠΠ°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ΅ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ² Ρ„ΠΎΡ€ΠΌΡ‹ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ.\n *\n * @method WebAccess.mixins.requisitesMixin._initRequisiteValues\n * @private\n * @since 5.0.0.7100\n * @return {WebAccess.mixins.requisitesMixin}\n */\n _initRequisiteValues: function (reqsData) {\r\n var me = this;\n\n if (me.isDisabled()) {\r\n me.disable();\r\n } else {\n //Π¨Π°ΠΌΠΎΠ² А.: Π—Π°ΠΊΠΎΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π» ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ дизэйблятся всС ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Ρ‹ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° Π½Π° всСх Π²ΠΊΠ»Π°Π΄ΠΊΠ°Ρ…, Ссли Π½Π° ΠΊΠ°ΠΊΠΎΠΉ-Π½ΠΈΠ±ΡƒΠ»ΡŒ ΠΈΠ· Π²ΠΊΠ»Π°Π΄ΠΎΠΊ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ задизэйблСн.\n //me._disableReadOnlyFields();\n }\n\n var globalReqValuesInit = $.Deferred();\n if (me._reqValuesInit) me._reqValuesInit.push(globalReqValuesInit);\n\n for (var reqName in reqsData) {\r\n if (me.requisites[reqName].isRendered()) {\r\n (function (_reqName, req) {\r\n\n var currReqValueInit = $.Deferred();\n if (me._reqValuesInit) me._reqValuesInit.push(currReqValueInit);\n\n $.when(req.Init).then(function () {\r\n req.setValue(reqsData[_reqName].value, reqsData[_reqName].displayValue, false)._bindMirrors()._isChanged = false;\n currReqValueInit.resolve();\r\n });\r\n\n })(reqName, me.requisites[reqName]);\r\n }\r\n };\n\n UnbindBeforeUnload();\n BindBeforeUnload();\n\n $(\"input.input\").change(function () { $(this).attr(\"title\", $(this).val()) });\n\n globalReqValuesInit.resolve();\n\n return this;\r\n },\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\n\n /**\n * Π‘Π²Π·ΡΠ°Ρ‚ΡŒ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹ с мноТСствСнными ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π°ΠΌΠΈ\n * @private\n * @method WebAccess.mixins.requisitesMixin._disable\n * @since 5.0.0.7100\n */\n _bindMirrors: function (reqsData) {\r\n for (var reqName in reqsData) {\r\n if (this.requisites[reqName].isRendered()) {\r\n this.requisites[reqName]._bindMirrors();\r\n }\r\n }\n return this;\r\n },\n\n /**\n * Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ для всСх Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ² состояниС \"Волько Ρ‡Ρ‚Π΅Π½ΠΈΠ΅\", \n * ΠΈ ΡΠΊΡ€Ρ‹Ρ‚ΡŒ ссылку \"Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ строку\".\n *\n * @method WebAccess.mixins.requisitesMixin._disable\n * @private\n * @since 5.0.0.7100\n * @return {WebAccess.mixins.requisitesMixin}\n */\n _disable: function () {\r\n var reqs = this.requisites.toArray();\n reqs.forEach(function (requisite) {\r\n requisite._disableControls();\r\n });\n return this;\r\n },\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\n\n /**\n * Π‘Π½ΡΡ‚ΡŒ Ρƒ всСх Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ² состояниС \"Волько Ρ‡Ρ‚Π΅Π½ΠΈΠ΅\".\n *\n * @method WebAccess.mixins.requisitesMixin._enable\n * @private\n * @since 5.0.0.7100\n * @return {WebAccess.mixins.requisitesMixin}\n */\n _enable: function () {\r\n var reqs = this.requisites.toArray();\n var parentTable = this._parentTable;\n if (parentTable) {\n var columns = parentTable.columns;\n reqs.forEach(function (requisite) {\n var reqName = requisite.name;\n var currentColumn = columns[reqName];\n if (!currentColumn.isDisabled()) {\n requisite._enableControls();\n }\n });\n } else {\n reqs.forEach(function (requisite) {\n requisite._enableControls();\n });\n }\n return this;\r\n },\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\n\n /**\n * Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΡ€ΠΈ ΠΈΠ½ΠΈΡ†Π°Π»ΠΈΡ†ΠΈΠΈ Ρ„ΠΎΡ€ΠΌΡ‹ - ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ всС Π²ΠΈΠ΄ΠΈΠΌΡ‹Π΅ \n * поля для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… доступ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° Ρ‡Ρ‚Π΅Π½ΠΈΠ΅.\n *\n * @method WebAccess.mixins.requisitesMixin._disableReadOnlyFields\n * @private\n * @since 5.0.0.7100\n * @return {WebAccess.mixins.requisitesMixin}\n */\n _disableReadOnlyFields: function () {\r\n var reqs = this.requisites.toArray();\n var parentTable = this._parentTable;\n if (parentTable) {\n var columns = parentTable.columns;\n reqs.forEach(function (requisite) {\n var reqName = requisite.name;\n var currentColumn = columns[reqName];\n if (currentColumn.isDisabled()) {\n requisite.disable();\n }\n });\n } else {\n reqs.forEach(function (requisite) {\n if (requisite.isDisabled()) requisite.enable();\n });\n }\n return this;\r\n },\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\n\n /**\n * Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ ΠΏΠΎ Π˜Π” элСмСнта управлСния.\n *\n * @method WebAccess.mixins.requisitesMixin.getRequisiteByControlId\n * @param {string} controlId Π˜Π” HTML-элСмСнта\n * @return {WebAccess.components.wrappers.form.requisites.BaseRequisite} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° ΠΈΠ»ΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ null, Ссли Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½.\n * @since 5.0.0.7100\n */\n getRequisiteByControlId: function (controlId) {\r\n var reqs = this.requisites.toArray();\n for (var reqI = 0; reqI < reqs.length; reqI++) {\r\n var req = reqs[reqI];\n for (var i = 0; i < req.controlsIds.length; i++) {\r\n if (controlId === req.controlsIds[i]) {\r\n return req;\r\n }\r\n }\r\n }\n return null;\r\n },\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\n\n /**\n * ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ измСнСния Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ².\n *\n * @method WebAccess.mixins.requisitesMixin.isChanged\n * @return {boolean} True – Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹ Π±Ρ‹Π»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ‹, ΠΈΠ½Π°Ρ‡Π΅ False.\n * @since 5.0.0.7100\n */\n isChanged: function () {\r\n var reqs = this.requisites.toArray();\n for (var reqI = 0; reqI < reqs.length; reqI++) {\r\n if (reqs[reqI].isChanged()) {\r\n return true;\r\n }\r\n }\n return false;\r\n }\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\n };\n\n global.requisitesMixin = requisitesMixin;\r\n})(window.WebAccess.mixins);","\"use strict\";\r\n\r\n/** \r\n* ΠšΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ².\r\n*\r\n* @class WebAccess.components.wrappers.form.RequisiteCollection\r\n* @extends WebAccess.Collection\r\n* @since 5.2.0.1900\r\n*/\r\n\r\n(function (global) {\r\n\r\n var RequisiteCollection = global.Collection.extend({\r\n className: 'RequisiteCollection',\r\n \r\n /**\r\n * Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ всСх Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ² Π² Π²ΠΈΠ΄Π΅ словоря.\r\n *\r\n * @method WebAccess.components.wrappers.form.RequisiteCollection.toDictionary\r\n * @return {Object} Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ всСх Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ².\r\n * @since 5.2.0.1900\r\n */\r\n toDictionary: function () {\r\n var resultDict = {};\r\n var reqs = this.toArray();\r\n for (var reqI = 0; reqI < reqs.length; reqI++) {\r\n resultDict[reqs[reqI].name] = reqs[reqI].getValue();\r\n }\r\n return resultDict;\r\n }\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n \r\n });\r\n\r\n global.components.wrappers.form.RequisiteCollection = RequisiteCollection;\r\n})(window.WebAccess);","\"use strict\";\r\n\r\n/**\r\n* Π‘Π°Π·ΠΎΠ²Ρ‹ΠΉ класс строк ΠΈ столбцов Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹. \r\n* Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ ΠΎΠ±Ρ‰ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹.\r\n* \r\n* @class WebAccess.components.wrappers.form.BaseTableLine\r\n* @abstract\r\n* @extends BaseObject\r\n* @param {string} itemSelector ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ элСмСнт страницы\r\n* @param {WebAccess.components.wrappers.form.Table} parentTable Π’Π°Π±Π»ΠΈΡ†Π°, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ‚ строка ΠΈΠ»ΠΈ столбСц\r\n*/\r\n(function (global) {\r\n\r\n var BaseTableLine = BaseObject.extend([global.mixins.requisitesMixin], {\r\n className: \"BaseTableLine\",\r\n\r\n _parentTable: null,\r\n _isDisabled: false,\r\n _jDataItems: null,\r\n\r\n init: function (itemSelector, parentTable) {\r\n var me = this;\r\n me._super(itemSelector);\r\n me._jObject = $(itemSelector);\r\n me._parentTable = parentTable;\r\n me._isDisabled = parentTable.isDisabled();\r\n },\r\n\r\n /**\r\n * ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ нСдоступности строки для измСнСния.\r\n *\r\n * @method WebAccess.components.wrappers.form.BaseTableLine#isDisabled\r\n * @return {boolean} True – строка доступна Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для чтСния , ΠΈΠ½Π°Ρ‡Π΅ False.\r\n */\r\n isDisabled: function () {\r\n return this._isDisabled;\r\n },\r\n\r\n /**\r\n * CΠ΄Π΅Π»Π°Ρ‚ΡŒ элСмСнт нСдоступным.\r\n * Π”Π΅Π»Π°Π΅Ρ‚ нСдоступными Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ Π² элСмСнт Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹. \r\n * Π Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°ΠΌ присваиваСтся Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ «Волько Ρ‡Ρ‚Π΅Π½ΠΈΠ΅Β».\r\n *\r\n * @method WebAccess.components.wrappers.form.BaseTableLine#disable\r\n * @return {WebAccess.components.wrappers.form.BaseTableLine} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° BaseTableLine.\r\n */\r\n disable: function () {\r\n this._disable();\r\n this._isDisabled = true;\r\n this.fire('disable');\r\n return this;\r\n },\r\n\r\n /**\r\n * CΠ΄Π΅Π»Π°Ρ‚ΡŒ элСмСнт доступным.\r\n * Π”Π΅Π»Π°Π΅Ρ‚ доступными Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ Π² элСмСнт Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹. Π‘ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ² убираСтся Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ «Волько Ρ‡Ρ‚Π΅Π½ΠΈΠ΅Β».\r\n *\r\n * @method WebAccess.components.wrappers.form.BaseTableLine#enable\r\n * @return {WebAccess.components.wrappers.form.BaseTableLine} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° BaseTableLine.\r\n */\r\n enable: function () {\r\n this._enable();\r\n this._isDisabled = false;\r\n this.fire('enable');\r\n return this;\r\n },\r\n\r\n /**\r\n * CΠΊΡ€Ρ‹Ρ‚ΡŒ элСмСнт.\r\n *\r\n * @method WebAccess.components.wrappers.form.BaseTableLine#hide\r\n * @return {WebAccess.components.wrappers.form.BaseTableLine} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° BaseTableLine.\r\n */\r\n //FIXME: Shabardin_PI: WA.CR.form.controls.tables.STcxGrid1.columns[\"НомБтр\"].hide() - большая ΠΏΠ΅Ρ‡Π°Π»ΡŒ с Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°ΠΌΠΈ ΠΈ с Ρ‚Π°Π±Π»ΠΈΡ†Π΅ΠΉ Π² Ρ†Π΅Π»ΠΎΠΌ ΠΏΡ€ΠΈ скрытии столбца.\r\n hide: function () {\r\n var me = this;\r\n _(me.requisites.toArray()).each(function (req) {\r\n req.hide();\r\n });\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠžΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ элСмСнт.\r\n *\r\n * @method WebAccess.components.wrappers.form.BaseTableLine#show\r\n * @return {WebAccess.components.wrappers.form.BaseTableLine} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° BaseTableLine.\r\n */\r\n show: function () {\r\n \r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π€ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅Ρ‚ ΠΏΠΎΠ»Π½ΠΎΠ΅ имя Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° - с Π½ΠΎΠΌΠ΅Ρ€ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·Π΄Π΅Π»Π° ΠΈ Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ строки Ρ‡Π΅Ρ€Π΅Ρ… символ $.\r\n * @method WebAccess.components.wrappers.form.BaseTableLine#_makeFullName\r\n * @private\r\n * @since 5.0.0.7100\r\n */\r\n _makeFullName: function (reqName, newRowNum) {\r\n return '' + this._parentTable.detailNum + '$' + newRowNum + '$' + reqName;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ относится строка.\r\n *\r\n * @method WebAccess.components.wrappers.form.BaseTableLine#getTable\r\n * @return {WebAccess.components.wrappers.form.Table} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° Table\r\n */\r\n getTable: function () {\r\n return this._parentTable;\r\n }\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n });\r\n\r\n global.components.wrappers.form.BaseTableLine = BaseTableLine;\r\n})(window.WebAccess);","\"use strict\";\r\n\r\n/**\r\n* Π‘Ρ‚Ρ€ΠΎΠΊΠ° Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹.\r\n* \r\n* @class WebAccess.components.wrappers.form.TableRow\r\n* @extends WebAccess.components.wrappers.form.BaseTableLine\r\n* @property {string} name Имя Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°\r\n* @property {string} selector ΠŸΡƒΡ‚ΡŒ Π² DOM-ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ Π³Ρ€ΡƒΠΏΠΏΡ‹, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ div.content#container\r\n* @param {string} itemSelector Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ элСмСнт страницы\r\n*/\r\n(function (global) {\r\n\r\n /**\r\n * Имя Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° \"НомСр строки\"\r\n */\r\n var ROW_NUMBER = {\r\n VALUE: L('DETAIL_REQ_NUMBER'),\r\n DISPLAY_VALUE: 'Field_' + L('DETAIL_REQ_NUMBER')\r\n }\r\n\r\n var TableRow = global.components.wrappers.form.BaseTableLine.extend({\r\n className: \"TableRow\",\r\n\r\n _rowID: null,\r\n _isNew: false,\r\n rowNum: -1,\r\n requisites: {},\r\n\r\n // Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ ΠΊΠΎΠ³Π΄Π° вся строка ΠΈΠ»ΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ° ΠΏΡ€ΠΎΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π°, Ρ‚.ΠΊ. значСния всСх Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ² Π΅ΡΡ‚ΡŒ.\r\n Init: null,\r\n // Массив Init для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° Π² Π²ΠΈΠ΄Π΅ Deffered ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².\r\n _reqValuesInit: null,\r\n\r\n init: function (itemSelector, rowNum, rowData, isNew, parentTable, grid) {\r\n var me = this;\r\n me._super(itemSelector, parentTable);\r\n\r\n me.Init = $.Deferred();\r\n me._reqValuesInit = [];\r\n\r\n var rowNumReq = rowData.requisitesData[ROW_NUMBER.VALUE];\r\n me.name = rowNumReq ? rowNumReq.value : rowNum;\r\n me.rowNum = rowNumReq ? +rowNumReq.value : +rowNum;\r\n\r\n me.id = me._rowID = +rowData.id;\r\n me._isNew = isNew;\r\n\r\n me.requisites = new global.components.wrappers.form.RequisiteCollection();\r\n var reqData = rowData.requisitesData;\r\n const columns = parentTable.columns; \r\n for (var reqName in reqData) {\r\n if (reqName === 'class') continue;\r\n\r\n var req = me._createRequisite(reqName, reqData[reqName], true, grid);\r\n req.fullName = me._makeFullName(reqName, me._rowID);\r\n req._isNew = isNew;\r\n\r\n if (me.isDisabled()) {\r\n req.disable();\r\n } else {\r\n // Если ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ° доступна для рСдактирования, Ρ‚ΠΎ сдСлаСм Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ доступным.\r\n const currentColumn = columns[reqName];\r\n if (currentColumn && !currentColumn.isDisabled()) {\r\n req.enable();\r\n } \r\n }\r\n\r\n req.bind(req['class'].EVENT.CHANGE, function () {\r\n me.fire(me['class'].EVENT.CHANGE);\r\n });\r\n\r\n me.requisites.addElement(reqName, req);\r\n }\r\n me._jDataItems = $('div[name=\"' + me.name + '\"]');\r\n\r\n // _reqValuesInit заполняСтся Π² Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠΌ классС requisitesMixin\r\n $.when.apply(null, me._reqValuesInit).then(function () {\r\n me.Init.resolve();\r\n });\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /** \r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ΠΏΡ€ΠΈΠ·Π½Π°ΠΊ, Ρ‡Ρ‚ΠΎ запись новая\r\n * @method WebAccess.components.wrappers.form.TableRow#isNew\r\n * @return {boolean} ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ, Ρ‡Ρ‚ΠΎ запись новая\r\n * @since 5.2.0.1300\r\n */\r\n isNew: function () {\r\n return this._isNew;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π˜Π” строки.\r\n *\r\n * @method WebAccess.components.wrappers.form.TableRow#getRowId\r\n * @since 5.0.0.7100\r\n * @return {integer} Π˜Π” строки Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·Π΄Π΅Π»Π°.\r\n */\r\n getRowId: function () {\r\n return this._rowID;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ значСния всСх Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ² для ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ Π½Π° сСрвСр.\r\n * @method WebAccess.components.wrappers.form.TableRow#_getActualValues\r\n * @private\r\n * @since 5.0.0.7100\r\n */\r\n _getActualValues: function () {\r\n var me = this;\r\n var tbl = me._parentTable._jObject;\r\n var row = me._jObject;\r\n var rowId = me._rowID;\r\n\r\n var res = {};\r\n var reqs = this.requisites.toArray();\r\n for (var reqI = 0; reqI < reqs.length; reqI++) {\r\n var req = reqs[reqI];\r\n if (req.isChanged() || req.isNew() || (req._data.type === 'pick' && req.isRequired() && req.isRendered())) {\r\n res[me._makeFullName(req.name, rowId)] = req.getValue();\r\n }\r\n };\r\n\r\n //Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ скрытыС Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹.\r\n if (row.data('hiddenRequisites')) {\r\n // ΠœΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΡƒΠ΅ΠΌ отправляСмыС Π΄Π°Π½Π½Ρ‹Π΅ с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ Π˜Π” строк.\r\n var modHiddReqs = {};\r\n var hiddReqs = row.data('hiddenRequisites');\r\n for (var fullReqName in hiddReqs) {\r\n if (fullReqName.indexOf('$') !== -1) {\r\n var reqNameParts = fullReqName.split('$');\r\n if (reqNameParts.length === 3) {\r\n modHiddReqs[me._makeFullName(reqNameParts[2], rowId)] = hiddReqs[fullReqName];\r\n }\r\n }\r\n };\r\n $.extend(res, modHiddReqs);\r\n }\r\n\r\n return res;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π£Π΄Π°Π»ΠΈΡ‚ΡŒ строку.\r\n *\r\n * @method WebAccess.components.wrappers.form.TableRow#remove\r\n * @return {WebAccess.components.wrappers.form.TableRow} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° TableRow.\r\n * @since 5.0.0.7100\r\n */\r\n remove: function () {\r\n this._parentTable.deleteRow(this._rowID, true);\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π‘Π΄Π΅Π»Π°Ρ‚ΡŒ строку нСдоступной для измСнСния.\r\n *\r\n * @method WebAccess.components.wrappers.form.TableRow#disable\r\n * @return {WebAccess.components.wrappers.form.TableRow} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° TableRow.\r\n */\r\n disable: function () {\r\n this._super();\r\n\r\n //Π‘Π»ΠΎΠΊΠΈΡ€ΡƒΠ΅ΠΌ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹ Π² строкС.\r\n let reqs = this.requisites.toArray();\r\n reqs.forEach((req) => {\r\n req.disable();\r\n });\r\n\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π”Π΅Π»Π°Π΅Ρ‚ Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ, доступными для измСнСния всС Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹ строки.\r\n * @method WebAccess.components.wrappers.form.TableRow#enable\r\n * @return WebAccess.components.wrappers.form.TableRow\r\n */\r\n enable: function () {\r\n this._super();\r\n\r\n //Π Π°Π·Π±Π»ΠΎΠΊΠΈΡ€ΡƒΠ΅ΠΌ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹ Π² строкС.\r\n let reqs = this.requisites.toArray();\r\n reqs.forEach((req) => {\r\n req.enable();\r\n });\r\n\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹ записи Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·Π΄Π΅Π»Π°.\r\n * \r\n * @method WebAccess.components.wrappers.form.TableRow#getRequisites\r\n * @return {WebAccess.components.wrappers.form.RequisiteCollection} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° RequisiteCollection.\r\n * @since 5.0.0.7100\r\n */\r\n getRequisites: function () {\r\n return this.requisites;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚, Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Ρ‹ Π»ΠΈ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹ строки, ΠΊΡ€ΠΎΠΌΠ΅ систСмых.\r\n * \r\n * @method WebAccess.components.wrappers.form.TableRow#hasFilledRequisites\r\n * @return {boolean} True – Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Ρ‹ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹ строки, ΠΊΡ€ΠΎΠΌΠ΅ систСмных, ΠΈΠ½Π°Ρ‡Π΅ – False.\r\n * @since 5.5.0.1000\r\n */\r\n hasFilledRequisites: function () {\r\n var reqs = this.requisites.toArray();\r\n return reqs.some(function (req) {\r\n var reqVal = req.getValue();\r\n return !req.isSystem() && typeof reqVal !== 'undefined' && reqVal !== '' && reqVal !== null; // 0 - это Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.\r\n });\r\n }\r\n\r\n },\r\n {\r\n EVENT: {\r\n /**\r\n * Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ срабатываСт Ссли Π΄Π°Π½Π½Ρ‹Π΅ Π² строкС Π±Ρ‹Π»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ‹.\r\n *\r\n * @event WebAccess.components.wrappers.form.TableRow.EVENT.CHANGE\r\n * @param {object} context ссылка Π½Π° экзСмпляр класса\r\n * @since 5.5.0.2201\r\n */\r\n CHANGE: 'change'\r\n //-------------------------------------------------------------------//\r\n }\r\n });\r\n\r\n global.components.wrappers.form.TableRow = TableRow;\r\n})(window.WebAccess);","\"use strict\";\r\n\r\n/**\r\n* Колонка Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹.\r\n* \r\n* @class WebAccess.components.wrappers.form.TableColumn\r\n* @extends BaseObject\r\n* @property {string} reqName Имя Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°.\r\n* @property {WebAccess.components.wrappers.form.Table} parentTable Π’Π°Π±Π»ΠΈΡ†Π°, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ‚ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°.\r\n* @param {number} num НомСр Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·Π΄Π΅Π»Π°.\r\n*/\r\n(function (global) {\r\n\r\n var TableColumn = BaseObject.extend({\r\n className: \"TableColumn\",\r\n\r\n reqName: '',\r\n _parentTable: null,\r\n _isDisabled: null,\r\n _isRendered: null,\r\n _isVisible: null,\r\n _isSystem: null,\r\n _isCanGUIRead: null,\r\n number: null,\r\n dfmName: '',\r\n\r\n init: function (reqName, parentTable, num) {\r\n var me = this;\r\n me._super();\r\n me.name = reqName;\r\n me.reqName = reqName;\r\n me._parentTable = parentTable;\r\n me.number = num;\r\n\r\n // ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΌΠ΅Ρ‚Π°ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΏΠΎ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ΅\r\n var currentColumnMetadata = me._parentTable.getColumnMetadata(me.reqName);\r\n\r\n me.dfmName = currentColumnMetadata.DFMName;\r\n\r\n // Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ свойства измСняСмости ΠΈ доступности\r\n me._isDisabled = currentColumnMetadata.IsReadOnly;\r\n me._isVisible = currentColumnMetadata.IsVisible;\r\n me._isSystem = currentColumnMetadata.IsSystem;\r\n me._isRendered = currentColumnMetadata.IsRendered;\r\n me._isCanGUIRead = currentColumnMetadata.IsCanGUIRead;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ чтСния значСния Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°.\r\n *\r\n * @method WebAccess.components.wrappers.form.TableColumn#getCanGUIRead\r\n * @return {boolean} True – Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° отобраТаСтся, ΠΈΠ½Π°Ρ‡Π΅ False.\r\n */\r\n getCanGUIRead: function() {\r\n return this._isCanGUIRead;\r\n },\r\n\r\n /**\r\n * УстанавливаСт Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ чтСния значСния Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°.\r\n * Π’ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ° Π½Π΅ мСняСтся, Ρ‚.ΠΊ. ΠΏΡ€ΠΈ установкС значСния Π² True Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ\r\n * ΠΏΠΎΠ»ΡƒΡ‡Π°Ρ‚ΡŒ ΠΈ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ значСния ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строки Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹.\r\n *\r\n * @method WebAccess.components.wrappers.form.TableColumn#setCanGUIRead\r\n\t* @param {boolean} value Π’ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ чтСния значСния Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°.\r\n */\r\n setCanGUIRead: function(value) {\r\n this._isCanGUIRead = value;\r\n },\r\n\r\n /**\r\n * ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ нСдоступности ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ для измСнСния.\r\n *\r\n * @method WebAccess.components.wrappers.form.TableColumn#isDisabled\r\n * @return {boolean} True – ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ° доступна Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для чтСния, ΠΈΠ½Π°Ρ‡Π΅ False.\r\n */\r\n isDisabled: function () {\r\n return this._isDisabled;\r\n },\r\n\r\n /**\r\n * ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ видимости ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ.\r\n *\r\n * @method WebAccess.components.wrappers.form.TableColumn#isVisible\r\n * @return {boolean} True – ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ° отобраТаСтся, ΠΈΠ½Π°Ρ‡Π΅ False.\r\n */\r\n isVisible: function () {\r\n return this._isVisible;\r\n },\r\n\r\n /**\r\n * ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ, Ρ‡Ρ‚ΠΎ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ систСмный.\r\n *\r\n * @method WebAccess.components.wrappers.form.TableColumn#isSystem\r\n * @return {boolean} True – Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ систСмный, ΠΈΠ½Π°Ρ‡Π΅ False.\r\n */\r\n isSystem: function () {\r\n return this._isSystem;\r\n },\r\n\r\n /**\r\n * ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ наличия ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Π² спискС Π²ΠΈΠ΄ΠΈΠΌΡ‹Ρ….\r\n *\r\n * @method WebAccess.components.wrappers.form.TableColumn#isRendered\r\n * @return {boolean} True – ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ° вынСсСна Π½Π° Ρ„ΠΎΡ€ΠΌΡƒ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π΅ Ρ„ΠΎΡ€ΠΌ, ΠΈΠ½Π°Ρ‡Π΅ False.\r\n */\r\n isRendered: function () {\r\n return this._isRendered;\r\n },\r\n\r\n /**\r\n * Π”Π΅Π»Π°Π΅Ρ‚ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ нСдоступной для измСнСния.\r\n *\r\n * @method WebAccess.components.wrappers.form.TableColumn#disable\r\n * @return {WebAccess.components.wrappers.form.TableColumn} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° TableColumn.\r\n */\r\n disable: function () {\r\n var me = this;\r\n var rows = me._parentTable.rows.toArray();\r\n rows.forEach(function (currentRow) {\r\n currentRow.requisites[me.reqName].disable();\r\n });\r\n me._isDisabled = true;\r\n return me;\r\n },\r\n\r\n /**\r\n * Π”Π΅Π»Π°Π΅Ρ‚ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ доступной для измСнСния.\r\n *\r\n * @method WebAccess.components.wrappers.form.TableColumn#enable\r\n * @return {WebAccess.components.wrappers.form.TableColumn} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° TableColumn.\r\n */\r\n enable: function () {\r\n var me = this;\r\n var rows = me._parentTable.rows.toArray();\r\n rows.forEach(function (currentRow) {\r\n currentRow.requisites[me.reqName].enable();\r\n });\r\n me._isDisabled = false;\r\n return me;\r\n },\r\n\r\n /**\r\n * Π‘ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ.\r\n *\r\n * @method WebAccess.components.wrappers.form.TableColumn#hide\r\n * @return {WebAccess.components.wrappers.form.TableColumn} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° TableColumn.\r\n */\r\n hide: function () {\r\n if (this._isRendered) {\r\n this._parentTable._grid.hideColumn(this.reqName);\r\n this._isVisible = false;\r\n }\r\n return this;\r\n },\r\n\r\n /**\r\n * ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ.\r\n *\r\n * @method WebAccess.components.wrappers.form.TableColumn#show\r\n * @return {WebAccess.components.wrappers.form.TableColumn} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° TableColumn.\r\n */\r\n show: function () {\r\n var me = this;\r\n if (me._isRendered) {\r\n var index = 0;\r\n var parentGrid = me._parentTable._grid;\r\n parentGrid._columns.some(function (currentColumn) {\r\n if (currentColumn.id === me.reqName) {\r\n index = currentColumn.index;\r\n return true;\r\n }\r\n return false;\r\n });\r\n parentGrid.showColumn(me.reqName, index);\r\n me._isVisible = true;\r\n }\r\n return me;\r\n },\r\n\r\n /**\r\n * Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ относится ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°.\r\n *\r\n * @method WebAccess.components.wrappers.form.TableColumn#getTable\r\n * @return {WebAccess.components.wrappers.form.Table} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° Table.\r\n */\r\n getTable: function () {\r\n return this._parentTable;\r\n }\r\n });\r\n\r\n global.components.wrappers.form.TableColumn = TableColumn;\r\n})(window.WebAccess);","\"use strict\";\r\n\r\n\r\n/**\r\n * Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ срабатываСт послС удалСния строки Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹.\r\n * @param {integer} rowNum НомСр ΡƒΠ΄Π°Π»Π΅Π½Π½ΠΎΠΉ строки.\r\n * @event WebAccess.current.form.controls.tables.TableName#deleteRow\r\n */\r\n\r\n/**\r\n * Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ срабатываСт послС скрытия Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹.\r\n * @event WebAccess.current.form.controls.tables.TableName#hide\r\n */\r\n\r\n/**\r\n * Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ срабатываСт послС отобраТСния Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹.\r\n * @event WebAccess.current.form.controls.tables.TableName#show\r\n */\r\n\r\n/**\r\n * Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ срабатываСт послС Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹.\r\n * @event WebAccess.current.form.controls.tables.TableName#enable\r\n */\r\n\r\n/**\r\n * Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ срабатываСт послС ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹.\r\n * @event WebAccess.current.form.controls.tables.TableName#disable\r\n */\r\n\r\n/**\r\n * Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ срабатываСт послС добавлСния ΠΈΠ»ΠΈ удалСния строки Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹.\r\n * @event WebAccess.current.form.controls.tables.TableName#change\r\n */\r\n\r\n(function (global) {\r\n\r\n /**\r\n * ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ для сохранСния ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.\r\n * @inner\r\n */\r\n var COMMAND = {\r\n ADD_ROW: 1,\r\n DELETE_ROW: 2\r\n };\r\n\r\n /** \r\n * Имя Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° \"НомСр строки\"\r\n * @inner\r\n */\r\n var ROW_NUMBER = {\r\n VALUE: L('DETAIL_REQ_NUMBER'),\r\n DISPLAY_VALUE: 'Field_' + L('DETAIL_REQ_NUMBER')\r\n }\r\n\r\n /**\r\n * Класс для хранСния списка столбцов Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΈ \r\n * прСдоставлСния ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π½ΠΈΠΌΠΈ. \r\n * @class ColumnsCollection\r\n * @extends BaseTableCollection\r\n */\r\n var ColumnsCollection = WebAccess.Collection.extend({\r\n className: \"ColumnsCollection\",\r\n\r\n /**\r\n * Π ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠ°Ρ Ρ‚Π°Π±Π»ΠΈΡ†Π°.\r\n * @property ColumnsCollection#_parentTable //\r\n * @private\r\n * @since 5.0.0.7100\r\n */\r\n _parentTable: null,\r\n _data: null,\r\n _isChanged: false,\r\n\r\n init: function (colsData, parentTable, grid) {\r\n var me = this;\r\n me._super();\r\n me._parentTable = parentTable;\r\n me._data = colsData;\r\n var num = 0;\r\n for (var reqName in colsData) {\r\n me.addElement(reqName, me._createTableColumn(reqName, null, num));\r\n num++;\r\n }\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n /**\r\n * Π‘ΠΎΠ·Π΄Π°Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ.\r\n * @method ColumnsCollection#_createTableColumn\r\n * @private\r\n * @since 5.0.0.7100\r\n */\r\n _createTableColumn: function (reqName, isDisabled, num) {\r\n var newCol = new WebAccess.components.wrappers.form.TableColumn(reqName, this._parentTable, num);\r\n if (isDisabled) {\r\n newCol.disable();\r\n }\r\n return newCol;\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ список Π²ΠΈΠ΄ΠΈΠΌΡ‹Ρ… ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹.\r\n * @method ColumnsCollection#getVisibleColumns\r\n * @return {object} Массив TableColumn.\r\n\t* @since 5.5.0.1007\r\n */\r\n getVisibleColumns: function () {\r\n return this._arr.filter(function (column) {\r\n return column.isVisible;\r\n });\r\n }\r\n });\r\n //-----------------------------------------------------------------------//\r\n\r\n /**\r\n * Класс для хранСния списка строк Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΈ \r\n * прСдоставлСния ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠ² для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π½ΠΈΠΌΠΈ. \r\n * @class RowsCollection\r\n * @extends BaseTableCollection\r\n */\r\n var RowsCollection = WebAccess.Collection.extend({\r\n className: \"RowsCollection\",\r\n\r\n /**\r\n * Π ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠ°Ρ Ρ‚Π°Π±Π»ΠΈΡ†Π°.\r\n * @method RowsCollection#_parentTable\r\n * @private\r\n * @since 5.0.0.7100\r\n */\r\n _parentTable: null,\r\n Init: null,\r\n //---------------------------------------------------------------------//\r\n\r\n init: function (rowsData, parentTable, grid) {\r\n var me = this;\r\n me._super();\r\n me._grid = grid;\r\n me._parentTable = parentTable;\r\n\r\n me.Init = $.Deferred();\r\n var rowsInit = [];\r\n\r\n for (var rowId in rowsData) {\r\n var currentRow = me._addRow(rowId, rowsData[rowId], false);\r\n rowsInit.push(currentRow.Init);\r\n }\r\n\r\n $.when.apply(null, rowsInit).then(function () {\r\n me.Init.resolve();\r\n });\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n /**\r\n * ДобавляСт Π½ΠΎΠ²ΡƒΡŽ строку Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ.\r\n * @method RowsCollection#_addRow\r\n * @return {object} Π‘Ρ‚Ρ€ΠΎΠΊΠ° Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·Π΄Π΅Π»Π°.\r\n * @private\r\n * @since 5.0.0.7100\r\n */\r\n _addRow: function (rowID, rowData, isNew) {\r\n var me = this;\r\n var parentTableSelector = me._parentTable.selector;\r\n var row = new WebAccess.components.wrappers.form.TableRow(parentTableSelector + ' #' + rowID, rowID, rowData, isNew, me._parentTable, me._grid);\r\n me.addElement(rowID, row);\r\n return row;\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n /**\r\n * УдаляСт строку ΠΈΠ· ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ.\r\n * @method RowsCollection#_deleteRow\r\n * @private\r\n * @since 5.0.0.7100\r\n */\r\n _deleteRow: function (rowID) {\r\n this.deleteElement(rowID);\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n /**\r\n * УдаляСт строку Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·Π΄Π΅Π»Π°.\r\n * @method RowsCollection#deleteRow\r\n * @private\r\n * @since 5.0.0.7100\r\n */\r\n deleteRow: function (rowNum) {\r\n this._parentTable.deleteRow(rowNum);\r\n return this;\r\n }\r\n //---------------------------------------------------------------------//\r\n });\r\n //-----------------------------------------------------------------------//\r\n\r\n /**\r\n * Π’Π°Π±Π»ΠΈΡ†Π°. \r\n * \r\n * @class WebAccess.components.wrappers.form.Table\r\n * @extends BaseObject\r\n * @param {string} itemSelector CΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ элСмСнт страницы\r\n * @param {object} formData Π”Π°Π½Π½Ρ‹Π΅ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ² Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹\r\n * @property {string} name Имя Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹\r\n * @property {string} selector ΠŸΡƒΡ‚ΡŒ ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ Π³Ρ€ΡƒΠΏΠΏΡ‹ Π² DOM-ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ\r\n * @property {integer} detailNum НомСр Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·Π΄Π΅Π»Π°\r\n * @property {integer} detailName НомСр Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·Π΄Π΅Π»Π° Π² строковом прСдставлСнии. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠΉ, оставлСн для совмСстимости с Ρ€Π°Π½Π½ΠΈΠΌΠΈ вСрсиями\r\n * @property {integer} rows Π‘Ρ‚Ρ€ΠΎΠΊΠ° Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹\r\n * @property {integer} columns Колонка Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹\r\n * @property {string} parentTabName Имя Π·Π°ΠΊΠ»Π°Π΄ΠΊΠΈ, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ располагаСтся элСмСнт\r\n * @example \r\n * WA.CR.form.controls.tables.STcxGrid1.addRow({'ISBCoordX':{value:1, displayValue:'1'}})\r\n */\r\n var Table = BaseObject.extend({\r\n className: \"Table\",\r\n\r\n _grid: null,\r\n _uid: 0,\r\n _isDisabled: false,\r\n _currentForm: null,\r\n _columnsMetadata: {},\r\n _gridColumnsMetadata: {},\r\n\r\n detailNum: -1,\r\n detailName: \"\", //ΠžΡΡ‚Π°Π²Π»Π΅Π½ΠΎ для совмСстимости.\r\n rows: null,\r\n columns: null,\r\n parentTabName: null,\r\n _data: null,\r\n _hasPendingOperation: null, //для ограничСния ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ отправляСмых запросов Π½Π° сСрвСр\r\n Init: null, // Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ Ρ‚Π°Π±Π»ΠΈΡ†Π° ΠΏΡ€ΠΎΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π°\r\n\r\n serviceURL: '/CardForm.asmx',\r\n\r\n _objectLink: null,\r\n _objectView: null,\r\n //---------------------------------------------------------------------//\r\n\r\n init: function (itemSelector, params) {\r\n \r\n this.Init = $.Deferred();\r\n\r\n this._currentForm = params.current.form;\r\n\r\n this.serviceURL = params.serviceURL || '/CardForm.asmx';\r\n this._objectLink = params.objectLink || $.toJSON(new WA.Link().toLinkModel());\r\n\r\n this._objectView = params.objectView;\r\n if (!this._objectView && this._objectView !== '') { //ΠŸΡƒΡΡ‚Π°Ρ строка считаСтся Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ΠΌ.\r\n this._objectView = WA.CR.getReferenceView();\r\n }\r\n\r\n this._hasPendingOperation = {\r\n 'addRow': false,\r\n 'copyRow': false,\r\n 'deleteRow': false\r\n };\r\n\r\n if (!params.formData) return;\r\n this._super(params.formData);\r\n this._data = params.formData;\r\n\r\n\r\n this._jObject = $(itemSelector);\r\n\r\n this.parentTabName = this._jObject.parents('.CardForm_Tab').data('dfmName');\r\n\r\n this.name = this._jObject.attr(\"id\");\r\n\r\n this._grid = params.grids[this.name];\r\n this._grid.setTable(this);\r\n\r\n this.selector = \"#\" + this.name;\r\n\r\n this.detailNum = +this._jObject.data('detailSectionNumber');\r\n\r\n this.detailName = '' + this.detailNum; //ΠžΡΡ‚Π°Π²Π»Π΅Π½ΠΎ для совмСстимости.\r\n this._isDisabled = this._data.isreadonly || this._jObject.data('readonly');\r\n this._uid = 0;\r\n\r\n // Если Π½Π΅Ρ‚ Π²ΠΊΠ»Π°Π΄ΠΎΠΊ, ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ.ColumnsCollection\r\n this._initColumns()\r\n this._initRows();\r\n\r\n $.when(this.rows.Init).then(() => {\r\n // Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ измСнСния строки\r\n var tableRows = this.rows.toArray();\r\n tableRows.forEach((row) => {\r\n row.bind(row.class.EVENT.CHANGE, () => {\r\n this.fire(this.class.EVENT.CHANGE);\r\n });\r\n });\r\n\r\n this.bind(this.class.EVENT.ROW_ADDED, (newRow) => {\r\n newRow.bind(newRow.class.EVENT.CHANGE, () => {\r\n this.fire(this.class.EVENT.CHANGE);\r\n });\r\n });\r\n\r\n this.Init.resolve(); \r\n });\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n _initColumns: function () {\r\n var me = this;\r\n me._columnsMetadata = me.getColumnsMetadata();\r\n me._gridColumnsMetadata = {};\r\n\r\n // ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°Ρ…\r\n me._columnsMetadata.forEach(function (currentColumn) {\r\n var reqName = currentColumn.Name;\r\n me._gridColumnsMetadata[reqName] = {\r\n fieldName: \"Field_\" + reqName,\r\n isVisible: currentColumn.IsVisible,\r\n isReadOnly: currentColumn.IsReadOnly,\r\n type: requisiteTypeToString(currentColumn.Type),\r\n isRequired: currentColumn.IsRequired,\r\n hasCalculation: currentColumn.HasCalculation,\r\n isSystem: currentColumn.IsSystem\r\n }\r\n });\r\n\r\n me.columns = new ColumnsCollection(me._gridColumnsMetadata, me, me._grid);\r\n },\r\n\r\n _initRows: function () {\r\n var me = this;\r\n var rows = me._grid.dataView.getItems() || [];\r\n var rowsData = me._makeRowsData(rows);\r\n me.rows = new RowsCollection(rowsData, me, me._grid);\r\n me.fire(me['class'].EVENT.DATA_RELOADED, me);\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n _makeEmptyRow: function (id, opt_row) {\r\n var me = this;\r\n var row = _(me.columns).mapObject(function (val, key) { return '' });\r\n if (opt_row) $.extend(row, opt_row);\r\n row.id = id;\r\n return row;\r\n },\r\n\r\n //---------------------------------------------------------------------//\r\n\r\n /**\r\n * Π‘ΠΎΠ·Π΄Π°Π΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅ для построСния Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ² Π½ΠΎΠ²ΠΎΠΉ строки\r\n * @private\r\n */\r\n _makeRowsData: function (rows) {\r\n var me = this;\r\n var rowsMetadata = {};\r\n \r\n for (var i = 0; i < rows.length; i++) {\r\n var rowId = rows[i]['id'];\r\n me._columnsMetadata.forEach(function (columnMetadata) {\r\n var columnRequisiteName = columnMetadata.Name;\r\n\r\n var gridColumnMetadata = me._gridColumnsMetadata[columnRequisiteName];\r\n var currentColumn = me.columns[columnRequisiteName];\r\n var requisiteMetadata = {\r\n row_id: rowId,\r\n fieldName: gridColumnMetadata.fieldName,\r\n value: rows[i][columnRequisiteName],\r\n displayValue: rows[i][gridColumnMetadata.fieldName],\r\n isVisible: currentColumn.isVisible(),\r\n isReadOnly: currentColumn.isDisabled() || me.isDisabled(),\r\n type: gridColumnMetadata.type,\r\n isRequired: gridColumnMetadata.isRequired,\r\n hasCalculation: gridColumnMetadata.hasCalculation,\r\n isSystem: gridColumnMetadata.isSystem\r\n };\r\n\r\n if (!rowsMetadata[rowId]) {\r\n rowsMetadata[rowId] = {\r\n id: rowId,\r\n requisitesData: {}\r\n };\r\n }\r\n rowsMetadata[rowId]['requisitesData'][columnRequisiteName] = requisiteMetadata;\r\n });\r\n }\r\n\r\n return rowsMetadata;\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n /**\r\n * БбрасываСт Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ с ячСйки.\r\n * @method WebAccess.components.wrappers.form.Table#resetActiveCell\r\n\t* @since 5.0.0.2706\r\n */\r\n resetActiveCell: function () {\r\n var me = this;\r\n var grid = me._grid.grid;\r\n var activeCell = grid.getActiveCell();\r\n if (activeCell) {\r\n grid.resetActiveCell();\r\n }\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n /**\r\n * ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ измСнСния Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ² Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹.\r\n * @since 5.0.0.7100\r\n * @method WebAccess.components.wrappers.form.Table#isChanged\r\n * @return {boolean} True – Ρ‚Π°Π±Π»ΠΈΡ†Π° Π±Ρ‹Π»Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π°, ΠΈΠ½Π°Ρ‡Π΅ False.\r\n */\r\n isChanged: function () {\r\n if (this._isChanged === true) return true;\r\n var rows = this.rows.toArray();\r\n for (var i = 0; i < rows.length; i++) {\r\n if (rows[i].isChanged()) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n /**\r\n * ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ нСдоступности Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ² Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹.\r\n * @method WebAccess.components.wrappers.form.Table#isDisabled\r\n * @return {boolean} True, Ссли Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π½Π΅ доступны для измСнСния, ΠΈΠ½Π°Ρ‡Π΅ False.\r\n * @since 5.0.0.7100\r\n */\r\n isDisabled: function () {\r\n return this._isDisabled;\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠΎ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°ΠΌ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹.\r\n * @method WebAccess.components.wrappers.form.Table#getColumnsMetadata\r\n * @return {object} Бписок ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² с ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΎ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ°Ρ….\r\n */\r\n getColumnsMetadata: function () {\r\n return this._jObject.data('columns');\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠΎ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹.\r\n * @method WebAccess.components.wrappers.form.Table#getColumnMetadata\r\n * @param {string} columnName Имя ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΏΠΎΠ»ΡƒΡ‡Π°ΡŽΡ‚ΡΡ ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅.\r\n * @return {object} ΠœΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠΎ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ΅.\r\n */\r\n getColumnMetadata: function (columnName) {\r\n if (columnName) {\r\n var columnsMetadata = this.getColumnsMetadata();\r\n var columnMetadata = columnsMetadata.filter(function (item) {\r\n return item.Name === columnName;\r\n });\r\n if (columnMetadata.length > 0) return columnMetadata[0];\r\n }\r\n return;\r\n },\r\n\r\n /**\r\n * Π‘ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ.\r\n * @method WebAccess.components.wrappers.form.Table#hide\r\n * @fires WebAccess.components.wrappers.form.Table#hide\r\n * @return {WebAccess.components.wrappers.form.Table} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° Table.\r\n */\r\n hide: function () {\r\n this._jObject.css('visibility', 'hidden');\r\n this.fire('hide');\r\n return this;\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n /**\r\n * ΠžΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ.\r\n * @method WebAccess.components.wrappers.form.Table#show\r\n * @fires WebAccess.components.wrappers.form.Table#show\r\n * @return {WebAccess.components.wrappers.form.Table} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° Table.\r\n */\r\n show: function () {\r\n this._jObject.css('visibility', 'visible');\r\n this.fire('show');\r\n return this;\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n /**\r\n * Π‘Π΄Π΅Π»Π°Ρ‚ΡŒ доступными Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹.\r\n * @method WebAccess.components.wrappers.form.Table#enable\r\n * @fires WebAccess.components.wrappers.form.Table#enable\r\n * @return {WebAccess.components.wrappers.form.Table} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° Table.\r\n */\r\n enable: function () {\r\n var me = this;\r\n var rows = me.rows.toArray();\r\n for (var i = 0; i < rows.length; i++) {\r\n rows[i].enable();\r\n }\r\n me._isDisabled = false;\r\n me.fire('enable');\r\n return me;\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n /**\r\n * Π‘Π΄Π΅Π»Π°Ρ‚ΡŒ нСдоступными Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹.\r\n * @method WebAccess.components.wrappers.form.Table#disable\r\n * @fires WebAccess.components.wrappers.form.Table#disable\r\n * @return {WebAccess.components.wrappers.form.Table} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° Table.\r\n */\r\n disable: function () {\r\n var me = this;\r\n var rows = me.rows.toArray();\r\n for (var i = 0; i < rows.length; i++) {\r\n rows[i].disable();\r\n }\r\n me._isDisabled = true;\r\n me.fire('disable');\r\n return me;\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ столбцы Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹. \r\n * Π‘Ρ‚ΠΎΠ»Π±Ρ†Ρ‹ Π² Π΄Π°Π½Π½ΠΎΠΌ случаС – ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Ρ‚ΠΈΠΏΠ° TableColumn.\r\n *\r\n * @method WebAccess.components.wrappers.form.Table#getColumns\r\n * @see Column\r\n * @see ColumnsCollection\r\n * @return {ColumnsCollection} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° ColumnsCollection.\r\n */\r\n getColumns: function () {\r\n return this.columns;\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n /** \r\n * ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ строки\r\n * @private \r\n */\r\n _updateRowID: function (oldId, newId) {\r\n var me = this;\r\n var dataView = me._grid.dataView;\r\n var row = dataView.getItemById(oldId);\r\n if (!row) return this;\r\n\r\n row.id = newId;\r\n this.rows.deleteElement(oldId)\r\n dataView.deleteItem(oldId)\r\n dataView.addItem(row);\r\n var rowsData = me._makeRowsData([row]);\r\n this.rows._addRow(newId, rowsData[newId], false);\r\n return this;\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ строки Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹. \r\n * Π‘Ρ‚Ρ€ΠΎΠΊΠΈ Π² Π΄Π°Π½Π½ΠΎΠΌ случаС – ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Ρ‚ΠΈΠΏΠ° TableRow.\r\n *\r\n * @method WebAccess.components.wrappers.form.Table#getRows\r\n * @see Row\r\n * @see RowsCollection\r\n * @return {Object} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ содСрТащий строки Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹. ΠšΠ»ΡŽΡ‡ΠΎΠΌ являСтся Π½ΠΎΠΌΠ΅Ρ€ строки. Π’Π°ΠΊΠΆΠ΅ Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅ Π΅ΡΡ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ count, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°ΡŽΡ‰ΠΈΠΉ количСство строк.\r\n * @deprecated since 5.0.0.7100\r\n */\r\n getRows: function () {\r\n var me = this;\r\n var resultRowsByName = {};\r\n var rows = me.rows.toArray();\r\n for (var rowI = 0; rowI < rows.length; rowI++) {\r\n resultRowsByName[rows[rowI].name] = rows[rowI];\r\n }\r\n resultRowsByName['count'] = function () {\r\n return me.rows.count();\r\n };\r\n return resultRowsByName;\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n _getGeneratedRow: function (isBuilderEventsSupported, opt_requisiteValues, opt_sync) {\r\n var me = this;\r\n me._uid -= 1;\r\n\r\n var newRowNumber = me._getNextRowNumber();\r\n\r\n var result = $.Deferred();\r\n\r\n if (isBuilderEventsSupported) {\r\n me._hasPendingOperation['addRow'] = true;\r\n\r\n me._sendRequest('CreateTableRow', {\r\n Obj: me._objectLink,\r\n Requisites: opt_requisiteValues || {},\r\n View: me._objectView,\r\n DetailNum: me.detailNum,\r\n Number: newRowNumber\r\n }, opt_sync).done(function (data) {\r\n if (data !== \"\") {\r\n data = $.parseJSON(data);\r\n \r\n result.resolve(data);\r\n }\r\n }).fail(function (errorMessage, response) {\r\n // Π’ ΠΎΡ‚Π²Π΅Ρ‚Π΅ с ошибкой ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΈΠΉΡ‚ΠΈ измСнСния Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ² ΠΈ ΠΈΡ… Π½Π°Π΄ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ.\r\n if (response && response.Result) {\r\n var data = $.parseJSON(response.Result);\r\n result.reject(data);\r\n }\r\n }).always(function () {\r\n me._hasPendingOperation['addRow'] = false;\r\n });\r\n } else {\r\n // Π—Π΄Π΅ΡΡŒ Π½Π°ΠΌ Π½ΡƒΠΆΠ½Ρ‹ всС Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹, ΠΈΠ½Π°Ρ‡Π΅ ΠΏΠΎΡ‚ΠΎΠΌ Π² случаС ошибки \r\n // ΠΌΡ‹ Π½Π΅ смоТСм ΠΏΠΎΠ»Π½ΠΎΡ†Π΅Π½Π½ΠΎ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ эту строку Π² ΠΌΠ΅Ρ‚ΠΎΠ΄Π΅ updateRowID\r\n var row = me.columns.toArray()\r\n .filter(function (col) { return !col.isSystem(); }) //пропускаСм систСмныС Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹, Ρ‚.ΠΊ. ΠΈΡ… нСльзя ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Ρ‚ΡŒ.\r\n .reduce(function (prev, curr) { prev[curr.name] = null; return prev; }, {}); // ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅ΠΌ массив ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° {colName1: null, ...}\r\n\r\n row.id = me._uid;\r\n row[ROW_NUMBER.VALUE] = row[ROW_NUMBER.DISPLAY_VALUE] = newRowNumber;\r\n\r\n // УстанавливаСм Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ².\r\n if (!!opt_requisiteValues) {\r\n for (var reqName in opt_requisiteValues) {\r\n var reqValue = opt_requisiteValues[reqName];\r\n if (!_.isUndefined(row[reqName])) {\r\n row[reqName] = reqValue.value;\r\n row['Field_' + reqName] = reqValue.displayValue;\r\n }\r\n }\r\n }\r\n\r\n me._currentForm._commandList.push({\r\n CmdCode: COMMAND.ADD_ROW,\r\n Section: me.detailNum,\r\n ID: me._uid\r\n });\r\n\r\n result.resolve({ RowData: row });\r\n }\r\n return result;\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n /**\r\n * Π“Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ Π½ΠΎΠΌΠ΅Ρ€ строки.\r\n * @private\r\n */\r\n _getNextRowNumber: function () {\r\n var me = this;\r\n var lastRowNum = 0;\r\n\r\n var dataView = me._grid.dataView;\r\n var exisitingRows = dataView.getItems() || [];\r\n\r\n if (exisitingRows.length) {\r\n var lastRowNum = _(exisitingRows).chain().map(function (r) {\r\n return +r[ROW_NUMBER.VALUE]\r\n }).max().value();\r\n }\r\n\r\n return +lastRowNum + 1;\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n /**\r\n * Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ строку Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·Π΄Π΅Π»Π°.\r\n *\r\n * @function WebAccess.components.wrappers.form.Table#addRow\r\n * @param {object} opt_requisiteValues Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ² Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅: \r\n * {'имя Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°': {value: 'Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅', displayValue: 'ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅', 'needTriggerResult': 'true|false Π½ΡƒΠΆΠ½ΠΎ Π»ΠΈ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ событиС Π½Π° установку значСния (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ true)'},...}\r\n * @param {function} opt_callback Ѐункция для добавлСния строки. ΠŸΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для совмСстимости. РСкомСндуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ событиС Ρ‚ΠΈΠΏΠ° addRow\r\n * @param {boolean} opt_sync ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ синхронного создания строки. ΠŸΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для свмСстимости. РСкомСндуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ асинхронноС созданиС строки\r\n * @fires WebAccess.components.wrappers.form.Table#addRow\r\n * @fires WebAccess.components.wrappers.form.Table#change\r\n * @return {WebAccess.components.wrappers.form.Table} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° Table.\r\n */\r\n addRow: function (opt_requisiteValues, opt_callback, opt_sync) {\r\n var me = this;\r\n\r\n if (me._hasPendingOperation['addRow']) return me;\r\n\r\n me._getGeneratedRow(me._grid.settings.isBuilderEventsSupported, opt_requisiteValues, opt_sync).done(function (data) {\r\n var row = data.RowData;\r\n var changes = data.Changes;\r\n var changedMultiSelects = data.ChangedMultiSelectRequisitesValues;\r\n me._appendNewRowToDataView(row, changes, changedMultiSelects, function (tableRow) {\r\n // ΠžΡ‚Π±ΠΈΡ€Π°Π΅ΠΌ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… CanGUIRead = false\r\n var currentTableColumns = me.columns.toArray();\r\n currentTableColumns.forEach(function (column) {\r\n var reqName = column.reqName;\r\n var currentRequisite = tableRow.requisites[reqName];\r\n if (!column.getCanGUIRead()) {\r\n currentRequisite.setValue('*', '*', false);\r\n currentRequisite.setUntouched();\r\n }\r\n if (!!opt_requisiteValues && opt_requisiteValues[reqName] && opt_requisiteValues[reqName].needTriggerResult) {\r\n currentRequisite.touch();\r\n }\r\n });\r\n\r\n // Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ состояния Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ²\r\n tableRow._disableReadOnlyFields();\r\n\r\n if ($.isFunction(opt_callback)) opt_callback(tableRow);\r\n });\r\n }).fail(function (data) {\r\n var changes = data.Changes;\r\n var changedMultiSelects = data.ChangedMultiSelectRequisitesValues;\r\n me.fire('applychanges', null, changes, me, changedMultiSelects);\r\n });\r\n\r\n return me;\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n /**\r\n * ΠšΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ строку Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·Π΄Π΅Π»Π° Π½Π° сСрвСрС.\r\n *\r\n * @function WebAccess.components.wrappers.form.Table#copyRowOnServer\r\n * @param {integer} sourceRowId Π˜Π” ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅ΠΌΠΎΠΉ строки\r\n * @param {object} opt_requisiteValues Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ² Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅: \r\n * {'имя Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°': {value: 'Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅', displayValue: 'ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅', 'needTriggerResult': 'true|false - ΠΏΡ€ΠΈΠ·Π½Π°ΠΊ нСобходимости Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ событиС для установки значСния (ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ true)'},...}\r\n * @param {function} opt_callback Ѐункция для добавлСния строки. ΠŸΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π° для ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ совмСстимости с ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΌΠΈ вСрсиями. РСкомСндуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ событиС Ρ‚ΠΈΠΏΠ° addRow\r\n * @param {boolean} opt_sync ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ синхронного создания строки. ΠŸΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ совмСстимости с ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΌΠΈ вСрсиями. РСкомСндуСтся ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ асинхронноС созданиС строки\r\n * @fires WebAccess.components.wrappers.form.Table#addRow\r\n * @fires WebAccess.components.wrappers.form.Table#change\r\n * @return {WebAccess.components.wrappers.form.Table} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° Table.\r\n * @since 5.2.0.1300\r\n */\r\n copyRowOnServer: function (sourceRowId, opt_requisiteValues, opt_callback, opt_sync) {\r\n var me = this;\r\n\r\n if (me._hasPendingOperation['copyRow']) return me;\r\n\r\n var result = $.Deferred();\r\n var newRowNumber = me._getNextRowNumber();\r\n\r\n me._hasPendingOperation['copyRow'] = true;\r\n\r\n me._sendRequest('CopyTableRow', {\r\n Obj: me._objectLink,\r\n View: me._objectView,\r\n DetailNum: me.detailNum,\r\n SourceRowID: sourceRowId,\r\n Number: newRowNumber,\r\n Requisites: opt_requisiteValues || {}\r\n }, opt_sync).done(function (data) {\r\n data = $.parseJSON(data);\r\n result.resolve(data);\r\n }).fail(function (errorMessage, response) {\r\n // Π’ ΠΎΡ‚Π²Π΅Ρ‚Π΅ с ошибкой ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΈΠΉΡ‚ΠΈ измСнСния Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ² ΠΈ ΠΈΡ… Π½Π°Π΄ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ.\r\n if (response && response.Result) {\r\n var data = $.parseJSON(response.Result);\r\n result.reject(data);\r\n }\r\n }).always(function () {\r\n me._hasPendingOperation['copyRow'] = false;\r\n });\r\n\r\n // Π‘Ρ‚Ρ€ΠΎΠΊΠ° скопирована, добавляСм Π² DataSource.\r\n result.done(function (data) {\r\n var row = data.RowData;\r\n var changes = data.Changes;\r\n var changedMultiSelects = data.ChangedMultiSelectRequisitesValues;\r\n me._appendNewRowToDataView(row, changes, changedMultiSelects, opt_callback);\r\n }).fail(function (data) {\r\n var changes = data.Changes;\r\n var changedMultiSelects = data.ChangedMultiSelectRequisitesValues;\r\n me.fire('applychanges', null, changes, me, changedMultiSelects);\r\n });\r\n\r\n return me;\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n _appendNewRowToDataView: function (row, changes, changedMultiSelects, opt_callback) {\r\n var me = this;\r\n me.fire(me.class.EVENT.BEFORE_ROW_ADDED, me);\r\n\r\n var dataView = me._grid.dataView;\r\n dataView.addItem(row);\r\n dataView.refresh(); \r\n row = me._makeEmptyRow(row.id, row);\r\n\r\n var rowsData = me._makeRowsData([row]);\r\n me.rows._addRow(row.id, rowsData[row.id], true);\r\n\r\n if ($.isFunction(opt_callback)) opt_callback(me.rows[row.id]);\r\n\r\n me._isChanged = true; \r\n me.fire('change', me.rows[row.id], me);\r\n me.fire('applychanges', me.rows[row.id], changes, me, changedMultiSelects);\r\n\r\n return me;\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n _tryToDeleteRow: function (rowID, isBuilderEventsSupported, opt_sync) {\r\n var me = this;\r\n var result = $.Deferred();\r\n\r\n if (isBuilderEventsSupported) {\r\n me._hasPendingOperation['deleteRow'] = true;\r\n\r\n me._sendRequest('DeleteTableRow', {\r\n Obj: me._objectLink,\r\n View: me._objectView,\r\n DetailNum: me.detailNum,\r\n RowID: rowID\r\n }, opt_sync).done(function (data) {\r\n if (data) data = $.parseJSON(data);\r\n result.resolve(rowID, data);\r\n }).fail(function (errorMessage, response) {\r\n // Π’ ΠΎΡ‚Π²Π΅Ρ‚Π΅ с ошибкой ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΈΠΉΡ‚ΠΈ измСнСния Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ² ΠΈ ΠΈΡ… Π½Π°Π΄ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ.\r\n if (response && response.Result) {\r\n var data = $.parseJSON(response.Result);\r\n result.reject(rowID, data);\r\n }\r\n }).always(function () {\r\n me._hasPendingOperation['deleteRow'] = false;\r\n });\r\n } else {\r\n var commands = me._currentForm._commandList;\r\n var existingCommand = _(commands).findWhere({ 'ID': rowID, 'CmdCode': COMMAND.ADD_ROW, Section: +me.detailNum });\r\n\r\n if (existingCommand) {\r\n //Если удаляСм Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΡƒΡŽ строку, Ρ‚ΠΎ удаляСм ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Π½Π° Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅\r\n me._currentForm._commandList = _(commands).filter(function (cmd) {\r\n return ((cmd.ID !== rowID) || (cmd.Section !== +me.detailNum))\r\n });\r\n } else {\r\n //Если удаляСм ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΡƒΡŽ строку, Ρ‚ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ Π½Π° Π΅Ρ‘ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅\r\n me._currentForm._commandList.push({\r\n CmdCode: COMMAND.DELETE_ROW,\r\n Section: me.detailNum,\r\n ID: rowID\r\n });\r\n }\r\n result.resolve(rowID, {});\r\n }\r\n\r\n return result;\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n /**\r\n * Π£Π΄Π°Π»ΠΈΡ‚ΡŒ строку Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·Π΄Π΅Π»Π°.\r\n *\r\n * @function WebAccess.components.wrappers.form.Table#deleteRow\r\n * @param {integer} rowNum НомСр строки\r\n * @fires WebAccess.components.wrappers.form.Table#deleteRow\r\n * @fires WebAccess.components.wrappers.form.Table#change\r\n * @fires WebAccess.components.wrappers.form.Table#applychanges\r\n * @return {TableWebAccess.components.wrappers.form.Table} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° Table.\r\n * @since 5.0.0.7100\r\n */\r\n deleteRow: function (rowId, opt_sync) {\r\n var me = this;\r\n\r\n if (me._hasPendingOperation['deleteRow']) {\r\n return me;\r\n }\r\n\r\n if (!isNaN(rowId)) {\r\n\r\n var dataView = me._grid.dataView;\r\n var row = dataView.getItemById(rowId);\r\n me._tryToDeleteRow(+rowId, me._grid.settings.isBuilderEventsSupported, opt_sync).done(function (id, data) {\r\n var changes = data.Changes;\r\n var changedMultiSelects = data.ChangedMultiSelectRequisitesValues;\r\n\r\n dataView.deleteItem(rowId);\r\n me.rows._deleteRow(rowId);\r\n me._isChanged = true;\r\n me.fire('deleteRow', rowId, row);\r\n me.fire('change', row, me);\r\n me.fire('applychanges', row, changes, me, changedMultiSelects);\r\n }).fail(function (id, data) {\r\n var changes = data.Changes;\r\n var changedMultiSelects = data.ChangedMultiSelectRequisitesValues;\r\n me.fire('applychanges', row, changes, me, changedMultiSelects);\r\n });\r\n\r\n } else {\r\n WA.raise('ERR_NOT_ALL_REQUIRED_ARGUMENTS_HAVE_BEEN_SUPLIED');\r\n }\r\n return me;\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n /**\r\n * Π’Π΅Ρ€Π½ΡƒΡ‚ΡŒ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΏΠΎ Π˜Π” элСмСнта управлСния.\r\n *\r\n * @method WebAccess.components.wrappers.form.Table#getRequisiteByControlId\r\n * @param {string} controlId Π˜Π” HTML-элСмСнта.\r\n * @since 5.0.0.7100\r\n * @return {WebAccess.components.wrappers.form.requisites.BaseRequisite} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°.\r\n */\r\n getRequisiteByControlId: function (controlId) {\r\n log.warning('REQUISITE', 'This method was changed in last version and may work improperly.');\r\n var rowsArr = this.rows.toArray();\r\n for (var rowI = 0; rowI < rowsArr.length; rowI++) {\r\n var row = rowsArr[rowI];\r\n var reqs = row.requisites.toArray();\r\n for (var reqI = 0; reqI < reqs.length; reqI++) {\r\n var req = reqs[reqI];\r\n for (var j = 0; j < req.controlsIds.length; j++) {\r\n if (controlId === req.controlsIds[j]) {\r\n return req;\r\n }\r\n }\r\n }\r\n }\r\n return null;\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n /**\r\n * Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ строку Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ ΠΏΠΎ Π˜Π”.\r\n *\r\n * @method WebAccess.components.wrappers.form.Table#getRowById\r\n * @return {TableRow} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ строки.\r\n * @since 5.2.0.1300\r\n */\r\n getRowById: function (rowId) {\r\n return this.rows[rowId];\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n /**\r\n * ΠžΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹.\r\n *\r\n * @method WebAccess.components.wrappers.form.Table#reloadData\r\n * @return {Deferred} Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ deferred-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚\r\n * @since 5.2.0.1303\r\n */\r\n reloadData: function () {\r\n var me = this;\r\n log.warn('TABLE', 'Table reloaded. If you have any binded event handlers for rows or columns you must rebind them manualy');\r\n return this._grid.reloadData().done(function () {\r\n me._initRows();\r\n\r\n // ВосстанавливаСм Π»ΠΎΠ³ΠΈΠΊΡƒ Π²Π΅Π΄ΡƒΡ‰ΠΈΡ… Π²Π΅Π΄ΠΎΠΌΡ‹Ρ… послС обновлСния страницы\r\n me._currentForm._current.bindLeaderDrivenLogicToTable(me);\r\n });\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n /**\r\n * ΠžΡ‚ΠΏΡ€Π°Π²Π»ΡΠ΅Ρ‚ запрос Π½Π° Π²Π΅Π±-сСрвис.\r\n * @private\r\n */\r\n _sendRequest: function (action, params, opt_sync) {\r\n var method = WA.SRV.call;\r\n if (opt_sync === true) {\r\n method = WA.SRV.callSync;\r\n }\r\n return method(this.serviceURL + '/' + action, params);\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n /**\r\n * ΠŸΡ€ΠΈΠ²ΡΠ·Ρ‹Π²Π°Π΅Ρ‚ Π²Ρ‹Π·ΠΎΠ² справочника Π² модальном ΠΎΠΊΠ½Π΅ ΠΊ ΠΊΠ»ΠΈΠΊΡƒ Π½Π° ΠΈΠΊΠΎΠ½ΠΊΠ΅ Π² ΠΏΠΎΠ»Π΅ Π²Π²ΠΎΠ΄Π°.\r\n *\r\n * @method WebAccess.components.wrappers.form.Table#bindReferenceGridDialog\r\n * @param {String | Array} requisites Имя ΠΈΠ»ΠΈ ΠΈΠΌΠ΅Π½Π° Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ² для привязки Π»ΠΎΠ³ΠΈΠΊΠΈ Π²Ρ‹Π·ΠΎΠ²Π° справочника Π² модальном ΠΎΠΊΠ½Π΅\r\n * @return {TableWebAccess.components.wrappers.form.Table} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° Table.\r\n * @since 5.4.0.1012\r\n */\r\n bindReferenceGridDialog: function (requisites) {\r\n var me = this;\r\n\r\n var colNames = typeof (requisites) === 'string' ? [requisites] : requisites;\r\n\r\n // На ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ строки.\r\n var rows = me.rows.toArray();\r\n for (var i = 0; i < rows.length; i++) {\r\n bindOnRowRequisites(rows[i]);\r\n }\r\n // На Π½ΠΎΠ²Ρ‹Π΅ строки\r\n me.bind(me['class'].EVENT.ROW_ADDED, function (newRow) {\r\n bindOnRowRequisites(newRow);\r\n });\r\n\r\n function bindOnRowRequisites(row) {\r\n for (var j = 0; j < colNames.length; j++) {\r\n var req = row.requisites[colNames[j]]\r\n if (req) {\r\n req.bindReferenceGridDialog();\r\n }\r\n }\r\n }\r\n\r\n return me;\r\n },\r\n\r\n /**\r\n * УстанавливаСт ΠΏΡ€ΠΈΠ·Π½Π°ΠΊ isChanged Π² состояниС false.\r\n *\r\n * @method WebAccess.components.wrappers.form.Table#setUntouched\r\n * @return {TableWebAccess.components.wrappers.form.Table} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° Table.\r\n * @since 5.7.0\r\n */\r\n setUntouched() {\r\n this._isChanged = false;\r\n return this;\r\n },\r\n\r\n }, {\r\n EVENT: {\r\n /**\r\n * Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ срабатываСт Π΄ΠΎ добавлСния строки Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹.\r\n *\r\n * @event WebAccess.components.wrappers.form.Table.EVENT.BEFORE_ROW_ADDED \r\n * @param {object} context ссылка Π½Π° экзСмпляр класса \r\n * @since 5.7.0\r\n */\r\n BEFORE_ROW_ADDED: 'beforeAddRow',\r\n\r\n /**\r\n * Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ срабатываСт послС добавлСния строки Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹.\r\n *\r\n * @event WebAccess.components.wrappers.form.Table.EVENT.ROW_ADDED\r\n * @param {TableRow} newRow Новая строка.\r\n * @param {object} context ссылка Π½Π° экзСмпляр класса\r\n * @example\r\n * var table = WebAccess.current.form.controls.tables['STcxGrid1'];\r\n * table.bind(table['class'].EVENT.ROW_ADDED , function(newRow, table) {\r\n * console.log(newRow);\r\n * newRow.requisites['Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅Π’2'].setValue('тСст', 'тСст');\r\n * });\r\n * @since 5.2.0.2014\r\n */\r\n ROW_ADDED: 'addRow',\r\n //-------------------------------------------------------------------//\r\n\r\n /**\r\n * Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ срабатываСт Ссли Π΄Π°Π½Π½Ρ‹Π΅ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Π±Ρ‹Π»ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Ρ‹.\r\n *\r\n * @event WebAccess.components.wrappers.form.Table.EVENT.DATA_RELOADED\r\n * @param {object} context ссылка Π½Π° экзСмпляр класса\r\n * @since 5.2.0.2014\r\n */\r\n DATA_RELOADED: 'dataReloaded',\r\n //-------------------------------------------------------------------//\r\n \r\n /**\r\n * Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ срабатываСт, Ссли Π΄Π°Π½Π½Ρ‹Π΅ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Π±Ρ‹Π»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ‹.\r\n *\r\n * @event WebAccess.components.wrappers.form.Table.EVENT.CHANGE\r\n * @param {object} context Бсылка Π½Π° экзСмпляр класса\r\n * @since 5.5.0.2201\r\n */\r\n CHANGE: 'change'\r\n //-------------------------------------------------------------------//\r\n }\r\n });\r\n\r\n global.Table = Table;\r\n})(window.WebAccess.components.wrappers.form);\r\n","\"use strict\";\r\n\r\n/**\r\n* ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΠ΅Ρ‚ инструмСнты для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с элСмСнтами Ρ„ΠΎΡ€ΠΌΡ‹.\r\n*\r\n* @class WebAccess.components.wrappers.form.Form\r\n* @extends BaseObject\r\n* @mixes WebAccess.mixins.requisitesMixin\r\n* @param {object} data - Π΄Π°Π½Π½Ρ‹Π΅ Ρ„ΠΎΡ€ΠΌΡ‹\r\n* @param {string} serviceUrl - адрСс сСрвиса сохранСния Π΄Π°Π½Π½Ρ‹Ρ…\r\n* @since 5.2.0.1600\r\n*/\r\n\r\n/**\r\n * ВыполняСтся Π΄ΠΎ Π½Π°Ρ‡Π°Π»Π° сохранСния Ρ„ΠΎΡ€ΠΌΡ‹.\r\n *\r\n * @event WebAccess.components.wrappers.form.Form#BeforeSave\r\n * @param {function} process Основной ΠΏΠΎΡ‚ΠΎΠΊ дСйствий ΠΏΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡŽ сохранСния Ρ„ΠΎΡ€ΠΌΡ‹.\r\n * ΠŸΡ€ΠΈ нСобходимости Π²Ρ‹Π·ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ позволяСт ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ процСсс сохранСния Π² любой ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ\r\n * @param {object} data Π”Π°Π½Π½Ρ‹Π΅ для сохранСния Ρ„ΠΎΡ€ΠΌΡ‹\r\n * @param {function} callback Ѐункция, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰Π°ΡΡΡ послС сохранСния Ρ„ΠΎΡ€ΠΌΡ‹. МоТно Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Π² любой ΠΌΠΎΠΌΠ΅Π½Ρ‚ сохранСния\r\n * @example\r\n *\r\n * WA.CR.form.bind(\"BeforeSave\", function(process,data,callback) {\r\n * console.log(process,data,callback);\r\n * var dialog = new WA.CMP.dialogs.BaseDialog();\r\n * dialog.setHtml('ΠšΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠ° Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ сохранСна, Π½ΠΎ страница пСрСзагрузится');\r\n * dialog.ok = function() {\r\n * process();\r\n * }\r\n * dialog.show();\r\n * return false;\r\n * });\r\n */\r\n\r\n/**\r\n * ВыполняСтся Π² ΠΌΠΎΠΌΠ΅Π½Ρ‚ сохранСния Ρ„ΠΎΡ€ΠΌΡ‹.\r\n *\r\n * @event WebAccess.components.wrappers.form.Form#Save\r\n * @param {function} process Основной ΠΏΠΎΡ‚ΠΎΠΊ дСйствий ΠΏΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡŽ сохранСния Ρ„ΠΎΡ€ΠΌΡ‹.\r\n * ΠŸΡ€ΠΈ нСобходимости Π²Ρ‹Π·ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ позволяСт ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ процСсс сохранСния Π² любой ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ\r\n * @param {object} data Π”Π°Π½Π½Ρ‹Π΅ для сохранСния Ρ„ΠΎΡ€ΠΌΡ‹\r\n * @param {function} callback Ѐункция, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰Π°ΡΡΡ послС сохранСния Ρ„ΠΎΡ€ΠΌΡ‹. МоТно Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Π² любой ΠΌΠΎΠΌΠ΅Π½Ρ‚ сохранСния\r\n */\r\n\r\n/**\r\n * ВыполняСтся послС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ сохранСния Ρ„ΠΎΡ€ΠΌΡ‹.\r\n *\r\n * @event WebAccess.components.wrappers.form.Form#AfterSave\r\n * @param {function} process Основной ΠΏΠΎΡ‚ΠΎΠΊ дСйствий ΠΏΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡŽ сохранСния Ρ„ΠΎΡ€ΠΌΡ‹.\r\n * ΠŸΡ€ΠΈ нСобходимости Π²Ρ‹Π·ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ позволяСт ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚ΡŒ процСсс сохранСния Π² любой ΠΌΠΎΠΌΠ΅Π½Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ\r\n * @param {object} data Π”Π°Π½Π½Ρ‹Π΅ для сохранСния Ρ„ΠΎΡ€ΠΌΡ‹\r\n * @param {function} callback Ѐункция, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰Π°ΡΡΡ послС сохранСния Ρ„ΠΎΡ€ΠΌΡ‹. МоТно Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ Π² любой ΠΌΠΎΠΌΠ΅Π½Ρ‚ сохранСния\r\n */\r\n\r\n(function (global) {\r\n\r\n var CHANGE_TYPE = {\r\n REQUISITE_CHANGE: 0,\r\n DETAIL_ROW_INSERT: 1,\r\n DETAIL_ROW_DELETE: 2,\r\n PICK_VALUES_CHANGE: 3,\r\n FORM_CONTROL_CHANGE: 4,\r\n FORM_REQUISITE_CONTROL_CHANGE: 5,\r\n ACTION_CHANGE: 6,\r\n REQUISITE_GUI_CHANGE: 7\r\n };\r\n\r\n var CONTROL_TYPE = {\r\n TABLE: 6,\r\n REQUISITE: 9,\r\n INPLACE_HINT: 17,\r\n TAB: 23,\r\n HYPERLINK: 26,\r\n MULTISELECT: 28,\r\n WEB_BROWSER: 24,\r\n DETAIL_SECTION_REQUISITE: 100\r\n };\r\n\r\n var Form = BaseObject.extend([global.mixins.requisitesMixin], {\r\n serviceUrl: null,\r\n _current: null,\r\n _calcServiceCall: {}, //Ρ‚Π°ΠΉΠΌΠ°ΡƒΡ‚Ρ‹ Π²Ρ‹Π·ΠΎΠ²Π° сСрвиса Π½Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° (для ΠΎΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ количСства запросов).\r\n\r\n init: function (data, serviceUrl, opt_current) {\r\n var me = this;\r\n log.info('FORM', 'Init current form')\r\n\r\n me.Init = $.Deferred();\r\n me._reqValuesInit = [];\r\n\r\n me._current = opt_current;\r\n me._calcServiceCall = {};\r\n\r\n this.serviceUrl = serviceUrl;\r\n me.requisites = new global.components.wrappers.form.RequisiteCollection();\r\n if (!data) {\r\n // Если Π΄Π°Π½Π½Ρ‹Ρ… Π½Π΅Ρ‚, Ρ‚ΠΎ сразу Π³ΠΎΠ²ΠΎΡ€ΠΈΠΌ Ρ‡Ρ‚ΠΎ Ρ„ΠΎΡ€ΠΌΠ° ΠΏΡ€ΠΎΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π°. НуТно для дальнСйшСго resolv'a WA.FormInit.\r\n me.Init.resolve();\r\n return;\r\n }\r\n me._super(data);\r\n\r\n me._data = data;\r\n\r\n me._commandList = [];\r\n this._isDisabled = me._data.isreadonly;\r\n me._fillRequisites();\r\n\r\n if (!me._data.isInitialized) {\r\n me._initRequisiteValues(me._data.req);\r\n } else {\r\n me._bindMirrors(me._data.req);\r\n }\r\n me._bindCalculation();\r\n\r\n var requisites = me.requisites.toArray();\r\n requisites.forEach(function (req) {\r\n req.bind(req['class'].EVENT.CHANGE, function (el, ev, reqData) {\r\n me.fire(me['class'].EVENT.CHANGE, el, ev, reqData);\r\n });\r\n });\r\n\r\n me._current.states.tables.done(function () {\r\n var form = (!!me._current) ? me._current.form : global.current.form;\r\n var tables = form.controls.tables;\r\n\r\n _(tables).forEach(function (table) {\r\n table.bind(table['class'].EVENT.CHANGE, function () {\r\n me.fire(me['class'].EVENT.CHANGE);\r\n });\r\n });\r\n });\r\n\r\n // _reqValuesInit заполняСтся Π² Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠΌ классС requisitesMixin\r\n $.when.apply(null, me._reqValuesInit).then(function () {\r\n me.Init.resolve();\r\n log.info('FORM', 'Current form requsites values inited')\r\n });\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n\r\n className: \"Form\",\r\n\r\n /**\r\n * Π Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ„ΠΎΡ€ΠΌΡ‹.\r\n * Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ WebAccess.components.wrappers.form.requisites для управлСния Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°ΠΌΠΈ.\r\n *\r\n * @namespace WebAccess.current.form.requisites\r\n * @see WebAccess.components.wrappers.form.requisites\r\n * @since 5.0.0.7100\r\n */\r\n requisites: {},\r\n\r\n /**\r\n * ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ ΠΏΡ€ΠΈ сохранСнии.\r\n * @private\r\n * @since 5.0.0.7100\r\n */\r\n _commandList: [],\r\n\r\n /**\r\n * Π˜ΡΡ…ΠΎΠ΄Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ„ΠΎΡ€ΠΌΡ‹\r\n * @private\r\n * @since 5.0.0.7100\r\n */\r\n _data: null,\r\n\r\n /**\r\n * ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ активности Ρ„ΠΎΡ€ΠΌΡ‹.\r\n * @private\r\n * @since 5.0.0.7100\r\n */\r\n _isDisabled: false,\r\n\r\n // Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ ΠΊΠΎΠ³Π΄Π° вся Ρ„ΠΎΡ€ΠΌΠ° ΠΏΡ€ΠΎΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π°, Ρ‚.ΠΊ. значСния всСх Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ² Π΅ΡΡ‚ΡŒ.\r\n Init: null,\r\n // Массив Init для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° Π² Π²ΠΈΠ΄Π΅ Deffered ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².\r\n _reqValuesInit: null,\r\n //---------------------------------------------------------------------//\r\n\r\n /**\r\n * Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ².\r\n * @method WebAccess.components.wrappers.form.Form#_fillRequisites\r\n * @since 5.0.0.7100\r\n * @private\r\n */\r\n _fillRequisites: function () {\r\n for (var reqName in this._data.req) {\r\n this.requisites.addElement(reqName, this._createRequisite(reqName, this._data.req[reqName]));\r\n };\r\n return this;\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Ρ‡Π΅Π½ΠΈΠ΅ значСния Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° для сСриализации.\r\n * @param {Object} requisite Π Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚, Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ трСбуСтся ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ.\r\n * @param {Object} options Настройки сСриализации.\r\n * @returns {Object} Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° для сСриализации.\r\n * @since 5.2.0.2006\r\n * @private\r\n */\r\n _getRequisiteValueDependsOnOptions: function (requisite, options) {\r\n var result;\r\n\r\n if (requisite.getType() == 1 && (options.dateFormat || options.dateTimeFormat)) {\r\n if (requisite.isShowTime()) {\r\n result = formatDateTime(requisite.getDate(), options.dateTimeFormat);\r\n } else {\r\n result = formatDate(requisite.getDate(), options.dateFormat);\r\n }\r\n } else {\r\n result = requisite.getValue();\r\n }\r\n\r\n if (!options.onlyValue) {\r\n result = [result, requisite.getDisplayValue()];\r\n }\r\n\r\n return result;\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n /**\r\n * БСриализация Ρ„ΠΎΡ€ΠΌΡ‹.\r\n *\r\n * @method WebAccess.components.wrappers.form.Form#serialize\r\n * @ignore\r\n * @param {Object} opt_options Настройки сСриализации.\r\n * @return {Object} Π›ΠΈΡ‚Π΅Ρ€Π°Π»ΡŒΠ½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.\r\n * @since 5.0.0.7300\r\n *\r\n * @example\r\n * var formBackup = WA.CR.form.serialize();\r\n * WA.cache.setObject('formBackup', formBackup);\r\n *\r\n * ...\r\n *\r\n * WA.CR.form.deserialize(WA.cache.getObject('formBackup'));\r\n */\r\n serialize: function (opt_options) {\r\n var options = opt_options || {\r\n onlyValue: false, // Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ значСния, Ρ‚.Π΅. Π±Π΅Π· ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠ³ΠΎ значСния.\r\n useRowNumber: false, //Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ Π½ΠΎΠΌΠ΅Ρ€ строк вмСсто Π˜Π”.\r\n withoutTables: false, //НС Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ массив tables.\r\n dateFormat: '', // Π€ΠΎΡ€ΠΌΠ°Ρ‚ Π΄Π°Ρ‚.\r\n dateTimeFormat: '', // Π€ΠΎΡ€ΠΌΠ°Ρ‚ Π΄Π°Ρ‚Ρ‹ со Π²Ρ€Π΅ΠΌΠ΅Π½Π΅ΠΌ.\r\n transformMultiReqsToDetailRows: false // ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ² мноТСствСнного Π²Ρ‹Π±ΠΎΡ€Π° Π² Π΄Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·Π΄Π΅Π»\r\n };\r\n\r\n var reqs = this.requisites.toArray();\r\n var result = {};\r\n result.details = {};\r\n result.requisites = {};\r\n for (var i = 0; i < reqs.length; i++) {\r\n result.requisites[reqs[i].name] = this._getRequisiteValueDependsOnOptions(reqs[i], options);\r\n\r\n if (options.transformMultiReqsToDetailRows) {\r\n var reqControl = reqs[i].controls[0];\r\n if (typeof reqControl !== 'undefined') {\r\n var refSelectInstance = reqControl.data('ReferenceSelectInstance');\r\n if ((typeof reqControl.data('ReferenceSelectInstance') !== 'undefined') && reqControl.data('ReferenceSelectInstance').multiselect) {\r\n //Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ мноТСствСнного Π²Ρ‹Π±ΠΎΡ€Π°\r\n var currentValue = result.requisites[reqs[i].name];\r\n if ($.isArray(currentValue)) {\r\n currentValue = currentValue[0];\r\n }\r\n\r\n if (!!currentValue) {\r\n var detailNum = refSelectInstance.detailIndex;\r\n var currentValueArray = currentValue.split(';');\r\n result.details[detailNum] = {};\r\n for (var j = 0; j < currentValueArray.length; j++) {\r\n var reqInfo = currentValueArray[j].split(':');\r\n var multiReqNames = refSelectInstance.referenceCodesAndReqNamesInDetailSection;\r\n\r\n result.details[detailNum][j] = {};\r\n var reqName = multiReqNames[reqInfo[0]].name;\r\n if (reqName) {\r\n result.details[detailNum][j][reqName] = reqInfo[1];\r\n }\r\n };\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n result.tables = {};\r\n var tables = this.controls.tables;\r\n for (var table in tables) {\r\n var detailNum = tables[table].detailNum;\r\n result.tables[table] = {};\r\n result.details[detailNum] = {};\r\n var rows = tables[table].rows.toArray()\r\n for (var i = 0; i < rows.length; i++) {\r\n var row = rows[i];\r\n var rowIdentifier = row.id;\r\n if (options.useRowNumber) {\r\n rowIdentifier = row.name; //НомСр строки.\r\n }\r\n result.tables[table][rowIdentifier] = {};\r\n result.details[detailNum][rowIdentifier] = {};\r\n var reqs = row.requisites.toArray();\r\n for (var k = 0; k < reqs.length; k++) {\r\n var req = reqs[k];\r\n var value = this._getRequisiteValueDependsOnOptions(req, options);\r\n result.tables[table][rowIdentifier][req.name] = value;\r\n result.details[detailNum][rowIdentifier][req.name] = value;\r\n }\r\n }\r\n }\r\n\r\n if (options.withoutTables) {\r\n delete result['tables'];\r\n }\r\n\r\n return result;\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ строковоС прСдставлСниС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.\r\n *\r\n * @method WebAccess.components.wrappers.form.Form#asString\r\n * @return {String} Π‘Ρ‚Ρ€ΠΎΠΊΠΎΠ²ΠΎΠ΅ прСдставлСниС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.\r\n */\r\n asString: function () {\r\n return $.toJSON(this.serialize());\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n /**\r\n * ДСсСриализация Ρ„ΠΎΡ€ΠΌΡ‹.\r\n *\r\n * @method WebAccess.components.wrappers.form.Form#deserialize\r\n * @ignore\r\n * @param {Object} data БСриализованная Ρ€Π°Π½Π΅Π΅ Ρ„ΠΎΡ€ΠΌΠ°\r\n * @return {WebAccess.current.form} ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½Π½Π°Ρ Ρ„ΠΎΡ€ΠΌΠ°.\r\n * @since 5.0.0.7300\r\n *\r\n * @example\r\n * var formBackup = WA.CR.form.serialize();\r\n * WA.cache.setObject('formBackup', formBackup);\r\n *\r\n * ...\r\n *\r\n * WA.CR.form.deserialize(WA.cache.getObject('formBackup'));\r\n */\r\n deserialize: function (data) {\r\n var reqs = data.requisites;\r\n for (var n in reqs) {\r\n this.requisites[n].setValue(reqs[n][0]).setDisplayValue(reqs[n][1]);\r\n }\r\n\r\n var tables = data.tables;\r\n for (var table in tables) {\r\n for (var rowId in tables[table].rows) {\r\n for (var req in tables.rows[rowId]) {\r\n var row = tables[table].rows[rowId];\r\n this.controls.tables[table].rows[rowId].requisites[req].setValue(row[req][0]).setDisplayValue(row[req][1]);\r\n }\r\n }\r\n }\r\n\r\n return this;\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n /**\r\n * Π’ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ значСния Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ² Π½Π° Ρ„ΠΎΡ€ΠΌΠ΅.\r\n *\r\n * @method undoRequisiteChanges\r\n * @since 5.7.0\r\n */\r\n undoRequisiteChanges() {\r\n // Π’ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ значСния Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ²\r\n const requisites = window.formData.req;\r\n for (const requisiteName of Object.keys(requisites)) {\r\n const requisite = this.requisites[ requisiteName ];\r\n if (requisite.isChanged()) {\r\n const value = requisites[ requisiteName ].value;\r\n const displayValue = requisites[ requisiteName ].displayValue;\r\n requisite.setValue(value, displayValue, false);\r\n requisite.setUntouched();\r\n }\r\n }\r\n\r\n // Π’ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ значСния Ρ‚Π°Π±Π»ΠΈΡ‡Π½Ρ‹Ρ… Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ²\r\n const tables = this.controls.tables;\r\n for (const tableName of Object.keys(tables)) {\r\n const table = tables[ tableName ];\r\n table.reloadData();\r\n }\r\n },\r\n\r\n /**\r\n * ΠŸΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ вычислСнии Π½Π° Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°Ρ… ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΈΡ….\r\n *\r\n * @method WebAccess.components.wrappers.form.Form#_bindCalcutaion\r\n * @since 5.2.0.2014\r\n * @private\r\n * @return WebAccess.components.wrappers.form.Form\r\n */\r\n _bindCalculation() {\r\n if (!this._current) return;\r\n\r\n const rebindRow = (row) => {\r\n let rowRequisites = row.requisites.toArray();\r\n rowRequisites.forEach((rowRequisite) => {\r\n this._bindRequisiteCalculation(rowRequisite);\r\n });\r\n };\r\n\r\n const rebindTable = (table) => {\r\n let rows = table.rows.toArray();\r\n rows.forEach((row) => {\r\n rebindRow(row);\r\n });\r\n };\r\n\r\n let requisites = this.requisites.toArray();\r\n requisites.forEach((cardRequisite) => {\r\n this._bindRequisiteCalculation(cardRequisite);\r\n });\r\n\r\n this._current.states.tables.done(() => {\r\n let tables = this.controls.tables;\r\n for (let tableName in tables) {\r\n let table = tables[tableName];\r\n\r\n table.bind(table.class.EVENT.DATA_RELOADED, (table) => {\r\n rebindTable(table);\r\n }).bind(table.class.EVENT.ROW_ADDED, (row) => {\r\n rebindRow(row);\r\n }).bind('applychanges', (row, changes, table, changedMultiSelects) => {\r\n if (row) {\r\n row._locked = true;\r\n }\r\n this.applyServerSideChanges(changes, changedMultiSelects);\r\n });\r\n rebindTable(table);\r\n }\r\n });\r\n\r\n return this;\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n /**\r\n * Если Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ ΠΈΠΌΠ΅Π΅Ρ‚ вычислСния, Ρ‚ΠΎ Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΈΡ… Π²Ρ‹ΠΏΠΎΠ»Π΅Π½Π΅Π½ΠΈΠ΅\r\n *\r\n * @method WebAccess.components.wrappers.form.Form#_bindRequisiteCalculation\r\n * @private\r\n * @return {boolean} True – Ρ„ΠΎΡ€ΠΌΠ° Π½Π° страницС сущСствуСт, ΠΈΠ½Π°Ρ‡Π΅ False.\r\n * @since 5.0.0.7100\r\n */\r\n _bindRequisiteCalculation(req) {\r\n const parentCurrent = this._current;\r\n\r\n if (req.hasCalculation) {\r\n req.bind('change', (r, ev, data) => {\r\n if (req.isCalculationDisabled()) {\r\n return this;\r\n }\r\n req._showSpinner();\r\n\r\n //data ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ массивом, ΠΊΠΎΠ³Π΄Π° заполняСтся Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ мноТСствСнного Π²Ρ‹Π±ΠΎΡ€Π° (#108963).\r\n if (data instanceof Array) {\r\n data = {\r\n value: data\r\n .map(val => val.value)\r\n .join(';'),\r\n };\r\n }\r\n\r\n clearTimeout(this._calcServiceCall[req.fullName]);\r\n // Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ change ΠΌΠΎΠΆΠ΅Ρ‚ ΡΡ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ нСсколько Ρ€Π°Π· Π² Ρ€Π°Π·Π½Ρ‹ΠΌΡ… мСстах (Π² Ρ€Π°Π·Π½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°Ρ…) для ΠΎΠ΄Π½ΠΎ ΠΈ Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°. Из-Π·Π° этого отправятся 2 ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²Ρ‹Ρ… запроса, Π° Π½Π°ΠΌ этого Π½Π΅ Π½Π°Π΄ΠΎ.\r\n // НапримСр, Ρ‚Π°ΠΊ Π±Ρ‹Π²Π°Π΅Ρ‚ autoNumeric Ρ‚Ρ€ΠΈΠ³Π΅Ρ€ΠΈΡ‚ change ΠΈ slickGrid Ρ‚Ρ€ΠΈΠ³Π΅Ρ€ΠΈΡ‚ change Ρ‡Π΅Ρ€Π΅Π· commitCurrentEdit->fire(requisiteChange). По-Π΄Ρ€ΡƒΠ³ΠΎΠΌΡƒ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π½Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ.\r\n this._calcServiceCall[req.fullName] = setTimeout(() => {\r\n this._setRequisiteValue(req, parentCurrent);\r\n }, 100);\r\n\r\n });\r\n }\r\n return this;\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n /**\r\n * Π’Ρ‹Π·Π²Π°Ρ‚ΡŒ ΠΌΠ΅Ρ‚ΠΎΠ΄ для ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ значСния Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° Π½Π° сСрвСр.\r\n * @private\r\n * @param {object} req Π Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚.\r\n * @param {object} parentObj Π ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.\r\n * @since 5.8.0.9027\r\n */\r\n _setRequisiteValue: function (req, parentObj) {\r\n WA.SRV.request(`${this.serviceUrl}/SetRequisiteValue`, {\r\n Obj: parentObj._getObjectLink(),\r\n RequisiteName: req.fullName,\r\n RequisiteValue: req.getValue(),\r\n View: parentObj.getReferenceView ? parentObj.getReferenceView() : '',\r\n }, {\r\n hideError: true,\r\n }).done((response) => {\r\n const resp = JSON.parse(response);\r\n this.applyServerSideChanges(\r\n resp.Changes,\r\n resp.ChangedMultiSelectRequisitesValues,\r\n );\r\n }).fail((message, response) => {\r\n const inlineHintParams = {\r\n priority: INLINE_HINT_PRIORITY.PRIMARY,\r\n type: Number(response.Severity),\r\n };\r\n parentObj.inlineHint.show(message, inlineHintParams);\r\n\r\n // Π’ ΠΎΡ‚Π²Π΅Ρ‚Π΅ с ошибкой ΠΌΠΎΠ³ΡƒΡ‚ ΠΏΡ€ΠΈΠΉΡ‚ΠΈ измСнСния Π΄Ρ€ΡƒΠ³ΠΈΡ… Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ² ΠΈ ΠΈΡ… Π½Π°Π΄ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ.\r\n if (response && response.Result) {\r\n const result = JSON.parse(response.Result);\r\n this.applyServerSideChanges(\r\n result.Changes,\r\n result.ChangedMultiSelectRequisitesValues,\r\n );\r\n }\r\n }).always(function () {\r\n req._hideSpinner();\r\n });\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n /**\r\n * ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΏΡ€ΠΈΡˆΠ΅Π΄ΡˆΠΈΡ… ΠΎΡ‚ сСрвСра\r\n * @param {array} changes Π½Π°Π±ΠΎΡ€ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ\r\n * @method WebAccess.components.wrappers.form.Form#applyServerSideChanges\r\n * @since 5.2.0.2014\r\n * @return {WebAccess.components.wrappers.form.Form}\r\n * @example\r\n * WA.SRV.call(me.serviceURL + '/ExecuteAction', {\r\n * ActionName: name,\r\n * ...\r\n * }, null, null, true).done(function (response) {\r\n * var responseAsObject = JSON.parse(response);\r\n *\r\n * // ΠžΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния дСйствия.\r\n * var dialogResult = responseAsObject.Result;\r\n *\r\n * // ΠžΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅ΠΌ измСнСния Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ² дСйствиСм.\r\n * var changes = responseAsObject.Changes;\r\n * console.log(changes);\r\n * WA.CR.form.applyServerSideChanges(changes);\r\n *\r\n *}).fail(function (err) {\r\n * // ΠŸΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ ΠΎΡˆΠΈΠ±ΠΊΡƒ.\r\n *});\r\n */\r\n applyServerSideChanges: function (changes, changedMultiSelects) {\r\n let me = this;\r\n let isFormChanged = false;\r\n if (changes && changes.length) {\r\n me._applyRequisiteChanges(changes);\r\n me._applyPickValuesChange(changes);\r\n me._applySectionsChange(changes);\r\n me._applyFormControlChanges(changes);\r\n me._applyActionChanges(changes);\r\n me._applyRequisiteGuiChange(changes); \r\n isFormChanged = true;\r\n }\r\n if (changedMultiSelects && Object.keys(changedMultiSelects).length) {\r\n me._applyMultiSelectRequisiteChanges(changedMultiSelects);\r\n isFormChanged = true;\r\n }\r\n\r\n if (isFormChanged)\r\n me.fire('change');\r\n return me;\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n /**\r\n * ΠŸΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ измСнСния Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ части Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ².\r\n * @private\r\n * @param {array} changes Набор ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.\r\n * @since 5.5.0.2701\r\n */\r\n _applyRequisiteGuiChange: function (changes) {\r\n var me = this;\r\n var current = me._current;\r\n\r\n // ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ измСнСния Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎΠΉ части Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ².\r\n var guiChanges = [];\r\n var details = {};\r\n\r\n _(changes).each(function (change) {\r\n if (change.Type === CHANGE_TYPE.REQUISITE_GUI_CHANGE) {\r\n guiChanges.push(change);\r\n if (change.Section) {\r\n details[change.Section] = true;\r\n }\r\n }\r\n });\r\n\r\n // ΠŸΠ΅Ρ€Π΅Π΄ Ρ‚Π΅ΠΌ, ΠΊΠ°ΠΊ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΊ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ,\r\n // Π½ΡƒΠΆΠ½ΠΎ ΡΠ±Ρ€ΠΎΡΠΈΡ‚ΡŒ фокус с Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ ячСйки Π³Ρ€ΠΈΠ΄Π°, ΠΈΠ½Π°Ρ‡Π΅ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ\r\n // Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² Π΄Π°Π½Π½ΡƒΡŽ ячСйку ΠΈ Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡŽΡ‚ ошибки\r\n Object.keys(details).forEach(function (sectionNumber) {\r\n var detail = current.details[sectionNumber];\r\n var tables = detail.getTables().toArray();\r\n tables.forEach(function (table) {\r\n table.resetActiveCell();\r\n });\r\n });\r\n\r\n if (me.isChanged() && guiChanges.length) {\r\n me.save(function () {\r\n me._applyGuiChangesCallback(guiChanges);\r\n }, false);\r\n } else {\r\n me._applyGuiChangesCallback(guiChanges);\r\n }\r\n },\r\n\r\n /**\r\n * Callback-функция для примСнСния Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.\r\n * @private\r\n * @param {array} guiChanges Набор ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.\r\n * @since 5.5.0.2705\r\n */\r\n _applyGuiChangesCallback: function (guiChanges) {\r\n var me = this;\r\n var current = me._current;\r\n\r\n _(guiChanges).each(function (change) {\r\n var requisite;\r\n var isRequisiteEnabled = change.CanGUIRead && change.CanGUIWrite;\r\n\r\n if (change.Section) {\r\n var detail = current.details[change.Section];\r\n if (detail) {\r\n if (change.RowID) {\r\n var currentRecord;\r\n var table = detail.getTable();\r\n if (table) {\r\n currentRecord = table.getRowById(change.RowID);\r\n if (currentRecord) {\r\n requisite = currentRecord.requisites[change.Name];\r\n }\r\n }\r\n }\r\n\r\n // Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ CanGUIRead для ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·Π΄Π΅Π»Π°\r\n var tables = detail.getTables().toArray();\r\n tables.forEach(function (table) {\r\n var column = table.columns[change.Name];\r\n if (column) {\r\n column.setCanGUIRead(change.CanGUIRead);\r\n if (isRequisiteEnabled) {\r\n column.enable();\r\n } else {\r\n column.disable();\r\n }\r\n }\r\n });\r\n\r\n }\r\n } else {\r\n requisite = me.requisites[change.Name];\r\n if (isRequisiteEnabled) {\r\n requisite.enable();\r\n } else {\r\n requisite.disable();\r\n }\r\n }\r\n\r\n if (requisite) {\r\n // Установка значСния Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° производится Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² случаС измСнСния CanGUIRead\r\n // Как слСдствиС, Π»ΠΈΠ±ΠΎ Π² Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π΅, Π»ΠΈΠ±ΠΎ Π² ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒΡΡ\r\n // ΠΊΠ°ΠΊ скрытоС - Π² Π²ΠΈΠ΄Π΅ *\r\n if (change.Value === '*' || requisite.getValue() === '*') {\r\n requisite.setValue(change.Value, change.DisplayValue, false);\r\n requisite.commit();\r\n }\r\n }\r\n });\r\n },\r\n\r\n /**\r\n * ОбновляСм состояния доступности ΠΈ видимости ΠΊΠ½ΠΎΠΏΠΎΠΊ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ инструмСнтов.\r\n * @private\r\n * @param {array} changes Набор ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.\r\n * @since 5.5.0.2200\r\n */\r\n _applyActionChanges: function (changes) {\r\n var toolBar = this._current.toolBar;\r\n\r\n if (toolBar) {\r\n var actionChanges = _(changes).filter(function (change) {\r\n return change.Type === CHANGE_TYPE.ACTION_CHANGE;\r\n });\r\n\r\n _(actionChanges).each(function (change) {\r\n // ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ список связанных с дСйствиСм ΠΊΠ½ΠΎΠΏΠΎΠΊ\r\n var buttons = toolBar.buttons.getButtonsByActionName(change.Name);\r\n\r\n buttons.forEach(function (button) {\r\n // Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ свойство доступности\r\n if (change.IsEnabled) {\r\n button.enable();\r\n } else {\r\n button.disable();\r\n }\r\n\r\n // Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ свойство видимости\r\n if (change.IsVisible) {\r\n button.show();\r\n } else {\r\n button.hide();\r\n }\r\n\r\n // Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ свойство отмСчСнности\r\n if (change.IsChecked) {\r\n button.select();\r\n } else {\r\n button.unSelect();\r\n }\r\n\r\n // Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ тСкст Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ подсказки\r\n button.setHints(change.Hint, change.DisabledHint);\r\n });\r\n });\r\n }\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n /**\r\n * ОбновляСм состояния доступности ΠΈ видимости ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΎΠ² Π½Π° Ρ„ΠΎΡ€ΠΌΠ΅.\r\n * @private\r\n * @param {array} changes Π½Π°Π±ΠΎΡ€ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ\r\n * @since 5.5.0.1302\r\n */\r\n _applyFormControlChanges: function (changes) {\r\n var current = this._current;\r\n var controlChanges = _(changes).filter(function (change) {\r\n return change.Type === CHANGE_TYPE.FORM_CONTROL_CHANGE || change.Type === CHANGE_TYPE.FORM_REQUISITE_CONTROL_CHANGE;\r\n });\r\n var tabs = current.sideBar.tabs.toArray();\r\n\r\n _(controlChanges).each(function (change) {\r\n var currentControl;\r\n var isControlEnabled = change.IsEnabled;\r\n var color = change.TextColor;\r\n var backgroundColor = change.BackgroundColor;\r\n if (change.Type === CHANGE_TYPE.FORM_REQUISITE_CONTROL_CHANGE) {\r\n isControlEnabled &= !change.IsReadOnly;\r\n\r\n currentControl = current.form.requisites[change.RequisiteName];\r\n if (currentControl) {\r\n // ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ элСмСнт для раскраски ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π°, Ρ‚.ΠΊ. Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ привязан ΠΊ нСскольким ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π°ΠΌ ΠΈ измСняСм Ρ†Π²Π΅Ρ‚\r\n const jRequisiteConrol = $(`div[name= ${change.Name}]`);\r\n let jColoredArea;\r\n if (currentControl.getType() === REQUISITE_TYPE.REFERENCE || currentControl.getType() === REQUISITE_TYPE.DOCUMENT) {\r\n jColoredArea = jRequisiteConrol.find('.fakeInput');\r\n jRequisiteConrol.find('.rs_SelItems input, span').css('color', color);\r\n } else {\r\n jColoredArea = jRequisiteConrol.find('input.input[type=text], textarea.input');\r\n jColoredArea.css('color', color);\r\n }\r\n jColoredArea.css('background-color', backgroundColor); \r\n } else {\r\n _(current.form.controls.tables).some(function (table) {\r\n var columns = table.columns.toArray();\r\n columns.some(function (column) {\r\n if (column.dfmName === change.Name) {\r\n currentControl = column;\r\n }\r\n return currentControl;\r\n });\r\n return currentControl;\r\n });\r\n }\r\n } else {\r\n switch (change.ControlType) {\r\n case CONTROL_TYPE.TABLE:\r\n currentControl = current.form.controls.tables[change.Name];\r\n break;\r\n case CONTROL_TYPE.TAB:\r\n var filteredTabs = tabs.filter(function (el) {\r\n return el.dfmName === change.Name;\r\n });\r\n if (filteredTabs.length > 0) {\r\n currentControl = filteredTabs[0];\r\n // Π—Π°ΠΊΠ»Π°Π΄ΠΊΠΈ Π±ΠΎΠΊΠΎΠ²ΠΎΠΉ ΠΏΠ°Π½Π΅Π»ΠΈ всСгда доступны для ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π°. Π£Ρ‡ΠΈΡ‚Ρ‹Π²Π°ΡŽΡ‚ΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ свойства видимости.\r\n // Π‘Π΄Π΅Π»Π°Π½ΠΎ ΠΏΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ с дСсктоп-ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠΌ, Π³Π΄Π΅ блокируСтся Π½Π΅ сама Π²ΠΊΠ»Π°Π΄ΠΊΠ°, Π° Π΅Π΅ содСрТимоС.\r\n isControlEnabled = true;\r\n }\r\n break;\r\n case CONTROL_TYPE.HYPERLINK:\r\n // Если для ΠΌΠ΅Ρ‚ΠΊΠΈ Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½ bind on click, Ρ‚ΠΎ Π½Π΅ Π΄Π΅Π»Π°Ρ‚ΡŒ enable, Ρ‚.ΠΊ. ΠΎΠ½ снимаСт класс disabled.\r\n currentControl = current.form.controls.links[change.Name];\r\n if (change.IsEnabled && currentControl._jObject.hasClass('disabled'))\r\n change.IsEnabled = false;\r\n break;\r\n case CONTROL_TYPE.MULTISELECT:\r\n // ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ имя Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°\r\n var reqName = $('div[name=' + change.Name + ']').not('.CardForm_Label').data('requisitename');\r\n if (reqName) {\r\n currentControl = current.form.requisites[reqName];\r\n }\r\n const jRequisiteConrol = $(`div[name= ${change.Name}]`); \r\n jRequisiteConrol.find('.fakeInput').css('background-color', backgroundColor);\r\n jRequisiteConrol.find('.rs_SelItems input, span').css('color', color);\r\n break;\r\n case CONTROL_TYPE.WEB_BROWSER:\r\n // Если Ρ‚ΠΈΠΏ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π° - web-Π±Ρ€Π°ΡƒΠ·Π΅Ρ€, Ρ‚ΠΎ управляСм Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒΡŽ ΠΈ адрСсом. \r\n var currentControl = $('iframe[name=' + change.Name + ']');\r\n if (currentControl) {\r\n var url = change.URL;\r\n currentControl.attr(\"src\", url)\r\n if (change.IsVisible) {\r\n currentControl.show();\r\n } else {\r\n currentControl.hide();\r\n }\r\n }\r\n return;\r\n\r\n case CONTROL_TYPE.INPLACE_HINT:\r\n // ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π²ΡΡ‚Ρ€ΠΎΠ΅Π½Π½ΡƒΡŽ подсказку \r\n let hint = new WA.CMP.NTF.InlineHint();\r\n\r\n if (change.IsVisible) {\r\n switch (change.Kind) {\r\n case MESSAGE_TYPE.ERROR:\r\n hint.showError(change.Text, null, INLINE_HINT_PRIORITY.SECONDARY);\r\n break;\r\n case MESSAGE_TYPE.WARNING:\r\n hint.showWarning(change.Text, null, INLINE_HINT_PRIORITY.SECONDARY);\r\n break;\r\n default:\r\n hint.showInfo(change.Text, null, INLINE_HINT_PRIORITY.SECONDARY);\r\n break;\r\n }\r\n }\r\n else {\r\n hint.hide(INLINE_HINT_PRIORITY.SECONDARY);\r\n }\r\n return;\r\n default:\r\n // Если Ρ‚ΠΈΠΏ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π° - Π³Ρ€ΡƒΠΏΠΏΠ°, Ρ‚ΠΎ управляСм Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒΡŽ.\r\n // Π”ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ ΠΈ ΠΈΠ·ΠΌΠ΅Π½ΡΠ΅ΠΌΠΎΡΡ‚ΡŒ Π³Ρ€ΡƒΠΏΠΏΡ‹ пСрСнСсСна Π½Π° Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΠ΅ элСмСнты.\r\n currentControl = $('div[name=' + change.Name + ']');\r\n if (change.IsVisible) {\r\n currentControl.css('visibility', 'visible');\r\n } else {\r\n currentControl.css('visibility', 'hidden');\r\n }\r\n return;\r\n }\r\n }\r\n\r\n if (currentControl) {\r\n if (isControlEnabled) {\r\n currentControl.enable();\r\n } else {\r\n currentControl.disable();\r\n }\r\n\r\n if (change.IsVisible) {\r\n currentControl.show();\r\n } else {\r\n currentControl.hide();\r\n }\r\n\r\n }\r\n });\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n /**\r\n * ОбновляСм Π΄Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Ρ€Π°Π·Π΄Π΅Π»Ρ‹ ΠΏΡ€ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ/ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ\r\n * @private\r\n * @since 5.2.0.2014\r\n */\r\n _applyRequisiteChanges(changes) {\r\n let parentCurrent = this._current;\r\n\r\n changes.forEach((currentChange) => {\r\n if (currentChange.Type === CHANGE_TYPE.REQUISITE_CHANGE) {\r\n if (currentChange.Section) {\r\n let currentDetail = parentCurrent.details[currentChange.Section];\r\n\r\n if (currentDetail) {\r\n let currentDetailTables = currentDetail.getTables().toArray();\r\n currentDetailTables.forEach((table) => {\r\n let row = table.rows[currentChange.RowID];\r\n\r\n if (row) {\r\n let rowRequisite = row.requisites[currentChange.Name];\r\n\r\n if (rowRequisite) {\r\n rowRequisite.setValue(currentChange.Value, currentChange.DisplayValue, false);\r\n rowRequisite.commit();\r\n }\r\n }\r\n });\r\n }\r\n } else {\r\n let cardRequisite = this.requisites[currentChange.Name];\r\n if (cardRequisite) {\r\n cardRequisite.setValue(currentChange.Value, currentChange.DisplayValue, false);\r\n cardRequisite.commit();\r\n }\r\n }\r\n }\r\n });\r\n return this;\r\n },\r\n\r\n /**\r\n * ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ formData Π½Π° основС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ² Ρ„ΠΎΡ€ΠΌΡ‹.\r\n *\r\n * @method _updateFormData\r\n * @private\r\n * @since 5.7.0\r\n */\r\n _updateFormData() {\r\n if (window.formData) {\r\n const requisites = window.formData.req;\r\n for (const formDataRequisiteName of Object.keys(requisites)) {\r\n const formRequisite = this.requisites[ formDataRequisiteName ];\r\n const newDisplayValue = formRequisite.getDisplayValue();\r\n const newValue = formRequisite.getValue();\r\n\r\n const formDataRequisite = requisites[ formDataRequisiteName ];\r\n formDataRequisite.displayValue = newDisplayValue;\r\n formDataRequisite.value = newValue;\r\n }\r\n } \r\n },\r\n\r\n /**\r\n * Π£ΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹ Π½Π΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ‹.\r\n *\r\n * @method _unTouchRequisites\r\n * @private\r\n * @since 5.7.0\r\n */\r\n _unTouchRequisites() {\r\n // Π“Π»Π°Π²Π½Ρ‹ΠΉ Ρ€Π°Π·Π΄Π΅Π»\r\n for (const requisite of this.requisites.toArray()) {\r\n requisite.setUntouched();\r\n }\r\n\r\n // Π”Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Ρ€Π°Π·Π΄Π΅Π»Ρ‹\r\n for (const tableName of Object.keys(this.controls.tables)) {\r\n const table = this.controls.tables[ tableName ];\r\n\r\n if (table.isChanged()) {\r\n table.setUntouched();\r\n for (const row of table.rows.toArray()) {\r\n if (row.isChanged()) {\r\n for (const requisite of row.requisites.toArray()) {\r\n if (requisite.isChanged()) {\r\n requisite.setUntouched();\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n },\r\n\r\n /**\r\n * ОбновляСм значСния мноТСствСнный Π²Ρ‹Π±ΠΎΡ€ΠΎΠ².\r\n * @private\r\n * @since 5.5.0.1000\r\n */\r\n _applyMultiSelectRequisiteChanges: function (changedMultiSelects) {\r\n var me = this;\r\n\r\n if (!changedMultiSelects) return;\r\n\r\n for (reqName in changedMultiSelects) {\r\n if (me.requisites.isExist(reqName) && me.requisites[reqName].isMultiselect) {\r\n var req = me.requisites[reqName];\r\n var displayValues = changedMultiSelects[reqName].First;\r\n var ids = changedMultiSelects[reqName].Second\r\n\r\n if (req.isMultiselect()) {\r\n // ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²Π΅Π½Π½Ρ‹ΠΉ Π²Ρ‹Π±ΠΎΡ€ ΠΈΠ· ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… справочников.\r\n\r\n displayValues = changedMultiSelects[reqName].First.split(';');\r\n ids = changedMultiSelects[reqName].Second.split(';');\r\n\r\n var values = [];\r\n ids.forEach(function (id, i) {\r\n var idParts = id.split(':');\r\n\r\n var refcode;\r\n if (idParts.length >= 2) {\r\n refcode = idParts[0];\r\n id = idParts[1];\r\n } else {\r\n var refcodes = req.getReferences();\r\n // ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅.\r\n for (refcode in refcodes) break;\r\n }\r\n\r\n values.push({\r\n groupcode: refcode,\r\n id: id,\r\n name: displayValues[i]\r\n });\r\n\r\n });\r\n\r\n req.setValues(values, false);\r\n } else {\r\n // Π•Π΄ΠΈΠ½ΠΈΡ‡Π½Ρ‹ΠΉ Π²Ρ‹Π±ΠΎΡ€ ΠΈΠ· Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… справочников.\r\n req.setValue(ids, displayValues, false);\r\n }\r\n req.commit();\r\n\r\n }\r\n }\r\n\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n /**\r\n * ДинамичСскоС пСрСстроСниС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ pick-Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°\r\n * @private\r\n * @since 5.2.0.2014\r\n */\r\n _applyPickValuesChange: function (changes) {\r\n var me = this;\r\n var parentCurrent = me._current;\r\n\r\n\r\n _(changes).chain().filter(function (req) {\r\n return req.Type === CHANGE_TYPE.PICK_VALUES_CHANGE;\r\n }).each(function (req) {\r\n\r\n if (req.Section) {\r\n //Π”Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Ρ€Π°Π·Π΄Π΅Π»Ρ‹ пропускаСм, Ρ‚.ΠΊ. Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ ΠΈΠ·-Π·Π° Ρ€Π΅ΠΆΠΈΠΌΠ° рСдактирования ΠΈ нСрСдактирования.\r\n return;\r\n\r\n _.each(parentCurrent.details[req.Section].getTables().toArray(), function (table) {\r\n\r\n _.each(table.rows.toArray(), function (row) {\r\n\r\n if (row && row.requisites[req.Name]) {\r\n var needReset = true;\r\n var oldVal = row.requisites[req.Name].getValue();\r\n\r\n row.requisites[req.Name].clearValues();\r\n if (!row.requisites[req.Name].isRequired()) {\r\n row.requisites[req.Name].addValue('', '');\r\n };\r\n\r\n _.each(req.Items, function (item) {\r\n if (oldVal == item.ID) needReset = false;\r\n row.requisites[req.Name].addValue(item.ID, item.DisplayText);\r\n });\r\n\r\n if (needReset) {\r\n row.requisites[req.Name].setValue('', '', false);\r\n }\r\n }\r\n });\r\n });\r\n } else {\r\n //Π Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹ ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠΈ\r\n var oldVal = me.requisites[req.Name].getValue();\r\n var needReset = true;\r\n\r\n me.requisites[req.Name].clearValues();\r\n\r\n if (!me.requisites[req.Name].isRequired()) {\r\n me.requisites[req.Name].addValue('', '');\r\n };\r\n\r\n _.each(req.Items, function (item) {\r\n if (oldVal == item.ID) needReset = false;\r\n me.requisites[req.Name].addValue(item.ID, item.DisplayText);\r\n });\r\n\r\n if (needReset) {\r\n me.requisites[req.Name].setValue('', '', false);\r\n }\r\n }\r\n });\r\n return me;\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n /**\r\n * ОбновляСм Π΄Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Ρ€Π°Π·Π΄Π΅Π»Ρ‹ ΠΏΡ€ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠΈ/ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠΈ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ\r\n * @private\r\n * @since 5.2.0.2014\r\n */\r\n _applySectionsChange(changes) {\r\n\r\n // Π£ΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒ Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒ.\r\n let current = this._current;\r\n let sectionRowMap = {};\r\n\r\n // Π’Ρ‹Π±ΠΎΡ€ΠΊΠ° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π½Ρ‹Ρ… Π΄Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ², Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ‹Π»ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ строки.\r\n changes.forEach((change) => {\r\n if (change.Type === CHANGE_TYPE.DETAIL_ROW_INSERT || change.Type === CHANGE_TYPE.DETAIL_ROW_DELETE) { \r\n let mapRowIdTmp = sectionRowMap[change.Section] || [];\r\n mapRowIdTmp.push(change.RowID); \r\n sectionRowMap[change.Section] = mapRowIdTmp;\r\n }\r\n });\r\n\r\n let sections = Object.keys(sectionRowMap); \r\n if (!sections.length) return this;\r\n \r\n this.save(() => {\r\n // ΠŸΡ€ΠΎΡ…ΠΎΠ΄ΠΈΠΌ ΠΏΠΎ всСму ассоциативному массиву sectionRowMap\r\n sections.forEach((detailSectionNumber) => {\r\n // ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅ΠΌ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·Π΄Π΅Π»Π°.\r\n let detail = current.details[detailSectionNumber];\r\n if (!detail) return this;\r\n \r\n // ΠŸΡ€ΠΎΡ…ΠΎΠ΄ΠΈΠΌ ΠΏΠΎ всСм Ρ‚Π°Π±Π»ΠΈΡ†Π°ΠΌ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·Π΄Π΅Π»Π°.\r\n let detailsTablesArray = detail.getTables().toArray();\r\n\r\n detailsTablesArray.forEach((table) => {\r\n // Π’Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠ·ΠΊΡƒ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹\r\n table.reloadData().done(() => {\r\n // ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ строки ΠΏΠΎ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌΡƒ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠΌΡƒ Ρ€Π°Π·Π΄Π΅Π»Ρƒ.\r\n let mapRowIdTmp = sectionRowMap[detailSectionNumber];\r\n mapRowIdTmp && mapRowIdTmp.forEach((rowId) => {\r\n let tableRows = table.rows.toArray();\r\n // Находим Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½ΡƒΡŽ строку\r\n let addedRow = tableRows.find(item => item.id === rowId);\r\n if (addedRow) {\r\n table.fire(table['class'].EVENT.ROW_ADDED, table.rows[addedRow.id], table);\r\n }\r\n table.fire(table['class'].EVENT.CHANGE);\r\n });\r\n });\r\n });\r\n });\r\n }, false, undefined, {\r\n disableHidePreviousInlineHint: true\r\n });\r\n return this;\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n /**\r\n * ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Ρ„ΠΎΡ€ΠΌΡ‹ Π½Π° страницС.\r\n *\r\n * @method WebAccess.current.form.isExist\r\n * @return {boolean} True – Ρ„ΠΎΡ€ΠΌΠ° Π½Π° страницС сущСствуСт, ΠΈΠ½Π°Ρ‡Π΅ False.\r\n * @since 5.0.0.7100\r\n */\r\n isExist: function () {\r\n return !!this._data;\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n /**\r\n * ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ нСдоступности Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ² Ρ„ΠΎΡ€ΠΌΡ‹.\r\n *\r\n * @method WebAccess.current.form.isDisabled\r\n * @return {boolean} True – Ρ„ΠΎΡ€ΠΌΠ° открываСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для чтСния, ΠΈΠ½Π°Ρ‡Π΅ False.\r\n * @since 5.0.0.7100\r\n */\r\n isDisabled: function () {\r\n return this._isDisabled;\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n /**\r\n * Π‘Π΄Π΅Π»Π°Ρ‚ΡŒ всС Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹ нСдоступными ΠΈ ΡΠΊΡ€Ρ‹Ρ‚ΡŒ ссылку Β«Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ строку».\r\n *\r\n * @method WebAccess.current.form.disable\r\n * @return {WebAccess.current.form} ВСкущая Ρ„ΠΎΡ€ΠΌΠ°.\r\n * @since 5.0.0.7100\r\n */\r\n disable: function () {\r\n var me = this;\r\n $.when(WA.FormControlsInit, WA.FormInit, WA.DetailsInit).then(function () {\r\n me._disable();\r\n if (me.controls)\r\n for (var tableName in me.controls.tables) {\r\n me.controls.tables[tableName].disable();\r\n };\r\n me._isDisabled = true;\r\n });\r\n return this;\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n /**\r\n * Π‘Π΄Π΅Π»Π°Ρ‚ΡŒ всС Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹ доступными ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ ссылку Β«Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ строку».\r\n *\r\n * @method WebAccess.current.form.enable\r\n * @return {WebAccess.current.form} ВСкущая Ρ„ΠΎΡ€ΠΌΠ°.\r\n * @since 5.0.0.7100\r\n */\r\n enable: function () {\r\n var me = this;\r\n me._enable();\r\n for (var tableName in me.controls.tables) {\r\n me.controls.tables[tableName].enable();\r\n };\r\n me._isDisabled = false;\r\n return me;\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n /**\r\n * ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ измСнСния Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ².\r\n *\r\n * @method WebAccess.current.form.isChanged\r\n * @return {boolean} True – Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹ Π±Ρ‹Π»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ‹, ΠΈΠ½Π°Ρ‡Π΅ False.\r\n * @since 5.0.0.7100\r\n */\r\n isChanged: function () {\r\n var me = this;\r\n var reqs = me.requisites.toArray();\r\n for (var reqI = 0; reqI < reqs.length; reqI++) {\r\n if (reqs[reqI].isChanged()) {\r\n return true;\r\n }\r\n }\r\n // ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· Π΄Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ².\r\n var tables = me.controls.tables;\r\n for (var tableName in tables) {\r\n const table = tables[tableName];\r\n // ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠΌ саму Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ, Ρ‚.ΠΊ. ΠΎΠ½Π° ΠΌΠΎΠ³Π»Π° ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒΡΡ ΡƒΠ΄Π°Π»Π°Π΅Π½ΠΈΠ΅ΠΌ строки\r\n if (table.isChanged()) {\r\n return true;\r\n } \r\n }\r\n return false;\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n\r\n /**\r\n * Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΡ€ΠΈ сохранСнии Ρ„ΠΎΡ€ΠΌΡ‹ - ΠΎΠ±Π²ΠΎΠ΄ΠΊΠ° Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ² Π½Π΅Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½Ρ‹Ρ…\r\n * ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ² красным.\r\n * поля для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… доступ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° Ρ‡Ρ‚Π΅Π½ΠΈΠ΅.\r\n *\r\n * @method WebAccess.current.form._highlightRequisites\r\n * @private\r\n * @since 5.0.0.7100\r\n * @return {WebAccess.current.form}\r\n */\r\n _highlightRequisites: function (reqsStr, details) {\r\n\r\n var prevColor;\r\n var me = this;\r\n\r\n if (!reqsStr) return;\r\n\r\n // ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ список Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ²\r\n var reqs = reqsStr.split(\", \");\r\n // ΠŸΡ€ΠΎΠ±Π΅Π³Π°Π΅ΠΌΡΡ ΠΏΠΎ списку Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹\r\n for (var i = 0; i < reqs.length; i++) {\r\n var requisite;\r\n if (reqs[i].indexOf('$') !== -1) {\r\n var reqNameParts = reqs[i].split('$');\r\n var detailNum = +reqNameParts[0];\r\n var rowId = +reqNameParts[1];\r\n var reqName = reqNameParts[2];\r\n\r\n var tables = details[detailNum].getTables().toArray();\r\n for (var t = 0; t < tables.length; t++) {\r\n var table = tables[t];\r\n var row = table.rows[rowId];\r\n if (!row) continue;\r\n\r\n requisite = row.requisites[reqName];\r\n if (!requisite) continue;\r\n\r\n requisite.highlight();\r\n }\r\n } else {\r\n requisite = me.requisites[reqs[i]];\r\n if (!requisite) continue;\r\n\r\n requisite.highlight();\r\n }\r\n }\r\n return this;\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n /**\r\n * БнятиС красной ΠΎΠ±Π²ΠΎΠ΄ΠΊΠΈ со всСх Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ².\r\n *\r\n * @method WebAccess.current.form._unHighlightRequisites\r\n * @private\r\n * @since 5.0.0.7100\r\n * @return {WebAccess.current.form}\r\n */\r\n _unHighlightRequisites: function () {\r\n $('.Card_Element').find('.Req_Error').removeClass('Req_Error');\r\n return this;\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n /**\r\n * Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΡƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.\r\n *\r\n * @method WebAccess.current.form.save\r\n * @param {function} callback Ѐункция, вызваСтся послС сохранСния.\r\n * @param {Boolean} needSaveObject ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ - Π½ΡƒΠΆΠ½ΠΎ Π»ΠΈ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ измСнСния Π² Π±Π°Π·Ρƒ.\r\n * @param {Integer} folderIdToPaste Папка для вставки ссылки Π½Π° сохраняСм ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.\r\n * @param {Object} [options] Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ настройки сохранСния.\r\n * @param {String} options.needShowError НуТно Π»ΠΈ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΎΡˆΠΈΠ±ΠΊΡƒ.\r\n * @param {String} options.disableHidePreviousInlineHint НуТно Π»ΠΈ ΡΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΡƒΡŽ ΠΎΡˆΠΈΠ±ΠΊΡƒ ΠΏΡ€ΠΈ ΡƒΠ΄Π°Ρ‡Π½ΠΎ сохранСнии.\r\n * @return {WebAccess.current.form} ВСкущая Ρ„ΠΎΡ€ΠΌΠ° ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° с сохранСнными измСнСниями.\r\n * @since 5.0.0.7100\r\n */\r\n save: function (callback, needSaveObject, folderIdToPaste, options) {\r\n return this.saveAndAttach(callback, needSaveObject, new WA.Link(folderIdToPaste, OBJECT_TYPE.FOLDER), options);\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n /**\r\n * Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΈ Π²Π»ΠΎΠΆΠΈΡ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΡƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π² ΠΏΠ°ΠΏΠΊΡƒ, Π·Π°Π΄Π°Ρ‡Ρƒ, Π·Π°Π΄Π°Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅.\r\n * @method WebAccess.current.form.saveAndAttach\r\n * @param {function} callback Ѐункция, вызваСтся послС сохранСния.\r\n * @param {Boolean} needSaveObject ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ - Π½ΡƒΠΆΠ½ΠΎ Π»ΠΈ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ измСнСния Π² Π±Π°Π·Ρƒ.\r\n * @param {Object} receiverObjectLink ΠžΠ±ΡŠΠ΅ΠΊΡ‚ для вставки ссылки Π½Π° сохраняСм ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.\r\n * @param {Object} [options] Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ настройки сохранСния.\r\n * @param {String} options.needShowError НуТно Π»ΠΈ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΎΡˆΠΈΠ±ΠΊΡƒ.\r\n * @param {String} options.disableHidePreviousInlineHint НуТно Π»ΠΈ ΡΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΡƒΡŽ ΠΎΡˆΠΈΠ±ΠΊΡƒ ΠΏΡ€ΠΈ ΡƒΠ΄Π°Ρ‡Π½ΠΎ сохранСнии.\r\n * @return {WebAccess.current.form} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° form.\r\n * @since 5.0.0.7100\r\n */\r\n saveAndAttach: function (callback, needSaveObject, receiverObjectLink, options) {\r\n return this._saveExtended(callback, needSaveObject, receiverObjectLink, $.extend({\r\n needShowError: true\r\n }, options));\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n /**\r\n * Π Π°ΡΡˆΠΈΡ€Π΅Π½Π½ΠΎΠ΅ сохранСниС ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠΈ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° (большС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ).\r\n *\r\n * @method WebAccess.current.form._saveExtended\r\n * @since 5.1.0.1305\r\n * @private\r\n * @return {WebAccess.current.form}\r\n */\r\n _saveExtended: function (callback, needSaveObject, receiverObjectLink, options) {\r\n var me = this;\r\n me.fire('prepareSave');\r\n\r\n options = options || {};\r\n // ΠŸΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ ΠΎΡˆΠΈΠ±ΠΊΡƒ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ?\r\n options.needShowError = (options.needShowError !== false);\r\n options.disableHidePreviousInlineHint = (options.disableHidePreviousInlineHint === true);\r\n\r\n me._unHighlightRequisites();\r\n\r\n if (me.isDisabled()) {\r\n if (callback) callback(false);\r\n return me;\r\n };\r\n\r\n needSaveObject = !!needSaveObject;\r\n\r\n var form = (!!me._current) ? me._current.form : global.current.form;\r\n var data = {\r\n Obj: $.toJSON(me._data.obj),\r\n View: WA.CR.getReferenceView(),\r\n Req: me._getRequisitesToSend(form),\r\n Cmd: $.toJSON(me._commandList),\r\n NeedSaveObject: needSaveObject,\r\n ReceiverObjectLink: receiverObjectLink\r\n };\r\n me.fireAll(\"Save\", me._saveData, data, callback, options);\r\n\r\n return me;\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n _getRequisitesToSend: function (form) {\r\n var res = {};\r\n\r\n // ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠΈ.\r\n var reqs = form.requisites.toArray();\r\n for (var reqI = 0; reqI < reqs.length; reqI++) {\r\n var req = reqs[reqI];\r\n if (!req.isCommited() && (req.isChanged() || req.isNew() || (req._data.type === 'pick' && req.isRequired() && req.isRendered()))) {\r\n res[req.name] = req.getValue();\r\n };\r\n };\r\n\r\n // ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· Π΄Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ².\r\n if (form.controls) {\r\n var tables = form.controls.tables;\r\n for (var tableName in tables) {\r\n var rows = tables[tableName].rows.toArray();\r\n for (var i = 0; i < rows.length; i++) {\r\n $.extend(res, rows[i]._getActualValues())\r\n };\r\n };\r\n };\r\n return $.toJSON(res)\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n /**\r\n * ΠžΡ‚ΠΏΡ€Π°Π²ΠΊΠ° сохраняСмых Π΄Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π΅.\r\n *\r\n * @method WebAccess.current.form._save\r\n * @private\r\n * @since 5.0.0.7100\r\n * @return {WebAccess.current.form}\r\n */\r\n _saveData(data, callback, options) { \r\n let params = {\r\n Obj: data.Obj,\r\n View: data.View,\r\n Req: data.Req,\r\n Cmd: data.Cmd,\r\n NeedSaveObject: data.NeedSaveObject,\r\n ReceiverObjectLink: (!!data.ReceiverObjectLink && data.ReceiverObjectLink.id ? data.ReceiverObjectLink.toLinkModel() : null), \r\n }\r\n if (!this._current._jDialog) {\r\n params.Mode = (new WA.URL()).getParam('mode').toUpperCase()\r\n }\r\n\r\n let d = $.Deferred();\r\n WA.SRV.call(this.serviceUrl + '/SaveAndAttach', params, null, null, true).done((result, response) => { \r\n if (WA.CMP.NTF.InlineHint && !options.disableHidePreviousInlineHint) {\r\n WA.CMP.NTF.InlineHint.hideAll();\r\n }\r\n this._updateModel(result, this._current.details, data.NeedSaveObject); \r\n if (data.NeedSaveObject) {\r\n UnbindBeforeUnload();\r\n BindBeforeUnload(); \r\n this._unTouchRequisites();\r\n } \r\n if (typeof callback === 'function' || callback instanceof Function) {\r\n callback(true, response.Warning);\r\n }\r\n HideTopSpinner(); \r\n d.resolve(result);\r\n }).fail((message, response) => { \r\n this._updateModel(response.Result, global.current.details, data.NeedSaveObject);\r\n let inlineHint = WA.CR.inlineHint;\r\n this._handleFailSave(response, options.needShowError, callback, global.current.details, inlineHint);\r\n d.reject();\r\n });\r\n return d.promise();\r\n },\r\n\r\n /**\r\n * ΠžΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ Π½Π΅ΡƒΡΠΏΠ΅ΡˆΡ‹ΠΉ запрос ΠΊ Π²Π΅Π±-ΠΌΠ΅Ρ‚ΠΎΠ΄Ρƒ сохранСния ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠΈ. \r\n * @method WebAccess.current.form._handleFailSave\r\n * @param {Object} response ΠžΡ‚Π²Π΅Ρ‚ Π²Π΅Π±-ΠΌΠ΅Ρ‚ΠΎΠ΄Π°.\r\n * @param {bool} needShowError ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ отобраТСния ошибки: True - Ссли ΠΎΡˆΠΈΠ±ΠΊΡƒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ, ΠΈΠ½Π°Ρ‡Π΅ False.\r\n * @param {function} callback Ѐункция, которая Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ Π²Ρ‹Π·Π²Π°Π½Π° послС сохранСния.\r\n * @param {Object} details Π”Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Ρ€Π°Π·Π΄Π΅Π»Ρ‹.\r\n * @param {Object} inlineHint ВстроСнная подсказка. \r\n * @private\r\n * @since 5.5.0 \r\n */\r\n _handleFailSave(response, needShowError, callback, details, inlineHint) { \r\n const severity = (response.Severity !== \"-1\" ? Number(response.Severity) : undefined); \r\n // ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅ΠΌ Π΅ΡΡ‚ΡŒ Π»ΠΈ Π² ошибкС {}\r\n if (needShowError) {\r\n let message;\r\n const isJSON = new RegExp(/^\\{.+\\}$/);\r\n if (isJSON.test(response.Error)) {\r\n const err = JSON.parse(response.Error);\r\n // ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ сообщСниС Π±Π΅Π· указания Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ²\r\n message = format(L(\"ERROR_MSG\"), err.message);\r\n this._highlightRequisites(err.reqs, details);\r\n } else { \r\n message = format(L(\"ERROR_MSG\"), response.Error); \r\n }\r\n const inlineHintParams = {\r\n priority: INLINE_HINT_PRIORITY.PRIMARY,\r\n type: severity,\r\n }; \r\n inlineHint.show(format(L(\"ERROR_MSG\"), message), inlineHintParams);\r\n };\r\n if (typeof callback === 'function' || callback instanceof Function) {\r\n callback(false, response.Warning);\r\n }\r\n HideTopSpinner();\r\n },\r\n \r\n /**\r\n * УстанавливаСт Π˜Π” Π½ΠΎΠ²Ρ‹ΠΌ строкам послС сохранСния.\r\n * @method WebAccess.current.form._fillRowsID\r\n * @private\r\n * @since 5.0.0.7100\r\n * @return {WebAccess.current.form}\r\n */\r\n _fillRowsID(appendedRecords, details) {\r\n // ЗаполняСм Π˜Π” для Π½ΠΎΠ²Ρ‹Ρ… строк. \r\n if (appendedRecords) {\r\n\r\n let model = JSON.parse(appendedRecords);\r\n const rowNumber2IDs = model.RowNumber2ID || [];\r\n for (const rowNumber of rowNumber2IDs) {\r\n const tbl = $(`table[data-section=${rowNumber.Section}'][id]`);\r\n $(`#row${rowNumber.Number}`, tbl).data('id', rowNumber.ID);\r\n }\r\n\r\n const newRowIDs = model.ApendedRecords || [];\r\n for (const newRow of newRowIDs) { \r\n const section = newRow[0];\r\n const tempID = newRow[1];\r\n const realID = newRow[2];\r\n const tables = details[section].getTables().toArray();\r\n\r\n const table = tables.find((table) => {\r\n return !!table.rows[tempID];\r\n });\r\n table._updateRowID(tempID, realID);\r\n\r\n // ΠžΠ±Π½ΡƒΠ»ΡΠ΅ΠΌ ΠΏΡ€ΠΈΠ·Π½Π°ΠΊ isNew\r\n table.rows[realID]._isNew = false;\r\n const reqs = table.rows[realID].requisites.toArray();\r\n reqs.forEach((r) => { \r\n r._isNew = false; \r\n });\r\n\r\n this._commandList = this._commandList.filter((cmd) => {\r\n return cmd.ID != tempID && cmd.Section != section\r\n });\r\n } \r\n }; \r\n return this;\r\n }, \r\n\r\n /**\r\n * ΠžΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ‚ модСль ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠΈ.\r\n *\r\n * @method WebAccess.current.form._updateModel\r\n * @param {string} result Π‘Ρ‚Ρ€ΠΎΠΊΠ°, содСрТащая ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠΈ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ JSON.\r\n * @param {Object} details Π”Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹Π΅ Ρ€Π°Π·Π΄Π΅Π»Ρ‹.\r\n * @param {bool} needApplyChanges ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ нСобходимости примСнСния ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ: True - Ссли измСнСния Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ, ΠΈΠ½Π°Ρ‡Π΅ False.\r\n * @private\r\n * @since 5.7.0\r\n */\r\n _updateModel(result, details, needApplyChanges) {\r\n if (result) {\r\n const model = JSON.parse(result);\r\n if (!this._current._jDialog) {\r\n if (needApplyChanges) { \r\n // ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΠ΅ΠΌ сСрвСрныС измСнСния.\r\n this.applyServerSideChanges(\r\n model.Changes,\r\n model.ChangedMultiSelectRequisitesValues,\r\n );\r\n \r\n // ОбновлСниС formData Π½Π° основС ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ²\r\n this._updateFormData(); \r\n }\r\n \r\n // ОбновляСм Ρ‚ΡƒΠ»Π±Π°Ρ€. \r\n this._current.initToolbar('ToolbarContainer', model.ToolBarModel); \r\n \r\n // ОбновляСм Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ страницы.\r\n const headerDomElement = $('#ctl00_CardHeader_PageHeader').find('.react-container')[0];\r\n if (headerDomElement) {\r\n WA.CR.initCardHeader(headerDomElement, model.CardHeader);\r\n } \r\n }\r\n \r\n // ЗаполняСм Π˜Π” строк Π² Π΄Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π°Π·Π΄Π΅Π»Π°Ρ….\r\n this._fillRowsID(model.AdditionalCardFormResult, details);\r\n } \r\n }\r\n //---------------------------------------------------------------------//\r\n }, {\r\n EVENT: {\r\n /**\r\n * Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ срабатываСт, Ссли Π΄Π°Π½Π½Ρ‹Π΅ Π½Π° Ρ„ΠΎΡ€ΠΌΠ΅ Π±Ρ‹Π»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ‹.\r\n *\r\n * @event WebAccess.components.wrappers.form.Form.EVENT.CHANGE\r\n * @param {object} context Бсылка Π½Π° экзСмпляр класса\r\n * @since 5.5.0.2201\r\n */\r\n CHANGE: 'change'\r\n //-------------------------------------------------------------------//\r\n }\r\n });\r\n\r\n global.components.wrappers.form.Form = Form;\r\n})(window.WebAccess);\r\n","\"use strict\";\r\n\r\n/**\r\n* Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ списка ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².\r\n*\r\n* @class WebAccess.components.wrappers.objectList.ListItem\r\n* @since 5.0.0.4102\r\n* @extends BasePageElement\r\n* @property {string} id Π˜Π” ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°\r\n* @property {string} name Имя ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°\r\n* @property {string} kind Π’ΠΈΠΏ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. НапримСр, Π·Π°Π΄Π°Ρ‡Π°, Π·Π°Π΄Π°Π½ΠΈΠ΅, Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚\r\n* @param {string} itemSelector Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ элСмСнт списка\r\n* @param {boolean} isTableItem ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ элСмСнт являСтся строкой Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹\r\n*/\r\n(function (global) {\r\n\r\n var ListItem = WebAccess.components.wrappers.BasePageElement.extend([global.mixins.linkMixin], {\r\n init: function (itemSelector, isTableItem, data) {\r\n let me = this;\r\n let clickElementSelector = isTableItem ? 'a' : '.object-list-item__title-span';\r\n\r\n me._super(itemSelector);\r\n me._jObject = $(itemSelector);\r\n\r\n if (!isTableItem) {\r\n me.id = me._jObject.attr('id');\r\n me.name = me._jObject.find(\".objectname\").text();\r\n\r\n me.kind = me._jObject.attr('kind').toUpperCase();\r\n\r\n if (me.kind !== 'VER') {\r\n me.type = objectKindToObjectType(me.kind);\r\n } else {\r\n clickElementSelector = '.doc-version__name';\r\n }\r\n me.referenceName = me.referenceCode = me._jObject.attr('compcode');\r\n me.isSelected = me._jObject.find('input:first').is(':checked');\r\n } else {\r\n $.extend(me, data);\r\n }\r\n\r\n me.click = () => me._jObject.find(clickElementSelector)[0].click();\r\n\r\n me._setupBindings();\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n className: \"ListItem\",\r\n id: null,\r\n name: null,\r\n kind: null,\r\n type: null,\r\n referenceName: null,\r\n referenceCode: null,\r\n isSelected: false,\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Установка событий. ΠŸΡ€ΠΈ Ρ‰Π΅Π»Ρ‡ΠΊΠ΅ Π½Π° чСкбокс, Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌ событиС Ρƒ всСго списка, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΠ΄ΠΎΠ±Π½ΠΎ Π±Ρ‹Π»ΠΎ ΠΌΠ΅Π½ΡΡ‚ΡŒ состояниС ΠΊΠ½ΠΎΠΏΠΎΠΊ Ρ‚ΡƒΠ»Π±Π°Ρ€Π° Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€.\r\n * @private\r\n * @return {WebAccess.components.wrappers.objectList.ListItem}\r\n */\r\n _setupBindings() {\r\n let me = this;\r\n this._jObject\r\n .find('input.chk')\r\n .off('change.objectList itemChecked')\r\n .on('change.objectList itemChecked', function () {\r\n let jCheckboxObject = $(this);\r\n if (jCheckboxObject.is(':checked')) {\r\n global.current.objectList.fire('itemSelect', me);\r\n } else {\r\n global.current.objectList.fire('itemUnSelect', me);\r\n }\r\n });\r\n return me;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΈΠΊΠΎΠ½ΠΊΡƒ связанных ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².\r\n *\r\n * @method WebAccess.components.wrappers.objectList.ListItem#showBindIcon\r\n * @return {WebAccess.components.wrappers.objectList.ListItem} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ класса ListItem.\r\n * @since 5.1.0.1523\r\n */\r\n showBindIcon: function () {\r\n this._jObject.find('.object-list-item__addicon_type_bound').show();\r\n\r\n return this;\r\n },\r\n\r\n /**\r\n * Π‘ΠΊΡ€Ρ‹Ρ‚ΡŒ элСмСнт списка.\r\n * @method WebAccess.components.wrappers.objectList.ListItem#hide\r\n * @return {WebAccess.components.wrappers.objectList.ListItem} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ класса ListItem.\r\n */\r\n hide: function () {\r\n this._jObject.hide();\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ элСмСнт списка.\r\n *\r\n * @method WebAccess.components.wrappers.objectList.ListItem#show\r\n * @return {WebAccess.components.wrappers.objectList.ListItem} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ класса ListItem.\r\n */\r\n show: function () {\r\n this._jObject.show();\r\n return this;\r\n }\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n });\r\n\r\n global.components.wrappers.objectList.ListItem = ListItem;\r\n})(window.WebAccess);\r\n","\"use strict\";\r\n\r\n/**\r\n* Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ списка ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ². \r\n* \r\n* @class WebAccess.components.wrappers.objectList.CustomWorkListItem\r\n* @since 5.3.0.1010\r\n* @extends ListItem\r\n* @property {string} id Π˜Π” ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°\r\n* @property {string} name Имя ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°\r\n* @property {string} kind Π’ΠΈΠΏ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. НапримСр, Π·Π°Π΄Π°Ρ‡Π°, Π·Π°Π΄Π°Π½ΠΈΠ΅, Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚\r\n* @param {string} itemSelector Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ элСмСнт списка\r\n* @param {boolean} isTableItem ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ элСмСнт являСтся строкой Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹\r\n*/\r\n(function (global) {\r\n\r\n var CustomWorkListItem = WebAccess.components.wrappers.objectList.ListItem.extend({\r\n /**\r\n * УдаляСт Ρƒ задания ΡΡ‚ΠΈΠ»ΡŒ Π½Π΅ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π½Π½ΠΎΠ³ΠΎ задания.\r\n * @returns {WebAccess.components.wrappers.objectList.CustomWorkListItem} \r\n */\r\n removeUnreadStyle: function () {\r\n this._jObject.removeClass('unread');\r\n return this;\r\n },\r\n /**\r\n * ДобавляСт ΠΊ заданию ΡΡ‚ΠΈΠ»ΡŒ Π½Π΅ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π½Π½ΠΎΠ³ΠΎ задания.\r\n * @returns {WebAccess.components.wrappers.objectList.CustomWorkListItem} \r\n */\r\n addUnreadStyle: function () {\r\n this._jObject.addClass('unread');\r\n return this;\r\n },\r\n /**\r\n * Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΏΡ€ΠΈΠ·Π½Π°ΠΊ прочитанности задания.\r\n * @returns {boolean} \r\n */\r\n isUnread: function () {\r\n return this._jObject.hasClass('unread');\r\n }\r\n });\r\n\r\n global.components.wrappers.objectList.CustomWorkListItem = CustomWorkListItem;\r\n})(window.WebAccess);","'use strict';\r\n/**\r\n * Π’Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΈΠ· списка с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ установки ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»Ρ.\r\n *\r\n * @event WebAccess.components.wrappers.objectList.ObjectList#onSelect\r\n * @param {WebAccess.components.wrappers.objectList.ListItem} item ΠžΠ±ΡŠΠ΅ΠΊΡ‚ списка-ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΡŒ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±Ρ‹Π» установлСн Π² Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚\r\n * @param {WebAccess.components.wrappers.objectList.ListItem[]} checkedItems ВсС Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ списка\r\n * @example\r\n *\r\n * WA.current.objectList.bind('onSelect', function (last, allItems) {\r\n * \r\n * console.log(last.name); //Π’Π΅Ρ€Π½Π΅Ρ‚ имя Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ элСмСнта Π² спискС.\r\n * \r\n * //Π’Π΅Ρ€Π½Π΅Ρ‚ ΠΈΠΌΠ΅Π½Π° всСх Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… Π² Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ‚ элСмСнтов Π² спискС.\r\n * for (var i =0; i < allItems.length; i++) {\r\n * console.log(allItems[i].name);\r\n * }\r\n * });\r\n */\r\n\r\n/**\r\n * ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ со списками ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².\r\n * НапримСр, ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ список ΠΎΡ‚Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² – Π·Π°Π΄Π°Ρ‡, Π·Π°Π΄Π°Π½ΠΈΠΉ ΠΈ ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ Π² ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊΠ΅, Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π² спискС Π·Π°ΠΊΠ»Π°Π΄ΠΎΠΊ,\r\n * ΡΠ½ΡΡ‚ΡŒ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ с элСмСнтов Ρ‚Π°Π±Π»ΠΈΡ‡Π½ΠΎΠΉ части справочника.\r\n *\r\n * @class WebAccess.components.wrappers.objectList.ObjectList\r\n * @property {string} containerSelector Π‘Π»ΠΎΠΊ, содСрТащий список\r\n * @property {string} objectSelector Π­Π»Π΅ΠΌΠ΅Π½Ρ‚ списка\r\n * @fires WebAccess.components.wrappers.objectList.ObjectList#onSelect ВызываСтся послС Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ Π±Ρ‹Π» Π²Ρ‹Π±Ρ€Π°Π½ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΈΠ· списка\r\n * @fires WebAccess.components.wrappers.objectList.ObjectList#onChange ВызываСтся послС внСсСния ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² состав списка\r\n * @since 5.0.0.4102\r\n */\r\n\r\n(function (global) {\r\n\r\n\r\n var ObjectList = BaseObject.extend({\r\n className: 'ObjectList',\r\n\r\n init(containerSelector) {\r\n this._super(containerSelector);\r\n\r\n this.containerSelector = '#main_container,#Attachments';\r\n this._jMainContainer = $(this.containerSelector);\r\n\r\n this._setupBindings();\r\n this._getType();\r\n\r\n this.getItems();\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n containerSelector: '',\r\n objectSelector: '.List',\r\n _isAllSelected: false,\r\n _items: {},\r\n _jMainContainer: null,\r\n _jSearchTarget: null,\r\n _isTable: false,\r\n _selectedItemsCache: [],\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * УстанавливаСт ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠ΅ содСрТимоС вмСсто Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ списка ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².\r\n *\r\n * @method WebAccess.components.wrappers.objectList.ObjectList.setHtml\r\n * @return {WebAccess.components.wrappers.objectList} Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ deferred-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.\r\n */\r\n setHtml(html) {\r\n this._jMainContainer.html(`
    ${html}
    `);\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ элСмСнты списка.\r\n *\r\n * @method WebAccess.components.wrappers.objectList.ObjectList.getItems\r\n * @return {WebAccess.components.wrappers.objectList.ListItem[]}\r\n */\r\n getItems() {\r\n let items = {};\r\n\r\n this._jSearchTarget = this._jMainContainer.find(this.objectSelector);\r\n if (this._isTable) {\r\n this._jSearchTarget = this._getItemsElementsInTable(this._jSearchTarget);\r\n }\r\n\r\n let obj;\r\n for (let searchTarget of this._jSearchTarget.toArray()) {\r\n let jSearchTarget = $(searchTarget);\r\n if (jSearchTarget.hasClass('Task_obj') || jSearchTarget.hasClass('Job_obj')) {\r\n obj = new global.components.wrappers.objectList.CustomWorkListItem(searchTarget, this._isTable);\r\n } else {\r\n obj = new global.components.wrappers.objectList.ListItem(searchTarget, this._isTable);\r\n }\r\n\r\n if (obj.id) {\r\n items[obj.id] = obj;\r\n }\r\n }\r\n\r\n this._items = items;\r\n return items;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n isAllItemsSelected() {\r\n return this._isAllSelected;\r\n },\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ списка, ΠΎΡ‚Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ сСлСктором.\r\n *\r\n * @method WebAccess.components.wrappers.objectList.ObjectList.getFilteredItems\r\n * @param {string} [filterSelector = this.objectSelector] jQuery-сСлСктор для Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ списка элСмСнтов.\r\n * @return {WebAccess.components.wrappers.objectList.ListItem[]} Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ deferred-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.\r\n */\r\n getFilteredItems(filterSelector = this.objectSelector) {\r\n let filteredItems = this._jMainContainer.find(filterSelector).toArray();\r\n\r\n return filteredItems.reduce((result, element) => {\r\n let item = $(element);\r\n let newItem = this._getItemIdByjObject(item);\r\n if (newItem) {\r\n result.push(newItem);\r\n }\r\n return result;\r\n }, []);\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π£Π΄Π°Π»ΠΈΡ‚ΡŒ элСмСнты ΠΈΠ· списка.\r\n *\r\n * @method WebAccess.components.wrappers.objectList.ObjectList.removeItems\r\n * @param {object} links Бписок ссылок для удалСния.\r\n * @param {boolean} [needUpdateTree = false] ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ нСобходимости обновлСния Π΄Π΅Ρ€Π΅Π²Π° ΠΏΠ°ΠΏΠΎΠΊ.\r\n */\r\n removeItems(links, needUpdateTree = false) {\r\n // Для обновлСния Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² кэшС установим, Ρ‡Ρ‚ΠΎ кэш устарСл\r\n this._selectedItemsCache = [];\r\n\r\n let selector;\r\n $.each(links, (_, l) => {\r\n selector = `#${l.id}.folder_item`;\r\n if (links && links[0] && links[0].type && links[0].type === OBJECT_TYPE.ANY) {\r\n selector = '.folder_item';\r\n }\r\n\r\n var linkKind = l.kind ? l.kind.toLowerCase() : objectTypeToString(l.type).toLowerCase();\r\n $(selector).each((index, link) => {\r\n let me = $(link);\r\n let elementKind = me.attr('kind').toLowerCase();\r\n\r\n if (elementKind === linkKind || linkKind === 'any') {\r\n if (elementKind === 'job' || elementKind === 'task' || elementKind === 'fol') {\r\n needUpdateTree = true;\r\n }\r\n me.remove();\r\n }\r\n });\r\n });\r\n\r\n if (needUpdateTree) {\r\n WA.CR.folderTree.update(function () {\r\n document.title = WA.CR.folderTree.getCurrentFolderName();\r\n });\r\n }\r\n },\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Π½Ρ‹Π΅ элСмСнты списка.\r\n * @method WebAccess.components.wrappers.objectList.ObjectList.getSelectedElements\r\n * @return {WebAccess.components.wrappers.objectList.ListItem[]}\r\n */\r\n getSelectedItems() {\r\n if (!this._selectedItemsCache.length) {\r\n this._selectedItemsCache = this.getFilteredItems('.selected');\r\n }\r\n\r\n return this._selectedItemsCache;\r\n },\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π½Π΅Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Π½Ρ‹Π΅ элСмСнты списка.\r\n * @method WebAccess.components.wrappers.objectList.ObjectList.getUnselectedItems \r\n * @return {WebAccess.components.wrappers.objectList.ListItem[]}\r\n * @since 5.6.0\r\n */\r\n getUnselectedItems() {\r\n return this.getFilteredItems(':not(.selected)');\r\n },\r\n\r\n /**\r\n * ВыдСляСт всС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ списка.\r\n * @method WebAccess.components.wrappers.objectList.ObjectList.selectAll\r\n * @return {WebAccess.current.objectList}\r\n */\r\n selectAll() {\r\n // Для обновлСния Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² кэшС установим, Ρ‡Ρ‚ΠΎ кэш устарСл\r\n this._selectedItemsCache = [];\r\n const rowsCount = GetRowsCount();\r\n this.setCheckedForFilteredItems(':not(.selected)', true);\r\n this._isAllSelected = (rowsCount === this.getSelectedItems().length);\r\n HideTopSpinner(L('ITEMS_SELECETED', rowsCount));\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ВыдСляСт элСмСнт списка.\r\n * @method WebAccess.components.wrappers.objectList.ObjectList.selectItemByID\r\n * @return {WebAccess.current.objectList}\r\n */\r\n selectItemByID(id) {\r\n // Для обновлСния Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² кэшС установим, Ρ‡Ρ‚ΠΎ кэш устарСл\r\n this._selectedItemsCache = [];\r\n\r\n this.setCheckedForFilteredItems('#' + id + '.List', true);\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ВыдСляСт элСмСнт списка.\r\n * @method WebAccess.components.wrappers.objectList.ObjectList.selectItem\r\n * @return {WebAccess.current.objectList}\r\n */\r\n selectItem(link) {\r\n // Для обновлСния Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² кэшС установим, Ρ‡Ρ‚ΠΎ кэш устарСл\r\n this._selectedItemsCache = [];\r\n\r\n this.selectItemByID(link.id);\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π‘Π½ΠΈΠΌΠ°Π΅Ρ‚ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ со всСх элСмСнтов списка.\r\n * @method WebAccess.components.wrappers.objectList.ObjectList.deselectAll\r\n * @return {WebAccess.current.objectList} Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ deferred-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.\r\n */\r\n deselectAll() {\r\n // Для обновлСния Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² кэшС установим, Ρ‡Ρ‚ΠΎ кэш устарСл\r\n this._selectedItemsCache = [];\r\n\r\n this._isAllSelected = false;\r\n this.setCheckedForFilteredItems('.selected', false);\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * БнятиС ΠΈΠ»ΠΈ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ элСмСнта ΠΈΠ· списка ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².\r\n *\r\n * @method WebAccess.components.wrappers.objectList.ObjectList#toggleItem\r\n * @param {object} jItemCheckBox jQuery-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ чСкбокса выдСляСмого элСмСнта.\r\n * @param {object} [jItem] jQuery-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ выдСляСмого элСмСнта списка.\r\n * @param {bool} [isChecked] True - Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ элСмСнт, False - ΡΠ½ΡΡ‚ΡŒ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅.\r\n */\r\n toggleItem(jItemCheckBox, jItem, isChecked) {\r\n // Для обновлСния Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² кэшС установим, Ρ‡Ρ‚ΠΎ кэш устарСл\r\n this._selectedItemsCache = [];\r\n\r\n // Если Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½ jQuery-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ элСмСнта списка, Π½Π°ΠΉΠ΄Π΅ΠΌ Π΅Π³ΠΎ\r\n if (!jItem) {\r\n jItem = jItemCheckBox.parents('.List');\r\n }\r\n \r\n // Если Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½Π° ΠΎΡ‚ΠΌΠ΅Ρ‡Π΅Π½Π½ΠΎΡΡ‚ΡŒ элСмСнта, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌ Π΅Π΅\r\n if (typeof isChecked === 'undefined') {\r\n isChecked = !jItem.hasClass('selected');\r\n }\r\n\r\n if (isChecked) {\r\n jItem.addClass('selected');\r\n } else {\r\n jItem.removeClass('selected');\r\n }\r\n jItemCheckBox.prop('checked', isChecked);\r\n\r\n jItemCheckBox.trigger('itemChecked', []);\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π˜Π½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ всСх ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² списка.\r\n *\r\n * @method WebAccess.components.wrappers.objectList.ObjectList.invertSelection\r\n * @return {WebAccess.current.objectList} Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ deferred-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.\r\n */\r\n invertSelection() {\r\n // Для обновлСния Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² кэшС установим, Ρ‡Ρ‚ΠΎ кэш устарСл\r\n this._selectedItemsCache = [];\r\n\r\n var jCheckedItemsLength = this._jSearchTarget.filter('.selected').length;\r\n // Если Π½Π΅Π±Ρ‹Π»ΠΎ Π½ΠΈΡ‡Π΅Π³ΠΎ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎ ΠΈ Π½Π°ΠΆΠ°Π»ΠΈ Π½Π° ΠΈΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅, Ρ‚ΠΎ выдСляСм всС.\r\n this._isAllSelected = (jCheckedItemsLength === 0);\r\n this.setCheckedForFilteredItems('', 'toggle');\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n executeContentAction(actionName) {\r\n let folderLink = new WA.Link(WA.CR.ID, OBJECT_TYPE.FOLDER, '');\r\n return WA.actions.executeContentAction(actionName, folderLink);\r\n },\r\n\r\n /**\r\n * УстанавливаСт ΠΈΠ»ΠΈ снимаСт Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ с элСмСнтов списка, ΠΎΡ‚Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… filterSelector.\r\n *\r\n * @method WebAccess.components.wrappers.objectList.ObjectList.setCheckedForFilteredItems \r\n */\r\n setCheckedForFilteredItems(filterSelector, isChecked) {\r\n // Для обновлСния Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² кэшС установим, Ρ‡Ρ‚ΠΎ кэш устарСл\r\n this._selectedItemsCache = [];\r\n\r\n // ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ список ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚\r\n let jItems = this._jMainContainer.find(this.objectSelector);\r\n if (filterSelector) {\r\n jItems = jItems.filter(filterSelector);\r\n }\r\n\r\n // ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ чСкбоксы\r\n let jItemCheckboxes = jItems.find('input');\r\n jItemCheckboxes.each((index, checkbox) => {\r\n let jItemCheckBox = $(checkbox);\r\n let currentItemIsChecked;\r\n if (isChecked === 'toggle') {\r\n currentItemIsChecked = !jItemCheckBox.is(':checked');\r\n } else {\r\n currentItemIsChecked = isChecked;\r\n }\r\n this.toggleItem(jItemCheckBox, jItems.eq(index), currentItemIsChecked);\r\n });\r\n jItems.redraw();\r\n UpdateSelectionNumbers();\r\n let lastItemId = this._getItemIdByjObject(jItems.last());\r\n this.fire(\r\n 'onSelect',\r\n lastItemId,\r\n this.getSelectedItems()\r\n );\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π’ΠΈΠΏ списка: Ρ‚Π°Π±Π»ΠΈΡ†Π° ΠΈΠ»ΠΈ Π½Π΅Ρ‚.\r\n *\r\n * @method WebAccess.components.wrappers.objectList.ObjectList._getType\r\n * @private\r\n * @return {boolean}\r\n */\r\n _getType() {\r\n return this._isTable = !!this._jMainContainer && !!this._jMainContainer.attr('class') && this._jMainContainer.attr('class').indexOf('slickgrid') !== -1;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Установка событий, ΠΏΡ€ΠΈ ΠΊΠ»ΠΈΠΊΠ°Ρ… Π½Π° чСкбоксы. Π§Ρ‚ΠΎΠ±Ρ‹ срабатывали Π³Π»ΠΎΠ±Π°Π»ΡŒΠ½Ρ‹Π΅ события.\r\n *\r\n * @method WebAccess.components.wrappers.objectList.ObjectList._setupBindings\r\n * @private\r\n * @return {WebAccess.current.objectList}\r\n */\r\n _setupBindings() {\r\n this.bind('itemsChange', () => {\r\n this._onItemsChanged();\r\n });\r\n\r\n this.bind('itemSelect', (item) => {\r\n item.isChecked = true;\r\n if (!this._getType()) {\r\n let allItemsCount = GetRowsCount() || WA.CR.objectList.getFilteredItems().length;\r\n if (this.getSelectedItems().length === +allItemsCount) {\r\n //Для поисков Π½Π΅ устанавливаСм ΠΊΠ½ΠΎΠΏΠΊΡƒ Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ всё\r\n if (!GetParamInURL('searchname')) {\r\n $('#chkAll').prop('checked', true);\r\n this._isAllSelected = true;\r\n }\r\n }\r\n }\r\n this._onItemSelected(item);\r\n });\r\n\r\n this.bind('itemUnSelect', (item) => {\r\n // Для обновлСния Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π² кэшС установим, Ρ‡Ρ‚ΠΎ кэш устарСл\r\n this._selectedItemsCache = [];\r\n item.isChecked = false;\r\n if (!this._getType()) {\r\n $('#chkAll').prop('checked', false);\r\n }\r\n this._onItemSelected(item);\r\n });\r\n\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΡ€ΠΈ AJAX Π°Π²Ρ‚ΠΎΠΏΠΎΠ΄Π³Ρ€ΡƒΠ·ΠΊΠ΅ элСмСнтов, Π½Π°Π΄ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ список ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².\r\n *\r\n * @private\r\n * @method WebAccess.components.wrappers.objectList.ObjectList._onItemsChanged\r\n * @return {WebAccess.components.wrappers.objectList.ListItem[]}\r\n */\r\n _onItemsChanged() {\r\n let items = this.getItems();\r\n this.fire(\r\n 'onChange',\r\n this.getSelectedItems(),\r\n items,\r\n );\r\n return items;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//1\r\n\r\n /**\r\n * ΠŸΡ€ΠΈ ΠΊΠ»ΠΈΠΊΠ΅ Π½Π° чСкбокс, Π²Ρ‹Π·ΠΎΠ²Π΅ΠΌ своС событиС.\r\n *\r\n * @private\r\n * @method WebAccess.components.wrappers.objectList.ObjectList._onItemSelected\r\n * @return {WebAccess.current.objectList}\r\n */\r\n _onItemSelected(item) {\r\n this.fire(\r\n 'onSelect',\r\n item,\r\n this.getSelectedItems(),\r\n );\r\n return this;\r\n },\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ элСмСнты списка ΠΎΡ‚Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ сСлСктором.\r\n *\r\n * @private\r\n * @method WebAccess.components.wrappers.objectList.ObjectList._onItemSelected\r\n * @return {WebAccess.components.wrappers.objectList.ListItem}\r\n */\r\n _getItemIdByjObject(jObject) {\r\n const id = jObject.attr('id');\r\n return this._items[id];\r\n },\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ элСмСнты Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹.\r\n *\r\n * @private\r\n * @method WebAccess.components.wrappers.objectList.ObjectList._getItemsElementsInTable\r\n * @params {object} Бписок элСмСнтов, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ слСдуСт произвСсти поиск.\r\n * @return {jQuery}\r\n */\r\n _getItemsElementsInTable(items) {\r\n return items\r\n .not('.dxgvSelectedRow')\r\n .not('.dxgvGroupRow')\r\n .not('.dxgvEmptyDataRow');\r\n }\r\n\r\n });\r\n\r\n global.CMP.wrappers.objectList.ObjectList = ObjectList;\r\n\r\n})(window.WebAccess);","\"use strict\";\r\n/** \r\n* ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ со списками ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊΠ΅. \r\n* НапримСр, ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ список ΠΎΡ‚Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² – Π·Π°Π΄Π°Ρ‡, Π·Π°Π΄Π°Π½ΠΈΠΉ ΠΈ ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ Π² ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊΠ΅, Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π² спискС Π·Π°ΠΊΠ»Π°Π΄ΠΎΠΊ, \r\n* ΡΠ½ΡΡ‚ΡŒ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ с элСмСнтов Ρ‚Π°Π±Π»ΠΈΡ‡Π½ΠΎΠΉ части справочника.\r\n*\r\n* @class WebAccess.components.wrappers.objectList.FolderList\r\n* @since 5.2.0.2000\r\n*/\r\n\r\n(function (global) {\r\n\r\n var FolderList = global.CMP.wrappers.objectList.ObjectList.extend({\r\n state: null,\r\n maxItemsCount: 0,\r\n\r\n init: function () {\r\n var me = this;\r\n me._super.apply(me, arguments);\r\n this.maxItemsCount = window.g_MaxRowsPerPage || EXPLORER.MAX_OBJECT_ROWS_COUNT;\r\n me.state = {\r\n likeFilterValue: '',\r\n likeFilterRequisites: null,\r\n predefinedFilter: null,\r\n sort: null,\r\n sortIsAsc: true,\r\n isShowFolders: null\r\n }\r\n },\r\n\r\n setPredefinedFilter: function (name) {\r\n this.state.predefinedFilter = name;\r\n return this;\r\n },\r\n getPredefinedFilter: function () {\r\n return this.state.predefinedFilter;\r\n },\r\n isPredefinedFilterEmpty: function () {\r\n return !this.state.predefinedFilter;\r\n },\r\n\r\n setSort: function (name, sortIsAsc) {\r\n if (_.isObject(name)) {\r\n this.state.sort = name.name;\r\n this.state.sortIsAsc = name.sortIsAsc;\r\n } else {\r\n this.state.sort = name;\r\n this.state.sortIsAsc = sortIsAsc;\r\n }\r\n return this;\r\n },\r\n getSort: function () {\r\n return {\r\n name: this.state.sort,\r\n sortIsAsc: this.state.sortIsAsc\r\n }\r\n },\r\n\r\n setLikeFilter: function (likeValue, likeRequisites) {\r\n this.state.likeFilterValue = likeValue;\r\n this.state.likeFilterRequisites = likeRequisites;\r\n return this;\r\n },\r\n getLikeFilter: function () {\r\n return this.state.likeFilterValue;\r\n },\r\n getlikeFilterRequisites: function () {\r\n return this.state.likeFilterRequisites;\r\n },\r\n\r\n /**\r\n * ΠŸΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ содСрТимоС Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ΠΏΠ°ΠΏΠΊΠΈ.\r\n *\r\n * @method reload\r\n * @return {Deferred}\r\n * @see https://api.jquery.com/category/deferred-object/\r\n */\r\n reload: function () {\r\n var me = this;\r\n var d = $.Deferred();\r\n\r\n var jMainContainer = $('#main_container');\r\n var jObjectContents = $('.object_contents');\r\n\r\n var currentScrollTop;\r\n if ($.scrollActive) {\r\n currentScrollTop = jMainContainer.offset().top - jObjectContents.offset().top;\r\n } else {\r\n currentScrollTop = jMainContainer.scrollTop();\r\n }\r\n var jFolderItems = jObjectContents.children('.folder_item');\r\n\r\n // ВычисляСм какая страница сСйчас ΠΏΠΎΠΊΠ°Π·Π°Π½Π° Π½Π° экранС Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. ΠžΠΊΡ€ΡƒΠ³Π»ΡΠ΅ΠΌ Π² Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ сторону, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ссли Π΄Π°ΠΆΠ΅ Ρ‡Π°ΡΡ‚ΡŒ слСд. страницы ΠΏΠΎΠΊΠ°Π·Π°Π½Π°, ΠΎΠ½Π° Π·Π°Π³Ρ€ΡƒΠ·ΠΈΠ»Π°ΡΡŒ.\r\n var pageHeight = this.maxItemsCount * jFolderItems.first().outerHeight();\r\n var shownPage = (pageHeight === 0) ? 0 : Math.ceil(((currentScrollTop + jMainContainer.height()) / pageHeight));\r\n\r\n const folderId = WA.CR.getID();\r\n const url = new WA.URL();\r\n const folderMode = url.getParam(window.FOLDER_GRID.FOLDER_MODE_URL_PARAM) ||\r\n window.Core.pages.explorer.getCurrentViewFolderMode();\r\n\r\n me._loadAndInsertNewPage({\r\n folderId: folderId,\r\n folderMode: folderMode,\r\n pageNumber: 1,\r\n pageCountToLoad: shownPage,\r\n needUseFilters: true,\r\n needUseSort: true,\r\n afterLoadCallback: () => {\r\n // Π‘ΠΌΠ΅Ρ‰Π°Π΅ΠΌ скрол Π½Π° ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π΅ мСсто.\r\n jMainContainer.scrollTop(currentScrollTop);\r\n d.resolve();\r\n window.Core.pages.explorer.updateOrApplyGridOptions(folderId, folderMode);\r\n }\r\n });\r\n\r\n return d.promise();\r\n },\r\n\r\n /**\r\n * Π—Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠΈ.\r\n *\r\n * @method loadFolderContent\r\n * @param {number} folderId Π˜Π” ΠΏΠ°ΠΏΠΊΠΈ.\r\n * @return {Deferred}\r\n * @see https://api.jquery.com/category/deferred-object/\r\n */\r\n loadFolderContent: function (folderId) {\r\n var d = $.Deferred();\r\n this._loadAndInsertNewPage({\r\n folderId: folderId,\r\n pageNumber: 1,\r\n pageCountToLoad: 1,\r\n needUseFilters: false,\r\n needUseSort: false,\r\n afterLoadCallback: function () {\r\n // Π‘ΠΌΠ΅Ρ‰Π°Π΅ΠΌ скрол Π² Π½Π°Ρ‡Π°Π»ΠΎ страницы.\r\n $('#main_container').scrollTop(0);\r\n d.resolve();\r\n }\r\n });\r\n\r\n return d.promise();\r\n },\r\n\r\n // Π—Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ ΠΈ вставляСт Π² HTML-ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ Π½ΡƒΠΆΠ½ΡƒΡŽ страницу ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².\r\n _loadAndInsertNewPage: function (params) {\r\n var me = this;\r\n var jObjectContents = $('.object_contents');\r\n\r\n var nextPage;\r\n var itemsToLoad;\r\n if (params.pageCountToLoad && params.pageCountToLoad > 0) {\r\n itemsToLoad = params.pageCountToLoad * this.maxItemsCount;\r\n // Если Π³Ρ€ΡƒΠ·ΠΈΠΌ большС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Ρ‡Π΅ΠΌ Π½Π° 1 страницы, Ρ‚ΠΎ ΡƒΡ‡ΠΈΡ‚Ρ‹Π²Π°Π΅ΠΌ это Π² слСд. страницС.\r\n nextPage = params.pageCountToLoad + 1;\r\n } else {\r\n itemsToLoad = this.maxItemsCount;\r\n nextPage = params.pageNumber + 1;\r\n }\r\n\r\n WA.CR.ID = params.folderId;\r\n jObjectContents.data('nextPage', nextPage);\r\n\r\n me._loadPage(params.folderId, params.pageNumber, itemsToLoad, params.needUseFilters, params.needUseSort).done(function (html) {\r\n if (!CheckForLoginPage(html)) {\r\n\r\n jObjectContents.html(html);\r\n\r\n if ($.isFunction(params.afterLoadCallback)) {\r\n params.afterLoadCallback.call(me);\r\n }\r\n\r\n //HACK: Для IE11 Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°ΡŽΡ‚ дСйствиС ΠΏΠΎ наимСнованию записанныС Π² Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Π΅ onclick. Π’Π°ΠΊΠΎΠΉ Ρ…Π°ΠΊ заставляСт ΠΈΡ… Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ.\r\n if (WA.ENV.browser.name === 'IE' && WA.ENV.browser.major === '11') {\r\n $.each(jObjectContents.find('div[onclick]'), function () {\r\n var onclick = $(this).attr('onclick');\r\n $(this).attr('onclick', onclick + ';');\r\n });\r\n }\r\n\r\n jObjectContents.children().first().addClass('hover');\r\n if (!jObjectContents.children('.folder_item').length) {\r\n let emptyMessage = L('EMPTY');\r\n let folderOrFilter = 'folder';\r\n if (params.needUseFilters && me.getPredefinedFilter() || me.getLikeFilter()) {\r\n emptyMessage = L('EMPTY_WITH_FILTER');\r\n folderOrFilter = 'filter';\r\n }\r\n jObjectContents.append(`\r\n
    \r\n
    \r\n
    \r\n
    ${emptyMessage}
    \r\n
    \r\n
    \r\n `);\r\n }\r\n EntityListInit(jObjectContents, true);\r\n if (params.needUseFilters) {\r\n InitObjectContentsAutoLoad(me.state.likeFilterValue, me.state.likeFilterRequisites);\r\n } else {\r\n InitObjectContentsAutoLoad();\r\n }\r\n\r\n me.updateState();\r\n }\r\n });\r\n },\r\n\r\n /**\r\n * Π—Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ HTML-ΠΊΠΎΠ΄Π° pageNumber страницы с элСмСнтами ΠΈΠ· ΠΏΠ°ΠΏΠΊΠΈ.\r\n *\r\n * @method _loadPage\r\n * @param {number} folderId Π˜Π” ΠΏΠ°ΠΏΠΊΠΈ.\r\n * @param {number} pageNumber НомСр страницы Π² Π²Ρ‹Π±ΠΎΡ€ΠΊΠ΅.\r\n * @param {number} [opt_itemsToLoad = -1] Число элСмСнтов для Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ.\r\n * @param {boolean} [opt_needUseFilters = true] ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ нСобходимости использования Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ.\r\n * @param {boolean} [opt_needUseSort = true] ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ нСобходимости использования сотрировки.\r\n * @return {Deferred} HTML Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΈ страницы с элСмСнтами ΠΈΠ· ΠΏΠ°ΠΏΠΊΠΈ.\r\n * @private\r\n * @see https://api.jquery.com/category/deferred-object/\r\n */\r\n _loadPage: function (folderId, pageNumber, opt_itemsToLoad, opt_needUseFilters, opt_needUseSort) { \r\n var me = this;\r\n var def = $.Deferred();\r\n\r\n var jObjectContents = $('.object_contents');\r\n var uid = '';\r\n if (jObjectContents.data('uid')) {\r\n uid = jObjectContents.data('uid');\r\n }\r\n\r\n var newQueryParams = {\r\n c: jObjectContents.data('component'),\r\n id: folderId,\r\n page: pageNumber,\r\n itemsToLoad: opt_itemsToLoad || -1,\r\n ctrl: encodeURIComponent(jObjectContents.attr('id')),\r\n uid: uid\r\n }; \r\n\r\n if (opt_needUseFilters !== false) {\r\n $.extend(newQueryParams, {\r\n filterValue: me.state.likeFilterValue,\r\n filterReq: me.state.likeFilterRequisites,\r\n predefinedFilter: me.state.predefinedFilter\r\n });\r\n }\r\n\r\n if (opt_needUseSort !== false) {\r\n $.extend(newQueryParams, {\r\n sort: (me.state.sortIsAsc ? '' : '-') + me.state.sort\r\n });\r\n }\r\n\r\n var currentQueryParams = new WA.URL(location.search.substr(1));\r\n currentQueryParams.removeParam('sort');\r\n currentQueryParams.removeParam('id');\r\n currentQueryParams.removeParam('fpath');\r\n\r\n if (!currentQueryParams.getParam(window.FOLDER_GRID.FOLDER_MODE_URL_PARAM)) {\r\n newQueryParams[ window.FOLDER_GRID.FOLDER_MODE_URL_PARAM ] = window.Core.pages.explorer.getCurrentViewFolderMode();\r\n }\r\n\r\n ShowTopSpinner();\r\n $.ajax({\r\n type: \"GET\",\r\n dataType: \"html\",\r\n url: \"DynControl.ashx?\" + currentQueryParams.asString() + '&' + $.param(newQueryParams),\r\n cache: false,\r\n success: function (res) {\r\n HideTopSpinner('', 0);\r\n def.resolve(res);\r\n },\r\n error: function (err) {\r\n HideTopSpinner('', 0);\r\n def.reject(err);\r\n }\r\n });\r\n\r\n return def.promise();\r\n },\r\n\r\n /**\r\n * ΠžΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ‚ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π΅Π΅ состояниС списка ΠΈ пСрСстраиваСт ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ КОМ.\r\n * @param {object} state БостояниС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°. \r\n */\r\n updateState: function (state) {\r\n var me = this;\r\n if (state) $.extend(me.state, state);\r\n\r\n //Обновим ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ клиСнтской ОМ\r\n me.fire(\"itemsChange\");\r\n me.fire(\"itemUnSelect\", {});\r\n\r\n //Ббросим ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»ΡŒ выдСлСния всСх ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².\r\n me._isAllSelected = false;\r\n },\r\n\r\n /**\r\n * УстанавливаСт Ρ„Π»Π°Π³ отобраТСния ΠΏΠ°ΠΏΠΎΠΊ Π² состоянии ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.\r\n * @param {} value Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ„Π»Π°Π³Π°. \r\n */\r\n setIsShowFolders: function(value) {\r\n this.state.isShowFolders = value;\r\n },\r\n\r\n /**\r\n * НСобходимо Π»ΠΈ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΏΠ°ΠΏΠΊΠΈ.\r\n * \r\n * @returns {boolean} \r\n */\r\n isShowFolders: function() {\r\n return !!this.state.isShowFolders;\r\n }\r\n });\r\n\r\n global.CMP.wrappers.objectList.FolderList = FolderList;\r\n\r\n})(window.WebAccess);","\"use strict\";\r\n/**\r\n* ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΠ΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Ρƒ со списками ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊΠ΅.\r\n* НапримСр, ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ список ΠΎΡ‚Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Π½Π½Ρ‹Ρ… ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² – Π·Π°Π΄Π°Ρ‡, Π·Π°Π΄Π°Π½ΠΈΠΉ ΠΈ ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ Π² ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊΠ΅, Π²Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π² спискС Π·Π°ΠΊΠ»Π°Π΄ΠΎΠΊ,\r\n* ΡΠ½ΡΡ‚ΡŒ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ с элСмСнтов Ρ‚Π°Π±Π»ΠΈΡ‡Π½ΠΎΠΉ части справочника.\r\n*\r\n* @class WebAccess.components.wrappers.objectList.ObjectsAsTable\r\n* @since 5.2.0.2004\r\n*/\r\n\r\n(function (global) {\r\n\r\n var ObjectsTable = global.CMP.wrappers.objectList.ObjectList.extend({\r\n className: 'ObjectsTable',\r\n\r\n init: function (containerSelector) {\r\n var me = this;\r\n me._items = {};\r\n me._selectedItems = {};\r\n me._super(containerSelector);\r\n Core.toolBars.main.enableCheckBoxOnItemsSelect();\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n // УстанавливаСт ссылку Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ Π³Ρ€ΠΈΠ΄.\r\n _setGrid: function () {\r\n var me = this;\r\n me._grid = Core.grid.reference;\r\n me._slickGrid = me._grid.grid;\r\n me._slickGridDataView = me._grid.dataView;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ элСмСнты списка.\r\n *\r\n * @method WebAccess.components.wrappers.objectList.ObjectList.getItems\r\n * @comment Keit_B: Π² справкС Π½Π΅ нашла. Пока Π½Π΅ Ρ‚Ρ€ΠΎΠ³Π°ΡŽ.\r\n * @return {WebAccess.components.wrappers.objectList.ListItem[]}\r\n */\r\n getItems: function () {\r\n return this._items;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΡ€ΠΈ AJAX Π°Π²Ρ‚ΠΎΠΏΠΎΠ΄Π³Ρ€ΡƒΠ·ΠΊΠ΅ элСмСнтов, Π½Π°Π΄ΠΎ ΠΎΠ±Π½ΠΎΠ²Π»ΡΡ‚ΡŒ список ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².\r\n *\r\n * @method WebAccess.components.wrappers.objectList.ObjectList._onItemsChanged\r\n * @private\r\n * @return {WebAccess.components.wrappers.objectList.ListItem[]}\r\n */\r\n _onItemsChanged: function () {\r\n var me = this;\r\n me._setGrid();\r\n var rowsData = me._slickGrid.getData().getItems();\r\n me._items = {};\r\n _(rowsData).each(function (rowData) {\r\n if (!isNaN(rowData.id)) {\r\n var itemData = {\r\n id: +rowData.id,\r\n name: rowData.__name,\r\n code: rowData.__code,\r\n kind: 'REF',\r\n type: objectKindToObjectType('REF'),\r\n referenceName: me._grid.state.ReferenceName,\r\n referenceCode: me._grid.state.ReferenceName,\r\n isSelected: true\r\n };\r\n var itemSelector = '#' + rowData.id;\r\n var jItem = $(itemSelector);\r\n if (jItem.hasClass('Task_obj') || jItem.hasClass('Job_obj')) {\r\n me._items[+rowData.id] = new global.components.wrappers.objectList.CustomWorkListItem(itemSelector, true, itemData);\r\n } else {\r\n me._items[+rowData.id] = new global.components.wrappers.objectList.ListItem(itemSelector, true, itemData);\r\n }\r\n }\r\n });\r\n me.fire(\"onChange\", me.getSelectedItems(), me._items);\r\n return me._items;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Π½Ρ‹Π΅ элСмСнты списка.\r\n * @method WebAccess.components.wrappers.objectList.ObjectList.getSelectedElements\r\n * @return {WebAccess.components.wrappers.objectList.ListItem[]}\r\n */\r\n getSelectedItems: function () {\r\n var me = this;\r\n me._setGrid();\r\n var selectedRowIds = me._slickGridDataView.getSelectedRowIds();\r\n\r\n // БохраняСм Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π² ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ для возмоТности получСния ΠΈΡ… с любой страницы.\r\n // Π€ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π½ΡƒΠΆΠ½ΠΎ, Ρ‚.ΠΊ. Π³Π°Π»ΠΎΡ‡ΠΊΠΈ ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ сняты, Π° Π³Ρ€ΠΈΠ΄ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ всСгда Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠ΅ Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹Π΅.\r\n var newSelectedItemsData = {};\r\n _(selectedRowIds).each(function (rowIdStr) {\r\n if (typeof rowIdStr !== \"undefined\") {\r\n var rowId = +rowIdStr;\r\n newSelectedItemsData[rowId] = me._items[rowId] || me._selectedItems[rowId];\r\n }\r\n });\r\n me._selectedItems = newSelectedItemsData;\r\n\r\n return _.toArray(me._selectedItems);\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΡ€ΠΈ ΠΊΠ»ΠΈΠΊΠ΅ Π½Π° чСкбокс, Π²Ρ‹Π·ΠΎΠ²Π΅ΠΌ своС событиС.\r\n *\r\n * @method WebAccess.components.wrappers.objectList.ObjectList._onItemSelected\r\n * @private\r\n * @return {WebAccess.current.objectList}\r\n */\r\n _onItemSelected: function (item) {\r\n this.fire('onSelect', item, this.getSelectedItems());\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π’Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ всС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ списка.\r\n * @method WebAccess.components.wrappers.objectList.ObjectList.selectAll\r\n * @return {WebAccess.current.objectList}\r\n */\r\n selectAll: function () {\r\n var me = this;\r\n me._isAllSelected = true;\r\n\r\n me._setGrid();\r\n var rowsData = me._slickGrid.getData().getItems();\r\n var selectedRowNums = _.range(rowsData.length);\r\n me._slickGrid.setSelectedRows(selectedRowNums);\r\n\r\n me._raiseOnSelectEvent('last');\r\n\r\n return me;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π‘Π½ΡΡ‚ΡŒ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ со всСх элСмСнтов списка.\r\n * @method WebAccess.components.wrappers.objectList.ObjectList.deselectAll\r\n * @return {WebAccess.current.objectList} Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ deferred-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.\r\n */\r\n deselectAll: function () {\r\n var me = this;\r\n me._isAllSelected = false;\r\n\r\n me._setGrid();\r\n me._slickGrid.setSelectedRows([]);\r\n\r\n me._raiseOnSelectEvent(null);\r\n\r\n return me;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π’Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ элСмСнт списка.\r\n * @method WebAccess.components.wrappers.objectList.ObjectList.selectAll\r\n * @return {WebAccess.current.objectList}\r\n */\r\n selectItemByID: function (id) {\r\n var me = this;\r\n\r\n me._setGrid();\r\n var selectedRowNums = me._slickGrid.getSelectedRows();\r\n selectedRowNums.push(me._slickGrid.getData().getIdxById(+id));\r\n me._slickGrid.setSelectedRows(selectedRowNums);\r\n\r\n me._raiseOnSelectEvent(me._items[+id]);\r\n\r\n return me;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π˜Π½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ всСх ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² списка.\r\n *\r\n * @method WebAccess.components.wrappers.objectList.ObjectList.invertSelection\r\n * @return {WebAccess.current.objectList} Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ deferred-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.\r\n */\r\n invertSelection: function () {\r\n var me = this;\r\n\r\n me._setGrid();\r\n\r\n var selectedRowNums = me._slickGrid.getSelectedRows();\r\n\r\n var rowsData = me._slickGrid.getData().getItems();\r\n var allItemNums = _.range(rowsData.length);\r\n\r\n var newSelectedRowNums = _.difference(allItemNums, selectedRowNums);\r\n me._slickGrid.setSelectedRows(newSelectedRowNums);\r\n\r\n me._raiseOnSelectEvent('last');\r\n\r\n return me;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n _raiseOnSelectEvent: function (item) {\r\n var me = this;\r\n\r\n UpdateSelectionNumbers();\r\n var selected = me.getSelectedItems() || [];\r\n if (item === 'last') {\r\n var lastSelected = null;\r\n if (selected.length > 0) {\r\n lastSelected = selected[selected.length - 1];\r\n }\r\n me.fire('onSelect', lastSelected, selected);\r\n } else {\r\n me.fire('onSelect', item, selected);\r\n }\r\n },\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ списка, ΠΎΡ‚Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ сСлСктором.\r\n *\r\n * @method WebAccess.components.wrappers.objectList.ObjectList.getFilteredItems\r\n * @return {WebAccess.components.wrappers.objectList.ListItem[]} Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ deferred-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.\r\n */\r\n getFilteredItems: function (filterSelector) {\r\n if (filterSelector === '.selected') {\r\n return this.getSelectedItems();\r\n }\r\n throw new Error(\"Not supported.\");\r\n }\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n });\r\n\r\n global.CMP.wrappers.objectList.ObjectsTable = ObjectsTable;\r\n\r\n})(window.WebAccess);\r\n","\"use strict\";\r\n(function (global) {\r\n\r\n/**\r\n* Π‘Π°Π·ΠΎΠ²Ρ‹ΠΉ класс Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°.\r\n*\r\n* @class WebAccess.components.wrappers.form.requisites.BaseRequisite\r\n* @extends BaseObject\r\n* @property {string} name Имя Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°\r\n* @property {string} calssName Имя класса\r\n* @property {string} fullName ПолноС имя Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°. ΠžΡΡ‚Π°Π²Π»Π΅Π½ΠΎ для совмСстимости\r\n* @property {array} controlsIds Бписок Π˜Π” элСмСнтов управлСния\r\n* @property {array} controls Бписок элСмСнтов управлСния\r\n* @param {string} requisiteName Имя Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°\r\n * @param {object|string} data ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ элСмСнта страницы, Π»ΠΈΠ±ΠΎ Π΅Π³ΠΎ сСлСктор\r\n*/\r\n var BaseRequisite = BaseObject.extend({\r\n className: \"BaseRequisite\",\r\n\r\n name: \"\",\r\n fullName: '',\r\n hasCalculation: false,\r\n\r\n controlsIds: [],\r\n controls: [],\r\n _isCalculationDisabled: false,\r\n _isNew: false,\r\n _isChanged: false,\r\n _isCommited: false,\r\n _isDisabled: null,\r\n _data: null,\r\n _parent: null,\r\n _referenceViewName: '',\r\n Init: null,\r\n // Бписок всСх Init для всСх ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΎΠ² Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°. ΠžΡ‚ Π½ΠΈΡ… зависит глобальноС событиС Init.\r\n _allControlsInit: null,\r\n //---------------------------------------------------------------------//\r\n\r\n init: function (requisiteName, data, opt_parent) {\r\n this.Init = $.Deferred();\r\n this._allControlsInit = [];\r\n\r\n if (!$.isPlainObject(data)) {\r\n var selector = data;\r\n data = {\r\n controls: [selector],\r\n displayValue: \"\",\r\n isRequired: false,\r\n isRendered: true,\r\n isReadOnly: false,\r\n isSystem: false,\r\n value: \"\"\r\n }\r\n }\r\n\r\n this._parent = opt_parent;\r\n\r\n if (typeof (data) == 'object') {\r\n this._data = data;\r\n } else {\r\n return this._super(requisiteName);\r\n };\r\n\r\n this.hasCalculation = data.hasCalculation;\r\n this.name = requisiteName;\r\n this.fullName = requisiteName;\r\n\r\n if (this._data.row_id && this._data.sectionNumber) {\r\n this.fullName = format(\"{0}${1}${2}\", this._data.sectionNumber, this._data.row_id, this.fullName);\r\n };\r\n\r\n this.controlsIds = this._data.controls || [];\r\n this._type = data.type;\r\n this._referenceViewName = data.referenceView;\r\n\r\n this.controls = this._getControls();\r\n this._isDisabled = this.isDisabled(); \r\n this._super(this.controls, true);\r\n this._bindEvents();\r\n this._bindUnHighlightOnChange(); // НС Π² _bindEvents, Ρ‚.ΠΊ. _bindEvents пСрСопрСдСляСтся Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… классах Π½Π΅ вызывая Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ.\r\n this._isChanged = false;\r\n this._isCommited = false;\r\n this._raiseInitEvent();\r\n },\r\n\r\n /**\r\n * Π“Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ событиС ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°ΠΈΠΈ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°.\r\n * @private\r\n */\r\n _raiseInitEvent: function () {\r\n var me = this;\r\n\r\n $.when.apply(null, me._allControlsInit).then(function () {\r\n me.Init.resolve();\r\n });\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n /**\r\n * Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ снятия подсвСтки ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° (#108403)\r\n * @private\r\n * @since 5.0.0.2008\r\n * @return WebAccess.components.wrappers.form.requisites.BaseRequisite\r\n */\r\n _bindUnHighlightOnChange: function () {\r\n var me = this;\r\n me.bind('change', me.unHighlight, me);\r\n return me;\r\n },\r\n\r\n /**\r\n * ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ сСрвСрных вычислСний Π½Π° Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π΅.\r\n\t *\r\n * @method WebAccess.components.wrappers.form.requisites.BaseRequisite#isCalculationDisabled\r\n * @return {boolean}\r\n * @since 5.2.0.2014\r\n */\r\n isCalculationDisabled: function () {\r\n return this._isCalculationDisabled;\r\n },\r\n\r\n /**\r\n * Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ прСдставлСниС справочника.\r\n * @method WebAccess.components.wrappers.form.requisites.BaseRequisite#referenceViewName\r\n * @return {string} Π‘Ρ‚Ρ€ΠΎΠΊΠ°, содСрТащая прСдставлСниС справочника.\r\n\t* @since 5.5.0.9023\r\n */\r\n referenceViewName: function () {\r\n return this._referenceViewName;\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n /**\r\n * ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ, Ρ‡Ρ‚ΠΎ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ систСмный.\r\n * @method WebAccess.components.wrappers.form.requisites.BaseRequisite#isSystem\r\n * @return {boolean} True – Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ систСмный, ΠΈΠ½Π°Ρ‡Π΅ False.\r\n\t* @since 5.5.0.9000\r\n */\r\n isSystem: function () {\r\n return this._data.isSystem;\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n /**\r\n * УстанавливаСт тСкст Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ подсказки.\r\n * @method WebAccess.components.wrappers.form.requisites.BaseRequisite#setTooltip\r\n\t * @param {string} value ВСкст Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ подсказки.\r\n * @return {WebAccess.components.wrappers.form.requisites.BaseRequisite} НаслСдник ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‚ΠΈΠΏΠ° BaseRequisite Π² зависимости ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡƒ классу относится Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚.\r\n * @since 5.2.0.2014\r\n */\r\n setTooltip: function (value) {\r\n $('.tooltip[for=\"' + this.name + '\"]').qtip('option', 'content.text', value);\r\n return this;\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ тСкст Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ подсказки.\r\n \t*\r\n * @method WebAccess.components.wrappers.form.requisites.BaseRequisite#getTooltip\r\n * @return {string} ВСкст Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ подсказки.\r\n * @since 5.2.0.2014\r\n */\r\n getTooltip: function () {\r\n var tooltip = $('.tooltip[for=\"' + this.name + '\"]').qtip('option', 'content.text');\r\n return (!_.isString(tooltip)) ? '' : tooltip;\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n /**\r\n * ΠžΡ‚ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ сСрвСрныС вычислСния Π½Π° Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π΅.\r\n\t *\r\n * @method WebAccess.components.wrappers.form.requisites.BaseRequisite#disableCalculation\r\n * @return {WebAccess.components.wrappers.form.requisites.BaseRequisite} НаслСдник ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‚ΠΈΠΏΠ° BaseRequisite Π² зависимости ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡƒ классу относится Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚.\r\n * @since 5.2.0.2014\r\n */\r\n disableCalculation: function () {\r\n this._isCalculationDisabled = true;\r\n return this;\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n /**\r\n * Π’ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ сСрвСрныС вычислСния Π½Π° Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π΅.\r\n\t *\r\n * @method WebAccess.components.wrappers.form.requisites.BaseRequisite#enableCalculation\r\n * @return {WebAccess.components.wrappers.form.requisites.BaseRequisite} НаслСдник ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‚ΠΈΠΏΠ° BaseRequisite Π² зависимости ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡƒ классу относится Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚.\r\n * @since 5.2.0.2014\r\n */\r\n enableCalculation: function () {\r\n this._isCalculationDisabled = false;\r\n return this;\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Ρ‚ΠΈΠΏ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°.\r\n\t*\r\n * @method WebAccess.components.wrappers.form.requisites.BaseRequisite#getType\r\n * @return {REQUISITE_TYPE} Π’ΠΈΠΏ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°.\r\n * @since 5.2.0.2014\r\n */\r\n getType: function () {\r\n return requisiteTypeFromString(this._type) || this._type;\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n /**\r\n * @ignore\r\n */\r\n isNew: function () {\r\n return this._isNew;\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n /**\r\n * ΠžΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ спиннСр Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π° Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°\r\n * @method WebAccess.components.wrappers.form.requisites.BaseRequisite#_showSpinner\r\n * @since 5.2.0.2014\r\n * @private\r\n * @return WebAccess.components.wrappers.form.requisites.BaseRequisite\r\n */\r\n _showSpinner: function () {\r\n var me = this;\r\n for (var i = 0; i < me.controls.length; i++) {\r\n var jControl = me.controls[i];\r\n jControl.parent().append('
    ');\r\n }\r\n return me;\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n /**\r\n * Π‘ΠΊΡ€Ρ‹Ρ‚ΡŒ спиннСр\r\n * @method WebAccess.components.wrappers.form.requisites.BaseRequisite#_hideSpinner\r\n * @since 5.2.0.2014\r\n * @private\r\n * @return {WebAccess.components.wrappers.form.requisites.BaseRequisite} НаслСдник ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‚ΠΈΠΏΠ° BaseRequisite Π² зависимости ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡƒ классу относится Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚\r\n */\r\n _hideSpinner: function () {\r\n var me = this;\r\n for (var i = 0; i < me.controls.length; i++) {\r\n var jControl = me.controls[i];\r\n jControl.parent().find('.circle-spinner').remove();\r\n }\r\n return me;\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n /**\r\n * Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ событий\r\n * @private\r\n * @method WebAccess.components.wrappers.form.requisites.BaseRequisite#_bindEvents\r\n * @since 5.0.0.7100\r\n * @return WebAccess.components.wrappers.form.requisites.BaseRequisite\r\n */\r\n _bindEvents: function () {\r\n if (this.controls.length === 0) return this;\r\n\r\n var me = this;\r\n _(me.controls).each(function (jControl) {\r\n me._bindControlEvents(jControl);\r\n });\r\n\r\n return me;\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n /**\r\n * @private\r\n * @method WebAccess.components.wrappers.form.requisites.BaseRequisite#_bindControlEvents\r\n * @since 5.0.0.7100\r\n */\r\n _bindControlEvents: function (jControl) {\r\n var me = this;\r\n var reqFullName = me.fullName;\r\n\r\n jControl.off('change.BaseRequisite').on('change.BaseRequisite', function (ev) {\r\n var value = me.getValue($(this));\r\n var displayValue = me.getDisplayValue($(this));\r\n me._fireChange(reqFullName, value, displayValue, ev);\r\n });\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n /**\r\n * Π’Ρ‹Π·Π²Π°Ρ‚ΡŒ событиС измСнСния\r\n * @private\r\n */\r\n _fireChange: function (reqFullName, value, displayValue, opt_ev) {\r\n var me = this;\r\n me.touch();\r\n me.fire(\"change\", this, opt_ev, { name: reqFullName, value: value, displayValue: displayValue });\r\n },\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Ρ‹ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°\r\n * @method WebAccess.components.wrappers.form.requisites.BaseRequisite#_getControls\r\n * @since 5.0.0.7100\r\n * @private\r\n * @return {array} список jquery ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²\r\n */\r\n _getControls: function () {\r\n var me = this;\r\n var res = [];\r\n\r\n if (me.controlsIds.length == 0 || me.controlsIds[0] == \"\") return [];\r\n\r\n for (var i = 0; i < me.controlsIds.length; i++) {\r\n var id = me.controlsIds[i];\r\n var jControl = $('#' + id);\r\n res.push(jControl);\r\n }\r\n return res;\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ подписи для Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°.\r\n *\r\n * @function WebAccess.components.wrappers.form.requisites.BaseRequisite#getLabel\r\n * @return {string} Π‘Ρ‚Ρ€ΠΎΠΊΠ°, содСрТащая Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ подписи для Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°.\r\n * @since 5.0.0.7100\r\n */\r\n getLabel: function () {\r\n if (this.controls.length === 0) return null;\r\n var jLabel = this._getLabelForControl(this.controls[0]);\r\n return jLabel.text();\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n /**\r\n * УстанавливаСт подпись для Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°.\r\n *\r\n * @function WebAccess.components.wrappers.form.requisites.BaseRequisite#setLabel\r\n * @param {string} text ВСкст подписи\r\n * @return {WebAccess.components.wrappers.BaseRequisite} НаслСдник ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‚ΠΈΠΏΠ° BaseRequisite Π² зависимости ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡƒ классу относится Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚.\r\n * @since 5.0.0.7100\r\n */\r\n setLabel: function (text) {\r\n if (this.controls.length === 0) return this;\r\n for (var i = 0; i < this.controls.length; i++) {\r\n var jLabel = this._getLabelForControl(this.controls[0]);\r\n jLabel.text(text);\r\n }\r\n return this;\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ» подписи.\r\n *\r\n * @method WebAccess.components.wrappers.form.requisites.BaseRequisite#_getLabelForControl\r\n * @private\r\n * @since 5.0.0.7100\r\n * @return {object}\r\n */\r\n _getLabelForControl: function (jControl) {\r\n var jC = jControl.parents('.Card_Element:first').prev('.CardForm_Label');\r\n if (jC.length) return jC;\r\n return jControl.parents('tr').eq(0).find('td.wizard-table__cell_type_label');\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°.\r\n *\r\n * @method WebAccess.components.wrappers.form.requisites.BaseRequisite#getValue\r\n * @return {string} Π‘Ρ‚Ρ€ΠΎΠΊΠ°, содСрТащая Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°.\r\n * @since 5.0.0.7100\r\n */\r\n getValue: function (opt_jControl) {\r\n var value;\r\n if (this._data && this._data.isRendered === false) return this._data.value;\r\n var id;\r\n if (opt_jControl) id = opt_jControl.attr('id');\r\n value = this._getControlValue(id || this.controlsIds[0]);\r\n\r\n return value;\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n /**\r\n * ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ видимости Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° Π½Π° Ρ„ΠΎΡ€ΠΌΠ΅.\r\n *\r\n * @method WebAccess.components.wrappers.form.requisites.BaseRequisite#isVisible\r\n * @return {boolean} True – Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ отобраТаСтся Π½Π° Ρ„ΠΎΡ€ΠΌΠ΅, ΠΈΠ½Π°Ρ‡Π΅ False.\r\n * @since 5.0.0.7100\r\n */\r\n isVisible: function () {\r\n if (this.controls.length > 0) {\r\n return this.controls[0].css('visibility') === 'visible';\r\n }\r\n return false;\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n /**\r\n * ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ наличия элСмСнтов управлСния для Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° Π½Π° Ρ„ΠΎΡ€ΠΌΠ΅.\r\n *\r\n * @method WebAccess.components.wrappers.form.requisites.BaseRequisite#isRendered\r\n * @return {boolean} True – для Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚ элСмСнты управлСния Π½Π° Ρ„ΠΎΡ€ΠΌΠ΅, ΠΈΠ½Π°Ρ‡Π΅ False.\r\n\t* @since 5.5.0.9003\r\n */\r\n isRendered: function() {\r\n return this._data.isRendered;\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n /**\r\n * ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ измСнСния Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°.\r\n *\r\n * @method WebAccess.components.wrappers.form.requisites.BaseRequisite#isChanged\r\n * @return {boolean} True – Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ Π±Ρ‹Π» ΠΈΠ·ΠΌΠ΅Π½Π΅Π½, ΠΈΠ½Π°Ρ‡Π΅ False.\r\n * @since 5.0.0.7100\r\n */\r\n isChanged: function () {\r\n return this._isChanged;\r\n },\r\n\r\n /**\r\n * ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ, ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ, Π±Ρ‹Π»ΠΈ Π»ΠΈ ΡƒΠΆΠ΅ ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½Ρ‹ Π½Π° сСрвСр значСния Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°.\r\n *\r\n * @method WebAccess.components.wrappers.form.requisites.BaseRequisite#isCommited\r\n * @return {boolean} True – Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° Π±Ρ‹Π»ΠΎ ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½ΠΎ, ΠΈΠ½Π°Ρ‡Π΅ False.\r\n * @since 5.7.0.1000\r\n */\r\n isCommited: function () {\r\n return this._isCommited;\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² ΠΏΠΎΠ»Π΅ ΠΏΠΎ Π΅Π³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ.\r\n *\r\n * @method WebAccess.components.wrappers.form.requisites.BaseRequisite#_getControlValue\r\n * @since 5.0.0.7100\r\n * @private\r\n */\r\n _getControlValue: function (controlName) {\r\n var jControl = $(\"input#\" + controlName); //\r\n if (jControl.data('requisite')) { //\r\n return jControl.data('requisite').val();\r\n };\r\n return jControl.val();\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°.\r\n *\r\n * @fixme НС Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ с Π΄Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΌΠΈ Ρ€Π°Π·Π΄Π΅Π»Π°ΠΌΠΈ.\r\n * @method WebAccess.components.wrappers.form.requisites.BaseRequisite#getDisplayValue\r\n * @return {string} Π‘Ρ‚Ρ€ΠΎΠΊΠ°, содСрТащая ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°.\r\n */\r\n getDisplayValue: function (opt_jControl) {\r\n if (this._data && this._data.isRendered === false) return this._data.displayValue;\r\n if (this.controls.length === 0) return;\r\n\r\n var displayValue = \"\";\r\n var jReq = opt_jControl || this.controls[0];\r\n\r\n displayValue = this.getValue(opt_jControl);\r\n return displayValue;\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n /**\r\n * Установка Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Π½Π΅Π²ΠΈΠ΄ΠΈΠΌΡ‹Ρ… Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ².\r\n *\r\n * @method WebAccess.components.wrappers.form.requisites.BaseRequisite#_setInvisibleValues\r\n * @private\r\n * @param value {string} устанавливаСмоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅\r\n * @param [opt_displayValue] {string} ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅\r\n * @param [opt_needTriggerResult] {string} Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒ Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€ события change\r\n * @return {WebAccess.components.wrappers.form.requisites.BaseRequisite} НаслСдник ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‚ΠΈΠΏΠ° BaseRequisite Π² зависимости ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡƒ классу относится Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚\r\n * @since 5.0.0.7100\r\n */\r\n _setInvisibleValues: function (value, opt_displayValue, opt_needTriggerResult) {\r\n this._data.value = value;\r\n if (opt_displayValue) this._data.displayValue = opt_displayValue;\r\n this.touch();\r\n return this;\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n /**\r\n * УстанавливаСт Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°.\r\n *\r\n * @method WebAccess.components.wrappers.form.requisites.BaseRequisite#setValue\r\n * @param value {string} УстанавливаСмоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°\r\n * @param [opt_displayValue] {string} ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°\r\n * @param [opt_needTriggerResult] {boolean} ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ нСобходимости Π²Ρ‹Π·ΠΎΠ²Π° Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€Π° события change\r\n * @return {WebAccess.components.wrappers.form.requisites.BaseRequisite} НаслСдник ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‚ΠΈΠΏΠ° BaseRequisite Π² зависимости ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡƒ классу относится Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚.\r\n * @since 5.0.0.7100\r\n */\r\n setValue: function (value, opt_displayValue, opt_needTriggerResult) {\r\n var me = this;\r\n if (_.isUndefined(value)) return this;\r\n if (opt_displayValue && opt_displayValue[0] === '$') opt_displayValue = opt_displayValue.replace('$');\r\n\r\n opt_needTriggerResult = (opt_needTriggerResult !== false); //Ссли Π½Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½, Ρ‚ΠΎ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π±ΡƒΠ΄Π΅Ρ‚ true.\r\n if (this.controls.length === 0) return this._setInvisibleValues(value, opt_displayValue, opt_needTriggerResult);\r\n\r\n var val = opt_displayValue || value;\r\n var jControl;\r\n for (var i = 0; i < this.controls.length; i++) {\r\n jControl = this.controls[i];\r\n jControl.val(val);\r\n if (opt_displayValue) {\r\n jControl.attr(\"title\", opt_displayValue);\r\n } else {\r\n jControl.removeAttr('title');\r\n }\r\n if (opt_needTriggerResult) { jControl.change(); }\r\n };\r\n\r\n this.touch();\r\n return this;\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n /**\r\n * УстанавливаСт ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°.\r\n *\r\n * @method WebAccess.components.wrappers.form.requisites.BaseRequisite#setDisplayValue\r\n * @param value {string} УстанавливаСмоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°\r\n * @return {WebAccess.components.wrappers.form.requisites.BaseRequisite} НаслСдник ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‚ΠΈΠΏΠ° BaseRequisite Π² зависимости ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡƒ классу относится Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚.\r\n * @since 5.0.0.7100\r\n */\r\n setDisplayValue: function (value) {\r\n this.setValue(this.getValue(), value);\r\n return this;\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n /**\r\n * Π”Π΅Π»Π°Π΅Ρ‚ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ нСдоступным для измСнСния.\r\n *\r\n * @method WebAccess.components.wrappers.form.requisites.BaseRequisite#disable\r\n * @return {WebAccess.components.wrappers.form.requisites.BaseRequisite} НаслСдник ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‚ΠΈΠΏΠ° BaseRequisite Π² зависимости ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡƒ классу относится Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚.\r\n * @since 5.0.0.7100\r\n */\r\n disable() { \r\n $(this.controls).each((index, jControl) => {\r\n this._disableControl(jControl);\r\n });\r\n this._isDisabled = true;\r\n return this;\r\n }, \r\n //---------------------------------------------------------------------//\r\n\r\n /**\r\n * Π”Π΅Π»Π°Π΅Ρ‚ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ доступным для измСнСния.\r\n *\r\n * @method WebAccess.components.wrappers.form.requisites.BaseRequisite#enable\r\n * @return {WebAccess.components.wrappers.form.requisites.BaseRequisite} НаслСдник ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‚ΠΈΠΏΠ° BaseRequisite Π² зависимости ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡƒ классу относится Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚.\r\n * @since 5.0.0.7100\r\n */\r\n enable() { \r\n $(this.controls).each((index, jControl) => {\r\n this._enableControl(jControl);\r\n });\r\n this._isDisabled = false;\r\n return this;\r\n },\r\n\r\n /**\r\n * Π”Π΅Π»Π°Π΅Ρ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Ρ‹ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° нСдоступным для измСнСния, Π½Π΅ мСняя Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π΅ свойство _isDisabled.\r\n *\r\n * @method WebAccess.components.wrappers.form.requisites.BaseRequisite#_disableControls \r\n * @internal\r\n * @since 5.7.0\r\n */\r\n _disableControls() {\r\n $(this.controls).each((index, jControl) => {\r\n this._disableControl(jControl);\r\n });\r\n return this;\r\n },\r\n\r\n /**\r\n * Π”Π΅Π»Π°Π΅Ρ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Ρ‹ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° доступным для измСнСния, Π½Π΅ мСняя Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π΅ свойство _isDisabled.\r\n *\r\n * @method WebAccess.components.wrappers.form.requisites.BaseRequisite#_enableControls \r\n * @internal\r\n * @since 5.7.0\r\n */\r\n _enableControls() { \r\n if (!this._isDisabled) {\r\n $(this.controls).each((index, jControl) => {\r\n this._enableControl(jControl);\r\n });\r\n }\r\n return this;\r\n },\r\n\r\n /**\r\n * ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ нСдоступности Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° для измСнСния.\r\n *\r\n * @method WebAccess.components.wrappers.form.requisites.BaseRequisite#isDisabled\r\n * @return {boolean} True – Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ нСдоступСн для измСнСния, ΠΈΠ½Π°Ρ‡Π΅ False.\r\n * @since 5.0.0.7100\r\n */\r\n isDisabled() {\r\n let isDisabled = false;\r\n $(this.controls).each((index, jControl) => {\r\n isDisabled = jControl.hasClass('Req_Disabled');\r\n });\r\n return isDisabled;\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n /**\r\n * ΠžΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π° Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°.\r\n *\r\n * @method WebAccess.components.wrappers.form.requisites.BaseRequisite#_disableControl\r\n * @private\r\n * @since 5.0.0.7100\r\n */\r\n _disableControl(jControl) {\r\n jControl.attr('readonly', 'readonly').addClass(\"Req_Disabled\").attr('tabindex', -1);\r\n return this;\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n /**\r\n * Π’ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π° Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°.\r\n *\r\n * @method WebAccess.components.wrappers.form.requisites.BaseRequisite#_enableControl\r\n * @private\r\n * @since 5.0.0.7100\r\n */\r\n _enableControl(jControl) {\r\n jControl.removeAttr('readonly').removeClass(\"Req_Disabled\").removeAttr('tabindex');;\r\n return this;\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n /**\r\n * Π‘ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ ΠΈ Π΅Π³ΠΎ подпись.\r\n *\r\n * @method WebAccess.components.wrappers.form.requisites.BaseRequisite#hide\r\n * @return {WebAccess.components.wrappers.form.requisites.BaseRequisite} НаслСдник ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‚ΠΈΠΏΠ° BaseRequisite Π² зависимости ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡƒ классу относится Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚.\r\n * @since 5.0.0.7100\r\n */\r\n hide: function () {\r\n if (this.controls.length === 0) return this;\r\n for (var i = 0; i < this.controls.length; i++) {\r\n var jControl = this.controls[i].parents('.Card_Element:first, tr');\r\n jControl.add(jControl.prev('.CardForm_Label')).css('visibility', \"hidden\");\r\n };\r\n return this;\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n /**\r\n * ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ ΠΈ Π΅Π³ΠΎ подпись.\r\n *\r\n * @method WebAccess.components.wrappers.form.requisites.BaseRequisite#show\r\n * @return {WebAccess.components.wrappers.form.requisites.BaseRequisite} НаслСдник ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‚ΠΈΠΏΠ° BaseRequisite Π² зависимости ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡƒ классу относится Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚.\r\n * @since 5.0.0.7100\r\n */\r\n show: function () {\r\n if (this.controls.length === 0) return this;\r\n for (var i = 0; i < this.controls.length; i++) {\r\n var jControl = this.controls[i].parents('.Card_Element:first, tr');\r\n jControl.add(jControl.prev('.CardForm_Label')).css('visibility', \"visible\");\r\n };\r\n return this;\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n /**\r\n * ΠžΡ‡ΠΈΡ‰Π°Π΅Ρ‚ значСния Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°.\r\n *\r\n * @method WebAccess.components.wrappers.form.requisites.BaseRequisite#clear\r\n * @param [opt_needTriggerResult] {boolean} ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ нСобходимости Π²Ρ‹Π·ΠΎΠ²Π° события change\r\n * @return {WebAccess.components.wrappers.form.requisites.BaseRequisite} НаслСдник ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‚ΠΈΠΏΠ° BaseRequisite Π² зависимости ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡƒ классу относится Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚.\r\n * @since 5.0.0.7100\r\n */\r\n clear: function (opt_NeedTriggerResult) {\r\n this.setValue(\"\", \"\", opt_NeedTriggerResult);\r\n return this;\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n /**\r\n * ДобавляСт ΠΈΠΊΠΎΠ½ΠΊΡƒ ΠΊ элСмСнту управлСния Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°, Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ² Ρ‚ΠΈΠΏΠ° Β«Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊΒ» ΠΈ Β«ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²Π΅Π½Π½Ρ‹ΠΉ Π²Ρ‹Π±ΠΎΡ€Β».\r\n * ΠœΠ΅Ρ‚ΠΎΠ΄ прикрСпляСт ΠΊ тСстовому полю дСйствиС для события, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ Π½Π° ΠΈΠΊΠΎΠ½ΠΊΡƒ.\r\n * ΠŸΡ€ΠΈ наступлСнии этого события Π² ΠΊΠΎΠ΄ ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ Π΄Π°Π½Π½Ρ‹Π΅ ΠΎ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π΅.\r\n *\r\n * @function WebAccess.components.wrappers.form.requisites.BaseRequisite#setCustomAction\r\n * @param {string} reqName Имя Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°\r\n * @param {string} tooltip Подсказка ΠΊ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρƒ\r\n * @param {function} callback Ѐункция, которая Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π·Π²Π°Π½Π° послС наТатия Π½Π° ΠΈΠΊΠΎΠ½ΠΊΡƒ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°.\r\n * Π’ эту Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½Π° информация ΠΎ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π΅.\r\n */\r\n setCustomAction: function (callback, opt_tooltip) {\r\n opt_tooltip = \"\" || opt_tooltip;\r\n var me = this;\r\n if (this.controls.length === 0) return this;\r\n\r\n //TODO ВынСсти Π² ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΠ²ΡƒΡŽΡ‰ΠΈΠ΅ классы Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ².\r\n\r\n for (var i = 0; i < this.controls.length; i++) {\r\n var jReq = this.controls[i];\r\n var instance = jReq.data(\"ReferenceSelectInstance\");\r\n\r\n if (instance) {\r\n //Для Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° Ρ‚ΠΈΠΏΠ° справочник ΠΈΠ»ΠΈ ΠΌΡƒΠ»ΡŒΡ‚ΠΈΠ²Ρ‹Π±ΠΎΡ€\r\n var jReqIcon = jReq.parents(\".rs_SelItems_cont\").next(\".Req_Icon\");\r\n jReqIcon.unbind();\r\n jReqIcon.click(function () {\r\n var reqObj = {\r\n \"name\": me.name,\r\n \"value\": me.getValue(),\r\n \"displayValue\": me.getDisplayValue()\r\n };\r\n callback(reqObj);\r\n });\r\n } else {\r\n var jReq = this.controls[i].parent(\"span, div\");\r\n if (jReq.length > 0) {\r\n // Для тСкстового Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°\r\n var jReqInput = this.controls[i];\r\n jReqInput.removeClass(\"text_align_right\");\r\n\r\n jReq.prepend(format('
    ', opt_tooltip));\r\n jReq.children(\".Req_Icon\").click(function () {\r\n var reqObj = {\r\n \"name\": me.name,\r\n \"value\": me.getValue(),\r\n \"displayValue\": me.getDisplayValue()\r\n };\r\n callback(reqObj);\r\n });\r\n } else WebAccess.raise(\"ERR_REQUISTE_NOT_FOUND_OR_IS_UNSUPPORTED\");\r\n }\r\n }\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n /**\r\n * ΠŸΡ€ΠΈ смСнС значСния Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅ ΠΎΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒΡΡ ΠΊΠΎ всСм.\r\n *\r\n * @method WebAccess.components.wrappers.form.requisites.BaseRequisite#_bindMirrors\r\n * @private\r\n * @since 5.0.0.7100\r\n */\r\n _bindMirrors: function () {\r\n var me = this;\r\n if (me.controls.length > 1) {\r\n me.bind('change', function (context, ev, data) {\r\n me.setValue(data.value, data.displayValue, false);\r\n });\r\n }\r\n return this;\r\n },\r\n\r\n //---------------------------------------------------------------------//\r\n\r\n /**\r\n * ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ заполнСния Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°.\r\n *\r\n * @method WebAccess.components.wrappers.form.requisites.BaseRequisite#isRequired\r\n * @return {boolean} True – Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ обязатСлСн для заполнСния, ΠΈΠ½Π°Ρ‡Π΅ False.\r\n * @since 5.0.0.7100\r\n */\r\n isRequired: function () {\r\n return this._data.isRequired;\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n /**\r\n * ΠŸΠΎΠ΄ΡΠ²Π΅Ρ‡ΠΈΠ²Π°Π΅Ρ‚ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚.\r\n *\r\n * @method WebAccess.components.wrappers.form.requisites.BaseRequisite#highlight\r\n * @param {string} [opt_color] Π¦Π²Π΅Ρ‚ поля, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ указываСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°. Π¦Π²Π΅Ρ‚ указываСтся Π² Π²ΠΈΠ΄Π΅ дСсятичного ΠΈΠ»ΠΈ ΡˆΠ΅ΡΡ‚Π½Π°Π΄Ρ†Π°Ρ‚Π΅Ρ€ΠΈΡ‡Π½ΠΎΠ³ΠΎ числа.\r\n\t * Π Π°ΠΌΠΊΠ° поля всСгда ΠΎΠΊΡ€Π°ΡˆΠΈΠ²Π°Π΅Ρ‚ΡΡ Π² красный Ρ†Π²Π΅Ρ‚\r\n * @param {integer} [opt_speed] Π”Π»ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ подсвСчивания поля, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ указываСтся Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°. Π§Π΅ΠΌ большС число, Ρ‚Π΅ΠΌ дольшС ΠΏΠΎΠ»Π΅ подсвСчиваСтся\r\n * @return {WebAccess.components.wrappers.form.requisites.BaseRequisite} НаслСдник ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‚ΠΈΠΏΠ° BaseRequisite Π² зависимости ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡƒ классу относится Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚.\r\n * @since 5.2.0.1300\r\n */\r\n highlight: function (opt_color, opt_speed) {\r\n var me = this;\r\n var speed = opt_speed || 300;\r\n\r\n var blink = function (jObject) {\r\n var prevColor = jObject.css('backgroundColor');\r\n var prevBorder = jObject.css('borderColor'); //ΠŸΠΎΡ‡Π΅ΠΌΡƒ-Ρ‚ΠΎ Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚\r\n\r\n var highlight = \"#F6DADA\";\r\n\r\n if (opt_color) {\r\n var colorLuminance = function (hex, lum) {\r\n // validate hex string\r\n hex = String(hex).replace(/[^0-9a-f]/gi, '');\r\n if (hex.length < 6) {\r\n hex = hex[0] + hex[0] + hex[1] + hex[1] + hex[2] + hex[2];\r\n }\r\n lum = lum || 0;\r\n\r\n // convert to decimal and change luminosity\r\n var rgb = \"#\", c, i;\r\n for (i = 0; i < 3; i++) {\r\n c = parseInt(hex.substr(i * 2, 2), 16);\r\n c = Math.round(Math.min(Math.max(0, c + (c * lum)), 255)).toString(16);\r\n rgb += (\"00\" + c).substr(c.length);\r\n }\r\n return rgb;\r\n }\r\n jObject.animate({ backgroundColor: colorLuminance(opt_color, .4), borderColor: opt_color }, speed, function () {\r\n $(this).animate({ backgroundColor: prevColor, borderColor: prevBorder }, speed);\r\n });\r\n } else {\r\n jObject.addClass('Req_Error').animate({ backgroundColor: highlight }, 300, function () {\r\n $(this).animate({ backgroundColor: prevColor }, speed);\r\n });\r\n }\r\n return jObject;\r\n };\r\n\r\n for (var j = 0; j < me.controlsIds.length; j++) {\r\n (function (index) {\r\n var reqSelector = me.controlsIds[index];\r\n if (!reqSelector) return;\r\n\r\n var jEl = me._getJElementForHighlight(reqSelector);\r\n if (jEl) {\r\n blink(jEl);\r\n }\r\n })(j);\r\n }\r\n return me;\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n /**\r\n * Π‘Π½ΠΈΠΌΠ°Π΅Ρ‚ подсвСтку с Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°.\r\n *\r\n * @method WebAccess.components.wrappers.form.requisites.BaseRequisite#unHighlight\r\n * @return {WebAccess.components.wrappers.form.requisites.BaseRequisite} НаслСдник ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‚ΠΈΠΏΠ° BaseRequisite Π² зависимости ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡƒ классу относится Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚.\r\n * @since 5.2.0.2008\r\n */\r\n unHighlight: function () {\r\n var me = this;\r\n\r\n for (var j = 0; j < me.controlsIds.length; j++) {\r\n var reqSelector = me.controlsIds[j];\r\n if (!reqSelector) continue;\r\n\r\n var jEl = me._getJElementForHighlight(reqSelector);\r\n if (jEl) {\r\n jEl.removeClass('Req_Error')\r\n .css('borderTopColor', '')\r\n .css('borderBottomColor', '')\r\n .css('borderLeftColor', '')\r\n .css('borderRightColor', ''); // ΠŸΡ€ΠΎΡΡ‚ΠΎ borderColor Π½Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ http://stackoverflow.com/questions/9915966/jquery-cssborder-color-does-not-return-anything\r\n }\r\n }\r\n\r\n return me;\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n /**\r\n * Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ элСмСнт для подсвСтки.\r\n * @private\r\n */\r\n _getJElementForHighlight: function (reqSelector) {\r\n var reqChild = $('#' + reqSelector).find('input,textarea');\r\n if (reqChild.length > 0) {\r\n // Если Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ тСкстовый\r\n return reqChild;\r\n } else {\r\n if (typeof (reqSelector) != \"undefined\") {\r\n // Если Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ Ρ‚ΠΈΠΏΠ° справочник\r\n var reqRef = $('#' + reqSelector);\r\n if (reqRef.length > 0) {\r\n var fakeInput = reqRef.parent().parent().parent().find('input.fakeInput:first');\r\n if (fakeInput.length > 0) {\r\n return fakeInput;\r\n } else {\r\n return reqRef;\r\n };\r\n };\r\n } else {\r\n // Если Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ Ρ‚ΠΈΠΏΠ° справочник Π² Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠΌ Ρ€Π°Π·Π΄Π΅Π»Π΅\r\n var fakereq = $('div[name=\"' + reqs[i] + '\"]');\r\n if (fakereq.length > 0) {\r\n return fakereq.find('input.fakeInput');\r\n };\r\n }\r\n }\r\n return null;\r\n },\r\n\r\n /**\r\n * УстанавливаСт ΠΏΡ€ΠΈΠ·Π½Π°ΠΊ isChanged Π² состояниС true.\r\n * НС Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ срабатывания событий change.\r\n *\r\n\t* @method WebAccess.components.wrappers.form.requisites.BaseRequisite#touch\r\n * @return {WebAccess.components.wrappers.form.requisites.BaseRequisite} НаслСдник ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‚ΠΈΠΏΠ° BaseRequisite Π² зависимости ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡƒ классу относится Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚.\r\n * @since 5.2.0.1300\r\n */\r\n touch: function () {\r\n this._isChanged = true;\r\n this._isCommited = false;\r\n return this;\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n /**\r\n * УстанавливаСт ΠΏΡ€ΠΈΠ·Π½Π°ΠΊ isChanged Π² состояниС false.\r\n\t*\r\n * @method WebAccess.components.wrappers.form.requisites.BaseRequisite#setUntouched\r\n * @return {WebAccess.components.wrappers.form.requisites.BaseRequisite} НаслСдник ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‚ΠΈΠΏΠ° BaseRequisite Π² зависимости ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡƒ классу относится Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚.\r\n * @since 5.2.0.2014\r\n */\r\n setUntouched: function () {\r\n this._isChanged = false;\r\n return this;\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n /**\r\n * УстанавливаСт ΠΏΡ€ΠΈΠ·Π½Π°ΠΊ isCommited Π² состояниС true.\r\n *\r\n * @method WebAccess.components.wrappers.form.requisites.BaseRequisite#commit\r\n * @return {WebAccess.components.wrappers.form.requisites.BaseRequisite} НаслСдник ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‚ΠΈΠΏΠ° BaseRequisite Π² зависимости ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡƒ классу относится Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚.\r\n * @since 5.7.0.1000\r\n */\r\n commit: function () {\r\n this._isCommited = true;\r\n return this;\r\n },\r\n\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ строковоС прСдставлСниС Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°.\r\n *\r\n * @method WebAccess.components.wrappers.form.requisites.BaseRequisite#asString\r\n * @overrides BaseObject.asString\r\n * @return {string} Π‘Ρ‚Ρ€ΠΎΠΊΠΎΠ²ΠΎΠ΅ прСдставлСниС Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°.\r\n * @since 5.0.0.7100\r\n */\r\n asString: function () {\r\n var me = this;\r\n return $.toJSON({\r\n name: me.name,\r\n fullName: me.fullName,\r\n value: me.getValue(),\r\n displayValue: me.getDisplayValue()\r\n });\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ строку Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·Π΄Π΅Π»Π°, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ относится Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚.\r\n *\r\n * @method WebAccess.components.wrappers.form.requisites.BaseRequisite#getRow\r\n * @return {WebAccess.components.wrappers.form.BaseTableLine} Π‘Ρ‚Ρ€ΠΎΠΊΠ° Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·Π΄Π΅Π»Π°.\r\n */\r\n getRow: function () {\r\n var row = null;\r\n if (typeof this._parent.getTable !== 'undefined') {\r\n var table = this._parent.getTable();\r\n if (typeof table !== 'undefined') {\r\n row = table.rows[this._parent.id];\r\n }\r\n }\r\n\r\n return row;\r\n },\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ список ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΎΠ² с ΠΈΡ… SBRte-ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ.\r\n *\r\n * @return {Object} Cписок ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΎΠ² с ΠΈΡ… SBRte-ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ.\r\n * @private\r\n */\r\n _getSbrteControls() {\r\n return this.controls.reduce((dictionary, jControl) => {\r\n const sbrteControlName = jControl.closest('div.Card_Element').attr('name');\r\n dictionary[sbrteControlName] = jControl;\r\n return dictionary;\r\n }, {});\r\n }\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n }, {\r\n /**\r\n * Π‘Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ послС измСнСния Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°.\r\n\t *\r\n * @event WebAccess.components.wrappers.form.requisites.BaseRequisite.EVENT.AFTER_CHANGE\r\n * @param {WebAccess.components.wrappers.form.requisites.BaseRequisite} НаслСдник ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‚ΠΈΠΏΠ° BaseRequisite Π² зависимости ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ, ΠΊ ΠΊΠ°ΠΊΠΎΠΌΡƒ классу относится Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚\r\n * @param {Event} event Π˜ΡΡ…ΠΎΠ΄Π½ΠΎΠ΅ событиС (оставлСно для ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠΉ совмСстимости с CardForm)\r\n * @param {Object} values Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°\r\n * @since 5.2.0.2014\r\n */\r\n EVENT: {\r\n AFTER_CHANGE: 'change',\r\n\r\n\r\n /**\r\n * Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ срабатываСт, Ссли Π΄Π°Π½Π½Ρ‹Π΅ Π² Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π΅ Π±Ρ‹Π»ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Ρ‹.\r\n *\r\n * @event WebAccess.components.wrappers.form.requisites.BaseRequisite.EVENT.CHANGE\r\n * @param {object} context Бсылка Π½Π° экзСмпляр класса\r\n * @since 5.5.0.2201\r\n */\r\n CHANGE: 'change'\r\n }\r\n });\r\n\r\n global.WA.CMP.wrappers.form.requisites.BaseRequisite = BaseRequisite;\r\n})(window);\r\n","\"use strict\";\r\n\r\n/**\r\n* Π Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠΈ Ρ‚ΠΈΠΏΠ° «Бсылка Π½Π° запись справочника».\r\n*\r\n* @class WebAccess.components.wrappers.form.requisites.BaseObjectSelectRequisite\r\n* @extends WebAccess.components.wrappers.form.requisites.BaseRequisite\r\n* @property {string} name Имя Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°\r\n* @param {string} requisiteName Имя Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°\r\n* @param {object} data Π”Π°Π½Π½Ρ‹Π΅ для ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°\r\n* @since 5.5.0.1000\r\n*/\r\n(function (global) {\r\n\r\n /**\r\n * @inner\r\n * @since 5.5.0.1000\r\n */\r\n var onControlInitComplete = function (jControl, callback) {\r\n if (jControl.data('ReferenceSelectInstance')) {\r\n callback();\r\n } else {\r\n jControl.bind('Init', function () {\r\n callback();\r\n });\r\n }\r\n };\r\n\r\n var BaseObjectSelectRequisite = global.WA.CMP.wrappers.form.requisites.BaseRequisite.extend({\r\n className: \"BaseObjectSelectRequisite\",\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Ρ‹ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°.\r\n *\r\n * @method WebAccess.components.wrappers.form.requisites.BaseObjectSelectRequisite#_bindEvents\r\n * @private\r\n * @return {array} список jquery ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²\r\n * @since 5.5.0.1000\r\n */\r\n _getControls: function () {\r\n var me = this;\r\n var res = [];\r\n\r\n if (me.controlsIds.length == 0 || me.controlsIds[0] == \"\") return [];\r\n\r\n for (var i = 0; i < me.controlsIds.length; i++) {\r\n var id = me.controlsIds[i];\r\n var jControl = $('input#' + id);\r\n res.push(jControl);\r\n }\r\n\r\n return res;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n\r\n /**\r\n * ΠžΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ спиннСр Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π° Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°\r\n * @method WebAccess.components.wrappers.form.requisites.BaseObjectSelectRequisite#_showSpinner\r\n * @since 5.5.0.1000\r\n * @private\r\n * @return WebAccess.components.wrappers.form.requisites.BaseObjectSelectRequisite\r\n */\r\n _showSpinner: function () {\r\n var me = this;\r\n for (var i = 0; i < me.controls.length; i++) {\r\n var jControl = me.controls[i];\r\n var jContainer = jControl.parents('.reference_requisite');\r\n jContainer.find('.Req_Icon').hide();\r\n jContainer.append('
    ');\r\n }\r\n return me;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π‘ΠΊΡ€Ρ‹Ρ‚ΡŒ спиннСр\r\n * @method WebAccess.components.wrappers.form.requisites.BaseObjectSelectRequisite#_hideSpinner\r\n * @since 5.5.0.1000\r\n * @private\r\n * @return WebAccess.components.wrappers.form.requisites.BaseObjectSelectRequisite\r\n */\r\n _hideSpinner: function () {\r\n var me = this;\r\n for (var i = 0; i < me.controls.length; i++) {\r\n var jControl = me.controls[i];\r\n var jContainer = jControl.parents('.reference_requisite');\r\n jContainer.find('.Req_Icon').show(); //FIXME: НС всСгда всС ΠΈΠΊΠΎΠ½ΠΊΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½Ρ‹\r\n jContainer.find('.circle-spinner').remove();\r\n }\r\n return me;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°.\r\n *\r\n * @method WebAccess.components.wrappers.form.requisites.BaseObjectSelectRequisite#getDisplayValue\r\n * @return {string} Π‘Ρ‚Ρ€ΠΎΠΊΠ°, содСрТащая ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°.\r\n */\r\n getDisplayValue: function (opt_jControl) {\r\n if (this._data && this._data.isRendered === false) return this._data.displayValue;\r\n if (this.controls.length === 0) return;\r\n var jCustomControl = opt_jControl || this.controls[0].prev(\"span\");\r\n var jInput = this.controls[0];\r\n if (jInput.hasClass('rs_custom') && jInput.data('selected') == 'false') {\r\n return jInput.val();\r\n } else {\r\n var values = [];\r\n jCustomControl.parents('.rs_SelItems').children(\"span\").each(function () {\r\n values.push($(this).attr(\"data-text\"));\r\n });\r\n return values.join(';');\r\n }\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * УстанавливаСт значСния ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΡ‹Ρ… ΠΈ Π½Π΅ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΡ‹Ρ… Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ².\r\n *\r\n * @method WebAccess.components.wrappers.form.requisites.BaseObjectSelectRequisite#setValue\r\n * @param value {string} УстанавливаСмоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅\r\n * @param [opt_displayValue] {string} ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅\r\n * @param [opt_needTriggerResult] {boolean} ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ нСобходимости Π²Ρ‹Π·ΠΎΠ²Π° события change\r\n\t * @param [opt_leadRequisiteValues] {boolean} ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ Π²Π΅Π΄ΡƒΡ‰Π΅Π³ΠΎ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°\r\n * @return {WebAccess.components.wrappers.form.requisites.BaseObjectSelectRequisite} Π’Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° – BaseObjectSelectRequisite.\r\n * @since 5.5.0.1000\r\n */\r\n setValue: function (value, opt_displayValue, opt_needTriggerResult, opt_leadRequisiteValues) {\r\n var me = this;\r\n opt_needTriggerResult = (opt_needTriggerResult !== false);\r\n\r\n if (me.controls.length === 0) return me._setInvisibleValues(value, opt_displayValue, opt_needTriggerResult);\r\n\r\n $.each(me.controls, function () {\r\n WA.CMP.wrappers.form.requisites.BaseObjectSelectRequisite.setControlValue(this, value, opt_displayValue, opt_needTriggerResult, opt_leadRequisiteValues);\r\n });\r\n\r\n this.touch();\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² ΠΏΠΎΠ»Π΅ ΠΏΠΎ Π΅Π³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ.\r\n *\r\n * @private\r\n * @function WebAccess.components.wrappers.form.requisites.BaseObjectSelectRequisite#_getControlValue\r\n * @since 5.5.0.1000\r\n */\r\n _getControlValue: function (controlName) {\r\n var value;\r\n\r\n var jHidden = $('#hSelID_' + controlName);\r\n\r\n var jInput = this.controls[0];\r\n if (jInput.hasClass('rs_custom')) {\r\n if (jInput.data('selected') == 'false') {\r\n value = '$' + jInput.val();\r\n } else {\r\n value = jHidden.val();\r\n }\r\n } else {\r\n value = jHidden.val();\r\n }\r\n\r\n return (value && value !== '$') ? value : '';\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΏΡ€ΠΈΠ·Π½Π°ΠΊ нСдоступности Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° справочника для измСнСния.\r\n *\r\n * @function WebAccess.components.wrappers.form.requisites.BaseObjectSelectRequisite#isDisabled\r\n\t * @comment ΠΏΠΎΡ‡Π΅ΠΌΡƒ функция, Π° Π½Π΅ ΠΌΠ΅Ρ‚ΠΎΠ΄?\r\n * @return {Boolean} True – Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ справочника доступСн Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для чтСния, ΠΈΠ½Π°Ρ‡Π΅ False.\r\n * @since 5.5.0.1000\r\n */\r\n isDisabled: function () {\r\n var isDisabled = false;\r\n $(this.controls).each(function (index) {\r\n if ($(this).attr('readonly') === \"readonly\") isDisabled = true;\r\n });\r\n return isDisabled;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n \r\n /**\r\n * ΠžΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π° Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°.\r\n *\r\n * @method WebAccess.components.wrappers.form.requisites.BaseObjectSelectRequisite#_disableControl\r\n * @private\r\n * @return {WebAccess.components.wrappers.form.requisites.BaseObjectSelectRequisite}\r\n * @since 5.5.0.1000\r\n */\r\n _disableControl: function (jControl) {\r\n onControlInitComplete(jControl, function () { jControl.SetDisabled() });\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n \r\n /**\r\n * Π’ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π° Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°.\r\n *\r\n * @method WebAccess.components.wrappers.form.requisites.BaseObjectSelectRequisite#_enableControl\r\n * @private\r\n * @return {WebAccess.components.wrappers.form.requisites.BaseObjectSelectRequisite}\r\n * @since 5.5.0.1000\r\n */\r\n _enableControl: function (jControl) {\r\n onControlInitComplete(jControl, function () { jControl.SetEnabled(); });\r\n return this;\r\n },\r\n\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ событий.\r\n *\r\n * @private\r\n * @method WebAccess.components.wrappers.form.requisites.BaseObjectSelectRequisite#_bindEvents\r\n * @since 5.5.0.1000\r\n * @return WebAccess.components.wrappers.form.requisites.BaseObjectSelectRequisite\r\n */\r\n _bindEvents: function () {\r\n var me = this;\r\n\r\n if (me.controls.length === 0) {\r\n var controlInit = $.Deferred();\r\n me._allControlsInit.push(controlInit);\r\n controlInit.resolve();\r\n return me;\r\n }\r\n\r\n $.each(me.controls, function () {\r\n me._bindControlEvents(this);\r\n });\r\n\r\n return me;\r\n },\r\n\r\n /**\r\n * Π’Ρ‹Π·Π²Π°Ρ‚ΡŒ событиС измСнСния для Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ² Ρ‚ΠΈΠΏΠ° Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊΠΈ ΠΈ Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚.\r\n *\r\n * @method WebAccess.components.wrappers.form.requisites.BaseObjectSelectRequisite#_fireObjectSelectRequisiteChange \r\n * @param {object} jControl ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ».\r\n * @param {object} event Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅, Π² Ρ€Π°ΠΌΠΊΠ°Ρ… ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ функция. \r\n * @param {object} setData УстанавливаСмоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.\r\n * @private\r\n */\r\n _fireObjectSelectRequisiteChange(jControl, event, setData) { \r\n this.touch();\r\n this.fire('change', jControl, event, setData);\r\n },\r\n\r\n\r\n _bindControlEvents: function (jControl) {\r\n var me = this;\r\n\r\n var controlInit = $.Deferred();\r\n me._allControlsInit.push(controlInit);\r\n\r\n onControlInitComplete(jControl, function () {\r\n\r\n var rs = jControl.data('ReferenceSelectInstance');\r\n var reqFullName = me.fullName;\r\n if (!!rs) {\r\n if (rs.multiselect) {\r\n jControl.resultMulti(function (ev, changedData, data) {\r\n var res = [];\r\n if (data) {\r\n if (!$.isArray(data)) {\r\n data = [data];\r\n };\r\n for (var i = 0; i < data.length; i++) {\r\n res.push({ name: reqFullName, value: data[i].groupcode + ':' + data[i].id, displayValue: data[i].name });\r\n }\r\n }\r\n me._fireObjectSelectRequisiteChange(jControl, ev, res);\r\n me._parent.fire('change', jControl, ev, res);\r\n return this;\r\n });\r\n } else {\r\n\r\n jControl.result(function (ev, data) {\r\n if (data == null) {\r\n data = [null, null, null, '{}'];\r\n }\r\n me._fireObjectSelectRequisiteChange(jControl, ev, { name: reqFullName, value: data[0], displayValue: data[2] });\r\n me.fire('changeWithLeaderValues', jControl, ev, { name: reqFullName, value: data[0], displayValue: data[2], leaderRequisiteValues: $.parseJSON(data[3]) }, true);\r\n // ΠžΠ±Ρ€Π°Ρ‰Π°Π΅ΠΌΡΡ ΠΊ Ρ„ΠΎΡ€ΠΌΠ΅ Ρ‡Π΅Ρ€Π΅Π· _parent, Ρ‚.ΠΊ. WA.CR.form ΠΌΠΎΠΆΠ΅Ρ‚ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ Π½Π΅ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ‚\r\n // (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, для Π΄ΠΈΠ°Π»ΠΎΠ³ΠΎΠ², ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… Π½Π° страницС записи справочника).\r\n me._parent.fire('change', jControl, ev, { name: reqFullName, value: data[0], displayValue: data[2] });\r\n });\r\n }\r\n if (!rs.allowlike) {\r\n jControl\r\n .on('change', function (ev) {\r\n var value = jControl.val();\r\n const requisiteData = {\r\n name: reqFullName,\r\n value: `$${value}`,\r\n displayValue: value,\r\n };\r\n me._fireObjectSelectRequisiteChange(jControl, ev, requisiteData);\r\n me._parent.fire('change', jControl, ev, requisiteData);\r\n })\r\n .on('changeOnSelectValue', function (ev, data) {\r\n if (data == null) {\r\n data = [null, null, null, '{}'];\r\n }\r\n var value = data[0];\r\n var displayValue = data[2];\r\n const requisiteData = {\r\n name: reqFullName,\r\n value: value,\r\n displayValue: displayValue,\r\n };\r\n me._fireObjectSelectRequisiteChange(jControl, ev, requisiteData);\r\n me._parent.fire('change', jControl, ev, requisiteData);\r\n });\r\n }\r\n }\r\n\r\n // Π‘Ρ‹Π²Π°Π΅Ρ‚ случаи ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ измСняСтся Π±Π΅Π· срабатывания событий Π²Ρ‹ΡˆΠ΅, Π½ΠΎ измСнСния Π΄ΠΎΠ»ΠΆΠ½Ρ‹ ΡƒΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π½Π° сСрвСр. НапримСр, ΠΏΡ€ΠΈ очисткС Π²Π΅Π΄ΡƒΡ‰Π΅Π³ΠΎ, очищаСтся Π²Π΅Π΄ΠΎΠΌΡ‹ΠΉ.\r\n jControl.on('change', function (ev) {\r\n me.touch();\r\n });\r\n\r\n controlInit.resolve();\r\n });\r\n return me;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΏΡ€ΠΈΠ·Π½Π°ΠΊ возмоТности мноТСствСнного Π²Ρ‹Π±ΠΎΡ€Π°.\r\n *\r\n * @method WebAccess.components.wrappers.form.requisites.BaseObjectSelectRequisite#isMultiselect\r\n * @return {boolean} True - Ссли Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ мноТСствСнный Π²Ρ‹Π±ΠΎΡ€, ΠΈΠ½Π°Ρ‡Π΅ - False.\r\n\t* @since 5.4.0.1013\r\n */\r\n isMultiselect: function () {\r\n return false;\r\n }\r\n });\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * @static\r\n */\r\n BaseObjectSelectRequisite.setControlValue = (jControl, value, opt_displayValue, opt_needTriggerResult, opt_leadRequisiteValues) => {\r\n const id = jControl.attr('id');\r\n const jHidd = $(\"#hSelID_\" + id);\r\n if (jHidd.length > 0) {\r\n jControl.attr(\"title\", opt_displayValue);\r\n\r\n if (!$('html').hasClass('mobile')) {\r\n if (value) {\r\n const referenceSelectData = jControl.data('ReferenceSelectInstance');\r\n const leadRequisiteValues = opt_leadRequisiteValues ? JSON.stringify(opt_leadRequisiteValues) : '{}';\r\n if (!!referenceSelectData && (referenceSelectData.multiselect)) {\r\n // Ссли мноТСствСнный Π²Ρ‹Π±ΠΎΡ€, Ρ‚ΠΎ значСния Π·Π°ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ Π² Π²ΠΈΠ΄Π΅ \"БПР:11111;БПР2:23233\"\r\n const values = ('' + value).split(\";\");\r\n const displayValues = ('' + opt_displayValue).split(\";\");\r\n onControlInitComplete(jControl, () => {\r\n jControl.Clear();\r\n for (let i = 0; i < values.length; i++) {\r\n jControl.SetValue(['' + values[i], displayValues[i], displayValues[i], leadRequisiteValues], opt_needTriggerResult);\r\n };\r\n });\r\n } else {\r\n onControlInitComplete(jControl, () => {\r\n jControl.SetValue(['' + value, opt_displayValue, opt_displayValue, leadRequisiteValues], opt_needTriggerResult);\r\n });\r\n }\r\n } else {\r\n onControlInitComplete(jControl, () => {\r\n jControl.SetValue(['', '', '', '{}'], opt_needTriggerResult);\r\n });\r\n }\r\n } else {\r\n jControl.val(opt_displayValue);\r\n }\r\n jControl.SetSelected(true);\r\n }\r\n };\r\n\r\n global.WA.CMP.wrappers.form.requisites.BaseObjectSelectRequisite = BaseObjectSelectRequisite;\r\n})(window);","\"use strict\";\n\n/**\n* Π Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ Ρ‚ΠΈΠΏΠ° Β«Π’Ρ‹Π±ΠΎΡ€ ΠΈΠ· справочника» ΠΈ Β«ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²Π΅Π½Π½Ρ‹ΠΉ Π²Ρ‹Π±ΠΎΡ€Β».\n*\n* @class WebAccess.components.wrappers.form.requisites.Reference\n* @extends WebAccess.components.wrappers.form.requisites.BaseObjectSelectRequisite\n* @property {string} name Имя Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°\n* @param {string} requisiteName Имя Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°\n* @param {obbject} data Π”Π°Π½Π½Ρ‹Π΅ для ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°\n* @since 5.0.0.7100\n*/\n(function (global) {\r\n\n var Reference = global.WA.CMP.wrappers.form.requisites.BaseObjectSelectRequisite.extend({\r\n className: \"Reference\",\n\n /**\n * Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡŽ ΠΏΠΎ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°ΠΌ справочника.\n *\n * @method WebAccess.components.wrappers.form.requisites.Reference#setFilter\n * @return {WebAccess.components.wrappers.form.requisites.Reference} Π’Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° – Reference.\n * @since 5.0.0.7100\n */\n setFilter: function (filter, opt_refCode) {\r\n if (this.controls.length === 0) return;\n for (var i = 0; i < this.controls.length; i++) {\r\n var jControl = this.controls[i];\n if (!opt_refCode) {\r\n jControl.data('filter', filter);\r\n } else {\r\n jControl.data('ReferenceSelectInstance').refcodes[opt_refCode]['Filter'] = filter;\r\n }\r\n };\n return this;\r\n },\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\n\n\n /**\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°.\n *\n * @method WebAccess.components.wrappers.form.requisites.Reference#getFilter\n * @since 5.4.0.1013\n * @return {string} Π’Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ.\n */\n getFilter: function (referenceCode) {\r\n if (this.controls.length === 0) return null;\n\n var filter = null;\n for (var i = 0; i < this.controls.length; i++) {\r\n var jControl = this.controls[i];\n var refSelect = jControl.data('ReferenceSelectInstance');\n if (referenceCode && refSelect && refSelect.refcodes[referenceCode]) {\r\n filter = refSelect.refcodes[referenceCode]['Filter'];\r\n }\n return filter || jControl.data('filter');\r\n }\r\n },\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\n\n /**\n * ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΠΌΠ΅Π½Π° справочников для Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ.\n *\n * @method WebAccess.components.wrappers.form.requisites.Reference#getReferences\n * @since 5.0.0.7200\n * @return {object} ИмСна справочников для Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ.\n */\n getReferences: function () {\r\n var jControl;\n if (this.controls.length === 0) return this;\n for (var i = 0; i < this.controls.length; i++) {\r\n jControl = this.controls[i];\n return jControl.data('ReferenceSelectInstance').refcodes;\r\n };\r\n },\n\n /**\n * Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π²Ρ‹Π±ΠΎΡ€ΠΊΡƒ ΠΈΠ· ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… справочников.\n *\n * @method WebAccess.components.wrappers.form.requisites.Reference#setReferences\n * @param {object} references Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ ΠΎ справочниках. Π€ΠΎΡ€ΠΌΠ°Ρ‚ описания Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ:\n * {\"ΠžΠ Π“\":{\"Caption\": \"ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ\",...},\"РАБ\":{..}}}\n * @return {WebAccess.components.wrappers.form.requisites.Reference} Π’Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° – Reference.\n * @since 5.0.0.7100\n */\n setReferences: function (references) {\r\n var jControl;\n if (this.controls.length === 0) return this;\n for (var i = 0; i < this.controls.length; i++) {\r\n jControl = this.controls[i];\n jControl.data('ReferenceSelectInstance').setReferences(references);\r\n };\n return this;\r\n },\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\n\n /**\n * Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ справочник ΠΊ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌΡƒ списку справочников для Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ.\n *\n * @function WebAccess.components.wrappers.form.requisites.Reference#addReferences\n * @param {object} references Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ ΠΎ справочниках. Π€ΠΎΡ€ΠΌΠ°Ρ‚ описания Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ:\n * {\"ΠžΠ Π“\":{\"Caption\": \"ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ\",...},\"РАБ\":{..}}}\n * @return {WebAccess.components.wrappers.form.requisites.Reference} Π’Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° – Reference.\n * @since 5.0.0.7100\n */\n addReferences: function (references) {\r\n if (this.controls.length === 0) return this;\n for (var i = 0; i < this.controls.length; i++) {\r\n var jControl = this.controls[i];\n jControl.data('ReferenceSelectInstance').addReferences(references);\r\n };\n return this;\r\n },\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\n\n /**\n * Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΡ‹Ρ… ΠΈ Π½Π΅ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΡ‹Ρ… Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ².\n * Π€ΠΎΡ€ΠΌΠ°Ρ‚ записи ΠΌΠ΅Ρ‚ΠΎΠ΄Π°: [{groupcode:'ΠΊΠΎΠ΄ справочника', id:'ΠΈΠ΄ записи', name:'Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅'}, ...].\n *\n * @function WebAccess.components.wrappers.form.requisites.Reference#setValues\n * @param {object} newValues НовыС значСния мноТСствСнного Π²Ρ‹Π±ΠΎΡ€Π°\n * @param {boolean} needTriggerResult Π’Ρ‹Π·Π²Π°Ρ‚ΡŒ Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€ для события Ρ‚ΠΈΠΏΠ° change\n * @return {WebAccess.components.wrappers.form.requisites.Reference} Π’Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° – Reference.\n * @since 5.0.0.7100\n */\n setValues: function (newValues, needTriggerResult) {\r\n var me = this;\n if (me.controls.length === 0) return me; //TODO Π‘Π΄Π΅Π»Π°Ρ‚ΡŒ установку скрытых ΠΏΠΎΠ»Π΅ΠΉ мноТСствСнного Π²Ρ‹Π±ΠΎΡ€Π°.\n me._setControlsValues(newValues, needTriggerResult);\n\n me._updateNewValues(newValues).done(function (updatedNewValues) {\r\n me._setControlsValues(updatedNewValues, false);\r\n });\n\n me.touch();\n return me;\r\n },\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\n\n /**\n * Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΎΠ².\n *\n * @function WebAccess.components.wrappers.form.requisites.Reference#_setControlsValues\n * @private\n * @param {object} newValues НовыС значСния мноТСствСнного Π²Ρ‹Π±ΠΎΡ€Π°\n * @param {boolean} needTriggerResult Π’Ρ‹Π·Π²Π°Ρ‚ΡŒ Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€ для события Ρ‚ΠΈΠΏΠ° change\n * @since 5.0.0.9107\n */\n _setControlsValues: function (newValues, needTriggerResult) {\r\n var me = this;\n for (var i = 0; i < me.controls.length; i++) {\r\n var jControl = me.controls[i];\n jControl.data('ReferenceSelectInstance').setValues(newValues, needTriggerResult);\r\n };\r\n },\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\n\n /**\n * ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ значСния устанавливаСмых Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.\n *\n * @function WebAccess.components.wrappers.form.requisites.Reference#_updateNewValues\n * @param {object} newValues ΠžΠ±Π½ΠΎΠ²Π»ΡΠ΅ΠΌΡ‹Π΅ значСния.\n * @return {Array} ΠžΠ±Π½ΠΎΠ²Π»Π΅Π½Π½Ρ‹ΠΉ список Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ с Π·Π°ΠΏΠΎΠ»Π½Π΅Π½Π½Ρ‹ΠΌΠΈ свойствами наимСнования ΠΈ справочника.\n * @since 5.5.0.9000\n */\n _updateNewValues: function (newValues) {\r\n var d = $.Deferred();\n\n if (newValues.length) {\r\n // ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ список Π½ΠΎΠ²Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π΅ ΡƒΠΊΠ°Π·Π°Π½Ρ‹ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΡ‹Π΅ значСния\n var withoutDisplayValues = newValues.filter(function (item) {\r\n return !item.name && item.id;\r\n });\n\n if (withoutDisplayValues.length) {\r\n var ids = [];\r\n withoutDisplayValues.forEach(function (item) {\r\n ids.push(item.id);\r\n });\r\n\r\n // ΠŸΠΎΠ»ΡƒΡ‡ΠΈΠΌ наимСнования записСй справочника\r\n WA.SRV.reference.getReferenceRecordsNames(ids).done(function (res) {\r\n // ΠŸΡ€ΠΎΠΉΡ‚ΠΈΡΡŒ ΠΏΠΎ всСм записям справочника\r\n newValues.forEach(function (item) {\r\n if (!item.name && res[item.id]) {\r\n item.name = res[item.id].name;\r\n }\r\n });\r\n\r\n d.resolve(newValues);\r\n });\r\n } else {\r\n d.resolve(newValues);\r\n }\r\n } else {\r\n d.resolve(newValues);\r\n }\n\r\n\r\n return d.promise();\r\n },\n\n /**\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ значСния Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°.\n * Π€ΠΎΡ€ΠΌΠ°Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π°: [{groupcode:'ΠΊΠΎΠ΄ справочника', id:'ΠΈΠ΄ записи', name:'Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅'}, ...].\n *\n * @function WebAccess.components.wrappers.form.requisites.Reference#getValues\n * @return {Array} Массив ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° – currentValues.\n * @since 5.4.0.1012\n */\n getValues: function () {\r\n if (this.controls.length === 0) return this; //TODO Π‘Π΄Π΅Π»Π°Ρ‚ΡŒ установку скрытых ΠΏΠΎΠ»Π΅ΠΉ мноТСствСнного Π²Ρ‹Π±ΠΎΡ€Π°.\n for (var i = 0; i < this.controls.length; i++) {\r\n var jControl = this.controls[i];\n return jControl.data('ReferenceSelectInstance').getValues();\r\n };\r\n },\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\n\n /**\n * ДобавляСт Π½ΠΎΠ²Ρ‹Π΅ значСния ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΡ‹Ρ… ΠΈ Π½Π΅ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΡ‹Ρ… Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ² ΠΊ ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ.\n * Π€ΠΎΡ€ΠΌΠ°Ρ‚ записи ΠΌΠ΅Ρ‚ΠΎΠ΄Π°: [{groupcode:'ΠΊΠΎΠ΄ справочника', id:'ΠΈΠ΄ записи', name:'Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅'}, ...].\n *\n * @function WebAccess.components.wrappers.form.requisites.Reference#addValues\n * @param {object} newValues НовыС значСния мноТСствСнного Π²Ρ‹Π±ΠΎΡ€Π°\n * @param {boolean} needTriggerResult Π’Ρ‹Π·Π²Π°Ρ‚ΡŒ Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€ для события Ρ‚ΠΈΠΏΠ° change\n * @return {WebAccess.components.wrappers.form.requisites.Reference} Π’Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° – Reference.\n * @since 5.4.0.1012\n */\n addValues: function (newValues, needTriggerResult) {\r\n var me = this;\r\n var currentValues = me.getValues();\n me._addValues(currentValues, newValues, needTriggerResult);\n\n me._updateNewValues(newValues).done(function (updatedNewValues) {\r\n me._addValues(currentValues, updatedNewValues, false);\r\n });\n\n return me;\r\n },\n\n /**\n * Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹Π΅ значСния ΠΊ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρƒ.\n *\n * @function WebAccess.components.wrappers.form.requisites.Reference#_addValues\n * @private\n * @param {object} currentValues - Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ΡΡ Π½ΠΎΠ²Ρ‹Π΅.\n * @param {object} newValues НовыС значСния мноТСствСнного Π²Ρ‹Π±ΠΎΡ€Π°\n * @param {boolean} needTriggerResult Π’Ρ‹Π·Π²Π°Ρ‚ΡŒ Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€ для события Ρ‚ΠΈΠΏΠ° change\n * @return {WebAccess.components.wrappers.form.requisites.Reference} Π’Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° – Reference.\n * @since 5.5.0.9107\n */\n _addValues: function (currentValues, newValues, needTriggerResult) {\r\n var me = this;\r\n var allValues = currentValues.concat(newValues.filter(function (newItem) {\r\n var unique = true;\n currentValues.forEach(function (currentItem) {\r\n if (currentItem.id == newItem.id) {\r\n unique = false;\n return false;\r\n }\r\n });\n return unique;\r\n }));\n me.setValues(allValues, needTriggerResult);\n return me;\r\n },\n\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\n\n /**\n * Π£ΠΊΠ°Π·Π°Ρ‚ΡŒ справочник, Π²Ρ‹Π±ΠΎΡ€ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ.\n *\n * @method WebAccess.components.wrappers.form.requisites.Reference#setMainReference\n * @param {string} referenceName Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ, Π²Ρ‹Π±ΠΎΡ€ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ\n * @return {WebAccess.components.wrappers.form.requisites.Reference} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° Reference.\n * @since 5.0.0.7200\n */\n setMainReference: function (referenceName) {\r\n if (this.controls.length === 0) return this;\n for (var i = 0; i < this.controls.length; i++) {\r\n var jControl = this.controls[i];\n jControl.data('ReferenceSelectInstance').mainReferenceCode = referenceName;\r\n };\n return this;\r\n },\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\n\n /**\n * ΠžΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Π²Ρ‹Π±ΠΎΡ€Π° ΠΈΠ· справочников.\n *\n * @method WebAccess.components.wrappers.form.requisites.Reference#clearReferences\n * @return {WebAccess.components.wrappers.form.requisites.Reference} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° Reference.\n * @since 5.0.0.7200\n */\n clearReferences: function () {\r\n this.setReferences({});\n return this;\r\n },\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\n\n /**\n * ДобавляСт справочник для Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ доступны послСдниС ΠΈ ΠΈΠ·Π±Ρ€Π°Π½Π½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹.\n *\n * @method WebAccess.components.wrappers.form.requisites.Reference#addLastObjectsPseudoReference\n * @param {LAST_REFERENCES} lastReferences Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊΠΈ, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Π²Ρ‹Π±ΠΎΡ€\n * @return {WebAccess.components.wrappers.form.requisites.Reference} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° Reference.\n * @since 5.0.0.7200\n */\n addLastObjectsPseudoReference: function (lastReferences) {\r\n var oldRefs = this.getReferences();\n\n var newRefs = $.extend({\r\n 'ROUTELASTOBJS': { 'Caption': L('ROUTE_LAST_OBJECTS_PSEUDO_REFERENCE_CAPTION'), 'NeedShowHint': true, 'DisableSpecialProcessing': false, 'Filter': lastReferences }\r\n }, oldRefs);\n\n this.setReferences(newRefs);\n return this;\r\n },\n\n /**\n * Π£Π΄Π°Π»ΠΈΡ‚ΡŒ ΠΈΠ· списка Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ справочник, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ доступны послСдниС ΠΈ ΠΈΠ·Π±Ρ€Π°Π½Π½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹.\n *\n * @method WebAccess.components.wrappers.form.requisites.Reference#removeLastObjectsPseudoReference\n * @param {LAST_REFERENCES} LastReferences Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊΠΈ, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Π²Ρ‹Π±ΠΎΡ€\n * @return {WebAccess.components.wrappers.form.requisites.Reference} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° Reference.\n * @since 5.0.0.7200\n */\n removeLastObjectsPseudoReference: function () {\r\n var oldRefs = this.getReferences();\n delete oldRefs['ROUTELASTOBJS'];\n this.setReferences(oldRefs);\n return this;\r\n },\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\n\n /**\n * ΠŸΡ€ΠΈΠ²ΡΠ·Ρ‹Π²Π°Π΅Ρ‚ Π²Ρ‹Π·ΠΎΠ² справочника Π² модальном ΠΎΠΊΠ½Π΅ ΠΊ ΠΊΠ»ΠΈΠΊΡƒ Π½Π° ΠΈΠΊΠΎΠ½ΠΊΠ΅ Π² ΠΏΠΎΠ»Π΅ Π²Π²ΠΎΠ΄Π°.\n *\n * @method WebAccess.components.wrappers.form.requisites.Reference#bindReferenceGridDialog\n * @since 5.4.0.1012\n * @return {WebAccess.components.wrappers.form.requisites.Reference} Π’Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° – Reference\n */\n bindReferenceGridDialog: function () {\r\n var me = this;\n for (var i = 0; i < me.controls.length; i++) {\r\n var jControl = me.controls[i];\n var jContainer = jControl.parents('.reference_requisite');\n var jReqIcon = jContainer.find('.Req_Icon');\n jReqIcon.unbind('click touchstart').bind('click touchstart', function (e) {\r\n e.stopPropagation();\n var referenceCode = '';\n // ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΊΠΎΠ΄ справочника\n for (var value in me.getReferences()) {\r\n referenceCode = value;\n break;\r\n }\n var mode = me.isDisabled() ? REFERENCE_MODAL_MODE.VIEW :\n (me.isMultiselect() ? REFERENCE_MODAL_MODE.MULTI : REFERENCE_MODAL_MODE.SINGLE);\n WebAccess.components.dialogs.ReferenceGridDialog.createAndShow({\r\n referenceName: referenceCode,\n mode: mode,\n filterExpression: me.getFilter(referenceCode),\n filterQuery: jControl.val(),\n queryContext: me.queryContext(),\n leaderSelectedId: me.leaderSelectedId()\r\n }).selectionDone(function (result) {\r\n if (mode == REFERENCE_MODAL_MODE.MULTI) {\r\n var valuesToBeSet = result.map(function (entry) {\r\n return {\r\n groupcode: referenceCode,\n id: entry.id,\n name: entry.name\r\n }\r\n });\n me.addValues(valuesToBeSet);\r\n } else if (mode == REFERENCE_MODAL_MODE.SINGLE) {\r\n me.setValue(result[0].id, result[0].name, true, result[0].leaderRequisiteValues);\r\n }\r\n });\r\n });\r\n }\n return me;\r\n },\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\n\n /**\n * Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΏΡ€ΠΈΠ·Π½Π°ΠΊ возмоТности мноТСствСнного Π²Ρ‹Π±ΠΎΡ€Π°.\n *\n * @method WebAccess.components.wrappers.form.requisites.Reference#isMultiselect\n * @since 5.4.0.1013\n * @return {boolean} True - Ссли Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ мноТСствСнный Π²Ρ‹Π±ΠΎΡ€, ΠΈΠ½Π°Ρ‡Π΅ - False.\n */\n isMultiselect: function () {\r\n if (this.controls.length === 0) return false;\n for (var i = 0; i < this.controls.length; i++) {\r\n return this.controls[i].data('ReferenceSelectInstance').multiselect;\r\n }\r\n },\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\n\n\n /**\n * Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ контСкст Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ.\n *\n * @method WebAccess.components.wrappers.form.requisites.Reference#queryContext\n * @since 5.5.0.1000\n * @return {dict} ΠšΠΎΠ½Ρ‚Π΅ΠΊΡΡ‚ Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ.\n */\n queryContext: function () {\r\n if (this.controls.length === 0) return null;\n for (var i = 0; i < this.controls.length; i++) {\r\n return this.controls[i].data('ReferenceSelectInstance').queryContext;\r\n }\r\n },\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\n\n\n /**\n * Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ список Π²Π΅Π΄ΡƒΡ‰ΠΈΡ… Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ².\n *\n * @method WebAccess.components.wrappers.form.requisites.Reference#leaderSelectedId\n * @since 5.5.0.1000\n * @return {string} Бписок Π²Π΅Π΄ΡƒΡ‰ΠΈΡ… Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ².\n */\n leaderSelectedId: function () {\r\n if (this.controls.length === 0) return null;\n for (var i = 0; i < this.controls.length; i++) {\r\n return this.controls[i].data('ReferenceSelectInstance').extraParams.LeadSelID();\r\n }\r\n },\n\n /**\r\n * Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΡ‹Ρ… ΠΈ Π½Π΅ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΡ‹Ρ… Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ².\r\n *\r\n * @method WebAccess.components.wrappers.form.requisites.Reference#setValue\r\n * @param value {string} УстанавливаСмоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅\r\n * @param [opt_displayValue] {string} ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅\r\n * @param [opt_needTriggerResult] {string} Π’Ρ‹Π·Π²Π°Ρ‚ΡŒ Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€ для события Ρ‚ΠΈΠΏΠ° change\r\n * @return {WebAccess.components.wrappers.form.requisites.Reference} Π’Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° – Reference.\r\n * @since 5.5.0.9000\r\n */\n setValue: function (value, opt_displayValue, opt_needTriggerResult, opt_leadRequisiteValues) {\r\n var me = this;\r\n me._super(value, opt_displayValue, opt_needTriggerResult, opt_leadRequisiteValues);\r\n\r\n if (!opt_displayValue && !me.hasCalculation) {\r\n if (value) {\r\n var baseSetValue = me._super;\r\n\r\n var references = me.getReferences();\r\n var referenceName = Object.keys(references)[0];\r\n me._updateNewValues([{ groupcode: referenceName, id: value, name: '' }]).done(function (updatedNewValues) {\r\n baseSetValue.apply(me, [value, updatedNewValues[0].name, false, false]);\r\n });\r\n }\r\n }\r\n\r\n return me;\r\n }\r\n\n });\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\n\n global.WA.CMP.wrappers.form.requisites.Reference = Reference;\r\n})(window);","\"use strict\";\r\n\r\n/**\r\n* Π Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠΈ Ρ‚ΠΈΠΏΠ° «Бсылка Π½Π° Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Β».\r\n*\r\n* @class WebAccess.components.wrappers.form.requisites.Document\r\n* @extends WebAccess.components.wrappers.form.requisites.BaseObjectSelectRequisite\r\n* @property {string} name Имя Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°\r\n* @param {string} requisiteName Имя Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°\r\n* @param {object} data Π”Π°Π½Π½Ρ‹Π΅ для ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°\r\n* @since 5.5.0.1000\r\n*/\r\n(function (global) {\r\n\r\n var Document = global.WA.CMP.wrappers.form.requisites.BaseObjectSelectRequisite.extend({\r\n className: \"Document\",\r\n\r\n /**\r\n * Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΏΡ€ΠΈΠ·Π½Π°ΠΊ возмоТности мноТСствСнного Π²Ρ‹Π±ΠΎΡ€Π°.\r\n *\r\n * @method WebAccess.components.wrappers.form.requisites.Document#isMultiselect\r\n * @return {boolean} True - Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ мноТСствСнный Π²Ρ‹Π±ΠΎΡ€, ΠΈΠ½Π°Ρ‡Π΅ - False.\r\n\t* @since 5.4.0.1013\r\n */\r\n isMultiselect: function () {\r\n return false;\r\n },\r\n\r\n /**\r\n * Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΡ‹Ρ… ΠΈ Π½Π΅ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΡ‹Ρ… Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ².\r\n *\r\n * @method WebAccess.components.wrappers.form.requisites.Document#setValue\r\n * @param value {string} УстанавливаСмоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅\r\n * @param [opt_displayValue] {string} ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅\r\n * @param [opt_needTriggerResult] {string} Π’Ρ‹Π·Π²Π°Ρ‚ΡŒ Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€ для события Ρ‚ΠΈΠΏΠ° change\r\n * @return {WebAccess.components.wrappers.form.requisites.Document} Π’Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° – Document.\r\n * @since 5.5.0.9000\r\n */\r\n setValue: function (value, opt_displayValue, opt_needTriggerResult, opt_leadRequisiteValues) {\r\n var me = this;\r\n var baseSetValue = me._super;\r\n me._super(value, opt_displayValue, opt_needTriggerResult, opt_leadRequisiteValues);\r\n\r\n if (!opt_displayValue && !me.hasCalculation) {\r\n if (value) {\r\n WA.SRV.document.getNameById([value]).done(function (res) {\r\n baseSetValue.apply(me, [value, res, false, false]);\r\n }).fail(function (message) {\r\n baseSetValue.apply(me, [value, message, false, false]);\r\n });\r\n }\r\n }\r\n\r\n return me;\r\n }\r\n });\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n global.WA.CMP.wrappers.form.requisites.Document = Document;\r\n})(window);","\"use strict\";\r\n\r\n/**\r\n* Π Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ Ρ‚ΠΈΠΏΠ° Β«Π‘Ρ‚Ρ€ΠΎΠΊΠ°Β» ΠΈ Β«ΠœΠ½ΠΎΠ³ΠΎΡΡ‚Ρ€ΠΎΡ‡Π½Ρ‹ΠΉ тСкст».\r\n* \r\n* @class WebAccess.components.wrappers.form.requisites.Text\r\n* @extends WebAccess.components.wrappers.form.requisites.BaseRequisite\r\n* @property {string} name Имя Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°\r\n* @param {string} requisiteName Имя Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°\r\n* @param {object} data Π”Π°Π½Π½Ρ‹Π΅ для ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°\r\n* @since 5.0.0.7100\r\n*/\r\n(function (global) {\r\n\r\n var Text = global.WA.CMP.wrappers.form.requisites.BaseRequisite.extend({\r\n className: \"Text\",\r\n\r\n /** \r\n * ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°.\r\n *\r\n * @method WebAccess.components.wrappers.form.requisites.Text#getValue\r\n * @return {string} Π‘Ρ‚Ρ€ΠΎΠΊΠ°, содСрТащая Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°.\r\n * @since 5.0.0.7100\r\n */\r\n getValue: function (opt_jControl) {\r\n if (this._data && this._data.isRendered === false) return this._data.value;\r\n\r\n var jControl = opt_jControl || this.controls[0];\r\n if (typeof jControl.data('autoNumeric') === 'object') {\r\n return jControl.autoNumeric('get');\r\n }\r\n return (!jControl.val()) ? null : jControl.val();\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n\r\n /** \r\n * ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°.\r\n *\r\n * @method WebAccess.components.wrappers.form.requisites.Text#getDisplayValue\r\n * @return {string} Π‘Ρ‚Ρ€ΠΎΠΊΠ°, содСрТащая ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°.\r\n */\r\n getDisplayValue: function (opt_jControl) {\r\n return this.getValue(opt_jControl);\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n\r\n /** \r\n * Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°.\r\n *\r\n * @method WebAccess.components.wrappers.form.requisites.Text#setValue\r\n * @param value {string} УстанавливаСмоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°\r\n * @param [opt_displayValue] {string} ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅\r\n * @param [opt_needTriggerResult] {string} Π’Ρ‹Π·Π²Π°Ρ‚ΡŒ Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€ для события Ρ‚ΠΈΠΏΠ° change\r\n * @return {WebAccess.components.wrappers.form.requisites.Text} Π’Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° – Text.\r\n * @since 5.0.0.7100\r\n */\r\n setValue: function (value, opt_displayValue, opt_needTriggerResult) { \r\n opt_needTriggerResult = (opt_needTriggerResult !== false);\r\n const newValue = opt_displayValue || value;\r\n\r\n if (!this.controls.length) {\r\n return this._setInvisibleValues(newValue, opt_displayValue, opt_needTriggerResult);\r\n }\r\n\r\n for (const jControl of this.controls) {\r\n jControl.val(newValue);\r\n if (opt_needTriggerResult) {\r\n jControl.change();\r\n }\r\n if (!jControl.is('textarea')) {\r\n jControl.attr('title', newValue);\r\n }\r\n //Если Π½Π° строковом Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π΅ Π΅ΡΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ Π²Ρ‹Π±ΠΎΡ€, Ρ‚ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅ отобраТаСтся Π½Π΅ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ.\r\n const requisiteReferenceInstance = jControl.data('ReferenceSelectInstance');\r\n if (requisiteReferenceInstance && requisiteReferenceInstance.isCustomSelect) {\r\n requisiteReferenceInstance.changeInpWidthAndPadding();\r\n }\r\n }\r\n\r\n this.touch();\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n\r\n /** \r\n * Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°.\r\n *\r\n * @method WebAccess.components.wrappers.form.requisites.Text#setDisplayValue\r\n * @param value {string} УстанавливаСмоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°\r\n * @return {WebAccess.components.wrappers.form.requisites.Text} Π’Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° – Text.\r\n * @since 5.0.0.7100\r\n */\r\n setDisplayValue: function (value) {\r\n this.setValue(value);\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Ρ‹ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°\r\n *\r\n * @method WebAccess.components.wrappers.form.requisites.BaseRequisite#_bindEvents\r\n * @since 5.0.0.7100\r\n * @private\r\n * @return {array} список jquery ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²\r\n */\r\n _getControls: function () {\r\n var me = this;\r\n var res = [];\r\n var jControl;\r\n\r\n if (me.controlsIds.length == 0 || me.controlsIds[0] == \"\") return [];\r\n\r\n for (var i = 0; i < me.controlsIds.length; i++) {\r\n var id = me.controlsIds[i];\r\n jControl = $('input#' + id + ',textarea#' + id);\r\n if (jControl.length) {\r\n res.push(jControl);\r\n }\r\n };\r\n return res;\r\n }\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n });\r\n\r\n global.WA.CMP.wrappers.form.requisites.Text = Text;\r\n})(window);","\"use strict\";\n\n/**\n* Класс для Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° Ρ‚ΠΈΠΏΠ° Β«Π”Π°Ρ‚Π°Β».\n* \n* @class WebAccess.components.wrappers.form.requisites.Date\n* @extends WebAccess.components.wrappers.form.requisites.Text\n* @property {string} name Имя Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°\n* @param {string} requisiteName Имя Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°\n* @param {obbject} data Π”Π°Π½Π½Ρ‹Π΅ для ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°\n* @since 5.0.0.7100\n*/\n(function (global) {\n /**\n * @inner\n */\n var onControlInitComplete = function (jControl, callback) {\n if (jControl.hasClass('inited')) {\n callback();\n } else {\n jControl.bind('Init', function () {\n callback();\n });\n }\n };\n\n var Date = global.WA.CMP.wrappers.form.requisites.Text.extend({\n className: \"Date\",\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\n\n /**\n * @private \n * @method WebAccess.components.wrappers.form.requisites.BaseRequisite#_bindControlEvents\n * @since 5.0.0.7100\n */\n _bindControlEvents: function (jControl) {\n var me = this;\n var controlInit = $.Deferred();\n me._allControlsInit.push(controlInit);\n\n me._super(jControl);\n\n onControlInitComplete(jControl, function () {\n controlInit.resolve();\n });\n },\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\n\n /**\n * ΠžΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ спиннСр Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π° Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°\n * @method WebAccess.components.wrappers.form.requisites.Date#_showSpinner\n * @since 5.2.0.2014\n * @private\n * @return WebAccess.components.wrappers.form.requisites.Date\n */\n _showSpinner: function () {\n var me = this;\n for (var i = 0; i < me.controls.length; i++) {\n var jControl = me.controls[i];\n var jContainer = jControl.parent();\n jContainer.find('.Req_Icon').hide();\n jContainer.append('
    ');\n }\n return me;\n },\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\n\n /**\n * Π‘ΠΊΡ€Ρ‹Ρ‚ΡŒ спиннСр\n * @method WebAccess.components.wrappers.form.requisites.Date#_hideSpinner\n * @since 5.2.0.2014\n * @private\n * @return WebAccess.components.wrappers.form.requisites.Date\n */\n _hideSpinner: function () {\n var me = this;\n for (var i = 0; i < me.controls.length; i++) {\n var jControl = me.controls[i];\n var jContainer = jControl.parent();\n jContainer.find('.Req_Icon').show();\n jContainer.find('.circle-spinner').remove();\n }\n return me;\n },\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\n\n /** \n * Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°.\n *\n * @method WebAccess.components.wrappers.form.requisites.Date#setValue\n * @param value {string} УстанавливаСмоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°\n * @param [opt_displayValue] {string} ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅\n * @param [opt_needTriggerResult] {string} Π’Ρ‹Π·ΠΎΠ² Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€Π° события Ρ‚ΠΈΠΏΠ° change\n * @return {WebAccess.components.wrappers.form.requisites.Date} Π’Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° – Date.\n * @since 5.0.0.7100\n */\n setValue: function (value, opt_displayValue, opt_needTriggerResult) {\n if (value) {\n if (typeof value !== \"object\") {\r\n if (('' + value).indexOf('T') !== -1) {\r\n value = new window.Date(value);\r\n } else {\r\n value = parseDateTime(value);\r\n }\r\n }\n value = (this.isShowTime()) ? formatDateTime(value) : formatDate(value);\r\n } else {\n value = '';\r\n }\n return this._super(value, opt_displayValue, opt_needTriggerResult);\n },\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\n\n /** \n * ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° Π² Π²ΠΈΠ΄Π΅ JS-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Ρ‚ΠΈΠΏΠ° Β«Π”Π°Ρ‚Π°Β».\n *\n * @method WebAccess.components.wrappers.form.requisites.Date#getDisplayValue\n * @return {WebAccess.components.wrappers.form.requisites.Date} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° Date.\n * @since 5.0.0.7100\n */\n getDate: function () {\n var value = this.getValue();\n if (value) return parseDate(this.getValue());\n return null;\n },\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\n\n\n /**\n * ΠžΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π° Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°.\n *\n * @method WebAccess.components.wrappers.form.requisites.Date#_disableControl\n * @return {WebAccess.components.wrappers.form.requisites.Date}\n * @private \n * @since 5.0.0.7100\n */\n _disableControl: function (jControl) {\n this._super(jControl);\n var icon = jControl.siblings('.Req_Icon');\n if (icon.length) {\n icon.attr('readonly', 'readonly').addClass(\"Req_Icon_Disabled\");\n }\n return this;\n },\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\n\n /**\n * Π’ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π° Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°.\n *\n * @method WebAccess.components.wrappers.form.requisites.Date#_enableControl\n * @private \n * @return {WebAccess.components.wrappers.form.requisites.Date}\n * @since 5.0.0.7100\n */\n _enableControl: function (jControl) {\n this._super(jControl);\n var icon = jControl.siblings('.Req_Icon');\n if (icon.length) {\n icon.removeAttr('readonly').removeClass(\"Req_Icon_Disabled\");\n }\n return this;\n },\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\n\n /**\n * ΠŸΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ΡΡ Π»ΠΈ врСмя Π² Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π΅.\n *\n * @method WebAccess.components.wrappers.form.requisites.Date#isShowTime\n * @return {boolean} True – Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ врСмя, ΠΈΠ½Π°Ρ‡Π΅ False.\n * @since 5.2.0.2006\n */\n isShowTime: function () {\n var me = this;\n if (me.controls.length > 0) {\n var jControl = me.controls[0];\n return '' + jControl.siblings('.datepickerinfo').attr('showtime') === 'true';\n } else {\n return (me._data && me._data.dateFormat === 'DateTime');\n }\n return false;\n }\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\n });\n\n global.WA.CMP.wrappers.form.requisites.Date = Date;\n})(window);\n\n\n","\"use strict\";\n\n/**\n* Π Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠΈ Ρ‚ΠΈΠΏΠ° Β«ΠŸΡ€ΠΈΠ·Π½Π°ΠΊΒ».\n* \n* @class WebAccess.components.wrappers.form.requisites.Pick\n* @extends WebAccess.components.wrappers.form.requisites.BaseRequisite\n* @property {string} name Имя Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°\n* @param {string} requisiteName Имя Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°\n* @param {object} data Π”Π°Π½Π½Ρ‹Π΅ для ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°\n*/\n(function (global) {\n\n var Pick = global.WA.CMP.wrappers.form.requisites.BaseRequisite.extend({\n className: \"Pick\",\n\n\n /**\n * ΠžΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ спиннСр Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π° Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°\n * @method WebAccess.components.wrappers.form.requisites.Pick#_showSpinner\n * @since 5.2.0.2014\n * @private\n * @return WebAccess.components.wrappers.form.requisites.Pick\n */\n _showSpinner: function () {\n var me = this;\n for (var i = 0; i < me.controls.length; i++) {\n var jControl = me.controls[i];\n var isCheckbox = me._isCheckBox(jControl);\n var jContainer = jControl.parent();\n jContainer.find('.Req_Icon').hide();\n jContainer.append('
    ');\n }\n return me;\n },\n //---------------------------------------------------------------------//\n\n /**\n * Π‘ΠΊΡ€Ρ‹Ρ‚ΡŒ спиннСр\n * @method WebAccess.components.wrappers.form.requisites.Pick#_hideSpinner\n * @since 5.2.0.2014\n * @private\n * @return WebAccess.components.wrappers.form.requisites.Pick\n */\n _hideSpinner: function () {\n var me = this;\n for (var i = 0; i < me.controls.length; i++) {\n var jControl = me.controls[i];\n var jContainer = jControl.parent();\n jContainer.find('.Req_Icon').show();\n jContainer.find('.circle-spinner').remove();\n }\n return me;\n },\n //---------------------------------------------------------------------//\n\n _isCheckBox: function (jControl) {\n return jControl.length && !jControl.is('.pickField');\n },\n\n _getControls: function () {\n var me = this;\n var res = [];\n\n if (me.controlsIds.length == 0 || me.controlsIds[0] == \"\") return [];\n for (var i = 0; i < me.controlsIds.length; i++) {\n var id = me.controlsIds[i];\n var jControl = $('input#' + id + 'inp, input#' + id);\n if (jControl.length == 0) {\n jControl = $('#' + id + '_value');\n if (jControl.length == 0) {\n jControl = $('#' + id);\n }\n }\n res.push(jControl);\n };\n return res;\n },\n\n /**\n * ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² ΠΏΠΎΠ»Π΅ ΠΏΠΎ Π΅Π³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ.\n *\n * @since 5.0.0.7100\n * @method WebAccess.components.wrappers.form.requisites.Pick#_getControlValue\n * @private\n */\n _getControlValue: function (controlName) {\n var me = this;\n var jControl;\n jControl = $(\"input#\" + controlName.replace('inp', '').replace('_display', '') + '_value');\n if (jControl.length == 0) {\n jControl = $(\"select#\" + controlName.replace('inp', '').replace('_display', ''));\n if (!me._isCheckBox(jControl)) {\n jControl = $(\"input#hidd\" + controlName.replace('inp', ''));\n }\n }\n return (!jControl.val()) ? null : jControl.val();\n },\n //---------------------------------------------------------------------//\n\n /** \n * ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°.\n *\n * @method WebAccess.components.wrappers.form.requisites.Pick#getDisplayValue\n * @return {string} Π‘Ρ‚Ρ€ΠΎΠΊΠ°, содСрТащая ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°.\n */\n getDisplayValue: function (opt_jControl) {\n if (this._data.isRendered === false) return this._data.displayValue;\n if (this.controls.length === 0) return;\n var jC = opt_jControl || this.controls[0];\n return jC.val();\n },\n //---------------------------------------------------------------------//\n\n _isEditable: function (jControl) {\n return jControl.hasClass('editable');\n },\n //---------------------------------------------------------------------//\n\n /** \n * Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°.\n *\n * @method WebAccess.components.wrappers.form.requisites.Pick#setValue\n * @param value {string} УстанавливаСмоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°\n * @param [opt_displayValue] {string} ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅\n * @param [opt_needTriggerResult] {string} Π’Ρ‹Π·ΠΎΠ² Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€Π° события Ρ‚ΠΈΠΏΠ° change\n * @return { WebAccess.components.wrappers.form.requisites.Pick} Π’Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° – Pick.\n * @since 5.0.0.7100\n */\n setValue: function (value, opt_displayValue, opt_needTriggerResult) {\n var me = this;\n if (_.isUndefined(value)) return this;\n opt_needTriggerResult = (opt_needTriggerResult !== false);\n\n if (me.controls.length === 0) return me._setInvisibleValues(value, opt_displayValue, opt_needTriggerResult);\n\n var jControl;\n for (var i = 0; i < this.controls.length; i++) {\n jControl = this.controls[i];\n if (me._isCheckBox(jControl)) {\n jControl.val(value);\n\n var jDisplay = me._getCheckBoxControl(jControl);\n \n if ((typeof jControl.parents('span').data('requisite') !== 'undefined') && (value == jControl.parents('span').data('requisite').yes)) jDisplay.attr('checked', 'checked').prop('checked', true);\n else jDisplay.removeAttr('checked').prop('checked', false);\n me.touch();\n }\n };\n\n var setValue = function (control, value, opt_displayValue, opt_needTriggerResult) {\n var ddInstance = control.data('DropDownListInstance');\n if (ddInstance) {\n ddInstance.setValue(value, opt_displayValue, opt_needTriggerResult);\n };\n };\n\n _(me.controls).each(function (jControl) {\n if (!me._isCheckBox(jControl)) {\n if (jControl.data('DropDownListInstance')) {\n setValue(jControl, value, opt_displayValue, opt_needTriggerResult);\n } else {\n jControl.bind('Init', function () {\n setValue(jControl, value, opt_displayValue, opt_needTriggerResult);\n });\n }\n if (opt_displayValue) {\r\n jControl.attr(\"title\", opt_displayValue);\r\n } else {\r\n jControl.removeAttr('title');\r\n }\n me.touch();\n\n };\n });\n\n return this;\n },\n //---------------------------------------------------------------------//\n\n /**\n * ΠŸΡ€ΠΈ смСнС значСния Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅ ΠΎΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒΡΡ ΠΊΠΎ всСм.\n *\n * @method WebAccess.components.wrappers.form.requisites.BaseRequisite#_bindMirrors\n * @private\n * @since 5.0.0.7100\n */\n _bindMirrors: function () {\n var me = this;\n if (me.controls.length > 1) {\n me.bind('change', function (context, ev, data) {\n me.setValue(data.value, undefined, false);\n });\n }\n return this;\n },\n //---------------------------------------------------------------------//\n\n /**\n * ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ» для Ρ‡Π΅ΠΊ-бокса.\n *\n * @method WebAccess.components.wrappers.form.requisites.Pick#_getCheckBoxControl\n * @return {object} - Ρ‡Π΅ΠΊ-бокс для Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π°.\n * @private \n * @since 5.5.0.1310\n */\n _getCheckBoxControl: function (jControl) {\n var cardFormControl = jControl.closest('span');\n return cardFormControl.find('input[type=checkbox]');\n },\n //---------------------------------------------------------------------//\n\n /**\n * ΠžΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π° Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°.\n *\n * @method WebAccess.components.wrappers.form.requisites.Pick#_disableControl\n * @return { WebAccess.components.wrappers.form.requisites.Pick}\n * @private \n * @since 5.0.0.7100\n */\n _disableControl: function (jControl) {\n var me = this;\n jControl.addClass(\"Req_Disabled\").attr('tabindex', -1);\n jControl.next('.Req_Icon').addClass('PickReq_Icon_Disabled');\n if (me._isEditable(jControl)) {\n jControl.prop('readonly', true);\n }\n if (me._isCheckBox(jControl)) {\n var jDisplay = me._getCheckBoxControl(jControl);\n if (jDisplay.length > 0) {\n jDisplay.attr('disabled', true); \n }\n }\n return me;\n },\n //---------------------------------------------------------------------//\n\n /**\n * Π’ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π° Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°.\n *\n * @method WebAccess.components.wrappers.form.requisites.Pick#_enableControl\n * @private\n * @return { WebAccess.components.wrappers.form.requisites.Pick}\n * @since 5.0.0.7100\n */\n _enableControl: function (jControl) {\n var me = this;\n jControl.removeClass(\"Req_Disabled\").removeAttr('tabindex');\n jControl.next('.Req_Icon').removeClass('PickReq_Icon_Disabled');\n if (me._isEditable(jControl)) {\n jControl.prop('readonly', false);\n }\n if (me._isCheckBox(jControl)) {\n var jDisplay = me._getCheckBoxControl(jControl);\n if (jDisplay.length > 0) {\n jDisplay.attr('disabled', false);\n }\n }\n return me;\n },\n //---------------------------------------------------------------------//\n\n /**\n * @private\n */\n _bindEvents: function () {\n var me = this;\n\n if (me.controls.length === 0) {\n var controlInit = $.Deferred();\n me._allControlsInit.push(controlInit);\n controlInit.resolve();\n return me;\n }\n\n _(me.controls).each(function (jControl) {\n var controlInit = $.Deferred();\n me._allControlsInit.push(controlInit);\n\n if (me._isCheckBox(jControl)) {\n jControl = me._getCheckBoxControl(jControl);\n me._bindControlEvents(jControl, true);\n controlInit.resolve();\n return;\n };\n\n if (jControl.data('DropDownListInstance')) {\n me._bindControlEvents(jControl);\n controlInit.resolve();\n } else {\n jControl.bind('Init', function () {\n me._bindControlEvents(jControl);\n controlInit.resolve();\n });\n }\n });\n\n return me;\n },\n //---------------------------------------------------------------------//\n\n /**\n * @private \n * @method WebAccess.components.wrappers.form.requisites.Pick#_bindControlEvents\n * @since 5.0.0.7100\n */\n _bindControlEvents: function (jControl, isCheckBox) {\n var me = this;\n var reqFullName = me.fullName;\n var eventName = 'change.BaseRequisite';\n if (isCheckBox && (WA.ENV.browser.name === 'IE')) {\n eventName = 'click.BaseRequisite';\n }\n\n jControl.off(eventName).on(eventName, function (ev) {\n var value = me.getValue($(this));\n var displayValue = me.getDisplayValue($(this));\n me._fireChange(reqFullName, value, displayValue, ev);\n });\n },\n //---------------------------------------------------------------------//\n\n /**\n * @private\n */\n _applyControlMethod: function (jControl, method, args) {\n var me = this;\n var instance = jControl.data('DropDownListInstance');\n if (instance) {\n instance[method].apply(instance, args);\n } else {\n jControl.bind('Init', function () {\n instance = jControl.data('DropDownListInstance');\n instance[method].apply(instance, args);\n });\n }\n },\n //---------------------------------------------------------------------//\n\n /**\n * ΠžΡ‡ΠΈΡΡ‚ΠΊΠ° списка доступных для Π²Ρ‹Π±ΠΎΡ€Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.\n *\n * @method WebAccess.components.wrappers.form.requisites.Pick#clearValues\n * @return { WebAccess.components.wrappers.form.requisites.Pick}\n * @since 5.2.0.2014\n */\n clearValues: function () {\n var me = this;\n _(me.controls).each(function (jControl) {\n if (me._isCheckBox(jControl)) {\n jControl.parents('span').data('requisite', {});\n } else {\n me._applyControlMethod(jControl, 'clearDropDownListItems');\n }\n });\n return me;\n },\n //---------------------------------------------------------------------//\n\n /**\n * Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠ³ΠΎ значСния Π² список доступных для Π²Ρ‹Π±ΠΎΡ€Π°.\n *\n * @method WebAccess.components.wrappers.form.requisites.Pick#addValue\n * @param {string} value Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ \"Y\", \"Π”\", \"Н\")\n * @param {string} displayValue ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ \"Π”Π°\")\n * @param {boolean} [opt_isDisabled] Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ нСдоступно для Π²Ρ‹Π±ΠΎΡ€Π°\n * @return { WebAccess.components.wrappers.form.requisites.Pick}\n * @since 5.2.0.2014\n */\n addValue: function (value, displayValue, opt_isDisabled) {\n var me = this;\n var item = [value, displayValue, displayValue.escapeHtml(), opt_isDisabled];\n _(me.controls).each(function (jControl) {\n if (me._isCheckBox(jControl)) {\n if (!jControl.parents('span').data('requisite')['yes']) {\n jControl.parents('span').data('requisite')['yes'] = value;\n } else {\n jControl.parents('span').data('requisite')['no'] = value;\n }\n } else {\n me._applyControlMethod(jControl, 'addDropDownListItem', [item]);\n }\n });\n return me;\n },\n //---------------------------------------------------------------------//\n\n /**\n * Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ значСния ΠΈΠ· списка доступных для Π²Ρ‹Π±ΠΎΡ€Π°.\n *\n * @method WebAccess.components.wrappers.form.requisites.Pick#removeValue\n * @param {string} value Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ \"Y\", \"Π”\", \"Н\")\n * @return { WebAccess.components.wrappers.form.requisites.Pick}\n * @since 5.2.0.2014\n */\n removeValue: function (value) {\n _(me.controls).each(function (jControl) {\n me._applyControlMethod(jControl, 'removeDropDownListItem', [value]);\n });\n return me;\n }\n //---------------------------------------------------------------------//\n });\n\n global.WA.CMP.wrappers.form.requisites.Pick = Pick;\n})(window);\n\n\n","\"use strict\";\n\n/**\n* Класс для числовых Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ².\n* \n* @class WebAccess.components.wrappers.form.requisites.Integer\n* @extends WebAccess.components.wrappers.form.requisites.Text\n* @property {string} name Имя Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°\n* @param {string} requisiteName Имя Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°\n* @param {object} data Π”Π°Π½Π½Ρ‹Π΅ для ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°\n* @since 5.0.0.7100\n*/\n(function (global) {\n\n /**\n * @inner\n */\n var onControlInitComplete = function (jControl, callback) {\n if (jControl.hasClass('inited') || (jControl.hasClass('rs_InitComplete') && jControl.hasClass('rs_custom'))) {\n callback();\n } else {\n jControl.bind('Init', function () {\n callback();\n });\n }\n };\n\n var Integer = global.WA.CMP.wrappers.form.requisites.Text.extend({\n className: \"Integer\",\n\n /**\n * @private \n * @method WebAccess.components.wrappers.form.requisites.BaseRequisite#_bindControlEvents\n * @since 5.0.0.7100\n */\n _bindControlEvents: function (jControl) {\n var me = this;\n var controlInit = $.Deferred();\n me._allControlsInit.push(controlInit);\n\n me._super(jControl);\n\n onControlInitComplete(jControl, function () {\n controlInit.resolve();\n });\n },\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\n\n getValue: function (opt_jControl) {\n if (this._data && this._data.isRendered === false) return this._data.value;\n var jControl = opt_jControl || this.controls[0];\n var jControlValue = jControl.val();\n if (typeof jControl.data('autoNumeric') === 'object' && jControlValue !== '*') {\r\n return jControl.autoNumeric('get');\r\n }\n return (!jControlValue) ? null : jControlValue;\n },\n\n setValue: function (value, opt_displayValue, opt_needTriggerResult) { \n var me = this;\n if (_.isUndefined(value)) return this;\n opt_needTriggerResult = (opt_needTriggerResult !== false); //Ссли Π½Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½, Ρ‚ΠΎ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π±ΡƒΠ΄Π΅Ρ‚ true.\n\n if (this.controls.length === 0) return this._setInvisibleValues(value, opt_displayValue, opt_needTriggerResult);\n \n value = (value+\"\").replace(',', '.');\n \n var val = parseFloat(value);\n\n var jControl;\n for (var i = 0; i < this.controls.length; i++) {\n jControl = this.controls[i];\n\n if (value === '*') {\n jControl.val('*');\n } else {\n if ((value === '' || _.isNull(value) || isNaN(val))) {\n jControl.val('');\n jControl.removeAttr(\"title\");\n continue;\n }\n\n if (typeof jControl.data('autoNumeric') === 'object') {\n jControl.autoNumeric('set', val);\n } else {\n jControl.val(val);\n }\n }\n\n if (opt_displayValue) {\r\n jControl.attr(\"title\", opt_displayValue);\r\n } else {\r\n jControl.removeAttr('title');\r\n }\n if (opt_needTriggerResult) { jControl.change(); }\n };\n\n this.touch();\n return this;\n }\n\n });\n\n global.WA.CMP.wrappers.form.requisites.Integer = Integer;\n})(window);\n\n\n","\"use strict\";\r\n\r\n/**\r\n* Π Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ Ρ‚ΠΈΠΏΠ° Β«Π’Ρ‹Π±ΠΎΡ€ ΠΈΠ· справочника» ΠΈ Β«ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²Π΅Π½Π½Ρ‹ΠΉ Π²Ρ‹Π±ΠΎΡ€Β».\r\n* \r\n* @class WebAccess.components.wrappers.form.requisites.Radio\r\n* @extends WebAccess.components.wrappers.form.requisites.BaseRequisite\r\n* @property {string} name Имя Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°\r\n* @param {string} requisiteName Имя Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°\r\n* @param {obbject} data Π”Π°Π½Π½Ρ‹Π΅ для ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°\r\n* @since 5.2.0.2014\r\n*/\r\n(function (global) {\r\n\r\n /**\r\n* @inner\r\n* @since 5.2.0.2014\r\n*/\r\n\r\n var Radio = global.WA.CMP.wrappers.form.requisites.BaseRequisite.extend({\r\n className: \"Radio\",\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Ρ‹ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°.\r\n *\r\n * @method WebAccess.components.wrappers.form.requisites.Radio#_bindEvents\r\n * @private\r\n * @return {array} список jquery ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²\r\n * @since 5.2.0.2014\r\n */\r\n _getControls: function () {\r\n var me = this;\r\n var res = [];\r\n\r\n if (me.controlsIds.length == 0 || me.controlsIds[0] == \"\") return [];\r\n\r\n for (var i = 0; i < me.controlsIds.length; i++) {\r\n var id = me.controlsIds[i]; \r\n var selector = '[name=\"' + id + '\"][type=\"radio\"]';\r\n selector = selector.replaceAll('_', '$');\r\n var jControl = $(selector);\r\n res.push(jControl);\r\n }\r\n return res;\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n\r\n /**\r\n * ΠžΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ спиннСр Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π° Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°\r\n * @method WebAccess.components.wrappers.form.requisites.Radio#_showSpinner\r\n * @since 5.2.0.2014\r\n * @private\r\n * @return WebAccess.components.wrappers.form.requisites.Radio\r\n */\r\n _showSpinner: function () {\r\n var me = this; \r\n return me;\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n /**\r\n * Π‘ΠΊΡ€Ρ‹Ρ‚ΡŒ спиннСр\r\n * @method WebAccess.components.wrappers.form.requisites.Radio#_hideSpinner\r\n * @since 5.2.0.2014\r\n * @private\r\n * @return WebAccess.components.wrappers.form.requisites.Radio\r\n */\r\n _hideSpinner: function () {\r\n var me = this;\r\n return me;\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n /** \r\n * ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°.\r\n * \r\n * @method WebAccess.components.wrappers.form.requisites.Radio#getDisplayValue\r\n * @return {string} Π‘Ρ‚Ρ€ΠΎΠΊΠ°, содСрТащая ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°.\r\n */\r\n getDisplayValue: function (opt_jControl) {\r\n if (this._data && this._data.isRendered === false) return this._data.displayValue;\r\n if (this.controls.length === 0) return;\r\n return $(this.controls[0]).filter(':checked').next('label').text();\r\n\r\n },\r\n //---------------------------------------------------------------------// \r\n\r\n /** \r\n * Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΡ‹Ρ… ΠΈ Π½Π΅ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΡ‹Ρ… Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ².\r\n *\r\n * @method WebAccess.components.wrappers.form.requisites.Radio#setValue\r\n * @param value {string} УстанавливаСмоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅\r\n * @param [opt_displayValue] {string} ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅\r\n * @param [opt_needTriggerResult] {string} Π’Ρ‹Π·Π²Π°Ρ‚ΡŒ Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€ для события Ρ‚ΠΈΠΏΠ° change\r\n * @return {WebAccess.components.wrappers.form.requisites.Radio} Π’Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° – Reference.\r\n * @since 5.2.0.2014\r\n */\r\n setValue: function (value, opt_displayValue, opt_needTriggerResult) {\r\n var me = this;\r\n opt_needTriggerResult = (opt_needTriggerResult !== false);\r\n\r\n if (this.controls.length === 0) return this._setInvisibleValues(value, opt_displayValue, opt_needTriggerResult);\r\n\r\n $.each(me.controls, function () {\r\n var jControl = $(this).filter(function () {\r\n return $(this).val().toLowerCase() === value.toString().toLowerCase();\r\n })\r\n jControl.prop('checked', true);\r\n //if (opt_displayValue) jControl.next('label').text(opt_displayValue);\r\n });\r\n\r\n this.touch();\r\n return this;\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n /**\r\n * @ignore\r\n * @method WebAccess.components.wrappers.form.requisites.Radio#setDisplayValue\r\n */\r\n setDisplayValue: function (displayValue, opt_needTriggerResult) {\r\n return this;\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² ΠΏΠΎΠ»Π΅ ΠΏΠΎ Π΅Π³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ.\r\n *\r\n * @private\r\n * @function WebAccess.components.wrappers.form.requisites.Radio#_getControlValue\r\n * @since 5.2.0.2014\r\n */\r\n _getControlValue: function (controlName) {\r\n if (this.controls.length === 0) return;\r\n return $(this.controls[0]).filter(':checked').val() === 'True'; \r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n /**\r\n * @method WebAccess.components.wrappers.form.requisites.Radio#setCustomAction\r\n * @ignore \r\n */\r\n setCustomAction: function() {\r\n return this;\r\n }\r\n });\r\n\r\n global.WA.CMP.wrappers.form.requisites.Radio = Radio;\r\n})(window);","\"use strict\";\r\n\r\n/**\r\n* Π Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ Ρ‚ΠΈΠΏΠ° Β«Π’Ρ‹Π±ΠΎΡ€ ΠΈΠ· справочника» ΠΈ Β«ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²Π΅Π½Π½Ρ‹ΠΉ Π²Ρ‹Π±ΠΎΡ€Β».\r\n* \r\n* @class WebAccess.components.wrappers.form.requisites.CheckBox\r\n* @extends WebAccess.components.wrappers.form.requisites.BaseRequisite\r\n* @property {string} name Имя Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°\r\n* @param {string} requisiteName Имя Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°\r\n* @param {obbject} data Π”Π°Π½Π½Ρ‹Π΅ для ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°\r\n* @since 5.0.0.7100\r\n*/\r\n(function (global) {\r\n\r\n /**\r\n* @inner\r\n* @since 5.2.0.2014\r\n*/\r\n\r\n var CheckBox = global.WA.CMP.wrappers.form.requisites.BaseRequisite.extend({\r\n className: \"CheckBox\",\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Ρ‹ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°.\r\n *\r\n * @method WebAccess.components.wrappers.form.requisites.CheckBox#_bindEvents\r\n * @private\r\n * @return {array} список jquery ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²\r\n * @since 5.0.0.7100\r\n */\r\n _getControls: function () {\r\n var me = this;\r\n var res = [];\r\n\r\n if (me.controlsIds.length == 0 || me.controlsIds[0] == \"\") return [];\r\n\r\n for (var i = 0; i < me.controlsIds.length; i++) {\r\n var id = me.controlsIds[i]; \r\n var selector = '[id=\"' + id + '\"]';\r\n var jControl = $(selector);\r\n res.push(jControl);\r\n }\r\n return res;\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n\r\n /**\r\n * ΠžΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ спиннСр Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π° Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°\r\n * @method WebAccess.components.wrappers.form.requisites.CheckBox#_showSpinner\r\n * @since 5.2.0.2014\r\n * @private\r\n * @return WebAccess.components.wrappers.form.requisites.CheckBox\r\n */\r\n _showSpinner: function () {\r\n var me = this; \r\n return me;\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n /**\r\n * Π‘ΠΊΡ€Ρ‹Ρ‚ΡŒ спиннСр\r\n * @method WebAccess.components.wrappers.form.requisites.CheckBox#_hideSpinner\r\n * @since 5.2.0.2014\r\n * @private\r\n * @return WebAccess.components.wrappers.form.requisites.CheckBox\r\n */\r\n _hideSpinner: function () {\r\n var me = this;\r\n return me;\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n /** \r\n * ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°.\r\n * \r\n * @ignore\r\n * @method WebAccess.components.wrappers.form.requisites.CheckBox#getDisplayValue\r\n * @return {string} Π‘Ρ‚Ρ€ΠΎΠΊΠ°, содСрТащая ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°.\r\n */\r\n getDisplayValue: function (opt_jControl) { \r\n return '';\r\n },\r\n //---------------------------------------------------------------------// \r\n\r\n /** \r\n * Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΡ‹Ρ… ΠΈ Π½Π΅ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΡ‹Ρ… Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ².\r\n *\r\n * @method WebAccess.components.wrappers.form.requisites.CheckBox#setValue\r\n * @param value {string} УстанавливаСмоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅\r\n * @param [opt_displayValue] {string} ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅\r\n * @param [opt_needTriggerResult] {string} Π’Ρ‹Π·Π²Π°Ρ‚ΡŒ Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€ для события Ρ‚ΠΈΠΏΠ° change\r\n * @return {WebAccess.components.wrappers.form.requisites.CheckBox} Π’Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° – Reference.\r\n * @since 5.0.0.7100\r\n */\r\n setValue: function (value, opt_displayValue, opt_needTriggerResult) {\r\n var me = this;\r\n opt_needTriggerResult = (opt_needTriggerResult !== false);\r\n\r\n if (this.controls.length === 0) return this._setInvisibleValues(value, opt_displayValue, opt_needTriggerResult);\r\n\r\n $.each(me.controls, function () {\r\n $(this).prop('checked', value);\r\n });\r\n\r\n this.touch();\r\n return this;\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n /**\r\n * @ignore\r\n * @method WebAccess.components.wrappers.form.requisites.CheckBox#setDisplayValue\r\n */\r\n setDisplayValue: function (displayValue, opt_needTriggerResult) {\r\n var me = this; \r\n return this;\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² ΠΏΠΎΠ»Π΅ ΠΏΠΎ Π΅Π³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ.\r\n *\r\n * @private\r\n * @function WebAccess.components.wrappers.form.requisites.CheckBox#_getControlValue\r\n * @since 5.0.0.7100\r\n */\r\n _getControlValue: function (controlName) {\r\n if (this.controls.length === 0) return;\r\n return $(this.controls[0]).is(':checked'); \r\n },\r\n //---------------------------------------------------------------------// \r\n\r\n /**\r\n * Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ подпись для Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°.\r\n *\r\n * @function WebAccess.components.wrappers.form.requisites.BaseRequisite#setLabel\r\n * @ignore\r\n * @return {WebAccess.components.wrappers.BaseRequisite} Π’Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°.\r\n */\r\n setLabel: function (text) {\r\n return this;\r\n },\r\n //---------------------------------------------------------------------//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ» подписи.\r\n *\r\n * @method WebAccess.components.wrappers.form.requisites.BaseRequisite#_getLabelForControl\r\n * @private\r\n * @since 5.0.0.7100\r\n * @return {object}\r\n */\r\n _getLabelForControl: function (jControl) {\r\n var jC = jControl.parents('.Card_Element:first').prev('.CardForm_Label');\r\n if (jC.length) return jC;\r\n jC = jControl.parents('label');\r\n return jC;\r\n },\r\n //---------------------------------------------------------------------//\r\n \r\n /**\r\n * @method WebAccess.components.wrappers.form.requisites.CheckBox#setCustomAction\r\n * @ignore \r\n */\r\n setCustomAction: function() {\r\n return this;\r\n }\r\n //---------------------------------------------------------------------//\r\n\r\n });\r\n\r\n global.WA.CMP.wrappers.form.requisites.CheckBox = CheckBox;\r\n})(window);","\"use strict\";\r\n\r\n/**\r\n* Π Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ Ρ‚ΠΈΠΏΠ° \"Бписок ΠΎΠ±ΡŒΠ΅ΠΊΡ‚ΠΎΠ²\".\r\n*\r\n* @class WebAccess.components.wrappers.form.requisites.ObjectList\r\n* @extends WebAccess.components.wrappers.form.requisites.BaseRequisite\r\n* @property {string} name Имя Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°\r\n* @param {string} requisiteName Имя Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°\r\n* @param {obbject} data Π”Π°Π½Π½Ρ‹Π΅ для ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°\r\n* @since 5.2.0.2014\r\n*/\r\n(function (global) {\r\n\r\n\r\n\r\n var ObjectList = global.WA.CMP.wrappers.form.requisites.BaseRequisite.extend({\r\n className: \"ObjectList\",\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Ρ‹ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°.\r\n *\r\n * @method WebAccess.components.wrappers.form.requisites.ObjectList#_bindEvents\r\n * @private\r\n * @return {array} список jquery ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²\r\n * @since 5.2.0.2014\r\n */\r\n _getControls: function () {\r\n var me = this;\r\n var res = [];\r\n\r\n if (me.controlsIds.length == 0 || me.controlsIds[0] == \"\") return [];\r\n\r\n for (var i = 0; i < me.controlsIds.length; i++) {\r\n var id = me.controlsIds[i];\r\n var jControl = $('#' + id + '_list');\r\n res.push(jControl);\r\n }\r\n return res;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n\r\n /**\r\n * Π’Ρ‹Π·Π²Π°Ρ‚ΡŒ событиС измСнСния\r\n * @private\r\n */\r\n _fireChange: function (reqFullName, value, displayValue, opt_ev) {\r\n var me = this;\r\n me.touch();\r\n me.fire(\"change\", this, opt_ev, { name: reqFullName, value: me.getValue(), displayValue: null });\r\n if (this._parent && this._parent.form) this._parent.form.fire(\"change\", this, opt_ev, { name: reqFullName, value: me.getValue(), displayValue: displayValue });\r\n },\r\n\r\n\r\n /**\r\n * ΠžΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ спиннСр Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π° Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°\r\n * @method WebAccess.components.wrappers.form.requisites.ObjectList#_showSpinner\r\n * @since 5.2.0.2014\r\n * @private\r\n * @return WebAccess.components.wrappers.form.requisites.ObjectList\r\n */\r\n _showSpinner: function () {\r\n var me = this;\r\n return me;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π‘ΠΊΡ€Ρ‹Ρ‚ΡŒ спиннСр\r\n * @method WebAccess.components.wrappers.form.requisites.ObjectList#_hideSpinner\r\n * @since 5.2.0.2014\r\n * @private\r\n * @return WebAccess.components.wrappers.form.requisites.ObjectList\r\n */\r\n _hideSpinner: function () {\r\n var me = this;\r\n return me;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°.\r\n *\r\n * @method WebAccess.components.wrappers.form.requisites.ObjectList#getDisplayValue\r\n * @ignore\r\n * @return {string} Π‘Ρ‚Ρ€ΠΎΠΊΠ°, содСрТащая ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°.\r\n */\r\n getDisplayValue: function (opt_jControl) {\r\n return;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Π΅ ссылки.\r\n *\r\n * @method WebAccess.components.wrappers.form.requisites.ObjectList#getDisplayValue\r\n * @ignore\r\n * @return {string} Π‘Ρ‚Ρ€ΠΎΠΊΠ°, содСрТащая ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°.\r\n * @since 5.2.0.2014\r\n */\r\n getSelectedValue: function( ) {\r\n return this._getControlValue(this.controlsIds[0], 'GetSelectedLinks')\r\n },\r\n\r\n /**\r\n * Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΡ‹Ρ… ΠΈ Π½Π΅ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΡ‹Ρ… Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ².\r\n *\r\n * @method WebAccess.components.wrappers.form.requisites.ObjectList#setValue\r\n * @param value {WebAccess.Link|WebAccess.Link[]} УстанавливаСмоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅\r\n * @param [opt_displayValue] {string} ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅\r\n * @param [opt_needTriggerResult] {string} Π’Ρ‹Π·Π²Π°Ρ‚ΡŒ Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€ для события Ρ‚ΠΈΠΏΠ° change\r\n * @return {WebAccess.components.wrappers.form.requisites.ObjectList} Π’Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° – ObjectList.\r\n * @since 5.2.0.2014\r\n */\r\n setValue: function (value, opt_displayValue, opt_needTriggerResult) {\r\n var me = this;\r\n if (_.isUndefined(value)) return;\r\n opt_needTriggerResult = (opt_needTriggerResult !== false);\r\n\r\n if (!_.isArray(value)) value = [value];\r\n _.each(me.controlsIds, function (name) {\r\n var list = ListRequisite(name);\r\n var links = _(value).map(function (link) {\r\n return link.toLinkModel();\r\n });\r\n list.Values = links;\r\n list.UpdateList();\r\n });\r\n\r\n this.touch();\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ» подписи.\r\n *\r\n * @method WebAccess.components.wrappers.form.requisites.BaseRequisite#_getLabelForControl\r\n * @private\r\n * @since 5.0.0.7100\r\n * @return {object}\r\n */\r\n _getLabelForControl: function (jControl) {\r\n var jC = jControl.parents('.Card_Element:first').prev('.CardForm_Label');\r\n if (jC.length) return jC;\r\n return jControl.parents('tr').eq(1).find('td.wizard-table__cell_type_label');\r\n },\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² ΠΏΠΎΠ»Π΅ ΠΏΠΎ Π΅Π³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ.\r\n *\r\n * @private\r\n * @function WebAccess.components.wrappers.form.requisites.ObjectList#_getControlValue\r\n * @since 5.2.0.2014\r\n * @return {Array}\r\n */\r\n _getControlValue: function (controlName, method) {\r\n method = method || 'GetLinks';\r\n\r\n var value;\r\n var result = ListRequisite(controlName)[method]();\r\n\r\n if (result.links) {\r\n return _(result.links).map(function (link) {\r\n var newLink = new WA.Link({});\r\n return newLink.fromLinkModel(link);\r\n });\r\n } else {\r\n return null;\r\n }\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ нСдоступности Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° справочника для измСнСния.\r\n *\r\n * @function WebAccess.components.wrappers.form.requisites.ObjectList#isDisabled\r\n * @return {Boolean} True – Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ справочника доступСн Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для чтСния, ΠΈΠ½Π°Ρ‡Π΅ False.\r\n * @since 5.2.0.2014\r\n */\r\n isDisabled: function () {\r\n return ListRequisite(this.controlsIds[0]).ReadOnly;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠžΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π° Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°.\r\n *\r\n * @method WebAccess.components.wrappers.form.requisites.ObjectList#_disableControl\r\n * @private\r\n * @return {WebAccess.components.wrappers.form.requisites.ObjectList}\r\n * @since 5.2.0.2014\r\n */\r\n _disableControl: function (jControl) {\r\n _.each(this.controlsIds, function (name) {\r\n ListRequisite(name).Disable();\r\n });\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π’ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π° Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°.\r\n *\r\n * @method WebAccess.components.wrappers.form.requisites.ObjectList#_enableControl\r\n * @private\r\n * @return {WebAccess.components.wrappers.form.requisites.ObjectList}\r\n * @since 5.2.0.2014\r\n */\r\n _enableControl: function (jControl) {\r\n _.each(this.controlsIds, function (name) {\r\n ListRequisite(name).Enable();\r\n });\r\n return this;\r\n },\r\n\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ событий.\r\n *\r\n * @private\r\n * @method WebAccess.components.wrappers.form.requisites.ObjectList#_bindEvents\r\n * @since 5.2.0.2014\r\n * @return WebAccess.components.wrappers.form.requisites.ObjectList\r\n */\r\n _bindEvents: function () {\r\n var me = this;\r\n if (me.controls.length === 0) return this;\r\n $.each(me.controls, function () {\r\n me._bindControlEvents($(this).parents('.ListRequisite'));\r\n });\r\n return me;\r\n }\r\n\r\n });\r\n\r\n global.WA.CMP.wrappers.form.requisites.ObjectList = ObjectList;\r\n})(window);\r\n","\"use strict\";\r\n(function (global) {\r\n\r\n /**\r\n * Для Π΄Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π°Π·Π΄Π΅Π»Π° доступно Π΄Π²Π° Ρ€Π΅ΠΆΠΈΠΌΠ° Ρ€Π°Π±ΠΎΡ‚Ρ‹, это ΠΊΠΎΠ³Π΄Π° курсор находится\r\n * Π½Π° Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π΅ ΠΈ сущСствуСт нСпосрСдствСнно ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ» Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° ΠΈ ΠΊΠΎΠ³Π΄Π° Π΄Π°Π½Π½Ρ‹ΠΌΠΈ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ\r\n * ΠΎΠΏΠ΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π½Π°ΠΏΡ€ΡΠΌΡƒΡŽ мСняя Π³Ρ€ΠΈΠ΄.\r\n * Π­Ρ‚ΠΎΡ‚ миксин дополняСт Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ² Ρ‚Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ρ‡Ρ‚ΠΎ конСчная \r\n * Ρ€Π°Π±ΠΎΡ‚Π° с Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠΌ становится ΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎΠΉ ΠΈ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΠΎ Ρ€Π°Π±ΠΎΡ‡Π΅ΠΉ нСзависимо ΠΎΡ‚ Ρ‚ΠΎΠ³ΠΎ,\r\n * Π΅ΡΡ‚ΡŒ Π»ΠΈ сСйчас ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ» для Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° ΠΈΠ»ΠΈ Π΅Π³ΠΎ Π½Π΅Ρ‚.\r\n * Π›ΠΎΠ³ΠΈΠΊΠ° Π½Π΅ вынСсСна Π² класс _details.BaseRequisite ΠΏΠΎΡ‚ΠΎΠΌΡƒ, Ρ‡Ρ‚ΠΎ Ρ‚ΠΎΠ³Π΄Π° для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ\r\n * Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° ΠΏΡ€ΠΈΡˆΠ»ΠΎΡΡŒ Π±Ρ‹ снова ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹.\r\n * @mixin WebAccess.components.wrappers.form.requisites._details.editModeMixin\r\n * @propery {boolean} isEditMode ΠΏΡ€ΠΈΠ·Π½Π°ΠΊ наличия Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π°\r\n * @private\r\n */\r\n\r\n var editModeMixin = {\r\n isEditMode: false,\r\n\r\n _grid: null,\r\n _filter: null,\r\n _filters: null,\r\n _isVisible: true,\r\n _pickValues: null,\r\n _references: null,\r\n _customAction: null,\r\n _mainReference: null,\r\n _lastReferences: null,\r\n _lastValue: null,\r\n _addLastObjectsPseudoReference: null,\r\n _bindReferenceGridDialog: null,\r\n _isChangeFired: false,\r\n\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n init: function (requisiteName, data, opt_parent, opt_grid) {\r\n\r\n var me = this;\r\n me._lastValue = {};\r\n me._super(requisiteName, data, opt_parent);\r\n me._isDisabled = data.isReadOnly;\r\n\r\n me._filters = {};\r\n me._references = {};\r\n me._pickValues = [];\r\n\r\n if (data.requisite) {\r\n me._references = data.requisite.refcodes;\r\n };\r\n\r\n me._grid = opt_grid; //Core.grid.details[me._parent._parentTable.name];\r\n me._bindGridEvents();\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π’ ΠΌΠΎΠΌΠ΅Π½Ρ‚ ΠΊΠΎΠ³Π΄Π° Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€ Π°ΠΊΡ‚ΠΈΠ²ΠΈΡ€ΠΎΠ²Π°Π½, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΠ΅Ρ€Π΅ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ jquery ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π½Π° Π½ΠΎΠ²Ρ‹Π΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Ρ‹;\r\n * @mixin WebAccess.components.wrappers.form.requisites._details.editModeMixin#_reInitControls\r\n * @return {WebAccess.components.wrappers.form.requisites._details.editModeMixin}\r\n */\r\n _reInitControls: function (editor) {\r\n this.controls = this._getControls(editor);\r\n this._bindEvents();\r\n this._isChangeFired = false; \r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n \r\n /** \r\n * @see WebAccess.components.wrappers.form.requisites.BaseRequisite#_fireChange \r\n * @private\r\n */\r\n _fireChange(reqFullName, value, displayValue, opt_ev) { \r\n this._isChangeFired = true;\r\n this.touch();\r\n const requisiteData = {\r\n displayValue: displayValue,\r\n name: reqFullName, \r\n value: value, \r\n }\r\n this.fire('change', this, opt_ev, requisiteData);\r\n },\r\n\r\n /** \r\n * @see WebAccess.components.wrappers.form.requisites.BaseObjectSelectRequisite#_fireObjectSelectRequisiteChange \r\n * @private\r\n */\r\n _fireObjectSelectRequisiteChange(jControl, event, requisiteData) {\r\n this._isChangeFired = true;\r\n this.touch();\r\n this.fire('change', jControl, event, requisiteData);\r\n },\r\n \r\n /**\r\n * \r\n * @mixin WebAccess.components.wrappers.form.requisites._details.editModeMixin#_reInitControls\r\n * @return {WebAccess.components.wrappers.form.requisites._details.editModeMixin}\r\n */\r\n _bindGridEvents: function () { \r\n var me = this;\r\n me._lastValue[me.name] = me.getValue();\r\n\r\n this._grid.bind('requisiteChange', (requisiteName, rowId, value, displayValue) => {\r\n // _isChangeFired устанавливаСтся Π² True Π² _fireChange, Π² случаС Ссли ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ связанного с Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠΌ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π° ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»ΠΎ Ρ€Π°Π½ΡŒΡˆΠ΅.\r\n if (!this._isChangeFired) {\r\n if (requisiteName === this.name && rowId === this._data.row_id) {\r\n let last = this._lastValue[this.name] || '';\r\n let current = value || '';\r\n\r\n if (last !== current) { \r\n this._lastValue[this.name] = value; \r\n this._fireChange(requisiteName, value, displayValue);\r\n }\r\n }\r\n } \r\n });\r\n\r\n this._grid.bind('editorInit', function (requisiteName, rowId, value, displayValue, editor) {\r\n if (requisiteName === me.name && rowId == me._data.row_id) {\r\n me.isEditMode = true;\r\n\r\n if (me.isDisabled()) {\r\n editor.disable();\r\n } else {\r\n editor.enable();\r\n }\r\n\r\n if (me._filter) editor.setFilter(me._filter);\r\n if (!_.isEmpty(me._filters)) {\r\n for (var refName in me._filters) {\r\n editor.setFilters(me._filters[refName], refName);\r\n }\r\n }\r\n\r\n if (me._clearPick) {\r\n editor.clearValues();\r\n }\r\n\r\n if (!_.isEmpty(me._pickValues)) {\r\n _.each(me._pickValues, function (v) {\r\n editor.addValue(v[0], v[1], v[2]);\r\n });\r\n }\r\n\r\n if (!_.isEmpty(me._references)) {\r\n if (editor.setReferences) editor.setReferences(me._references);\r\n };\r\n\r\n if (me._mainReference) {\r\n if (editor.setReferences) editor.setMainReference(me._mainReference);\r\n };\r\n\r\n if (me._addLastObjectsPseudoReference) {\r\n editor.addLastObjectsPseudoReference(me._lastReferences);\r\n };\r\n\r\n if (me._bindReferenceGridDialog) {\r\n editor.bindReferenceGridDialog();\r\n }\r\n\r\n if (!_.isEmpty(me._customAction)) {\r\n editor.setCustomAction(me._customAction.callback, me._customAction.tooltip);\r\n };\r\n\r\n me._reInitControls(editor);\r\n\r\n me.fire('editModeChange', true); \r\n }\r\n });\r\n\r\n this._grid.bind('editorDestroy', function () {\r\n // ΠžΠΏΡ‚ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ, Ρ‡Ρ‚ΠΎ Π±Ρ‹ Π½Π΅ срабатывало ΠΌΠ½ΠΎΠ³ΠΎ editModeChange ΠΏΡ€ΠΈ ΠΊΠ°Π΄ΠΎΠΌ Ρ‡ΠΈΡ…Π΅.\r\n if (me.isEditMode) {\r\n me.isEditMode = false;\r\n me.fire('editModeChange', false); \r\n }\r\n });\r\n\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n\r\n _getControls: function (editor) {\r\n var me = this;\r\n if (editor) {\r\n var res = [];\r\n me.controlsIds = [];\r\n me.controlsIds.push(editor.id);\r\n res.push($('input#' + editor.id))\r\n this.controls = res;\r\n return res;\r\n } else {\r\n return this.controls;\r\n }\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n getValue: function () {\r\n var me = this;\r\n if (me.isEditMode) {\r\n return me._super();\r\n }\r\n var row = me._grid.dataView.getItemById(me._data.row_id);\r\n return row[me.name];\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n getDisplayValue: function () {\r\n var me = this;\r\n if (me.isEditMode) {\r\n return me._super();\r\n }\r\n var row = me._grid.dataView.getItemById(me._data.row_id);\r\n return row[me._data.fieldName];\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n setValue: function (value, opt_displayValue, opt_needTriggerResult) {\r\n var me = this;\r\n\r\n if (opt_displayValue && opt_displayValue[0] === '$') opt_displayValue = opt_displayValue.replace('$');\r\n opt_needTriggerResult = (opt_needTriggerResult !== false); //Ссли Π½Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½, Ρ‚ΠΎ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π±ΡƒΠ΄Π΅Ρ‚ true.\r\n\r\n var editorActive = me._grid.grid.getEditorLock().isActive();\r\n\r\n if (me.isEditMode) {\r\n return me._super(value, opt_displayValue, opt_needTriggerResult);\r\n } else if (me.className == 'DetailDate') {\r\n if (value) {\r\n if (typeof value !== \"object\") {\r\n if (('' + value).indexOf('T') !== -1) {\r\n value = new window.Date(value);\r\n } else {\r\n value = parseDateTime(value);\r\n }\r\n }\r\n // Π€ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€ΡƒΠ΅ΠΌ Π΄Π°Ρ‚Ρƒ\r\n value = (this.isShowTime()) ? formatDateTime(value) : formatDate(value);\r\n } else {\r\n value = '';\r\n }\r\n }\r\n\r\n var row = me._grid.dataView.getItemById(me._data.row_id);\r\n row[me.name] = value;\r\n\r\n // Ρ‚ΡƒΡ‚ нСльзя ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ просто приводя ΠΊ Π±ΡƒΠ»Π΅Π²Ρƒ, \r\n // ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ 0 - Ρ‚ΠΎΠΆΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.\r\n if (!_.isUndefined(opt_displayValue)) {\r\n if (me.className == 'DetailInteger' && currentCultureName === 'ru-RU' && !_.isNull(opt_displayValue)) { //FIXME: Π‘ΠΏΠ΅Ρ†ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ°\r\n opt_displayValue = (\"\" + opt_displayValue).replace('.', ',');\r\n }\r\n\r\n row[me._data.fieldName] = opt_displayValue;\r\n } else {\r\n row[me._data.fieldName] = value;\r\n }\r\n\r\n me._grid.dataView.updateItem(me._data.row_id, row);\r\n if (opt_needTriggerResult) {\r\n me._lastValue[me.name] = value;\r\n me._fireChange(me.fullName, value, opt_displayValue);\r\n }\r\n\r\n if (editorActive) me._grid.grid.editActiveCell();\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π‘Π΄Π΅Π»Π°Ρ‚ΡŒ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ нСдоступным для измСнСния.\r\n *\r\n * @method WebAccess.components.wrappers.form.requisites.BaseRequisite#disable\r\n * @since 5.0.0.7100\r\n * @return {WebAccess.components.wrappers.form.requisites.BaseRequisite} Π’Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°.\r\n */\r\n disable: function () {\r\n var me = this;\r\n if (me.isEditMode) {\r\n me._super();\r\n }\r\n me._isDisabled = true;\n //ΠŸΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½ΠΎ Ρ‡Ρ‚ΠΎ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ Π² ячСйкС Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для чтСния\n const cellStyle = {\r\n [this.name]: 'readonly'\r\n };\n const rowNum = this._grid.dataView.getIdxById(this._data.row_id); \r\n this._grid.grid.setCellCssStyles(`${rowNum}${this.name}`, {\r\n [rowNum]: cellStyle,\r\n });\n\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π‘Π΄Π΅Π»Π°Ρ‚ΡŒ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ доступным для измСнСния.\r\n *\r\n * @method WebAccess.components.wrappers.form.requisites.BaseRequisite#enable\r\n * @return {WebAccess.components.wrappers.form.requisites.BaseRequisite} Π’Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°.\r\n * @since 5.0.0.7100\r\n */\r\n enable: function () {\r\n var me = this;\r\n if (me.isEditMode) {\r\n me._super();\r\n }\r\n me._isDisabled = false;\n const rowNum = this._grid.dataView.getIdxById(this._data.row_id);\r\n const cellStyle = {\r\n [this.name]: ''\r\n };\r\n this._grid.grid.setCellCssStyles(`${rowNum}${this.name}`, {\r\n [rowNum]: cellStyle,\r\n });\n\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π‘ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ ΠΈ Π΅Π³ΠΎ подпись.\r\n *\r\n * @method WebAccess.components.wrappers.form.requisites.BaseRequisite#hide\r\n * @return {WebAccess.components.wrappers.form.requisites.BaseRequisite} Π’Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°.\r\n * @since 5.0.0.7100\r\n */\r\n hide: function () {\r\n log.warning('REQUISITE', 'This method was changed since version 5.2.0.1300 and may work improperly.');\r\n var me = this;\r\n me._isVisible = false;\r\n var cellStyle = {};\r\n var rownNum = me._grid.dataView.getIdxById(me._data.row_id);\r\n cellStyle[rownNum] = {};\r\n cellStyle[rownNum][me.name] = \"hidden_cell\";\r\n\r\n me._grid.grid.setCellCssStyles(rownNum + me.name, cellStyle);\r\n return me;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n\r\n /**\r\n * ΠžΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚.\r\n *\r\n * @method WebAccess.components.wrappers.form.requisites.BaseRequisite#show\r\n * @return {WebAccess.components.wrappers.form.requisites.BaseRequisite} Π’Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°.\r\n * @since 5.2.0.1300\r\n */\r\n show: function () {\r\n log.warning('REQUISITE', 'This method was changed since version 5.2.0.1300 and may work improperly.');\r\n var me = this;\r\n me._isVisible = true;\r\n var cellStyle = {};\r\n var rownNum = me._grid.dataView.getIdxById(me._data.row_id);\r\n cellStyle[rownNum] = {};\r\n cellStyle[rownNum][me.name] = \"\";\r\n me._grid.grid.setCellCssStyles(rownNum + me.name, cellStyle);\r\n return me;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /** \r\n * ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ видимости Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° Π½Π° Ρ„ΠΎΡ€ΠΌΠ΅.\r\n *\r\n * @since 5.0.0.7100\r\n * @method WebAccess.components.wrappers.form.requisites.BaseRequisite#isVisible\r\n * @return {boolean} True – Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ отобраТаСтся Π½Π° Ρ„ΠΎΡ€ΠΌΠ΅, ΠΈΠ½Π°Ρ‡Π΅ False.\r\n */\r\n isVisible: function () {\r\n log.warning('REQUISITE', 'This method was changed since version 5.2.0.1300 and may work improperly.');\r\n return this._isVisible;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ нСдоступности Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° для измСнСния.\r\n *\r\n * @method WebAccess.components.wrappers.form.requisites.BaseRequisite#isDisabled\r\n * @return {boolean} True – Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ нСдоступСн для измСнСния, ΠΈΠ½Π°Ρ‡Π΅ False. \r\n * @since 5.2.0.1300\r\n */\r\n isDisabled: function () {\r\n var me = this;\r\n var isDisabled = false;\r\n return this._isDisabled;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΈΠΊΠΎΠ½ΠΊΡƒ ΠΊ элСмСнту управлСния Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°, Π·Π° ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ² Ρ‚ΠΈΠΏΠ° Β«Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊΒ» ΠΈ Β«ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²Π΅Π½Π½Ρ‹ΠΉ Π²Ρ‹Π±ΠΎΡ€Β». \r\n * ΠœΠ΅Ρ‚ΠΎΠ΄ прикрСпляСт ΠΊ тСстовому полю дСйствиС для события, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ Π½Π° ΠΈΠΊΠΎΠ½ΠΊΡƒ. \r\n * ΠŸΡ€ΠΈ наступлСнии этого события Π² ΠΊΠΎΠ΄ ΠΏΠ΅Ρ€Π΅Π΄Π°ΡŽΡ‚ΡΡ Π΄Π°Π½Π½Ρ‹Π΅ ΠΎ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π΅.\r\n *\r\n * @function WebAccess.components.wrappers.form.requisites.BaseRequisite#setCustomAction\r\n * @param {string} reqName Имя Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°\r\n * @param {string} tooltip Подсказка ΠΊ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρƒ\r\n * @param {function} callback Ѐункция, которая Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π·Π²Π°Π½Π° послС наТатия Π½Π° ΠΈΠΊΠΎΠ½ΠΊΡƒ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°. \r\n * Π’ эту Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ‚ΠΏΡ€Π°Π²Π»Π΅Π½Π° информация ΠΎ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π΅.\r\n */\r\n setCustomAction: function (callback, opt_tooltip) {\r\n var me = this;\r\n me._customAction = {\r\n callback: callback,\r\n tooltip: opt_tooltip\r\n };\r\n\r\n if (me.isEditMode) {\r\n me._super(callback, opt_tooltip);\r\n }\r\n return me;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠ΄ΡΠ²Π΅Ρ‚ΠΈΡ‚ΡŒ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚\r\n *\r\n * @method WebAccess.components.wrappers.form.requisites.BaseRequisite#isRequired\r\n * @return {boolean} True – Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ обязатСлСн для заполнСния, ΠΈΠ½Π°Ρ‡Π΅ False.\r\n * @param {integer} [opt_speed] ΡΠΊΠΎΡ€ΠΎΡΡ‚ΡŒ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ\r\n * @param {string} [opt_color] Ρ†Π²Π΅Ρ‚ подсвСтки\r\n * @since 5.2.0.1300\r\n */\r\n highlight: function (opt_color, opt_speed) {\r\n var me = this;\r\n me._grid.dataView.flashCellById(me._data.row_id, me.name, opt_speed, opt_color);\r\n return me;\r\n }\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n };\r\n\r\n global.WA.CMP.wrappers.form.requisites._details.editModeMixin = editModeMixin;\r\n})(window);","\"use strict\";\r\n\r\n/**\r\n* Π‘Π°Π·ΠΎΠ²Ρ‹ΠΉ класс Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°.\r\n* \r\n* @class WebAccess.components.wrappers.form.requisites._details.BaseRequisite\r\n* @extends WebAccess.components.wrappers.form.requisites.BaseRequisite\r\n* @mixes WebAccess.components.wrappers.form.requisites._details.editModeMixin\r\n* @private\r\n* @since 5.2.0.1300\r\n*/\r\n(function (global) {\r\n\r\n const BaseRequisite = global.BaseRequisite.extend([global._details.editModeMixin], {\r\n className: 'DetailBaseRequisite'\r\n }); \r\n\r\n global._details.BaseRequisite = BaseRequisite;\r\n})(window.WA.CMP.wrappers.form.requisites);","\"use strict\";\r\n\r\n/**\r\n* Π Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ Ρ‚ΠΈΠΏΠ° Β«Π’Ρ‹Π±ΠΎΡ€ ΠΈΠ· справочника» ΠΈ Β«ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²Π΅Π½Π½Ρ‹ΠΉ Π²Ρ‹Π±ΠΎΡ€Β» для Π΄Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ².\r\n* \r\n* @class WebAccess.components.wrappers.form.requisites._details.Reference\r\n* @extends WebAccess.components.wrappers.form.requisites.Reference\r\n* @mixes WebAccess.components.wrappers.form.requisites._details.editModeMixin\r\n* @private\r\n*/\r\n(function (global) {\r\n\r\n const Reference = global.Reference.extend([global._details.editModeMixin], {\r\n className: 'DetailReference',\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡŽ ΠΏΠΎ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°ΠΌ справочника.\r\n *\r\n * @method WebAccess.components.wrappers.form.requisites._details.Reference#setFilter\r\n * @return {WebAccess.components.wrappers.form.requisites._details.Reference} Π’Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° – Reference.\r\n * @since 5.2.0.1300\r\n */\r\n setFilter: function (filter, opt_refCode) {\r\n var me = this;\r\n me._filter = filter;\r\n\r\n if (me.isEditMode) {\r\n me._super(filter, opt_refCode);\r\n }\r\n\r\n if (opt_refCode) me._filters[opt_refCode] = filter;\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /** \r\n * ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΠΌΠ΅Π½Π° справочников для Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ.\r\n *\r\n * @method WebAccess.components.wrappers.form.requisites._details.Reference#getReferences\r\n * @since 5.2.0.1300\r\n * @return {object} ИмСна справочников для Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ.\r\n */\r\n getReferences: function () {\r\n var me = this;\r\n if (me.isEditMode) {\r\n return me._super();\r\n }\r\n return this._references;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π²Ρ‹Π±ΠΎΡ€ΠΊΡƒ ΠΈΠ· ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… справочников.\r\n *\r\n * @method WebAccess.components.wrappers.form.requisites._details.Reference#setReferences\r\n * @param {object} references Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ ΠΎ справочниках. Π€ΠΎΡ€ΠΌΠ°Ρ‚ описания Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ:\r\n * {\"ΠžΠ Π“\":{\"Caption\": \"ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ\",...},\"РАБ\":{..}}}\r\n * @return {WebAccess.components.wrappers.form.requisites._details.Reference} Π’Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° – Reference.\r\n * @since 5.2.0.1300\r\n */\r\n setReferences: function (references) {\r\n var me = this;\r\n me._references = references;\r\n if (me.isEditMode) {\r\n me._super(references);\r\n }\r\n return me;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½ΠΎΠ²Ρ‹ΠΉ справочник ΠΊ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌΡƒ списку справочников для Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ.\r\n *\r\n * @function WebAccess.components.wrappers.form.requisites._details.Reference#addReferences\r\n * @param {object} references Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ ΠΎ справочниках. Π€ΠΎΡ€ΠΌΠ°Ρ‚ описания Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ:\r\n * {\"ΠžΠ Π“\":{\"Caption\": \"ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ\",...},\"РАБ\":{..}}}\r\n * @return {WebAccess.components.wrappers.form.requisites._details.Reference} Π’Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° – Reference.\r\n * @since 5.2.0.1300\r\n */\r\n addReferences: function (references) {\r\n var me = this;\r\n $.extend(me._references, references);\r\n if (me.isEditMode) {\r\n me._super(references);\r\n }\r\n return me;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π£ΠΊΠ°Π·Π°Ρ‚ΡŒ справочник, Π²Ρ‹Π±ΠΎΡ€ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ.\r\n *\r\n * @method WebAccess.components.wrappers.form.requisites._details.Reference#setMainReference\r\n * @param {string} referenceName Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ, Π²Ρ‹Π±ΠΎΡ€ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ\r\n * @return {WebAccess.components.wrappers.form.requisites._details.Reference} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° Reference.\r\n * @since 5.2.0.1300\r\n */\r\n setMainReference: function (referenceName) {\r\n var me = this;\r\n me._mainReference = referenceName;\r\n if (me.isEditMode) {\r\n me._super(referenceName);\r\n }\r\n return me;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ справочник для Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ доступны послСдниС ΠΈ ΠΈΠ·Π±Ρ€Π°Π½Π½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹.\r\n *\r\n * @method WebAccess.components.wrappers.form.requisites._details.Reference#addLastObjectsPseudoReference\r\n * @param {LAST_REFERENCES} lastReferences Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊΠΈ, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Π²Ρ‹Π±ΠΎΡ€\r\n * @return {WebAccess.components.wrappers.form.requisites._details.Reference} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° Reference.\r\n * @since 5.2.0.1300\r\n */\r\n addLastObjectsPseudoReference: function (lastReferences) {\r\n var me = this;\r\n me._addLastObjectsPseudoReference = true;\r\n me._lastReferences = lastReferences;\r\n if (me.isEditMode) {\r\n me._super(lastReferences);\r\n }\r\n return me;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π£Π΄Π°Π»ΠΈΡ‚ΡŒ ΠΈΠ· списка Π²Ρ‹Π±ΠΎΡ€ΠΊΠΈ справочник, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ доступны послСдниС ΠΈ ΠΈΠ·Π±Ρ€Π°Π½Π½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹. \r\n *\r\n * @method WebAccess.components.wrappers.form.requisites._details.Reference#removeLastObjectsPseudoReference\r\n * @param {LAST_REFERENCES} LastReferences Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊΠΈ, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Π²Ρ‹Π±ΠΎΡ€\r\n * @return {WebAccess.components.wrappers.form.requisites._details.Reference} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° Reference.\r\n * @since 5.2.0.1300\r\n */\r\n removeLastObjectsPseudoReference: function () {\r\n log.warning('REQUISITE', 'This method was changed in last version and may work improperly.');\r\n var me = this;\r\n me._addLastObjectsPseudoReference = false;\r\n me._lastReferences = null;\r\n if (me.isEditMode) {\r\n me._super();\r\n }\r\n return me;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /** \r\n * Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΡ‹Ρ… ΠΈ Π½Π΅ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΡ‹Ρ… Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ². \r\n *\r\n * @function WebAccess.components.wrappers.form.requisites._details.Reference#setValues\r\n * @fires NOT_IMPLEMENTED_EXCEPTION\r\n * @param {object} newValues НовыС значСния мноТСствСнного Π²Ρ‹Π±ΠΎΡ€Π°\r\n * @param {boolean} needTriggerResult Π’Ρ‹Π·Π²Π°Ρ‚ΡŒ Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€ для события Ρ‚ΠΈΠΏΠ° change\r\n * @return {WebAccess.components.wrappers.form.requisites._details.Reference} Π’Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° – Reference.\r\n * @since 5.0.0.7100\r\n */\r\n setValues: function (newValues, needTriggerResult) {\r\n WA.raise('NOT_IMPLEMENTED_EXCEPTION')\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ значСния Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°.\r\n * Π€ΠΎΡ€ΠΌΠ°Ρ‚ записи ΠΌΠ΅Ρ‚ΠΎΠ΄Π°: [{groupcode:'ΠΊΠΎΠ΄ справочника', id:'ΠΈΠ΄ записи', name:'Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅'}, ...].\r\n *\r\n * @fires NOT_IMPLEMENTED_EXCEPTION\r\n * @function WWebAccess.components.wrappers.form.requisites._details.Reference#getValues\r\n * @return [{groupcode:'ΠΊΠΎΠ΄ справочника', id:'ΠΈΠ΄ записи', name:'Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅'}, ...] Массив ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° – currentValues.\r\n * @since 5.4.0.1012\r\n */\r\n getValues: function () {\r\n WA.raise('NOT_IMPLEMENTED_EXCEPTION')\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ДобавляСт Π½ΠΎΠ²Ρ‹Π΅ значСния ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΡ‹Ρ… ΠΈ Π½Π΅ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΡ‹Ρ… Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ² ΠΊ ΡƒΠΆΠ΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ.\r\n * Π€ΠΎΡ€ΠΌΠ°Ρ‚ записи ΠΌΠ΅Ρ‚ΠΎΠ΄Π°: [{groupcode:'ΠΊΠΎΠ΄ справочника', id:'ΠΈΠ΄ записи', name:'Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅'}, ...].\r\n *\r\n * @fires NOT_IMPLEMENTED_EXCEPTION\r\n * @function WebAccess.components.wrappers.form.requisites._details.Reference#addValues\r\n * @param {object} newValues НовыС значСния мноТСствСнного Π²Ρ‹Π±ΠΎΡ€Π°\r\n * @param {boolean} needTriggerResult Π’Ρ‹Π·Π²Π°Ρ‚ΡŒ Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€ для события Ρ‚ΠΈΠΏΠ° change\r\n * @return {WebAccess.components.wrappers.form.requisites.Reference} Π’Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° – Reference.\r\n * @since 5.4.0.1012\r\n */\r\n addValues: function (newValues, needTriggerResult) {\r\n WA.raise('NOT_IMPLEMENTED_EXCEPTION')\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΡ€ΠΈΠ²ΡΠ·ΠΊΠ° Π²Ρ‹Π·ΠΎΠ²Π° справочника Π² модальном ΠΎΠΊΠ½Π΅ ΠΏΠΎ ΠΊΠ»ΠΈΠΊΡƒ Π½Π° ΠΈΠΊΠΎΠ½ΠΊΠ΅ Π² ΠΏΠΎΠ»Π΅ Π²Π²ΠΎΠ΄Π°.\r\n *\r\n * @method WebAccess.components.wrappers.form.requisites._details.Reference#bindReferenceGridDialog\r\n * @since 5.4.0.1012\r\n * @return {WebAccess.components.wrappers.form.requisites._details.Reference} Π’Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° – Reference.\r\n */\r\n bindReferenceGridDialog: function () {\r\n var me = this;\r\n me._bindReferenceGridDialog = true;\r\n if (me.isEditMode) {\r\n me._super();\r\n }\r\n return me;\r\n }\r\n });\r\n\r\n global._details.Reference = Reference;\r\n})(window.WA.CMP.wrappers.form.requisites);","\"use strict\";\r\n\r\n/**\r\n* Π Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ Ρ‚ΠΈΠΏΠ° «Бсылка Π½Π° Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Β» для Π΄Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ².\r\n* \r\n* @class WebAccess.components.wrappers.form.requisites._details.Document\r\n* @extends WebAccess.components.wrappers.form.requisites.Document\r\n* @mixes WebAccess.components.wrappers.form.requisites._details.editModeMixin\r\n* @private\r\n*/\r\n(function (global) {\r\n\r\n const Document = global.Document.extend([global._details.editModeMixin], {\r\n className: 'DetailDocument'\r\n });\r\n\r\n global._details.Document = Document;\r\n})(window.WA.CMP.wrappers.form.requisites);","\"use strict\";\r\n\r\n/**\r\n* Π Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ Ρ‚ΠΈΠΏΠ° Β«Π‘Ρ‚Ρ€ΠΎΠΊΠ°Β» ΠΈ Β«ΠœΠ½ΠΎΠ³ΠΎΡΡ‚Ρ€ΠΎΡ‡Π½Ρ‹ΠΉ тСкст».\r\n* \r\n* @class WebAccess.components.wrappers.form.requisites._details.Text\r\n* @extends WebAccess.components.wrappers.form.requisites.Text\r\n* @mixes WebAccess.components.wrappers.form.requisites._details.editModeMixin\r\n* @since 5.2.0.1300\r\n*/\r\n(function (global) {\r\n\r\n const Text = global.Text.extend([global._details.editModeMixin], {\r\n className: 'DetailText'\r\n });\r\n\r\n global._details.Text = Text;\r\n})(window.WA.CMP.wrappers.form.requisites);","\"use strict\";\r\n\r\n/**\r\n* Класс для Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° Ρ‚ΠΈΠΏΠ° Β«Π”Π°Ρ‚Π°Β».\r\n* \r\n* @class WebAccess.components.wrappers.form.requisites._details.Date\r\n* @extends WebAccess.components.wrappers.form.requisites.Date\r\n* @mixes WebAccess.components.wrappers.form.requisites._details.editModeMixin\r\n* @private\r\n* @since 5.2.0.1300\r\n*/\r\n(function (global) {\r\n\r\n const Date = global.Date.extend([global._details.editModeMixin], {\r\n className: 'DetailDate',\r\n\r\n /**\r\n * ΠŸΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ΡΡ Π»ΠΈ врСмя Π² Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π΅.\r\n *\r\n * @method WebAccess.components.wrappers.form.requisites._details.Date#isShowTime\r\n * @return {boolean} True – Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ врСмя, ΠΈΠ½Π°Ρ‡Π΅ False.\r\n * @since 5.2.0.2006\r\n */\r\n isShowTime: function () {\r\n var me = this;\r\n if (me.isEditMode) {\r\n return me._super();\r\n }\r\n var cols = me._grid._columns;\r\n var curCol = _(cols).findWhere({ 'id': me.name });\r\n if (curCol) {\r\n return curCol.dateType === 'DateTime';\r\n } else {\r\n return false;\r\n }\r\n }\r\n });\r\n\r\n global._details.Date = Date;\r\n})(window.WA.CMP.wrappers.form.requisites);\r\n\r\n\r\n","\"use strict\";\r\n\r\n/**\r\n* Π Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠΈ Ρ‚ΠΈΠΏΠ° Β«ΠŸΡ€ΠΈΠ·Π½Π°ΠΊΒ».\r\n* \r\n* @class WebAccess.components.wrappers.form.requisites._details.Pick\r\n* @extends WebAccess.components.wrappers.form.requisites.Pick\r\n* @mixes WebAccess.components.wrappers.form.requisites._details.editModeMixin\r\n* @since 5.2.0.1300\r\n* @private\r\n*/\r\n(function (global) {\r\n\r\n const Pick = global.Pick.extend([global._details.editModeMixin], {\r\n className: 'DetailPick',\r\n \r\n /**\r\n * Π£ΠΊΠ°Π·Π°Ρ‚ΡŒ справочник, Π²Ρ‹Π±ΠΎΡ€ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ.\r\n *\r\n * @method WebAccess.components.wrappers.form.requisites._details.Reference#setMainReference\r\n * @param {string} referenceName Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ, Π²Ρ‹Π±ΠΎΡ€ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ Π² ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΎΡ‡Π΅Ρ€Π΅Π΄ΡŒ\r\n * @return {WebAccess.components.wrappers.form.requisites._details.Reference} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° Reference.\r\n * @since 5.2.0.1300\r\n */\r\n \r\n clearValues: function(referenceName) {\r\n var me = this;\r\n me._clearPick = true;\r\n me._pickValues = [];\r\n\r\n if (me.isEditMode) {\r\n me._super(referenceName);\r\n }\r\n return me;\r\n },\r\n\r\n addValue: function (value, displayValue, opt_isDisabled) {\r\n var me = this;\r\n me._pickValues.push([value, displayValue, opt_isDisabled]);\r\n\r\n if (me.isEditMode) {\r\n me._super(value, displayValue, opt_isDisabled);\r\n }\r\n return me;\r\n }\r\n });\r\n\r\n global._details.Pick = Pick;\r\n})(window.WA.CMP.wrappers.form.requisites);\r\n\r\n\r\n","\"use strict\";\r\n\r\n/**\r\n* Класс для числовых Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ².\r\n* \r\n* @class WebAccess.components.wrappers.form.requisites._details.Integer\r\n* @extends WebAccess.components.wrappers.form.requisites.Integer\r\n* @mixes WebAccess.components.wrappers.form.requisites._details.editModeMixin\r\n* @private\r\n* @since 5.0.0.7100\r\n*/\r\n(function (global) {\r\n\r\n const Integer = global.Integer.extend([global._details.editModeMixin], {\r\n className: 'DetailInteger'\r\n });\r\n\r\n global._details.Integer = Integer;\r\n})(window.WA.CMP.wrappers.form.requisites);\r\n\r\n\r\n","\"use strict\";\r\n\r\n/**\r\n* Π”Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ Π½Π°Π±ΠΎΡ€ Π΄Π°Π½Π½Ρ‹Ρ….\r\n* \r\n* @class WebAccess.components.wrappers.details.Detail\r\n* @extends BaseObject\r\n* @property {string} name НомСр Π½Π°Π±ΠΎΡ€Π° Π΄Π°Π½Π½Ρ‹Ρ…\r\n* @property {string} tableName DFM-имя элСмСнта управлСния Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹\r\n* @param {string} itemSelector Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ элСмСнт страницы\r\n*/\r\n(function (global) {\r\n\r\n var Detail = BaseObject.extend({\r\n _useTable: null,\r\n _jTables: null,\r\n _current: null,\r\n\r\n init: function (itemSelector, opt_params) {\r\n this._super(itemSelector);\r\n if (opt_params) this._current = opt_params.current;\r\n\r\n this._jObject = $(itemSelector);\r\n this.name = this._jObject.data('detailSectionNumber');\r\n this.tableName = this._jObject.attr('id');\r\n this._jTables = $('.Reference_Detail').filter('[data-detail-section-number=' + this.name + ']');\r\n },\r\n\r\n className: 'Detail',\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠžΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅Ρ‚ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ связан Π΄Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·Π΄Π΅Π»\r\n * @function WebAccess.components.wrappers.details.Detail#useTable\r\n * @return WebAccess.components.wrappers.details.Detail.\r\n * @since 5.0.2.1301\r\n */\r\n useTable: function(tableName) {\r\n this._useTable = tableName;\r\n return this;\r\n },\r\n\r\n /**\r\n * Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π½ΠΎΠ²ΠΎΠΉ записи Π² Π΄Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·Π΄Π΅Π». (Если ΠΌΠΎΠΆΠ½ΠΎ, ΠΈΠ·Π±Π΅Π³Π°ΠΉΡ‚Π΅ ΠΏΠΎΠΊΠ° использованиС этой Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, \r\n * ΠΎΡ‡Π΅Π½ΡŒ Π²Π΅Π»ΠΈΠΊΠ° Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π΅Ρ‘ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΠΊΠ°Ρ€Π΄ΠΈΠ½Π°Π»ΡŒΠ½ΠΎ измСнится Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ);\r\n * @function WebAccess.components.wrappers.details.Detail#append\r\n * @return WebAccess.components.wrappers.details.Detail\r\n */\r\n append: function () {\r\n var tableName = this._useTable || this.tableName;\r\n this._current.form.controls.tables[tableName].addRow();\r\n return this;\r\n },\r\n\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ всС записи Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·Π΄Π΅Π»Π°.\r\n * @function WebAccess.components.wrappers.details.Detail#getRecords\r\n * @return {WebAccess.components.wrappers.form.TableRow} OΠ±ΡŠΠ΅ΠΊΡ‚ класса TableRow.\r\n */\r\n getRecords: function () {\r\n var tableName = this._useTable || this.tableName;\r\n return this._current.form.controls.tables[tableName].getRows();\r\n },\r\n\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ, ΡΠ²ΡΠ·Π°Π½Π½ΡƒΡŽ с Π΄Π°Π½Π½Ρ‹ΠΌ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΌ Ρ€Π°Π·Π΄Π΅Π»ΠΎΠΌ. \r\n * @function WebAccess.components.wrappers.details.Detail#getTable\r\n * @param {string} [opt_tableName] Имя Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹\r\n * @return {WebAccess.components.wrappers.form.Table} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° Table.\r\n * @since 5.2.0.1303\r\n */\r\n getTable: function (opt_tableName) {\r\n var tableName = opt_tableName || this._useTable || this.tableName;\r\n return this._current.form.controls.tables[tableName];\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ всС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·Π΄Π΅Π»Π°.\r\n * @function WebAccess.components.wrappers.details.Detail#getTables\r\n * @return {WebAccess.components.wrappers.form.Table} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° Table.\r\n * @since 5.2.0.1303\r\n */\r\n getTables: function () {\r\n var me = this;\r\n var tables = new WA.Collection();\r\n \r\n $(this._jTables).each(function (el) {\r\n var name = $(this).attr('id');\r\n var table = me._current.form.controls.tables[name];\r\n if (typeof table !== 'undefined')\r\n tables.addElement(name, table);\r\n });\r\n return tables;\r\n }\r\n });\r\n\r\n global.Detail = Detail;\r\n})(window.WebAccess.components.wrappers.details);","\"use strict\";\r\n\r\n(function (global) {\r\n\r\n /**\r\n * Π¨Π°Π±Π»ΠΎΠ½Ρ‹ ячССк\r\n */\r\n var TEMPLATES = {\r\n CELL: 'components/grid/cell.compile.html',\r\n CELL_WITH_MENU: 'components/grid/contextMenuCell.compile.html'\r\n };\r\n\r\n /**\r\n * Π”Π°Ρ‚Π°-Π°Ρ‚Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ²\r\n * @inner\r\n */\r\n var DATA_ATTR = {\r\n COLUMNS: 'columns',\r\n SECTION_NUMBER: 'detailSectionNumber',\r\n BUILDER_EVENTS_ENABLED: 'builderEventsEnabled',\r\n COLUMN_AUTO_WIDTH: 'columnAutoWidth'\r\n };\r\n\r\n /**\r\n * Поиск ΠΈ созданиС Ρ‚Π°Π±Π»ΠΈΡ† Π΄Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ².\r\n * \r\n * @class WebAccess.components.wrappers.details.DetailsInitializer\r\n * @extends BaseObject\r\n * @property {Array} gridInstances экзСмпляры Ρ‚Π°Π±Π»ΠΈΡ† \r\n * @param {String} detailsSelector сСлСктор ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΠΎΠ² Π΄Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ²\r\n * @param {WebAccess.components.dataViews.BaseDataProvider} DataProviderClass \r\n * @since 5.2.0.1600\r\n */\r\n var DetailsInitiializer = BaseObject.extend({\r\n gridInstances: null,\r\n\r\n _detailsSelector: null,\r\n _dv: null,\r\n _jDetails: null,\r\n _cellMarkUp: null,\r\n _templates: null,\r\n _contextMenuMarKUp: null,\r\n _form: null,\r\n\r\n init: function (detailsSelector, DataProviderClass, dataProviderOptions, ContextMenuClass, current) {\r\n var me = this;\r\n me._super(detailsSelector);\r\n me._current = current;\r\n\r\n me.DataProviderClass = DataProviderClass;\r\n me.dataProviderOptions = dataProviderOptions;\r\n\r\n me.ContextMenuClass = ContextMenuClass;\r\n var templates = {};\r\n var load = WA.templates.load;\r\n\r\n $.when(\r\n load(TEMPLATES.CELL),\r\n load(TEMPLATES.CELL_WITH_MENU)\r\n ).done(function (cell, cellWithMenu) {\r\n templates.cellMarkUp = cell;\r\n templates.contextMenuMarkUp = cellWithMenu;\r\n\r\n me.gridInstances = {};\r\n me._templates = templates;\r\n me._dv = WA.CMP.dataViews;\r\n me._detailsSelector = detailsSelector;\r\n\r\n me._jDetails = $(me._detailsSelector);\r\n\r\n me._setTemplates();\r\n me._initializeGridInstances();\r\n setTimeout(function () {\r\n me.fire(DetailsInitiializer.EVENT.COMPLETE, me);\r\n }, 0)\r\n });\r\n },\r\n //-----------------------------------------------------------------------//\r\n\r\n /**\r\n * Поиск ΠΈ созданиС экзСмпляров Ρ‚Π°Π±Π»ΠΈΡ†\r\n * @private\r\n * @method WebAccess.components.wrappers.details.DetailsInitializer#_initializeGridInstances\r\n * @return {WebAccess.components.wrappers.details.DetailsInitializer}\r\n */\r\n _initializeGridInstances: function () {\r\n var me = this;\r\n var isSideBarBindEventBeforeTab = false;\r\n\r\n me._jDetails.each(function () {\r\n var jTable = $(this);\r\n\r\n var dfmName = jTable.attr('id');\r\n var columns = me._getExtraColumns();\r\n var sectionNumber = +jTable.data(DATA_ATTR.SECTION_NUMBER);\r\n var columnAutoWidth = jTable.data(DATA_ATTR.COLUMN_AUTO_WIDTH);\r\n\r\n var isBuilderEventsEnabled = jTable.data(DATA_ATTR.BUILDER_EVENTS_ENABLED);\r\n var dataProvider = new me.DataProviderClass($.extend({}, me.dataProviderOptions, {\r\n DetailSectionNumber: sectionNumber,\r\n DFMName: dfmName\r\n }), me._current);\r\n\r\n columns = columns.concat(jTable.data(DATA_ATTR.COLUMNS));\r\n var sortedColumns = {};\r\n var num = 0;\r\n Object.keys(columns).sort(function (a, b) {\r\n return columns[a].Index - columns[b].Index;\r\n }).forEach(function (index) {\r\n sortedColumns[num++] = columns[index];\r\n });\r\n\r\n var getCellTemplate = function (rowNumber, cellNumber, value, columnDef, dataContext) {\r\n var refCode = '';\r\n if (columnDef.type == REQUISITE_TYPE.REFERENCE && columnDef.requisite) {\r\n refCode = columnDef.requisite.referenceName;\r\n }\r\n var recordId = dataContext.id;\r\n switch (columnDef.id) {\r\n case '_contextMenu':\r\n return me._contextMenuMarkUp.render({ index: dfmName, recordId: recordId });\r\n default:\r\n var valueId = dataContext[columnDef.id];\r\n\r\n //Для кастомных Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ² Π½Π΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌ ссылку \"ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΡƒ\"\r\n var isCustomSelect = false;\r\n if (columnDef.requisite.settings) {\r\n var settings = $.parseJSON(columnDef.requisite.settings);\r\n isCustomSelect = settings.isCustomSelect;\r\n }\r\n\r\n return me._cellMarkUp.render({\r\n displayOpenCard: (!isCustomSelect && (!!valueId && valueId !== '*' && !!refCode)),\r\n id: valueId,\r\n value: value,\r\n refCode: refCode,\r\n openCardButtonTitle: L('OPEN_CARD')\r\n });\r\n }\r\n };\r\n\r\n var grid;\r\n\r\n var getRowAdditionalInfo = function (rowNumber, data) {\r\n var row = data.getItem(rowNumber);\r\n if (row && row.__nonDataRow !== true) {\r\n return {\r\n cssClasses: 'List',\r\n attributes: {\r\n 'id': row.id,\r\n 'kind': 'REF',\r\n 'compcode': WA.CR.getReferenceCode(),\r\n 'data-recid': row.id,\r\n 'contextmenu': function (event) {\r\n grid.openContextMenu(this, event);\r\n },\r\n 'click': function (event) {\r\n if (event.target && $(event.target).is('.popup_menu')) {\r\n grid.openContextMenu(this, event);\r\n }\r\n }\r\n }\r\n };\r\n }\r\n };\r\n\r\n //Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌ Π³Ρ€ΠΈΠ΄\r\n grid = new me._dv.Grid(jTable, dataProvider, sortedColumns, {\r\n plugins: me._getAvailablePlugins(dfmName),\r\n getRowAdditionalInfo: getRowAdditionalInfo,\r\n cellTemplate: getCellTemplate,\r\n isBuilderEventsSupported: isBuilderEventsEnabled,\r\n DFMName: dfmName,\r\n sectionNumber: sectionNumber,\r\n current: me._current\r\n });\r\n\r\n grid.autoAdjustColumnWidth(columnAutoWidth);\r\n\r\n //ДобавляСм контСкстноС мСню ΠΏΡ€ΠΈ ΠΊΠ»ΠΈΠΊΠ΅ Π² пустоС мСсто \r\n if (me.ContextMenuClass) {\r\n jTable.find('.slick-viewport').on('contextmenu', function (ev) {\r\n grid.openContextMenu(this, ev);\r\n });\r\n }\r\n\r\n me.gridInstances[dfmName] = grid;\r\n\r\n me._current.Init.done(function () {\r\n if (!isSideBarBindEventBeforeTab) {\r\n isSideBarBindEventBeforeTab = true;\r\n var sideBar = me._current.sideBar;\r\n // ΠŸΡ€ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ Π²ΠΊΠ»Π°Π΄ΠΊΠΈ отправляСм запрос Π½Π° сСрвСр для установки \r\n // Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ², Π½ΠΎ Π½Π΅ сохраняСм Π² Π±Π°Π·Ρƒ. ПослС провСряСм Ссли Π΅ΡΡ‚ΡŒ \r\n // Ρ‚Π°ΠΊΠΎΠΉ ΠΆΠ΅ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·Π΄Π΅Π» Π½Π° ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΠΎΠΉ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅, Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌ \r\n // (подтягиваСм Π½ΠΎΠ²Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ с сСрвСра) этот Π΄Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΉ Ρ€Π°Π·Π΄Π΅Π». \r\n sideBar.bind(sideBar['class'].EVENT.BEFORE_TAB_SWITCH, function () {\r\n var currentTabName = sideBar.tabs.current.name;\r\n _(_(me._current.form.controls.tables).filter(function (table) {\r\n return table.isChanged() && table.parentTabName === currentTabName;\r\n })).each(function (table) {\r\n var details = me._current.details[table.detailNum];\r\n me._current.form.save(function () {\r\n _(details.getTables().toArray()).each(function (table) {\r\n table.reloadData();\r\n table._isChanged = false;\r\n })\r\n }, false);\r\n })\r\n });\r\n }\r\n });\r\n });\r\n\r\n return me;\r\n },\r\n //-----------------------------------------------------------------------//\r\n\r\n /**\r\n * ОТиданиС Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π΄Π°Π½Π½Ρ‹Ρ….\r\n * @method WebAccess.components.wrappers.details.DetailsInitializer#waitForData\r\n * @return {Deferred} Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ Deferred-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.\r\n */\r\n waitForData: function () {\r\n var me = this;\r\n var stateVariable = $.Deferred();\r\n\r\n //Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ Π³Ρ€ΠΈΠ΄ΠΎΠ² Π΄Π΅Π»Π°Ρ‚ΡŒ Π½Π΅ всСгда, Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π³Π΄Π΅ ΠΎΠ½ΠΈ Π΅ΡΡ‚ΡŒ\r\n if ($.isEmptyObject(me.gridInstances)) {\r\n stateVariable.resolve();\r\n return stateVariable;\r\n }\r\n\r\n var states = [];\r\n for (var detailName in me.gridInstances) {\r\n var state = $.Deferred();\r\n states.push(state);\r\n (function (state) { //Π·Π°ΠΌΠΊΠ½ΡƒΡ‚ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ state Π½ΡƒΠΆΠ½Ρ‹ΠΉ Π±Ρ‹Π» Π²Π½ΡƒΡ‚Ρ€ΠΈ\r\n me.gridInstances[detailName].bind(WA.CMP.DV.Grid.EVENT.AFTER_DATA_LOADED, function (data) {\r\n state.resolve();\r\n });\r\n })(state);\r\n }\r\n\r\n $.when.apply($, states).done(function () {\r\n stateVariable.resolve();\r\n });\r\n return stateVariable;\r\n },\r\n\r\n _getExtraColumns: function () {\r\n var columns = [];\r\n if (WA.ENV.isTouch()) {\r\n columns.push({\r\n Caption: ' ',\r\n Field: '_contextMenu',\r\n Name: '_contextMenu',\r\n IsVisible: true,\r\n type: REQUISITE_TYPE.EMPTY,\r\n Width: 30,\r\n Index: 0\r\n });\r\n }\r\n\r\n return columns;\r\n },\r\n //-----------------------------------------------------------------------//\r\n\r\n\r\n /**\r\n * Π—Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡŒΠ΅ΠΊΡ‚ΠΎΠ² шаблонов\r\n * @method WebAccess.components.wrappers.details.DetailsInitializer#_setTemplates\r\n * @return {Deferred} Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ Deferred-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.\r\n */\r\n _setTemplates: function () {\r\n var me = this;\r\n me._cellMarkUp = me._templates.cellMarkUp;\r\n me._contextMenuMarkUp = me._templates.contextMenuMarkUp;\r\n },\r\n //-----------------------------------------------------------------------//\r\n\r\n /**\r\n * Π—Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡŒΠ΅ΠΊΡ‚ΠΎΠ² шаблонов\r\n * @method WebAccess.components.wrappers.details.DetailsInitializer#_getAvailablePlugins\r\n * @return {Deferred} Π‘ΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΉ Deferred-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.\r\n */\r\n _getAvailablePlugins: function (dfmName) {\r\n var me = this;\r\n var plugins = [\r\n new me._dv.gridPlugins.EditPlugin(),\r\n new me._dv.gridPlugins.SortingPlugin(),\r\n new me._dv.gridPlugins.ColumnResizePlugin({\r\n // ΠžΡ‚ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ Π² ΠΏΠ»Π°Π³ΠΈΠ½Π΅ Ρ€Π΅Π°ΠΊΡ†ΠΈΡŽ Π½Π° рСсайз ΠΎΠΊΠ½Π°, Ρ‚.ΠΊ. Π½Π° ΠΏΠ»Π°Π½ΡˆΠ΅Ρ‚Π°Ρ…\r\n // рСсайз Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ появлСниС ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Ρ‹ Π² Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… ячСйках, \r\n // Π° послС этого события Π³Ρ€ΠΈΠ΄ пСрСстраиваСтся ΠΈ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π° \r\n // убираСтся (Π·Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅ β„–103899). Π”Π° ΠΈ Π½Π΅Π·Π°Ρ‡Π΅ΠΌ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΌ Ρ€Π°Π·Π΄Π΅Π»Π°ΠΌ \r\n // ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ свой Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅Ρ€ΠΈΡΠΎΠ²Ρ‹Π²Π°Ρ‚ΡŒΡΡ.\r\n \"disableOnResizeBinding\": true\r\n })\r\n ];\r\n if (me.ContextMenuClass) {\r\n var menu = new me.ContextMenuClass(dfmName);\r\n plugins.push(new me._dv.gridPlugins.ContextMenuPlugin(menu, me._current))\r\n };\r\n return plugins;\r\n }\r\n //-----------------------------------------------------------------------//\r\n }, {\r\n EVENT: {\r\n COMPLETE: 'complete'\r\n }\r\n //-----------------------------------------------------------------------//\r\n });\r\n\r\n global.DetailsInitiializer = DetailsInitiializer;\r\n})(window.WebAccess.components.wrappers.details);","\"use strict\";\r\n\r\n/**\r\n* Π’ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ сообщСниС.\r\n* \r\n* @class WebAccess.components.notifications.Toast\r\n* @since 5.0.0.4305\r\n* @extends BaseObject\r\n* @property {object} [opt_settings] ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ увСдомлСния\r\n* @example\r\n* // ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ сообщСниС с тСкстом Β«Hello worldΒ».\r\n* var toast = new WA.CMP.NTF.Toast()\r\n* toast.showMessage(\"Hello world\");\r\n*/\r\n(function (global) {\r\n var Toast = BaseObject.extend({\r\n \r\n init: function (opt_settings) { \r\n this._super(opt_settings);\r\n\r\n if ($.isPlainObject(opt_settings)) {\r\n $.extend(this, opt_settings);\r\n };\r\n\r\n $.toast.config.align = this.align; \r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~// \r\n className: 'Toast',\r\n align: 'right',\r\n id: null,\r\n\r\n /**\r\n * ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ сообщСниС с тСкстовой ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ.\r\n *\r\n * @method WebAccess.components.notifications.Toast#showMessage\r\n * @param {string} message ВСкст сообщСния\r\n * @param {boolean} [opt_sticky] ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ закрытия сообщСния ΠΏΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ΅ Β«Π—Π°ΠΊΡ€Ρ‹Ρ‚ΡŒΒ». Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ значСния: true, false\r\n * @param {integer} [opt_duration] ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠΊΠ°Π·Π° сообщСния\r\n * @return {WebAccess.components.notifications.Toast} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ класса Toast.\r\n */\r\n showMessage: function (msg, opt_sticky, opt_duration) { \r\n this.show(msg, \"info\", opt_sticky, opt_duration)\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ сообщСниС ΠΎΠ± ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π½ΠΎΠΉ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ.\r\n *\r\n * @method WebAccess.components.notifications.Toast#showSuccess\r\n\t* @param {string} message ВСкст сообщСния\r\n * @param {boolean} [opt_sticky] ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ закрытия сообщСния ΠΏΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ΅ Β«Π—Π°ΠΊΡ€Ρ‹Ρ‚ΡŒΒ». Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ значСния: true, false\r\n * @param {integer} [opt_duration] ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠΊΠ°Π·Π° сообщСния\r\n * @return {WebAccess.components.notifications.Toast} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ класса Toast.\r\n */\r\n showSuccess: function (msg, opt_sticky, opt_duration) {\r\n // Π’ JQuery.Toast Π΅ΡΡ‚ΡŒ ΠΎΠΏΠ΅Ρ‡Π°Ρ‚ΠΊΠ° Π² Success, поэтому здСсь ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΈΠΌΠ΅Π½Π½ΠΎ succecc!\r\n this.show(msg, \"succecc\", opt_sticky, opt_duration)\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ сообщСниС с ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ΠΌ.\r\n *\r\n * @method WebAccess.components.notifications.Toast#showWarning\r\n * @param {string} message ВСкст сообщСния\r\n * @param {boolean} [opt_sticky] ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ закрытия сообщСния ΠΏΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ΅ Β«Π—Π°ΠΊΡ€Ρ‹Ρ‚ΡŒΒ». Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ трСбуСтся Π·Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Π²Ρ€ΡƒΡ‡Π½ΡƒΡŽ. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ значСния: true, false \r\n * @param {integer} [opt_duration] ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠΊΠ°Π·Π° сообщСния \r\n * @return {WebAccess.components.notifications.Toast} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ класса Toast.\r\n */\r\n showWarning: function (msg, opt_sticky, opt_duration) {\r\n this.show(msg, \"warning\", opt_sticky, opt_duration)\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ сообщСниС ΠΎΠ± ошибкС.\r\n *\r\n * @method WebAccess.components.notifications.Toast#showError\r\n * @param {string} message ВСкст сообщСния\r\n * @param {boolean} [opt_sticky] ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ закрытия сообщСния ΠΏΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ΅ Β«Π—Π°ΠΊΡ€Ρ‹Ρ‚ΡŒΒ». Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ значСния: true, false\r\n * @param {integer} [opt_duration] ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠΊΠ°Π·Π° сообщСния\r\n * @return {WebAccess.components.notifications.Toast} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ класса Toast.\r\n */\r\n showError: function (msg, opt_sticky, opt_duration) {\r\n this.show(msg, \"error\", opt_sticky, opt_duration)\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ сообщСниС.\r\n *\r\n * @method WebAccess.components.notifications.Toast#show\r\n * @param {string} msg ВСкст сообщСния\r\n * @param {MESSAGE_TYPE} [opt_type] Π’ΠΈΠΏ сообщСния (ошибка, ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅, информация)\r\n * @param {boolean} [opt_sticky] ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ закрытия сообщСния ΠΏΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ΅ Β«Π—Π°ΠΊΡ€Ρ‹Ρ‚ΡŒΒ». Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ значСния: true, false\r\n * @param {number} [opt_duration] ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΏΠΎΠΊΠ°Π·Π° сообщСния\r\n * @return {WebAccess.components.notifications.Toast} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ класса Toast.\r\n */\r\n show: function (msg, opt_type, opt_sticky, opt_duration) {\r\n this.id = $.toast(msg, {\r\n type: opt_type || 'success',\r\n sticky: opt_sticky || 'false',\r\n duration: opt_duration || 2000,\r\n });\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n \r\n /**\r\n * Π‘ΠΊΡ€Ρ‹Ρ‚ΡŒ послСднСС сообщСниС.\r\n *\r\n * @method WebAccess.components.notifications.Toast#hide \r\n * @return {WebAccess.components.notifications.Toast} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ класса Toast.\r\n * @since 5.0.0.4312\r\n */\r\n hide: function () {\r\n if (this.id) $(\"#\"+this.id).remove();\r\n else global.Toast.hideAll();\r\n return this;\r\n }\r\n });\r\n\r\n global.Toast = Toast;\r\n\r\n /**\r\n * Π‘ΠΊΡ€Ρ‹Ρ‚ΡŒ всС сообщСния.\r\n *\r\n * @function WebAccess.components.notifications.Toast.hideAll\r\n * @static\r\n * @since 5.0.0.4312\r\n */\r\n global.Toast.hideAll = function () {\r\n $(\"ul.toast.active li\").remove();\r\n }\r\n\r\n})(window.WebAccess.components.notifications);","\"use strict\";\r\n\r\n(function (global) {\r\n\r\n var tabSelector = \"div.explorer-search-panel__item\";\r\n var actionButtonSelector = '.action-button';\r\n\r\n /**\r\n * Класс-ΠΎΠ±Π΅Ρ€Ρ‚ΠΊΠ° для Π·Π°ΠΊΠ»Π°Π΄ΠΊΠΈ Π² ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊΠ΅.\r\n * @class WebAccess.components.wrappers.sideBar.Tabs\r\n * @extends WebAccess.Collecton\r\n * @since 5.2.0.1600 \r\n */\r\n var _ExplorerTab = WebAccess.components.wrappers.BasePageElement.extend({\r\n dfmName: '',\r\n\r\n // ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€.\r\n init: function (itemSelector, opt_current) {\r\n var me = this;\r\n me._jObject = $(itemSelector)\r\n me._super(me._jObject);\r\n\r\n me.selector = format(me._byNameSelectorTemplate, tabSelector, me.name);\r\n me.dfmName = me._jObject.data('name');\r\n\r\n me._jActionButon = me._jObject.find(actionButtonSelector);\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π˜ΠΌΠΈΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‰Π΅Π»Ρ‡ΠΎΠΊ ΠΌΡ‹ΡˆΠΈ.\r\n * Π˜ΠΌΠΈΡ‚Π°Ρ†ΠΈΡ Ρ‰Π΅Π»Ρ‡ΠΊΠ° ΠΌΡ‹ΡˆΠΈ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ΅ Π»ΠΈΠ±ΠΎ установка ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠ° Π½Π° событиС onClick, Ссли ΠΏΠ΅Ρ€Π΅Π΄Π°Π½ callback. \r\n * ЗамСняСт ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ, установлСнный ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠΉ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅.\r\n * \r\n * @param {function} [opt_callback] Ѐункция, которая Π±ΡƒΠ΄Π΅Ρ‚ Π²Ρ‹Π·Π²Π°Π½Π° послС Ρ‰Π΅Π»Ρ‡ΠΊΠ° ΠΌΡ‹ΡˆΠΈ ΠΏΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ΅\r\n * @method WebAccess.components.wrappers.BasePageElement#click\r\n * @throws ERR_OBJECT_IS_ALREADY_RENDERED – ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΡƒΠΆΠ΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½.\r\n * @return {WebAccess.components.wrappers.BasePageElement} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° BasePageElement.\r\n *\r\n * @example\r\n * WebAccess.current.toolBar.buttons.CrtRefRecords.click();\r\n * WebAccess.current.toolBar.buttons.CrtRefRecords.click(function() {\r\n * alert(\"Π‘ΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΊΠΈ событий click Π±Ρ‹Π»ΠΈ пСрСзаписаны Π΄Π°Π½Π½Ρ‹ΠΌ\");\r\n * })\r\n */\r\n click: function (opt_callback) {\r\n var instance = this;\r\n if ($.isFunction(opt_callback)) {\r\n this._disableClickHandler(this._jActionButon);\r\n this.unbind('click').bind(\"click\", opt_callback);\r\n } else {\r\n this._jActionButon.click();\r\n }\r\n return this;\r\n }\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n\r\n });\r\n\r\n global.components.wrappers.sideBar._ExplorerTab = _ExplorerTab;\r\n\r\n})(window.WebAccess);","'use strict';\r\n\r\n(function (global) {\r\n\r\n /**\r\n * Класс-ΠΎΠ±Π΅Ρ€Ρ‚ΠΊΠ° для ΠΏΠ°Π½Π΅Π»ΠΈ дСйствий.\r\n *\r\n * @class WebAccess.components.wrappers.toolBar.ReactToolBar\r\n * @extend BaseReactObject\r\n * @since 5.6.0.1300\r\n */\r\n class ReactToolBar extends BaseReactObject {\r\n\r\n /**\r\n * ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€.\r\n *\r\n * @method WebAccess.components.wrappers.toolBar.ReactToolBar#init\r\n * @param {object} model МодСль ΠΏΠ°Π½Π΅Π»ΠΈ дСйствий.\r\n * @override\r\n * @see BaseReactObject#init\r\n */\r\n constructor(model) {\r\n super(model);\r\n \r\n /**\r\n * Имя класса.\r\n *\r\n * @private\r\n * @property WebAccess.components.wrappers.toolBar.ReactToolBar#className\r\n * @override\r\n * @see BaseReactObject#className\r\n */\r\n this.className = 'ReactToolBar';\r\n\r\n /**\r\n * Бписок событий измСнСния ΠΊΠ½ΠΎΠΏΠΎΠΊ.\r\n *\r\n * @private\r\n * @property WebAccess.components.wrappers.toolBar.ReactToolBar#_buttonChangeEvents\r\n */\r\n this._buttonChangeEvents = null;\r\n\r\n /**\r\n * Бписок дСйствий ΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΈΠΌ ΠΊΠ½ΠΎΠΏΠΎΠΊ Π½Π° Π»Π΅Π½Ρ‚Π΅.\r\n *\r\n * @private\r\n * @property WebAccess.components.wrappers.toolBar.ReactToolBar#_buttonsByActionName\r\n */\r\n this._buttonsByActionName = {};\r\n\r\n /**\r\n * Бписок Ρ€Π΅ΠΆΠΈΠΌΠΎΠ² доступности ΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… ΠΈΠΌ дСйствий.\r\n *\r\n * @private\r\n * @property WebAccess.components.wrappers.toolBar.ReactToolBar#_buttonsByEnabledMode\r\n */\r\n this._buttonsByEnabledMode = {};\r\n\r\n /**\r\n * Бписок ΠΊΠ½ΠΎΠΏΠΎΠΊ, состояниС ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… измСняСтся Π² зависимости ΠΎΡ‚ выдСлСния Π²Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ.\r\n *\r\n * @private\r\n * @property WebAccess.components.wrappers.toolBar.ReactToolBar#_buttonsEnabledOnAttachmentSelection\r\n */\r\n this._buttonsEnabledOnAttachmentSelection = [];\r\n\r\n /**\r\n * Бписок событий измСнСния Π³Ρ€ΡƒΠΏΠΏ.\r\n *\r\n * @private\r\n * @property WebAccess.components.wrappers.toolBar.ReactToolBar#_groupChangeEvents\r\n */\r\n this._groupChangeEvents = null;\r\n\r\n /**\r\n * Бписок ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΏΠ°Π½Π΅Π»ΠΈ дСйствий.\r\n *\r\n * @property WebAccess.components.wrappers.toolBar.ReactToolBar#buttons\r\n * @deprecated since 5.6. Use toolbar methods instead.\r\n */\r\n this.buttons = {};\r\n\r\n /**\r\n * Бписок Π³Ρ€ΡƒΠΏΠΏ ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΏΠ°Π½Π΅Π»ΠΈ дСйствий.\r\n *\r\n * @property WebAccess.components.wrappers.toolBar.ReactToolBar#groups\r\n * @deprecated since 5.6. Use toolbar methods instead.\r\n */\r\n this.groups = {};\r\n \r\n var me = this;\r\n\r\n me.buttons = {};\r\n me.groups = {};\r\n\r\n\r\n // Π‘Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ списки событий\r\n var basePageElementEvents = global.utils.getAssociativeArrayValues(WebAccess.components.wrappers.AbstractBasePageElement.EVENT);\r\n me._groupChangeEvents = basePageElementEvents.concat(\r\n global.utils.getAssociativeArrayValues(WebAccess.components.wrappers.toolBar.ReactToolBarGroup.EVENT)\r\n );\r\n me._buttonChangeEvents = basePageElementEvents.concat(\r\n global.utils.getAssociativeArrayValues(WebAccess.components.wrappers.toolBar.ReactToolBarButton.EVENT)\r\n );\r\n\r\n // Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌ список Π³Ρ€ΡƒΠΏΠΏ\r\n model.groups.forEach(function (groupModel) {\r\n var currentGroup = new WebAccess.components.wrappers.toolBar.ReactToolBarGroup(groupModel);\r\n me.groups[groupModel.name] = currentGroup;\r\n\r\n // ΠŸΠΎΠ΄ΠΏΠΈΡΠ°Ρ‚ΡŒΡΡ Π½Π° события измСнСния Π³Ρ€ΡƒΠΏΠΏΡ‹\r\n me._bindOnGroupChangeEvents(currentGroup);\r\n\r\n // Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ список ΠΊΠ½ΠΎΠΏΠΎΠΊ Π² Π³Ρ€ΡƒΠΏΠΏΠ΅ Π² buttons\r\n groupModel.buttons.forEach(function (buttonModel) {\r\n var currentButton = new WebAccess.components.wrappers.toolBar.ReactToolBarButton(buttonModel, groupModel.name);\r\n me.buttons[buttonModel.name] = currentButton;\r\n\r\n // ΠŸΠΎΠ΄ΠΏΠΈΡΠ°Ρ‚ΡŒΡΡ Π½Π° события измСнСния ΠΊΠ½ΠΎΠΏΠΊΠΈ\r\n me._bindOnButtonChangeEvents(currentButton);\r\n });\r\n });\r\n\r\n // Π‘Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ списки\r\n global.utils.getAssociativeArrayValues(me.buttons).forEach(function (item) {\r\n // ДСйствия ΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΈΠΌ ΠΊΠ½ΠΎΠΏΠΊΠΈ\r\n var linkedAction = item.getLinkedAction();\r\n var buttons = null;\r\n if (linkedAction) {\r\n buttons = me._buttonsByActionName[linkedAction];\r\n if (buttons) {\r\n buttons.push(item);\r\n } else {\r\n me._buttonsByActionName[linkedAction] = [item];\r\n }\r\n }\r\n\r\n // Π Π΅ΠΆΠΈΠΌΡ‹ доступности ΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ ΠΈΠΌ ΠΊΠ½ΠΎΠΏΠΊΠΈ\r\n var enabledMode = item.getEnabledMode();\r\n if (enabledMode) {\r\n buttons = me._buttonsByEnabledMode[enabledMode];\r\n if (buttons) {\r\n buttons.push(item);\r\n } else {\r\n me._buttonsByEnabledMode[enabledMode] = [item];\r\n }\r\n }\r\n\r\n // Π‘Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ список ΠΊΠ½ΠΎΠΏΠΎΠΊ, состояния ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ Π² зависимости ΠΎΡ‚ выдСлСния элСмСнтов\r\n if (item.getIsEnabledOnAttachnentSelected()) {\r\n me._buttonsEnabledOnAttachmentSelection.push(item);\r\n }\r\n });\r\n\r\n // Π Π°ΡΡˆΠΈΡ€ΠΈΡ‚ΡŒ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ\r\n me._extendGroupCollection();\r\n me._extendButtonCollection();\r\n }\r\n\r\n /**\r\n * ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ скрытого Ρ‚ΡƒΠ»Π±Π°Ρ€Π°.\r\n *\r\n * @method getIsHidden\r\n * @return {boolean} True - Ρ‚ΡƒΠ»Π±Π°Ρ€ скрыт, ΠΈΠ½Π°Ρ‡Π΅ False.\r\n */\r\n getIsHidden() {\r\n return this._model.isHidden;\r\n }\r\n\r\n /**\r\n * Бписок событий, Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… Ρ€Π΅Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ Ρ‚ΡƒΠ»Π±Π°Ρ€ΠΎΠΌ.\r\n *\r\n * @property EVENT\r\n * @return {{CHANGE_STATE: string}}\r\n * @static\r\n */\r\n static get EVENT() {\r\n return {\r\n // Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅, ΡΡ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΏΠ°Π½Π΅Π»ΠΈ дСйствий.\r\n CHANGE_STATE: 'changeState'\r\n };\r\n }\r\n\r\n /**\r\n * ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΎΠΊ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²Π΅Ρ€Π½ΡƒΡ‚ΡŒ.\r\n *\r\n * @method _hasExpandedButtons\r\n * @param {object} group Π“Ρ€ΡƒΠΏΠΏΠ°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ провСряСтся Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ½ΠΎΠΏΠΎΠΊ.\r\n * @private\r\n * @return {boolean} True - ΠΊΠ½ΠΎΠΏΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ²Π΅Ρ€Π½ΡƒΡ‚ΡŒ, ΠΏΡ€ΠΈΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‚, ΠΈΠ½Π°Ρ‡Π΅ False.\r\n * @static\r\n *\r\n */\r\n static _hasExpandedButtons(group) {\r\n return group.buttons.some((button) => {\r\n return !group.isCollapsed && button.isCaptionVisible && !button.isCollapsed;\r\n });\r\n }\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π³Ρ€ΡƒΠΏΠΏΡƒ с наимСньшим ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ΠΎΠΌ.\r\n *\r\n * @method _lowestPriorityGroup\r\n * @param {Array} groups Бписок Π³Ρ€ΡƒΠΏΠΏ, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… производится поиск Π³Ρ€ΡƒΠΏΠΏΡ‹.\r\n * @param {function} condition Ѐункция с Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌ условиСм ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ.\r\n * @private\r\n * @return {object} Π“Ρ€ΡƒΠΏΠΏΠ° с наимСньшим ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ΠΎΠΌ.\r\n * @static\r\n */\r\n static _lowestPriorityGroup(groups, condition) {\r\n let priorityCriteria = Infinity;\r\n let resultGroup = null;\r\n\r\n for (const group of groups) {\r\n if (group.priority < priorityCriteria && condition(group)) {\r\n priorityCriteria = group.priority;\r\n resultGroup = group;\r\n }\r\n }\r\n\r\n return resultGroup;\r\n }\r\n\r\n /**\r\n * Найти ΠΈΠ»ΠΈ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π³Ρ€ΡƒΠΏΠΏΡƒ \"Π•Ρ‰Π΅\".\r\n *\r\n * @method _findOrCreateGroupMore\r\n * @param {object} model МодСль Ρ‚ΡƒΠ»Π±Π°Ρ€Π°.\r\n * @private\r\n * @return {object} Π“Ρ€ΡƒΠΏΠΏΠ° \"Π•Ρ‰Π΅\".\r\n * @static\r\n */\r\n static _findOrCreateGroupMore(model) {\r\n const GROUP_MORE_NAME = 'MORE'; // name Π³Ρ€ΡƒΠΏΠΏΡ‹ \"Π•Ρ‰Ρ‘\"\r\n\r\n let groupMore = model.groupMore;\r\n if (!groupMore) {\r\n for (const group of model.groups) {\r\n if (group.name === GROUP_MORE_NAME) {\r\n groupMore = group;\r\n break;\r\n }\r\n }\r\n\r\n if (!groupMore) {\r\n groupMore = {\r\n caption: L(GROUP_MORE_NAME),\r\n isCollapsed: true,\r\n minimizedGroupIcon: null,\r\n name: GROUP_MORE_NAME\r\n };\r\n groups.push(groupMore);\r\n }\r\n\r\n model.groupMore = groupMore;\r\n }\r\n\r\n return groupMore;\r\n }\r\n\r\n\r\n /**\r\n * ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅Ρ‚ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΎΠΊ для пСрСмСщСния Π² Π³Ρ€ΡƒΠΏΠΏΡƒ \"Π•Ρ‰Π΅\".\r\n *\r\n * @method _hasButtonToMove\r\n * @param {object} group Π“Ρ€ΡƒΠΏΠΏΠ°, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ производится поиск.\r\n * @private\r\n * @return {boolean} True - ΠΊΠ½ΠΎΠΏΠΊΠΈ для пСрСмСщСния Π΅ΡΡ‚ΡŒ, ΠΈΠ½Π°Ρ‡Π΅ False.\r\n * @static\r\n */\r\n static _hasButtonToMove(group) {\r\n return group.buttons.some((button) => {\r\n return !group.isCollapsed && button.isVisible && !button.isMoved;\r\n });\r\n }\r\n\r\n /**\r\n * ΠŸΠ΅Π΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΡƒ ΠΈΠ· Π³Ρ€ΡƒΠΏΠΏΡ‹ Π² Π³Ρ€ΡƒΠΏΠΏΡƒ \"Π•Ρ‰Π΅\".\r\n *\r\n * @method _reduceGroup\r\n * @param {object} group Π“Ρ€ΡƒΠΏΠΏΠ°, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ производится ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅.\r\n * @param {object} groupMore Π“Ρ€ΡƒΠΏΠΏΠ° \"Π•Ρ‰Π΅\".\r\n * @private\r\n * @static\r\n */\r\n static _reduceGroup(group, groupMore) {\r\n for (const button of group.buttons) {\r\n if (button.isVisible && !button.isMoved) {\r\n button.isMoved = true;\r\n button.groupName = group.name;\r\n groupMore.buttons.push(button);\r\n break;\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * ΠŸΠ΅Ρ€Π΅ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ ΠΎΠ΄Π½Ρƒ ΠΊΠ½ΠΎΠΏΠΊΡƒ Π² Π³Ρ€ΡƒΠΏΠΏΡƒ \"Π•Ρ‰Π΅\".\r\n *\r\n * @method _toolbarMoveOneButton\r\n * @param {object} model МодСль Ρ‚ΡƒΠ»Π±Π°Ρ€Π°.\r\n * @param {function} callback Ѐункция ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ Π²Ρ‹Π·ΠΎΠ²Π°.\r\n * @private\r\n * @static\r\n */\r\n static _toolbarMoveOneButton(model, callback) {\r\n const group = ReactToolBar._lowestPriorityGroup(model.groups, ReactToolBar._hasButtonToMove);\r\n if (group) {\r\n const groupMore = ReactToolBar._findOrCreateGroupMore(model);\r\n ReactToolBar._reduceGroup(group, groupMore);\r\n if (typeof callback === 'function' || callback instanceof Function) {\r\n callback();\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Π‘Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ Π³Ρ€ΡƒΠΏΠΏΡƒ.\r\n *\r\n * @method _compactGroup\r\n * @param {object} group Π“Ρ€ΡƒΠΏΠΏΠ°, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π½ΡƒΠΆΠ½ΠΎ ΡΠ²Π΅Ρ€Π½ΡƒΡ‚ΡŒ.\r\n * @private\r\n * @static\r\n */\r\n static _compactGroup(group) {\r\n for (const button of group.buttons) {\r\n if (!group.isCollapsed && button.isCaptionVisible && !button.isCollapsed) {\r\n button.isCollapsed = true;\r\n break;\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Π‘Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ ΠΎΠ΄Π½Ρƒ ΠΊΠ½ΠΎΠΏΠΊΡƒ Ρ‚ΡƒΠ»Π±Π°Ρ€Π°.\r\n *\r\n * @method toolbarCollapseOneButton\r\n * @param {object} model МодСль Ρ‚ΡƒΠ»Π±Π°Ρ€Π°.\r\n * @param {function} callback Ѐункция ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ Π²Ρ‹Π·ΠΎΠ²Π°.\r\n * @static\r\n */\r\n static toolbarCollapseOneButton(model, callback) {\r\n const group = ReactToolBar._lowestPriorityGroup(model.groups, ReactToolBar._hasExpandedButtons);\r\n\r\n if (group) {\r\n ReactToolBar._compactGroup(group);\r\n if (typeof callback === 'function' || callback instanceof Function) {\r\n callback();\r\n }\r\n } else {\r\n ReactToolBar._toolbarMoveOneButton(model, callback);\r\n }\r\n }\r\n\r\n /**\r\n * Π’ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ‚ΡƒΠ»Π±Π°Ρ€ Π² исходноС состояниС.\r\n *\r\n * @method toolbarRestore\r\n * @param {object} model МодСль Ρ‚ΡƒΠ»Π±Π°Ρ€Π°.\r\n * @param {function} callback Ѐункция ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ Π²Ρ‹Π·ΠΎΠ²Π°.\r\n * @static\r\n */\r\n static toolbarRestore(model, callback) {\r\n for (const group of model.groups) {\r\n for (let buttonIndex = 0; buttonIndex < group.buttons.length; buttonIndex++) {\r\n const button = group.buttons[ buttonIndex ];\r\n button.isCollapsed = false;\r\n if (!group.isCollapsed && button.isMoved) {\r\n button.isMoved = false;\r\n } else if (group.isCollapsed && button.hasOwnProperty('isMoved')) {\r\n group.buttons.splice(buttonIndex, 1);\r\n buttonIndex--;\r\n }\r\n }\r\n }\r\n if (typeof callback === 'function' || callback instanceof Function) {\r\n callback();\r\n }\r\n }\r\n\r\n /**\r\n * ΠŸΠΎΠ΄ΠΏΠΈΡΠ°Ρ‚ΡŒΡΡ Π½Π° события измСнСния ΠΊΠ½ΠΎΠΏΠΊΠΈ.\r\n *\r\n * @private\r\n * @method WebAccess.components.wrappers.toolBar.ReactToolBar#_bindOnButtonChangeEvents\r\n * @param {object} button Кнопка, Π½Π° события измСнСния ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ подписываСтся панСль дСйствий.\r\n */\r\n _bindOnButtonChangeEvents(button) {\r\n var me = this;\r\n me._buttonChangeEvents.forEach(function(changeEventName) {\r\n button.bind(changeEventName, function() {\r\n me.fire(ReactToolBar.EVENT.CHANGE_STATE, me._model);\r\n });\r\n });\r\n }\r\n\r\n /**\r\n * ΠŸΠΎΠ΄ΠΏΠΈΡΠ°Ρ‚ΡŒΡΡ Π½Π° события измСнСния Π³Ρ€ΡƒΠΏΠΏΡ‹.\r\n *\r\n * @private\r\n * @method WebAccess.components.wrappers.toolBar.ReactToolBar#_bindOnGroupChangeEvents\r\n * @param {object} group Π“Ρ€ΡƒΠΏΠΏΠ°, Π½Π° события измСнСния ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ подписываСтся панСль дСйствий.\r\n */\r\n _bindOnGroupChangeEvents(group) {\r\n var me = this;\r\n me._groupChangeEvents.forEach(function(changeEventName) {\r\n group.bind(changeEventName, function() {\r\n me.fire(ReactToolBar.EVENT.CHANGE_STATE, me._model);\r\n });\r\n });\r\n }\r\n\r\n /**\r\n * Π’Ρ‹Π·Π²Π°Ρ‚ΡŒ событиС измСнСния ΠΏΠ°Π½Π΅Π»ΠΈ дСйствий.\r\n * Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ для пСрСрисовки ΠΏΠ°Π½Π΅Π»ΠΈ дСйствий.\r\n *\r\n * @private\r\n * @method WebAccess.components.wrappers.toolBar.ReactToolBar#_dispatchChangeEvent\r\n * @fires WebAccess.components.wrappers.toolBar.ReactToolBar.EVENT#CHANGE_STATE\r\n */\r\n _dispatchChangeEvent() {\r\n this.fire(this['class'].EVENT.CHANGE_STATE, this._model);\r\n }\r\n\r\n /**\r\n * Π Π°ΡΡˆΠΈΡ€ΠΈΡ‚ΡŒ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ Π³Ρ€ΡƒΠΏΠΏ.\r\n *\r\n * @private\r\n * @method WebAccess.components.wrappers.toolBar.ReactToolBar#_extendGroupCollection\r\n */\r\n _extendGroupCollection() {\r\n var me = this;\r\n\r\n me.groups['create'] = me.createGroup.bind(me);\r\n me.groups['isExist'] = function(name) {\r\n return me.isGroupExist.apply(me, [name]);\r\n };\r\n me.groups['addElement'] = this.addGroup.bind(me);\r\n me.groups['deleteElement'] = this.removeGroup.bind(me);\r\n me.groups['clear'] = this.removeAllGroups.bind(me);\r\n me.groups['count'] = function () {\r\n return me._getGroups().length;\r\n };\r\n me.groups['toArray'] = function () {\r\n return me._getGroups.apply(me);\r\n };\r\n }\r\n\r\n /**\r\n * Π Π°ΡΡˆΠΈΡ€ΠΈΡ‚ΡŒ ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ ΠΊΠ½ΠΎΠΏΠΎΠΊ.\r\n *\r\n * @private\r\n * @method WebAccess.components.wrappers.toolBar.ReactToolBar#_extendButtonCollection\r\n */\r\n _extendButtonCollection() {\r\n var me = this;\r\n\r\n var currentLength = me.buttons.length;\r\n me.buttons['create'] = me.createButton.bind(me);\r\n me.buttons['remove'] = me.removeButton.bind(me);\r\n me.buttons['isExist'] = function(name) {\r\n return me.isButtonExist.apply(me, [name]);\r\n };\r\n me.buttons['addElement'] = this.addButton.bind(me);\r\n me.buttons['deleteElement'] = this.removeButton.bind(me);\r\n me.buttons['clear'] = this.removeAllButtons.bind(me);\r\n me.buttons['count'] = function () {\r\n return me._getButtons().length;\r\n };\r\n me.buttons['toArray'] = function () {\r\n return me._getButtons.apply(me);\r\n };\r\n me.buttons['getButtonsByActionName'] = function (actionName) {\r\n return me._buttonsByActionName[actionName] || [];\r\n };\r\n me.buttons['getButtonsByEnabledMode'] = function (enabledMode) {\r\n return me._buttonsByEnabledMode[enabledMode] || [];\r\n };\r\n me.buttons['getButtonsEnabledOnAttachmentSelection'] = function () {\r\n return me._buttonsEnabledOnAttachmentSelection;\r\n };\r\n }\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ список всСх ΠΊΠ½ΠΎΠΏΠΎΠΊ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ дСйствий.\r\n *\r\n * @private\r\n * @method WebAccess.components.wrappers.toolBar.ReactToolBar#_getButtons\r\n * @return {Array.} Бписок ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΏΠ°Π½Π΅Π»ΠΈ дСйствий.\r\n * @since 5.6.0.1307\r\n */\r\n _getButtons() {\r\n return global.utils.getAssociativeArrayValues(this.buttons).filter(function(button) {\r\n return button.className === 'ReactToolBarButton';\r\n });\r\n }\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ список всСх Π³Ρ€ΡƒΠΏΠΏ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ дСйствий.\r\n *\r\n * @private\r\n * @method WebAccess.components.wrappers.toolBar.ReactToolBar#_getGroups\r\n * @return {Array.} Бписок Π³Ρ€ΡƒΠΏΠΏ ΠΏΠ°Π½Π΅Π»ΠΈ дСйствий.\r\n * @since 5.6.0.1307\r\n */\r\n _getGroups() {\r\n return global.utils.getAssociativeArrayValues(this.groups).filter(function(group) {\r\n return group.className === 'ReactToolBarGroup';\r\n });\r\n }\r\n\r\n /**\r\n * ΠžΡ‚ΠΏΠΈΡΠ°Ρ‚ΡŒΡΡ ΠΎΡ‚ событий измСнСния ΠΊΠ½ΠΎΠΏΠΊΠΈ.\r\n *\r\n * @private\r\n * @method WebAccess.components.wrappers.toolBar.ReactToolBar#_unbindFromButtonChangeEvents\r\n * @param {object} button Кнопка, ΠΎΡ‚ событий измСнСния ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ отписываСтся панСль дСйствий.\r\n */\r\n _unbindFromButtonChangeEvents(button) {\r\n this._buttonChangeEvents.forEach(function(changeEventName) {\r\n button.unbind(changeEventName);\r\n });\r\n }\r\n\r\n /**\r\n * ΠžΡ‚ΠΏΠΈΡΠ°Ρ‚ΡŒΡΡ ΠΎΡ‚ событий измСнСния Π³Ρ€ΡƒΠΏΠΏΡ‹.\r\n *\r\n * @private\r\n * @method WebAccess.components.wrappers.toolBar.ReactToolBar#_unbindFromGroupChangeEvents\r\n * @param {object} group Π“Ρ€ΡƒΠΏΠΏΠ°, ΠΎΡ‚ событий измСнСния ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ отписываСтся панСль дСйствий.\r\n */\r\n _unbindFromGroupChangeEvents(group) {\r\n this._groupChangeEvents.forEach(function(changeEventName) {\r\n group.unbind(changeEventName);\r\n });\r\n }\r\n\r\n /**\r\n * Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΡƒ Π½Π° панСль дСйствий.\r\n *\r\n * @method WebAccess.components.wrappers.toolBar.ReactToolBar#addButton\r\n * @param {string} buttonName Имя добавляСмой ΠΊΠ½ΠΎΠΏΠΊΠΈ.\r\n * @param {object} button ДобавляСмая ΠΊΠ½ΠΎΠΏΠΊΠ°.\r\n * @deprecated since 5.6. Use createButton instead.\r\n */\r\n addButton(buttonName, button) {\r\n this._warnAboutDeprecatedMethod(arguments.callee.name);\r\n this.buttons[buttonName] = button;\r\n\r\n // ΠŸΠΎΠ΄ΠΏΠΈΡΠ°Ρ‚ΡŒΡΡ Π½Π° события измСнСния ΠΊΠ½ΠΎΠΏΠΊΠΈ\r\n this._bindOnButtonChangeEvents(button);\r\n }\r\n\r\n /**\r\n * Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π³Ρ€ΡƒΠΏΠΏΡƒ Π½Π° панСль дСйствий.\r\n *\r\n * @method WebAccess.components.wrappers.toolBar.ReactToolBar#addGroup\r\n * @param {string} groupName Имя добавляСмой Π³Ρ€ΡƒΠΏΠΏΡ‹.\r\n * @param {object} group ДобавляСмая Π³Ρ€ΡƒΠΏΠΏΠ°.\r\n * @deprecated since 5.6. Use createGroup instead.\r\n */\r\n addGroup(groupName, group) {\r\n this._warnAboutDeprecatedMethod(arguments.callee.name);\r\n this.groups[groupName] = group;\r\n\r\n // ΠŸΠΎΠ΄ΠΏΠΈΡΠ°Ρ‚ΡŒΡΡ Π½Π° события измСнСния Π³Ρ€ΡƒΠΏΠΏΡ‹\r\n this._bindOnGroupChangeEvents(group);\r\n }\r\n\r\n /**\r\n * Π‘ΠΎΠ·Π΄Π°Π΅Ρ‚ ΠΊΠ½ΠΎΠΏΠΊΡƒ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ дСйствий.\r\n *\r\n * @method WebAccess.components.wrappers.toolBar.ReactToolBar#createButton\r\n * @param {string} toolGroupName Имя Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΊΠ½ΠΎΠΏΠΎΠΊ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ добавляСтся ΠΊΠ½ΠΎΠΏΠΊΠ°.\r\n * @param {string | object} buttonName Имя создаваСмой ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΈΠ»ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ {name: \"\", text:\"\", action:\"\", icon:\"\"}\r\n\t * @param {BUTTON} [opt_smallSized] ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ скрытиС Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° ΠΊΠ½ΠΎΠΏΠΊΠΈ. Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ значСния: LARGE, SMALL.\r\n * @throws ERR_SPECIFIED_BUTTONS_GROUP_DOES_NOT_EXIST – ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΊΠ½ΠΎΠΏΠΎΠΊ Π½Π΅ сущСствуСт;\r\n * @throws ERR_BUTTON_NAME_IS_NOT_SPECIFIED_PROPERLY – Π½Π΅Π²Π΅Ρ€Π½ΠΎ ΡƒΠΊΠ°Π·Π°Π½ΠΎ имя ΠΊΠ½ΠΎΠΏΠΊΠΈ;\r\n * @throws ERR_BUTTON_WITH_THE_SAME_NAME_ALREADY_EXIST – ΠΊΠ½ΠΎΠΏΠΊΠ° с ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΡƒΠΆΠ΅ сущСствуСт.\r\n * @return {WebAccess.components.wrappers.toolBar.ReactToolBarButton} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° WebAccess.components.wrappers.toolBar.ReactToolBarButton.\r\n */\r\n createButton(toolGroupName, buttonName, opt_smallSized) {\r\n // Найти Π½ΡƒΠΆΠ½ΡƒΡŽ Π³Ρ€ΡƒΠΏΠΏΡƒ Π² ΠΌΠΎΠ΄Π΅Π»ΠΈ\r\n var groupModel = this._model.groups.find(function(currentGroupModel){\r\n return currentGroupModel.name === toolGroupName;\r\n });\r\n if(!groupModel) {\r\n console.error(L('ERR_SPECIFIED_BUTTONS_GROUP_DOES_NOT_EXIST'), toolGroupName);\r\n }\r\n\r\n // Π‘Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ модСль\r\n var buttonModel;\r\n switch (typeof buttonName) {\r\n case 'string':\r\n buttonModel = {\r\n name: buttonName\r\n };\r\n break;\r\n case 'object':\r\n buttonModel = buttonName;\r\n break;\r\n default:\r\n console.error(L('ERR_BUTTON_NAME_IS_NOT_SPECIFIED_PROPERLY'));\r\n }\r\n\r\n // Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ модСль\r\n var buttonLabel = L('NEW_BUTTON');\r\n var newButtonModel = {\r\n icon: buttonModel.icon || 'Doc/doc_32.png',\r\n isCaptionVisible: buttonModel.isCaptionVisible || !opt_smallSized,\r\n jsAction: buttonModel.jsAction || buttonModel.action || 'alert(L(\\'WRN_USE_CLICK_OR_BIND_METHODS_TO_SET_THE_ACTION\\'));',\r\n name: buttonModel.name,\r\n caption: buttonModel.text || buttonLabel,\r\n tooltip: buttonModel.toolTip || buttonModel.tooltip || buttonLabel,\r\n isVisible: true,\r\n isEnabled: true\r\n };\r\n\r\n // ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π΅Ρ‰Π΅ Π½Π΅ Π±Ρ‹Π»Π° создана ΠΊΠ½ΠΎΠΏΠΊΠ° с Ρ‚Π°ΠΊΠΈΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ\r\n if(this.isButtonExist(newButtonModel.name)) {\r\n console.error(L('ERR_BUTTON_WITH_THE_SAME_NAME_ALREADY_EXIST'), name);\r\n }\r\n\r\n // Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π½ΠΎΠ²ΡƒΡŽ модСль ΠΊΠ½ΠΎΠΏΠΊΠΈ Π² модСль Ρ‚ΡƒΠ»Π±Π°Ρ€Π°\r\n groupModel.buttons.push(newButtonModel);\r\n\r\n this._dispatchChangeEvent();\r\n\r\n // Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΡƒ\r\n var button = new WebAccess.components.wrappers.toolBar.ReactToolBarButton(newButtonModel, toolGroupName);\r\n this.buttons[newButtonModel.name] = button;\r\n\r\n // ΠŸΠΎΠ΄ΠΏΠΈΡΠ°Ρ‚ΡŒΡΡ Π½Π° события измСнСния ΠΊΠ½ΠΎΠΏΠΊΠΈ\r\n this._bindOnButtonChangeEvents(button);\r\n\r\n return button;\r\n }\r\n\r\n /**\r\n * Π‘ΠΎΠ·Π΄Π°Π΅Ρ‚ Π³Ρ€ΡƒΠΏΠΏΡƒ ΠΊΠ½ΠΎΠΏΠΎΠΊ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ дСйствий.\r\n *\r\n * @method WebAccess.components.wrappers.toolBar.ReactToolBar#createGroup\r\n * @param {string | object} toolGroupName Имя Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΈΠ»ΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ {name: \"\", label:\"\", action:\"\", icon:\"\"}\r\n * @param {string} toolGroupNameToAppendAfter Имя ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰Π΅ΠΉ Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΊΠ½ΠΎΠΏΠΎΠΊ, послС ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ добавится новая Π³Ρ€ΡƒΠΏΠΏΠ°.\r\n * @throws ERR_GROUP_NAME_IS_NOT_SPECIFIED_PROPERLY НСвСрно ΡƒΠΊΠ°Π·Π°Π½ΠΎ имя Π³Ρ€ΡƒΠΏΠΏΡ‹.\r\n * @throws ERR_GROUP_WITH_THE_SAME_NAME_ALREADY_EXIST Π“Ρ€ΡƒΠΏΠΏΠ° с ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΡƒΠΆΠ΅ сущСствуСт.\r\n * @throws ERR_SPECIFIED_BUTTONS_GROUP_DOES_NOT_EXIST Π“Ρ€ΡƒΠΏΠΏΠ°, послС ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ добавляСтся новая Π³Ρ€ΡƒΠΏΠΏΠ°, Π½Π΅ сущСствуСт.\r\n * @returns {WebAccess.components.wrappers.toolBar.ReactToolBarGroup} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° ReactToolBarGroup.\r\n */\r\n createGroup(toolGroupName, toolGroupNameToAppendAfter) {\r\n // Π‘Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ модСль\r\n var groupModel;\r\n switch (typeof toolGroupName) {\r\n case 'string':\r\n groupModel = {\r\n name: toolGroupName\r\n };\r\n break;\r\n case 'object':\r\n groupModel = toolGroupName;\r\n break;\r\n default:\r\n console.error(L('ERR_GROUP_NAME_IS_NOT_SPECIFIED_PROPERLY'));\r\n }\r\n\r\n // Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ модСль\r\n var newGroupModel = {\r\n buttons: groupModel.buttons || [],\r\n icon: groupModel.icon || groupModel.icons || 'Doc/unknown_32.png',\r\n name: groupModel.name,\r\n text: groupModel.text || L('NEW_GROUP')\r\n };\r\n\r\n // ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΠΌ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Π³Ρ€ΡƒΠΏΠΏΡ‹ с Ρ‚Π°ΠΊΠΈΠΌ ΠΈΠΌΠ΅Π½Π΅ΠΌ\r\n if(this.isGroupExist(newGroupModel.name)) {\r\n console.error(L('ERR_GROUP_WITH_THE_SAME_NAME_ALREADY_EXIST'), newGroupModel.name);\r\n }\r\n\r\n // Π”ΠΎΠ±Π°Π²ΠΈΠΌ Π³Ρ€ΡƒΠΏΠΏΡƒ Π² ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ\r\n if(typeof toolGroupNameToAppendAfter === 'string') {\r\n var indexToPaste;\r\n if(toolGroupNameToAppendAfter === '') {\r\n indexToPaste = 0;\r\n } else {\r\n // Если Π³Ρ€ΡƒΠΏΠΏΡ‹ с ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ Π½Π΅Ρ‚ - Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌ ΠΎΡˆΠΈΠ±ΠΊΡƒ\r\n if(!this.isGroupExist(toolGroupNameToAppendAfter)) {\r\n console.error(L('ERR_SPECIFIED_BUTTONS_GROUP_DOES_NOT_EXIST'));\r\n }\r\n\r\n // ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ индСкс для вставки\r\n indexToPaste = this._model.groups.findIndex(function(groupModel) {\r\n return groupModel.name === toolGroupNameToAppendAfter;\r\n });\r\n indexToPaste++;\r\n }\r\n\r\n // ВставляСм Π³Ρ€ΡƒΠΏΠΏΡƒ\r\n this._model.groups.splice(indexToPaste, 0, newGroupModel);\r\n\r\n } else {\r\n this._model.groups.push(newGroupModel);\r\n }\r\n\r\n this._dispatchChangeEvent();\r\n\r\n var group = new WebAccess.components.wrappers.toolBar.ReactToolBarGroup(newGroupModel);\r\n this.groups[newGroupModel.name] = group;\r\n\r\n // ΠŸΠΎΠ΄ΠΏΠΈΡΠ°Ρ‚ΡŒΡΡ Π½Π° события измСнСния Π³Ρ€ΡƒΠΏΠΏΡ‹\r\n this._bindOnGroupChangeEvents(group);\r\n\r\n return group;\r\n }\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ΠΊΠ½ΠΎΠΏΠΊΡƒ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ.\r\n *\r\n * @method WebAccess.components.wrappers.toolBar.ReactToolBar#getButtonByName\r\n * @param {string} buttonName Имя ΠΊΠ½ΠΎΠΏΠΊΠΈ.\r\n * @returns {object} Кнопка.\r\n */\r\n getButtonByName(buttonName) {\r\n return this.buttons[buttonName];\r\n }\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ число ΠΊΠ½ΠΎΠΏΠΎΠΊ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ дСйствий.\r\n *\r\n * @method WebAccess.components.wrappers.toolBar.ReactToolBar#getButtonsLength\r\n * @returns {number} Число ΠΊΠ½ΠΎΠΏΠΎΠΊ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ дСйствий.\r\n */\r\n getButtonsLength() {\r\n return Object.keys(this.buttons).length;\r\n }\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π³Ρ€ΡƒΠΏΠΏΡƒ ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ.\r\n *\r\n * @method WebAccess.components.wrappers.toolBar.ReactToolBar#getGroupByName\r\n * @param {string} groupName Имя Π³Ρ€ΡƒΠΏΠΏΡ‹.\r\n * @returns {object} Π“Ρ€ΡƒΠΏΠΏΠ° ΠΊΠ½ΠΎΠΏΠΎΠΊ.\r\n */\r\n getGroupByName(groupName) {\r\n return this.groups[groupName];\r\n }\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ число Π³Ρ€ΡƒΠΏΠΏ ΠΊΠ½ΠΎΠΏΠΎΠΊ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ дСйствий.\r\n *\r\n * @method WebAccess.components.wrappers.toolBar.ReactToolBar#getGroupsLength\r\n * @returns {number} Число Π³Ρ€ΡƒΠΏΠΏ ΠΊΠ½ΠΎΠΏΠΎΠΊ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ дСйствий.\r\n */\r\n getGroupsLength() {\r\n return Object.keys(this.groups).length;\r\n }\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ список ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΏΠ°Π½Π΅Π»ΠΈ дСйствий, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ зависят ΠΎΡ‚ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠ³ΠΎ дСйствия.\r\n *\r\n * @method WebAccess.components.wrappers.toolBar.ReactToolBar#getButtonsByActionName\r\n * @param {string} actionName Имя ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠ³ΠΎ дСйствия.\r\n * @returns {array} Массив ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΏΠ°Π½Π΅Π»ΠΈ дСйствий, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ зависят ΠΎΡ‚ ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½ΠΎΠ³ΠΎ дСйствия.\r\n */\r\n getButtonsByActionName(actionName) {\r\n var buttons = this._buttonsByActionName[actionName.toLowerCase()];\r\n return buttons ? buttons : [];\r\n }\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ список ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΏΠ°Π½Π΅Π»ΠΈ дСйствий ΠΏΠΎ Ρ€Π΅ΠΆΠΈΠΌΡƒ доступности.\r\n *\r\n * @method WebAccess.components.wrappers.toolBar.ReactToolBar#getButtonsByEnabledMode\r\n * @param {ACTION_ENABLED_MODE} enabledMode Π Π΅ΠΆΠΈΠΌ доступности дСйствия.\r\n * @returns {array} Массив ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΏΠ°Π½Π΅Π»ΠΈ дСйствий, для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… установлСн ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ Ρ€Π΅ΠΆΠΈΠΌ доступности.\r\n */\r\n getButtonsByEnabledMode(enabledMode) {\r\n var buttons = this._buttonsByEnabledMode[enabledMode];\r\n return buttons ? buttons : [];\r\n }\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ список ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΏΠ°Π½Π΅Π»ΠΈ дСйствий, Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… измСняСтся Π² зависимости ΠΎΡ‚ Π²Ρ‹Π±ΠΎΡ€Π° Π²Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ.\r\n *\r\n * @method WebAccess.components.wrappers.toolBar.ReactToolBar#getButtonsEnabledOnAttachmentSelection\r\n * @returns {array} Массив ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΏΠ°Π½Π΅Π»ΠΈ дСйствий, Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… измСняСтся Π² зависимости ΠΎΡ‚ Π²Ρ‹Π±ΠΎΡ€Π° Π²Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ.\r\n */\r\n getButtonsEnabledOnAttachmentSelection() {\r\n return this._buttonsEnabledOnAttachmentSelection;\r\n }\r\n\r\n /**\r\n * ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅Ρ‚ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ дСйствий ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ.\r\n *\r\n * @method WebAccess.components.wrappers.toolBar.ReactToolBar#isButtonExist\r\n * @param {string} buttonName Имя ΠΊΠ½ΠΎΠΏΠΊΠΈ.\r\n * @returns {boolean} True - ΠΊΠ½ΠΎΠΏΠΊΠ° Π΅ΡΡ‚ΡŒ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ дСйствий, ΠΈΠ½Π°Ρ‡Π΅ False.\r\n */\r\n isButtonExist(buttonName) {\r\n return this._getButtons().some(function(button) {\r\n return button.name === buttonName;\r\n });\r\n }\r\n\r\n /**\r\n * ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅Ρ‚ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΊΠ½ΠΎΠΏΠΎΠΊ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ дСйствий ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ.\r\n *\r\n * @method WebAccess.components.wrappers.toolBar.ReactToolBar#isGroupExist\r\n * @param {string} groupName Имя Π³Ρ€ΡƒΠΏΠΏΡ‹.\r\n * @returns {boolean} True - Π³Ρ€ΡƒΠΏΠΏΠ° Π΅ΡΡ‚ΡŒ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ дСйствий, ΠΈΠ½Π°Ρ‡Π΅ False.\r\n */\r\n isGroupExist(groupName) {\r\n return this._getGroups().some(function (group) {\r\n return group.name === groupName;\r\n });\r\n }\r\n\r\n /**\r\n * УдаляСт всС ΠΊΠ½ΠΎΠΏΠΊΠΈ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ дСйствий.\r\n *\r\n * @method WebAccess.components.wrappers.toolBar.ReactToolBar#removeAllButtons\r\n * @returns {WebAccess.components.wrappers.toolBar.ReactToolBar} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° WebAccess.components.wrappers.toolBar.ReactToolBar.\r\n */\r\n removeAllButtons() {\r\n var me = this;\r\n // Π£Π΄Π°Π»ΠΈΠΌ всС ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΈΠ· всСх Π³Ρ€ΡƒΠΏΠΏ Π² модСлях\r\n me._model.groups.forEach(function(groupModel) {\r\n groupModel.buttons = [];\r\n });\r\n\r\n // ΠžΡ‚ΠΏΠΈΡˆΠ΅ΠΌΡΡ ΠΎΡ‚ событий измСнСния всСх ΠΊΠ½ΠΎΠΏΠΎΠΊ\r\n global.utils.getAssociativeArrayValues(me.buttons).forEach(function(button) {\r\n me._unbindFromButtonChangeEvents(button);\r\n });\r\n\r\n // Π£Π΄Π°Π»ΠΈΠΌ всС ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΈΠ· ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ\r\n me.buttons = [];\r\n\r\n this._dispatchChangeEvent();\r\n\r\n return me;\r\n }\r\n\r\n /**\r\n * УдаляСт всС Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΊΠ½ΠΎΠΏΠΎΠΊ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ дСйствий.\r\n *\r\n * @method WebAccess.components.wrappers.toolBar.ReactToolBar#removeAllGroups\r\n * @returns {WebAccess.components.wrappers.toolBar.ReactToolBar} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° WebAccess.components.wrappers.toolBar.ReactToolBar.\r\n */\r\n removeAllGroups() {\r\n var me = this;\r\n\r\n // ΠžΡ‚ΠΏΠΈΡΠ°Ρ‚ΡŒΡΡ ΠΎΡ‚ событий измСнСния всСх Π³Ρ€ΡƒΠΏΠΏ ΠΈ ΠΊΠ½ΠΎΠΏΠΎΠΊ\r\n global.utils.getAssociativeArrayValues(me.groups).forEach(function(group) {\r\n me._unbindFromGroupChangeEvents(group);\r\n });\r\n global.utils.getAssociativeArrayValues(me.buttons).forEach(function(button) {\r\n me._unbindFromButtonChangeEvents(button);\r\n });\r\n\r\n // Π£Π΄Π°Π»ΠΈΡ‚ΡŒ Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΈΠ· ΠΌΠΎΠ΄Π΅Π»ΠΈ\r\n me._model.groups = [];\r\n\r\n // Π£Π΄Π°Π»ΠΈΡ‚ΡŒ всС Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΈΠ· ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΉ\r\n me.buttons = [];\r\n me.groups = [];\r\n\r\n this._dispatchChangeEvent();\r\n\r\n return me;\r\n }\r\n\r\n /**\r\n * УдаляСт ΠΊΠ½ΠΎΠΏΠΊΡƒ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ дСйствий.\r\n *\r\n * @method WebAccess.components.wrappers.toolBar.ReactToolBar#removeButton\r\n * @param {string} buttonName Имя ΠΊΠ½ΠΎΠΏΠΊΠΈ.\r\n * @returns {WebAccess.components.wrappers.toolBar.ReactToolBar} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° WebAccess.components.wrappers.toolBar.ReactToolBar.\r\n */\r\n removeButton(buttonName) {\r\n // Найти ΠΊΠ½ΠΎΠΏΠΊΡƒ Π² ΠΌΠΎΠ΄Π΅Π»ΠΈ Ρ‚ΡƒΠ»Π±Π°Ρ€Π°\r\n var isFounded = false;\r\n this._model.groups.some(function(groupModel) {\r\n groupModel.buttons = groupModel.buttons.filter(function (buttonModel) {\r\n if(buttonModel.name === buttonName) {\r\n isFounded = true;\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n });\r\n return isFounded;\r\n });\r\n\r\n if(isFounded) {\r\n // ΠžΡ‚ΠΏΠΈΡΠ°Ρ‚ΡŒΡΡ ΠΎΡ‚ событий измСнСния ΠΊΠ½ΠΎΠΏΠΊΠΈ\r\n this._unbindFromButtonChangeEvents(this.buttons[buttonName]);\r\n\r\n // Π£Π΄Π°Π»ΠΈΡ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΡƒ ΠΈΠ· ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ ΠΊΠ½ΠΎΠΏΠΎΠΊ\r\n delete this.buttons[buttonName];\r\n\r\n this._dispatchChangeEvent();\r\n }\r\n\r\n return this;\r\n }\r\n\r\n /**\r\n * УдаляСт Π³Ρ€ΡƒΠΏΠΏΡƒ ΠΊΠ½ΠΎΠΏΠΎΠΊ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ дСйствий.\r\n *\r\n * @method WebAccess.components.wrappers.toolBar.ReactToolBar#removeGroup\r\n * @param {string} groupName Имя удаляСмой Π³Ρ€ΡƒΠΏΠΏΡ‹.\r\n * @returns {WebAccess.components.wrappers.toolBar.ReactToolBar} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° WebAccess.components.wrappers.toolBar.ReactToolBar.\r\n */\r\n removeGroup(groupName) {\r\n if(this.isGroupExist(groupName)) {\r\n // Π£Π΄Π°Π»ΠΈΡ‚ΡŒ Π³Ρ€ΡƒΠΏΠΏΡƒ Π² ΠΌΠΎΠ΄Π΅Π»ΠΈ\r\n var index = this._model.groups.findIndex(function(groupModel) {\r\n return groupModel.name === groupName;\r\n });\r\n this._model.groups = this.model.groups.splice(index, 1);\r\n\r\n // ΠžΡ‚ΠΏΠΈΡΠ°Ρ‚ΡŒΡΡ ΠΎΡ‚ событий измСнСния Π³Ρ€ΡƒΠΏΠΏΡ‹\r\n this._unbindFromGroupChangeEvents(this.groups[groupName]);\r\n\r\n // Π£Π΄Π°Π»ΠΈΡ‚ΡŒ Π³Ρ€ΡƒΠΏΠΏΡƒ ΠΈΠ· ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΠΈ\r\n delete this.groups[groupName];\r\n\r\n this._dispatchChangeEvent();\r\n }\r\n\r\n return this;\r\n }\r\n }\r\n \r\n /*, {\r\n EVENT: {\r\n // Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅, ΡΡ€Π°Π±Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‰Π΅Π΅ ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΏΠ°Π½Π΅Π»ΠΈ дСйствий.\r\n CHANGE_STATE: 'changeState'\r\n }\r\n });*/\r\n\r\n global.components.wrappers.toolBar.ReactToolBar = ReactToolBar;\r\n\r\n})(window.WebAccess);","'use strict';\r\n\r\n(function (global) {\r\n const toolbarContentsSelector = '.toolbar_holder';\r\n\r\n /**\r\n * Класс-ΠΎΠ±Π΅Ρ€Ρ‚ΠΊΠ° для ΠΏΠ°Π½Π΅Π»ΠΈ дСйствий.\r\n * @class WebAccess.components.wrappers.toolBar.ToolBar\r\n * @since 5.5.0.9000\r\n */\r\n var ToolBar = BaseObject.extend({\r\n\r\n /**\r\n * ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€.\r\n *\r\n * @method WebAccess.components.wrappers.toolBar.ToolBar#init\r\n * @override\r\n */\r\n init: function () {\r\n this._super();\r\n\r\n // ΠŸΠΎΠ΄ΠΏΠΈΡΠ°Ρ‚ΡŒΡΡ Π½Π° событиС измСнСния Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΎΠΊΠ½Π° для измСнСния Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΏΠ°Π½Π΅Π»ΠΈ дСйствий.\r\n $(window).on('resizeEnd', () => this._resizeToolbar());\r\n\r\n // И Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ событиС рСсайза, Ρ‡Ρ‚ΠΎΠ±Ρ‹ панСль дСйствий ΠΏΠΎΠ΄ΡΡ‚Ρ€ΠΎΠΈΠ»Π°ΡΡŒ ΠΏΠΎΠ΄ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΎΠΊΠ½Π°.\r\n window.createResizeEndEvent($(window));\r\n\r\n // ΠŸΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π²Π½Π΅ области Ρ€Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΡ‹ Π½ΡƒΠΆΠ½ΠΎ ΡΠΊΡ€Ρ‹Ρ‚ΡŒ Π΅Π΅\r\n $(document).mouseup((event) => {\r\n const groupContainer = $('.addedHiddenDiv:visible');\r\n if (!groupContainer.has(event.target).length) {\r\n groupContainer.hide();\r\n }\r\n });\r\n },\r\n\r\n /**\r\n * Бписок ΠΊΠ½ΠΎΠΏΠΎΠΊ, ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈ сТатии ΠΊΠ½ΠΎΠΏΠΎΠΊ Ρ‚ΡƒΠ»Π±Π°Ρ€Π° ΠΏΠΎΠ΄ Ρ€Π°Π·ΠΌΠ΅Ρ€ доступнрого мСста.\r\n *\r\n * @property WebAccess.components.wrappers.toolBar.ToolBar#_shrinkedButtonsAfterResize\r\n */\r\n _shrinkedButtonsAfterResize: [],\r\n\r\n /**\r\n * Бписок ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΏΠ°Π½Π΅Π»ΠΈ дСйствий.\r\n *\r\n * @property WebAccess.components.wrappers.toolBar.ToolBar#buttons\r\n */\r\n buttons: {},\r\n\r\n /**\r\n * Бписок Π³Ρ€ΡƒΠΏΠΏ ΠΊΠ½ΠΎΠΏΠΎΠΊ ΠΏΠ°Π½Π΅Π»ΠΈ дСйствий.\r\n *\r\n * @property WebAccess.components.wrappers.toolBar.ToolBar#groups\r\n */\r\n groups: {},\r\n\r\n /**\r\n * Π Π°Π·Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ всС Ρ€Π°Π·Π²ΠΎΡ€Π°Ρ‡ΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ Ρ‚ΡƒΠ»Π±Π°Ρ€Π°.\r\n *\r\n * @method WebAccess.components.wrappers.toolBar.ToolBar#_restoreToolbar\r\n * @private\r\n * @since 5.6.0.9070\r\n */\r\n _restoreToolbar() {\r\n for (let button of this._shrinkedButtonsAfterResize) {\r\n button.showCaption();\r\n }\r\n this._shrinkedButtonsAfterResize = [];\r\n },\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΡƒ, которая ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ сокращСна Π΄ΠΎ ΠΈΠΊΠΎΠ½ΠΊΠΈ, ΠΈΠ· Π³Ρ€ΡƒΠΏΠΏΡ‹ Ρ‚ΡƒΠ»Π±Π°Ρ€Π° с Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π½ΠΈΠ·ΠΊΠΈΠΌ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚ΠΎΠΌ (Π²\r\n * ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π΅Ρ‰Ρ‘ ΠΎΡΡ‚Π°Π»ΠΈΡΡŒ Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ).\r\n *\r\n * @method WebAccess.components.wrappers.toolBar.ToolBar#__getNextButtonWithCaption\r\n * @private\r\n * @return {WebAccess.components.wrappers.toolBar.ToolBarButton || null} Кнопка Ρ‚ΡƒΠ»Π±Π°Ρ€Π°, которая ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ\r\n * сокращСна Π΄ΠΎ ΠΈΠΊΠΎΠ½ΠΊΠΈ, ΠΈΠ»ΠΈ NULL, Ссли Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ½ΠΎΠΏΠΎΠΊ Π½Π΅ ΠΎΡΡ‚Π°Π»ΠΎΡΡŒ.\r\n * @since 5.6.0.9070\r\n * @summary ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΡƒ с ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΡ‹ΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ.\r\n */\r\n _getNextButtonWithCaption() {\r\n const toolbarGroups = this.groups.toArray();\r\n let priority = Infinity;\r\n let buttonWithCaptionInLowPriorityGroup = null;\r\n for (let group of toolbarGroups) {\r\n const groupPriority = group.priority || 0;\r\n if (groupPriority < priority) {\r\n const toolbarButtons = group.getButtons().toArray();\r\n const buttonWithCaption = toolbarButtons.find((button) => button.isCaptionVisible());\r\n if (buttonWithCaption) {\r\n buttonWithCaptionInLowPriorityGroup = buttonWithCaption;\r\n priority = groupPriority;\r\n }\r\n }\r\n }\r\n return buttonWithCaptionInLowPriorityGroup;\r\n },\r\n\r\n /**\r\n * ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ скрытого Ρ‚ΡƒΠ»Π±Π°Ρ€Π°.\r\n *\r\n * @method getIsHidden\r\n * @return {boolean} True - Ρ‚ΡƒΠ»Π±Π°Ρ€ скрыт, ΠΈΠ½Π°Ρ‡Π΅ False.\r\n */\r\n getIsHidden() {\r\n const jToolbar = $(toolbarContentsSelector);\r\n return !jToolbar.is(':visible');\r\n },\r\n\r\n /**\r\n * Π’ΠΏΠΈΡΠ°Ρ‚ΡŒ панСль дСйствий ΠΏΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρƒ ΠΎΠΊΠ½Π°.\r\n *\r\n * @method WebAccess.components.wrappers.toolBar.ToolBar#resizeToolbar\r\n * @since 5.6.0.0000\r\n */\r\n resizeToolbar() {\r\n // TODO Π˜Π·Π±Π°Π²ΠΈΡ‚ΡŒΡΡ ΠΎΡ‚ ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½ΠΎΠ³ΠΎ ΠΌΠ΅Ρ‚ΠΎΠ΄Π°\r\n this._resizeToolbar();\r\n },\r\n\r\n /**\r\n * Π’ΠΏΠΈΡΠ°Ρ‚ΡŒ панСль дСйствий ΠΏΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρƒ ΠΎΠΊΠ½Π°.\r\n *\r\n * @method WebAccess.components.wrappers.toolBar.ToolBar#_resizeToolbar\r\n * @private\r\n * @since 5.6.0.1300\r\n */\r\n _resizeToolbar() {\r\n $.when(WA.ToolBarInit).done(() => {\r\n const jToolbarContents = $(toolbarContentsSelector);\r\n const width = this._getAvailableWidth();\r\n\r\n // БпрячСм содСрТимоС Ρ‚ΡƒΠ»Π±Π°Ρ€Π° ΠΏΠΎΠΊΠ° ΠΈΠ΄ΡƒΡ‚ трансформации, Ρ‡Ρ‚ΠΎΠ± Π½Π΅ дёргался.\r\n jToolbarContents.hide();\r\n\r\n // Π Π°Π·Π²Π΅Ρ€Π½Ρ‘ΠΌ Ρ‚ΡƒΠ»Π±Π°Ρ€ Π΄ΠΎ Π΅Π³ΠΎ ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ состояния (Π΄ΠΎ Ρ‚Π°ΠΊΠΎΠ³ΠΎ, ΠΊΠ°ΠΊΠΈΠΌ ΠΎΠ½ ΠΏΡ€ΠΈΡˆΡ‘Π» с сСрвСра).\r\n this._restoreToolbar();\r\n\r\n while (!this._canFitToWidth(width)) {\r\n const buttonWithCaption = this._getNextButtonWithCaption();\r\n // Если большС Π½Π΅ нашлось ΠΊΠ½ΠΎΠΏΠΊΠΈ с ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΡ‹ΠΌ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ.\r\n if (!buttonWithCaption) {\r\n break;\r\n }\r\n this._shrinkedButtonsAfterResize.push(buttonWithCaption);\r\n buttonWithCaption.hideCaption();\r\n }\r\n\r\n jToolbarContents.show();\r\n });\r\n },\r\n\r\n /**\r\n * Π£Π·Π½Π°Ρ‚ΡŒ, Π²ΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ Π»ΠΈ элСмСнты Ρ‚ΡƒΠ»Π±Π°Ρ€Π° Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ Ρ‚ΡƒΠ»Π±Π°Ρ€Π°.\r\n *\r\n * @method WebAccess.components.wrappers.toolBar.ToolBar#_canFitToWidth\r\n * @private\r\n * @return {boolean} TRUE - Ссли элСмСнты Ρ‚ΡƒΠ»Π±Π°Ρ€Π° Π²ΠΌΠ΅Ρ‰Π°ΡŽΡ‚ΡΡ Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ для Ρ‚ΡƒΠ»Π±Π°Ρ€Π°, ΠΈΠ½Π°Ρ‡Π΅ - FALSE.\r\n * @since 5.6.0.9075\r\n */\r\n _canFitToWidth(width) {\r\n const toolbarWidth = $(toolbarContentsSelector).width();\r\n return width > toolbarWidth;\r\n },\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΡˆΠΈΡ€ΠΈΠ½Ρƒ списка ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².\r\n *\r\n * @method WebAccess.components.wrappers.toolBar.ToolBar#_getAvailableWidth\r\n * @private\r\n * @return {number} Π¨ΠΈΡ€ΠΈΠ½Π° списка ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π² px.\r\n * @since 5.6.0.9075\r\n */\r\n _getAvailableWidth() {\r\n let availableWidth = $(window).width();\r\n\r\n if (WA.getLocation() === 'explorer') {\r\n // Π’ Π»Π΅Π²ΠΎΠΉ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ΅ Π΄Π΅Ρ€Π΅Π²ΠΎ ΠΏΠ°ΠΏΠΎΠΊ.\r\n const jLeftColumn = $('#left_column');\r\n if (jLeftColumn.length) {\r\n availableWidth -= jLeftColumn.width();\r\n }\r\n } else {\r\n const jAttachments = $('.attachments_td');\r\n if (jAttachments.length) {\r\n availableWidth -= jAttachments.width();\r\n }\r\n }\r\n\r\n return availableWidth - 10;\r\n },\r\n });\r\n\r\n global.ToolBar = ToolBar;\r\n\r\n})(window.WA.components.wrappers.toolBar);\r\n","\"use strict\";\r\n\r\n/**\r\n* Кнопка Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ \"Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ\".\r\n*\r\n* @class WebAccess.components.ActionButton\r\n* @extends BaseObject\r\n* @property {object} _model МодСль ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΏΠ°Π½Π΅Π»ΠΈ \"Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ\"\r\n*/\r\n\r\n(function (global) {\r\n var ActionButton = BaseObject.extend({\r\n\r\n _model: {},\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€\r\n * @param {object} model МодСль ΠΊΠ½ΠΎΠΏΠΊΠΈ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ \"Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ\"\r\n * @method WebAccess.components.ActionButton#init\r\n */\r\n init: function (model) {\r\n this._model = model;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ скрытия ΠΊΠ½ΠΎΠΏΠΊΠΈ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ \"Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ\".\r\n *\r\n * @method WebAccess.components.ActionButton#isHidden\r\n * @return {boolean} True, Ссли ΠΊΠ½ΠΎΠΏΠΊΠ° скрыта, ΠΈΠ½Π°Ρ‡Π΅ False.\r\n */\r\n isHidden: function () {\r\n return this._model.hidden;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ отобраТСния ΠΊΠ½ΠΎΠΏΠΊΠΈ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ \"Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ\".\r\n *\r\n * @method WebAccess.components.ActionButton#isEnabled\r\n * @return {boolean} True, Ссли ΠΊΠ½ΠΎΠΏΠΊΠ° отобраТаСтся, ΠΈΠ½Π°Ρ‡Π΅ False.\r\n */\r\n isEnabled: function () {\r\n return !this._model.disabled;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ ΡΠΊΡ€Ρ‹Ρ‚ΡƒΡŽ ΠΊΠ½ΠΎΠΏΠΊΡƒ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ \"Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ\".\r\n *\r\n * @method WebAccess.components.ActionButton#show\r\n * @return {WebAccess.components.ActionButton} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° ActionButton.\r\n *\r\n * @example\r\n * WebAccess.current.createPanel.buttons['CrtDocTmpl'].show();\r\n */\r\n show: function () {\r\n this._model.hidden = false;\r\n this._dispatchChangeEvent();\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π‘ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ ΠΊΠ½ΠΎΠΏΠΊΡƒ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ \"Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ\".\r\n *\r\n * @method WebAccess.components.ActionButton#hide\r\n * @return {WebAccess.components.ActionButton} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° ActionButton.\r\n */\r\n hide: function() {\r\n this._model.hidden = true;\r\n this._dispatchChangeEvent();\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π”Π΅Π»Π°Π΅Ρ‚ ΠΊΠ½ΠΎΠΏΠΊΡƒ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ \"Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ\" нСдоступной.\r\n * Кнопка становится ΠΏΠΎΠ»ΡƒΠΏΡ€ΠΎΠ·Ρ€Π°Ρ‡Π½ΠΎΠΉ ΠΈ Π½Π΅ Ρ€Π΅Π°Π³ΠΈΡ€ΡƒΠ΅Ρ‚ Π½Π° события.\r\n *\r\n * @method WebAccess.components.ActionButton#disable\r\n * @return {WebAccess.components.ActionButton} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° ActionButton.\r\n */\r\n disable: function() {\r\n this._model.disabled = true;\r\n this._dispatchChangeEvent();\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π”Π΅Π»Π°Π΅Ρ‚ ΠΊΠ½ΠΎΠΏΠΊΡƒ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ \"Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ\" доступной.\r\n *\r\n * @method WebAccess.components.ActionButton#enable\r\n * @return {WebAccess.components.ActionButton} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° ActionButton.\r\n */\r\n enable: function () {\r\n this._model.disabled = false;\r\n this._dispatchChangeEvent();\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ДобавляСт подпись ΠΊ ΠΊΠ½ΠΎΠΏΠΊΠ΅ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ \"Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ\".\r\n *\r\n * @param {string} text ВСкст подписи\r\n * @method WebAccess.components.ActionButton#setLabel\r\n * @return {WebAccess.components.ActionButton} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° ActionButton.\r\n */\r\n setLabel: function (text) {\r\n this._model.text = text;\r\n this._dispatchChangeEvent();\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ тСкст подписи ΠΊ ΠΊΠ½ΠΎΠΏΠΊΠ΅ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ \"Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ\".\r\n *\r\n * @method WebAccess.components.ActionButton#getLabel\r\n * @return {string} ВСкст подписи ΠΊ ΠΊΠ½ΠΎΠΏΠΊΠ΅.\r\n */\r\n getLabel: function () {\r\n return this._model.text;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n\r\n /**\r\n * УстанавливаСт Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰ΡƒΡŽ подсказку ΠΊ ΠΊΠ½ΠΎΠΏΠΊΠ΅ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ \"Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ\".\r\n *\r\n * @param {string} text ВСкст Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ подсказки\r\n * @method WebAccess.components.ActionButton#setTooltip\r\n * @return {WebAccess.components.ActionButton} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° ActionButton.\r\n * @since 5.0.0.4005\r\n */\r\n setTooltip: function (text) {\r\n this._model.tooltip = text;\r\n this._dispatchChangeEvent();\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ тСкст Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ подсказки ΠΊ ΠΊΠ½ΠΎΠΏΠΊΠ΅ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ \"Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ\".\r\n *\r\n * @method WebAccess.components.ActionButton#getTooltip\r\n * @return {string} ВСкст Π²ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ подсказки.\r\n * @since 5.0.0.4005\r\n */\r\n getTooltip: function () {\r\n return this._model.tooltip;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * УстанавливаСт ΠΈΠΊΠΎΠ½ΠΊΡƒ для ΠΊΠ½ΠΎΠΏΠΊΠΈ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ \"Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ\".\r\n *\r\n * PNG-ΠΈΠΊΠΎΠ½ΠΊΡƒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ€Π°Π·ΠΌΠ΅ΡΡ‚ΠΈΡ‚ΡŒ Π² ΠΏΠ°ΠΏΠΊΠ΅ App_Sprites ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠΉ ΠΏΠ°ΠΏΠΊΠΈ Π²Π΅Π±-сайта ΠΈ послС этого ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Ρ‚ΡŒ Π²Π΅Π±-ΠΌΠΎΠ΄ΡƒΠ»ΡŒ.\r\n\t * Или ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ SVG-ΠΈΠΊΠΎΠ½ΠΊΠΈ, располоТСнной Π² ΠΏΠ°ΠΏΠΊΠ΅ svg/icon.\r\n *\r\n\t * @method WebAccess.components.ActionButton#setIcon\r\n * @param {string} path ΠŸΡƒΡ‚ΡŒ ΠΊ PNG-ΠΈΠΊΠΎΠ½ΠΊΠ΅ ΠΈΠ»ΠΈ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ SVG-ΠΈΠΊΠΎΠ½ΠΊΠΈ\r\n * @return {WebAccess.components.ActionButton} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° ActionButton.\r\n\t *\r\n\t * @example\r\n * WebAccess.current.createPanel.buttons['CrtDocTmpl'].setIcon('SidebarAndExtensions/EDocumentSearch_24.png');\r\n * ΠΈΠ»ΠΈ\r\n * WebAccess.current.createPanel.buttons['CrtDocTmpl'].setIcon('task-32');\r\n */\r\n setIcon: function (path) {\r\n this._model.icon = path;\r\n this._dispatchChangeEvent();\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ имя ΠΈΠΊΠΎΠ½ΠΊΠΈ для ΠΊΠ½ΠΎΠΏΠΊΠΈ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ \"Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ\".\r\n *\r\n * @method WebAccess.components.ActionButton#getIcon\r\n * @return {string} Имя ΠΈΠΊΠΎΠ½ΠΊΠΈ.\r\n */\r\n getIcon: function() {\r\n return this._model.icon;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * НазначаСт Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ, Π²Ρ‹ΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡƒΡŽ ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ \"Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ\".\r\n *\r\n * @method WebAccess.components.ActionButton#click\r\n\t * @param {string} callback Ѐункция, выполняСмая ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ\r\n * @return {WebAccess.components.ActionButton} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° ActionButton.\r\n */\r\n click: function(callback) {\r\n var instance = this;\r\n if (callback) {\r\n this._model.jsaction = callback;\r\n this._dispatchChangeEvent();\r\n } else {\r\n // TODO: ΡΡΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ»ΠΈΠΊ ΠΊΠ°ΠΊΠΈΠΌ-Ρ‚ΠΎ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ.\r\n }\r\n return this;\r\n },\r\n\r\n /**\r\n * Π’Ρ‹Π·Π²Π°Ρ‚ΡŒ событиС, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΎΠΏΠΎΠ²Π΅Ρ‰Π°Π΅Ρ‚ подписчиков ΠΎΠ± измСнСниях Π² ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ.\r\n *\r\n * // Π’Ρ‹Π·Π²Π°Π½Π½ΠΎΠ΅ событиС ΠΏΠΎΠ²Π»Π΅Ρ‡Π΅Ρ‚ Π·Π° собой Ρ€Π΅Π½Π΄Π΅Ρ€ ExplorerHeader с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ react (Π’Π” 5.5.0).\r\n */\r\n _dispatchChangeEvent: function() {\r\n this.fire(this['class'].EVENT.CHANGE_STATE);\r\n }\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n }, {\r\n /**\r\n * Бобытия.\r\n */\r\n EVENT: {\r\n /**\r\n * Π‘Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ свойств ΠΊΠ½ΠΎΠΏΠΊΠΈ Π½Π° ΠΏΠ°Π½Π΅Π»ΠΈ \"Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ\".\r\n */\r\n CHANGE_STATE: 'changeState'\r\n }\r\n });\r\n\r\n global.ActionButton = ActionButton;\r\n\r\n})(window.WebAccess.components);\r\n","'use strict';\r\n\r\n/**\r\n * ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Π·Π°ΠΊΠ»Π°Π΄ΠΊΠΈ ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠΈ.\r\n *\r\n * @class WebAccess.components.CardTab\r\n * @extends BaseObject\r\n * @property {string} _containerID Π˜Π” элСмСнта страницы, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½ сгСнСрированный HTML-элСмСнт Π·Π°ΠΊΠ»Π°Π΄ΠΊΠΈ ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠΈ.\r\n * @property {object} _model МодСль Π·Π°ΠΊΠ»Π°Π΄ΠΊΠΈ ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠΈ.\r\n * @property {object} [_childComponents] Массив ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π·Π°ΠΊΠ»Π°Π΄ΠΊΠΈ ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· клиСнтский API Π²Π΅Π±-доступа.\r\n * @property {boolean} _firstRender\r\n * @since 5.6.0\r\n */\r\n\r\n(function (global) {\r\n var CardTab = BaseObject.extend({\r\n _containerId: '',\r\n _model: {},\r\n _childComponents: [],\r\n _firstRender: true,\r\n\r\n /**\r\n * ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€\r\n * @method WebAccess.components.CardTab#init\r\n * @param {string} containerId Π˜Π” элСмСнта страницы, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠΌΠ΅Ρ‰Π΅Π½ сгСнСрированный HTML-элСмСнт Π·Π°ΠΊΠ»Π°Π΄ΠΊΠΈ ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠΈ.\r\n * @param {object} model МодСль Π·Π°ΠΊΠ»Π°Π΄ΠΊΠΈ ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠΈ.\r\n * @param {array} childComponents Массив ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² Π·Π°ΠΊΠ»Π°Π΄ΠΊΠΈ ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Ρ‡Π΅Ρ€Π΅Π· клиСнтский API Π²Π΅Π±-доступа.\r\n */\r\n init(containerId, model, childComponents) {\r\n this._containerId = containerId;\r\n this._model = model;\r\n this._extendModel();\r\n this.bindChildEvents(childComponents);\r\n\r\n $('html')\r\n .on(PAGE_EVENTS.TOGGLE_PERIOD, () => {\r\n this.updateHistoryTable({\r\n shouldResetScroll: true,\r\n forceRerender: true\r\n });\r\n })\r\n .on(PAGE_EVENTS.TAB_MODEL_CHANGE, () => {\r\n this._render();\r\n });\r\n\r\n this._render();\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠ΄ΠΏΠΈΡΡ‹Π²Π°Π΅Ρ‚ Π½Π° события Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΡ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚.\r\n *\r\n * @method WebAccess.components.CardTab#bindChildEvents\r\n * @param {object} childComponents Бписок Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΡ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚.\r\n * @return {WebAccess.components.CardTab} ВСкущая Π²ΠΊΠ»Π°Π΄ΠΊΠ°.\r\n */\r\n bindChildEvents(childComponents) {\r\n this._childComponents = childComponents;\r\n if (typeof this._childComponents === 'object') {\r\n this._childComponents.forEach((component) => {\r\n const componentEventChangeState = component[ 'class' ].EVENT.CHANGE_STATE || component.constructor.EVENT.CHANGE_STATE;\r\n component.bind(componentEventChangeState, () => {\r\n this._render();\r\n });\r\n });\r\n }\r\n return this;\r\n },\r\n\r\n /**\r\n * ΠžΡ‚ΠΏΠΈΡΡ‹Π²Π°Π΅Ρ‚ ΠΎΡ‚ событий Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΡ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚.\r\n *\r\n * @method WebAccess.components.CardTab#unbindChildEvents\r\n */\r\n unbindChildEvents() {\r\n if (typeof this._childComponents === 'object') {\r\n this._childComponents.forEach((component) => {\r\n const componentEventChangeState = component[ 'class' ].EVENT.CHANGE_STATE || component.constructor.EVENT.CHANGE_STATE;\r\n component.unbind(componentEventChangeState);\r\n });\r\n }\r\n this._childComponents = [];\r\n return this;\r\n },\r\n\r\n /**\r\n * ΠžΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ‚ Π·Π°ΠΊΠ»Π°Π΄ΠΊΡƒ ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠΈ.\r\n *\r\n * @method WebAccess.components.CardTab#updateModel\r\n * @param {object} model МодСль Π·Π°ΠΊΠ»Π°Π΄ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π½ΡƒΠΆΠ½ΠΎ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ.\r\n */\r\n updateModel(model) {\r\n // Если ΡŽΠ·Π΅Ρ€ ΡƒΡˆΡ‘Π» с Π·Π°ΠΊΠ»Π°Π΄ΠΊΠΈ \"ΠšΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠ°\" - удаляСм ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π·Π°ΠΊΠ»Π°Π΄ΠΊΠΈ \"ΠšΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠ°\"\r\n // ΠΈ Π°Π½Π±Π°ΠΉΠ½Π΄ΠΈΠΌ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ Π½Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ Π²Π²ΠΎΠ΄ ΠΏΡ€ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ закрытия ΠΎΠΊΠ½Π°\r\n if (this._model.type !== model.type && this.mainTab) {\r\n this.mainTab.unbindEvents();\r\n this.mainTab = undefined;\r\n }\r\n this._model = model;\r\n this._extendModel();\r\n this._render(true);\r\n },\r\n\r\n /**\r\n * Π‘ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π·Π°ΠΊΠ»Π°Π΄ΠΊΡƒ (ΠΈ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ модСль ΠΈ КОМ)\r\n *\r\n * @method WebAccess.components.CardTab#_requestModelData\r\n * @private\r\n * @param {string} requestUrl Π’Π΅Π±-сСрвис, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ для получСния ΠΌΠΎΠ΄Π΅Π»ΠΈ.\r\n * @param {object} requestParams ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ запроса.\r\n */\r\n _requestModelData(requestUrl, requestParams) {\r\n WA.SRV.call(requestUrl, requestParams).done((res) => {\r\n this.updateModel(JSON.parse(res));\r\n });\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ОбновлСниС Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ с историСй Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Π˜ΡΡ‚ΠΎΡ€ΠΈΡ.\r\n *\r\n * @method WebAccess.components.CardTab#updateHistoryTable\r\n * @param {object} params ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ запроса ΠΊ Π²Π΅Π±-сСрвису.\r\n */\r\n updateHistoryTable: function (params) {\r\n (function (me) {\r\n var historyModel = me._model.content.data;\r\n if (historyModel.isAllRowsDisplayed && !params.forceRerender) {\r\n me.sortHistoryTable(params, historyModel);\r\n } else {\r\n var requestParams = {\r\n id: WA.CR.ID,\r\n type: WA.CR.Type,\r\n referenceName: WA.CR.ReferenceCode,\r\n sortingColumnId: historyModel.sorting.columnId,\r\n sortingDirection: historyModel.sorting.direction,\r\n rowsCount: 100,\r\n skipRows: 0\r\n };\r\n if (params) {\r\n $.extend(requestParams, params);\r\n if (params.shouldResetScroll) {\r\n me._resetScroll();\r\n }\r\n }\r\n me._requestModelData('/api/CardForm.asmx/GetHistoryTab', requestParams);\r\n }\r\n })(this);\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ с историСй Ρ€Π°Π±ΠΎΡ‚Ρ‹ с ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ Π˜ΡΡ‚ΠΎΡ€ΠΈΡ.\r\n *\r\n * @method WebAccess.components.CardTab#sortHistoryTable\r\n * @param {object} params ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ сортировки.\r\n * @param {object} historyModel МодСль historyModel.\r\n */\r\n sortHistoryTable: function (params, historyModel) {\r\n var sorting = {\r\n columnId: params.sortingColumnId,\r\n direction: params.sortingDirection\r\n };\r\n var columnType = historyModel.tableColumns[ sorting.columnId ].columnType;\r\n historyModel.tableRows.sort(function (leader, follower) {\r\n var first = leader[ sorting.columnId ].join(' ');\r\n var second = follower[ sorting.columnId ].join(' ');\r\n switch (columnType) {\r\n case COLUMN_TYPE.DATE:\r\n const transformDatetime = (datetime) => {\r\n datetime = datetime.split(' ');\r\n\r\n // ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π΄Π°Ρ‚Ρƒ\r\n let dateParts;\r\n let hoursAndMinutes;\r\n if (datetime[ 0 ].includes('.')) {\r\n // Русский Ρ„ΠΎΡ€ΠΌΠ°Ρ‚\r\n dateParts = datetime[ 0 ].split('.').reverse();\r\n hoursAndMinutes = datetime[ 1 ].split(':');\r\n } else {\r\n // АмСриканский Ρ„ΠΎΡ€ΠΌΠ°Ρ‚\r\n dateParts = datetime[ 0 ].split('/');\r\n dateParts.unshift(dateParts.pop());\r\n\r\n // ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅ΠΌ врСмя\r\n hoursAndMinutes = datetime[ 1 ].split(':');\r\n if (datetime[ 2 ].toLowerCase() === 'pm') {\r\n // += Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ, Ρ‚.ΠΊ. Π² массивС строки ΠΈ это примСтся Π·Π° ΠΊΠΎΠ½ΠΊΠ°Ρ‚Π΅Π½Π°Ρ†ΠΈΡŽ\r\n hoursAndMinutes[ 0 ] = +hoursAndMinutes[ 0 ] + 12;\r\n }\r\n }\r\n\r\n dateParts = [ ...dateParts, ...hoursAndMinutes ];\r\n return new Date(...dateParts);\r\n };\r\n first = transformDatetime(first);\r\n second = transformDatetime(second);\r\n break;\r\n case COLUMN_TYPE.INTEGER:\r\n first = parseInt(first);\r\n second = parseInt(second);\r\n break;\r\n }\r\n if (first > second || (columnType === COLUMN_TYPE.INTEGER && isNaN(second))) {\r\n return sorting.direction;\r\n } else if (first < second || (columnType === COLUMN_TYPE.INTEGER && isNaN(first))) {\r\n return -sorting.direction;\r\n } else {\r\n return 0;\r\n }\r\n });\r\n historyModel.sorting = sorting;\r\n this._render();\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ модСль Π·Π°ΠΊΠ»Π°Π΄ΠΊΠΈ \"БостояниС\" Π² ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠ°Ρ… Π·Π°Π΄Π°Ρ‡ ΠΈ Π·Π°Π΄Π°Π½ΠΈΠΉ.\r\n *\r\n * @method WebAccess.components.CardTab#getFullCustomWorkState\r\n * @return {object} МодСль Π·Π°ΠΊΠ»Π°Π΄ΠΊΠΈ \"БостояниС\".\r\n */\r\n getFullCustomWorkState: function () {\r\n this._requestModelData('/api/CardForm.asmx/GetFullCustomWorkStateTab', {\r\n id: WA.CR.ID,\r\n type: WA.CR.Type\r\n });\r\n },\r\n\r\n /**\r\n * Π’ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚/Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ панСль Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ (Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΠ΅ \"БостояниС\" ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠΈ Π—Π—Π£).\r\n *\r\n * @method WebAccess.components.CardTab#toggleStateTreeFilterPanel\r\n * @since 5.6.1\r\n */\r\n toggleStateTreeFilterPanel() {\r\n // ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ состояниС ΠΊΠ½ΠΎΠΏΠΊΠΈ\r\n const toogleFilterPanelButton = WA.CR.toolBar.buttons.ToggleStateTreeFilterPanel;\r\n if (toogleFilterPanelButton) {\r\n const isFilterPanelVisible = !toogleFilterPanelButton.isSelected();\r\n WA.SRV.call('Session.asmx/SetUserProfileSettings', {\r\n ParamName: 'IsStateTreeFilterPanelVisible',\r\n ParamValue: isFilterPanelVisible,\r\n });\r\n\r\n if (isFilterPanelVisible) {\r\n toogleFilterPanelButton.select();\r\n } else {\r\n this._model.extended.applyFilter(STATETREE_FILTER.ALL);\r\n toogleFilterPanelButton.unSelect();\r\n }\r\n\r\n this._model.content.data.isFilterPanelVisible = isFilterPanelVisible;\r\n this._render();\r\n }\r\n },\r\n\r\n /**\r\n * Π‘Π±Ρ€ΠΎΡΠΈΡ‚ΡŒ скролл (ΠΏΠ΅Ρ€Π΅ΠΌΠΎΡ‚Π°Ρ‚ΡŒ Π½Π°Π²Π΅Ρ€Ρ…) - ΠΏΡ€ΠΈ пСрСсортировкС ΠΈ ΠΏΡ€ΠΈ сбросС/Π½Π°Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΈ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ².\r\n *\r\n * @method WebAccess.components.CardTab#_resetScroll\r\n * @private\r\n */\r\n _resetScroll() {\r\n $('#' + this._containerId).animate({\r\n scrollTop: 0\r\n }, 100);\r\n },\r\n\r\n /**\r\n * Π Π°ΡΡˆΠΈΡ€ΠΈΡ‚ΡŒ модСль CardTab Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ΠΈ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ².\r\n *\r\n * @method WebAccess.components.CardTab#_extendModel\r\n * @private\r\n */\r\n _extendModel() {\r\n if (this._model.toolbar) {\r\n this._model.toolbar.extended = {\r\n restore: () => {\r\n WA.CMP.wrappers.toolBar.ReactToolBar.toolbarRestore(\r\n this._model.toolbar,\r\n this._render.bind(this),\r\n );\r\n },\r\n collapseOneButton: () => {\r\n WA.CMP.wrappers.toolBar.ReactToolBar.toolbarCollapseOneButton(\r\n this._model.toolbar,\r\n this._render.bind(this),\r\n );\r\n },\r\n };\r\n }\r\n\r\n const isIe = WA.ENV.browser.name === 'IE';\r\n\r\n switch (this._model.type) {\r\n case TAB_TYPE.CUSTOM_WORK_STATE:\r\n const stateTab = new WebAccess.components.CardTabStateTab(this._model.content.data.jobStates);\r\n this._model.content.data.jobStates = stateTab.getStateTree();\r\n this._model.extended = stateTab.getExtendedProperties();\r\n this._model.extended.activeFilter = 0;\r\n this._model.extended.applyFilter = (filter) => {\r\n stateTab.applyFilter(this._model.extended.activeFilter = filter);\r\n };\r\n break;\r\n\r\n case TAB_TYPE.HISTORY:\r\n this._model.extended = {\r\n isIe: isIe,\r\n update: (requestParams) => {\r\n this.updateHistoryTable(requestParams);\r\n },\r\n };\r\n break;\r\n\r\n case TAB_TYPE.JOB_CARD:\r\n case TAB_TYPE.TASK_CARD:\r\n if (this.mainTab === undefined) {\r\n // Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ экзСмпляр класса основной Π·Π°ΠΊΠ»Π°Π΄ΠΊΠΈ ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠΈ, содСрТащСго всю ΡΠΏΠ΅Ρ†ΠΈΡ„ΠΈΡ‡Π½ΡƒΡŽ для этой Π·Π°ΠΊΠ»Π°Π΄ΠΊΠΈ Π»ΠΎΠ³ΠΈΠΊΡƒ.\r\n this.mainTab = new WebAccess.components.CardTabMainTab(this._model.content.data, this._model.type);\r\n } else {\r\n // ОбновляСм модСль класса основной Π·Π°ΠΊΠ»Π°Π΄ΠΊΠΈ ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠΈ.\r\n this.mainTab.updateModel(this._model.content.data);\r\n }\r\n let processedContent = this.mainTab.getContent();\r\n this._model.content.data.main = processedContent.main;\r\n this._model.content.data.aside = processedContent.aside;\r\n this._model.extended = this.mainTab.getExtendedProperties();\r\n this._model.beforeRender = () => Core.tasks.unbindButtonsEnabling();\r\n this._model.afterRender = () => Core.tasks.bindButtonsEnabling();\r\n break;\r\n }\r\n },\r\n\r\n /**\r\n * ΠžΡ‚Ρ€Π΅Π½Π΄Π΅Ρ€ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρƒ CardTab с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ react.\r\n * @private\r\n * @param {boolean} [isNewModel = false] TRUE Ссли обновилась Π·Π°ΠΊΠ»Π°Π΄ΠΊΠ°, ΠΈΠ½Π°Ρ‡Π΅ - FALSE.\r\n */\r\n _render(isNewModel = false) {\r\n let reactRender = () => {\r\n if (isNewModel) {\r\n this.fire(PAGE_EVENTS.TAB_ON_BEFORE_RENDER_NEW_MODEL, this._model);\r\n }\r\n ReactDOM.render(\r\n React.createElement(Component.CardTab, this._model),\r\n document.getElementById(this._containerId),\r\n isNewModel ? () => $('html').trigger(PAGE_EVENTS.TAB_ON_AFTER_RENDER_NEW_MODEL) : null\r\n );\r\n };\r\n if (this._firstRender) {\r\n WA.ready(() => {\r\n if (this._firstRender) {\r\n reactRender();\r\n this._firstRender = false;\r\n }\r\n });\r\n } else {\r\n reactRender();\r\n }\r\n },\r\n\r\n });\r\n\r\n global.CardTab = CardTab;\r\n\r\n})(window.WebAccess.components);\r\n","'use strict';\r\n\r\n/**\r\n * ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Π·Π°ΠΊΠ»Π°Π΄ΠΊΠΈ \"ΠšΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠ°\" Π² ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.\r\n *\r\n * @class WebAccess.components.CardTabMainTab\r\n *\r\n * @property {number} type Π’ΠΈΠΏ Π·Π°ΠΊΠ»Π°Π΄ΠΊΠΈ ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠΈ.\r\n * @property {object} content МодСль HTML-содСрТимого Π·Π°ΠΊΠ»Π°Π΄ΠΊΠΈ \"ΠšΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠ°\".\r\n * @property {string} content.main HTML-содСрТимоС ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° с Ρ„ΠΎΡ€ΠΌΠΎΠΉ ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠΈ ΠΈ ΠΎΠ±Π»Π°ΡΡ‚ΡŒΡŽ пСрСписки.\r\n * @property {string} content.aside HTML-содСрТимоС ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° с ΠΎΠ±Π»Π°ΡΡ‚ΡŒΡŽ Π²Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ.\r\n * @property {bool} contentJustReceivedFromServer ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π΄Π°Π½Π½Ρ‹Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Ρ‹ с сСрвСра. ΠŸΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ‚ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ скриптов.\r\n * @property {string} serializedTabData Π‘Π΅Ρ€ΠΈΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ поля Ρ„ΠΎΡ€ΠΌΡ‹ ΠΈ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ Π²Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠΈ. ΠŸΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‚ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, Π΅ΡΡ‚ΡŒ Π»ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ Π²Π²ΠΎΠ΄ ΠΈ Π½ΡƒΠΆΠ½ΠΎ Π»ΠΈ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π°Ρ‚ΡŒ ΠΎ ΠΏΠΎΡ‚Π΅Ρ€Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΏΡ€ΠΈ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π·Π°ΠΊΠ»Π°Π΄ΠΊΠΈ.\r\n * @property {object} scriptsEvalAfterRender Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ послС Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ React-ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹.\r\n * @property {array} scriptsEvalAfterRender.pending Массив со скриптами, ΠΎΠΆΠΈΠ΄Π°ΡŽΡ‰ΠΈΠΌΠΈ выполнСния. //TODO: ΠΏΠ΅Ρ€Π΅Π΄Π΅Π»Π°Ρ‚ΡŒ массивы со скриптами Π½Π° ES6-ΠΊΠΎΠ»Π»Π΅ΠΊΡ†ΠΈΡŽ new Set()\r\n * @property {array} scriptsEvalAfterRender.evaluated Массив с ΡƒΠΆΠ΅ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½Π½Ρ‹ΠΌΠΈ скриптами.\r\n * @property {array} scriptsAlwaysEvalAfterRender Массив со скриптами, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· ΠΏΡ€ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ послС Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ React-ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹.\r\n * @since 5.6.0\r\n */\r\n\r\n// На Π·Π°ΠΊΠ»Π°Π΄ΠΊΠ΅ ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠΈ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ скрипт, приходящий с Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΎΠΉ с сСрвСра, Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²Ρ‹Π·Ρ‹Π²Π°Ρ‚ΡŒΡΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· Π²ΠΎ ΠΈΠ·Π±Π΅ΠΆΠ°Π½ΠΈΠ΅ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡ€Π°Ρ‚Π½Ρ‹Ρ… Π±ΠΈΠ½Π΄ΠΎΠ² ΠΈ ΠΏΠ΅Ρ€Π΅Ρ€Π΅Π½Π΄Π΅Ρ€ΠΎΠ².\r\n// Π‘Π½Π°Ρ‡Π°Π»Π° скрипты ΠΏΠΎΠΏΠ°Π΄Π°ΡŽΡ‚ Π² scriptsEvalAfterRender.pending, послС Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Ρ€Π΅Π½Π΄Π΅Ρ€Π° ΠΎΠ½ΠΈ Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‚ΡΡ ΠΈ пСрСносятся Π² scriptsEvalAfterRender.evaluated.\r\n// ΠŸΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ ΠΏΡ€ΠΈΡˆΠ΅ΡΡ‚Π²ΠΈΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ с HTML-Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΎΠΉ с сСрвСра скрипты ΠΈΠ· этой Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΈ заносятся Π² scriptsEvalAfterRender.pending, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли Ρ‚Π°ΠΊΠΈΡ… ΠΆΠ΅ скриптов Π½Π΅Ρ‚ Π² scriptsEvalAfterRender.evaluated.\r\n\r\n\r\nwindow.WebAccess.components.CardTabMainTab = class {\r\n\r\n /**\r\n * Π‘ΠΎΠ·Π΄Π°Ρ‘Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π·Π°ΠΊΠ»Π°Π΄ΠΊΠΈ \"ΠšΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠ°\" Π² ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠ΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.\r\n *\r\n * @param {object} content МодСль HTML-содСрТимого Π·Π°ΠΊΠ»Π°Π΄ΠΊΠΈ \"ΠšΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠ°\".\r\n * @param {string} content.main HTML-содСрТимоС ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° с Ρ„ΠΎΡ€ΠΌΠΎΠΉ ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠΈ ΠΈ ΠΎΠ±Π»Π°ΡΡ‚ΡŒΡŽ пСрСписки.\r\n * @param {string} content.aside HTML-содСрТимоС ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° с ΠΎΠ±Π»Π°ΡΡ‚ΡŒΡŽ Π²Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ.\r\n * @param {number} type Π’ΠΈΠΏ Π·Π°ΠΊΠ»Π°Π΄ΠΊΠΈ ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠΈ.\r\n */\r\n constructor(content, type) {\r\n this.type = type;\r\n // Π‘Π΅Π»Π΅ΠΊΡ‚ΠΎΡ€ содСрТимого.\r\n const containerSelector = 'form.master';\r\n this.scriptsEvalAfterRender = [\r\n 'InitContentListToolbox();', // TODO: для увСдомлСния это Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ, Π½Π°Π΄ΠΎ ΠΊΠ°ΠΊ-Ρ‚ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π°Ρ‚ΡŒ\r\n 'window.InitAttachmentsResize();',\r\n ];\r\n this.scriptsAlwaysEvalAfterRender = [\r\n () => {\r\n // ToDo: ΠΏΠΎΠ»Π΅ Π²Π²ΠΎΠ΄Π° тСкста показываСтся Π½Π΅ сразу, поэтому запускаСм ΠΏΠΎ Ρ‚Π°ΠΉΠΌΠ°ΡƒΡ‚Ρƒ.\r\n setTimeout(window.InitSavedTextResize, 0);\r\n },\r\n window.ShowOnlyCurrentRelatedTasks,\r\n window.ScrollTreeToCurrentJob,\r\n () => {\r\n $('.TaskTree').removeClass('TaskTree__hidden');\r\n },\r\n () => window.InitTooltips(),\r\n () => {\r\n const jAttachments = $('#Attachments_AttachmentsList_list');\r\n EntityListInit(jAttachments, true, false);\r\n\r\n // ΠžΡΡ‚Π°Π½ΠΎΠ²ΠΈΠΌ всплытиС события ΠΊ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠΌΡƒ элСмСнту - списку ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², \r\n // Ρ‚.ΠΊ. ΠΏΠΎ Ρ„Π°ΠΊΡ‚Ρƒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ списка Π½Π΅ происходит.\r\n $('#Attachments_AttachmentsList_chkAll').bind('change', event => event.stopPropagation());\r\n\r\n // Π‘Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ список Π²Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ. ΠŸΠΎΡ‡Π΅ΠΌΡƒ сдСлано Π½Π° jQuery:\r\n // Если ΠΏΡ€ΠΈΡΡ‹Π»Π°Ρ‚ΡŒ список Π²Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ с бэка, Ρ‚ΠΎ список заморозится Π΄ΠΎ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π²ΠΊΠ»Π°Π΄ΠΊΠΈ, Ρ‚.ΠΊ.\r\n // функция ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ CardTabMainTab ΠΎΡ‚Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠΈ ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΈ Π²ΠΊΠ»Π°Π΄ΠΎΠΊ.\r\n const jAttachmentItems = jAttachments.find('.object-list-item');\r\n const values = jAttachmentItems.toArray().map(attachmentItemNode => {\r\n const jAttachmentItem = $(attachmentItemNode);\r\n return {\r\n CompCode: jAttachmentItem.attr('compcode'),\r\n ID: jAttachmentItem.attr('id'),\r\n Kind: jAttachmentItem.attr('kind'),\r\n };\r\n });\r\n\r\n ListRequisite(\"Attachments_AttachmentsList\").Init({\r\n ContentKind: \"ANY\",\r\n Values: JSON.stringify(values),\r\n OnLoad: \"this.InitAttachments(WA.CR.ID, WA.CR.Type === OBJECT_TYPE.TASK ? 'TASK' : 'JOB');\",\r\n ReadOnly: $('#Attachments_AttachmentsList_OuterPanel').hasClass('readonly'),\r\n IsList: true,\r\n ShowScrollBar: true,\r\n EnableSameRecords: true,\r\n NeedShowPasteAndDeleteLink: true,\r\n IsShowActions: false,\r\n RefCode: null\r\n });\r\n window.UpdateCopyPasteIcons(jAttachments);\r\n },\r\n ];\r\n switch (this.type) {\r\n case TAB_TYPE.TASK_CARD:\r\n this.scriptsAlwaysEvalAfterRender.push(...[\r\n () => {\r\n Core.tasks.initSelectStandardRouteButton();\r\n Core.customWorks.bindButtonsEnabling('textarea.Card_Task_EditText');\r\n Core.customWorks.bindButtonsEnabling('input#CardContrrolSubject');\r\n WA.CR.objectList = new WebAccess.components.wrappers.objectList.FolderList(containerSelector);\r\n new Core.objectList.dragging().initEvents();\r\n },\r\n ]);\r\n this.scriptsEvalAfterRender.push(...[\r\n 'Task_SetFocusToEditText()',\r\n ]);\r\n break;\r\n case TAB_TYPE.JOB_CARD:\r\n this.scriptsAlwaysEvalAfterRender.push(...[\r\n () => {\r\n Core.customWorks.bindButtonsEnabling('textarea.Job_Edit_Text_Area_Control');\r\n WA.CR.objectList = new WebAccess.components.wrappers.objectList.FolderList(containerSelector);\r\n new Core.objectList.dragging().initEvents();\r\n },\r\n ]);\r\n this.scriptsEvalAfterRender.push(...[\r\n 'Job_SetFocusToEditText()',\r\n ]);\r\n }\r\n this.updateModel(content);\r\n\r\n // Π‘Π°ΠΉΠ½Π΄ΠΈΠΌ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ Π½Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ измСнСния ΠΏΡ€ΠΈ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠ΅ закрытия ΠΎΠΊΠ½Π° ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π²ΠΊΠ»Π°Π΄ΠΊΠΈ\r\n WA.CR.window.bind('beforeClose', () => {\r\n if (this.isModifiedByUser()) {\r\n return L('DATA_DIDNT_SAVE');\r\n }\r\n return false;\r\n });\r\n $('html').bind(PAGE_EVENTS.ON_BEFORE_TAB_CHANGE, (event) => {\r\n event.currentTarget.isModifiedByUser = this.isModifiedByUser();\r\n });\r\n $(window).off('resize.tab').on('resize.tab', () => {\r\n window.InitSavedTextResize();\r\n });\r\n }\r\n\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠžΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ‚ Π·Π°ΠΊΠ»Π°Π΄ΠΊΡƒ \"ΠšΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠ°\", скрипты, сСриализуСт поля Ρ„ΠΎΡ€ΠΌΡ‹.\r\n * @method WebAccess.components.CardTabMainTab#updateModel\r\n * @param {object} content МодСль HTML-содСрТимого Π·Π°ΠΊΠ»Π°Π΄ΠΊΠΈ Β«ΠšΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠ°Β».\r\n * @param {string} content.main HTML-содСрТимоС ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° с Ρ„ΠΎΡ€ΠΌΠΎΠΉ ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠΈ ΠΈ ΠΎΠ±Π»Π°ΡΡ‚ΡŒΡŽ пСрСписки.\r\n * @param {string} content.aside HTML-содСрТимоС ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° с ΠΎΠ±Π»Π°ΡΡ‚ΡŒΡŽ Π²Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ.\r\n */\r\n updateModel(content) {\r\n this.contentJustReceivedFromServer = true;\r\n\r\n // Π”Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ html, ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ скрипты ΠΈ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ ΠΈΡ… ΠΈΠ· Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΈ\r\n this.content = {\r\n main: this._extractScriptsFromHtml(content.main)\r\n // Π—Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Π½Π° div, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ Π±Ρ‹Π»ΠΎ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ ΠΏΡ€ΠΈ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠ΅ Ρ„ΠΎΡ€ΠΌΡ‹ Π½Π° сСрвСр\r\n .replace('
    ', 'div>'),\r\n aside: this._extractScriptsFromHtml(content.aside),\r\n };\r\n\r\n this.serializedTabData = this._serializeCardForm(this.content.main) + this._serializeAttachments(this.content.aside);\r\n }\r\n\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ модСль HTML-содСрТимого Π·Π°ΠΊΠ»Π°Π΄ΠΊΠΈ Β«ΠšΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠ°Β».\r\n * @method WebAccess.components.CardTabMainTab#getContent\r\n * @returns {object} МодСль HTML-содСрТимого Π·Π°ΠΊΠ»Π°Π΄ΠΊΠΈ Β«ΠšΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠ°Β».\r\n */\r\n getContent() {\r\n return this.content;\r\n }\r\n\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ для Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ для прокидывания Π² React-ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρƒ.\r\n * @comment Inna: Ρ‡Π΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΌΠ΅Π½ΠΈΡ‚ΡŒ \"прокидывания\"? \"добавлСния\"?\r\n * @method WebAccess.components.CardTabMainTab#getExtendedProperties\r\n * @returns {object} ΠžΠ±ΡŠΠ΅ΠΊΡ‚, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π±ΡƒΠ΄Π΅Ρ‚ присвоСн Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρƒ extended Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠΉ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹.\r\n */\r\n getExtendedProperties() {\r\n let extendedProps = {\r\n initCustomWork: () => {\r\n this._initCustomWork(this);\r\n },\r\n };\r\n if (this.type === TAB_TYPE.JOB_CARD) {\r\n extendedProps.initTooltip = (element) => {\r\n InitAdditionalInfoTooltip($(element));\r\n };\r\n }\r\n return extendedProps;\r\n }\r\n\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π£Π΄Π°Π»ΠΈΡ‚ΡŒ.\r\n *\r\n * @method WebAccess.components.CardTabMainTab#unbindEvents\r\n */\r\n unbindEvents() {\r\n WA.CR.window.unbind('beforeClose');\r\n $('html')\r\n .unbind(PAGE_EVENTS.ON_BEFORE_TAB_CHANGE)\r\n .get(0).isModifiedByUser = false;\r\n }\r\n\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅Ρ‚, Π±Ρ‹Π»Π° Π»ΠΈ информация ΠΈΠ·ΠΌΠ΅Π½Π΅Π½Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ.\r\n * @method WebAccess.components.CardTabMainTab#isModifiedByUser\r\n * @private\r\n * @returns {boolean} TRUE - Ссли информация ΠΌΠΎΠ΄ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ, ΠΈΠ½Π°Ρ‡Π΅ - FALSE.\r\n */\r\n isModifiedByUser() {\r\n let currentSerializedTabData = this._serializeCardForm() + this._serializeAttachments();\r\n return (this.serializedTabData !== currentSerializedTabData);\r\n }\r\n\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ скрипты Π—Π—Π£.\r\n * @method WebAccess.components.CardTabMainTab#_initCustomWork\r\n * @private\r\n * @param {object} mainTab ΠžΠ±ΡŠΠ΅ΠΊΡ‚ CardTabMainTab.\r\n */\r\n _initCustomWork(mainTab) {\r\n if (mainTab.contentJustReceivedFromServer) {\r\n while (mainTab.scriptsEvalAfterRender.length) {\r\n const fn = mainTab.scriptsEvalAfterRender.shift();\r\n Function(fn).call();\r\n }\r\n\r\n mainTab.contentJustReceivedFromServer = false;\r\n for (const fn of mainTab.scriptsAlwaysEvalAfterRender) {\r\n fn();\r\n }\r\n }\r\n }\r\n\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π‘Π΅Ρ€ΠΈΠ°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅ ΠΏΠΎΠ»Π΅ΠΉ Ρ„ΠΎΡ€ΠΌΡ‹.\r\n * @method WebAccess.components.CardTabMainTab#_serializeCardForm\r\n * @private\r\n * @param {string} [opt_container] Π‘Ρ‚Ρ€ΠΎΠΊΠ° с html Π»ΠΈΠ±ΠΎ сСлСктором, Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π±ΡƒΠ΄ΡƒΡ‚ сСриализованы.\r\n * @returns {string} Π‘Π΅Ρ€ΠΈΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ поля Ρ„ΠΎΡ€ΠΌΡ‹ ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠΈ.\r\n */\r\n _serializeCardForm(opt_container) {\r\n let jMain = $(opt_container || '.conversation-container');\r\n let jMainFormValues = jMain.find('input[type=text],input[type=checkbox],input[type=radio],select,textarea');\r\n let jHiddenFormValues = jMain.find('input[id^=hSelID_]').filter((i, elem) => { // TODO: ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°Ρ„ΠΈΠ³ этот Ρ„ΠΈΠ»ΡŒΡ‚Ρ€? ΠΈ Ρ‚Π°ΠΊ Π½ΠΎΡ€ΠΌ поля ΡΠΎΠ±ΠΈΡ€Π°ΡŽΡ‚ΡΡ\r\n let dispInp = jMain.find('#' + $(elem).attr('name'));\r\n return !!dispInp.length;\r\n });\r\n return jMainFormValues.serialize() + '&' + jHiddenFormValues.serialize();\r\n }\r\n\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π‘Π΅Ρ€ΠΈΠ°Π»ΠΈΠ·ΡƒΠ΅Ρ‚ Π΄Π°Π½Π½Ρ‹Π΅ Π²Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ.\r\n * @method WebAccess.components.CardTabMainTab#_serializeAttachments\r\n * @private\r\n * @param {string} [opt_container] Π‘Ρ‚Ρ€ΠΎΠΊΠ° с html Π»ΠΈΠ±ΠΎ сСлСктором, Π΄Π°Π½Π½Ρ‹Π΅ ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π±ΡƒΠ΄ΡƒΡ‚ сСриализованы.\r\n * @returns {string} БСриализованная ΠΎΠ±Π»Π°ΡΡ‚ΡŒ Π²Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠΈ.\r\n */\r\n _serializeAttachments(opt_container) {\r\n let jAttachments = $(opt_container || '.attachments_list');\r\n if (!jAttachments.find('#pnlEmpty').length) {\r\n let attachmentsData = [];\r\n jAttachments.find('[data-name=\"ObjectListItem\"]').each((i, el) => {\r\n let jAttachment = $(el);\r\n let kind = jAttachment.attr('kind');\r\n let attachmentInfo = kind + '_' + jAttachment.attr('id');\r\n if (kind === 'Ref') {\r\n attachmentInfo += '_' + jAttachment.attr('compcode');\r\n }\r\n attachmentsData.push(attachmentInfo);\r\n });\r\n return '&attachments=' + attachmentsData.join(';');\r\n }\r\n return '';\r\n }\r\n\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π’Ρ‹Ρ‚Π°Ρ‰ΠΈΡ‚ΡŒ скрипты ΠΈΠ· html.\r\n * @method WebAccess.components.CardTabMainTab#_extractScriptsFromHtml\r\n * @private\r\n * @param {string} sourceHtml Π˜ΡΡ…ΠΎΠ΄Π½Π°Ρ строка с html.\r\n * @returns {string} Π‘Ρ‚Ρ€ΠΎΠΊΠ° с Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ html с Π²Ρ‹Ρ€Π΅Π·Π°Π½Π½Ρ‹ΠΌΠΈ Ρ‚Π΅Π³Π°ΠΌΠΈ \r\n \r\n \r\n
    \r\n
    \r\n \"\"\r\n \"\"\r\n  ${spinnerText}... \r\n
    \r\n
    \r\n \r\n `;\r\n\r\n tmpWindow.document.write(customHTML);\r\n\r\n pages.forEach((page) => {\r\n const jCanvas = $('canvas', page).get();\r\n jCanvas.forEach(() => {\r\n let downloadingImage = new Image();\r\n downloadingImage.onload = function () {\r\n const me = this;\r\n\r\n me.style = 'height: 100%; width: 100%; object-fit: contain; overflow: hidden;';\r\n allPages[me.id] = `
    ${me.outerHTML}
    `;\r\n pagesLoaded++;\r\n\r\n if (pagesLoaded === pages.length) {\r\n allPages.forEach((printPage) => {\r\n customBody += printPage;\r\n });\r\n\r\n tmpWindow.document.body.insertAdjacentHTML('beforeEnd', customBody);\r\n tmpWindow.document.close();\r\n\r\n }\r\n }\r\n downloadingImage.src = `${Core.preview.actions._data.previewHandlerUrl}/${Core.preview.actions._data.convertedObj.id}/${pageNum}`;\r\n downloadingImage.id = pageNum;\r\n pageNum++;\r\n });\r\n });\r\n }\r\n }\r\n\r\n global.ImageActions = ImageActions;\r\n})(window.Core.preview);","'use strict';\r\n\r\n(function(global) {\r\n\r\n /**\r\n * ДСйствия Π½Π°Π΄ Ρ‚Π°Π±Π»ΠΈΡ‡Π½Ρ‹ΠΌ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠΌ.\r\n *\r\n * @since 5.7.0\r\n */\r\n class SpreadsheetActions extends global.BaseActions {\r\n\r\n constructor(data) {\r\n super();\r\n this._settings = {};\r\n this._initAttributes(data);\r\n }\r\n }\r\n\r\n global.SpreadsheetActions = SpreadsheetActions;\r\n\r\n})(window.Core.preview);","'use strict';\r\n\r\n(function (global) {\r\n\r\n // 352px - ΡˆΠΈΡ€ΠΈΠ½Π° области ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π²\r\n const commentAreaWidth = 352;\r\n\r\n /**\r\n * ДСйствия Π½Π°Π΄ тСкстовым Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠΌ.\r\n * (ΠœΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅)\r\n */\r\n class TextActions extends global.BaseActions {\r\n\r\n constructor(context) {\r\n super();\r\n this._settings = new global.TextDocumentPreviewSettings();\r\n this._initAttributes(context);\r\n }\r\n\r\n /**\r\n * @see Core.preview.BaseActions._initAttributes\r\n */\r\n _initAttributes(context) {\r\n super._initAttributes(context);\r\n this._body = this._jFrameContents.find('body'); \r\n\r\n let contentGenerator = this._body.find('meta[name = Generator]').attr('content');\r\n if ((!!contentGenerator) && (contentGenerator.startsWith('Microsoft Word'))) {\r\n this._body[0].classList = [];\r\n this._body.addClass('plaintext-document');\r\n }\r\n }\r\n\r\n /**\r\n * ΠœΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π°.\r\n *\r\n * @method _zoom\r\n * @param {number} zoomValue ΠšΠΎΡΡ„ΠΈΡ†ΠΈΠ΅Π½Ρ‚ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ.\r\n * @private\r\n */\r\n _zoom(zoomValue) {\r\n const jScaledContent = this._body.find('.text-document-container__scaled-content');\r\n jScaledContent.css({\r\n transform: `scale(${zoomValue})`,\r\n });\r\n\r\n requestAnimationFrame(() => {\r\n const marginTop = Math.floor(jScaledContent.outerHeight() * (zoomValue - 1));\r\n jScaledContent.css({\r\n marginTop: `${marginTop}px`,\r\n });\r\n });\r\n\r\n this._zoomValue = zoomValue;\r\n this.movePreview();\r\n }\r\n\r\n /**\r\n * @see BaseActions.onResize\r\n */\r\n onResize() {\r\n this.setScale();\r\n }\r\n\r\n /**\r\n * @see BaseActions.movePreview\r\n */\r\n movePreview() {\r\n const sourceWidth = this._body.find('.text-document-container').prop('clientWidth');\r\n const jContentContainer = this._body.find('.text-document-container__scaled-content');\r\n let maxPageWidth = 0;\r\n\r\n const jWordDocumentPages = this._body.find('.word-document-page__main-content');\r\n if (jWordDocumentPages.length) {\r\n jWordDocumentPages.each((index, domElement) => {\r\n try {\r\n const commentsWidth = this._settings.commentsVisibility ? commentAreaWidth : 0;\r\n const jCurrentPage = $(domElement);\r\n const currentPageWidth = commentsWidth + jCurrentPage.outerWidth();\r\n if (currentPageWidth > maxPageWidth) {\r\n maxPageWidth = currentPageWidth;\r\n }\r\n } catch (err) {\r\n console.warn(err);\r\n } \r\n });\r\n } else {\r\n // Π‘Π΄Π΅Π»Π°Π½ΠΎ для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ тСкстовыС Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹ ΠΏΡ€ΠΈ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠΈ ΠΌΠ°ΡΡˆΡ‚Π°Π±Π° Π½Π΅ ΡƒΠ²Π΅Π»ΠΈΡ‡ΠΈΠ²Π°Π»ΠΈΡΡŒ Π² ΡˆΠΈΡ€ΠΈΠ½Ρƒ.\r\n jContentContainer.css({\r\n left: 0,\r\n });\r\n maxPageWidth = jContentContainer.children().outerWidth();\r\n }\r\n\r\n const left = (sourceWidth - maxPageWidth * this._zoomValue) / 2;\r\n if (left > 0) {\r\n jContentContainer.css({\r\n left: left,\r\n });\r\n } else {\r\n jContentContainer.css({\r\n left: 0,\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΌΠ°ΡΡˆΡ‚Π°Π±.\r\n * Π’ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Π΅ значСния:\r\n * - число;\r\n * - 'w' - ΠΏΠΎΠ΄Π±ΠΎΡ€ ΠΏΠΎ ΡˆΠΈΡ€ΠΈΠ½Π΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΡ‹Ρ… страниц.\r\n * @see Core.preview.BaseActions.setScale\r\n */\r\n setScale(key = this._settings.previewScale) {\r\n super.setScale(key);\r\n this._setScaleValueInDropdown(key);\r\n\r\n requestAnimationFrame(() => {\r\n if (key === 'w') {\r\n // ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ, насколько ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‡Π΅Π½ viewport\r\n const viewportTop = this._body.find('.text-document-container').scrollTop();\r\n const viewportBottom = viewportTop + this._jFrame.height();\r\n\r\n // ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ список Π²ΠΈΠ΄ΠΈΠΌΡ‹Ρ… страниц\r\n requestAnimationFrame(() => {\r\n let documentWidth = 0;\r\n const viewportWidth = this._jFrame.innerWidth();\r\n this._body.find('.text-document-container__scaled-content').children().each((index, element) => {\r\n const jDocumentPage = $(element);\r\n\r\n const jPageTop = jDocumentPage.position().top;\r\n const jPageBottom = jPageTop + jDocumentPage.height();\r\n\r\n if (jPageBottom > viewportTop && jPageTop < viewportBottom) {\r\n // ΠŸΡ€ΠΎΡΡƒΠΌΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΡˆΠΈΡ€ΠΈΠ½Ρ‹ Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΡ… элСмСнтов\r\n let pageWidth = 32;\r\n\r\n const jWordDocumentPages = jDocumentPage.children('.word-document-page__main-content');\r\n if (jWordDocumentPages.length) {\r\n if (this.settings.commentsVisibility) {\r\n pageWidth += commentAreaWidth;\r\n }\r\n pageWidth += jWordDocumentPages.outerWidth();\r\n if (pageWidth > documentWidth) {\r\n documentWidth = pageWidth;\r\n }\r\n\r\n } else {\r\n pageWidth += jDocumentPage.outerWidth();\r\n // 16px -- Ρ€Π΅Π·Π΅Ρ€Π² для Π²Π΅Ρ€Ρ‚ΠΈΠΊΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ скроллбара\r\n documentWidth = Math.max(pageWidth, viewportWidth + 16);\r\n }\r\n }\r\n });\r\n\r\n // ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΡˆΠΈΡ€ΠΈΠ½Ρƒ viewport'Π°\r\n const zoomValue = Math.floor(viewportWidth / documentWidth * 100) / 100;\r\n this._zoom(zoomValue);\r\n });\r\n\r\n } else {\r\n // ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΌΠ°ΡΡˆΡ‚Π°Π±\r\n const zoomValue = +key / 100;\r\n requestAnimationFrame(() => {\r\n this._zoom(zoomValue);\r\n });\r\n }\r\n });\r\n }\r\n }\r\n\r\n global.TextActions = TextActions;\r\n\r\n})(window.Core.preview);","'use strict';\r\n\r\n(function (global) {\r\n\r\n // Π‘Π΅Π»Π΅ΠΊΡ‚ΠΎΡ€Ρ‹ для ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².\r\n const wordDocumentSelector = {\r\n commentArea: '.word-document-page__comments',\r\n deletedText: 'del',\r\n insertedText: 'ins',\r\n };\r\n\r\n // ДоступныС способы ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ области прСдпросмотра\r\n const PREVIEW_SCALE = {\r\n FIT_WIDTH: 'w',\r\n };\r\n\r\n /**\r\n * ДСйствия Π½Π°Π΄ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠΌ MS Word.\r\n * (ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π² ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ)\r\n */\r\n class WordDocumentActions extends global.TextActions {\r\n\r\n constructor(context) {\r\n super(context);\r\n }\r\n\r\n /**\r\n * Π’ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.\r\n *\r\n * @function Core.preview.actions.enableTrackChanges\r\n */\r\n enableTrackChanges() {\r\n this._jFrameContents.find(wordDocumentSelector.insertedText).addClass('ins_highlighted');\r\n this._jFrameContents.find(wordDocumentSelector.deletedText).show();\r\n\r\n Core.preview.actions.settings.trackChangesVisibility = true;\r\n }\r\n\r\n /**\r\n * ΠžΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.\r\n *\r\n * @function Core.preview.actions.disableTrackChanges\r\n */\r\n disableTrackChanges() {\r\n this._jFrameContents.find(wordDocumentSelector.insertedText).removeClass('ins_highlighted');\r\n this._jFrameContents.find(wordDocumentSelector.deletedText).hide();\r\n\r\n Core.preview.actions.settings.trackChangesVisibility = false;\r\n }\r\n\r\n /**\r\n * Π’ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π².\r\n *\r\n * @function Core.preview.actions.enableComments\r\n * @param {boolean} [shouldMovePreview = true] ΠΠ΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ пСрСрасчСта ΠΈ пСрСмСщСния Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° Π² Ρ†Π΅Π½Ρ‚Ρ€.\r\n */\r\n enableComments(shouldMovePreview = true) {\r\n // НайдСм всС области ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π² ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΠΌ ΠΈΡ…\r\n this._jFrameContents.find(wordDocumentSelector.commentArea).show();\r\n Core.preview.actions.settings.commentsVisibility = true;\r\n\r\n if (shouldMovePreview) {\r\n this._moveOrScalePreview();\r\n }\r\n }\r\n\r\n /**\r\n * Π’Ρ‹ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π².\r\n *\r\n * @function Core.preview.actions.disableComments\r\n * @param {boolean} [shouldMovePreview = true] ΠΠ΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ пСрСрасчСта ΠΈ пСрСмСщСния Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° Π² Ρ†Π΅Π½Ρ‚Ρ€.\r\n */\r\n disableComments(shouldMovePreview = true) {\r\n // НайдСм всС области ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π² ΠΈ скроСм ΠΈΡ…\r\n this._jFrameContents.find(wordDocumentSelector.commentArea).hide();\r\n Core.preview.actions.settings.commentsVisibility = false;\r\n\r\n if (shouldMovePreview) {\r\n this._moveOrScalePreview();\r\n }\r\n }\r\n\r\n /**\r\n * Π‘Π΄Π²ΠΈΠ½ΡƒΡ‚ΡŒ ΠΈΠ»ΠΈ ΡΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ прСдпросмотра.\r\n *\r\n * @function Core.preview.actions._moveOrScalePreview\r\n * @private\r\n * @since 5.7.0\r\n */\r\n _moveOrScalePreview() {\r\n if (Core.preview.actions.settings.previewScale === PREVIEW_SCALE.FIT_WIDTH) {\r\n Core.preview.actions.setScale();\r\n } else {\r\n Core.preview.actions.movePreview();\r\n }\r\n }\r\n\r\n /**\r\n * @see BaseActions.printDocFromPreview\r\n */\r\n printDocFromPreview() { \r\n const iframe = window.frames.contentContainer;\r\n iframe.focus();\r\n if (iframe.document) {\r\n iframe.document.execCommand('print', false, null);\r\n } else {\r\n const tmpWindow = window.open('', 'PRINT', '');\r\n const contentDoc = $('#contentContainer').get(0).contentDocument;\r\n // Π‘Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ html для ΠΏΠ΅Ρ‡Π°Ρ‚ΠΈ\r\n const jBody = contentDoc.body;\r\n\r\n $('img', jBody).each((index, img) => {\r\n img.setAttribute('src', img.src);\r\n });\r\n\r\n // ΠΏΠΎΠ΄Π²ΠΈΠ½Π΅ΠΌ ΠΊ Π»Π΅Π²ΠΎΠΌΡƒ Π²Π΅Ρ€Ρ…Π½Π΅ΠΌΡƒ ΡƒΠ³Π»Ρƒ\r\n const customHTML = `\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ${jBody.innerHTML}\r\n \r\n `;\r\n tmpWindow.document.write(customHTML);\r\n tmpWindow.document.close();\r\n }\r\n }\r\n }\r\n\r\n global.WordDocumentActions = WordDocumentActions;\r\n\r\n})(window.Core.preview);","'use strict';\r\n\r\n(function (global) {\r\n\r\n /**\r\n * Π‘Π°Π·ΠΎΠ²Ρ‹ΠΉ класс настроСк прСдпросмотра.\r\n *\r\n * @since 5.7.0\r\n */\r\n class BaseDocumentPreviewSettings {\r\n\r\n /**\r\n * ΠœΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.\r\n *\r\n * @property defaultScale\r\n * @return {string} Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.\r\n * @static\r\n */\r\n static get defaultScale() {\r\n return '';\r\n }\r\n\r\n /**\r\n * Имя Π³Ρ€ΡƒΠΏΠΏΡ‹ Π½Π°Π±ΠΎΡ€Π° свойств.\r\n *\r\n * @property storageGroupName\r\n * @return {string} Имя Π³Ρ€ΡƒΠΏΠΏΡ‹ Π½Π°Π±ΠΎΡ€Π° свойств.\r\n */\r\n get storageGroupName() {\r\n if (!this._location) {\r\n this._location = WA.getLocation();\r\n // Если прСдпросмотр ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ Π² полноэкранном Ρ€Π΅ΠΆΠΈΠΌΠ΅, Ρ‚ΠΎ настройки Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ, ΠΊΠ°ΠΊ для ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ³ΠΎ\r\n if (this._location === 'documentpreview') {\r\n this._location = 'doc';\r\n }\r\n }\r\n return this._location;\r\n }\r\n\r\n /**\r\n * Π’ΠΈΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π².\r\n *\r\n * @property commentsVisibility\r\n * @returns {boolean} Π’ΠΈΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠ΅Π².\r\n */\r\n get commentsVisibility() {\r\n return false;\r\n }\r\n set commentsVisibility(isVisible) { }\r\n\r\n /**\r\n * Π’ΠΈΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.\r\n *\r\n * @property trackChangesVisibility\r\n * @returns {boolean} Π’ΠΈΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ.\r\n */\r\n get trackChangesVisibility() {\r\n return false;\r\n }\r\n set trackChangesVisibility(isVisible) { }\r\n\r\n /**\r\n * ΠœΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅.\r\n *\r\n * @property previewScale\r\n * @returns {string} ΠœΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅.\r\n */\r\n get previewScale() {\r\n return localStorage.getItem(this._previewScaleStorageName) || this.constructor.defaultScale;\r\n }\r\n set previewScale(scale) {\r\n if (scale) {\r\n localStorage.setItem(this._previewScaleStorageName, scale);\r\n }\r\n }\r\n\r\n }\r\n\r\n global.BaseDocumentPreviewSettings = BaseDocumentPreviewSettings;\r\n\r\n})(window.Core.preview);","'use strict';\r\n\r\n(function (global) {\r\n\r\n /**\r\n * Настройки прСдпросмотра для прСдпросмотра с ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ°ΠΌΠΈ.\r\n *\r\n * @since 5.7.0\r\n */\r\n class ImageDocumentPreviewSettings extends global.BaseDocumentPreviewSettings {\r\n\r\n constructor() {\r\n super();\r\n this._previewScaleStorageName = `preview-${this.storageGroupName}-previewScale`;\r\n }\r\n\r\n /**\r\n * @see BaseDocumentPreviewSettings.defaultScale\r\n */\r\n static get defaultScale() {\r\n return 'a';\r\n }\r\n\r\n }\r\n\r\n global.ImageDocumentPreviewSettings = ImageDocumentPreviewSettings;\r\n\r\n})(window.Core.preview);\r\n\r\n","'use strict';\r\n\r\n(function(global) {\r\n\r\n /**\r\n * Настройки прСдпросмотра для тСкстовых Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ².\r\n *\r\n * @since 5.7.0\r\n */\r\n class TextDocumentPreviewSettings extends global.BaseDocumentPreviewSettings {\r\n\r\n constructor() {\r\n super();\r\n this._enableTrackChangesStorageName = `text-preview-${this.storageGroupName}-enableTrackChanges`;\r\n this._previewScaleStorageName = `text-preview-${this.storageGroupName}-previewScale`;\r\n this._showCommentsStorageName = `text-preview-${this.storageGroupName}-showComments`;\r\n }\r\n\r\n /**\r\n * @see BaseDocumentPreviewSettings.defaultScale\r\n */\r\n static get defaultScale() {\r\n return '100';\r\n }\r\n\r\n /**\r\n * @see BaseDocumentPreviewSettings#commentsVisibility\r\n */\r\n get commentsVisibility() {\r\n return localStorage.getItem(this._showCommentsStorageName) === 'true';\r\n }\r\n set commentsVisibility(isVisible) {\r\n localStorage.setItem(this._showCommentsStorageName, isVisible.toString());\r\n }\r\n\r\n /**\r\n * @see BaseDocumentPreviewSettings#trackChangesVisibility\r\n */\r\n get trackChangesVisibility() {\r\n return localStorage.getItem(this._enableTrackChangesStorageName) === 'true';\r\n }\r\n set trackChangesVisibility(isVisible) {\r\n localStorage.setItem(this._enableTrackChangesStorageName, isVisible.toString());\r\n }\r\n\r\n }\r\n\r\n global.TextDocumentPreviewSettings = TextDocumentPreviewSettings;\r\n\r\n})(window.Core.preview);","'use strict';\r\n\r\n(function (global) {\r\n\r\n // Бпособы ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ области прСдпросмотра\r\n const PREVIEW_SCALE = {\r\n FIT_HEIGHT: 'h',\r\n FIT_WIDTH: 'w',\r\n FIT_WINDOW: 'a',\r\n };\r\n\r\n const PREVIEW_SCALE_LOCALIZATION = {\r\n FIT_HEIGHT: L('FIT_HEIGHT'),\r\n FIT_WIDTH: L('FIT_WIDTH'),\r\n FIT_WINDOW: L('FIT_WINDOW'),\r\n };\r\n\r\n // Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Ρ‹ для хранСния ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½Ρ‹Ρ… свойств с jQuery-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ Ρ‚ΡƒΠ»Π±Π°Ρ€Π°\r\n const toolbarPrivatePropertyKey = Symbol('toolbar');\r\n const toolbarDataPrivatePropertyKey = Symbol('toolbarData');\r\n const toolbarControlsPrivatePropertyKey = Symbol('toolbarControls');\r\n\r\n /**\r\n * Π’ΡƒΠ»Π±Π°Ρ€ прСдпросмотра.\r\n *\r\n * @hideconstructor\r\n * @since 5.7.0\r\n */\r\n class Toolbar {\r\n\r\n init(){\r\n this[toolbarPrivatePropertyKey] = $('#preview-panel');\r\n\r\n // МодСль Ρ‚ΡƒΠ»Π±Π°Ρ€Π° прСдпросмотра\r\n this[toolbarDataPrivatePropertyKey] = {\r\n paginationButtons: new Map([\r\n ['previousPage', {\r\n cssClass: '.preview-panel__control-arrow_left',\r\n action: () => window.Core.preview.actions.goToPreviousPage(),\r\n }],\r\n ['nextPage', {\r\n cssClass: '.preview-panel__control-arrow_right',\r\n action: () => window.Core.preview.actions.goToNextPage(),\r\n }],\r\n ]),\r\n commonButtons: new Map([\r\n ['printFromPreview', {\r\n cssClass: '.print-from-preview',\r\n action: () => window.Core.preview.actions.printDocFromPreview(),\r\n }],\r\n ['changeWindowMode', {\r\n cssClass: '.change-window-mode',\r\n action: () => window.Core.preview.actions.toggleFullscreen(),\r\n }],\r\n ]),\r\n fitToButtons: new Map([\r\n ['fitToHeight', {\r\n cssClass: '.fit-to-height',\r\n scale: PREVIEW_SCALE.FIT_HEIGHT,\r\n }],\r\n ['fitToWidth', {\r\n cssClass: '.fit-to-width',\r\n scale: PREVIEW_SCALE.FIT_WIDTH,\r\n }],\r\n ['fitToWindow', {\r\n cssClass: '.fit-to-window',\r\n scale: PREVIEW_SCALE.FIT_WINDOW,\r\n }],\r\n ]),\r\n rotateButtons: new Map([\r\n ['rotateCW', {\r\n cssClass: '.rotate-CW',\r\n action: () => window.Core.preview.actions.rotateCW(),\r\n }],\r\n ['rotateCCW', {\r\n cssClass: '.rotate-CCW',\r\n action: () => window.Core.preview.actions.rotateCCW(),\r\n }],\r\n ]),\r\n wordButtons: new Map([\r\n ['enableChangeTrack', {\r\n cssClass: '.enable-change-track',\r\n action: () => window.Core.preview.actions.enableTrackChanges(),\r\n reverseAction: () => window.Core.preview.actions.disableTrackChanges(),\r\n }],\r\n ['enableComments', {\r\n cssClass: '.enable-comments',\r\n action: () => window.Core.preview.actions.enableComments(),\r\n reverseAction: () => window.Core.preview.actions.disableComments(),\r\n }],\r\n ]),\r\n };\r\n\r\n this[toolbarControlsPrivatePropertyKey] = this._prepareControls();\r\n\r\n this._initButtons();\r\n this.initScaleInputValues();\r\n }\r\n\r\n /**\r\n * Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΌΠ°ΡΡˆΡ‚Π°Π±Π° для Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°.\r\n *\r\n * @method initScaleInputValues\r\n * @inner\r\n */\r\n initScaleInputValues() {\r\n // Π‘ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ значСния ΠΌΠ°ΡΡˆΡ‚Π°Π±Π° для Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ²\r\n const jScaleInput = $('#scaleinp');\r\n const scaleRequisiteInstance = jScaleInput.data('DropDownListInstance');\r\n if (!!scaleRequisiteInstance) {\r\n let scaleDropDownItems = scaleRequisiteInstance['clearDropDownListItems'];\r\n if (!!scaleDropDownItems) {\r\n scaleDropDownItems.apply(scaleRequisiteInstance);\r\n }\r\n }\r\n\r\n // Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ значСния\r\n let values;\r\n if (Core.preview.document.dataType.isText) {\r\n values = [\r\n [\r\n PREVIEW_SCALE.FIT_WIDTH,\r\n PREVIEW_SCALE_LOCALIZATION.FIT_WIDTH,\r\n PREVIEW_SCALE_LOCALIZATION.FIT_WIDTH,\r\n false,\r\n ],\r\n ];\r\n } else {\r\n values = [\r\n [\r\n PREVIEW_SCALE.FIT_WIDTH,\r\n PREVIEW_SCALE_LOCALIZATION.FIT_WIDTH,\r\n PREVIEW_SCALE_LOCALIZATION.FIT_WIDTH,\r\n false,\r\n ],\r\n [\r\n PREVIEW_SCALE.FIT_HEIGHT,\r\n PREVIEW_SCALE_LOCALIZATION.FIT_HEIGHT,\r\n PREVIEW_SCALE_LOCALIZATION.FIT_HEIGHT,\r\n false,\r\n ],\r\n [\r\n PREVIEW_SCALE.FIT_WINDOW,\r\n PREVIEW_SCALE_LOCALIZATION.FIT_WINDOW,\r\n PREVIEW_SCALE_LOCALIZATION.FIT_WINDOW,\r\n false,\r\n ],\r\n ];\r\n }\r\n for (let scale = 20; scale <= 200; scale += 20) {\r\n values.push(\r\n [scale.toString(), `${scale}%`, `${scale}%`, false ],\r\n );\r\n }\r\n values.forEach(value => {\r\n if (!!scaleRequisiteInstance) {\r\n let scaleDropDownItems = scaleRequisiteInstance['addDropDownListItem'];\r\n if (!!scaleDropDownItems) {\r\n scaleDropDownItems.apply(scaleRequisiteInstance, [value,]);\r\n }\r\n } \r\n });\r\n }\r\n\r\n /**\r\n * ΠŸΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΈΠ»ΠΈ скрываСт ΠΏΠ°Π΄ΠΆΠΈΠ½Π°Ρ†ΠΈΡŽ; заполняСт количСство страниц Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°.\r\n *\r\n * @param {number} pageCount\r\n */\r\n updatePaginator(pageCount) {\r\n const { pagination } = this.controls;\r\n if (pageCount <= 1) {\r\n pagination.hide();\r\n } else {\r\n pagination.updatePageCount(pageCount);\r\n pagination.show();\r\n }\r\n }\r\n\r\n /**\r\n * TΡƒΠ»Π±Π°Ρ€ прСдпросмотра.\r\n *\r\n * @private\r\n * @property _jToolbar\r\n * @return {Object} jQuery-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΡƒΠ»Π±Π°Ρ€Π° прСдпросмотра.\r\n */\r\n get _jToolbar() {\r\n return this[toolbarPrivatePropertyKey];\r\n }\r\n\r\n /**\r\n * МодСль Ρ‚ΡƒΠ»Π±Π°Ρ€Π° прСдпросмотра.\r\n *\r\n * @private\r\n * @property _data\r\n * @return {Object} модТСль Ρ‚ΡƒΠ»Π±Π°Ρ€Π° прСдпросмотра.\r\n */\r\n get _data() {\r\n return this[toolbarDataPrivatePropertyKey];\r\n }\r\n\r\n /**\r\n * ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ»Ρ‹ прСдпросмотра.\r\n *\r\n * @property controls\r\n * @return {Object} Бписок ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΎΠ² Ρ‚ΡƒΠ»Π±Π°Ρ€Π° прСдпросмотра.\r\n */\r\n get controls() {\r\n return this[toolbarControlsPrivatePropertyKey];\r\n }\r\n\r\n /**\r\n * Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ список ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΎΠ² Ρ‚ΡƒΠ»Π±Π°Ρ€Π° прСдпросмотра\r\n *\r\n * @method _initControls\r\n * @private\r\n * @return {Object} список ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΎΠ² Ρ‚ΡƒΠ»Π±Π°Ρ€Π° прСдпросмотра.\r\n */\r\n _prepareControls() {\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ сСлСкторы ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π° ΠΈΠ· ΠΌΠΎΠ΄Π΅Π»ΠΈ Ρ‚ΡƒΠ»Π±Π°Ρ€Π°\r\n *\r\n * @function getButtonSelectorHelper\r\n * @inner\r\n * @property {object} buttonGroupData МодСль Π΄Π°Π½Π½Ρ‹Ρ… Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΊΠ½ΠΎΠΏΠΎΠΊ Ρ‚ΡƒΠ»Π±Π°Ρ€Π°\r\n */\r\n const getControlSelectorHelper = (buttonGroupData) => {\r\n return Array.from(buttonGroupData, (\r\n [, buttonData]) => buttonData.cssClass\r\n );\r\n };\r\n\r\n // Бписок сСлСкторов ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΎΠ² Ρ‚ΡƒΠ»Π±Π°Ρ€Π°\r\n let controlSelectors = {\r\n scale: ['#scale'],\r\n fitToButtons: getControlSelectorHelper(this._data.fitToButtons),\r\n rotateButtons: getControlSelectorHelper(this._data.rotateButtons),\r\n wordButtons: getControlSelectorHelper(this._data.wordButtons),\r\n };\r\n\r\n let controls = {};\r\n Object.keys(controlSelectors).map((controlName) => {\r\n controls[controlName] = new window.Core.preview.toolbar.ToolbarControl(controlSelectors[controlName]);\r\n });\r\n // ΠšΠΎΠ½Ρ‚Ρ€ΠΎΠ» ΠΏΠ°Π³ΠΈΠ½Π°Ρ†ΠΈΠΈ создаётся ΠΈΠ· ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ класса, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ Ρƒ Π½Π΅Π³ΠΎ Π΅ΡΡ‚ΡŒ свой ΠΌΠ΅Ρ‚ΠΎΠ΄ updatePageCount\r\n controls.pagination = new window.Core.preview.toolbar.PaginationToolbarControl(['#paginator']);\r\n\r\n return controls;\r\n }\r\n\r\n /**\r\n * Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΠΈ Ρ‚ΡƒΠ»Π±Π°Ρ€Π° прСдпросмотра\r\n *\r\n * @method _initButtons\r\n * @private\r\n */\r\n _initButtons() {\r\n this.buttons = {};\r\n\r\n this._bindContextMenuButton();\r\n this._bindPaginationControl();\r\n for (let [buttonName, buttonData] of this._data.fitToButtons ) {\r\n this.buttons[buttonName] = new window.Core.preview.toolbar.FitToToolbarButton(\r\n buttonData.cssClass,\r\n buttonData.scale\r\n );\r\n }\r\n for (let [buttonName, buttonData] of this._data.rotateButtons ) {\r\n this.buttons[buttonName] = new window.Core.preview.toolbar.BaseToolbarButton(\r\n buttonData.cssClass,\r\n buttonData.action\r\n );\r\n }\r\n for (let [buttonName, buttonData] of this._data.wordButtons ) {\r\n this.buttons[buttonName] = new window.Core.preview.toolbar.SelectableToolbarButton(\r\n buttonData.cssClass,\r\n buttonData.action,\r\n buttonData.reverseAction\r\n );\r\n }\r\n for (let [buttonName, buttonData] of this._data.commonButtons ) {\r\n this.buttons[buttonName] = new window.Core.preview.toolbar.BaseToolbarButton(\r\n buttonData.cssClass,\r\n buttonData.action\r\n );\r\n }\r\n }\r\n\r\n /**\r\n * ΠŸΡ€ΠΈΠ²ΡΠ·Π°Ρ‚ΡŒ (bind) Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π²Ρ‹Π·ΠΎΠ²Π° контСктсного мСню ΠΊ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΠ²ΡƒΡŽΡ‰Π΅ΠΉ Ρ„ΡƒΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.\r\n * Π­Ρ‚Π° ΠΊΠ½ΠΎΠΏΠΊΠ° доступна Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π² полноэкранном Ρ€Π΅ΠΆΠΈΠΌΠ΅.\r\n *\r\n * @method _bindContextMenuButton\r\n * @private\r\n */\r\n _bindContextMenuButton() {\r\n const jContextMenuButton = this._jToolbar.find('.document-context-menu');\r\n if (!jContextMenuButton.length) {\r\n return;\r\n }\r\n\r\n jContextMenuButton\r\n .attr('id', WA.CR.ID)\r\n .attr('kind', 'edoc')\r\n .addClass('cannot_delete');\r\n\r\n jContextMenuButton.on('click', () => {\r\n // ДобавляСм Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ для Ρ€Π°Π±ΠΎΡ‚Ρ‹ contextmenu\r\n const jButtonsPanel = jContextMenuButton.closest('.preview-panel');\r\n const contextmenuOffset = {\r\n left: jContextMenuButton.offset().left,\r\n top: jButtonsPanel.offset().top + jButtonsPanel.outerHeight(),\r\n };\r\n\r\n window.Core.contextmenu.show(jContextMenuButton, {}, contextmenuOffset, false);\r\n return false;\r\n });\r\n }\r\n\r\n /**\r\n * ΠŸΡ€ΠΈΠ²ΡΠ·Π°Ρ‚ΡŒ (bind) дСйствия Π½Π°Π΄ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΎΠΌ ΠΏΠ°Π³ΠΈΠ½Π°Ρ†ΠΈΠΈ ΠΊ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΠ²ΡƒΡŽΡ‰Π΅ΠΉ Ρ„ΡƒΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.\r\n *\r\n * @method _bindPaginationControl\r\n * @private\r\n */\r\n _bindPaginationControl() {\r\n /**\r\n * ΠžΠ±Ρ‘Ρ€Ρ‚ΠΊΠ° Π½Π°Π΄ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π° Π½Π° Π½ΠΎΠ²ΡƒΡŽ страницу Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°.\r\n *\r\n * @function setJumpToPageWrapper\r\n * @inner\r\n * @param {object} domButton DOM-элСмСнт ΠΊΠ½ΠΎΠΏΠΊΠΈ Ρ‚ΡƒΠ»Π±Π°Ρ€Π° прСдпросмотра.\r\n */\r\n const setJumpToPageWrapper = (domButton) => {\r\n const jButton = $(domButton);\r\n const newPageNumber = Number(jButton.val());\r\n window.Core.preview.actions.jumpToPage(newPageNumber);\r\n };\r\n\r\n // ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° событий поля Π²Π²ΠΎΠ΄Π° страницы Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°\r\n const jPageNumberField = this._jToolbar.find('.page-number-field');\r\n jPageNumberField.on('keypress', event => {\r\n if (event.which === 13) {\r\n setJumpToPageWrapper(event.target);\r\n event.preventDefault();\r\n }\r\n\r\n if (String.fromCharCode(event.which).match(/[^0-9]/g)) {\r\n event.preventDefault();\r\n }\r\n }).on('blur', event => {\r\n setJumpToPageWrapper(event.target);\r\n });\r\n\r\n for (let [buttonName, buttonData] of this._data.paginationButtons ) {\r\n this.buttons[buttonName] = new window.Core.preview.toolbar.BaseToolbarButton(\r\n buttonData.cssClass,\r\n buttonData.action\r\n );\r\n }\r\n }\r\n }\r\n\r\n global.toolbar = new Toolbar();\r\n\r\n})(window.Core.preview);","'use strict';\r\n\r\n(function (global) {\r\n\r\n // Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ для хранСния ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½ΠΎΠ³ΠΎ свойства с сСлСктором ΠΊΠ½ΠΎΠΏΠΊΠΈ Ρ‚ΡƒΠ»Π±Π°Ρ€Π°\r\n const toolbarButtonSelectorPrivatePropertyKey = Symbol('selector');\r\n\r\n // Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ для хранСния ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½ΠΎΠ³ΠΎ свойства с дСйствиСм ΠΊΠ½ΠΎΠΏΠΊΠΈ Ρ‚ΡƒΠ»Π±Π°Ρ€Π°\r\n const toolbarButtonActionPrivatePropertyKey = Symbol('action');\r\n\r\n /**\r\n * Кнопка Ρ‚ΡƒΠ»Π±Π°Ρ€Π° прСдпросмотра.\r\n *\r\n * @namespace window.Core.preview.toolbar\r\n * @since 5.7.0\r\n */\r\n class BaseToolbarButton {\r\n\r\n constructor(selector, action) {\r\n this[toolbarButtonSelectorPrivatePropertyKey] = $(`#preview-panel ${selector}`);\r\n this[toolbarButtonActionPrivatePropertyKey] = action;\r\n this._bindAction();\r\n }\r\n\r\n /**\r\n * Кнопка Ρ‚ΡƒΠ»Π±Π°Ρ€Π° прСдпросмотра.\r\n *\r\n * @private\r\n * @property _jButton\r\n * @return {Object} jQuery-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΊΠ½ΠΎΠΏΠΊΠΈ Ρ‚ΡƒΠ»Π±Π°Ρ€Π° прСдпросмотра.\r\n */\r\n get _jButton() {\r\n return this[toolbarButtonSelectorPrivatePropertyKey];\r\n }\r\n\r\n /**\r\n * ДСйствиС ΠΊΠ½ΠΎΠΏΠΊΠΈ прСдпросмотра.\r\n *\r\n * @private\r\n * @property _action\r\n * @return {function} ДСйствиС прСдпросмотра ΠΈΠ· пространства ΠΈΠΌΡ‘Π½ window.Core.preview.actions.\r\n */\r\n get _action() {\r\n return this[toolbarButtonActionPrivatePropertyKey];\r\n }\r\n\r\n /**\r\n * ЯвляСтся Π»ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠ° кликабСльной\r\n *\r\n * @property isActive\r\n * @return {boolean} TRUE - Ссли ΠΊΠ½ΠΎΠΏΠΊΠ° кликабСльна (Π½Π΅ disabled), ΠΈΠ½Π°Ρ‡Π΅ - FALSE.\r\n */\r\n get isActive() {\r\n return !this._jButton.hasClass('btn-disabled');\r\n }\r\n\r\n /**\r\n * ΠŸΡ€ΠΈΠ²ΡΠ·Π°Ρ‚ΡŒ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ ΠΊ ΡΠΎΠ±Ρ‹Ρ‚ΠΈΡŽ наТатия Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ.\r\n *\r\n * @method _bindAction\r\n * @private\r\n */\r\n _bindAction() {\r\n this._jButton.off('click').on('click', () => {\r\n if (this.isActive) {\r\n if (typeof this._action === 'function') {\r\n this._performAction();\r\n } else {\r\n console.error(`${this._action} is ${typeof this._action}. Should be function instead`);\r\n }\r\n }\r\n return false;\r\n });\r\n }\r\n\r\n /**\r\n * Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ дСйствиС ΠΊΠ½ΠΎΠΏΠΊΠΈ.\r\n *\r\n * @method _performAction\r\n * @private\r\n */\r\n _performAction() {\r\n this._action();\r\n }\r\n }\r\n\r\n global.BaseToolbarButton = BaseToolbarButton;\r\n\r\n})(window.Core.preview.toolbar);\r\n","'use strict';\r\n\r\n(function (global) {\r\n\r\n // Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ для хранСния ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½ΠΎΠ³ΠΎ свойства с jQuery-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ Ρ‚ΡƒΠ»Π±Π°Ρ€Π°\r\n const toolbarButtonReverseActionPrivatePropertyKey = Symbol('action');\r\n \r\n /**\r\n * ΠŸΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΠ°Ρ ΠΊΠ½ΠΎΠΏΠΊΠ° Ρ‚ΡƒΠ»Π±Π°Ρ€Π° прСдпросмотра (с состояниСм наТатости).\r\n *\r\n * @namespace window.Core.preview.toolbar\r\n * @since 5.7.0\r\n */\r\n class SelectableToolbarButton extends global.BaseToolbarButton {\r\n\r\n constructor(buttonSelector, mainAction, reverseAction) {\r\n super(buttonSelector, mainAction);\r\n this[toolbarButtonReverseActionPrivatePropertyKey] = reverseAction;\r\n }\r\n\r\n /**\r\n * ДСйствиС ΠΊΠ½ΠΎΠΏΠΊΠΈ прСдпросмотра ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠ΅.\r\n *\r\n * @private\r\n * @property _reverseAction\r\n * @return {function} Ѐункция прСдпросмотра ΠΈΠ· пространства ΠΈΠΌΡ‘Π½ window.Core.preview.actions.\r\n */\r\n get _reverseAction() {\r\n return this[toolbarButtonReverseActionPrivatePropertyKey];\r\n }\r\n\r\n /**\r\n * ЯвляСтся Π»ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠ° Π½Π°ΠΆΠ°Ρ‚ΠΎΠΉ\r\n *\r\n * @property isTurnedOn\r\n * @return {boolean} TRUE - Ссли ΠΊΠ½ΠΎΠΏΠΊΠ° Π½Π°ΠΆΠ°Ρ‚Π°, ΠΈΠ½Π°Ρ‡Π΅ - FALSE.\r\n */\r\n get isTurnedOn() {\r\n return this._jButton.hasClass('selected');\r\n }\r\n\r\n /**\r\n * @see BaseToolbarButton._performAction\r\n */\r\n _performAction() {\r\n const isTurnedOn = this.isTurnedOn;\r\n if (isTurnedOn) {\r\n this.turnOff();\r\n } else {\r\n this.turnOn();\r\n }\r\n\r\n const shouldCallDefaultAction = !isTurnedOn;\r\n this._toggleAction(shouldCallDefaultAction);\r\n }\r\n\r\n /**\r\n * Π’Ρ‹Π·Π²Π°Ρ‚ΡŒ дСйствиС Π² зависимости ΠΎΡ‚ наТатости ΠΊΠ½ΠΎΠΏΠΊΠΈ\r\n *\r\n * @method _toggleAction\r\n * @param {boolean} shouldCallDefaultAction TRUE - Ссли Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒ основноС дСйствиС, FALSE - Ссли Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ΅.\r\n */\r\n _toggleAction(shouldCallDefaultAction) {\r\n if (shouldCallDefaultAction) {\r\n this._action();\r\n } else if (this._reverseAction) {\r\n this._reverseAction();\r\n }\r\n }\r\n\r\n /**\r\n * Π‘Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΡƒ Π½Π°ΠΆΠ°Ρ‚ΠΎΠΉ (Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ класса)\r\n *\r\n * @method turnOn\r\n */\r\n turnOn() {\r\n this._jButton.addClass('selected');\r\n }\r\n\r\n /**\r\n * Π‘Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΡƒ ΠΎΡ‚ΠΆΠ°Ρ‚ΠΎΠΉ (ΡƒΠ±ΠΈΡ€Π°Π½ΠΈΠ΅ΠΌ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π³ΠΎ класса)\r\n *\r\n * @method turnOff\r\n */\r\n turnOff() {\r\n this._jButton.removeClass('selected');\r\n }\r\n\r\n /**\r\n * Π’Ρ‹Π·Π²Π°Ρ‚ΡŒ состояниС наТатости ΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π΅Π΅ дСйствия\r\n *\r\n * @method setSelectedStateAndPerformAction\r\n * @param {boolean} shouldBeTurnedOn TRUE - Ссли ΠΊΠ½ΠΎΠΏΠΊΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ Π½Π°ΠΆΠ°Ρ‚Π°, ΠΈΠ½Π°Ρ‡Π΅ - FALSE.\r\n */\r\n setSelectedStateAndPerformAction(shouldBeTurnedOn) {\r\n if (shouldBeTurnedOn) {\r\n this.turnOn();\r\n } else {\r\n this.turnOff();\r\n }\r\n this._toggleAction(shouldBeTurnedOn);\r\n }\r\n }\r\n\r\n global.SelectableToolbarButton = SelectableToolbarButton;\r\n\r\n})(window.Core.preview.toolbar);","'use strict';\r\n\r\n(function (global) {\r\n\r\n // ΠœΠ°ΡΡˆΡ‚Π°Π± ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π² ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚Π°Ρ…\r\n const DEFAULT_SCALE = '100';\r\n\r\n // Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ для хранСния ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½ΠΎΠ³ΠΎ свойства с ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΎΠΌ, устанавливаСмым ΠΊΠ½ΠΎΠΏΠΊΠΎΠΉ Ρ‚ΡƒΠ»Π±Π°Ρ€Π°\r\n const toolbarButtonScalePrivatePropertyKey = Symbol('scale');\r\n\r\n /**\r\n * Кнопка Ρ‚ΡƒΠ»Π±Π°Ρ€Π° прСдпросмотра.\r\n *\r\n * @namespace window.Core.preview.toolbar\r\n * @since 5.7.0\r\n */\r\n class FitToToolbarButton extends global.SelectableToolbarButton {\r\n\r\n constructor(buttonSelector, buttonScale) {\r\n super(buttonSelector, (scale) => window.Core.preview.actions.setScale(scale));\r\n this[toolbarButtonScalePrivatePropertyKey] = buttonScale;\r\n }\r\n\r\n /**\r\n * Бпособ ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΡ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΠΎ ΡˆΠΈΡ€ΠΈΠ½Π΅)\r\n *\r\n * @private\r\n * @property _scale\r\n * @return {string}\r\n */\r\n get _scale() {\r\n return this[toolbarButtonScalePrivatePropertyKey];\r\n }\r\n\r\n /**\r\n * @see BaseToolbarButton._performAction\r\n */\r\n _performAction() {\r\n const shouldFitToScale = !this.isTurnedOn;\r\n // БбрасываСм \"Π½Π°ΠΆΠ°Ρ‚ΠΎΡΡ‚ΡŒ\" Ρƒ всСх ΠΊΠ½ΠΎΠΏΠΎΠΊ \"ΠΌΠ°ΡΡˆΡ‚Π°Π±ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΏΠΎ\" ΠΏΠ΅Ρ€Π΅Π΄ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ дСйствия\r\n $('#preview-panel .fit-to').removeClass('selected');\r\n if (shouldFitToScale) {\r\n this.turnOn();\r\n }\r\n this._toggleAction(shouldFitToScale);\r\n }\r\n\r\n /**\r\n * @see BaseToolbarButton._toggleAction\r\n */\r\n _toggleAction(shouldFitToScale) {\r\n let scale = shouldFitToScale ? this._scale : DEFAULT_SCALE;\r\n this._action(scale);\r\n }\r\n }\r\n\r\n global.FitToToolbarButton = FitToToolbarButton;\r\n\r\n})(window.Core.preview.toolbar);","'use strict';\r\n\r\n(function (global) {\r\n\r\n // Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ для хранСния ΠΏΡ€ΠΈΠ²Π°Ρ‚Π½ΠΎΠ³ΠΎ свойства с jQuery-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠΌ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π° Ρ‚ΡƒΠ»Π±Π°Ρ€Π°\r\n const toolbarJControlPrivatePropertyKey = Symbol('jControl');\r\n\r\n /**\r\n * ΠšΠΎΠ»Π½Ρ‚Ρ€ΠΎΠ» Ρ‚ΡƒΠ»Π±Π°Ρ€Π° прСдпросмотра.\r\n * ΠœΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ составным - ΡΠΎΡΡ‚ΠΎΡΡ‚ΡŒ ΠΈΠ· Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΎΠ².\r\n *\r\n * @namespace window.Core.preview.toolbar\r\n * @since 5.7.0\r\n */\r\n class ToolbarControl {\r\n\r\n constructor(selectorList) {\r\n const selector = '#preview-panel ' + selectorList.join(', #preview-panel ');\r\n this[toolbarJControlPrivatePropertyKey] = $(selector);\r\n }\r\n\r\n /**\r\n * Кнопка Ρ‚ΡƒΠ»Π±Π°Ρ€Π° прСдпросмотра.\r\n *\r\n * @private\r\n * @property _jButton\r\n * @return {Object} jQuery-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ ΠΊΠ½ΠΎΠΏΠΊΠΈ Ρ‚ΡƒΠ»Π±Π°Ρ€Π° прСдпросмотра.\r\n */\r\n get _jControl() {\r\n return this[toolbarJControlPrivatePropertyKey];\r\n }\r\n\r\n /**\r\n * Π‘ΠΏΡ€ΡΡ‚Π°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ».\r\n * (ΠžΠ±Ρ‘Ρ€Ρ‚ΠΊΠ° Π½Π°Π΄ jQuery-ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ hide)\r\n *\r\n * @method hide\r\n */\r\n hide() {\r\n this._jControl.hide();\r\n }\r\n\r\n /**\r\n * ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ».\r\n * (ΠžΠ±Ρ‘Ρ€Ρ‚ΠΊΠ° Π½Π°Π΄ jQuery-ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ show)\r\n *\r\n * @method show\r\n */\r\n show() {\r\n this._jControl.show();\r\n }\r\n }\r\n\r\n global.ToolbarControl = ToolbarControl;\r\n\r\n})(window.Core.preview.toolbar);","'use strict';\r\n\r\n(function (global) {\r\n\r\n /**\r\n * ΠšΠΎΠ»Π½Ρ‚Ρ€ΠΎΠ» ΠΏΠ°Π³ΠΈΠ½Π°Ρ†ΠΈΠΈ Ρ‚ΡƒΠ»Π±Π°Ρ€Π° прСдпросмотра.\r\n *\r\n * @namespace window.Core.preview.toolbar\r\n * @since 5.7.0\r\n */\r\n class PaginationToolbarControl extends global.ToolbarControl {\r\n\r\n /**\r\n * ΠžΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ‚ счётчик количСства страниц Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°.\r\n *\r\n * @method updatePageCount\r\n * @param {number} pageCount ΠžΠ±Ρ‰Π΅Π΅ количСство страниц Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°.\r\n */\r\n updatePageCount(pageCount) {\r\n this._jControl.find('.page-count').text(`/ ${pageCount}`);\r\n }\r\n }\r\n\r\n global.PaginationToolbarControl = PaginationToolbarControl;\r\n\r\n})(window.Core.preview.toolbar);","\"use strict\";\r\n\r\n(function (global) {\r\n /**\r\n * Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰ΠΈΠ΅ Π·Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ контСкстного мСню.\r\n * @namespace Core.contextmenu\r\n * @since 5.1.0.1516\r\n */\r\n global.contextmenu = {};\r\n})(window.Core);\r\n\r\n\r\n(function (global) {\r\n\r\n var menusCache = {};\r\n var objKindMap = {\r\n 'edoc': 'EDocument',\r\n 'task': 'Task',\r\n 'job': 'Job',\r\n 'fol': 'Folder',\r\n 'ref': 'ReferenceRecord',\r\n 'usr': 'UserSettings',\r\n 'ver': 'EDocumentVersion',\r\n 'com': 'Common',\r\n 'att': 'Attachments',\r\n 'localcopy': 'LocalCopy',\r\n 'current_fol': 'CurrentFolder'\r\n };\r\n\r\n\r\n /**\r\n * ΠŸΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ контСкстноС мСню.\r\n *\r\n * @param {object} clickedEl ΠžΠ±ΡŠΠ΅ΠΊΡ‚, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ ΡΠΎΠ²Π΅Ρ€ΡˆΠ΅Π½ ΠΊΠ»ΠΈΠΊ.\r\n * @param {object} options ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹.\r\n * @param {object} coords ΠšΠΎΠΎΡ€Π΄ΠΈΠ½Π°Ρ‚Ρ‹ мСню.\r\n * @param {boolean} isRightButton ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ наТатия ΠΏΡ€Π°Π²ΠΎΠΉ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΌΡ‹ΡˆΠΈ.\r\n */\r\n global.show = function (obj, options, coords, isRightButton) {\r\n if (obj instanceof jQuery || obj instanceof HTMLElement) {\r\n if (WA.CR && WA.CR.objectList) {\r\n var jClickedEl = $(obj);\r\n\r\n if (isRightButton) {\r\n selectClickedElementAndUnselectOther(jClickedEl);\r\n }\r\n\r\n var selectedItems = WA.CR.objectList.getSelectedItems();\r\n if (selectedItems.length > 1) {\r\n showContextMenuForManyObjects(selectedItems, jClickedEl, options, coords, isRightButton);\r\n // Π§Ρ‚ΠΎ Π±Ρ‹ Π½Π΅ Π²Ρ‹Π·Π²Π°Π»ΠΎΡΡŒ мСню для ΠΎΠ΄Π½ΠΎΠ³ΠΎ элСмСнта.\r\n return;\r\n }\r\n }\r\n showContextMenuForOneObject(obj, options, coords, isRightButton);\r\n } else {\r\n showForFolderTreeItem(obj, options, coords);\r\n }\r\n };\r\n\r\n function showContextMenuForManyObjects(selectedItems, jClickedEl, options, coords, isRightButton) {\r\n var types = _.chain(selectedItems).pluck('type').uniq().value();\r\n var menuType = 'Mass' + types.join('');\r\n\r\n var resultMenuItems = getMassMenuItemsByTypes(types);\r\n if (resultMenuItems.length === 0) return;\r\n\r\n _toggleMarkAsReadMenuItemText(resultMenuItems, selectedItems);\r\n\r\n var menu = getOrAddContextMenuFormCache(menuType, resultMenuItems, { width: 212 });\r\n if (!menu) return;\r\n // ΠŸΠ΅Ρ€Π΅Π΄Π°Π΅ΠΌ Π² контСкстноС мСню список Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Ρ… элСмСнтов.\r\n setMenuProperties(menu, { context: selectedItems });\r\n\r\n var hasStatusBar = _.every(selectedItems, function (item) { return item._jObject.find('div.status').length > 0; });\r\n if (hasStatusBar) {\r\n // ΠŸΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΠΎΠ΅ мСню статусов.\r\n window.Core.toolBars.main.showHorizontalStatusContextMenu(menu, jClickedEl, selectedItems, isRightButton);\r\n }\r\n showContextMenuInternal(menu, jClickedEl, coords);\r\n };\r\n\r\n // Π˜Π·ΠΌΠ΅Π½ΡΠ΅Ρ‚ тСкст ΠΏΡƒΠ½ΠΊΡ‚Π° мСню \"ΠŸΠΎΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π½Π½Ρ‹ΠΌ\" Π² зависимости ΠΎΡ‚ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Ρ… Π·Π°Π΄Π°Π½ΠΈΠΉ.\r\n function _toggleMarkAsReadMenuItemText(resultMenuItems, selectedItems) {\r\n var markAsReadMenuItem = _.first(_.filter(resultMenuItems, function (item) { return item.id === 'MarkAsRead' }));\r\n\r\n if (markAsReadMenuItem) {\r\n var jobs = _.filter(selectedItems, function (item) { return item.type === OBJECT_TYPE.JOB });\r\n if (jobs.length > 0) {\r\n if (_.filter(jobs, function (job) { return job.isUnread() }).length === 0) {\r\n markAsReadMenuItem.text = 'MENU_MARK_AS_UNREAD';\r\n } else {\r\n markAsReadMenuItem.text = 'MENU_MARK_AS_READ';\r\n }\r\n }\r\n }\r\n };\r\n\r\n // Π‘ΠΎΠ·Π΄Π°Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ контСкстного мСню.\r\n function build(options) {\r\n var menu = getOrAddContextMenuFormCache(options.objectType);\r\n if (menu) {\r\n // Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠ² мСню.\r\n enableItem('CreateSubTask', menu);\r\n enableItem('CopyDoc', menu);\r\n if (options.cannotDelete) {\r\n disableItem('DeleteLink', menu);\r\n } else {\r\n enableItem('DeleteLink', menu);\r\n }\r\n };\r\n setDefaultItem(menu, options.defaultItem);\r\n\r\n setMenuProperties(menu, {\r\n context: options.proxy,\r\n onHide: options.onHide\r\n });\r\n\r\n return menu;\r\n };\r\n\r\n\r\n function showContextMenuForOneObject(obj, options, coords, isRightButton) {\r\n var el = $(obj);\r\n var listItem = el.parents('.List:first');\r\n var tr = listItem.length > 0 ? listItem : el;\r\n var proxy;\r\n\r\n var menuOptions = {};\r\n\r\n if (options && options.from === 'ReferenceTable') {\r\n proxy = { id: tr.data('recid'), kind: 'ref', refcode: Reference_GetName(), elem: el, tr: tr };\r\n menuOptions.objectType = 'ReferenceRecordTable';\r\n } else {\r\n proxy = GetObjectInfoFromRow(tr);\r\n }\r\n $.extend(proxy, options);\r\n\r\n menuOptions.proxy = proxy;\r\n if (!menuOptions.objectType) {\r\n menuOptions.objectType = objKindMap[proxy.kind.toLowerCase()];\r\n\r\n if (!proxy.kind) {\r\n return;\r\n } else if (proxy.kind.toLowerCase() === 'current_fol') {\r\n proxy.kind = 'fol';\r\n }\r\n }\r\n\r\n if (menuOptions.objectType === 'ReferenceRecord' || menuOptions.objectType === 'ReferenceRecordTable') {\r\n var refName = Reference_GetName();\r\n var refView = Reference_GetView();\r\n var specObjType = [\r\n menuOptions.objectType + '_' + refName,\r\n menuOptions.objectType + '_' + refView,\r\n menuOptions.objectType + '_' + refName + '_' + refView\r\n ];\r\n for (var i = 0, specObjTypeLen = specObjType.length; i < specObjTypeLen; i++) {\r\n if (contextMenuSettings[specObjType[i]]) {\r\n menuOptions.objectType = specObjType[i];\r\n }\r\n }\r\n }\r\n proxy.type = menuOptions.objectType;\r\n\r\n const taskChangeButton = window.WA.CR.toolBar.buttons.TaskChange;\r\n const isTaskReadOnlyMode = window.WA.getLocation() === 'task' && taskChangeButton && !taskChangeButton.isSelected();\r\n menuOptions.cannotDelete = !!(tr.hasClass('cannot_delete') || isTaskReadOnlyMode);\r\n if (menuOptions.objectType === 'EDocumentVersion') {\r\n menuOptions.defaultItem = (g_defaultListAction === 'showcard' || g_defaultListAction === 'preview')\r\n ? 'Preview'\r\n : (g_openDocForEditByDefault ? 'OpenForEdit' : 'ViewInEditor');\r\n }\r\n\r\n if (menuOptions.objectType === 'EDocument') {\r\n switch (g_defaultListAction) {\r\n case 'showcard':\r\n menuOptions.defaultItem = 'Card';\r\n break;\r\n case 'preview':\r\n menuOptions.defaultItem = 'Preview';\r\n break;\r\n case 'open':\r\n menuOptions.defaultItem = 'OpenForEdit';\r\n break;\r\n case 'viewineditor':\r\n menuOptions.defaultItem = 'ViewInEditor';\r\n break;\r\n default:\r\n }\r\n }\r\n\r\n if (menuOptions.objectType === 'Task' || menuOptions.objectType === 'Job' || menuOptions.objectType === 'Folder') {\r\n menuOptions.defaultItem = '';\r\n } else if (menuOptions.objectType === 'Attachments' || menuOptions.objectType === 'Common') {\r\n menuOptions.defaultItem = 'no';\r\n }\r\n\r\n\r\n if (!el.hasClass('menuicon_border')) {\r\n ContextMenu.hide();\r\n menuOptions.onHide = function () {\r\n var jListParent = $('body');\r\n jListParent.find('.menuicon_border').removeClass('menuicon_border');\r\n jListParent.find('.menu_select').removeClass('menu_select');\r\n };\r\n\r\n if (!isRightButton) {\r\n el.addClass('menuicon_border');\r\n }\r\n tr.addClass('menu_select');\r\n\r\n var menu = build(menuOptions);\r\n\r\n var hasStatusBar = tr.find('div.status').length > 0;\r\n if ((menuOptions.objectType === 'EDocument' || menuOptions.objectType === 'Task'\r\n || menuOptions.objectType === 'Job' || menuOptions.objectType === 'Folder')\r\n && hasStatusBar) {\r\n // ΠŸΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΠΎΠ΅ мСню статусов.\r\n window.Core.toolBars.main.showHorizontalStatusContextMenu(menu, el, proxy, isRightButton);\r\n }\r\n\r\n setTimeout(function () { //Для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ Π±Ρ‹ контСкстноС мСню для свободной области ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊΠ° сразу НЕ ΡΠΊΡ€Ρ‹Π²Π°Π»ΠΎΡΡŒ послС отобраТСния.\r\n switch (menuOptions.objectType) {\r\n case 'EDocument':\r\n EDocument(proxy).GetContextMenu(menu, function () { showContextMenuInternal(menu, el, coords); });\r\n break;\r\n case 'EDocumentVersion':\r\n EDocumentVersion(proxy).GetContextMenu(menu, function () { showContextMenuInternal(menu, el, coords); });\r\n break;\r\n case 'ReferenceRecordTable':\r\n showReferenceContextMenu(menu, el, coords);\r\n break;\r\n default:\r\n showContextMenuInternal(menu, el, coords);\r\n }\r\n }, 10);\r\n }\r\n else {\r\n ContextMenu.hide();\r\n }\r\n };\r\n\r\n function showForFolderTreeItem(node, options, coords) {\r\n var objType = node.kind === 'COMPONENT_TOKEN' ? '' : 'fol';\r\n\r\n var menuOptions = {};\r\n menuOptions.objectType = objKindMap[objType];\r\n\r\n if (objType) {\r\n menuOptions.proxy = options;\r\n menuOptions.defaultItem = '';\r\n\r\n ContextMenu.hide();\r\n var menu = build(menuOptions);\r\n showContextMenuInternal(menu, null, coords);\r\n }\r\n };\r\n\r\n // ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ (ΠΈΠ»ΠΈ добавляСт, Ссли Π½Π΅Ρ‚) ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρƒ контСкстного мСню ΠΈΠ· кэша.\r\n function getOrAddContextMenuFormCache(objType, items, settings) {\r\n if (!menusCache.hasOwnProperty(objType)) {\r\n var menuItems = items;\r\n var menuSettings = settings || {};\r\n\r\n if (!menuItems) {\r\n var settings = contextMenuSettings[objType];\r\n if (!settings) return null;\r\n menuItems = settings.items.slice(0); //ΠšΠ»ΠΎΠ½ΠΈΡ€ΡƒΠ΅ΠΌ массив, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π² ΠΏΠ΅Ρ€Π²ΠΎΠ·Π΄Π°Π½Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅.\r\n\r\n // УдаляСм ΠΏΡƒΠ½ΠΊΡ‚ \"Π’Ρ‹Ρ€Π΅Π·Π°Ρ‚ΡŒ ссылку\" Π²Π΅Π·Π΄Π΅ ΠΊΡ€ΠΎΠΌΠ΅ ΠΏΠ°ΠΏΠΊΠΈ.\r\n if (location.href.toLowerCase().indexOf('explorer.aspx') == -1) {\r\n menuItems = deleteItemById(menuItems, 'CutLink');\r\n };\r\n\r\n menuSettings = settings.settings;\r\n }\r\n\r\n menusCache[objType] = new ContextMenu(menuItems, menuSettings);\r\n }\r\n\r\n if (menusCache.hasOwnProperty('EDocument')) {\r\n updateContextMenu('EDocument');\r\n }\r\n if (menusCache.hasOwnProperty('EDocumentVersion')) {\r\n updateContextMenu('EDocumentVersion');\r\n }\r\n if (menusCache.hasOwnProperty('Task')) {\r\n updateContextMenu('Task');\r\n }\r\n if (menusCache.hasOwnProperty('Job')) {\r\n updateContextMenu('Job');\r\n }\r\n return menusCache[objType];\r\n };\r\n\r\n // устанавливаСт свойства контСкстного мСню.\r\n function setMenuProperties(menu, props) {\r\n menu.self = props.context;\r\n menu.onHide = function () {\r\n if ($.isFunction(props.onHide)) props.onHide();\r\n };\r\n var copyItem = menu.getItemById('CopyLink');\r\n if (copyItem) {\r\n var dd;\r\n copyItem.onCreate = function () { dd = this; }\r\n menu.onShow = function () {\r\n if ($.isFunction(props.onShow)) props.onShow();\r\n }\r\n }\r\n };\r\n\r\n // ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ элСмСнты контСкстного мСню для массовых ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ Π² зависимости ΠΎΡ‚ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½Ρ‹Ρ… Ρ‚ΠΈΠΏΠΎΠ² (Ссли Ρ‚ΠΈΠΏΡ‹ Ρ€Π°Π·Π½Ρ‹Π΅ Ρ‚ΠΎ, Π±ΡƒΠ΄Π΅Ρ‚ вычислятся пСрСсСчСния ΠΏΡƒΠ½ΠΊΡ‚ΠΎΠ² мСню).\r\n function getMassMenuItemsByTypes(types) {\r\n var resultMenuItems = [];\r\n var resultMenuItemsId = []; // для упрощСния поиска\r\n\r\n _.each(types, function (type) {\r\n var menuType;\r\n switch (type) {\r\n case OBJECT_TYPE.EDOCUMENT: menuType = 'MassEDocument'; break;\r\n case OBJECT_TYPE.FOLDER: menuType = 'MassFolder'; break;\r\n case OBJECT_TYPE.TASK: menuType = 'MassTask'; break;\r\n case OBJECT_TYPE.JOB: menuType = 'MassJob'; break;\r\n case OBJECT_TYPE.REFERENCE_RECORD: menuType = 'MassReferenceRecord'; break;\r\n default: return;\r\n }\r\n\r\n var settings = contextMenuSettings[menuType];\r\n if (!settings) return;\r\n var currentItems = settings.items.slice(0); //ΠšΠ»ΠΎΠ½ΠΈΡ€ΡƒΠ΅ΠΌ массив, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π΅Π³ΠΎ Π² ΠΏΠ΅Ρ€Π²ΠΎΠ·Π΄Π°Π½Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅.\r\n\r\n var newResultMenuItems = [];\r\n var newResultMenuItemsId = []; // для упрощСния поиска\r\n \r\n const agentIsDisabled = WA.agent.isDisabled();\r\n const agentItems = ['SendMail'];\r\n\r\n var checkMenuItem = function (currentItem) {\r\n // Если Π΅Ρ‰Π΅ Π½Π΅Ρ‚ объСдинСнного Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΠ΅ΡˆΠ΅Π³ΠΎ мСню, Ρ‚ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ всС.\r\n // ΠΈΠ»ΠΈ Если элСмСнт мСню ΡƒΠΆΠ΅ Π±Ρ‹Π» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΠΈΠΉ, Ρ‚ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΠΌ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ элСмСнт ΠΊ Π½ΠΎΠ²ΠΎΠΌΡƒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΌΡƒ.\r\n return (resultMenuItemsId.length === 0 || resultMenuItemsId.indexOf(currentItem.id) !== -1) && \r\n !(agentIsDisabled && agentItems.includes(currentItem.id));\r\n };\r\n\r\n _.each(currentItems, function (currentItem) {\r\n if (checkMenuItem(currentItem)) {\r\n newResultMenuItems.push(currentItem);\r\n newResultMenuItemsId.push(currentItem.id);\r\n }\r\n\r\n });\r\n\r\n resultMenuItems = newResultMenuItems;\r\n resultMenuItemsId = newResultMenuItemsId;\r\n });\r\n\r\n return resultMenuItems;\r\n };\r\n\r\n // ВыдСляСт Ρ‚ΠΎΡ‚, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ ΠΊΠ»ΠΈΠΊΠ½ΡƒΠ»ΠΈ ΠΈ снимаСт выдСлСния с ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… (Ссли ΠΊΠ»ΠΈΠΊΠ½ΡƒΡ‚Ρ‹ΠΉ элСмСнт Π½Π΅ Π² числС Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ…).\r\n function selectClickedElementAndUnselectOther(jClickedEl) {\r\n if (!jClickedEl.hasClass('List')) {\r\n jClickedEl = jClickedEl.parents('.List:first');\r\n }\r\n var clickedId = jClickedEl.attr('id');\r\n\r\n var selectedItems = WA.CR.objectList.getSelectedItems();\r\n var hasClicked = _.any(selectedItems, function (selectedItem) {\r\n return selectedItem.id === clickedId;\r\n });\r\n\r\n if (!hasClicked) {\r\n // Π‘Π½ΠΈΠΌΠ°Π΅ΠΌ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ со всСх ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ….\r\n WA.CR.objectList.deselectAll();\r\n // ВыдСляСм ΠΊΠ»ΠΈΠΊΠ½ΡƒΡ‚Ρ‹ΠΉ.\r\n WA.CR.objectList.selectItem({ id: clickedId });\r\n }\r\n };\r\n\r\n function showContextMenuInternal(menu, el, coords) {\r\n if (el && el.hasClass('current-folder')) {\r\n coords = $('.filtration-panel__check-all').offset();\r\n coords.top += el.height();\r\n }\r\n\r\n enableDisableItems(menu, el);\r\n if (!coords) menu.show(el);\r\n else menu.showAt(coords, null, null);\r\n }\r\n\r\n function enableDisableItems(menu, el) {\r\n let menuItem;\r\n if (!Core.contextmenu.isElementInFolderTree(el) && Core.toolBars.main.isSearchMode()) {\r\n menuItem = menu.getItemById('CutLink');\r\n if (menuItem) {\r\n menuItem.disabled = true;\r\n delete menuItem.jsaction;\r\n }\r\n menuItem = menu.getItemById('DeleteLink');\r\n if (menuItem) {\r\n menuItem.disabled = true;\r\n delete menuItem.jsaction;\r\n }\r\n }\r\n let objectType = WA.CR.getObjectType();\r\n let mode = (new WA.URL).getParam('mode');\r\n if ((((objectType === OBJECT_TYPE.TASK) || (objectType === OBJECT_TYPE.JOB)) && !WA.CR.Lock.IsLocked)\r\n || ((objectType === OBJECT_TYPE.JOB) && (WA.CR.Kind === JOB_KIND.CONTROLJOB) && (WA.CR.State === WORK_STATE.RUNNING) && (mode !=='edit'))) {\r\n disableItem('DeleteLink', menu);\r\n } else {\r\n enableItem('DeleteLink', menu);\r\n }\r\n\r\n menuItem = menu.getItemById('PasteLink');\r\n if (menuItem) {\r\n menuItem.disabled = menu.type === 'Attachments' && !$('div [name=PasteLnk]').length;\r\n }\r\n }\r\n\r\n function showReferenceContextMenu(menu, el, coords) {\r\n var menuItem;\r\n if (g_IsReferenceReadOnly) {\r\n menuItem = menu.getItemById(\"Delete\");\r\n if (menuItem) {\r\n menuItem.disabled = true;\r\n delete menuItem.jsaction;\r\n }\r\n\r\n menuItem = menu.getItemById(\"Copy\");\r\n if (menuItem) {\r\n menuItem.disabled = true;\r\n delete menuItem.jsaction;\r\n }\r\n }\r\n if (!coords) menu.show(el); else menu.showAt(coords, null, null);\r\n }\r\n\r\n // УдаляСт элСмСнт ΠΏΠΎ ID ΠΈΠ· массива ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².\r\n function deleteItemById(items, id) {\r\n var newItems = [];\r\n for (var i = 0; i < items.length; i++) {\r\n //Π—Π΄Π΅ΡΡŒ ΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΎ Π½Π΅ стоит !==, для Ρ€Π°Π±ΠΎΡ‚Ρ‹ со строками (Ρ‚.Π΅. \"id\" == id)\r\n if (items[i].id != id) {\r\n newItems.push(items[i]);\r\n }\r\n else {\r\n if (items[i].separator && i > 0) {\r\n items[i - 1].separator = true;\r\n }\r\n }\r\n }\r\n return newItems;\r\n }\r\n\r\n function updateContextMenu(objType) {\r\n var settings = contextMenuSettings[objType];\r\n\r\n var changedItems = switchItemsForAgent(settings);\r\n if (WA.getLocation() !== 'explorer') {\r\n changedItems = deleteItemById(changedItems, 'CutLink');\r\n }\r\n menusCache[objType] = new ContextMenu(changedItems, settings.settings);\r\n }\r\n\r\n function switchItemsForAgent(settings) {\r\n var changedItems = settings.items;\r\n // Π£Π±ΠΈΡ€Π°Π΅ΠΌ дСйствия, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π° Ρ€Π°Π±ΠΎΡ‚Π° Π±Π΅Π· Π°Π³Π΅Π½Ρ‚Π°.\r\n if (WA.agent.isDisabled()) {\r\n changedItems = deleteItemById(changedItems, 'OpenForEdit');\r\n changedItems = deleteItemById(changedItems, 'ViewInEditor');\r\n changedItems = deleteItemById(changedItems, 'SendMail');\r\n if ($.ipad || WA.ENV.isAndroid()) { changedItems = deleteItemById(changedItems, 'Sign'); }\r\n }\r\n\r\n return changedItems;\r\n }\r\n\r\n function disableItem(itemID, menu) {\r\n var menuItem = menu.getItemById(itemID);\r\n if (menuItem) {\r\n menuItem.disabled = true;\r\n }\r\n }\r\n\r\n function enableItem(itemID, menu) {\r\n var menuItem = menu.getItemById(itemID);\r\n if (menuItem) {\r\n menuItem.disabled = false;\r\n }\r\n }\r\n function setDefaultItem(menu, itemID) {\r\n var menuItem = !!itemID ? menu.getItemById(itemID) : menu.items[0];\r\n if (!!menuItem) {\r\n menuItem['default'] = true;\r\n }\r\n }\r\n\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅Ρ‚ находится Π»ΠΈ ΠΏΠ΅Ρ€Π΅Π΄Π΅Π½Π½Ρ‹ΠΉ элСмСнт Π² Π΄Π΅Ρ€Π΅Π²Π΅ ΠΏΠ°ΠΏΠΎΠΊ.\r\n * @function Core.contextmenu.isElementInFolderTree\r\n * @since 5.0.0.1516\r\n * @return {Core.contextmenu}\r\n */\r\n global.isElementInFolderTree = function (el) {\r\n return (el && el.parents('#Tree').length > 0);\r\n };\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ создания ΠΏΡƒΠ½ΠΊΡ‚Π° контСкстного мСню \"ΠšΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ссылку\" для ΠΏΠ°ΠΏΠΊΠΈ.\r\n * @function Core.contextmenu.copyFolderLinkOnCreate\r\n * @since 5.0.0.1519\r\n * @return {Core.contextmenu}\r\n */\r\n global.copyFolderLinkOnCreate = function (fol) {\r\n //НСльзя ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ссылку Π½Π° ΠΏΠ°ΠΏΠΊΡƒ \"Π―Ρ€Π»Ρ‹ΠΊΠΈ\" - Π·Π°ΠΏΡ€Π΅Ρ‰Π΅Π½ΠΎ Π² Π±ΠΈΠ»Π΄Π΅Ρ€Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ Π˜Π” этой ΠΏΠ°ΠΏΠΊΠΈ (http://directum.npo-comp.ru/reference.asp?sys=TEHKASNPO&compcode=%C7%C7%CF&id=5664818).\r\n if (fol instanceof jQuery || fol instanceof HTMLElement) {\r\n var jFol = fol.tr.hasClass('List') ? fol.tr : fol.tr.children();\r\n return { disabled: jFol.hasClass('ShortcutsFolderType') };\r\n } else {\r\n return (fol.hasOwnProperty('canCopy')) ? { disabled: !fol.canCopy } : {};\r\n }\r\n };\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π”Π΅Π»Π°Π΅Ρ‚ Π½Π΅Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ ΠΏΡƒΠ½ΠΊΡ‚ \"Π’ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ссылки\" Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ поиска.\r\n */\r\n global.pasteLinksOnCreate = function () {\r\n return {\r\n disabled: Core.toolBars.main.isSearchMode()\r\n };\r\n };\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ создания ΠΏΡƒΠ½ΠΊΡ‚Π° контСкстного мСню \"Π’ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ ссылки\" для ΠΏΠ°ΠΏΠΊΠΈ.\r\n * @function Core.contextmenu.pasteLinksToFolderOnCreate\r\n * @since 5.0.0.1516\r\n * @return {Core.contextmenu}\r\n */\r\n global.pasteLinksToFolderOnCreate = function (fol) {\r\n //ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° возмоТности вставки ссылок Π² ΠΏΠ°ΠΏΠΊΡƒ fol.\r\n //НСльзя Π²ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ Π² ΠΏΠ°ΠΏΠΊΠΈ поиска.\r\n var disabled;\r\n var visibility = (WA.getLocation() === 'settings') ? 'hidden' : '';\r\n if (fol instanceof jQuery || fol instanceof HTMLElement) {\r\n var jFol = fol.tr.hasClass('List') ? fol.tr : fol.tr.children();\r\n disabled = Core.toolBars.main.isSearchMode() && !(jFol.hasClass('EDocument_fol') || jFol.hasClass('Job_fol') || jFol.hasClass('Task_fol') || jFol.hasClass('Any_fol'));\r\n } else {\r\n if (fol.hasOwnProperty('canPaste')) disabled = !fol.canPaste;\r\n else return { visibility: visibility };\r\n }\r\n\r\n return {\r\n disabled: disabled,\r\n visibility: visibility\r\n };\r\n };\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ДСйствиС контСкстного мСню \"Π£Π΄Π°Π»ΠΈΡ‚ΡŒ ссылку\".\r\n * @function Core.contextmenu.deleteLinksFromFolder\r\n * @since 5.0.0.1516\r\n * @return {Core.contextmenu}\r\n */\r\n global.deleteLinksFromFolder = function (fol, callback, msg) {\r\n // ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΠΌ, Ρ‡Ρ‚ΠΎ fol - ΡƒΠ·Π΅Π» Π΄Π΅Ρ€Π΅Π²Π° ΠΏΠ°ΠΏΠΎΠΊ\r\n if (fol.hasOwnProperty('node')) {\r\n let node = fol.node;\r\n\r\n // ΠŸΠΎΠ»ΡƒΡ‡ΠΈΠΌ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΎΠΉ ΠΏΠ°ΠΏΠΊΠΈ\r\n let path = node.key.split('-');\r\n let currentFolderIndex = path.indexOf(node.id);\r\n let parentFolderId = path[currentFolderIndex + 1];\r\n\r\n // ΠžΡ‚ΠΏΡ€Π°Π²ΠΈΠΌ запрос Π½Π° ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΏΠΊΠΈ\r\n let deleteFolderLink = new WA.Link(node.id, OBJECT_TYPE.FOLDER);\r\n let deleteFolderLinkModel = deleteFolderLink.toLinkModel();\r\n DeleteLinks(\r\n '',\r\n [deleteFolderLinkModel],\r\n false,\r\n parentFolderId,\r\n true,\r\n () => {\r\n WA.CR.folderTree.updateByFolderID(parentFolderId);\r\n },\r\n true\r\n );\r\n } else {\r\n ObjDeleteLink(fol, null, callback, msg);\r\n }\r\n };\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ДСйствиС контСкстного мСню \"Π£Π΄Π°Π»ΠΈΡ‚ΡŒ ссылку\".\r\n * @function Core.contextmenu.deleteLinksFromFolder\r\n * @since 5.0.0.1516\r\n * @return {Core.contextmenu}\r\n */\r\n global.handleDeleteAction = function (fol) {\r\n var callback = null;\r\n var msg = \"\";\r\n if (WA.getLocation() === \"settings\") {\r\n callback = function (link) {\r\n window.Core.settings.setAutoCleanFolder(link.ID, false);\r\n };\r\n msg = L('SETTINGS_SAVED');\r\n }\r\n\r\n global.deleteLinksFromFolder(fol, callback, msg);\r\n };\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ создания ΠΏΡƒΠ½ΠΊΡ‚Π° контСкстного мСню \"Π£Π΄Π°Π»ΠΈΡ‚ΡŒ ссылку\" для ΠΏΠ°ΠΏΠΊΠΈ.\r\n * @function Core.contextmenu.deleteLinksFromFolderOnCreate\r\n * @since 5.0.0.1519\r\n * @return {Core.contextmenu}\r\n */\r\n global.deleteLinksFromFolderOnCreate = function (fol) {\r\n return (fol.hasOwnProperty('canDelete')) ? { disabled: !fol.canDelete } : {};\r\n };\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ создания ΠΏΡƒΠ½ΠΊΡ‚Π° контСкстного мСню \"ΠžΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π·Π°Π΄Π°Ρ‡Π΅ΠΉ\" для ΠΏΠ°ΠΏΠΊΠΈ.\r\n * @function Core.contextmenu.sendAsTaskAttachmentForFolderOnCreate\r\n * @since 5.0.0.1518\r\n * @return {Core.contextmenu}\r\n */\r\n global.sendAsTaskAttachmentForFolderOnCreate = function (fol) {\r\n //НСльзя ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Π²Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΠΏΠ°ΠΏΠΊΡƒ \"Π―Ρ€Π»Ρ‹ΠΊΠΈ\" - Π·Π°ΠΏΡ€Π΅Ρ‰Π΅Π½ΠΎ Π² Π±ΠΈΠ»Π΄Π΅Ρ€Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ Π˜Π” этой ΠΏΠ°ΠΏΠΊΠΈ (http://directum.npo-comp.ru/reference.asp?sys=TEHKASNPO&compcode=%C7%C7%CF&id=5664818).\r\n if (fol instanceof jQuery || fol instanceof HTMLElement) {\r\n var jFol = fol.tr.hasClass('List') ? fol.tr : fol.tr.children();\r\n return { disabled: jFol.hasClass('ShortcutsFolderType') };\r\n } else {\r\n return (fol.hasOwnProperty('canSend')) ? { disabled: !fol.canSend } : {};\r\n }\r\n };\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ создания ΠΏΡƒΠ½ΠΊΡ‚Π° контСкстного мСню \"Π‘ΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΈ Π²Π»ΠΎΠΆΠΈΡ‚ΡŒ\".\r\n * @function Core.contextmenu.createAndAttachOnCreate\r\n * @since 5.0.0.1522\r\n * @return {Core.contextmenu}\r\n */\r\n global.createAndAttachOnCreate = function () {\r\n\r\n var jAttachmentsToolbar = $(\"#content_list_toolbox\");\r\n var isDisabled = true;\r\n\r\n if (jAttachmentsToolbar.length > 0) {\r\n var jAttachButton = jAttachmentsToolbar.find(\".add_attachment_button\");\r\n\r\n if (jAttachButton.length > 0)\r\n isDisabled = jAttachButton.hasClass(\"disabled\");\r\n }\r\n\r\n return {\r\n disabled: isDisabled\r\n };\r\n };\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ контСкстного мСню для ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° main Π³Π»Π°Π²Π½ΠΎΠΉ страницы.\r\n *\r\n * @function Core.contextmenu.createFolderContextMenu\r\n * @since 5.2.0.2006\r\n */\r\n global.createFolderContextMenu = () => {\r\n const jMainContainer = $('#main_container');\r\n jMainContainer.attr('kind', 'com');\r\n jMainContainer.bind('contextmenu', (event) => {\r\n // Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ ошибки, ΠΏΠΎ ΠΊΠ»ΠΈΠΊΠ΅ Π½Π° Π½Π΅Π³ΠΎ мСню Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ\r\n if (event.target.classList.contains('error_div_msg')) {\r\n return false;\r\n }\r\n\r\n event.preventDefault();\r\n event.stopPropagation();\r\n ShowContextMenu(jMainContainer, {}, {\r\n 'left': event.pageX,\r\n 'top': event.pageY,\r\n }, true);\r\n\r\n return false;\r\n });\r\n };\r\n\r\n /**\r\n * Клик ΠΏΠΎ ΠΏΡƒΠ½ΠΊΡ‚Ρƒ контСкстного мСню \"ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ/ΡΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΏΠ°ΠΏΠΊΠΈ Π² спискС\".\r\n * @function Core.contextmenu.showFolderInList\r\n * @since 5.5.0.9000\r\n * @return {Core.contextmenu}\r\n */\r\n global.showFolderInList = function () {\r\n var currentNeedToShow = WA.CR.objectList.isShowFolders();\r\n var currentFolderID = WA.current.getID();\r\n\r\n WA.SRV.call(\"/Session.asmx/UpdateShowFoldersInList\", {\r\n FolderID: currentFolderID,\r\n NeedToShow: !currentNeedToShow\r\n }).success(function (result) {\r\n WA.CR.objectList.setIsShowFolders(!currentNeedToShow);\r\n WA.CR.objectList.loadFolderContent(currentFolderID);\r\n });\r\n };\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ создания ΠΏΡƒΠ½ΠΊΡ‚Π° контСкстного мСню \"ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ/ΡΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΏΠ°ΠΏΠΊΠΈ Π² спискС\".\r\n * @function Core.contextmenu.showFolderInList\r\n * @since 5.5.0.9000\r\n * @return {Core.contextmenu}\r\n */\r\n global.showFolderInListOnCreate = function () {\r\n var isShowFolders = WA.CR.objectList.isShowFolders();\r\n return {\r\n selected: isShowFolders,\r\n image: isShowFolders ? '/App_Sprites/menu_check.png' : ''\r\n };\r\n };\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n})(window.Core.contextmenu);\r\n","///**\r\n// * Π‘Ρ‚Π°Π½Π΄Π°Ρ€Ρ‚Π½Ρ‹Π΅ ΠΏΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€Ρ‹ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ. \r\n// * @readonly\r\n// * @global\r\n// * @enum {string} STD_AUTH_PROVIDERS \r\n// * @example \r\n//*/\r\nwindow.STD_AUTH_PROVIDERS = {\r\n WINDOWS: 'windows',\r\n SQL: 'sql',\r\n NOVELL: 'novell',\r\n CURRENT: 'current'\r\n};\r\n\r\n///**\r\n// * Π’Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ. \r\n// * @readonly\r\n// * @global\r\n// * @enum {string} AUTH_REQUEST_RESULT \r\n// * @example \r\n//*/\r\nwindow.AUTH_REQUEST_RESULT = {\r\n DONE: 0,\r\n CHANGE_DEFAULT_PASSWORD: 1,\r\n SHOW_LOGON_MESSAGE: 2\r\n};\r\n\r\n/**\r\n* УдялСт ΠΊΡƒΠΊΡƒ UserStatus послС открытия страницы Π²Ρ…ΠΎΠ΄Π°, Ρ‡Ρ‚ΠΎ ΠΎΠ½Π° Π½Π΅ ΡΠΎΡ…Ρ€Π°Π½ΡΠ»Π°ΡΡŒ ΠΏΡ€ΠΈ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Π° Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ сохранСния послСдних ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚Ρ‹Ρ… Π²ΠΊΠ»Π°Π΄ΠΎΠΊ.\r\n*/\r\nfunction RemoveUserStatusCookie() {\r\n //ΠžΡ‡ΠΈΡ‰Π°Π΅ΠΌ cookie со статусом ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ\r\n if ($.cookie('UserStatus') === 'logout') {\r\n $.cookie('UserStatus', null, { path: '/' });\r\n $.cookie('UserStatus', null, { path: '/pda' });\r\n }\r\n}\r\n\r\n/**\r\n* ΠŸΡ€ΠΎΠ²ΠΎΠ΄ΠΈΡ‚ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΡŽ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Ρ‡Π΅Ρ€Π΅Π· сСрвис Authentication.\r\n*/\r\nfunction LoginUser(providerName, userName, userRealm, userPassword, rememberMe, changePasswordCallback, showMessageCallback, showErrorCallback) {\r\n var mobileView = WA.isMobile();\r\n \r\n var loginFunc = function () {\r\n WA.services.authenticaion.loginUser(providerName, userName, userRealm, userPassword, rememberMe,\r\n function (res) {\r\n switch (res.Result) {\r\n case AUTH_REQUEST_RESULT.CHANGE_DEFAULT_PASSWORD:\r\n //НСобходимо ΡΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ\r\n if (changePasswordCallback)\r\n changePasswordCallback(res.Warning);\r\n break;\r\n\r\n case AUTH_REQUEST_RESULT.SHOW_LOGON_MESSAGE:\r\n //ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌ сообщСниС ΠΎ Π²Ρ…ΠΎΠ΄Π΅\r\n if (showMessageCallback)\r\n showMessageCallback(res.Warning);\r\n break;\r\n\r\n default:\r\n //Π’Ρ…ΠΎΠ΄ ΡƒΡΠΏΠ΅ΡˆΠ΅Π½, ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ Π½Π° страницу ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, Π»ΠΈΠ±ΠΎ g_returnUrl\r\n window.location.href = GetReturnURL();\r\n }\r\n }, function (res) {\r\n //АутСнтификация Π·Π°Π²Π΅Ρ€ΡˆΠΈΠ»Π°ΡΡŒ ошибкой\r\n if (showErrorCallback)\r\n showErrorCallback(res.Error);\r\n });\r\n };\r\n\r\n if (providerName == STD_AUTH_PROVIDERS.CURRENT) {\r\n //ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ ΡƒΠΆΠ΅ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½, ΠΌΠΎΠΆΠ½ΠΎ просто ΠΏΠ΅Ρ€Π΅ΠΉΡ‚ΠΈ Π½Π° страницу ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, Π»ΠΈΠ±ΠΎ g_returnUrl\r\n window.location.href = GetReturnURL();\r\n } else {\r\n if (mobileView) {\r\n loginFunc();\r\n } else {\r\n WA.AgentInit.done(function () {\r\n loginFunc();\r\n });\r\n }\r\n }\r\n}\r\n\r\n/**\r\n* Π˜Π·ΠΌΠ΅Π½ΡΠ΅Ρ‚ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.\r\n*/\r\nfunction ChangeUserPassword(providerName, userName, oldPassword, newPassword, confirmPassword, isFirstLogin, successCallback, showErrorCallback) {\r\n WA.services.authenticaion.changePassword(userName, oldPassword, newPassword, confirmPassword, isFirstLogin,\r\n function (res) {\r\n if (successCallback)\r\n successCallback(res.Warning);\r\n }, function (res) {\r\n if (showErrorCallback)\r\n showErrorCallback(res.Error);\r\n }); \r\n}\r\n\r\n/**\r\n* Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ страницу для пСрСнаправлСния.\r\n*/\r\nfunction GetReturnURL() {\r\n return (g_returnUrl == '') ? g_defaultPage : g_returnUrl;\r\n}","'use strict';\r\n\r\n(function (global) {\r\n /**\r\n * Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰ΠΈΠ΅ Π·Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ с Π·Π°Π΄Π°Ρ‡Π°ΠΌΠΈ ΠΈ заданиями.\r\n * @namespace Core.customWorks\r\n * @since 5.5.0.2201\r\n */\r\n global.customWorks = {};\r\n})(window.Core);\r\n\r\n(function (global) {\r\n\r\n /**\r\n * ΠžΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ Π΄ΠΈΠ°Π»ΠΎΠ³ назначСния ΠΏΡ€Π°Π² доступа Π½Π° влоТСния.\r\n *\r\n * @global\r\n * @function showAccessRightsDialog\r\n * @param {string} maxRights Максимально доступныС ΠΏΡ€Π°Π²Π° для назначСния.\r\n * @param {object} buttonHandlers Ассоциативный массив ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² событий наТатия Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ.\r\n * @param {string} dialogMessage Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ΅ сообщСниС Π² Π΄ΠΈΠ°Π»ΠΎΠ³Π΅.\r\n * @private\r\n */\r\n global.showAccessRightsDialog = (maxRights, buttonHandlers, dialogMessage) => {\r\n // Бписок Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² ΠΏΡ€Π°Π² доступа ΠΈ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ…\r\n // ΠΈΠΌ ΠΊΠ½ΠΎΠΏΠΎΠΊ Π² Π΄ΠΈΠ°Π»ΠΎΠ³Π΅\r\n const accessRightButtons = {\r\n View: {\r\n id: 'view_right_btn',\r\n caption: L('VIEWING'),\r\n onClick: buttonHandlers.View,\r\n },\r\n Change: {\r\n id: 'modify_right_btn',\r\n caption: L('MODIFY'),\r\n onClick: buttonHandlers.Change,\r\n },\r\n Full: {\r\n id: 'full_right_btn',\r\n caption: L('FULL'),\r\n onClick: buttonHandlers.Full,\r\n },\r\n };\r\n\r\n let accessRightsDialog = new WA.CMP.dialogs.MessageBox();\r\n for (let accessRightsKey in accessRightButtons) {\r\n const buttonModel = accessRightButtons[accessRightsKey];\r\n accessRightsDialog.addButton(buttonModel.id, buttonModel.caption, buttonModel.onClick);\r\n if (accessRightsKey === maxRights) {\r\n break;\r\n }\r\n }\r\n accessRightsDialog\r\n .addButton('ignore_button', L('IGNORE'), buttonHandlers.Ignore)\r\n ._setDefaultButton('view_right_btn');\r\n\r\n accessRightsDialog.cancel = () => {\r\n const buttons = [\"StartTask\", \"Save\"];\r\n for (const buttonName of buttons) {\r\n const button = WA.CR.toolBar.buttons[buttonName];\r\n if (button) {\r\n button.enable();\r\n }\r\n }\r\n };\r\n // Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΎΠΊ\r\n accessRightsDialog.isShowCancelButton = true;\r\n accessRightsDialog.isShowOkButton = false;\r\n\r\n accessRightsDialog.showQuestion(\r\n L('WARN_ASSIGN_TASK_ATTACHMENTS_RIGHTS_DLG_CAPTION'),\r\n dialogMessage,\r\n L('ACCESS_RIGHTS'),\r\n );\r\n };\r\n\r\n /**\r\n * Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΎΠΊ Π½Π° Π»Π΅Π½Ρ‚Π΅ для Π·Π°Π΄Π°Ρ‡ ΠΈ Π·Π°Π΄Π°Π½ΠΈΠΉ.\r\n * @since 5.5.2201\r\n */\r\n global.bindButtonsEnabling = (textAreaSelector) => {\r\n WA.ready(() => {\r\n const buttonNames = ['Save'];\r\n // Π€Π»Π°Π³, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ осущСствлСния Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ ΠΊΠ½ΠΎΠΏΠΎΠΊ Π½Π΅ Π»Π΅Π½Ρ‚Π΅ Π½Π° основС Ρ€Π΅ΠΆΠΈΠΌΠ° доступности\r\n let isControlChangedBefore = false;\r\n\r\n const jTextArea = $(textAreaSelector);\r\n const initialTextAreaValue = jTextArea.val();\r\n jTextArea.unbind('keyup');\r\n jTextArea.bind('keyup', () => {\r\n if (jTextArea.val() !== initialTextAreaValue) {\r\n Core.cards.enableButtonsOnFormChange(buttonNames);\r\n if (!isControlChangedBefore) {\r\n Core.cards.setButtonsEnablingOnEnabledMode();\r\n isControlChangedBefore = true;\r\n }\r\n }\r\n });\r\n // Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ доступности ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ списка Π²Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ.\r\n const jAttachments = $('.ListRequisite');\r\n jAttachments.change(() => {\r\n Core.cards.enableButtonsOnFormChange(buttonNames);\r\n if (!isControlChangedBefore) {\r\n Core.cards.setButtonsEnablingOnEnabledMode();\r\n isControlChangedBefore = true;\r\n }\r\n });\r\n // Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ состояний Π½Π° основС выдСлСния списка Π²Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ\r\n jAttachments.on('itemChecked', () => {\r\n const buttons = WA.CR.toolBar.buttons.getButtonsEnabledOnAttachmentSelection();\r\n const selectedItems = WA.CR.objectList.getSelectedItems();\r\n if (selectedItems.length) {\r\n buttons.forEach((button) => {\r\n // Π’ зависимости ΠΎΡ‚ состояния Π—Π—Π£\r\n switch (WA.CR.State) {\r\n case WORK_STATE.RUNNING:\r\n case WORK_STATE.CONTROLLED:\r\n case WORK_STATE.CONTINUED:\r\n if (button.getIsEnabledOnRunning()) {\r\n button.enable();\r\n }\r\n break;\r\n case WORK_STATE.DONE:\r\n if (button.getIsEnabledOnDone()) {\r\n button.enable();\r\n }\r\n break;\r\n case WORK_STATE.ABORTED:\r\n if (button.getIsEnabledOnAborted()) {\r\n button.enable();\r\n }\r\n break;\r\n }\r\n });\r\n } else {\r\n buttons.forEach((button) => {\r\n button.disable();\r\n });\r\n }\r\n });\r\n });\r\n };\r\n\r\n /**\r\n * ΠΠ°ΠΏΠ΅Ρ‡Π°Ρ‚Π°Ρ‚ΡŒ тСкст пСрСписки Π—Π—Π£.\r\n * @function printCustomWorkText\r\n * @since 5.6.3.9010\r\n */\r\n global.printCustomWorkText = () => {\r\n const tmpWindow = window.open('', 'PRINT', '');\r\n\r\n const contentHead = window.document.head.innerHTML;\r\n const contentSvgScript = $('#svg-sprite').get(0).outerHTML;\r\n const contentBody = $('.TaskTree').get(0).outerHTML;\r\n\r\n const customHTML = `\r\n \r\n \r\n ${contentHead}\r\n \r\n \r\n \r\n \r\n \r\n ${contentSvgScript}\r\n ${contentBody}\r\n \r\n `;\r\n\r\n tmpWindow.document.write(customHTML);\r\n tmpWindow.document.close();\r\n };\r\n\r\n /**\r\n * ЭкспортируСт Π΄Π°Π½Π½Ρ‹Π΅ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ калСндаря.\r\n * @function exportCalendarEvent\r\n * @since 5.8.1.9000\r\n */\r\n global.exportCalendarEvent = () => {\r\n const spinnerDelay = setSpinnerDialogDelay(0);\r\n const requestParams = { type: WA.CR.Type, customWorkId: WA.CR.ID };\r\n\r\n WA.SRV.call('api/CalendarsService.asmx/ExportToCalendar', requestParams).done((guid) => {\r\n setTimeout(() => { \r\n var toastMsg = new WA.CMP.notifications.Toast();\r\n toastMsg.show(L('UI_EXPORT_FILE'));\r\n if (WA.agent.isAvailable()) {\r\n WA.agent.isPluginAvailable('DocumentPlugin').done((isPluginAvailable) => {\r\n if (isPluginAvailable && WA.agent.isSessionInitialized()) {\r\n RequestToken(TOKEN_OPERATION.DOWNLOAD_DOCUMENT_BODY, function (token) {\r\n var requestParams = {\r\n id: guid,\r\n Token: token,\r\n Repository: \"FileSystem\",\r\n DownloadTool: \"Handler\",\r\n loc: document.location.host,\r\n name: WA.CR.ReferenceCode\r\n };\r\n WA.agent.transmitRequest('opendocument', 'DocumentPlugin', requestParams).fail((response) => {\r\n ShowError(response.message);\r\n });\r\n });\r\n } else {\r\n download();\r\n }\r\n }).fail(function () {\r\n download();\r\n });\r\n } else {\r\n download();\r\n }\r\n\r\n function download() {\r\n var url = new WA.URL('/download.ashx');\r\n url.setParam('accesstype', 'private');\r\n url.setParam('id', guid);\r\n url.open();\r\n }\r\n }, spinnerDelay);\r\n });\r\n }\r\n\r\n})(window.Core.customWorks);","'use strict';\r\n\r\n(function (global) {\r\n /**\r\n * Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰ΠΈΠ΅ Π·Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ с Π·Π°Π΄Π°Ρ‡Π°ΠΌΠΈ.\r\n * @namespace Core.tasks\r\n * @since 5.5.0.2201\r\n */\r\n global.tasks = {};\r\n})(window.Core);\r\n\r\n(function (global) {\r\n\r\n /**\r\n * Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π²Ρ‹Π±ΠΎΡ€Π° ВМ Π² ΠΏΠΎΠ»Π΅ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚Π°.\r\n * @since 5.5.0.1000\r\n */\r\n global.initSelectStandardRouteButton = function () {\r\n var jRoute = $('#CardContrrolRoute');\r\n if (jRoute.length === 0) {\r\n // Когда ВМ Π²Ρ‹Π±Ρ€Π°Π½ Π±ΡƒΠ΄Π΅Ρ‚ Π΄Ρ€ΡƒΠ³ΠΎΠΉ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ».\r\n jRoute = $('#CardContrrolStandartRoute');\r\n }\r\n jRoute = jRoute.closest('.reference_requisite');\r\n\r\n var jAdditionalIcons = jRoute.find('.Req_AdditionalIcons');\r\n\r\n if (!jAdditionalIcons.children('.task-card__select-standard').length) {\r\n\r\n var jSelectStandardRoute = $('

    ');\r\n\r\n if (WA.CR.State !== WORK_STATE.INIT) {\r\n // Π£ стартованной Π·Π°Π΄Π°Ρ‡ΠΈ нСльзя ΠΏΠΎΠΌΠ΅Π½ΡΡ‚ΡŒ ВМ -- ΡƒΠ±ΠΈΡ€Π°Π΅ΠΌ ΠΊΠ½ΠΎΠΏΠΊΡƒ\r\n jSelectStandardRoute.parent().remove();\r\n } else {\r\n jSelectStandardRoute.on('click', function () {\r\n ChangeStandartRoute();\r\n });\r\n\r\n // УдаляСм всС ΠΈΠΊΠΎΠ½ΠΊΠΈ Π²Π½ΡƒΡ‚Ρ€ΠΈ, Ρ‚.ΠΊ. ΠΎΠ½ΠΈ бСсполСзны с Π΄Π°Π½Π½Ρ‹ΠΌ справочником (ВМ).\r\n jAdditionalIcons.find('p').remove();\r\n\r\n // ДобавляСм Π½ΠΎΠ²ΡƒΡŽ ΠΈΠΊΠΎΠ½ΠΊΡƒ для Π²Ρ‹Π±ΠΎΡ€ ВМ.\r\n jAdditionalIcons\r\n .append(jSelectStandardRoute)\r\n .show();\r\n }\r\n }\r\n\r\n return global;\r\n };\r\n\r\n /**\r\n * ΠžΡ‚ΠΏΠΈΡΠ°Ρ‚ΡŒΡΡ ΠΎΡ‚ событий измСнСния jQuery-ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΎΠ².\r\n *\r\n * @function unbindButtonsEnabling\r\n * @memberOf Core.tasks\r\n * @since 5.7.0\r\n */\r\n global.unbindButtonsEnabling = () => {\r\n const inputsWithBindings = $('.card-tab-container__main').find('input').not('.refField');\r\n if (inputsWithBindings) {\r\n inputsWithBindings.unbind('change keyup');\r\n }\r\n };\r\n\r\n /**\r\n * Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΎΠΊ Π½Π° Π»Π΅Π½Ρ‚Π΅ для Π·Π°Π΄Π°Ρ‡.\r\n * @since 5.5.0.2201\r\n */\r\n global.bindButtonsEnabling = function () {\r\n if (!WA.CR.IsNew) {\r\n var toolBarButtons = WA.CR.toolBar.buttons;\r\n var isBindNeeded = !(toolBarButtons.isExist('TaskChange') && !toolBarButtons.TaskChange.isSelected());\r\n if (isBindNeeded) {\r\n Core.customWorks.bindButtonsEnabling('textarea.Card_Task_EditText');\r\n\r\n var toolBarButtonNames = ['TaskHighImp', 'TaskLowImp'];\r\n var enableButtonNames = ['Save'];\r\n toolBarButtonNames.forEach(function (buttonName) {\r\n var toolBarButton = toolBarButtons[buttonName];\r\n if (toolBarButton) {\r\n toolBarButton.bind('click', function () {\r\n Core.cards.enableButtonsOnFormChange(enableButtonNames);\r\n });\r\n }\r\n });\r\n\r\n const inputsWithBindings = $('.card-tab-container__main').find('input').not('.refField');\r\n inputsWithBindings.one('change keyup', function() {\r\n Core.cards.enableButtonsOnFormChange(enableButtonNames);\r\n });\r\n }\r\n }\r\n\r\n return global;\r\n };\r\n\r\n /**\r\n * Π‘ΠΎΠ·Π΄Π°Ρ‘Ρ‚ копию Π·Π°Π΄Π°Ρ‡ΠΈ ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ Π΅Ρ‘ ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΡƒ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠΉ Π²ΠΊΠ»Π°Π΄ΠΊΠ΅.\r\n * @param {int} sourceTaskId Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ исходной Π·Π°Π΄Π°Ρ‡ΠΈ.\r\n * @since 5.8.1.9000\r\n */\r\n global.createTaskCopy = function (sourceTaskId) {\r\n WA.SRV.call('Task.asmx/CreateTaskCopy', { SourceTaskID: sourceTaskId }).done((result) => {\r\n var newTaskLink = new WA.Link(result, OBJECT_TYPE.TASK);\r\n newTaskLink.open();\r\n });\r\n };\r\n\r\n /**\r\n * Π‘ΠΎΠ·Π΄Π°Ρ‘Ρ‚ ΠΊΠΎΠΏΠΈΠΈ Π·Π°Π΄Π°Ρ‡ ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ ΠΈΡ… ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΡƒ Π² ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… Π²ΠΊΠ»Π°Π΄ΠΊΠ°Ρ….\r\n * @param {int} sourceTaskId Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ исходной Π·Π°Π΄Π°Ρ‡ΠΈ.\r\n * @since 5.8.1.9000\r\n */\r\n global.createTaskCopies = function (sourceTasks) {\r\n if (!!sourceTasks) {\r\n for (i = 0; i < sourceTasks.length; ++i) {\r\n if (sourceTasks[i].kind === 'TASK') {\r\n Core.tasks.createTaskCopy(sourceTasks[i].id);\r\n }\r\n }\r\n }\r\n };\r\n\r\n})(window.Core.tasks);\r\n","\r\n(function (global) {\r\n\r\n /**\r\n * Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ Ρ€Π΅Π°Π»ΠΈΠ·ΡƒΡŽΡ‰ΠΈΠ΅ Π»ΠΎΠ³ΠΈΠΊΡƒ страниц\r\n * @namespace Core.pages\r\n * @since 5.2.0.1200\r\n */\r\n global.pages = {}\r\n})(window.Core);","\"use strict\";\r\n(function (global) {\r\n\r\n var waitIntervalID = 0;\r\n var selectedProvider;\r\n var defaultRealm;\r\n var jLogin,\r\n jPassword,\r\n jRealm,\r\n jRealmBlock,\r\n jChangePasswordBlock,\r\n jChangePasswordLink,\r\n jWinAuthLogin,\r\n jChangePasswordLabel,\r\n jLoginLabel,\r\n jDefaultRealm,\r\n jProviders,\r\n jError,\r\n jLoginContainer,\r\n jAdvancedSettingsContainer;\r\n\r\n\r\n /**\r\n * Π›ΠΎΠ³ΠΈΠΊΠ° страницы Π²Ρ…ΠΎΠ΄Π° Π²Π΅Π±-доступа\r\n * @namespace Core.pages\r\n * @since 5.2.0.1200\r\n */\r\n global.login = {\r\n\r\n init: function () {\r\n InitHoverForButtons();\r\n RemoveUserStatusCookie();\r\n log.debug('LOGIN','LoginPage initialization');\r\n\r\n this.initInputsFocus();\r\n this.initDomObjects();\r\n this.bindInputHandlers();\r\n this.onAuthenticationProviderChange($('#ProviderList'));\r\n this.detectAutomatedTesting();\r\n log.debug('LOGIN', 'LoginPage initialized'); \r\n },\r\n\r\n detectAutomatedTesting: () => {\r\n if (location.search.indexOf('autotest') > 0) {\r\n localStorage.setItem('autotest', 'true');\r\n } else {\r\n localStorage.removeItem('autotest');\r\n }\r\n },\r\n\r\n /**\r\n * Π’Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ ΠΊΡƒΠ΄Π° ΠΏΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ фокус ΠΏΡ€ΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠ΅. На ΠΏΠΎΠ»Π΅ с ΠΏΠ°Ρ€ΠΎΠ»Π΅ΠΌ ΠΈΠ»ΠΈ Π½Π° ΠΏΠΎΠ»Π΅\r\n * с Π»ΠΎΠ³ΠΈΠ½ΠΎΠΌ.\r\n */\r\n initInputsFocus: function () {\r\n var login = $(\"#LoginTextBox\");\r\n try {\r\n if (login.val() != \"\") {\r\n $(\"#PasswordTextBox\").focus();\r\n } else {\r\n login.focus();\r\n }\r\n } catch (ex) {\r\n //Π“Π»ΡƒΡˆΠΈΠΌ. \r\n };\r\n },\r\n\r\n /**\r\n * Π—Π°ΠΊΡˆΠΈΡ€ΡƒΠ΅ΠΌ всС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Ρ€Π°Π· ΠΈ Π΄ΠΎ ΠΊΠΎΠ½Ρ†Π°.\r\n * @global\r\n * @function initDomObjects \r\n */\r\n initDomObjects: function () {\r\n // jRealmBlock = $(\"#realmBlock\");\r\n // //jDefaultRealmBlock = $(\"#defaultRealmBlock\");\r\n jDefaultRealm = $(\"#DefaultRealmValue\");\r\n jProviders = $(\"#ProviderList\");\r\n // jChangePasswordBlock = $(\"#changePaswordBlock\");\r\n // jChangePasswordLink = $('#ChangePasswordLink'); \r\n // jWinAuthLogin = $('#WinAuthLogin');\r\n jLogin = $('#LoginTextBox');\r\n jPassword = $('#PasswordTextBox');\r\n jRealm = $(\"#RealmTextBox\");\r\n jChangePasswordLabel = $('.forchangepwd');\r\n jLoginLabel = $('.forlogin');\r\n jAdvancedSettingsContainer = $(\"#advancedSettingsContainer\");\r\n jError = $('#login_error');\r\n jLoginContainer = $('#login_container');\r\n },\r\n\r\n /**\r\n * НавСшиваСм ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΊΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π°\r\n * @global\r\n * @function bindInputHandlers\r\n */\r\n bindInputHandlers: function () {\r\n if (jProviders.find(\"option[value='\" + STD_AUTH_PROVIDERS.WINDOWS + \"']\").length !== 0) {\r\n jLogin.bind('keypress keyup', this.processUserName);\r\n if (WA.ENV.isAndroid()) jLogin.bind('change', this.processUserName);\r\n };\r\n },\r\n\r\n /**\r\n * ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹\r\n */\r\n toggleAdvancedSettings: function (el) {\r\n if ($(el).hasClass(\"disabled\")) return;\r\n //$('#advancedSettingsContainer').slideToggle('fast');\r\n var height = 140;\r\n $('#advancedSettings').hide('fast');\r\n \r\n $('#advancedSettingsContainer').css({ visibility: \"visible\" }).animate(\r\n { height: height, opacity: 1.0},\r\n { duration: 'normal' });\r\n $('#defaultRealmRow').animate(\r\n { height: 0, margin: 0, opacity: 1.0},\r\n { duration: 'normal' });\r\n },\r\n\r\n /**\r\n * ΠžΠΏΡ€Π°Π²ΠΊΠ° Ρ„ΠΎΡ€ΠΌΡ‹ ΠΏΠΎ Enter-Ρƒ\r\n */\r\n formSubmit: function (event) {\r\n try {\r\n var isLoginDisabled = ($(\"#LoginTextBox\").attr('disabled') == \"disabled\");\r\n var charCode = (event.which) ? event.which : window.event.keyCode;\r\n if (charCode == 13) {\r\n if (isLoginDisabled) {\r\n document.getElementById('ChangePasswordButton').onclick();\r\n } else {\r\n document.getElementById('LoginButton').onclick();\r\n }\r\n return false;\r\n }\r\n } catch (e) { };\r\n }, \r\n\r\n /**\r\n * ОбновляСм интСрфСйс ΠΏΡ€ΠΈ смСнС Ρ‚ΠΈΠΏΠ° Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ.\r\n */\r\n onAuthenticationProviderChange: function (el) {\r\n var type = el.val();\r\n selectedProvider = type;\r\n\r\n var credentials = g_userCredentials[selectedProvider];\r\n if (credentials) {\r\n var loginField = credentials[\"http://schemas.comp.npo/ws/2015/user/credentials/name\"];\r\n var passwordField = credentials[\"http://schemas.comp.npo/ws/2015/user/credentials/password\"];\r\n var realmField = credentials[\"http://schemas.comp.npo/ws/2015/user/credentials/realm\"];\r\n var enteredLogin = $(\"#LoginTextBox\").val();\r\n \r\n\r\n if (loginField) {\r\n $(\"#loginRow\").show();\r\n $(\"#LoginTextBox\").val(enteredLogin);\r\n $(\"#loginLabel\").text(loginField.caption);\r\n } else {\r\n $(\"#loginRow\").hide();\r\n }\r\n\r\n if (passwordField) {\r\n $(\"#passwordRow\").show();\r\n //$(\"#PasswordTextBox\").val('');\r\n $(\"#passwordLabel\").text(passwordField.caption);\r\n } else {\r\n $(\"#passwordRow\").hide();\r\n }\r\n\r\n if (realmField) {\r\n $(\"#defaultRealmRow\").show();\r\n $(\"#DefaultRealmValue\").val(realmField.value);\r\n $(\"#defaultRealmLabel\").text(realmField.caption);\r\n defaultRealm = realmField.value;\r\n\r\n $(\"#realmRow\").show();\r\n $(\"#RealmTextBox\").val(realmField.value);\r\n $(\"#realmLabel\").text(realmField.caption);\r\n } else {\r\n $(\"#realmRow\").hide();\r\n $(\"#defaultRealmRow\").hide();\r\n }\r\n\r\n $(\"#LoginTextBox\").attr('disabled', false);\r\n $(\"#PasswordTextBox\").attr('disabled', false);\r\n $(\"#RealmTextBox\").attr('disabled', false);\r\n } else {\r\n $(\"#LoginTextBox\").attr('disabled', true);\r\n $(\"#PasswordTextBox\").attr('disabled', true);\r\n $(\"#RealmTextBox\").attr('disabled', true);\r\n\r\n var authenticatedUserName = $(\"#AuthenticatedUserName\").val();\r\n if (authenticatedUserName != \"\") {\r\n $(\"#LoginTextBox\").val(authenticatedUserName);\r\n this.showMessageOnLogin(L('THIRD_PARTY_PASSTHROUGH_AUTHENTICATION_CONFIGURED'), MESSAGE_TYPE.INFO);\r\n }\r\n }\r\n\r\n if (selectedProvider == STD_AUTH_PROVIDERS.SQL) {\r\n $(\"#changePaswordBlock\").show();\r\n $(\"#ChangePasswordLink\").removeClass('hidden');\r\n } else {\r\n $(\"#changePaswordBlock\").hide();\r\n $(\"#ChangePasswordLink\").addClass('hidden');\r\n }\r\n },\r\n\r\n /**\r\n * ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ сообщСниС ΠΏΡ€ΠΈ Π²Ρ…ΠΎΠ΄Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.\r\n */\r\n showLogonMessage: function (msg) {\r\n $(function () {\r\n try { $(\"select\").focus(); } catch (ex) { };\r\n\r\n if ($('#modal').length == 0)\r\n $(\"form#LoginForm\").append(\"\")\r\n\r\n var $dialog = $(\"#modal\")\r\n .html(msg)\r\n .dialog({\r\n resizable: false,\r\n modal: true,\r\n autoOpen: true,\r\n title: L(\"INFO\"),\r\n width: 380,\r\n buttons:\r\n [\r\n {\r\n text: L(\"OK\"),\r\n click: function () {\r\n window.location.reload();\r\n }\r\n }\r\n ]\r\n });\r\n });\r\n InitMouseEvents();\r\n },\r\n\r\n /**\r\n * ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ сообщСниС ΠΎΠ± ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΉ смСнС пароля.\r\n */\r\n showChangePasswordMessage: function (firstMsg, firstLogin, msg) {\r\n var me = this;\r\n\r\n //Π”Π°Π½Π½Ρ‹ΠΉ ΠΊΠΎΠ΄ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ Ρ‚ΡƒΠ»Ρ‚ΠΈΠΏ вмСсто ΠΎΠΊΠ½Π° Π΄ΠΈΠ°Π»ΠΎΠ³Π°\r\n //$('#PasswordTextBox').val($('#NewPasswordTextBox').val());\r\n //HideTopSpinner(L(\"USER_PASSWORD_WAS_CHANGED_SUCCESSFULLY\"), 2000);\r\n //me.loginUser();\r\n //me.showLoginForm();\r\n //return false;\r\n\r\n $(document).ready(function () {\r\n try { $(\"select\").focus(); } catch (ex) { };\r\n\r\n if ($('#modal').length == 0)\r\n $(\"form#LoginForm\").append(\"\")\r\n\r\n var $dialog = $(\"#modal\")\r\n .html(msg)\r\n .dialog({\r\n resizable: false,\r\n modal: true,\r\n autoOpen: true,\r\n title: L(\"INFO\"),\r\n width: 360,\r\n buttons:\r\n [\r\n {\r\n text: L(\"OK\"),\r\n click: function () {\r\n if (firstMsg == 'False' && firstLogin == 'True') {\r\n $('#LoginUser').attr('disabled', true);\r\n var buttonSet = $('.ui-dialog').find('.ui-dialog-buttonset');\r\n buttonSet.find('button').attr('disabled', true);\r\n buttonSet.prepend('');\r\n $('#PasswordTextBox').val($('#NewPasswordTextBox').val());\r\n me.loginUser();\r\n me.showLoginForm();\r\n } else {\r\n if (firstMsg == 'False' && firstLogin == 'False') {\r\n $('#PasswordTextBox').val('');\r\n $('#NewPasswordTextBox').val('')\r\n $('#ConfirmPasswordTextBox').val('')\r\n me.showLoginForm();\r\n }\r\n $(this).dialog(\"close\");\r\n }\r\n }\r\n }\r\n ]\r\n });\r\n });\r\n InitMouseEvents();\r\n },\r\n\r\n ///**\r\n //* Поиск ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎ Π΄ΠΎΠΌΠ΅Π½Π΅ Π² ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ\r\n //* @innner\r\n //* @function findDomain\r\n //* @return {object}\r\n //*/\r\n //findDomain: function (text, separator) {\r\n // var hasDomain = false,\r\n // connectionString,\r\n // userName,\r\n // domain;\r\n\r\n // if (text.indexOf(separator) !== -1) {\r\n // connectionString = text.split(separator);\r\n // userName = connectionString[1];\r\n // domain = connectionString[0];\r\n // hasDomain = true;\r\n // };\r\n\r\n // return {\r\n // \"hasDomain\": hasDomain,\r\n // \"userName\": userName,\r\n // \"domain\": domain\r\n // };\r\n //},\r\n\r\n /**\r\n * ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π΄ΠΎΠΌΠ΅Π½Π° Π² строкС с ΠΈΠΌΠ΅Π½Π΅ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ\r\n * @global \r\n * @function processUserName\r\n */\r\n processUserName: function () {\r\n var findDomain = function (text, separator) {\r\n var hasDomain = false,\r\n connectionString,\r\n userName,\r\n domain;\r\n\r\n if (text.indexOf(separator) !== -1) {\r\n connectionString = text.split(separator);\r\n userName = connectionString[1];\r\n domain = connectionString[0];\r\n hasDomain = true;\r\n };\r\n\r\n return {\r\n \"hasDomain\": hasDomain,\r\n \"userName\": userName,\r\n \"domain\": domain\r\n };\r\n }\r\n\r\n if (selectedProvider == STD_AUTH_PROVIDERS.WINDOWS) {\r\n var userName = $(this).val();\r\n var separators = ['\\\\'];\r\n\r\n for (var separator in separators) {\r\n var domainInfo = findDomain(userName, separators[separator]);\r\n if (domainInfo.hasDomain) {\r\n jDefaultRealm.val(domainInfo.domain);\r\n jRealm.val(domainInfo.domain);\r\n } else {\r\n //МСняСм Π΄ΠΎΠΌΠ΅Π½ Π½Π° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π½Π΅ Π±Ρ‹Π»ΠΎ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ.\r\n if (jDefaultRealm.text() == jRealm.val()) {\r\n jDefaultRealm.val(defaultRealm);\r\n jRealm.val(defaultRealm);\r\n }\r\n }\r\n }\r\n }\r\n },\r\n\r\n /**\r\n * ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ сообщСниС Π½Π° страница Π²Ρ…ΠΎΠ΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.\r\n * @global\r\n * @function showMessageOnLogin \r\n */\r\n showMessageOnLogin: function (msg, type) {\r\n if (jError.length == 0) {\r\n jError = $('
    ');\r\n jLoginContainer.append(jError);\r\n }\r\n\r\n if (msg) {\r\n jError.html(msg).show();\r\n if (type == MESSAGE_TYPE.INFO) {\r\n jError.addClass('login__error_type_notification');\r\n } else {\r\n jError.removeClass('login__error_type_notification');\r\n }\r\n } else {\r\n jError.hide().text('');\r\n }\r\n },\r\n\r\n /**\r\n * Π‘ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ сообщСниС Π½Π° страница Π²Ρ…ΠΎΠ΄Π° ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.\r\n * @global\r\n * @function hideMessageOnLogin \r\n */\r\n hideMessageOnLogin: function () {\r\n this.showMessageOnLogin('');\r\n },\r\n\r\n /**\r\n * Если Π±Ρ‹Π»Π° Π½Π°ΠΆΠ°Ρ‚Π° ссылка \"ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ\", ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ Ρ„ΠΎΡ€ΠΌΡƒ смСны пароля.\r\n * @global\r\n * @function ShowPasswordChangeForm \r\n */\r\n showPasswordChangeForm: function (firstLogin) {\r\n jAdvancedSettingsContainer.hide();\r\n jChangePasswordLabel.removeClass('hidden');\r\n jLoginLabel.addClass('hidden');\r\n //ΠžΡ‡ΠΈΡ‰Π°Π΅ΠΌ ΠΏΠΎΠ»Π΅ пароля, ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΡƒΠ΅ΠΌ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Π²Ρ…ΠΎΠ΄ (Ρ‚.Π΅. ΠΏΠ°Ρ€ΠΎΠ»ΡŒ ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ сСйчас Π½Π΅Ρ‚)\r\n jPassword.val('');\r\n $(\"#defaultRealmRow\").hide(); \r\n jLogin.attr('disabled', true);\r\n jLogin.attr('readonly', true).addClass('react-input__field_disabled');\r\n //if (firstLogin == 'True') {\r\n // jLogin.attr('readonly', true).css('color', '#808080');\r\n // jPassword.parent().hide();\r\n //}\r\n $('#IsFirstLogin').val(firstLogin);\r\n $('#login_error').hide();\r\n return false;\r\n },\r\n\r\n /**\r\n * ПослС ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠΉ смСны пароля, Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ \"ΠžΡ‚ΠΌΠ΅Π½Π°\"\r\n * восстанавливаСтся Ρ„ΠΎΡ€ΠΌΠ° Π»ΠΎΠ³ΠΈΠ½Π°.\r\n * @global\r\n * @function ShowLoginForm \r\n */\r\n showLoginForm: function () {\r\n jAdvancedSettingsContainer.show();\r\n this.hideMessageOnLogin();\r\n jLoginLabel.not('.novell').removeClass('hidden');\r\n jChangePasswordLabel.addClass('hidden'); \r\n jLogin.attr('readonly', false).removeClass('react-input__field_disabled');\r\n jLogin.attr('disabled', false);\r\n jPassword.parent().show();\r\n return false;\r\n },\r\n\r\n changePassword: function () {\r\n var me = this;\r\n $(\"#ChangePasswordButton\").attr('disabled', true).addClass('disabled');\r\n\r\n ChangeUserPassword($(\"#ProviderList\").val(),\r\n $(\"#LoginTextBox\").val(),\r\n $(\"#PasswordTextBox\").val(),\r\n $(\"#NewPasswordTextBox\").val(),\r\n $(\"#ConfirmPasswordTextBox\").val(),\r\n $(\"#IsFirstLogin\").val(),\r\n function (message) {\r\n $(\"#ChangePasswordButton\").removeAttr('disabled').removeClass('disabled');\r\n me.hideMessageOnLogin();\r\n me.showChangePasswordMessage('False', $(\"#IsFirstLogin\").val(), message);\r\n }, function (message) {\r\n $(\"#ChangePasswordButton\").removeAttr('disabled').removeClass('disabled');\r\n me.showMessageOnLogin(message);\r\n });\r\n\r\n //CallService(\"/Authentication.asmx/ChangePassword\", {\r\n // Login: $(\"#LoginTextBox\").val(),\r\n // PasswordOld: $(\"#PasswordTextBox\").val(),\r\n // PasswordNew: $(\"#NewPasswordTextBox\").val(),\r\n // PasswordConfirm: $(\"#ConfirmPasswordTextBox\").val(),\r\n // IsFirstLogin: $(\"#IsFirstLogin\").val()\r\n //}, function (res) {\r\n // $(\"#ChangePasswordButton\").removeAttr('disabled').removeClass('disabled');\r\n // if (res.Success) {\r\n // me.hideMessageOnLogin();\r\n // me.showChangePasswordMessage('False', $(\"#IsFirstLogin\").val(), res.Warning);\r\n // } else {\r\n // me.showMessageOnLogin(res.Error);\r\n // }\r\n //}\r\n //);\r\n return false;\r\n },\r\n\r\n loginUser: function () {\r\n var me = this;\r\n clearTimeout(waitIntervalID);\r\n $(\"#LoginButton\").attr('disabled', true).addClass('disabled');\r\n waitIntervalID = setTimeout(this.showWait, 800);\r\n\r\n var userRealm = $(\"#RealmTextBox\").val();\r\n if (userRealm == \"\")\r\n userRealm = $(\"#DefaultRealmLabel\").text();\r\n\r\n LoginUser($(\"#ProviderList\").val(), $(\"#LoginTextBox\").val(), userRealm, $(\"#PasswordTextBox\").val(), ($(\"#RememberMeChk:checked\").length == 1),\r\n function (message) {\r\n clearTimeout(waitIntervalID);\r\n me.hideWait();\r\n $(\"#LoginButton\").removeAttr('disabled').removeClass('disabled');\r\n me.showPasswordChangeForm('True');\r\n me.showChangePasswordMessage('True', 'True', message);\r\n }, function (message) {\r\n clearTimeout(waitIntervalID);\r\n me.hideWait();\r\n $(\"#LoginButton\").removeAttr('disabled').removeClass('disabled');\r\n me.showLogonMessage(message);\r\n }, function (message) {\r\n clearTimeout(waitIntervalID);\r\n me.hideWait();\r\n $(\"#LoginButton\").removeAttr('disabled').removeClass('disabled');\r\n me.showMessageOnLogin(message);\r\n });\r\n return false;\r\n },\r\n\r\n showWait: function () {\r\n var loginform = $('#login_form');\r\n loginform.find(\"input, select, span, label, a\").attr('disabled', true).addClass('disabled');\r\n loginform.find(\"clearfix.forlogin\").hide();\r\n $('#ChangePwdLink').addClass('disabled');\r\n loginform.append(\"\");\r\n loginform.find(\".login_wait\").show();\r\n },\r\n\r\n hideWait: function () {\r\n var loginform = $('#login_form');\r\n loginform.find(\".login_wait\").hide().remove();\r\n loginform.find(\".clearfix.forlogin\").show();\r\n $('#ChangePwdLink').removeClass('disabled');\r\n loginform.find(\"input, select, span, label, a\").removeAttr('disabled').removeClass('disabled');\r\n }\r\n };\r\n})(window.Core.pages)","\"use strict\";\r\n(function (global) {\r\n\r\n global.explorer = {\r\n _jMainContainer: null,\r\n _jFilterContainer: null,\r\n _jSpinner: null,\r\n\r\n /**\r\n * Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊ.\r\n *\r\n * @method Core.pages.explorer.init\r\n */\r\n init: function () {\r\n var me = this;\r\n\r\n // TODO пСрСнСсти Π² Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚\r\n InitToolbar();\r\n InitExplorerSidebar();\r\n InitFolderCover();\r\n window.name = 'explorer';\r\n\r\n // Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ состояниС для истории, Ссли Π΅Π³ΠΎ Π΅Ρ‰Π΅ Π½Π΅Ρ‚.\r\n me.setCurrentState();\r\n\r\n // ОбновлСниС содСрТимого ΠΎΠΊΠ½Π°.\r\n WA.history.bind(WA.history.EVENT.CHANGE_STATE, function (state) {\r\n if (state && state.type === 'explorer' && state.folderID) {\r\n me.openFolder(state);\r\n } else {\r\n // Если state Π½Π΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ - ΠΏΠ΅Ρ€Π΅Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌ ΠΎΠΊΠ½ΠΎ.\r\n window.location.reload();\r\n }\r\n });\r\n\r\n me._jMainContainer = $('#main_container .MainContentPlaceHolder');\r\n me._jFilterContainer = $(\"#QFilter\");\r\n me._jSpinner = $('#main_container .explorer-spinner');\r\n\r\n me._initFolderTreeScroll();\r\n me._initExpandFolderTree();\r\n \r\n me._setToolbarButtonsEnabledState();\r\n },\r\n\r\n /**\r\n * Π—Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ ΡƒΠΊΠ°Π·Π°Π½Π½ΡƒΡŽ ΠΏΠ°ΠΏΠΊΡƒ.\r\n *\r\n * @method Core.pages.explorer.openFolder\r\n * @param {object} folder\r\n */\r\n openFolder(folder) {\r\n var me = this;\r\n me._jMainContainer.empty(); \r\n let folderMode = folder.folderMode || window.FOLDER_MODE.NONE;\r\n WA.SRV.request('/Folder.asmx/ContentAsHtml', {\r\n FolderId: folder.folderID,\r\n FolderMode: folderMode\r\n }).done((content) => {\r\n WA.CR.ID = folder.folderID;\r\n\r\n // Π‘ΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π΅ сообщСниС ΠΎΠ± ошибкС\r\n WA.CR.inlineHint.hide();\r\n\r\n // ПанСль Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ\r\n this._jFilterContainer.html(content.Filter);\r\n if (content.FilterJs) {\r\n _exec(content.FilterJs);\r\n }\r\n Core.footer\r\n .initFastSearchFilter()\r\n .initViewSwitchingMenu();\r\n Core.toolBars.objectList.initPreFiltersMenu();\r\n\r\n // Основной ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚.\r\n this._jMainContainer.html(content.Main);\r\n if (content.MainJs) {\r\n _exec(content.MainJs);\r\n }\r\n\r\n this._hideSpinner();\r\n\r\n // Π’Ρ‹Π΄Π΅Π»ΠΈΡ‚ΡŒ ΡƒΠ·Π΅Π» Π΄Π΅Ρ€Π΅Π²Π°\r\n if (folder.path) {\r\n WA.CR.folderTree.selectNodeByPath(folder.path);\r\n }\r\n\r\n // ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ счСтчик Π½Π΅ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π½Π½Ρ‹Ρ… для Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ΠΏΠ°ΠΏΠΊΠΈ\r\n WA.CR.folderTree.updateUnreadJobCount(folder.folderID);\r\n\r\n // Π—Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ\r\n this.setTitle(folder.title);\r\n\r\n // ΠŸΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ кастомныС стили для ΠΎΠ±Π»ΠΎΠΆΠΊΠΈ\r\n let jRightColumn = $('#right_column');\r\n const hasCoverSelector = 'folder_has_cover';\r\n if (content.HasCover) {\r\n let jCoverFrame = $('#folder_cover_frame');\r\n changeCoverStylesImages(jCoverFrame);\r\n jRightColumn.addClass(hasCoverSelector);\r\n } else {\r\n jRightColumn.removeClass(hasCoverSelector);\r\n }\r\n\r\n let hideButtons = [];\r\n let showButtons = [];\r\n switch (folder.contentType) {\r\n case 'Job':\r\n showButtons.push(WA.CR.toolBar.buttons['MarkAsRead']);\r\n break;\r\n case 'EDocument':\r\n //Если тСкущая ΠΏΠ°ΠΏΠΊΠ° допускаСт Π² качСствС ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹, Ρ‚ΠΎ скрываСм ΠΊΠ½ΠΎΠΏΠΊΡƒ ΠΏΠΎΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π½Π½ΠΎΠ΅.\r\n hideButtons.push(WA.CR.toolBar.buttons['MarkAsRead']);\r\n break;\r\n case 'ComponentToken':\r\n case 'Task':\r\n //Если тСкущая ΠΏΠ°ΠΏΠΊΠ° допускаСт Π² качСствС ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Ρ‹ запуска, Ρ‚ΠΎ скрываСм ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΏΠΎΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π½Π½ΠΎΠ΅.\r\n hideButtons.push(WA.CR.toolBar.buttons['MarkAsRead']);\r\n break;\r\n default:\r\n showButtons.push(WA.CR.toolBar.buttons['MarkAsRead']);\r\n }\r\n\r\n //ΠŸΡ€ΡΡ‡Π΅ΠΌ ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΡ‹Π΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ.\r\n hideButtons.forEach((button) => {\r\n if (!!button)\r\n button.hide();\r\n });\r\n\r\n showButtons.forEach((button) => {\r\n if (!!button)\r\n button.show();\r\n });\r\n\r\n // УдаляСм с Ρ‚ΡƒΠ»Π±Π°Ρ€Π° дСйствия ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅ΠΉ ΠΏΠ°ΠΏΠΊΠΈ ΠΈ добавляСм Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠ΅ Ссли Π΅ΡΡ‚ΡŒ.\r\n let group = WA.CR.toolBar.groups['TOOLBAR_CONTENTS_ACTIONS_GROUP'];\r\n if (group) {\r\n let buttons = group.getButtons().toArray();\r\n buttons.forEach((button) => {\r\n WA.CR.toolBar.buttons.remove(button.name);\r\n });\r\n let actionsModels = JSON.parse(content.ContentsActions);\r\n\r\n actionsModels.forEach((actionModel) => {\r\n let button = group.createButton({\r\n name: actionModel.name,\r\n text: actionModel.caption,\r\n icon: actionModel.icon,\r\n jsaction: new Function(actionModel.jsAction),\r\n contentsActionEnabledMode: actionModel.contentsActionEnableMode\r\n });\r\n button.setHints(actionModel.hint, actionModel.disabledHint);\r\n if (actionModel.isCaptionVisible) {\r\n button.showCaption();\r\n } else {\r\n button.hideCaption();\r\n }\r\n });\r\n me._setToolbarButtonsEnabledState();\r\n \r\n // Π’ΠΏΠΈΡΠ°Ρ‚ΡŒ панСль дСйствия ΠΏΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρƒ ΠΎΠΊΠ½Π° с ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ ΠΏΡ€ΠΈΠΊΠ»Π°Π΄Π½Ρ‹Ρ… дСйствий\r\n WA.CR.toolBar.resizeToolbar();\r\n \r\n }\r\n\r\n folder.folderMode = this.getCurrentViewFolderMode();\r\n this.updateOrApplyGridOptions(folder.folderID, folder.folderMode);\r\n InitTooltips();\r\n\r\n // ΠŸΠ΅Ρ€Π΅ΡΡ‡ΠΈΡ‚Π°Ρ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€Ρ‹ элСмСнтов\r\n window.setRealHeightAndWidth();\r\n }).fail((msg) => {\r\n WA.CR.inlineHint.showError(msg);\r\n });\r\n\r\n function _exec(func) {\r\n let f = new Function(func);\r\n setTimeout(function () {\r\n f.apply(window);\r\n }, 10);\r\n }\r\n },\r\n\r\n /**\r\n * БохраняСт ΠΈΠ»ΠΈ восстанавливаСт Ρ€Π΅ΠΆΠΈΠΌ отобраТСния ΠΏΠ°ΠΏΠΊΠΈ.\r\n * ВосстанавливаСт сохранённыС Π² localStorage настройки ΡˆΠΈΡ€ΠΈΠ½ ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Π³Ρ€ΠΈΠ΄Π°.\r\n * Если настроСк Π½Π΅Ρ‚, создаёт Π½ΠΎΠ²Ρ‹Π΅ со значСниями ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.\r\n * ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΠ΅Ρ‚ значСния ΠΊ Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠ΅.\r\n * Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ Ρ€Π΅ΠΆΠΈΠΌ отобраТСния ΠΏΠ°ΠΏΠΊΠΈ.\r\n *\r\n * @method Core.pages.explorer.updateOrApplyGridOptions\r\n * @param {number} folderId - ID ΠΏΠ°ΠΏΠΊΠΈ.\r\n * @param {number} [folderMode] - Ρ€Π΅ΠΆΠΈΠΌ отобраТСния ΠΏΠ°ΠΏΠΊΠΈ (см. FOLDER_MODE).\r\n * @returns {number} Ρ€Π΅ΠΆΠΈΠΌ отобраТСния ΠΏΠ°ΠΏΠΊΠΈ (см. FOLDER_MODE).\r\n * @since 5.6.0.9057\r\n */\r\n updateOrApplyGridOptions(folderId, folderMode) {\r\n const localStorageKey = window.FOLDER_GRID.WIDTHS_STORAGE_KEY;\r\n\r\n let gridWidths = JSON.parse(localStorage.getItem(localStorageKey)) || {};\r\n if (!gridWidths[ folderId ]) {\r\n gridWidths[ folderId ] = {};\r\n }\r\n let folderWidths = gridWidths[ folderId ];\r\n\r\n let storedMode = folderWidths[ window.FOLDER_GRID.FOLDER_MODE_KEY ];\r\n if ([ window.FOLDER_MODE.COVER, window.FOLDER_MODE.LIST, window.FOLDER_MODE.GRID ].includes(folderMode)) {\r\n if (!storedMode || storedMode !== folderMode) {\r\n folderWidths[ window.FOLDER_GRID.FOLDER_MODE_KEY ] = folderMode;\r\n localStorage.setItem(localStorageKey, JSON.stringify(gridWidths));\r\n }\r\n } else {\r\n folderMode = storedMode;\r\n }\r\n\r\n // ΡƒΡ…ΠΎΠ΄ΠΈΠΌ, Ссли Ρ€Π΅ΠΆΠΈΠΌ отобраТСния ΠΏΠ°ΠΏΠΊΠΈ ΠΎΡ‚Π»ΠΈΡ‡Π΅Π½ ΠΎΡ‚ Π³Ρ€ΠΈΠ΄Π°\r\n if (folderMode !== window.FOLDER_MODE.GRID) {\r\n return folderMode;\r\n }\r\n\r\n // Π±ΡƒΠ΄Π΅ΠΌ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π²ΠΈΠ΄Π° Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚\r\n let jObjectListItems = $('.object-list-item[kind=EDoc]');\r\n\r\n // ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΈΡ‚ΡŒ список ΠΊΠΎΠ»ΠΎΠ½ΠΎΠΊ Π½Π° основании Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΈ с сСрвСра\r\n let isLocalStorageOutdated = false;\r\n let jObjectListItemColumns = jObjectListItems.find('.object-list-item__addreq-item');\r\n jObjectListItemColumns.each((index, element) => {\r\n const currentWidth = folderWidths[ $(element).data().name ];\r\n if (!currentWidth) {\r\n folderWidths[ $(element).data().name ] = window.FOLDER_GRID.DEFAULT_COLUMN_WIDTH;\r\n isLocalStorageOutdated = true;\r\n }\r\n });\r\n if (isLocalStorageOutdated) {\r\n localStorage.setItem(localStorageKey, JSON.stringify(gridWidths));\r\n }\r\n\r\n // ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ сохранённыС ΡˆΠΈΡ€ΠΈΠ½Ρ‹ ΠΊ Π½ΠΎΠ²Ρ‹ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ\r\n for (let dataName in folderWidths) {\r\n let jObjectListItemColumns = jObjectListItems.find(`[data-name='${dataName}']:not(.grid-cell)`);\r\n if (jObjectListItemColumns.length) {\r\n jObjectListItemColumns\r\n .addClass('grid-cell')\r\n .width(folderWidths[ dataName ])\r\n .resizable({\r\n handles: 'e',\r\n minWidth: window.FOLDER_GRID.MIN_COLUMN_WIDTH,\r\n maxWidth: window.FOLDER_GRID.MAX_COLUMN_WIDTH,\r\n stop: (event, ui) => this._onCellResizeStop(folderId, event, ui),\r\n });\r\n }\r\n }\r\n\r\n return folderMode;\r\n },\r\n\r\n /**\r\n * ΠžΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊ событий измССния Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ячСйки Π³Ρ€ΠΈΠ΄Π°.\r\n *\r\n * @private\r\n * @param {number} folderId - ID ΠΏΠ°ΠΏΠΊΠΈ.\r\n * @param {object} event - ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ события.\r\n * @param {object} ui - ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ jQueryUI.\r\n * @since 5.6.0.9061\r\n */\r\n _onCellResizeStop(folderId, event, ui) {\r\n let cellWidth = ui.size.width;\r\n let dataName = ui.element.data().name;\r\n\r\n // сохраним Π½ΠΎΠ²ΡƒΡŽ ΡˆΠΈΡ€ΠΈΠ½Ρƒ Π² localStorage\r\n let gridWidths = JSON.parse(localStorage.getItem(window.FOLDER_GRID.WIDTHS_STORAGE_KEY)) || {};\r\n if (!gridWidths[ folderId ]) {\r\n gridWidths[ folderId ] = {};\r\n }\r\n let folderWidths = gridWidths[ folderId ];\r\n folderWidths[ dataName ] = cellWidth;\r\n localStorage.setItem(window.FOLDER_GRID.WIDTHS_STORAGE_KEY, JSON.stringify(gridWidths));\r\n\r\n // распространим Π½ΠΎΠ²ΡƒΡŽ ΡˆΠΈΡ€ΠΈΠ½Ρƒ ΠΏΠΎ всСй ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ΅\r\n let jObjectListItems = $('.object-list-item[kind=EDoc]');\r\n let jObjectListItemColumns = jObjectListItems.find(`[data-name='${dataName}']`);\r\n if (jObjectListItemColumns.length) {\r\n jObjectListItemColumns.width(cellWidth);\r\n }\r\n },\r\n\r\n /**\r\n * УстанавливаСт Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ ΠΎΠΊΠ½Π° ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊΠ°.\r\n *\r\n * @method Core.pages.explorer.setTitle\r\n * @param {} title\r\n * @returns {}\r\n */\r\n setTitle: function (title) {\r\n window.document.title = title;\r\n var folderTitle = $('.explorer-folder-name');\r\n folderTitle.text(title);\r\n folderTitle.attr('title', title);\r\n },\r\n\r\n /**\r\n * Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ ΠΎΠΊΠ½Π° ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊΠ°.\r\n *\r\n * @method Core.pages.explorer.setTitle\r\n * @returns {}\r\n */\r\n getTitle: function (title) {\r\n return $('.explorer-folder-name').text();\r\n },\r\n\r\n /**\r\n * ΠžΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ‚ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ список ΠΈ ΡƒΠ·Π΅Π» для Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ ΠΏΠ°ΠΏΠΊΠΈ.\r\n *\r\n * @method Core.pages.explorer.refreshList\r\n */\r\n refreshList: function () {\r\n var me = this;\r\n var id = WA.CR.getID();\r\n WA.CR.objectList.reload().done(function () {\r\n WA.CR.folderTree.updateNodesWithFolder(id);\r\n WA.CR.folderTree.updateUnreadJobCount(id);\r\n });\r\n },\r\n\r\n /**\r\n * Π‘Π΅Ρ€Ρ‘Ρ‚ Ρ€Π΅ΠΆΠΈΠΌ отобраТСния ΠΏΠ°ΠΏΠΊΠΈ ΠΈΠ· Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΈ, ΠΈΠ· ΠΏΠ΅Ρ€Π΅ΠΊΠ»ΡŽΡ‡Π°Ρ‚Π΅Π»Ρ #current_view.\r\n *\r\n * @since 5.6.0.9062\r\n * @returns {number} Π Π΅ΠΆΠΈΠΌ отобраТСния ΠΏΠ°ΠΏΠΊΠΈ ΠΈΠ· Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠΈ.\r\n */\r\n getCurrentViewFolderMode() {\r\n let jCurrentView = $('#current_view');\r\n if (jCurrentView.length) {\r\n return jCurrentView.data().fmode;\r\n }\r\n\r\n return window.FOLDER_MODE.LIST;\r\n },\r\n\r\n /**\r\n * УстанавливаСт history state для Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ страницы ΠΏΡ€ΠΎΠ²ΠΎΠ΄Π½ΠΈΠΊΠ°.\r\n *\r\n */\r\n setCurrentState() {\r\n let folderMode = this.getCurrentViewFolderMode();\r\n\r\n // НС устанавливаСм Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ состояниС для страниц поиска, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΡ€ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ Π½Π°Π·Π°Π΄ выполнялся поиск.\r\n if (!history.state && !location.href.toLowerCase().includes('mode=search')) {\r\n let jMainContainer = $('#main_container .MainContentPlaceHolder');\r\n let id = WA.CR.getID();\r\n let title = this.getTitle();\r\n // Если Π½Π΅Ρ‚ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° для списка, Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ ΠΏΠ°ΠΏΠΊΠΈ.\r\n let isCover = jMainContainer.find('.object_contents').length === 0;\r\n // QFilter пустой, Ссли Ρ€Π΅ΠΆΠΈΠΌ \"Волько ΠΎΠ±Π»ΠΎΠΆΠΊΠ°\"\r\n let hasCoverOnly = isCover && $('#QFilter').children().length === 0;\r\n let url = new WA.URL();\r\n let fpath = url.getParam('fpath');\r\n this.updateOrApplyGridOptions(id, folderMode);\r\n\r\n WA.history.replaceState({\r\n type: 'explorer',\r\n folderID: id,\r\n folderMode: folderMode,\r\n title: title,\r\n path: fpath,\r\n isCover: isCover,\r\n hasCoverOnly: hasCoverOnly\r\n }, title, url.asString());\r\n } else if (history.state) {\r\n this.updateOrApplyGridOptions(history.state.folderID, folderMode);\r\n }\r\n },\r\n\r\n /*\r\n * ВыполняСт быстрый поиск.\r\n * @method Core.pages.explorer.executeQuickSearch\r\n */\r\n executeQuickSearch: function (value) {\r\n // FIXME: ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ SmartSearch Π½Π° 5.8\r\n if (GetParamInURL('ext') === 'TEHKAS') {\r\n const jQuickSearch = $('.quick-search');\r\n jQuickSearch.removeClass('quick-search_active');\r\n\r\n const jQuickSearchInput = $('input', jQuickSearch);\r\n jQuickSearchInput.val('');\r\n\r\n let url = 'https://search.directum.ru/';\r\n window.open(value ? `${url}?q=${value}` : url);\r\n } else {\r\n // TODO: ΠŸΡ€ΠΎΠΈΠ·Π²Π΅ΡΡ‚ΠΈ запись Π² ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΡΠΊΡƒΡŽ статистику.\r\n var f = $(\"form:first\");\r\n var url = f.attr('action');\r\n\r\n ShowTopSpinner(L(\"SEARCHING\"));\r\n\r\n url = ChangeParamInURL(url, 'searchname', 'SrchGeneral');\r\n url = ChangeParamInURL(url, 'mode', 'search');\r\n url = RemoveParamInURL(url, 'show');\r\n url = ChangeParamInURL(url, 'value', value);\r\n url = ChangeParamInURL(url, 'sort', '-RANK');\r\n url = ChangeParamInURL(url, 'archival', 'N');\r\n url = RemoveParamInURL(url, 'uid');\r\n url = RemoveParamInURL(url, 'refcode');\r\n url = RemoveParamInURL(url, 'treeitem');\r\n\r\n //ИзмСняСм Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ критСрия \"ВСкст\" Π² Ρ„ΠΎΡ€ΠΌΠ΅ поиска Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΠ½ΠΎ Π±Ρ‹Π»ΠΎ доступно ΠΏΡ€ΠΈ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠ΅ΠΉ ΠΈΠ· Ρ„ΠΎΡ€ΠΌΡ‹ Π² ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π΅ поиска.\r\n var textCriteriaInput = f.find('input#ctl00_LeftContentPlaceHolder_CurrentSearch_SrchGeneralText');\r\n if (textCriteriaInput)\r\n textCriteriaInput.val(value);\r\n\r\n f.attr('action', url);\r\n f.submit();\r\n }\r\n },\r\n\r\n navigateToParentFolder: function () {\r\n const parentPath = this._getParentFolderPath();\r\n if (parentPath) {\r\n let id = parentPath.substring(0, parentPath.indexOf('-'));\r\n let state = { folderID: id, hasCover: false, hasCoverOnly: false, path: parentPath, title: this.getTitle() };\r\n let url = `/explorer.aspx?sys=${g_SysCode}&ext=${g_ExtName}&id=${id}&fpath=${parentPath}`;\r\n WA.history.pushState(state, state.title, url)\r\n }\r\n },\r\n\r\n /**\r\n * Π‘ΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΎΠ±Π»Π°ΡΡ‚ΡŒ с Π΄Π΅Ρ€Π΅Π²ΠΎΠΌ ΠΏΠ°ΠΏΠΊΠΈ\r\n * @private\r\n */\r\n collapseFolderTree: function () {\r\n $.when(WA.SideBarInit).then(function () {\r\n WA.CR.sideBar.collapse();\r\n });\r\n },\r\n\r\n /**\r\n * РаскрытиС области с Π΄Π΅Ρ€Π΅Π²ΠΎΠΌ ΠΏΠ°ΠΏΠΊΠΈ\r\n * @private\r\n */\r\n expandFolderTree: function () {\r\n $.when(WA.SideBarInit).then(function () {\r\n WA.CR.sideBar.expand();\r\n });\r\n },\r\n \r\n /**\r\n * Π‘ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ спиннСр.\r\n * @private\r\n */\r\n _hideSpinner: function () {\r\n var me = this;\r\n me._jMainContainer.show();\r\n me._jSpinner.hide();\r\n },\r\n\r\n /**\r\n * Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ дСйствиС раскрытия области с Π΄Π΅Ρ€Π΅Π²ΠΎΠΌ ΠΏΠ°ΠΏΠΎΠΊ.\r\n * @private\r\n */\r\n _initExpandFolderTree: function () {\r\n var me = this;\r\n $(\"#expand_tree_container, .explorer-header__expand-area\").click(function () {\r\n me.expandFolderTree();\r\n });\r\n },\r\n\r\n /**\r\n * ЗамСняСт стандартный скролл Ρƒ Π΄Π΅Ρ€Π΅Π²ΠΎ ΠΏΠ°ΠΏΠΎΠΊ.\r\n * @private\r\n */\r\n _initFolderTreeScroll: function () {\r\n $(\"#tree_container\").niceScroll({\r\n cursorcolor: \"#d8dce3\",\r\n cursorwidth: \"6px\",\r\n cursorborder: \"0\",\r\n autohidemode: \"false\",\r\n cursorborderradius: \"0\",\r\n railpadding: { right: 0 }\r\n });\r\n },\r\n\r\n /**\r\n * Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠ½ΠΎΠΏΠΊΡƒ отобраТСния ΠΏΠ°ΠΏΠΎΠΊ Π² спискС страницы.\r\n * @private\r\n */\r\n _initShowFolderInList: function () {\r\n\r\n // Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠ»ΠΈΠΊ ΠΏΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ΅ ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ/Π‘ΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΏΠ°ΠΏΠΊΠΈ Π² спискС.\r\n function bindShowFoldersInListClick() {\r\n $(\"#ShowFoldersInList\").bind('click', function () {\r\n var jShowFoldersInListButton = $(\"#ShowFoldersInList\");\r\n var selectedSelector = \"selected\";\r\n var currentFolderID = WA.current.getID();\r\n var currentNeedToShow = !jShowFoldersInListButton.hasClass(selectedSelector);\r\n\r\n WA.SRV.call(\"/Session.asmx/UpdateShowFoldersInList\", {\r\n FolderID: currentFolderID,\r\n NeedToShow: currentNeedToShow\r\n }).success(function (result) {\r\n if (currentNeedToShow) {\r\n jShowFoldersInListButton.addClass(selectedSelector)\r\n WA.CR.objectList.setIsShowFolders(true);\r\n } else {\r\n jShowFoldersInListButton.removeClass(selectedSelector);\r\n WA.CR.objectList.setIsShowFolders(false);\r\n }\r\n WA.CR.objectList.loadFolderContent(currentFolderID);\r\n });\r\n });\r\n };\r\n\r\n bindShowFoldersInListClick();\r\n\r\n WA.current.objectList\r\n .bind('onChange', function (selectedItems, allItems) {\r\n\r\n var jShowFoldersInListButton = $(\"#ShowFoldersInList\");\r\n var selectedSelector = \"selected\";\r\n\r\n if (location.href.toLowerCase().search('mode=search') < 0) {\r\n bindShowFoldersInListClick();\r\n if (WA.CR.objectList.isShowFolders())\r\n jShowFoldersInListButton.addClass(selectedSelector);\r\n else\r\n jShowFoldersInListButton.removeClass(selectedSelector);\r\n } else {\r\n jShowFoldersInListButton.hide();\r\n jShowFoldersInListButton.prev().hide();\r\n }\r\n });\r\n },\r\n\r\n /**\r\n * УстанавливаСт состояниС Selected/Unselected ΠΊΠ½ΠΎΠΏΠΎΠΊ отобраТСния ΠΏΠ°ΠΏΠΎΠΊ Π² спискС страницы.\r\n * @private\r\n */\r\n _setShowFolderInListState: function () {\r\n var jShowFoldersInListButton = $(\"#ShowFoldersInList\");\r\n var selectedSelector = \"selected\";\r\n\r\n if (location.href.toLowerCase().search('mode=search') < 0) {\r\n if (WA.CR.objectList.isShowFolders())\r\n jShowFoldersInListButton.addClass(selectedSelector);\r\n else\r\n jShowFoldersInListButton.removeClass(selectedSelector);\r\n } else {\r\n jShowFoldersInListButton.hide();\r\n jShowFoldersInListButton.prev().hide();\r\n }\r\n },\r\n\r\n /**\r\n * УстанавливаСт Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΎΠΊ Π½Π° Π»Π΅Π½Ρ‚Π΅\r\n */\r\n _setToolbarButtonsEnabledState: function () {\r\n this._bindContentsButtonsEnablingOnItemsSelect(); \r\n\r\n if (this._getParentFolderPath()) {\r\n WA.CR.toolBar.buttons['MoveUp'].enable();\r\n } else {\r\n WA.CR.toolBar.buttons['MoveUp'].disable();\r\n }\r\n },\r\n\r\n /**\r\n * УстанавливаСт Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΎΠΊ Π½Π° Π»Π΅Π½Ρ‚Π΅ ΠΏΡ€ΠΈ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠΈ записСй Π² зависимости ΠΎΡ‚ Ρ€Π΅ΠΆΠΈΠΌΠ° доступности.\r\n @private \r\n */\r\n _bindContentsButtonsEnablingOnItemsSelect: function () {\r\n WA.CR.objectList.bind('onSelect', (item, checkedItems) => {\r\n let checkedItemsCount = checkedItems.length; \r\n this._setContentsButtonsEnabling(checkedItemsCount); \r\n });\r\n },\r\n /**\r\n * УстанавливаСт Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΎΠΊ Π½Π° Π»Π΅Π½Ρ‚Π΅ ΠΏΡ€ΠΈ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠΈ записСй Π² зависимости ΠΎΡ‚ Ρ€Π΅ΠΆΠΈΠΌΠ° доступности.\r\n @private \r\n */\r\n _setContentsButtonsEnabling: function (checkedItemsCount) {\r\n let buttonsEnabledOnlyForOneSelected = WA.CR.toolBar.buttons.getButtonsEnabledOnlyForOneSelected();\r\n let buttonssEnabledForMultiSelected = WA.CR.toolBar.buttons.getButtonsEnabledForMultiSelected();\r\n if (checkedItemsCount) {\r\n Object.keys(buttonssEnabledForMultiSelected).forEach((key) => {\r\n buttonssEnabledForMultiSelected[key].enable();\r\n });\r\n } else {\r\n Object.keys(buttonssEnabledForMultiSelected).forEach((key) => {\r\n buttonssEnabledForMultiSelected[key].disable();\r\n });\r\n }\r\n if (checkedItemsCount == 1) {\r\n Object.keys(buttonsEnabledOnlyForOneSelected).forEach((key) => {\r\n buttonsEnabledOnlyForOneSelected[key].enable();\r\n });\r\n } else {\r\n Object.keys(buttonsEnabledOnlyForOneSelected).forEach((key) => {\r\n buttonsEnabledOnlyForOneSelected[key].disable();\r\n });\r\n }\r\n },\r\n\r\n /**\r\n * Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΏΡƒΡ‚ΡŒ ΠΏΠ°ΠΏΠΊΠΈ Π½Π° ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ Π²Ρ‹ΡˆΠ΅\r\n */\r\n _getParentFolderPath: function () {\r\n const path = (new WA.URL()).getParam('fpath');\r\n return path.substring(path.indexOf('-') + 1);\r\n }\r\n\r\n };\r\n})(window.Core.pages);\r\n","\"use strict\";\r\n\r\n(function (global) {\r\n /**\r\n * Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰ΠΈΠ΅ Π·Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ с Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°ΠΌΠΈ.\r\n * @namespace Core.documents\r\n * @since 5.3.0.1000\r\n */\r\n global.documents = {};\r\n})(window.Core);\r\n\r\n(function (global) {\r\n /**\r\n * ΠœΠ°ΡΡΠΎΠ²Ρ‹ΠΉ экспорт Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ²\r\n *\r\n * @param {Object[]} documents Бписок Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ²\r\n * @param {number} [needSendMail = false] ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π²Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π² письмо.\r\n * @since 5.3.0.1000\r\n */\r\n global.massExport = function (documents, needSendMail = false) {\r\n \r\n const exportFunc = function () {\r\n WA.CR.spinner.showDelayed(400);\r\n loadAvailableTransformations().done(function (transformationValues, transformationIsSuccess) {\r\n var disableTransformation = !transformationIsSuccess;\r\n\r\n var archiveName = '';\r\n var transformationName = '';\r\n var needLock = false;\r\n\r\n documents = $.isArray(documents) ? documents : WA.CR.objectList.getSelectedItems();\r\n\r\n if (documents.length > 0) {\r\n if (typeof documents[0] == 'object') {\r\n var selectedDocuments =\r\n _.filter(documents, function (item) { return item.type == OBJECT_TYPE.EDOCUMENT; });\r\n documents = _.map(selectedDocuments, function (item) { return { id: item.id, name: item.name, tr: item._jObject } });\r\n archiveName = selectedDocuments.length > 0 ? selectedDocuments[0].name + '.zip' : '';\r\n } else if (typeof documents[0] != 'number') {\r\n throw L('ERR_NOT_ALL_REQUIRED_ARGUMENTS_HAVE_BEEN_SUPLIED');\r\n }\r\n }\r\n\r\n\r\n if (documents.length == 1) {\r\n //Π΅Π΄ΠΈΠ½ΠΈΡ‡Π½Ρ‹ΠΉ экспорт\r\n EDocument(documents[0]).Export(needSendMail);\r\n return;\r\n }\r\n\r\n var exportSettings = {\r\n Documents: _.map(documents, function (doc) {\r\n return { DocumentId: doc.id, VersionNumber: 'last', Lock: false }\r\n }),\r\n CompressResult: true,\r\n PackToEsd: false\r\n };\r\n\r\n var massExportVersionAsk = 'ask';\r\n var massExportLockAsk = 'ask';\r\n var massExportLockAll = 'lock';\r\n var formBuilder = new WA.CMP.forms.FormBuilder(\"massexport\");\r\n if (!needSendMail) {\r\n formBuilder.addInput('MASS_EXPORT_DEFAULT_ARCHIVE_NAME', null, null, null, archiveName);\r\n }\r\n\r\n formBuilder.addPick('MASS_EXPORT_MAKE_TRANSFORMATION', transformationValues);\r\n\r\n formBuilder.addRadioButtons('MASS_EXPORT_VERSION', {\r\n 'last': 'MASS_EXPORT_VERSION_LAST',\r\n 'lastactive': 'MASS_EXPORT_VERSION_LAST_ACTIVE',\r\n 'ask': 'MASS_EXPORT_VERSION_ASK'\r\n }, null, 'last');\r\n formBuilder.addRadioButtons('MASS_EXPORT_LOCK', {\r\n 'lock': 'MASS_EXPORT_LOCK_ALL',\r\n 'nolock': 'MASS_EXPORT_WITHOUT_LOCK_ALL',\r\n 'ask': 'MASS_EXPORT_LOCK_ASK'\r\n }, null, 'nolock');\r\n\r\n formBuilder.addCheckbox('MASS_EXPORT_TO_STRUCTURED_DOCUMENT', false);\r\n formBuilder.addCheckbox('EXPORT_WITH_ONLY_APPROVING_SIGNATURE', false);\r\n\r\n var dialog = new WA.CMP.dialogs.BaseDialog();\r\n dialog.setHtml(formBuilder.render());\r\n dialog.title = L('MASS_EXPORT_TITLE');\r\n dialog.isShowOkButton = true;\r\n dialog.isShowCancelButton = true;\r\n\r\n key.setScope('modalwindow');\r\n\r\n dialog.bind('onShow', function () {\r\n if (disableTransformation) {\r\n formBuilder.disable('MASS_EXPORT_MAKE_TRANSFORMATION');\r\n }\r\n $('.primary').focus();\r\n });\r\n\r\n\r\n var showExportResult = function (res) {\r\n return new Promise((resolve) => {\r\n var dialog = new WA.CMP.dialogs.MessageBox();\r\n dialog.width = 600;\r\n var exportFailedDocuments = _.filter(res.Result.DocumentsMassExportResult, function (d) { return !d.Success });\r\n \r\n var messages = _.map(exportFailedDocuments, function (failedDoc) {\r\n var currentDocument = _.first(_.filter(documents, function (d) { return d.id == failedDoc.DocumentId }));\r\n return format('
  • {0} \"{1}\": {2}
  • ',\r\n L('DOCUMENT'),\r\n ('' + currentDocument.name).escapeHtml(),\r\n failedDoc.Result,\r\n (new WA.Link(currentDocument.id, OBJECT_TYPE.EDOCUMENT)).toURL().asString());\r\n });\r\n \r\n if (exportFailedDocuments.length <= 0) {\r\n if (res.Success) {\r\n const toastMsg = new WA.CMP.notifications.Toast();\r\n toastMsg.show(L('MASS_EXPORT_COMFIRMATION'));\r\n }\r\n resolve();\r\n } else {\r\n var details = new WA.CMP.forms.FormBuilder('exportDetails');\r\n details.setOrientation(ORIENTATION.VERTICAL);\r\n details.addTextFrame('MASS_EXPORT_NOT_ALL_DOCUMENTS_EXPORTED_INFORMATION_MESSAGE', '
      ' + messages.join('') + '
    ');\r\n details.renderAsync().done(function (data) {\r\n if (!res.Success || res.Warning) {\r\n dialog.showError(L('MASS_EXPORT_ERROR'), data);\r\n } else {\r\n dialog.showInfo(L('MASS_EXPORT_COMFIRMATION'), data);\r\n }\r\n resolve();\r\n });\r\n }\r\n });\r\n };\r\n\r\n // Ѐункция Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π²Π΅Π±-сСрвиса экспорта ΠΈ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚.\r\n var exportDocuments = function (exportSettings, archiveName, transformationName) {\r\n let spinnerDialog = new WA.CMP.dialogs.BaseDialog;\r\n spinnerDialog.isShowOkButton = false;\r\n spinnerDialog.width = 'auto';\r\n spinnerDialog.height = 'auto';\r\n spinnerDialog.closeOnEscape = false;\r\n\r\n // НСвидимая ΠΊΠ½ΠΎΠΏΠΊΠ° для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ сработал setScope ΠΈ нСльзя Π±Ρ‹Π»ΠΎ Π½Π° ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π΅ ΠΏΠΎ страницС Π³ΡƒΠ»ΡΡ‚ΡŒ.\r\n spinnerDialog.modalWindowButtons.push({\r\n id: 'hiddenButton',\r\n text: '',\r\n click: buttonClick = () => false,\r\n Class: 'dialog_hidden_button',\r\n });\r\n \r\n spinnerDialog.setSpinner(L('PLEASE_WAIT_DONT_CLOSE_PAGE'));\r\n spinnerDialog.setTitle(L('UI_MASS_EXPORT_SPINNER_TITLE'));\r\n spinnerDialog.removeCloseButton();\r\n let needShowSpiner = true;\r\n let lastTimestamp = 0;\r\n\r\n WA.SRV.call('/EDocument.asmx/ExportMultipleDocuments', {\r\n Settings: exportSettings,\r\n ArchiveName: archiveName,\r\n TransformationName: transformationName,\r\n }, null, null, true, true)\r\n .success(function (res, res2) {\r\n needShowSpiner = false;\r\n // Если ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΈ Π΄ΠΈΠ°Π»ΠΎΠ³ с ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠΌΠ΅ экспорта, Ρ‚ΠΎ ΠΊΡ€ΡƒΡ‚ΠΈΠΌ Π΅Π³ΠΎ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ 2 сСкунды.\r\n const spinnerDelay = setSpinnerDialogDelay(lastTimestamp);\r\n setTimeout(() => {\r\n spinnerDialog.close();\r\n showExportResult(res2)\r\n .then(() => {\r\n if (!res2.Warning) {\r\n if (needSendMail) {\r\n WebAccess.agent.edms.sendEmail(res.Result, true);\r\n } else {\r\n location.href = '/Download.ashx?accesstype=private&id=' + res.Result;\r\n } \r\n }\r\n });\r\n }, spinnerDelay)\r\n }).error(function (res, res2) {\r\n needShowSpiner = false;\r\n // Если ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΈ Π΄ΠΈΠ°Π»ΠΎΠ³ с ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠΌΠ΅ экспорта, Ρ‚ΠΎ ΠΊΡ€ΡƒΡ‚ΠΈΠΌ Π΅Π³ΠΎ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ 2 сСкунды.\r\n const spinnerDelay = setSpinnerDialogDelay(lastTimestamp);\r\n setTimeout(() => {\r\n spinnerDialog.close();\r\n if (res2 && res2.Result) {\r\n showExportResult(res2).then(() => {\r\n const someDocumentsExported = res2.Result.DocumentsMassExportResult.some((r) => r.Success);\r\n if (res2.Result.Success || someDocumentsExported) {\r\n if (needSendMail) {\r\n WebAccess.agent.edms.sendEmail(res2.Result.Result, true);\r\n } else {\r\n location.href = '/Download.ashx?accesstype=private&id=' + res2.Result.Result;\r\n } \r\n }\r\n });\r\n } else {\r\n ShowError(L('ERR_CONNECTION_RESET'));\r\n }\r\n }, spinnerDelay);\r\n });\r\n // Если Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Ρ‹ ΡΠΊΡΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Π»ΠΈΡΡŒ Π·Π° сСкунду, Ρ‚ΠΎ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π΄ΠΈΠ°Π»ΠΎΠ³ с ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ΠΌ экспорта Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ. \r\n setTimeout(() => {\r\n if (needShowSpiner) {\r\n spinnerDialog.show();\r\n lastTimestamp = Date.now();\r\n }\r\n }, 1000);\r\n };\r\n\r\n dialog.ok = function () {\r\n archiveName = needSendMail ? archiveName : formBuilder.getValue('MASS_EXPORT_DEFAULT_ARCHIVE_NAME');\r\n transformationName = formBuilder.getValue('MASS_EXPORT_MAKE_TRANSFORMATION');\r\n needLock = formBuilder.getValue('MASS_EXPORT_LOCK');\r\n\r\n exportSettings.PackToEsd = formBuilder.getValue('MASS_EXPORT_TO_STRUCTURED_DOCUMENT');\r\n exportSettings.OnlyApprovingSignaturesType = formBuilder.getValue('EXPORT_WITH_ONLY_APPROVING_SIGNATURE');\r\n\r\n var versionFromForm = formBuilder.getValue('MASS_EXPORT_VERSION');\r\n \r\n let confirmationDialog = new WA.CMP.dialogs.BaseDialog;\r\n confirmationDialog.isShowOkButton = true;\r\n confirmationDialog.isShowCancelButton = true;\r\n confirmationDialog.height = 'auto';\r\n confirmationDialog.height = 'auto';\r\n confirmationDialog.enterOk = true;\r\n confirmationDialog.closeOnEscape = true;\r\n confirmationDialog.okText = L('CONTINUE');\r\n confirmationDialog.setTitle(L('CONFIRMATION'));\r\n confirmationDialog.setHtml(L('UI_MASS_EXPORT_TRANSFORMATION_MESSAGE'));\r\n confirmationDialog.bind(WebAccess.components.dialogs.BaseDialog.EVENT.AFTER_CLOSE_BY_OK, () => {\r\n requestAnimationFrame(() => {\r\n exportDocuments(exportSettings, archiveName, transformationName);\r\n });\r\n }); \r\n\r\n if (versionFromForm == massExportVersionAsk || needLock == massExportLockAsk) {\r\n if (versionFromForm != massExportVersionAsk) {\r\n var settings = _.map(exportSettings.Documents, function (s) {\r\n return {\r\n DocumentId: s.DocumentId,\r\n VersionNumber: versionFromForm,\r\n Lock: needLock == massExportLockAll\r\n }\r\n });\r\n WA.SRV.callSync('/EDocument.asmx/GetDocumentVersions', {\r\n DocumentMassExportSettings: settings\r\n })\r\n .success(function (res) {\r\n for (var r = 0; r < res.length; r++) {\r\n for (var d = 0; d < exportSettings.Documents.length; d++) {\r\n if (exportSettings.Documents[d].DocumentId == res[r].DocumentId) {\r\n exportSettings.Documents[d].VersionNumber = res[r].VersionNumber;\r\n continue;\r\n }\r\n }\r\n }\r\n })\r\n .error(function (res) { ShowError(res) });\r\n } else {\r\n exportSettings.Documents = _.map(exportSettings.Documents, function (docSetting) {\r\n return {\r\n DocumentId: docSetting.DocumentId,\r\n VersionNumber: 1,\r\n Lock: docSetting.Lock\r\n };\r\n });\r\n }\r\n\r\n /**\r\n * ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π΄ΠΈΠ°Π»ΠΎΠ³ Π²Ρ‹Π±ΠΎΡ€Π° вСрсии ΠΈ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ.\r\n *\r\n * @function showDialogForOneDocument\r\n * @param {WA.Link} doc Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚.\r\n * @param {boolean} isLast ВрСбуСтся для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΉ ΠΎΡ‚Π²Π΅Ρ‚ ΠΏΡ€ΠΈ ΠΊΠ»ΠΈΠΊΠ΅ Π½Π° ok (Π·Π°ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ ΠΈΠ»ΠΈ Π½Π΅Ρ‚ Π΄ΠΈΠ°Π»ΠΎΠ³).\r\n * @return {Deferred} ΠžΠ±ΡŠΠ΅ΠΊΡ‚, с ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΎ вСрсии.\r\n * @see https://api.jquery.com/category/deferred-object/\r\n */\r\n var showDialogForOneDocument = function (doc, isLast) {\r\n var deferred = $.Deferred();\r\n var verNum = _.filter(exportSettings.Documents, function (setting) { return doc.id == setting.DocumentId })[0].VersionNumber;\r\n\r\n ShowModalWindow('export', {\r\n title: format('{0}: {1}', L('EXPORT_DOCUMENT_VERSION'), doc.name),\r\n okText: L('EXPORT'),\r\n afterOpen: function () {\r\n BindHelpIcoClickOnModalWindow('Export');\r\n key.setScope('baseDialog');\r\n },\r\n close: function () {\r\n clearAllModalDivs();\r\n key.setScope('common');\r\n },\r\n ok: function () {\r\n var modal = $('#modal_window');\r\n var exportParam = modal.find('input[type=\"radio\"]:checked');\r\n var version = exportParam.val();\r\n var needBlock;\r\n\r\n if (askLock)\r\n needBlock = modal.find('#lock:checked').length != 0;\r\n else\r\n needBlock = needLock === massExportLockAll;\r\n\r\n deferred.resolve({ DocumentId: doc.id, VersionNumber: version, Lock: needBlock });\r\n\r\n return isLast;\r\n },\r\n cancel: function () {\r\n deferred.resolve(doc.id);\r\n\r\n return isLast;\r\n },\r\n params: {\r\n EDocID: doc.id,\r\n ShowLock: askLock,\r\n VerNumber: verNum,\r\n Mode: 'VIEW',\r\n IsExport: true,\r\n ShowTransformations: false,\r\n ShowToEsd: false\r\n }\r\n });\r\n\r\n return deferred.promise();\r\n };\r\n\r\n var askLock = needLock == massExportLockAsk;\r\n var docSettingAsked = showDialogForOneDocument(documents[0], documents.length === 1 ? true : false);\r\n\r\n var updateExportSettings = function (prevSetting) {\r\n for (var d = 0; d < exportSettings.Documents.length; d++) {\r\n if (exportSettings.Documents[d].DocumentId == prevSetting.DocumentId) {\r\n exportSettings.Documents[d].VersionNumber = prevSetting.VersionNumber;\r\n exportSettings.Documents[d].Lock = prevSetting.Lock;\r\n break;\r\n }\r\n }\r\n };\r\n var removeDocFromExportSettings = function (docId) {\r\n exportSettings.Documents = _.reject(exportSettings.Documents, function (doc) {\r\n return doc.DocumentId == docId;\r\n });\r\n };\r\n\r\n for (var k = 1; k < documents.length; k++) {\r\n (function (doc, isLast) {\r\n docSettingAsked = docSettingAsked.then(function (prevSetting) {\r\n if (_.isObject(prevSetting)) {\r\n updateExportSettings(prevSetting);\r\n } else {\r\n removeDocFromExportSettings(prevSetting);\r\n }\r\n return showDialogForOneDocument(doc, isLast);\r\n });\r\n })(documents[k], documents.length === k + 1);\r\n }\r\n\r\n docSettingAsked.then(function (prevSetting) {\r\n if (_.isObject(prevSetting)) {\r\n updateExportSettings(prevSetting);\r\n } else {\r\n removeDocFromExportSettings(prevSetting);\r\n }\r\n if (transformationName != L('NO') || exportSettings.PackToEsd) {\r\n confirmationDialog.show();\r\n } else {\r\n exportDocuments(exportSettings, archiveName, transformationName);\r\n }\r\n });\r\n }\r\n else {\r\n exportSettings.Documents = _.map(exportSettings.Documents, function (settings) {\r\n settings.Lock = needLock === massExportLockAll;\r\n settings.VersionNumber = versionFromForm;\r\n return settings;\r\n });\r\n if (transformationName || exportSettings.PackToEsd) {\r\n confirmationDialog.show();\r\n } else {\r\n exportDocuments(exportSettings, archiveName, transformationName);\r\n }\r\n }\r\n };\r\n \r\n dialog.show();\r\n // Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ ссылки Π½Π° справку\r\n WA.SRV.call(\"/Session.asmx/GetHelpLink\", {\r\n HelpPageCode: \"5#EXPORT_EDOCUMENT\"\r\n }).success(function (res) {\r\n var exportHelpLink = {\r\n Export: JSON.parse(res)\r\n }\r\n UpdateModalWindowExtHelpLinks(exportHelpLink);\r\n BindHelpIcoClickOnModalWindow('Export');\r\n });\r\n\r\n // Π£ΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ состояниями чСкбоксов Π’ структурированный Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ ΠΈ Π­ΠΊΡΠΏΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π°ΡŽΡ‰ΠΈΠ΅ подписи\r\n var jExportWithOnlyApprovingSignature = $(\"#export_with_only_approving_signature\");\r\n var jExportToEsd = $(\"#mass_export_to_structured_document\");\r\n jExportToEsd.on(\"change\", function () {\r\n if (!$(this).prop(\"checked\"))\r\n if (jExportWithOnlyApprovingSignature.prop(\"checked\"))\r\n jExportWithOnlyApprovingSignature.prop(\"checked\", false);\r\n });\r\n jExportWithOnlyApprovingSignature.on(\"change\", function () {\r\n if ($(this).prop(\"checked\"))\r\n if (!jExportToEsd.prop(\"checked\"))\r\n jExportToEsd.prop(\"checked\", true);\r\n });\r\n\r\n WA.CR.spinner.hide();\r\n });\r\n };\r\n \r\n if (needSendMail) \r\n {\r\n Core.agent.getPlugin('mailplugin')\r\n .done(() => {\r\n exportFunc();\r\n });\r\n }\r\n else\r\n {\r\n exportFunc();\r\n }\r\n };\r\n\r\n /**\r\n * Π—Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ список доступных ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ².\r\n *\r\n * @function loadAvailableTransformations\r\n * @return {Deferred>} Бписок доступных ΠΏΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½ΠΈΠΉ.\r\n * @see https://api.jquery.com/category/deferred-object/\r\n */\r\n function loadAvailableTransformations() {\r\n var d = $.Deferred();\r\n var values = { '': L('NO') };\r\n\r\n WA.SRV.call('/EDocument.asmx/AvailableTransformations', {}, null, null, true, true).done(function (availableTransformations) {\r\n\r\n Object.assign(values, availableTransformations);\r\n\r\n d.resolve(values, true);\r\n\r\n }).fail(function () {\r\n d.resolve(values, false);\r\n });\r\n\r\n return d;\r\n };\r\n\r\n /**\r\n * Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΎΠΊ Π½Π° Π»Π΅Π½Ρ‚Π΅.\r\n * @since 5.5.2201\r\n */\r\n global.bindButtonsEnabling = function () {\r\n var buttonNames = ['Save', 'SaveAndClose'];\r\n // Π€Π»Π°Π³, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ осущСствлСния Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ ΠΊΠ½ΠΎΠΏΠΎΠΊ Π½Π΅ Π»Π΅Π½Ρ‚Π΅\r\n // Π½Π° основС Ρ€Π΅ΠΆΠΈΠΌΠ° доступности\r\n var isControlChangedBefore = false;\r\n if (WA.CR.form && WA.CR.form.isExist()) {\r\n Core.cards.bindButtonsEnablingOnFormChange(buttonNames);\r\n } else {\r\n switch (WA.CR.sideBar.tabs.current.name) {\r\n case 'ShowVerList':\r\n $('#main_container').find('[id$=EdocLifeStage]').not('.pickFieldHidden').change(function () {\r\n Core.cards.enableButtonsOnFormChange(buttonNames);\r\n if (!isControlChangedBefore) {\r\n Core.cards.setButtonsEnablingOnEnabledMode();\r\n isControlChangedBefore = true;\r\n }\r\n });\r\n break;\r\n case 'RightsList':\r\n $(\".rights-controls\").find('input[type=checkbox]').change(function () {\r\n $('.Rights').trigger('rightsChange');\r\n });\r\n $('.Rights').on('rightsChange', function () {\r\n Core.cards.enableButtonsOnFormChange(buttonNames);\r\n if (!isControlChangedBefore) {\r\n Core.cards.setButtonsEnablingOnEnabledMode();\r\n isControlChangedBefore = true;\r\n }\r\n });\r\n break;\r\n }\r\n }\r\n };\r\n\r\n})(window.Core.documents);\r\n","\"use strict\";\r\n\r\n(function (global) {\r\n /**\r\n * Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰ΠΈΠ΅ Π·Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ с заданиями.\r\n * @namespace Core.jobs\r\n * @since 5.3.0.1010\r\n */\r\n global.jobs = {};\r\n})(window.Core);\r\n\r\n(function (global) {\r\n /**\r\n * Π˜Π·ΠΌΠ΅Π½ΡΠ΅Ρ‚ статус прочитанности Π·Π°Π΄Π°Π½ΠΈΠΉ.\r\n * @description Задания ΠΏΠΎΠΌΠ΅Ρ‡Π°ΡŽΡ‚ΡΡ Π½Π΅ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π½Π½Ρ‹ΠΌΠΈ, Ссли всС Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Π΅ задания ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π½Ρ‹. Π˜Π½Π°Ρ‡Π΅, всС задания ΠΏΠΎΠΌΠ΅Ρ‡Π°ΡŽΡ‚ΡΡ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π½Π½Ρ‹ΠΌΠΈ.\r\n * @param {List} items Бписок элмСнСтов, статус прочитанности ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… трСбуСтся ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ.\r\n */\r\n global.toggleReadStatus = function (items) {\r\n var jobs = _.filter(items, function (e) { return e.type === OBJECT_TYPE.JOB });\r\n var jobIds = _.map(jobs, function (e) { return e.id });\r\n var unreadJobs = _.filter(jobs, function (job) { return job.isUnread(); });\r\n var markAsRead = unreadJobs.length > 0;\r\n\r\n WA.SRV.call('/Job.asmx/MassMarkAsRead', { JobIDList: jobIds, MarkAsRead: markAsRead }).success(function (res) {\r\n var count = -unreadJobs.length;\r\n // Shirobokov_AV: Задания ΠΏΠΎΠΌΠ΅Ρ‡Π°ΡŽΡ‚ΡΡ Π½Π΅ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π½Π½Ρ‹ΠΌΠΈ, Ссли всС Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Π΅ задания ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π½Ρ‹. Π˜Π½Π°Ρ‡Π΅, всС задания ΠΏΠΎΠΌΠ΅Ρ‡Π°ΡŽΡ‚ΡΡ ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π½Π½Ρ‹ΠΌΠΈ.\r\n if (!markAsRead) {\r\n count = jobs.length;\r\n }\r\n\r\n $.each(jobs, function (i, job) {\r\n if (markAsRead) {\r\n job.removeUnreadStyle();\r\n } else {\r\n job.addUnreadStyle();\r\n }\r\n });\r\n\r\n ChangeUnreadCountInTree(count);\r\n }).error(function (res) {\r\n (new WA.CMP.dialogs.MessageBox()).showError(res);\r\n });\r\n };\r\n \r\n /**\r\n * БохраняСт ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΡƒ задания. \r\n * @param {boolean} needClose TRUE Ссли ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ Π·Π°ΠΊΡ€Ρ‹Ρ‚Π°, ΠΈΠ½Π°Ρ‡Π΅ - FALSE.\r\n * @since 5.7.0\r\n */\r\n global.SaveInBaseJob = function (needClose) { \r\n const activeText = $('textarea#CardControl_EditedText').val();\r\n const url = (new WA.URL());\r\n WA.SRV.request('/Job.asmx/Save', {\r\n ActiveText: activeText,\r\n FolderId: url.getParam('opener') || -1,\r\n JobID: WA.CR.ID, \r\n }).done(newModel => {\r\n let model = JSON.parse(newModel);\r\n WA.CR.CardTab.updateModel(model.cardTabModel);\r\n if (needClose) {\r\n WA.CR.window.unbind('beforeClose'); \r\n WA.CR.window.close(); \r\n }\r\n }).fail(errorMessage => {\r\n WA.CR.inlineHint.showError(errorMessage);\r\n });\r\n };\r\n \r\n /**\r\n * ВыполняСт Π·Π°Π΄Π°Π½ΠΈΠ΅ с ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½Ρ‹ΠΌ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ΠΎΠΌ.\r\n *\r\n * @function Core.jobs.performJob\r\n * @param {number} jobID Π˜Π” задания.\r\n * @param {number} performResult ИндСкс Π²Π°Ρ€ΠΈΠ°Π½Ρ‚Π° выполнСния задания.\r\n * @param {boolean} [needClose = true] TRUE Ссли ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠ° Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ Π·Π°ΠΊΡ€Ρ‹Ρ‚Π°, ΠΈΠ½Π°Ρ‡Π΅ - FALSE.\r\n * @return {Deferred}\r\n * @since 5.7.0\r\n * @see https://api.jquery.com/category/deferred-object/\r\n */\r\n global.performJob = (jobID, performResult, needClose = true) => {\r\n const d = $.Deferred();\r\n let serviceURl = '/Job.asmx/PerformJob';\r\n let params = { \r\n JobID: jobID, \r\n PerformResult: performResult || 0,\r\n }; \r\n // Если это Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎΠ΅ Π·Π°Π΄Π°Π½ΠΈΠ΅, Ρ‚ΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ тСкст задания ΠΈ Π΅Π³ΠΎ Ρ‚ΠΎΠΆΠ΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Π΅ΠΌ Π² Π²Π΅Π±-ΠΌΠ΅Ρ‚ΠΎΠ΄ для сохранСния.\r\n if (jobID === WA.CR.ID) {\r\n const activeText = $('textarea#CardControl_EditedText').val();\r\n params = Object.assign(params, {\r\n ActiveText: activeText || '',\r\n }); \r\n serviceURl = '/Job.asmx/PerformJobWithTextUpdating';\r\n } \r\n WA.SRV.request(serviceURl, params).done(() => {\r\n if (needClose) {\r\n if (opener && opener.WA.getLocation() === 'explorer' && opener.WA.CR.objectList) {\r\n opener.WA.CR.objectList.reload();\r\n }\r\n // ПослС выполнСния задания Π½ΡƒΠΆΠ½ΠΎ ΡΠ½ΡΡ‚ΡŒ с Π½Π΅Π³ΠΎ Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΡƒ\r\n WA.SRV.request('Job.asmx/FreeJob', { JobID: jobID }).always(() => {\r\n WA.CR.window.unbind('beforeClose');\r\n WA.CR.window.close(); \r\n }); \r\n }\r\n d.resolve();\r\n }).fail(errorMessage => {\r\n WA.CR.inlineHint.showError(errorMessage);\r\n d.reject(errorMessage);\r\n });\r\n return d.promise();\r\n }\r\n\r\n})(window.Core.jobs)\r\n","\"use strict\";\r\n\r\n(function (global) {\r\n /**\r\n * Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰ΠΈΠ΅ Π·Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ с Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π°ΠΌΠΈ выполнСния заданиями.\r\n * @namespace Core.performResults\r\n * @since 5.7.0\r\n */\r\n global.performResults = {};\r\n})(window.Core.jobs);\r\n\r\n(function (global) {\r\n\r\n global.performResultsInit = $.Deferred();\r\n _performResults = {};\r\n\r\n global.init = (performResults) => {\r\n this._performResults = performResults;\r\n global.performResultsInit.resolve();\r\n }\r\n\r\n /**\r\n * Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния ΠΏΠΎ ΠΊΠΎΠ΄Ρƒ.\r\n *\r\n * @function Core.jobs.performResults.getByCode\r\n * @param {string} code Код Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° выполнСния.\r\n * @return {} Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния.\r\n * @since 5.7.0\r\n */\r\n global.getByCode = (code) => {\r\n return _performResults.find(res => res.Code === code);\r\n }\r\n\r\n /**\r\n * Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ.\r\n *\r\n * @function Core.jobs.performResults.getByName\r\n * @param {string} name НаимСнованиС Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° выполнСния.\r\n * @return {} Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния.\r\n * @since 5.8.1\r\n */\r\n global.getByName = (name) => {\r\n return _performResults.find(res => res.Name === name);\r\n }\r\n\r\n /**\r\n * Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ всС Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ выполнСния.\r\n *\r\n * @function Core.jobs.performResults.getAll \r\n * @return {array} ΠŸΠ΅Ρ€Π΅Ρ‡Π΅Π½ΡŒ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² выполнСния задания.\r\n * @since 5.7.0\r\n */\r\n global.getAll = () => {\r\n return _performResults;\r\n }\r\n\r\n})(window.Core.jobs.performResults)\r\n","'use strict';\r\n\r\n/**\r\n * ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΠ΅Ρ‚ инструмСнты для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с АгСнтом Π²Π΅Π±-доступа.\r\n * НапримСр, Π·Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΈΠ»ΠΈ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ АгСнт Π²Π΅Π±-доступа.\r\n *\r\n * @namespace WebAccess.agent\r\n * @since 5.0.0.4100\r\n */\r\n\r\n(function (global) {\r\n var Agent = global.agentCore.Agent.extend({\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅Ρ‚, Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ Π»ΠΈ Π·Π°ΠΏΡ€Π΅Ρ‚ Π½Π° использованиС ΠΈ запуск АгСнта Π²Π΅Π±-доступа.\r\n *\r\n * @method WebAccess.agent.isDisabled\r\n * @return {boolean} True – Π·Π°ΠΏΡ€Π΅Ρ‚ Π½Π° использованиС ΠΈ запуск АгСнт Π²Π΅Π±-доступа Π²ΠΊΠ»ΡŽΡ‡Π΅Π½, ΠΈΠ½Π°Ρ‡Π΅ False.\r\n * @since 5.1.0.1511\r\n */\r\n isDisabled: function () {\r\n var isDisabledValue = WA.cache.getItem('agent.isDisabled');\r\n $.cookie('IsAgentDisabled', isDisabledValue, { expires: 3650 });\r\n return isDisabledValue === '1';\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π’ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π·Π°ΠΏΡ€Π΅Ρ‚ Π½Π° использованиС ΠΈ запуск АгСнта Π²Π΅Π±-доступа.\r\n *\r\n * @method WebAccess.agent.disable\r\n * @return {WebAccess.agent} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° agent.\r\n * @since 5.1.0.1511\r\n */\r\n disable: function () {\r\n log.warning('AGENT', 'Agent was manualy disabled');\r\n WA.cache.setItem('agent.isDisabled', '1');\r\n $.cookie('IsAgentDisabled', '1', { expires: 3650 });\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠžΡ‚ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ Π·Π°ΠΏΡ€Π΅Ρ‚ Π½Π° использованиС ΠΈ запуск АгСнта Π²Π΅Π±-доступа.\r\n *\r\n * @method WebAccess.agent.enable\r\n * @return {WebAccess.agent} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° agent.\r\n * @since 5.1.0.1511\r\n */\r\n enable: function () {\r\n log.info('AGENT', 'Agent was manualy enabled');\r\n WA.cache.setItem('agent.isDisabled', '0');\r\n $.cookie('IsAgentDisabled', '0', { expires: 3650 });\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠžΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅Ρ‚, сохранСно Π»ΠΈ Π² кэшС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΎ Π·Π°ΠΏΡ€Π΅Ρ‚Π΅ Π½Π° использованиС ΠΈ запуск АгСнта Π²Π΅Π±-доступа.\r\n *\r\n * @method WebAccess.agent.isDisableSetted\r\n * @return {boolean} True – Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² кэшС сохранСно, ΠΈΠ½Π°Ρ‡Π΅ False.\r\n * @since 5.4.0.1037\r\n */\r\n isDisableSetted: function () {\r\n return WA.cache.getItem('agent.isDisabled') !== null;\r\n },\r\n\r\n /**\r\n * @override\r\n * @see agentCore.Agent.isAvailable\r\n */\r\n isAvailable: function () {\r\n return this.canUseInCurrentDevice() && !this.isDisabled();\r\n },\r\n\r\n /**\r\n * ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅Ρ‚, доступСн Π»ΠΈ АгСнт Π²Π΅Π±-доступа. Π’ случаС нСдоступности Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ сообщСниС.\r\n * \r\n * @method WebAccess.agent.checkAvailable\r\n * @return {boolean} True – АгСнт Π²Π΅Π±-доступа доступСн для Ρ€Π°Π±ΠΎΡ‚Ρ‹, ΠΈΠ½Π°Ρ‡Π΅ False.\r\n * @since 5.7.0\r\n */\r\n checkAvailability() {\r\n if (!this.isAvailable()) { \r\n ShowInfo(L('AGENT_NEED_ENABLE_FOR_EXECUTE'));\r\n return false;\r\n }\r\n return true;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅Ρ‚, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ использованиС АгСнта Π²Π΅Π±-доступа Π½Π° Π΄Π°Π½Π½ΠΎΠΌ устройствС.\r\n *\r\n * @method WebAccess.agent.canUseInCurrentDevice\r\n * @return {boolean} True – использованиС АгСнта Π²Π΅Π±-доступа Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, ΠΈΠ½Π°Ρ‡Π΅ False.\r\n *\r\n * @example\r\n * if (WebAccess.agent.canUseInCurrentDevice()) {\r\n * alert('ИспользованиС АгСнта Π²Π΅Π±-доступа Π½Π° Π΄Π°Π½Π½ΠΎΠΌ устройствС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ.');\r\n * };\r\n */\r\n canUseInCurrentDevice: function () {\r\n var isARM = WA.ENV.ua.toLowerCase().search(/arm/) >= 0;\r\n var isBlackberry = WA.ENV.os.name === \"BlackBerry\";\r\n return !WA.ENV.isAndroid() && !WA.ENV.isIOS() && !isARM && !isBlackberry && !localStorage.getItem('autotest');\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n\r\n /**\r\n * ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅Ρ‚, Ρ‡Ρ‚ΠΎ сСссия АгСнта Π²Π΅Π±-доступа ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π°.\r\n *\r\n * @method WebAccess.agent.isSessionInitialized\r\n * @return {boolean} True – сСссия АгСнта Π²Π΅Π±-доступа ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½Π°, ΠΈΠ½Π°Ρ‡Π΅ False.\r\n * @since 5.1.0.1511\r\n */\r\n isSessionInitialized: function () {\r\n return $.cookie('IsAgentSessionInitialized') === '1';\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * УстанавливаСт ΠΏΡ€ΠΈΠ·Π½Π°ΠΊ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ сСссии АгСнта Π²Π΅Π±-доступа.\r\n *\r\n * @param {Boolean} value УстанавливаСмоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅\r\n * @method WebAccess.agent.setSessionInitialized\r\n * @return {WebAccess.agent} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° agent.\r\n * @since 5.1.0.1511\r\n */\r\n setSessionInitialized: function (value) {\r\n log.info('AGENT', 'Setting IsAgentSessionInitialized cookie with value: ' + value);\r\n $.cookie('IsAgentSessionInitialized', value ? '1' : '0');\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ состояниС Π°Π³Π΅Π½Ρ‚Π°.\r\n *\r\n * @method WebAccess.agent._showState\r\n * @return {WebAccess.agent}\r\n * @since 5.1.0.1532\r\n * @private\r\n */\r\n _showState: function () {\r\n log.debug('AGENT', '------------ AGENT STATE --------------');\r\n log.debug('AGENT', 'web.config enabled: ' + g_IsAgentEnabled);\r\n log.debug('AGENT', 'isDisabled: ' + WA.agent.isDisabled());\r\n log.debug('AGENT', 'isSessionInitialized: ' + WA.agent.isSessionInitialized());\r\n log.debug('AGENT', '---------------- END -----------------');\r\n },\r\n\r\n /**\r\n * УстанавливаСт ΠΏΠ»Π°Π³ΠΈΠ½ Π°Π³Π΅Π½Ρ‚Π°.\r\n *\r\n * @method WebAccess.agent._installPlugin\r\n * @return {Boolean} True - ΠΏΠ»Π°Π³ΠΈΠ½ установлСн ΠΈ доступСн, ΠΈΠ½Π°Ρ‡Π΅ False. \r\n * @since 5.8.0.9021\r\n * @private\r\n */\r\n _installPlugin: function (pluginName) {\r\n const d = $.Deferred();\r\n // Если ΠΏΠ»Π°Π³ΠΈΠ½ Π΄ΠΎΠ»Π³ΠΎ загруТаСтся - Π·Π°Π±Π»ΠΎΠΊΠΈΡ€ΡƒΠ΅ΠΌ интСрфСйс ΠΌΠΎΠ΄Π°Π»ΡŒΠ½Ρ‹ΠΌ ΠΎΠΊΠ½ΠΎΠΌ.\r\n const dialog = new WA.CMP.dialogs.BaseDialog();\r\n dialog.isShowOkButton = false;\r\n dialog.width = 'auto';\r\n dialog.height = 'auto';\r\n dialog.closeOnEscape = false;\r\n // НСвидимая ΠΊΠ½ΠΎΠΏΠΊΠ° для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ сработал setScope ΠΈ нСльзя Π±Ρ‹Π»ΠΎ Π½Π° ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π΅ ΠΏΠΎ страницС Π³ΡƒΠ»ΡΡ‚ΡŒ.\r\n dialog.modalWindowButtons.push({\r\n id: 'hiddenButton',\r\n text: '',\r\n click: buttonClick = () => false,\r\n Class: 'dialog_hidden_button'\r\n }); \r\n dialog.setSpinner(L('PLEASE_WAIT_DONT_CLOSE_PAGE'));\r\n dialog.setTitle(L('UI_PLUGIN_DOWNLOADING_SPINNER_TITLE'));\r\n dialog.removeCloseButton();\r\n let needShowSpiner = true;\r\n let lastTimestamp = 0;\r\n RequestToken(TOKEN_OPERATION.UPDATE_AGENT, token => {\r\n const requestParams = {\r\n Token: token,\r\n Name: pluginName,\r\n SessionID: g_UserContextID,\r\n };\r\n WA.agent.transmitRequest('InstallPlugin', '', requestParams).done(response => {\r\n needShowSpiner = false;\r\n // Если ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΈ Π΄ΠΈΠ°Π»ΠΎΠ³ с ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ΠΌ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΏΠ»Π°Π³ΠΈΠ½Π°, Ρ‚ΠΎ ΠΊΡ€ΡƒΡ‚ΠΈΠΌ Π΅Π³ΠΎ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ 2 сСкунды.\r\n const spinnerDelay = setSpinnerDialogDelay(lastTimestamp);\r\n setTimeout(() => {\r\n dialog.close;\r\n d.resolve(response);\r\n }, spinnerDelay);\r\n }).fail((response) => {\r\n needShowSpiner = false;\r\n // Если ΠΏΠΎΠΊΠ°Π·Π°Π»ΠΈ Π΄ΠΈΠ°Π»ΠΎΠ³ с ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ΠΌ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ΠΏΠ»Π°Π³ΠΈΠ½Π°, Ρ‚ΠΎ ΠΊΡ€ΡƒΡ‚ΠΈΠΌ Π΅Π³ΠΎ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌ 2 сСкунды.\r\n const spinnerDelay = setSpinnerDialogDelay(lastTimestamp);\r\n setTimeout(() => {\r\n dialog.close();\r\n d.reject(response);\r\n }, spinnerDelay);\r\n });\r\n });\r\n // Если ΠΏΠ»Π°Π³ΠΈΠ½ загрузился Π·Π° сСкунду, Ρ‚ΠΎ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π΄ΠΈΠ°Π»ΠΎΠ³ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ. \r\n setTimeout(() => {\r\n if (needShowSpiner) {\r\n dialog.show();\r\n lastTimestamp = Date.now();\r\n }\r\n }, 1000); \r\n return d;\r\n },\r\n\r\n /**\r\n * @override\r\n * @see agentCore.Agent.isPluginAvailable\r\n */\r\n isPluginAvailable: function (pluginName) {\r\n const d = $.Deferred();\r\n this._super(pluginName, g_UserContextID).done(res => {\r\n if (res == 'NOT_INSTALLED') {\r\n this._installPlugin(pluginName).done(response => {\r\n d.resolve(response.result);\r\n }).fail(response => {\r\n if (response.result == 'INCOMPATIBLE_PLUGIN_VERSION') {\r\n WA.CR.inlineHint.showWarning(L('ERR_UI_AGENT_UPDATE_REQUIRED', '', INLINE_HINT_PRIORITY.PRIMARY, true));\r\n } else {\r\n WA.CR.inlineHint.showError(L('ERR_UI_AGENT_PLUGIN_UNAVAILABLE', pluginName));\r\n }\r\n log.warning('AGENT', response.result + ': ' + !!response.message ? response.message : '');\r\n d.resolve(false);\r\n });\r\n } else if (res == 'AGENT_UPDATE_REQUIRED') {\r\n WA.CR.inlineHint.showWarning(L('ERR_UI_AGENT_UPDATE_REQUIRED', '', INLINE_HINT_PRIORITY.PRIMARY, true));\r\n d.resolve(false);\r\n } else {\r\n d.resolve(res);\r\n }\r\n }).fail(res => {\r\n d.reject(res);\r\n });\r\n return d;\r\n },\r\n\r\n /**\r\n * @override\r\n * @see agentCore.Agent.transmitRequest\r\n */\r\n transmitRequest: function (requestName, pluginName, params, extraParams) {\r\n const d = $.Deferred();\r\n this._super(requestName, pluginName, params, g_UserContextID, extraParams).done(res => {\r\n d.resolve(res);\r\n }).fail(res => {\r\n // ΠŸΠ΅Ρ€Π΅Π½Π΅Ρ Π»ΠΎΠΊΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡŽ ΠΎΡ‚Π²Π΅Ρ‚Π° 'CONNECTION_NOT_AVAILABLE' ΠΈΠ· js api Π°Π³Π΅Π½Ρ‚Π°,\r\n // Ρ‚.ΠΊ. Ρ‚Π°ΠΌ Π½Π΅ Ρ…ΠΎΡ€ΠΎΡˆΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΡΠΏΠ΅Ρ†ΠΈΡ„ΠΈΡ‡Π½ΡƒΡŽ Π»ΠΎΠ³ΠΈΠΊΡƒ DIR5.\r\n if (!!res && !!res.message && res.message === 'CONNECTION_NOT_AVAILABLE') {\r\n d.reject({ message: L(res.message), success: res.success });\r\n } else {\r\n d.reject(res);\r\n }\r\n });\r\n return d;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Окно ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠ΅ ΠΏΡ€ΠΈ ΠΏΠΎΡ‚Π΅Ρ€Π΅ связи с Π°Π³Π΅Π½Ρ‚ΠΎΠΌ.\r\n *\r\n * @method WebAccess.agent._showWaitMoreDialog\r\n * @since 5.1.0.1511\r\n * @private\r\n * @return WebAccess.agent\r\n */\r\n _showWaitMoreDialog: function () {\r\n var me = this;\r\n\r\n if (!!me._showWaitMoreDialogTimeout) clearTimeout(me._showWaitMoreDialogTimeout);\r\n me._showWaitMoreDialogTimeout = setTimeout(function () {\r\n\r\n var isAgentStartedAfterWait = false;\r\n\r\n var cancelClickAndOnClose = function () {\r\n if (!isAgentStartedAfterWait) {\r\n WA.agent.disable();\r\n window.location.reload();\r\n }\r\n };\r\n\r\n var d = new WA.CMP.dialogs.MessageBox();\r\n d.id = 'waitMore';\r\n //d.isSingleInstance = true;\r\n d.width = 450;\r\n d.okCancelButtons(function okClick() {\r\n d.disableButton('modal_ok_button');\r\n d.inlineHint.showWarning(L('AGENT_WAITING_START'));\r\n $('#new_error_container').find('ui-icon').css({\r\n background: 'url(\"images/spinner.gif\")',\r\n });\r\n\r\n global.WA.agent.transport.waitForStart(60000).done(function () {\r\n log.info('AGENT', 'Waiting for agent is done');\r\n // Всё ΠΆΠ΅ доТдались старта.\r\n isAgentStartedAfterWait = true;\r\n d.close();\r\n }).fail(function (reason) {\r\n log.info('AGENT', 'Waiting for agent is failed');\r\n\r\n d.enableButton('modal_ok_button');\r\n // НС доТдались.\r\n d.inlineHint.show(L('AGENT_WAITING_START_FAIL'));\r\n });\r\n\r\n return false;\r\n }, cancelClickAndOnClose);\r\n d.okText = L('WAIT_AGENT');\r\n d.cancelText = L('CONTINUE_WITHOUT_AGENT');\r\n d.show(L('AGENT_NOT_RESPONSE_WAIT_MORE'), L('AGENT_NOT_RESPONSE_WAIT_MORE_ADDITIONAL_TEXT'), L('ERROR'), 'error', null, cancelClickAndOnClose);\r\n\r\n log.info('AGENT', 'WaitMoreDialog was shown');\r\n\r\n }, 400);\r\n return this;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n _showWaitMoreDialogTimeout: null,\r\n\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Окно ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠ΅ ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΈ ΠΊ Π°Π³Π΅Π½Ρ‚Ρƒ Π² Π΄Ρ€ΡƒΠ³ΠΎΠΉ сСссии ОБ.\r\n *\r\n * @method WebAccess.agent._showAgentStartedInAnotherSessionDialog\r\n * @since 5.1.0.1511\r\n * @private\r\n */\r\n _showAgentStartedInAnotherSessionDialog: function () {\r\n var d = new WA.CMP.dialogs.MessageBox();\r\n d.id = 'anotherSessionError';\r\n d.isSingleInstance = true;\r\n d.okText = L('CONTINUE_WITHOUT_AGENT');\r\n d.show(L('AGENT_RUNNING_IN_AHOTHER_WINDOWS_SESSION'), L('AGENT_RUNNING_IN_AHOTHER_WINDOWS_SESSION_ADDITIONAL_TEXT'), L('ERROR'), 'error', null, function () {\r\n WA.agent.disable();\r\n window.location.reload();\r\n });\r\n log.info('AGENT', 'AgentStartedInAnotherSessionDialog was shown');\r\n },\r\n\r\n /**\r\n * @override\r\n * @see agentCore.Agent.start\r\n */\r\n start: function (opt_force) {\r\n return this._super(g_UserContextID);\r\n },\r\n\r\n /**\r\n * @override\r\n * @see agentCore.Agent.restart\r\n */\r\n restart: function () {\r\n return this._super(g_UserContextID);\r\n },\r\n\r\n /**\r\n * @override\r\n * @see agentCore.Agent.download\r\n */\r\n download: function (packageName) {\r\n var def = $.Deferred();\r\n\r\n if (!packageName) {\r\n var platform = WA.ENV.platform;\r\n var os = WA.ENV.os.name.toLowerCase();\r\n\r\n switch (platform) {\r\n case 'linux':\r\n if (os === 'mint' || os === 'ubuntu' || os === 'debian') {\r\n packageName = platform + '_deb';\r\n } else {\r\n packageName = platform + '_rpm';\r\n }\r\n break;\r\n case 'windows':\r\n if (WA.ENV.os.version === 'XP') {\r\n packageName = 'windows_xp';\r\n } else {\r\n packageName = 'windows';\r\n }\r\n break;\r\n default:\r\n packageName = platform;\r\n }\r\n }\r\n\r\n if (g_AgentInstallID[packageName]) {\r\n window.open('/Download.ashx?accesstype=0&id=' + g_AgentInstallID[packageName]);\r\n def.resolve(packageName);\r\n } else {\r\n def.reject();\r\n }\r\n\r\n return def;\r\n },\r\n\r\n /**\r\n * @override\r\n * @see agentCore.Agent.checkSessionState\r\n */\r\n checkSessionState: function (attemptNumber) {\r\n return this._super(attemptNumber, g_UserContextID, this._showAgentStartedInAnotherSessionDialog);\r\n },\r\n\r\n /**\r\n * @override\r\n * @see agentCore.Agent.uploadLogs\r\n */\r\n uploadLogs: function () {\r\n var me = this;\r\n var d = $.Deferred();\r\n\r\n WA.SRV.callSync('/Security.asmx/GetOpToken0', { Operation: TOKEN_OPERATION.DIAGNOSTICS }).done((token) => {\r\n d = me._super(token, g_UserContextID);\r\n });\r\n\r\n return d.promise();\r\n },\r\n\r\n /**\r\n * @override\r\n * @see agentCore.Agent.keepAlive\r\n */\r\n keepAlive: function() {\r\n return this._super(g_UserContextID);\r\n },\r\n\r\n /**\r\n * @override\r\n * @see agentCore.Agent.beginSession\r\n */\r\n beginSession: function() {\r\n var me = this;\r\n var d = $.Deferred();\r\n WA.SRV.callSync('/Security.asmx/GetPermanentOpToken', { Operation: TOKEN_OPERATION.DIAGNOSTICS }).done((token) => {\r\n var params = {\r\n 'UserLanguage': currentCultureName.split('-')[0],\r\n 'UserName': g_User.Name,\r\n 'SystemLanguage': appLang,\r\n 'SessionID': g_UserContextID,\r\n 'System': g_SysCode,\r\n 'IsSecured': (document.location.protocol == 'http:' ? 'n' : 'y'),\r\n 'Host': document.location.host,\r\n 'WebLinkServer': g_WebServerName,\r\n 'SessionUpdateTime': typeof SessionUpdateTime !== 'undefined' ? SessionUpdateTime : (10 * 60000),\r\n 'MaxRequestLength': g_MaxJsonRequestLength,\r\n 'NewJobsNotificationToken': '',\r\n 'LogServiceToken': token,\r\n 'ClientAffinity': $.cookie('ARRAffinity') || ''\r\n };\r\n\r\n me._super(params).done((result) => {\r\n d.resolve(result);\r\n }).fail((result) => {\r\n d.reject(result);\r\n });\r\n });\r\n \r\n return d.promise();\r\n },\r\n\r\n /**\r\n * @override\r\n * @see agentCore.Agent.endSession\r\n */\r\n endSession: function() {\r\n return this._super(g_UserContextID);\r\n },\r\n\r\n /**\r\n * @override\r\n * @see agentCore.Agent.setLanguage\r\n */\r\n setLanguage: function(language) {\r\n return this._super(language, g_UserContextID);\r\n }\r\n\r\n });\r\n\r\n global.WA.agent = new Agent();\r\n global.WA.agent.Agent = Agent;\r\n global.WA.agent.transport = global.agentCore.transport;\r\n $.when(global.WA.agent.transport.httpReady).then(function () {\r\n WA.AgentInit.resolve();\r\n });\r\n\r\n})(window);\r\n","'use strict';\r\n\r\n/**\r\n * ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΠ΅Ρ‚ инструмСнты для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с обновлСниями АгСнта Π²Π΅Π±-доступа.\r\n *\r\n * @namespace WebAccess.agent.updates\r\n * @since 5.0.0.4100\r\n */\r\n(function (global) {\r\n var updates = {\r\n\r\n /**\r\n * ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ для АгСнта Π²Π΅Π±-доступа.\r\n *\r\n * @method WebAccess.agent.updates.checkUpdates\r\n * @returns {Deferred} True – АгСнт Π²Π΅Π±-доступа ΠΈΠΌΠ΅Π΅Ρ‚ ΠΎΠ΄Π½ΠΎ ΠΈΠ»ΠΈ нСсколько ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠΉ, ΠΈΠ½Π°Ρ‡Π΅ False.\r\n * @see https://api.jquery.com/category/deferred-object/\r\n */\r\n checkUpdates: function() {\r\n var d = $.Deferred();\r\n\r\n //ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ Ρ‚ΠΎΠΊΠ΅Π½ Π½Π° запрос ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ ΠΎ Π½ΠΎΠ²Ρ‹Ρ… заданиях\r\n WA.SRV.callSync('/Security.asmx/GetOpToken0', { Operation: TOKEN_OPERATION.UPDATE_AGENT }).done(function(token) {\r\n d = global.checkUpdates(token, g_UserContextID);\r\n });\r\n\r\n return d.promise();\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ прогрСссС Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ обновлСния АгСнта Π²Π΅Π±-доступа.\r\n * РассчитываСтся Π² ΠΏΡ€ΠΎΡ†Π΅Π½Ρ‚Π°Ρ….\r\n *\r\n * @method WebAccess.agent.updates.getUpdateProgress\r\n * @returns {number} ΠŸΡ€ΠΎΡ†Π΅Π½Ρ‚ Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½ΠΎΠ³ΠΎ обновлСния.\r\n */\r\n getUpdateProgress: function() {\r\n return global.getUpdateProgress(g_UserContextID);\r\n }\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n };\r\n\r\n global.updates = updates;\r\n})(window.WebAccess.agent);\r\n","\"use strict\";\r\n\r\n/**\r\n * ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΠ΅Ρ‚ инструмСнты для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с EDMS-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ Ρ‡Π΅Ρ€Π΅Π· АгСнт Π²Π΅Π±-доступа.\r\n *\r\n * @namespace WebAccess.agent.edms\r\n * @since 5.0.0.4100\r\n */\r\n(function (global) {\r\n\r\n var edms = {\r\n /**\r\n * ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅Ρ‚ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΏΠΈΠΉ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ².\r\n * Если Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠΎΠΏΠΈΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Π½Π°ΠΉΠ΄Π΅Π½Ρ‹, отобразится ΠΎΠΊΠ½ΠΎ с ΠΏΠΎΠ»Π½Ρ‹ΠΌ списком ΠΊΠΎΠΏΠΈΠΉ.\r\n *\r\n * @method WebAccess.agent.edms.checkDocumentLocalCopies\r\n * @return {WebAccess.agent.edms} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° edms.\r\n */\r\n checkDocumentLocalCopies: function () {\r\n //FIXME: always ΠΏΠ΅Ρ€Π΅Π΄Π΅Π»Π°Ρ‚ΡŒ Π½Π° done ΠΈ fail\r\n global.isPluginAvailable('DocumentPlugin').always((isAvailableResponse) => {\r\n if (isAvailableResponse) {\r\n global.transmitRequest('CheckDocumentLocalCopies', 'DocumentPlugin', {}).done((response) => {\r\n var localCopies = response.result;\r\n if (localCopies.length > 0) {\r\n ShowLocalCopiesWindow($.toJSON(localCopies));\r\n }\r\n }).fail(function (response) {\r\n ShowError(response.message);\r\n });\r\n }\r\n });\r\n return global;\r\n },\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ список Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ².\r\n *\r\n * @method WebAccess.agent.edms.getOpenedDocuments\r\n * @return {Deferred} Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ запроса.\r\n * @see https://api.jquery.com/category/deferred-object/\r\n */\r\n getOpenedDocuments: function () {\r\n var def = $.Deferred();\r\n global.isPluginAvailable('DocumentPlugin').done(function (isAvailable) {\r\n if (isAvailable) {\r\n global.transmitRequest('CHECKOPENEDDOCUMENTS', 'DocumentPlugin', {}).done((response) => {\r\n var docs = response.result;\r\n def.resolve(docs);\r\n }).fail(function (response) {\r\n def.reject(response.message);\r\n });\r\n } else {\r\n def.reject();\r\n }\r\n }).fail(function () {\r\n def.reject();\r\n });\r\n\r\n return def;\r\n },\r\n\r\n /**\r\n * ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅Ρ‚ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ локальной ΠΊΠΎΠΏΠΈΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° с ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ Π˜Π”.\r\n *\r\n * @method WebAccess.agent.edms.checkDocumentHasLocalCopy\r\n * @param {int} docID Π˜Π” Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΏΠΈΠΉ\r\n * @return {Deferred>} Массив с Π»ΠΎΠΊΠ°Π»ΡŒΠ½Ρ‹ΠΌΠΈ копиями ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°.\r\n * @see https://api.jquery.com/category/deferred-object/\r\n */\r\n checkDocumentHasLocalCopy: function (docID) {\r\n var d = $.Deferred();\r\n\r\n //FIXME: always ΠΏΠ΅Ρ€Π΅Π΄Π΅Π»Π°Ρ‚ΡŒ Π½Π° done ΠΈ fail\r\n global.isPluginAvailable('DocumentPlugin')\r\n .always(function (isAvailableResponse) {\r\n if (isAvailableResponse) {\r\n global.transmitRequest('CheckDocumentLocalCopies', 'DocumentPlugin', {}).done((response) => {\r\n var localCopies = !!response.result ? response.result : [];\r\n var res = [];\r\n if (localCopies.length > 0) {\r\n for (var i = 0; i < localCopies.length; i++) {\r\n if (localCopies[i].ID == docID) {\r\n res.push(localCopies[i]);\r\n }\r\n }\r\n }\r\n d.resolve(res);\r\n }).fail(function (response) {\r\n d.reject([]);\r\n });\r\n } else {\r\n d.reject([]);\r\n }\r\n });\r\n return d.promise();\r\n },\r\n\r\n /**\r\n * ΠŸΠΎΠ΄ΠΏΠΈΡΡ‹Π²Π°Π΅Ρ‚ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ сСртификатом.\r\n *\r\n * @method WebAccess.agent.edms.signDocument\r\n * @param {number} docId Π˜Π” Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° для подписания\r\n * @param {number} versionNumber НомСр вСрсии Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° для подписания\r\n * @param {number} certificateId Π˜Π” сСртификата, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ подписан Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚\r\n * @param {string} pluginName Имя ΠΏΠ»Π°Π³ΠΈΠ½Π° АгСнта Π²Π΅Π±-доступа для подписания\r\n * @param {string} comment ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ ΠΊ подписи\r\n * @param {boolean} isApprovingSign ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π°ΡŽΡ‰Π΅ΠΉ подписи\r\n * @param {boolean} isForSubstitute ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ подписания Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° ΠΎΡ‚ ΠΈΠΌΠ΅Π½ΠΈ Π·Π°ΠΌΠ΅Ρ‰Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ\r\n * @param {string} substituteUserCode Код Π·Π°ΠΌΠ΅Ρ‰Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ пСрСдаСтся, Ссли Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π΅ isForSubstitute установлСно Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ true\r\n * @param {function} onSignedCallback Ѐункция ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ Π²Ρ‹Π·ΠΎΠ²Π° для подписания. Π’ качСствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° пСрСдаСтся ΠΎΡ‚Π²Π΅Ρ‚ ΠΎΡ‚ АгСнта Π²Π΅Π±-доступа\r\n * @param {string} additionalInfo Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ информация ΠΎ подписании Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°\r\n * @param {string} pluginVersion ВСрсия ΠΏΠ»Π°Π³ΠΈΠ½Π° АгСнта Π²Π΅Π±-доступа для подписания\r\n * @param {string} tokenPinCode Пин-ΠΊΠΎΠ΄ Ρ‚ΠΎΠΊΠ΅Π½Π°, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ подписываСтся Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚\r\n * @return {Deferred} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° edms.\r\n * @see https://api.jquery.com/category/deferred-object/\r\n */\r\n signDocument: function (docId, versionNumber, certificateId, pluginName, comment, isApprovingSign, isForSubstitute, substituteUserCode, onSignedCallback, additionalInfo, pluginVersion, tokenPinCode) {\r\n var me = this;\r\n var d = $.Deferred();\r\n RequestToken(TOKEN_OPERATION.SIGN_DOCUMENT | TOKEN_OPERATION.DOWNLOAD_DOCUMENT_BODY, function (token) {\r\n var requestParams = {\r\n \"DocumentID\": docId,\r\n \"DocumentVersion\": versionNumber,\r\n \"Token\": token,\r\n \"AdditionalInfo\": additionalInfo,\r\n \"PluginVersion\": typeof pluginVersion == 'undefined' ? null : pluginVersion,\r\n \"TokenPinCode\": typeof tokenPinCode == 'undefined' ? null : tokenPinCode\r\n };\r\n me._signObject(\"SignDocumentVersion\", requestParams, certificateId, pluginName, comment, isApprovingSign, isForSubstitute, substituteUserCode, onSignedCallback)\r\n .done((res) => {\r\n d.resolve(res);\r\n }).fail((res) => {\r\n d.reject(res);\r\n });\r\n }, docId, versionNumber);\r\n return d.promise();\r\n },\r\n\r\n /**\r\n * ΠŸΠΎΠ΄ΠΏΠΈΡΡ‹Π²Π°Π΅Ρ‚ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹ΠΌ RSA-сСртификатом.\r\n *\r\n * @method WebAccess.agent.edms.signAttributes\r\n * @param {string} attributes Набор Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ΠΎΠ² для подписания\r\n * @param {number} certificateId Π˜Π” сСртификата, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π±ΡƒΠ΄ΡƒΡ‚ подписаны Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹\r\n * @param {string} pluginName Имя ΠΏΠ»Π°Π³ΠΈΠ½Π° АгСнта Π²Π΅Π±-доступа для подписания\r\n * @param {string} pluginVersion ВСрсия ΠΏΠ»Π°Π³ΠΈΠ½Π° АгСнта Π²Π΅Π±-доступа для подписания\r\n * @param {string} comment ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ ΠΊ подписи\r\n * @param {boolean} isApprovingSign ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π°ΡŽΡ‰Π΅ΠΉ подписи\r\n * @param {boolean} isForSubstitute ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ подписания Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° ΠΎΡ‚ ΠΈΠΌΠ΅Π½ΠΈ Π·Π°ΠΌΠ΅Ρ‰Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ\r\n * @param {string} substituteUserCode Код Π·Π°ΠΌΠ΅Ρ‰Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ пСрСдаСтся, Ссли Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π΅ isForSubstitute установлСно Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ true\r\n * @param {string} additionalInfo Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ информация\r\n * @param {string} tokenPinCode Пин-ΠΊΠΎΠ΄ Ρ‚ΠΎΠΊΠ΅Π½Π°, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΠΏΠΈΡΡ‹Π²Π°ΡŽΡ‚ΡΡ Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚Ρ‹\r\n * @param {function} onSignedCallback Ѐункция ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ Π²Ρ‹Π·ΠΎΠ²Π° для подписания. Π’ качСствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° пСрСдаСтся ΠΎΡ‚Π²Π΅Ρ‚ ΠΎΡ‚ АгСнта Π²Π΅Π±-доступа\r\n * @return {Deferred} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° edms.\r\n * @see https://api.jquery.com/category/deferred-object/\r\n */\r\n signAttributes: function (attributes, certificateId, pluginName, pluginVersion, comment, isApprovingSign, isForSubstitute, substituteUserCode, additionalInfo, tokenPinCode, onSignedCallback) {\r\n var me = this;\r\n var d = $.Deferred();\r\n\r\n var requestParams = {\r\n \"Attributes\": attributes,\r\n \"AdditionalInfo\": additionalInfo,\r\n \"PluginVersion\": typeof pluginVersion == 'undefined' ? null : btoa(pluginVersion), //Π°Π³Π΅Π½Ρ‚ ΠΎΠΆΠΈΠ΄Π°Π΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ Π²Π΅Ρ€ΡΠΈΡŽ ΠΏΠ»Π°Π³ΠΈΠ½Π° подписания Π² base64\r\n \"TokenPinCode\": typeof tokenPinCode == 'undefined' ? null : tokenPinCode\r\n };\r\n me._signObject(\"SignAttributes\", requestParams, certificateId, pluginName, comment, isApprovingSign, isForSubstitute, substituteUserCode, onSignedCallback).done(function (res) {\r\n d.resolve(res);\r\n }).fail(function (res) {\r\n d.reject(res);\r\n });\r\n\r\n return d.promise();\r\n },\r\n\r\n /**\r\n * ΠŸΠΎΠ΄ΠΏΠΈΡΡ‹Π²Π°Π΅Ρ‚ тСкст задания.\r\n *\r\n * @method WebAccess.agent.edms.signJob\r\n * @param {number} jobId Π˜Π” задания для подписания\r\n * @param {number} certificateId Π˜Π” сСртификата, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ подписан тСкст задания\r\n * @param {string} pluginName Имя ΠΏΠ»Π°Π³ΠΈΠ½Π° АгСнта Π²Π΅Π±-доступа для подписания\r\n * @param {string} comment ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ ΠΊ подписи\r\n * @param {boolean} isApprovingSign ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π°ΡŽΡ‰Π΅ΠΉ подписи\r\n * @param {boolean} isForSubstitute ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ подписания тСкста ΠΎΡ‚ ΠΈΠΌΠ΅Π½ΠΈ Π·Π°ΠΌΠ΅Ρ‰Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ\r\n * @param {string} substituteUserCode Код Π·Π°ΠΌΠ΅Ρ‰Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ пСрСдаСтся, Ссли Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π΅ isForSubstitute установлСно Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ true\r\n * @param {function} onSignedCallback Ѐункция ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ Π²Ρ‹Π·ΠΎΠ²Π° для подписания. Π’ качСствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° пСрСдаСтся ΠΎΡ‚Π²Π΅Ρ‚ ΠΎΡ‚ АгСнта Π²Π΅Π±-доступа\r\n * @param {string} pluginVersion ВСрсия ΠΏΠ»Π°Π³ΠΈΠ½Π° АгСнта Π²Π΅Π±-доступа для подписания\r\n * @param {string} tokenPinCode Пин-ΠΊΠΎΠ΄ Ρ‚ΠΎΠΊΠ΅Π½Π°, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ подписываСтся тСкст задания\r\n * @return {Deferred} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° edms.\r\n * @see https://api.jquery.com/category/deferred-object/\r\n */\r\n signJob: function (jobId, certificateId, pluginName, comment, isApprovingSign, isForSubstitute, substituteUserCode, onSignedCallback, pluginVersion, tokenPinCode) {\r\n var me = this;\r\n var d = $.Deferred();\r\n RequestToken(TOKEN_OPERATION.SIGN_TASK | TOKEN_OPERATION.DOWNLOAD_DOCUMENT_BODY, function (token) {\r\n var requestParams = {\r\n \"JobID\": jobId,\r\n \"Token\": token,\r\n \"PluginVersion\": typeof pluginVersion == 'undefined' ? null : pluginVersion,\r\n \"TokenPinCode\": typeof tokenPinCode == 'undefined' || tokenPinCode == null ? \"\" : tokenPinCode\r\n };\r\n me._signObject(\"SignJobText\", requestParams, certificateId, pluginName, comment, isApprovingSign, isForSubstitute, substituteUserCode, onSignedCallback)\r\n .done(function (res) {\r\n d.resolve(res);\r\n }).fail(function (res) {\r\n d.reject(res);\r\n });\r\n }, jobId);\r\n return d.promise();\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠ΄ΠΏΠΈΡΡ‹Π²Π°Π΅Ρ‚ тСкст Π·Π°Π΄Π°Ρ‡ΠΈ.\r\n *\r\n * @method WebAccess.agent.edms.signTask\r\n * @param {number} taskID Π˜Π” Π·Π°Π΄Π°Ρ‡ΠΈ для подписания\r\n * @param {number} certificateID Π˜Π” сСртификата, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ΄ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒΡΡ тСкст Π·Π°Π΄Π°Ρ‡ΠΈ\r\n * @param {string} pluginName Имя ΠΏΠ»Π°Π³ΠΈΠ½Π° АгСнта Π²Π΅Π±-доступа для подписания\r\n * @param {string} comment ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ ΠΊ подписи\r\n * @param {boolean} isApprovingSign ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π°ΡŽΡ‰Π΅ΠΉ подписи\r\n * @param {boolean} isForSubstitute ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ подписания тСкста ΠΎΡ‚ ΠΈΠΌΠ΅Π½ΠΈ Π·Π°ΠΌΠ΅Ρ‰Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ\r\n * @param {string} substituteUserCode Код Π·Π°ΠΌΠ΅Ρ‰Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ. ΠŸΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ пСрСдаСтся, Ссли Π² ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π΅ isForSubstitute установлСно Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ true\r\n * @param {function} onSignedCallback Ѐункция ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ Π²Ρ‹Π·ΠΎΠ²Π° для подписания. Π’ качСствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° пСрСдаСтся ΠΎΡ‚Π²Π΅Ρ‚ ΠΎΡ‚ АгСнта Π²Π΅Π±-доступа\r\n * @param {string} pluginVersion ВСрсия ΠΏΠ»Π°Π³ΠΈΠ½Π° АгСнта Π²Π΅Π±-доступа для подписания\r\n * @param {string} tokenPinCode Пин-ΠΊΠΎΠ΄ Ρ‚ΠΎΠΊΠ΅Π½Π°, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ подписываСтся тСкст Π·Π°Π΄Π°Ρ‡ΠΈ\r\n * @return {Deferred} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° edms.\r\n * @see https://api.jquery.com/category/deferred-object/\r\n */\r\n signTask: function (taskID, certificateID, pluginName, comment, isApprovingSign, isForSubstitute, substituteUserCode, onSignedCallback, pluginVersion, tokenPinCode) {\r\n var me = this;\r\n var d = $.Deferred();\r\n RequestToken(TOKEN_OPERATION.SIGN_TASK | TOKEN_OPERATION.DOWNLOAD_DOCUMENT_BODY, function (token) {\r\n var requestParams = {\r\n \"TaskID\": taskID,\r\n \"Token\": token,\r\n \"PluginVersion\": typeof pluginVersion == 'undefined' ? null : pluginVersion,\r\n \"TokenPinCode\": typeof tokenPinCode == 'undefined' || tokenPinCode == null ? \"\" : tokenPinCode\r\n };\r\n me._signObject(\"SignTaskText\", requestParams, certificateID, pluginName, comment, isApprovingSign, isForSubstitute, substituteUserCode, onSignedCallback)\r\n .done(function (res) {\r\n d.resolve(res);\r\n }).fail(function (res) {\r\n d.reject(res);\r\n });\r\n }, taskID);\r\n return d.promise();\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠ΄ΠΏΠΈΡΠ°Ρ‚ΡŒ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹ΠΉ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.\r\n *\r\n * @method WebAccess.agent.edms._signObject\r\n * @param {string} requestName НазваниС запроса\r\n * @param {Object} requestParams ΠžΠ±ΡŠΠ΅ΠΊΡ‚ с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ для запроса\r\n * @param {string} certificateId Ид сСртификата\r\n * @param {string} pluginName Имя ΠΏΠ»Π°Π³ΠΈΠ½Π° подписания Π² Base64\r\n * @param {string} comment ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ ΠΊ подписи\r\n * @param {boolean} isApprovingSign ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π°ΡŽΡ‰Π΅ΠΉ подписи\r\n * @param {boolean} isForSubstitute ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ Ссли подпись ΡΠΎΠ²Π΅Ρ€ΡˆΠ°Π΅Ρ‚ΡΡ ΠΎΡ‚ ΠΈΠΌΠ΅Π½ΠΈ Π·Π°ΠΌΠ΅Ρ‰Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ\r\n * @param {string} substituteUserCode Если isForSubstitute = true, Ρ‚ΠΎ здСсь пСрСдаСтся ΠΊΠΎΠ΄ Π·Π°ΠΌΠ΅Ρ‰Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ\r\n * @param {function} onSignedCallback Ѐункция ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ Π²Ρ‹Π·ΠΎΠ²Π° для подписания. Π’ качСствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° пСрСдаСтся ΠΎΡ‚Π²Π΅Ρ‚ ΠΎΡ‚ АгСнта Π²Π΅Π±-доступа\r\n * @private\r\n * @return {Deferred} Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ подписания\r\n * @see https://api.jquery.com/category/deferred-object/\r\n */\r\n _signObject: function (requestName, requestParams, certificateId, pluginName, comment, isApprovingSign, isForSubstitute, substituteUserCode, onSignedCallback) {\r\n var d = $.Deferred();\r\n requestParams[\"PluginName\"] = pluginName;\r\n requestParams[\"CertificateID\"] = certificateId;\r\n requestParams[\"Comment\"] = !!comment ? encodeURIComponent(comment) : \"\";\r\n requestParams[\"IsApprovingSign\"] = !!isApprovingSign ? isApprovingSign : false;\r\n requestParams[\"IsForSubstitute\"] = !!isForSubstitute ? isForSubstitute : false;\r\n requestParams[\"SubstituteUserCode\"] = !!substituteUserCode ? substituteUserCode : \"\";\r\n\r\n global.transmitRequest(requestName, 'CryptographyPlugin', requestParams).always((res) => {\r\n if (onSignedCallback) onSignedCallback(res);\r\n }).done(function (res) {\r\n d.resolve(res);\r\n }).fail(function (res) {\r\n d.reject(res);\r\n });\r\n\r\n return d.promise();\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ΠΊΠ»ΡŽΡ‡ для Π΄Π΅ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°.\r\n *\r\n * @method WebAccess.agent.edms.getDocumentDecryptedKey\r\n * @param {int} documentID Π˜Π” Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°\r\n * @param {string} encryptionType Π’ΠΈΠΏ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ\r\n * @param {base64string} pluginName Имя ΠΏΠ»Π°Π³ΠΈΠ½Π° АгСнта Π²Π΅Π±-доступа для ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ\r\n * @param {string} password ΠŸΠ°Ρ€ΠΎΠ»ΡŒ для Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠΈ\r\n * @param {function} onSuccess Ѐункция ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ Π²Ρ‹Π·ΠΎΠ²Π° для возвращСния ΠΊΠ»ΡŽΡ‡Π°. Π’ качСствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° пСрСдаСтся ΠΎΡ‚Π²Π΅Ρ‚ ΠΎΡ‚ АгСнта Π²Π΅Π±-доступа\r\n * @param {function} onError Ѐункция ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ Π²Ρ‹Π·ΠΎΠ²Π° для отобраТСния ошибки. Π’ качСствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° пСрСдаСтся ΠΎΡ‚Π²Π΅Ρ‚ ΠΎΡ‚ АгСнта Π²Π΅Π±-доступа\r\n * @return {WebAccess.agent.edms} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° edms.\r\n */\r\n getDocumentDecryptedKey: function (documentID, encryptionType, pluginName, password, onSuccess, onError) {\r\n var me = this;\r\n RequestToken(TOKEN_OPERATION.DOWNLOAD_DOCUMENT_BODY, function (token) {\r\n var requestParams = { \"DocID\": documentID, \"Version\": 0, \"Token\": token };\r\n return me._getObjectDecryptedKey(\"GetDocDecryptedKey\", requestParams, encryptionType, pluginName, password, onSuccess, onError);\r\n }, documentID, 0);\r\n return me;\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ΠΊΠ»ΡŽΡ‡ для Π΄Π΅ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ Π·Π°Π΄Π°Ρ‡ΠΈ.\r\n *\r\n * @method WebAccess.agent.edms.getTaskDecryptedKey\r\n * @param {int} taskID Π˜Π” Π·Π°Π΄Π°Ρ‡ΠΈ\r\n * @param {string} encryptionType Π’ΠΈΠΏ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ\r\n * @param {base64string} pluginName Имя ΠΏΠ»Π°Π³ΠΈΠ½Π° АгСнта Π²Π΅Π±-доступа для ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ\r\n * @param {string} password ΠŸΠ°Ρ€ΠΎΠ»ΡŒ для Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠΈ\r\n * @param {function} onSuccess Ѐункция ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ Π²Ρ‹Π·ΠΎΠ²Π° для возвращСния ΠΊΠ»ΡŽΡ‡Π°. Π’ качСствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° пСрСдаСтся ΠΎΡ‚Π²Π΅Ρ‚ ΠΎΡ‚ АгСнта Π²Π΅Π±-доступа\r\n * @param {function} onError Ѐункция ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ Π²Ρ‹Π·ΠΎΠ²Π° для отобраТСния ошибки. Π’ качСствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° пСрСдаСтся ΠΎΡ‚Π²Π΅Ρ‚ ΠΎΡ‚ АгСнта Π²Π΅Π±-доступа\r\n * @return {WebAccess.agent.edms} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° edms.\r\n */\r\n getTaskDecryptedKey: function (taskID, encryptionType, pluginName, password, onSuccess, onError) {\r\n var me = this;\r\n RequestToken(TOKEN_OPERATION.GET_ENCRYPTION_KEY, function (token) {\r\n var requestParams = { \"TaskID\": taskID, \"Token\": token };\r\n return me._getObjectDecryptedKey(\"GetTaskDecryptedKey\", requestParams, encryptionType, pluginName, password, onSuccess, onError);\r\n }, taskID);\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ΠΊΠ»ΡŽΡ‡ для Π΄Π΅ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ задания.\r\n *\r\n * @method WebAccess.agent.edms.getJobDecryptedKey\r\n * @param {int} jobID Π˜Π” задания\r\n * @param {string} encryptionType Π’ΠΈΠΏ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ\r\n * @param {base64string} pluginName Имя ΠΏΠ»Π°Π³ΠΈΠ½Π° АгСнта Π²Π΅Π±-доступа для ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ\r\n * @param {string} password ΠŸΠ°Ρ€ΠΎΠ»ΡŒ для Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠΈ\r\n * @param {function} onSuccess Ѐункция ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ Π²Ρ‹Π·ΠΎΠ²Π° для возвращСния ΠΊΠ»ΡŽΡ‡Π°. Π’ качСствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° пСрСдаСтся ΠΎΡ‚Π²Π΅Ρ‚ ΠΎΡ‚ АгСнта Π²Π΅Π±-доступа\r\n * @param {function} onError Ѐункция ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ Π²Ρ‹Π·ΠΎΠ²Π° для отобраТСния ошибки. Π’ качСствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° пСрСдаСтся ΠΎΡ‚Π²Π΅Ρ‚ ΠΎΡ‚ АгСнта Π²Π΅Π±-доступа\r\n * @return {WebAccess.agent.edms} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚ΠΈΠΏΠ° edms.\r\n */\r\n getJobDecryptedKey: function (jobID, encryptionType, pluginName, password, onSuccess, onError) {\r\n var me = this;\r\n RequestToken(TOKEN_OPERATION.GET_ENCRYPTION_KEY, function (token) {\r\n var requestParams = { \"JobID\": jobID, \"Token\": token };\r\n return me._getObjectDecryptedKey(\"GetJobDecryptedKey\", requestParams, encryptionType, pluginName, password, onSuccess, onError);\r\n }, jobID);\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊΠ»ΡŽΡ‡ для Π΄Π΅ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.\r\n * @method WebAccess.agent.edms._getObjectDecryptedKey\r\n * @private\r\n * @param {string} requestName НазваниС запроса\r\n * @param {object} requestParams ΠžΠ±ΡŠΠ΅ΠΊΡ‚ с ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ для запроса\r\n * @param {string} encryptionType Π’ΠΈΠΏ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ\r\n * @param {base64string} pluginName Имя ΠΏΠ»Π°Π³ΠΈΠ½Π° ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ\r\n * @param {string} password ΠŸΠ°Ρ€ΠΎΠ»ΡŒ для Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠΈ\r\n * @param {function} onSuccess Ѐункция ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ Π²Ρ‹Π·ΠΎΠ²Π° для возвращСния ΠΊΠ»ΡŽΡ‡Π°. Π’ качСствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° пСрСдаСтся ΠΎΡ‚Π²Π΅Ρ‚ ΠΎΡ‚ Π°Π³Π΅Π½Ρ‚Π°.\r\n * @param {function} onError Ѐункция ΠΎΠ±Ρ€Π°Ρ‚Π½ΠΎΠ³ΠΎ Π²Ρ‹Π·ΠΎΠ²Π° для отобраТСния ошибки. Π’ качСствС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π° пСрСдаСтся ΠΎΡ‚Π²Π΅Ρ‚ ΠΎΡ‚ Π°Π³Π΅Π½Ρ‚Π°.\r\n */\r\n _getObjectDecryptedKey: function (requestName, requestParams, encryptionType, pluginName, password, onSuccess, onError) {\r\n requestParams[\"EncryptionPluginName\"] = pluginName;\r\n requestParams[\"EncodeType\"] = encryptionType;\r\n requestParams[\"Password\"] = password;\r\n\r\n global.transmitRequest(requestName, 'CryptographyPlugin', requestParams).done((response) => {\r\n if (onSuccess) { onSuccess(response.result); }\r\n }).fail(function (response) {\r\n if (onError) onError(response.message);\r\n });\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠžΡ‚ΠΏΡ€Π°Π²Π»ΡΠ΅Ρ‚ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ Π²Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π² письмо.\r\n * @method WebAccess.agent.edms.sendEmail\r\n * @param {string} guid Π˜Π΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€ скачивания Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°\r\n * @param {boolean} need_unzip ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ нСобходимости извлСчСния Ρ„Π°ΠΉΠ»Π° ΠΈΠ· Π°Ρ€Ρ…ΠΈΠ²Π°\r\n */\r\n sendEmail: (guid, need_unzip) => {\r\n const def = $.Deferred();\r\n Core.agent.getPlugin('mailplugin')\r\n .done(plugin => {\r\n RequestToken(TOKEN_OPERATION.DOWNLOAD_DOCUMENT_BODY, token => {\r\n const requestParams = {\r\n id: guid,\r\n need_unzip: need_unzip ? true : '',\r\n Token: token,\r\n Repository: 'FileSystem',\r\n };\r\n plugin.invoke('createmail', requestParams)\r\n .fail(response => {\r\n ShowError(response.message);\r\n });\r\n });\r\n })\r\n .fail(needShowError => {\r\n if (needShowError) {\r\n ShowError(L('ERR_SIGNING_UNSUPPORTED'));\r\n }\r\n }); \r\n }\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n };\r\n\r\n global.edms = edms;\r\n})(window.WebAccess.agent);\r\n","\"use strict\";\r\n\r\n/**\r\n * ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΠ΅Ρ‚ инструмСнты для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с увСдомлСниями АгСнта Π²Π΅Π±-доступа, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠ΅ взаимодСйствиС АгСнта с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ.\r\n *\r\n * @namespace WebAccess.agent.notifications\r\n * @since 5.1.0.1500\r\n */\r\n(function (global) {\r\n var notifications = {\r\n\r\n /**\r\n * ΠžΡ‚ΠΎΠ±Ρ€Π°Π·Π°Ρ‚ΡŒ ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠ΅ для ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.\r\n *\r\n * @method WebAccess.agent.notifications.show\r\n * @param {string} message ВСкст сообщСния\r\n * @return {Deferred} Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ запроса.\r\n * @see https://api.jquery.com/category/deferred-object/\r\n */\r\n show: function (message) {\r\n var d = $.Deferred();\r\n global.transmitRequest(\"Notify\", \"NotificationPlugin\", { message: message }).always(function(res) {\r\n d.resolve(res);\r\n });\r\n return d.promise();\r\n }\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n };\r\n\r\n global.notifications = notifications;\r\n})(window.WebAccess.agent);\r\n","\"use strict\";\r\n\r\n/**\r\n * ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΠ΅Ρ‚ инструмСнты для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π±ΡƒΡ„Π΅Ρ€ΠΎΠΌ ΠΎΠ±ΠΌΠ΅Π½Π° Ρ‡Π΅Ρ€Π΅Π· АгСнт Π²Π΅Π±-доступа. НапримСр, ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ссылки Π² Π±ΡƒΡ„Π΅Ρ€ ΠΎΠ±ΠΌΠ΅Π½Π°.\r\n *\r\n * @namespace WebAccess.agent.clipboard\r\n * @since 5.1.0.1500\r\n */\r\n(function (global) {\r\n var clipboard = {\r\n\r\n /**\r\n * Π‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ массив ссылок Π² Π±ΡƒΡ„Π΅Ρ€ ΠΎΠ±ΠΌΠ΅Π½Π°.\r\n *\r\n * @method WebAccess.agent.clipboard#copyLinksToClipboard\r\n * @param {array} links Массив ссылок для пСрСмСщСния Π² Π±ΡƒΡ„Π΅Ρ€ ΠΎΠ±ΠΌΠ΅Π½Π°\r\n * @return {Deferred} ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ скопированных ссылок.\r\n * @see https://api.jquery.com/category/deferred-object/\r\n */\r\n copyLinksToClipboard: function (links) {\r\n var d = $.Deferred();\r\n var transmittedRefs = 0;\r\n\r\n var addLink = function (link) {\r\n var g = $.Deferred();\r\n global.transmitRequest(\"AddLinkToClipboard\", \"Clipboard\", link).done(function (res) {\r\n if (res.success) {\r\n transmittedRefs++;\r\n }\r\n g.resolve();\r\n });\r\n return g.promise();\r\n };\r\n\r\n //пСрвая ссылка копируСтся Π² Π±ΡƒΡ„Π΅Ρ€\r\n global.transmitRequest(\"CopyLinkToClipboard\", \"Clipboard\", links[0]).always(function (res) {\r\n if (res.success) transmittedRefs++;\r\n //всС ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠ΅ ссылки Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‚ΡΡ ΠΊ ΠΏΠ΅Ρ€Π²ΠΎΠΉ\r\n var deferreds = [];\r\n for (var i = 1; i < links.length; i++)\r\n deferreds.push(addLink(links[i]));\r\n //ΠΊΠΎΠ³Π΄Π° всС ссылки добавятся, Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌ число ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ скопированных\r\n $.when.apply(null, deferreds).then(function () {\r\n d.resolve(transmittedRefs);\r\n });\r\n });\r\n\r\n return d.promise();\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚-ΠΏΠ°ΠΏΠΊΡƒ, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π±Ρ‹Π»ΠΈ скопированы ссылки. НСобходим для вырСзания ссылок.\r\n *\r\n * @method WebAccess.agent.clipboard#getLinkSourceLocation\r\n * @return {Deferred} ΠžΠ±ΡŠΠ΅ΠΊΡ‚-ΠΏΠ°ΠΏΠΊΠ°, ΠΈΠ· ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π±Ρ‹Π»ΠΈ скопированы ссылки.\r\n * @see https://api.jquery.com/category/deferred-object/\r\n */\r\n getLinkSourceLocation: function () {\r\n var d = $.Deferred();\r\n global.transmitRequest(\"GetLinksSource\", \"Clipboard\", {}).done(function (response) {\r\n d.resolve(response.result);\r\n });\r\n return d.promise();\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ массив ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ссылок ΠΈΠ· Π±ΡƒΡ„Π΅Ρ€Π° ΠΎΠ±ΠΌΠ΅Π½Π°.\r\n *\r\n * @method WebAccess.agent.clipboard#getLinksFromClipboard\r\n * @return {Deferred>} Массив ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ссылок.\r\n * @see https://api.jquery.com/category/deferred-object/\r\n */\r\n getLinksFromClipboard: function () {\r\n var d = $.Deferred();\r\n global.transmitRequest(\"PasteLinksFromClipboard\", \"Clipboard\", {}).always(function (response) {\r\n if (response.success) {\r\n var links = response.result;\r\n if (links.length > 0) {\r\n //ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Ρ‹Π²Π°Π΅ΠΌ ссылки ΠΊ Π½ΡƒΠΆΠ½ΠΎΠΌΡƒ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Ρƒ, FIXME: привСсти ΠΏΠΎΡ‚ΠΎΠΌ всё ΠΊ ΠΎΠ΄Π½ΠΎΠΌΡƒ Π²ΠΈΠ΄Ρƒ\r\n for (var i = 0; i < links.length; i++) {\r\n links[i].Kind = (links[i].Kind == 'E' ? 'EDOC' : links[i].Kind);\r\n links[i].Kind = (links[i].Kind == 'F' ? 'FOL' : links[i].Kind);\r\n links[i].Kind = (links[i].Kind == 'T' ? 'TASK' : links[i].Kind);\r\n links[i].Kind = (links[i].Kind == 'J' ? 'JOB' : links[i].Kind);\r\n links[i].Kind = (links[i].Kind == 'R' ? 'REF' : links[i].Kind);\r\n }\r\n }\r\n d.resolve(links);\r\n } else {\r\n d.reject();\r\n }\r\n });\r\n\r\n return d.promise();\r\n }\r\n };\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n global.clipboard = clipboard;\r\n\r\n})(window.WebAccess.agent);\r\n","(function (global) {\r\n\r\n //CREVIEW Π¨Π°ΠΌΠΎΠ² А.: Π Π°Π· Ρ€Π°Π·Π΄Π΅Π»ΠΈΠ» Π½Π° Π²ΠΊΠ»Π°Π΄ΠΊΠΈ всС настройки, Ρ‚ΠΎ ΠΈ этот Ρ„Π°ΠΉΠ» Π½Π°Π΄ΠΎ Π±Ρ‹ Ρ€Π°Π·Π±ΠΈΡ‚ΡŒ ΠΏΠΎ Π²ΠΊΠ»Π°Π΄ΠΊΠ°ΠΌ.\r\n\r\n /**\r\n * Π‘Π»ΠΎΠΊΠΈΡ€ΡƒΠ΅ΠΌ свСрх-частый Π²Ρ‹Π·ΠΎΠ² сСрвиса.\r\n * Π’ сСрвисС происходят Π½Π΅ самыС Π»Π΅Π³ΠΊΠΈΠ΅\r\n * ΠΌΠ°Ρ…ΠΈΠ½Π°Ρ†ΠΈΠΈ.\r\n * @inner\r\n * @function setLock();\r\n */\r\n var themeLock = false;\r\n var setLock = function () {\r\n themeLock = true;\r\n setTimeout(function () { themeLock = false }, 2000);\r\n };\r\n\r\n var saveTimeout = null;\r\n\r\n /**\r\n * Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰ΠΈΠ΅ Π·Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ страницы настроСк.\r\n * @namespace Core.settings\r\n * @since 5.0.0.4200 ВСрсия ΠΏΠΎ интСрфСйсам\r\n */\r\n global.settings = {};\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ДСйствиС для ΠΊΠ½ΠΎΠΏΠΊΠΈ \"ΠŸΠ΅Ρ€Π΅ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ\" для Π°Π³Π΅Π½Ρ‚Π°\r\n * @method Core.settings.initAgentControls\r\n */\r\n global.settings.installAgent = function () {\r\n var jButton = $('#reinstall');\r\n\r\n WA.agent\r\n .enable()\r\n .setSessionInitialized(false);\r\n\r\n InitializeAgentSession(true);\r\n };\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡ ΠΎ Ρ‚Π΅ΠΌΠ°Ρ…\r\n */\r\n global.settings.themes = {};\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΎΠ² ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰ΠΈΡ… Π·Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ с Π°Π³Π΅Π½Ρ‚ΠΎΠΌ\r\n * @method Core.settings.initAgentControls\r\n */\r\n global.settings.initAgentControls = WA.TCD(function () {\r\n\r\n var jCheck = $(\"#isAgentEnabled\");\r\n var jDownload = $(\"#download\");\r\n var jLaunch = $(\"#launch\");\r\n var jUploadLogFiles = $(\"#uploadLogFiles\");\r\n\r\n if (WA.agent.isDisabled()) {\r\n jCheck.prop(\"checked\", true);\r\n jDownload.addClass('disabled');\r\n jDownload.attr('disabled', true);\r\n jLaunch.addClass('disabled');\r\n jLaunch.attr('disabled', true);\r\n jUploadLogFiles.addClass('disabled');\r\n jUploadLogFiles.attr('disabled', true);\r\n };\r\n\r\n\r\n jCheck.on('change', function () {\r\n if ($(this).is(':checked')) {\r\n WA.agent.disable();\r\n jDownload.addClass('disabled');\r\n jDownload.attr('disabled', true);\r\n jLaunch.addClass('disabled');\r\n jLaunch.attr('disabled', true);\r\n jUploadLogFiles.addClass('disabled');\r\n jUploadLogFiles.attr('disabled', true);\r\n } else {\r\n WA.agent.enable();\r\n jDownload.removeClass('disabled');\r\n jDownload.attr('disabled', false);\r\n jLaunch.removeClass('disabled');\r\n jLaunch.attr('disabled', false);\r\n jUploadLogFiles.removeClass('disabled');\r\n jUploadLogFiles.attr('disabled', false);\r\n }\r\n Core.settings.initDocDefaultAction();\r\n if (WA.getLocation() === 'settings') {\r\n global.settings.saveDocDefaultActionSettings();\r\n } else {\r\n (new WA.CMP.NTF.Toast()).show(L('SETTINGS_SAVED'));\r\n };\r\n });\r\n return global.settings;\r\n });\r\n\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π’Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ сСрвис сохранСния настроСк открытия Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΈ прСдпросмотра.\r\n * @function Core.settings.applyPreviewSettingss\r\n * @since 5.4.0.1006\r\n * @return Core.settings\r\n */\r\n global.settings.applyPreviewSettings = function (isPreviewEnabled, isColoringRecordsEnabled, isFullscreenPreview, openDocForEditByDefault, openCardByDefault) {\r\n\r\n g_isPreviewEnabled = isPreviewEnabled;\r\n g_isColoringRecordsEnabled = isColoringRecordsEnabled;\r\n g_isFullscreenPreview = isFullscreenPreview;\r\n g_openDocForEditByDefault = openDocForEditByDefault;\r\n\r\n return WA.SRV.call(\"/Session.asmx/ApplyPreviewSettings\", {\r\n EnablePreview: isPreviewEnabled ? \"True\" : \"False\",\r\n EnableColoringRecords: isColoringRecordsEnabled ? \"True\" : \"False\",\r\n UseFullScreenPreview: isFullscreenPreview ? \"True\" : \"False\",\r\n OpenCardByDefault: openCardByDefault ? \"True\" : \"False\",\r\n OpenDocForEditByDefault: openDocForEditByDefault ? \"True\" : \"False\"\r\n });\r\n };\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * БохраняСт настройки открытия Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΈ прСдпросмотра.\r\n * @function Core.settings.saveDocDefaultActionSettings\r\n * @since 5.0.0.4200\r\n * @return Core.settings\r\n */\r\n global.settings.saveDocDefaultActionSettings = function () {\r\n var isPreviewEnabled = $(\"#chkOpenPreviewFromList\").length !== 0\r\n ? $(\"#chkOpenPreviewFromList\").is(':checked')\r\n : !WA.agent.isAvailable() && (g_defaultListAction != 'showcard');\r\n var isColoringRecordsEnabled = $(\"#chkColoringRecords\").length !== 0\r\n ? $(\"#chkColoringRecords\").is(':checked')\r\n : g_isColoringRecordsEnabled;\r\n var isFullscreenPreview = $(\"#chkOpenFullscreenPreview\").length !== 0\r\n ? $(\"#chkOpenFullscreenPreview\").is(':checked')\r\n : g_isFullscreenPreview;\r\n var openDocForEditByDefault = $('#chkOpenDocForEditingDefault').length !== 0\r\n ? $('#chkOpenDocForEditingDefault').is(':checked')\r\n : g_openDocForEditByDefault;\r\n var openCardByDefault = $(\"#chkOpenCardFromList\").length !== 0\r\n ? $(\"#chkOpenCardFromList\").is(':checked')\r\n : g_defaultListAction === 'showcard';\r\n\r\n return global.settings.applyPreviewSettings(isPreviewEnabled, isColoringRecordsEnabled, isFullscreenPreview, openDocForEditByDefault, openCardByDefault).done(function (res) {\r\n (new WA.CMP.NTF.Toast()).show(L('SETTINGS_SAVED'));\r\n if (WA.getLocation() !== 'settings') {\r\n WA.CMP.SettingsPanel.renderDocumentTab();\r\n }\r\n }).always(function () {\r\n if ($.isFunction(ReloadWindowToLoadPlugin)) ReloadWindowToLoadPlugin();\r\n });\r\n };\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ настройки прСдпросмотра.\r\n * @function Core.settings.initPreviewSettings\r\n * @since 5.0.0.4200\r\n * @return Core.settings\r\n */\r\n global.settings.initPreviewSettings = WA.TCD(function () {\r\n $(function () {\r\n var jOpenFullscreenPreviewChk = $('#chkOpenFullscreenPreview');\r\n if (g_isFullscreenPreview) {\r\n jOpenFullscreenPreviewChk.attr('checked', true);\r\n }\r\n });\r\n\r\n $(\"#chkOpenPreviewFromList, #chkOpenEditorFromList, #chkOpenCardFromList\")\r\n .on(\"change\", ViewPreviewSettingsModal_DisableControls)\r\n .on(\"change\", window.Core.settings.saveDocDefaultActionSettings);\r\n\r\n $(\"#chkOpenDocForReadingDefault, #chkOpenDocForEditingDefault\")\r\n .on(\"change\", ViewPreviewSettingsModal_ChangePreviewSettings)\r\n .on(\"change\", window.Core.settings.saveDocDefaultActionSettings);\r\n\r\n return global.settings;\r\n });\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n* Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ настройки раскраски записСй справочников.\r\n* @function Core.settings.initColoringRecordsSettings\r\n* @since 5.2.1.1000\r\n* @return Core.settings\r\n*/\r\n global.settings.initColoringRecordsSettings = WA.TCD(function () {\r\n $(function () {\r\n jColoringRecordsEnabled = $(\"#chkColoringRecords\");\r\n\r\n if (g_isColoringRecordsEnabled) {\r\n jColoringRecordsEnabled.attr('checked', true);\r\n }\r\n\r\n if (g_isColoringRecordsSettingsHidden) {\r\n jColoringRecordsEnabled.attr('disabled', true);\r\n jColoringRecordsEnabled.parent().attr('title', L(\"DISABLE_COLORING_RECORD_SETTINGS_HINT\"));\r\n jColoringRecordsEnabled.parent().addClass(\"field_disabled\");\r\n }\r\n });\r\n\r\n return global.settings;\r\n });\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n* Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ настройки автоочистки.\r\n* @function Core.settings.initAutoCleaningSettings\r\n* @since 5.1.0.1515\r\n* @return Core.settings\r\n*/\r\n global.settings.initAutoCleaningSettings = WA.TCD(function () {\r\n\r\n var jSettingsAutocleaningEnable = $('#settings-autocleaning-enable');\r\n var jSettingsAutocleaningOnCompletion = $(\"#settings-autocleaning-oncompletion\");\r\n var jSettingsAutocleaningPeriod = $('#settings-autocleaning-period');\r\n var jSettingsAutocleaningDefault = $('#settings-autocleaning-default');\r\n var jSettingsAutocleaningAfterdays = $('#settings-autocleaning-afterdays');\r\n var AutocleaningDefaultChangeLink = $('.ac-change-link');\r\n var changedObjects = [\r\n jSettingsAutocleaningEnable, jSettingsAutocleaningOnCompletion, jSettingsAutocleaningAfterdays,\r\n jSettingsAutocleaningPeriod\r\n ];\r\n\r\n //ΠžΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ автоочиски\r\n jSettingsAutocleaningEnable.on('change', window.Core.settings.switchAutoCleaningSettings);\r\n\r\n //ИзмСнСниС настроСк\r\n $.each(changedObjects, function (index, value) {\r\n value.on(\"change\", function () {\r\n clearTimeout(saveTimeout);\r\n saveTimeout = setTimeout(window.Core.settings.saveAutoCleaningSettings, 500);\r\n });\r\n });\r\n\r\n jSettingsAutocleaningPeriod.on('keydown', function () {\r\n clearTimeout(saveTimeout);\r\n saveTimeout = setTimeout(window.Core.settings.saveAutoCleaningSettings, 500);\r\n });\r\n\r\n //Π’Π°Π»ΠΈΠ΄Π°Ρ‚ΠΎΡ€ числа Π΄Π½Π΅ΠΉ\r\n //$('#settings-autocleaning-period').on('keypress', function (event) {\r\n // return event.charCode >= 48 && event.charCode <= 57\r\n //});\r\n jSettingsAutocleaningPeriod.Validator(\"^([-]?|[-]?[\\\\d]+)$\");\r\n\r\n //Настройки ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ\r\n jSettingsAutocleaningDefault.on('click', window.Core.settings.updateDefaultAutocleaningSettings);\r\n\r\n // Бброс настроСк\r\n AutocleaningDefaultChangeLink.on('click', window.Core.settings.createAutocleaningSettingsFromDefaultSettings);\r\n\r\n return global.settings;\r\n });\r\n\r\n /**\r\n* БохраняСт настройки автоочистки.\r\n* @function Core.settings.saveAutoCleaningSettings\r\n* @since 5.1.0.1515\r\n* @return Core.settings\r\n*/\r\n global.settings.saveAutoCleaningSettings = WA.TCD(function () {\r\n\r\n var jSettingsAutocleaningEnable = $('#settings-autocleaning-enable');\r\n var jSettingsAutocleaningOnCompletion = $(\"#settings-autocleaning-oncompletion\");\r\n var jSettingsAutocleaningPeriod = $('#settings-autocleaning-period');\r\n\r\n var enableAutoClean = jSettingsAutocleaningEnable.is(':checked');\r\n var cleanMode = enableAutoClean ? (jSettingsAutocleaningOnCompletion.is(':checked') ? 0 : 1) : 255;\r\n var linkStoringPeriod = jSettingsAutocleaningPeriod.val();\r\n\r\n //Если Ρ€Π΅ΠΆΠΈΠΌ автоочистки ΠΏΠΎ дням, Π° количСство Π΄Π½Π΅ΠΉ Π½Π΅ Π·Π°Π΄Π°Π½ΠΎ, Ρ‚ΠΎ Π½Π΅ сохраняСм\r\n if ((cleanMode == 1) && (linkStoringPeriod === \"\"))\r\n return global.settings;\r\n\r\n //Если Π²Π²Π΅Π΄Π΅Π½ΠΎ Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Ρ‚ΠΎ ставим 1\r\n if (!linkStoringPeriod) {\r\n linkStoringPeriod = 1;\r\n jSettingsAutocleaningPeriod.val(1)\r\n }\r\n\r\n ShowTopSpinner();\r\n WA.SRV.call(\"/Session.asmx/ApplyAutoCleanSettings\", {\r\n CleanMode: cleanMode,\r\n LinkStoringPeriod: linkStoringPeriod\r\n }).always(function () {\r\n HideTopSpinner(L('SETTINGS_SAVED'), 2000);\r\n }).error(function (error) {\r\n console.log(error);\r\n });\r\n return global.settings;\r\n });\r\n\r\n /**\r\n * ДобавляСт ΠΏΠ°ΠΏΠΊΡƒ Π² список ΠΏΠ°ΠΏΠΎΠΊ автоочистки.\r\n * @function Core.settings.addAutoCleanFolder\r\n * @since 5.1.0.1515\r\n * @return Core.settings\r\n */\r\n global.settings.addAutoCleanFolder = WA.TCD(function (list) {\r\n list.PasteLinks(function (link) {\r\n return window.Core.settings.setAutoCleanFolder(link.ID, true);\r\n }, L('SETTINGS_SAVED'));\r\n return global.settings;\r\n });\r\n\r\n /**\r\n * УдаляСт ΠΏΠ°ΠΏΠΊΡƒ ΠΈΠ· список ΠΏΠ°ΠΏΠΎΠΊ автоочистки.\r\n * @function Core.settings.removeAutoCleanFolder\r\n * @since 5.1.0.1515\r\n * @return Core.settings\r\n */\r\n global.settings.removeAutoCleanFolder = WA.TCD(function (list) {\r\n list.DeleteLinks(null, function (link) {\r\n return window.Core.settings.setAutoCleanFolder(link.ID, false);\r\n }, L('SETTINGS_SAVED'));\r\n return global.settings;\r\n });\r\n\r\n /**\r\n * УстанавливаСт статус автоочистки для ΠΏΠ°ΠΏΠΊΠΈ.\r\n * @function Core.settings.setAutoCleanFolder\r\n * @since 5.1.0.1515\r\n * @return Core.settings\r\n */\r\n global.settings.setAutoCleanFolder = WA.TCD(function (folderID, enabled) {\r\n var success = false;\r\n //CREVIEW Π¨Π°ΠΌΠΎΠ² А.: ΠŸΠΎΡ‡Π΅ΠΌΡƒ Ρ‚ΡƒΡ‚ callSync? Π’Ρ‹ΡˆΠ΅ Π±Ρ‹Π» ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ call\r\n // Isaev_DM: setAutoCleanFolder завязаны Π½Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ с ссылками, Π½Π΅ стал Ρ€Π΅Ρ„Π°ΠΊΡ‚ΠΎΡ€ΠΈΡ‚ΡŒ ΠΏΠΎΠΊΠ° старый ΠΊΠΎΠ΄\r\n WA.SRV.callSync(\"/Folder.asmx/SetFolderAutoClean\", {\r\n FolderID: folderID,\r\n Enabled: enabled\r\n }, null, null, true).success(function (result) {\r\n success = true;\r\n });\r\n return success;\r\n });\r\n\r\n /**\r\n * УстанавливаСт настройки автоочистки ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.\r\n * @function Core.settings.defaultAutoCleaningSettings\r\n * @since 5.1.0.1515\r\n * @return Core.settings\r\n */\r\n function setAutoCleaningSettings(defaultSettings) {\r\n\r\n if (defaultSettings != null) {\r\n\r\n var autocleaningFolderList = ListRequisite('ctl01_AutoCleanFolderList');\r\n var defaultLinks = [];\r\n\r\n var jSettingsAutocleaningEnable = $('#settings-autocleaning-enable');\r\n var jSettingsAutocleaningOnCompletion = $(\"#settings-autocleaning-oncompletion\");\r\n var jSettingsAutocleaningPeriod = $('#settings-autocleaning-period');\r\n var jSettingsAutocleaningAfterdays = $('#settings-autocleaning-afterdays');\r\n\r\n jSettingsAutocleaningOnCompletion.attr('disabled', false);\r\n jSettingsAutocleaningAfterdays.attr('disabled', false);\r\n jSettingsAutocleaningPeriod.attr('disabled', false);\r\n jSettingsAutocleaningPeriod.removeClass('Req_Disabled');\r\n\r\n if (defaultSettings.AllUsersNeedDeleteLinks == \"Y\")\r\n jSettingsAutocleaningEnable.prop('checked', true);\r\n else {\r\n jSettingsAutocleaningEnable.prop('checked', false);\r\n jSettingsAutocleaningAfterdays.attr('disabled', true);\r\n jSettingsAutocleaningPeriod.attr('disabled', true);\r\n jSettingsAutocleaningOnCompletion.prop('disabled', true);\r\n }\r\n\r\n if (defaultSettings.AllUsersLinkStoringPeriod == \"0\") {\r\n jSettingsAutocleaningAfterdays.prop('checked', false);\r\n jSettingsAutocleaningOnCompletion.prop('checked', true);\r\n jSettingsAutocleaningPeriod.val(1);\r\n } else {\r\n jSettingsAutocleaningOnCompletion.prop('checked', false);\r\n jSettingsAutocleaningAfterdays.prop('checked', true);\r\n jSettingsAutocleaningPeriod.val(defaultSettings.AllUsersLinkStoringPeriod);\r\n }\r\n\r\n if (defaultSettings.AutoCleanInbox != \"0\")\r\n defaultLinks.push({ ID: parseInt(defaultSettings.AutoCleanInbox), Kind: \"FOL\", CompCode: null });\r\n\r\n if (defaultSettings.AutoCleanOutbox != \"0\")\r\n defaultLinks.push({ ID: parseInt(defaultSettings.AutoCleanOutbox), Kind: \"FOL\", CompCode: null });\r\n\r\n autocleaningFolderList.Clear(function (link) {\r\n window.Core.settings.setAutoCleanFolder(link.ID, false);\r\n });\r\n\r\n autocleaningFolderList.AddLinks(defaultLinks, autocleaningFolderList, function (link) {\r\n return window.Core.settings.setAutoCleanFolder(link.ID, true);\r\n });\r\n\r\n }\r\n\r\n window.Core.settings.saveAutoCleaningSettings();\r\n\r\n };\r\n\r\n /**\r\n * Π’ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚/ΠžΡ‚ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ автоочистку Π² настройках.\r\n * @function Core.settings.disableAutoCleaningSettings\r\n * @since 5.1.0.1515\r\n * @return Core.settings\r\n */\r\n global.settings.switchAutoCleaningSettings = WA.TCD(function () {\r\n\r\n var jSettingsAutocleaningEnable = $('#settings-autocleaning-enable');\r\n var jSettingsAutocleaningOnCompletion = $(\"#settings-autocleaning-oncompletion\");\r\n var jSettingsAutocleaningPeriod = $('#settings-autocleaning-period');\r\n var jSettingsAutocleaningAfterdays = $('#settings-autocleaning-afterdays');\r\n\r\n var disable = !jSettingsAutocleaningEnable.is(\":checked\");\r\n jSettingsAutocleaningOnCompletion.attr('disabled', disable);\r\n jSettingsAutocleaningAfterdays.attr('disabled', disable);\r\n jSettingsAutocleaningPeriod.attr('disabled', disable);\r\n if (disable)\r\n jSettingsAutocleaningPeriod.addClass('Req_Disabled');\r\n else\r\n jSettingsAutocleaningPeriod.removeClass('Req_Disabled');\r\n });\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π΄Π΅Ρ„ΠΎΠ»Ρ‚Π½Ρ‹Π΅ настройки автоочистки.\r\n * @function Core.settings.updateDefaultAutocleaningSettings\r\n * @since 5.1.0.1515\r\n * @return Core.settings\r\n */\r\n global.settings.updateDefaultAutocleaningSettings = WA.TCD(function () {\r\n var success = false;\r\n WA.SRV.call(\"/Session.asmx/GetDefaultAutocleaningSettings\",\r\n null, null, null, true).success(function (result) {\r\n setAutoCleaningSettings(result);\r\n success = true;\r\n });\r\n return success;\r\n });\r\n\r\n /**\r\n * Π‘ΠΎΠ·Π΄Π°Π΅Ρ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ настройки Π½Π° основС настроСк администратора.\r\n * @function Core.settings.getDefaultAutocleaningSettings\r\n * @since 5.1.0.1515\r\n * @return Core.settings\r\n */\r\n global.settings.createAutocleaningSettingsFromDefaultSettings = WA.TCD(function () {\r\n var success = false;\r\n WA.SRV.call(\"/Session.asmx/CreateAutocleaningSettingsFromDefaultSettings\",\r\n null, null, null, true).success(function (result) {\r\n success = true;\r\n if (WA.getLocation() === 'settings') {\r\n location.reload();\r\n } else {\r\n WA.CMP.SettingsPanel.renderAutoCleaningFoldersTab();\r\n }\r\n });\r\n return success;\r\n });\r\n\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * УстанавливаСт часовой пояс ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.\r\n * @param {} jObject \r\n * @returns {} \r\n */\r\n global.settings.setTimeZone = function(jObject) {\r\n var pickInstance = jObject.data()['DropDownListInstance'];\r\n var timeZoneId = pickInstance.getValue();\r\n \r\n WebAccess.services.userProfile.setTimeZone(timeZoneId).done(function () {\r\n var toast = new WA.CMP.NTF.Toast();\r\n toast.showMessage(L(\"SETTINGS_SAVED\"));\r\n }).fail(function (err) {\r\n ShowError(err);\r\n });\r\n }\r\n\r\n // Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ change вызываСтся всСгда поэтому ΠΌΠΎΠ΄Π°Π»ΠΊΠ°\r\n // снова срабатываСт ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ ΠΎΡ‚ΠΌΠ΅Π½Π° Ссли ΡƒΠ±Ρ€Π°Ρ‚ΡŒ cancelLock.\r\n var cancelLock = false;\r\n global.settings.setNewLanguage = function (jObject) {\r\n if (cancelLock) return;\r\n\r\n var handler = arguments.callee;\r\n var pickInstance = jObject.data()['DropDownListInstance'];\r\n\r\n var lang = pickInstance.getValue();\r\n var langCaption = pickInstance.getDisplayValue();\r\n if (lang == pickInstance.prevValue) return;\r\n\r\n var dialog = new WA.CMP.dialogs.MessageBox();\r\n dialog.isShowCancelButton = true;\r\n dialog.isShowOkButton = false;\r\n dialog.removeDefaultButtons();\r\n\r\n var labels = {\r\n 'relogin': L('RELOGIN'),\r\n 'reloginLater': L('OK'),\r\n 'cancel': L('CANCEL')\r\n };\r\n\r\n if (isPassthrough) labels = {\r\n 'relogin': L('RELOGIN_AUTO'),\r\n 'reloginLater': L('RELOGIN_LATER_AUTO')\r\n };\r\n\r\n var cancel = function () {\r\n cancelLock = true;\r\n pickInstance.setPrevValue(false);\r\n setTimeout(function () { cancelLock = false; }, 100);\r\n };\r\n\r\n dialog.addButton('ReloginLater', labels.reloginLater, function () {\r\n WebAccess.services.session.SetNewLanguage(lang).done(function () {\r\n WA.CMP.NTF.InlineHint.hideAll();\r\n WA.CR.inlineHint.showWarning(L('REGIONAL_SETTINGS_LATER_NEW_LANGUAGE', langCaption), null, INLINE_HINT_PRIORITY.PRIMARY);\r\n });\r\n })\r\n .addButton('CancelButton', L('CANCEL'), cancel)\r\n .bind('crossClose', cancel)\r\n .show(L('RELOGIN_DIALOG_MAIN_TEXT'), L('RELOGIN_DIALOG_ADDITIONAL_TEXT'), L('RELOGIN_DIALOG_TITLE'), 'warning')\r\n };\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ настройки открытия Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ².\r\n * @function Core.settings.initDocDefaultAction\r\n * @since 5.0.0.4200\r\n * @return Core.settings\r\n */\r\n global.settings.initDocDefaultAction = WA.TCD(function () {\r\n var enableRadioButton = function (jBtn) {\r\n jBtn.next(\"label\").removeClass('field_disabled');\r\n jBtn.attr('disabled', false);\r\n };\r\n\r\n var disableRadioButton = function (jBtn) {\r\n jBtn.next(\"label\").addClass('field_disabled');\r\n jBtn.attr('disabled', 'disabled');\r\n };\r\n\r\n $.when(WA.AgentInit).then(function () {\r\n var jOpenPreviewFromListChk = $('#chkOpenPreviewFromList');\r\n var jOpenCardFromListChk = $('#chkOpenCardFromList');\r\n var jOpenEditorFromListChk = $('#chkOpenEditorFromList');\r\n var jOpenDocForReadingDefaultChk = $('#chkOpenDocForReadingDefault');\r\n var jOpenDocForEditingDefaultChk = $('#chkOpenDocForEditingDefault');\r\n\r\n var needDisableAgentSetts = !WA.agent.isAvailable();\r\n switch (g_defaultListAction) {\r\n case 'preview':\r\n jOpenPreviewFromListChk.prop('checked', true);\r\n break;\r\n case 'showcard':\r\n jOpenCardFromListChk.prop('checked', true);\r\n break;\r\n case 'open':\r\n jOpenEditorFromListChk.prop('checked', true);\r\n break;\r\n case 'viewineditor':\r\n jOpenEditorFromListChk.prop('checked', true);\r\n break;\r\n }\r\n\r\n if (needDisableAgentSetts && (g_defaultListAction != 'showcard')) {\r\n jOpenPreviewFromListChk.prop('checked', true);\r\n }\r\n\r\n if (!g_openDocForEditByDefault) {\r\n jOpenDocForReadingDefaultChk.prop('checked', true);\r\n } else {\r\n jOpenDocForEditingDefaultChk.prop('checked', true);\r\n }\r\n\r\n if (!needDisableAgentSetts) {\r\n enableRadioButton(jOpenEditorFromListChk);\r\n }\r\n if (!needDisableAgentSetts && !g_isPreviewEnabled && !jOpenCardFromListChk.is(':checked')) {\r\n enableRadioButton(jOpenDocForReadingDefaultChk);\r\n enableRadioButton(jOpenDocForEditingDefaultChk);\r\n }\r\n\r\n if (needDisableAgentSetts) {\r\n disableRadioButton(jOpenEditorFromListChk);\r\n disableRadioButton(jOpenDocForReadingDefaultChk);\r\n disableRadioButton(jOpenDocForEditingDefaultChk);\r\n }\r\n });\r\n return global.settings;\r\n });\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * DEPRECATED\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ Ρ‚Π΅ΠΌ ΠΈΠ· JSON Ρ„Π°ΠΉΠ»ΠΎΠ², ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Ρ‹\r\n * @function Core.settings.loadThemesData\r\n * @return Core.settings\r\n * @deprecated As of 5.5.0.1801\r\n */\r\n global.settings.loadThemesData = WA.TCD(function (force) {\r\n return global.settings;\r\n });\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * DEPRECATED\r\n * ΠŸΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ настройка ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΎΠ² ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰ΠΈΡ… Π·Π° ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Ρ‚Π΅ΠΌΡ‹.\r\n * @function Core.settings.initThemesEvents\r\n * @return Core.settings\r\n * @deprecated As of 5.5.0.1801\r\n */\r\n global.settings.initThemesEvents = WA.TCD(function () {\r\n return global.settings;\r\n });\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * DEPRECATED\r\n * Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ Ρ†Π²Π΅Ρ‚\r\n * @function Core.settings.setCustomColor\r\n * @param {array} rgbColor основной Ρ†Π²Π΅Ρ‚\r\n * @param {boolean} opt_commit Π½ΡƒΠΆΠ½ΠΎ Π»ΠΈ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π½ΠΈΠ΅ Π² ΠΏΡ€ΠΎΡ„ΠΈΠ»Π΅\r\n * @deprecated As of 5.5.0.1801\r\n */\r\n global.settings.setCustomColor = function (rgbColor, opt_commit) {\r\n return false;\r\n };\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * ΠŸΡ€ΠΈΠΌΠ΅Π½ΠΈΡ‚ΡŒ Ρ‚Π΅ΠΌΡƒ.\r\n * DEPRECATED\r\n * @function Core.settings.applyTheme\r\n * @param {string} name - имя Ρ‚Π΅ΠΌΡ‹(gray, green)\r\n * @param {string} type - Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ Ρ‚Π΅ΠΌΡ‹(dark,light)\r\n * @param {array} backgroundColor - Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ Ρ†Π²Π΅Ρ‚ Ρ„ΠΎΠ½Π°, массив [R(int),G(int),B(int)]\r\n * @param {array} textColor - Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ Ρ†Π²Π΅Ρ‚ тСкста, массив [R(int),G(int),B(int)]\r\n * @since 5.0.0.4214\r\n * @return Core.settings\r\n * @deprecated As of 5.5.0.1801\r\n */\r\n global.settings.applyTheme = function (name, type, backgroundColor, textColor) {\r\n return false;\r\n };\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * DEPRECATED\r\n * Π‘ΠΌΠ΅Π½Π° Ρ‚Π΅ΠΌΡ‹.\r\n * @function Core.settings.changeTheme\r\n * @since 5.0.0.4214\r\n * @return Core.settings\r\n * @deprecated As of 5.5.0.1801\r\n */\r\n global.settings.changeTheme = function (fullName) {\r\n return global.settings;\r\n };\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /*\r\n * Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ настройки управляСмых ΠΏΠ°ΠΏΠΎΠΊ.\r\n * @function Core.settings.initManagedFoldersSettings\r\n * @return Core.settings\r\n */\r\n global.settings.initManagedFoldersSettings = WA.TCD(function () {\r\n\r\n $(\".all-managed-folders\").find(\"input[type=checkbox]\").on(\"change\", function () {\r\n changeChildControlsCheckedState($(this).parent());\r\n });\r\n\r\n $(\".single-managed-folder\").find(\"input[type=checkbox]\").on(\"change\", function () {\r\n var jChildContainer = $(this).parent().parent();\r\n var jParentCheckbox = jChildContainer.parent().find(\".all-managed-folders\").find(\"input[type=checkbox]\");\r\n global.settings.updateManagedFoldersLinks([$(this).parent().attr(\"data-control\")], $(this).is(\":checked\"))\r\n var checkedItemsLength = jChildContainer.find(\"input[type=checkbox]:checked\").length;\r\n var allItemsLength = jChildContainer.find(\"input[type=checkbox]\").length;\r\n if ((checkedItemsLength == 0) || (checkedItemsLength != allItemsLength))\r\n jParentCheckbox.prop(\"checked\", false);\r\n else\r\n if (checkedItemsLength == allItemsLength) {\r\n jParentCheckbox.prop(\"checked\", true);\r\n }\r\n });\r\n\r\n return global.settings;\r\n });\r\n\r\n /*\r\n * ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ ссылки управляСмых ΠΏΠ°ΠΏΠΎΠΊ ΠΏΠΎ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°ΠΌ.\r\n * @return {boolean} УспСшноС/Π½Π΅ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠ΅ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΠ΅ Π²Ρ‹Π·ΠΎΠ²Π° ΠΌΠ΅Ρ‚ΠΎΠ΄Π° Π²Π΅Π±-сСрвиса.\r\n */\r\n global.settings.updateManagedFoldersLinks = WA.TCD(function (managedFoldersIDs, pasteLinks) {\r\n ShowTopSpinner();\r\n WA.SRV.call(\"/FolderList.asmx/UpdateManagedFoldersLinks\", {\r\n ManagedFoldersIDs: managedFoldersIDs,\r\n PasteLinks: pasteLinks\r\n }, \"\", \"\", true).always(function (result) {\r\n HideTopSpinner(L('SETTINGS_SAVED'), 2000);\r\n });\r\n return global.settings;\r\n });\r\n\r\n /*\r\n * Π˜Π·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ состояния Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΡ… чСкбоксов ΠΈ ΠΎΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ настройки управляСмых ΠΏΠ°ΠΏΠΎΠΊ\r\n * @function changeChildControlsCheckedState\r\n * @param {object} parentControl\r\n */\r\n function changeChildControlsCheckedState(jParentControl) {\r\n var parentControlIsChecked = $(jParentControl).find(\"input[type=checkbox]\").is(\":checked\");\r\n var managedFoldersIDs = [];\r\n jParentControl.parent().find(\".single-managed-folder\").each(function () {\r\n var jChildCheckbox = $(this).find(\"input[type=checkbox]\");\r\n jChildCheckbox.prop(\"checked\", parentControlIsChecked);\r\n managedFoldersIDs.push($(this).attr(\"data-control\"));\r\n });\r\n global.settings.updateManagedFoldersLinks(managedFoldersIDs, parentControlIsChecked);\r\n }\r\n\r\n /**\r\n * ΠžΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ Π»ΠΎΠ³ΠΈ Π½Π° сСрвСр.\r\n *\r\n * @function uploadLogs\r\n * @return {Deferred} Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния запроса.\r\n * @see https://api.jquery.com/category/deferred-object/\r\n */\r\n global.settings.uploadLogs = function () {\r\n var d = $.Deferred();\r\n var toast = new WA.CMP.NTF.Toast();\r\n WA.agent.checkSessionState(1).done(function (isSessionRegistered) {\r\n if (isSessionRegistered) {\r\n WA.agent.uploadLogs().done((response) => {\r\n toast.showMessage(L('ERROR_REPORT_SUCCESS_MESSAGE'));\r\n d.resolve(response);\r\n }).fail((response) => {\r\n toast.showMessage(L('ERROR_REPORT_FAIL_MESSAGE'));\r\n d.reject(response);\r\n });\r\n } else {\r\n ShowWarning(L('LAUNCH_AGENT_TO_SEND_ERROR_REPORT'));\r\n }\r\n }).fail(() => {\r\n ShowWarning(L('LAUNCH_AGENT_TO_SEND_ERROR_REPORT'));\r\n });\r\n\r\n return d.promise();\r\n };\r\n\r\n})(window.Core);\r\n","(function (global) {\r\n\r\n /**\r\n * Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰ΠΈΠ΅ Π·Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡Π΅ΠΊ.\r\n * @namespace Core.cards\r\n * @since 5.0.0.7100\r\n */\r\n global.cards = {};\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ строки Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·Π΄Π΅Π»Π°.\r\n * @function Core.cards.deleteTableRow\r\n * @since 5.0.0.7100\r\n * @return Core.cards\r\n */\r\n global.cards.deleteTableRow = function (el, rowNum) {\r\n ConfirmDialogNew({\r\n text: L(\"CONFIRM_TABLE_RECORD_DELETE\"),\r\n okText: L(\"YES\"),\r\n cancelText: L(\"NO\"),\r\n ok: function () {\r\n var tbl = $(el).parents().filter('table:first');\r\n var detailNum = +tbl.data('section');\r\n WA.CR.form.controls.tables[tbl.data('name')].deleteRow(+rowNum);\r\n }\r\n });\r\n return this;\r\n };\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n /**\r\n * Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΎΠΊ.\r\n * @since 5.5.2201\r\n */\r\n global.cards.enableButtonsOnFormChange = function (buttonNames) {\r\n var toolBar = WA.CR.toolBar;\r\n if (toolBar) {\r\n buttonNames.forEach(function (buttonName) {\r\n var button = toolBar.buttons[buttonName];\r\n if (button) {\r\n button.enable();\r\n }\r\n });\r\n }\r\n };\r\n //---------------------------------------------------------------------//\r\n\r\n /**\r\n * Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΎΠΊ Π½Π° Π»Π΅Π½Ρ‚Π΅ ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Ρ„ΠΎΡ€ΠΌΡ‹.\r\n * @since 5.5.2201\r\n */\r\n global.cards.bindButtonsEnablingOnFormChange = function (buttonNames) {\r\n // Π€Π»Π°Π³, ΡƒΠΊΠ°Π·Ρ‹Π²Π°ΡŽΡ‰ΠΈΠΉ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ осущСствлСния Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠΈ ΠΊΠ½ΠΎΠΏΠΎΠΊ Π½Π΅ Π»Π΅Π½Ρ‚Π΅\r\n // Π½Π° основС Ρ€Π΅ΠΆΠΈΠΌΠ° доступности\r\n var isControlChangedBefore = false;\r\n $.when(WA.FormControlsInit, WA.FormInit, WA.ToolBarInit).done(() => {\r\n WA.CR.form.bind('change', () => {\r\n global.cards.enableButtonsOnFormChange(buttonNames);\r\n if (!isControlChangedBefore) {\r\n Core.cards.setButtonsEnablingOnEnabledMode();\r\n isControlChangedBefore = true;\r\n }\r\n });\r\n\r\n //подписываСм Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹ ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠΈ Π½Π° события Π²Π²ΠΎΠ΄Π°\r\n bindButtonsEnablingOnMainSectionRequisitesInput(buttonNames);\r\n WA.CR.form.bind('AfterSave', () => {\r\n bindButtonsEnablingOnMainSectionRequisitesInput(buttonNames);\r\n });\r\n bindButtonsEnablingOnDetailSectionRequisitesInput(buttonNames);\r\n });\r\n };\r\n\r\n /**\r\n * Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ Π·Π°ΠΊΠ»Π°Π΄ΠΎΠΊ ΠΏΡ€ΠΈ сохранСни Ρ„ΠΎΡ€ΠΌΡ‹.\r\n * @since 5.5.2201\r\n */\r\n global.cards.bindTabsEnablingOnFormSave = function (tabNames) {\r\n WA.CR.form.bind('AfterSave', () => {\r\n if (!!tabNames) {\r\n tabNames.forEach((tabName) => {\r\n if (!!WA.CR.sideBar.tabs[tabName])\r\n WA.CR.sideBar.tabs[tabName].enable();\r\n });\r\n }\r\n });\r\n };\r\n\r\n /**\r\n * Π”Π΅Π»Π°Π΅Ρ‚ ΠΊΠΎΠ½ΠΎΠΏΠΊΠΈ доступными ΠΏΡ€ΠΈ Π²Π²ΠΎΠ΄Π΅ Π½Π° Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹ основного Ρ€Π°Π·Π΄Π΅Π»Π°\r\n * @param {Array} buttonNames названия ΠΊΠ½ΠΎΠΏΠΎΠΊ\r\n */\r\n function bindButtonsEnablingOnMainSectionRequisitesInput(buttonNames) {\r\n WA.CR.form.requisites.toArray().forEach((req) => {\r\n req.controls.forEach((jControl) => {\r\n jControl.unbind('input.req keypress.req').one('input.req keypress.req', () => {\r\n global.cards.enableButtonsOnFormChange(buttonNames);\r\n });\r\n });\r\n });\r\n }\r\n\r\n /**\r\n * Π”Π΅Π»Π°Π΅Ρ‚ ΠΊΠΎΠ½ΠΎΠΏΠΊΠΈ доступными ΠΏΡ€ΠΈ Π²Π²ΠΎΠ΄Π΅ Π½Π° Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹ Π΄Π΅Ρ‚Π°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·Π΄Π΅Π»Π°\r\n * @param {Array} buttonNames названия ΠΊΠ½ΠΎΠΏΠΎΠΊ\r\n */\r\n function bindButtonsEnablingOnDetailSectionRequisitesInput(buttonNames) {\r\n const _bindOnRequisiteKeyPress = (row) => {\r\n row.requisites.toArray().forEach((req) => {\r\n req.bind('editModeChange', (isEditMode) => {\r\n if (isEditMode) {\r\n req.controls.forEach((jControl) => {\r\n jControl.one('input.req keypress.req', () => {\r\n global.cards.enableButtonsOnFormChange(buttonNames);\r\n });\r\n });\r\n } else {\r\n req.controls.forEach((jControl) => {\r\n jControl.unbind('input.req keypress.req');\r\n });\r\n }\r\n });\r\n });\r\n };\r\n\r\n const tables = WA.CR.form.controls.tables;\r\n for (const tableName in tables) {\r\n const table = tables[tableName];\r\n table.rows.toArray().forEach((row) => {\r\n _bindOnRequisiteKeyPress(row);\r\n });\r\n table.bind('addRow', (row) => {\r\n _bindOnRequisiteKeyPress(row);\r\n });\r\n };\r\n }\r\n\r\n /**\r\n * Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΎΠΊ Π½Π° Π»Π΅Π½Ρ‚Π΅ ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Ρ„ΠΎΡ€ΠΌΡ‹ Π½Π° основС Ρ€Π΅ΠΆΠΈΠΌΠ° доступности.\r\n * @since 5.5.2201\r\n */\r\n global.cards.setButtonsEnablingOnEnabledMode = function () {\r\n WA.CR.toolBar.buttons.getButtonsByEnabledMode(ACTION_ENABLED_MODE.ENABLED_ON_BROWSE).forEach(function (button) {\r\n button.disable();\r\n });\r\n WA.CR.toolBar.buttons.getButtonsByEnabledMode(ACTION_ENABLED_MODE.ENABLED_ON_EDIT).forEach(function (button) {\r\n button.enable();\r\n });\r\n };\r\n\r\n /**\r\n * Если Π½Π° страницС Π΅ΡΡ‚ΡŒ растягиваСмый iframe прСдпросмотра,\r\n * сдСлаСм измСнСния Π² вёрсткС, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ Π²ΠΊΠ»Π°Π΄ΠΊΠΈ растянулся Π½Π° всю высоту.\r\n */\r\n global.cards.initResizablePreviewCard = () => {\r\n const jFrame = $('.CardForm_webbrowser');\r\n if (jFrame.hasClass('webbrowser_resizable')) {\r\n $('#scroller').addClass('scroller scroller_resizable');\r\n\r\n jFrame.css('top',`${jFrame.position().top || 8}px`);\r\n const framePosition = jFrame.position();\r\n jFrame.css({\r\n height: `calc(100% - ${Math.max(framePosition.top + 10, 10)}px)`,\r\n width: `calc(100% - ${Math.max(framePosition.left + 10, 10)}px)`,\r\n });\r\n const jInnerPanel = jFrame.parent();\r\n if (jInnerPanel.attr('name') && jInnerPanel.attr('name').includes('InnerPanel')) {\r\n // iFrame Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° \"ΠΏΠ°Π½Π΅Π»ΠΈ\", ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Ρ‚ΠΎΠΆΠ΅ Π½ΡƒΠΆΠ½ΠΎ Ρ€Π°ΡΡ‚ΡΠ½ΡƒΡ‚ΡŒ\r\n jInnerPanel.css({\r\n height: '100%',\r\n width: `calc(100% - ${jInnerPanel.position().left}px)`,\r\n });\r\n const jPanelGroup = jInnerPanel.parent();\r\n const panelGroupPosition = jPanelGroup.position();\r\n jPanelGroup.css({\r\n height: `calc(100% - ${panelGroupPosition.top * 2}px)`,\r\n width: `calc(100% - ${panelGroupPosition.left}px)`,\r\n });\r\n }\r\n }\r\n };\r\n\r\n})(window.Core);\r\n","\"use strict\";\r\n(function gridNamespace(global) {\r\n\r\n /**\r\n * Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰ΠΈΠ΅ Π·Π° Π³Ρ€ΠΈΠ΄\r\n * @namespace Core.grid\r\n * @since 5.2.0.1100\r\n */\r\n global.grid = {};\r\n\r\n /**\r\n * Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰ΠΈΠ΅ Π·Π° Π³Ρ€ΠΈΠ΄ списка записСй справочника.\r\n * @namespace Core.grid.reference\r\n * @since 5.2.0.1100\r\n */\r\n global.grid.reference = {};\r\n\r\n /**\r\n * Deferred-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚. Π‘ΠΎΠΎΠ±Ρ‰Π°Π΅Ρ‚ ΠΎ готовности ΠΊ использованию Core.grid.reference.\r\n * @namespace Core.grid.referenceInit\r\n * @since 5.4.0.1021\r\n */\r\n global.grid.referenceInit = $.Deferred();\r\n\r\n /**\r\n * ΠžΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅ΠΌ мСсто размСщСния Π³Ρ€ΠΈΠ΄Π°\r\n * @method Core.grid.getPlacementContext\r\n * @return {String}\r\n */\r\n global.grid.getPlacementContext = function () {\r\n if (typeof g_ReferencePlacementContext !== 'undefined') {\r\n return g_ReferencePlacementContext;\r\n } else {\r\n var currentTab = WA.current.sideBar.tabs.current;\r\n if (!!currentTab) {\r\n var prefix;\r\n switch (WA.getLocation()) {\r\n case \"reference\": prefix = \"RefCard\"; break;\r\n case \"doc\": prefix = \"DocCard\"; break;\r\n case \"task\": prefix = \"TaskCard\"; break;\r\n case \"job\": prefix = \"JobCard\"; break;\r\n case \"folder\": prefix = \"FolderCard\"; break;\r\n default: prefix = \"Card\";\r\n }\r\n return prefix + '_' + currentTab.name.toUpperCase();\r\n }\r\n return 'Explorer';\r\n }\r\n }\r\n\r\n})(window.Core);\r\n","(function referenceDataSourceInitLambda(global) {\r\n\r\n // Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ Π΄Π°Π½Π½Ρ‹Ρ… для Π³Ρ€ΠΈΠ΄Π°.\r\n var ReferenceDataSource = WA.CMP.dataViews.BaseDataProvider.extend({\r\n referenceName: '',\r\n referenceView: '',\r\n initialState: null,\r\n\r\n _cacheID: '',\r\n _saveSateTimeout: null,\r\n\r\n init: function (referenceName, referenceView, placementContext, initialState) {\r\n var me = this;\r\n\r\n me._super(initialState);\r\n\r\n me.referenceName = referenceName;\r\n me.referenceView = referenceView;\r\n me.placementContext = placementContext;\r\n me.initialState = initialState;\r\n\r\n me._cacheID = generateUniqueID();\r\n\r\n me.defaults = {\r\n ReferenceName: me.referenceName,\r\n ReferenceView: me.referenceView,\r\n PlacementContext: me.placementContext\r\n }\r\n },\r\n\r\n makeParams: function (loadOptions) {\r\n var me = this;\r\n loadOptions.CacheID = me._cacheID;\r\n return {\r\n Params: $.toJSON(me.extendDefaults(loadOptions))\r\n }\r\n },\r\n\r\n /**\r\n * Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ список записСй.\r\n *\r\n * @method load\r\n * @param {Object} loadOptions ΠžΠΏΡ†ΠΈΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ.\r\n * @return {Deferred} Π—Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹Π΅ записи.\r\n * @see https://api.jquery.com/category/deferred-object/\r\n */\r\n load: function (loadOptions) {\r\n var me = this;\r\n var result = new $.Deferred();\r\n var rowsQuery = WA.SRV.call('/Reference.asmx/GetGridRows', me.makeParams(loadOptions));\r\n\r\n // Запрос получСния Π΄Π°Π½Π½Ρ‹Ρ… ΡƒΠΆΠ΅ ΠΈ Ρ‚Π°ΠΊ сохраняСт состояниС Π² ΠΏΡ€ΠΎΡ„ΠΈΠ»Π΅, поэтому ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‰Π°Π΅ΠΌ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Π΅ лишниС запросы для сохранСния состояния.\r\n clearTimeout(me._saveSateTimeout);\r\n\r\n rowsQuery.done(function onDataLoad(data) {\r\n result.resolve($.parseJSON(data));\r\n }).fail(function onDataFail(err) {\r\n log.error(\"GRID\", \"Can not get data for table. \" + err); \r\n result.reject(\"Can not get data for table. \" + err);\r\n });\r\n\r\n return result.promise();\r\n },\r\n\r\n totalCount: function (filter, globalLikeFilter) {\r\n var me = this;\r\n return WA.SRV.call(\"/Reference.asmx/GetRecordCount\", {\r\n ReferenceCode: me.referenceName,\r\n ReferenceView: me.referenceView,\r\n SelectExpression: filter ? filter : \"\", \r\n IgnoreRestrictions: true,\r\n PlacementContext: me.placementContext,\r\n QueryInstanceID: me.initialState.QueryInstanceID,\r\n QueryContext: me.initialState.QueryContext,\r\n GlobalLikeFilter: globalLikeFilter ? globalLikeFilter : \"\"\r\n }).promise();\r\n },\r\n\r\n /**\r\n * Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ состояниС.\r\n *\r\n * @method loadState\r\n * @return {Deferred} БостояниС.\r\n * @see https://api.jquery.com/category/deferred-object/\r\n */\r\n loadState: function () {\r\n var me = this;\r\n var result = $.Deferred();\r\n result.resolve(me.initialState);\r\n return result.promise();\r\n },\r\n\r\n /**\r\n * Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ состояниС.\r\n *\r\n * @method saveState\r\n * @param {Object} loadOptions ΠžΠΏΡ†ΠΈΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ.\r\n * @param {boolean} forceSaveToServer ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ сохранСния Π½Π° сСрвСрС.\r\n * @return {Deferred}\r\n * @see https://api.jquery.com/category/deferred-object/\r\n */\r\n saveState: function (loadOptions, forceSaveToServer) {\r\n var me = this;\r\n var result = $.Deferred();\r\n if (forceSaveToServer !== true) {\r\n // Π‘ΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ состояния Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΏΡ€ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ….\r\n result.resolve();\r\n } else {\r\n clearTimeout(me._saveSateTimeout);\r\n me._saveSateTimeout = setTimeout(function () {\r\n WA.SRV.call('/Reference.asmx/SaveGridState', me.makeParams(loadOptions)).promise().done(function () {\r\n result.resolve();\r\n }).fail(function () {\r\n result.reject();\r\n });\r\n }, 200);\r\n }\r\n return result.promise();\r\n }\r\n });\r\n\r\n\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n // ΠŸΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹.\r\n global.ReferenceDataSource = ReferenceDataSource;\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n})(window.Core.grid);","(function selectListDataProvider(global) {\r\n \"use strict\";\r\n\r\n global.SelectListDataProvider = WA.CMP.dataViews.BaseDataProvider.extend({\r\n className: 'SelectListDataProvider',\r\n _cachedPages: {},\r\n lastLike: '',\r\n lastExpression: '',\r\n settings: null,\r\n lastCurrentPeriodEnabled: null,\r\n\r\n init: function (settings) {\r\n var me = this;\r\n me._super();\r\n me._cachedPages = {};\r\n me.settings = $.extend({}, settings);\r\n },\r\n\r\n /**\r\n * Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ список записСй справочника.\r\n *\r\n * @method load\r\n * @param {Object} loadOptions ΠžΠΏΡ†ΠΈΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ.\r\n * @return {Deferred} Π—Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹Π΅ записи.\r\n * @see https://api.jquery.com/category/deferred-object/\r\n */\r\n load: function (loadOptions) {\r\n var me = this;\r\n var result = $.Deferred();\r\n var selectedRecords = [];\r\n var notSelectedRecords = [];\r\n var specialRecords = [];\r\n\r\n function getElementIdFromValue(value) {\r\n let id = (\"\" + value).makeSafeString();\r\n if (id === '_') {\r\n switch (value) {\r\n case '+': id = 'APPROVED'; break;\r\n case '?': id = 'DISAPPROVED'; break;\r\n default: id = 'UNSPECIFIED'; break;\r\n }\r\n }\r\n return id;\r\n }\r\n\r\n if (loadOptions.selectedRecords && loadOptions.selectedRecords.length) {\r\n selectedRecords = _(loadOptions.selectedRecords).pluck('Value');\r\n }\r\n\r\n //Записи ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ‹Π»ΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½Ρ‹\r\n if (loadOptions.notSelectedRecords && loadOptions.notSelectedRecords.length) {\r\n notSelectedRecords = _(loadOptions.notSelectedRecords).pluck('Value');\r\n }\r\n\r\n //Ссли ΠΏΡ€ΠΈΠΌΠ΅Π½ΠΈΠ»ΠΈ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ Ρ‚ΠΎ придСтся ΡΠ±Ρ€ΠΎΡΠΈΡ‚ΡŒ кэш\r\n var isCurrentPeriodEnabled = Core.grid.reference.isCurrentPeriodEnabled();\r\n if (loadOptions.like !== me.lastLike || loadOptions.expression !== me.lastExpression || me.lastCurrentPeriodEnabled !== isCurrentPeriodEnabled) {\r\n me._cachedPages = {};\r\n me.lastLike = loadOptions.like;\r\n me.lastExpression = loadOptions.expression;\r\n me.lastCurrentPeriodEnabled = isCurrentPeriodEnabled;\r\n }\r\n\r\n //Если страница Π΅ΡΡ‚ΡŒ Π² кэшС, Ρ‚ΠΎ возьмСм ΠΈΠ· кэша\r\n if (me._cachedPages[loadOptions.page]) {\r\n var records = me._cachedPages[loadOptions.page];\r\n\r\n records = _(records).map(function (record) {\r\n if (!loadOptions.invertedMode) {\r\n record.isSelected = selectedRecords.indexOf(record.value) !== -1\r\n } else {\r\n record.isSelected = notSelectedRecords.indexOf(record.value) === -1\r\n }\r\n return record;\r\n });\r\n \r\n \r\n result.resolve(_(specialRecords.concat(records)).map(function (r) {\r\n r.id = getElementIdFromValue(r.value);\r\n return r;\r\n }));\r\n return result.promise();\r\n }\r\n\r\n WA.SRV.call('/Reference.asmx/GetDistinctRequisiteValues', {\r\n ReferenceCode: me.settings.referenceName || WA.CR.getReferenceCode(),\r\n ReferenceView: me.settings.referenceView || WA.CR.getReferenceView(),\r\n RequisiteName: loadOptions.requisiteName,\r\n Filter: me.settings.filter,\r\n CustomFilter: loadOptions.like,\r\n SelectExpr: loadOptions.expression,\r\n Skip: loadOptions.skip,\r\n Take: loadOptions.take,\r\n QueryInstanceID: me.settings.queryInstanceID,\r\n QueryContext: me.settings.queryContext\r\n }).done(function (records) {\r\n records = _(records).map(function (item) {\r\n return {\r\n value: item.First,\r\n displayValue: $.trim(item.Second),\r\n type: '',\r\n isSelected: (!loadOptions.invertedMode) ? selectedRecords.indexOf(item.First) !== -1 : notSelectedRecords.indexOf(item.First) === -1\r\n }\r\n });\r\n\r\n me._cachedPages[loadOptions.page] = records;\r\n result.resolve(specialRecords.concat(records).map(function (r) {\r\n r.id = getElementIdFromValue(r.value);\r\n return r;\r\n }));\r\n });\r\n\r\n return result.promise();\r\n }\r\n });\r\n\r\n})(Core.grid);","(function referenceGridInitLambda(global) {\r\n\r\n var TEMPLATES = {\r\n LINK_CELL: 'components/grid/linkCell.compile.html'\r\n };\r\n\r\n /**\r\n * ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅Ρ‚ строку с ΠΏΡ€Π°Π²ΠΈΠ»Π°ΠΌΠΈ стиля Π² html стили.\r\n */\r\n global.getReferenceRecordStyle = function (styleRules) {\r\n var style = \"\";\r\n\r\n // По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Ρ†Π²Π΅Ρ‚ Π±Π΅Π»Ρ‹ΠΉ, Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π΅Π³ΠΎ ΠΏΡ€ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ Π»ΠΎΠΌΠ°Ρ‚ΡŒ Ρ‚Π΅ΠΌΡ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.\r\n if (styleRules.TextColor.R + styleRules.TextColor.G + styleRules.TextColor.B > 0)\r\n style = format(\"color: rgb({0},{1},{2}) !important;\",\r\n styleRules.TextColor.R,\r\n styleRules.TextColor.G,\r\n styleRules.TextColor.B);\r\n\r\n if (styleRules.IsBold)\r\n style = style + \"font-weight: bold;\";\r\n\r\n if (styleRules.IsItalic)\r\n style = style + \"font-style: italic;\";\r\n\r\n if (styleRules.IsStrikeOut)\r\n style = style + \"text-decoration: line-through;\";\r\n\r\n return style;\r\n };\r\n\r\n /**\r\n * ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΄Π°Π½Π½Ρ‹Π΅ Π² Ρ„ΠΎΡ€ΠΌΠ΅-список справочника.\r\n */\r\n global.forceReloadData = () => {\r\n setTimeout(() => {\r\n // QueryInstanceID всСгда Π±Π΅Ρ€Π΅ΠΌ ΠΈΠ· Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ состояния Π³Ρ€ΠΈΠ΄Π°.\r\n global.reference.updateState({ QueryInstanceID: global.reference.state.QueryInstanceID }, true);\r\n global.reference.reloadData();\r\n }, 0);\r\n };\r\n\r\n global.initReference = function (referenceName, referenceView, placementContext, columns, state) {\r\n // Π‘ΠΎΠ·Π΄Π°Π΅Ρ‚ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ для формирования ссылки Π½Π° запись справочника.\r\n var createReferenceRecordObj = function (id) {\r\n return { id: id, kind: \"REF\", refcode: referenceName, refview: referenceView };\r\n };\r\n\r\n // Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π°Ρ информация ΠΏΠΎ строкС записи справочника.\r\n var getReferenceRecordRowAdditionalInfo = function (rowNumber, grid) {\r\n var row = this.getItem(rowNumber);\r\n if (row.__nonDataRow !== true) {\r\n var backgroundColor = \"\";\r\n\r\n if (row.styleRules) {\r\n var backgroundColorObj = JSON.parse(row.styleRules).BackgroundColor;\r\n // По ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Ρ†Π²Π΅Ρ‚ Π±Π΅Π»Ρ‹ΠΉ, Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ Π΅Π³ΠΎ ΠΏΡ€ΠΎΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ Π»ΠΎΠΌΠ°Ρ‚ΡŒ Ρ‚Π΅ΠΌΡ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.\r\n // TODO ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ†Π²Π΅Ρ‚ выдСлСния ячСйки смСщСниСм ΠΎΡ‚ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ Ρ†Π²Π΅Ρ‚Π°.\r\n if (backgroundColorObj.R + backgroundColorObj.G + backgroundColorObj.B < 765) {\r\n backgroundColor = format(\"background: rgb({0},{1},{2}) !important;\",\r\n backgroundColorObj.R,\r\n backgroundColorObj.G,\r\n backgroundColorObj.B);\r\n }\r\n }\r\n\r\n return {\r\n cssClasses: 'List ' + (Core.grid.reference.grid.getSelectedRows().indexOf(rowNumber) !== -1 ? 'selected' : ''), //FIXME\r\n backgroundColor: backgroundColor,\r\n attributes: {\r\n 'id': row.id,\r\n 'kind': 'REF',\r\n 'compcode': referenceName,\r\n 'data-recid': row.id,\r\n 'data-refcode': referenceName,\r\n 'oncontextmenu': 'var event = arguments[0] || window.event; return Core.grid.reference.openContextMenu(this, event);'\r\n }\r\n };\r\n }\r\n };\r\n\r\n let sourceTabName = '';\r\n WA.ready(function () {\r\n // Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΠΎΡ‚Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для Ρ‚ΠΎΠΉ Π²ΠΊΠ»Π°Π΄ΠΊΠΈ, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΎΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ.\r\n // Если ΡƒΠ±Ρ€Π°Ρ‚ΡŒ эту ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ, Ρ‚ΠΎ ΠΏΡ€ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄Π΅ со Π²ΠΊΠ»Π°Π΄ΠΊΠΈ, Π³Π΄Π΅ Π΅ΡΡ‚ΡŒ Π³Ρ€ΠΈΠ΄ Π½Π° Ρ€Π΅Π°ΠΊΡ‚ΠΈΠ²Π½ΡƒΡŽ Π²ΠΊΠ»Π°Π΄ΠΊΡƒ Π˜ΡΡ‚ΠΎΡ€ΠΈΠΈ,\r\n // вмСсто истории ΠΌΡ‹ ΡƒΠ²ΠΈΠ΄ΠΈΠΌ Π³Ρ€ΠΈΠ΄ =) Π’ дальнСйшСм Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΡ„ΠΈΠΊΡΠΈΡ‚ΡŒ с ΠΏΠΎΠ»Π½Ρ‹ΠΌ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΎΠΌ Π½Π° React.\r\n const sidebarTabs = WA.CR.sideBar.tabs.toArray();\r\n if (sidebarTabs.length) {\r\n if (!sourceTabName) {\r\n sourceTabName = WA.CR.sideBar.tabs.current.name;\r\n } else if (sourceTabName !== WA.CR.sideBar.tabs.current.name) {\r\n return ;\r\n }\r\n }\r\n\r\n WA.templates.load(TEMPLATES.LINK_CELL).done(function (cellTemplate) {\r\n\r\n var DV = WA.CMP.dataViews;\r\n\r\n var plugins = [\r\n new DV.gridPlugins.SortingPlugin(true),\r\n new DV.gridPlugins.GroupingPlugin(),\r\n new DV.gridPlugins.FooterPlugin(),\r\n new DV.gridPlugins.CheckboxPlugin(),\r\n new DV.gridPlugins.ContextMenuPlugin({ from: 'ReferenceTable', refview: referenceView }),\r\n new DV.gridPlugins.ColumnResizePlugin(),\r\n new DV.gridPlugins.FilteringPlugin(global.SelectListDataProvider)\r\n ];\r\n\r\n var dataSource = new global.ReferenceDataSource(referenceName, referenceView, placementContext, state);\r\n\r\n // Π¨Π°Π±Π»ΠΎΠ½ΠΈΠ·Π°Ρ‚ΠΎΡ€ ячССк.\r\n var referenceRecordsCellTemplate = function (rowNumber, cellNumber, value, columnDef, dataContext) {\r\n var recID = dataContext.id;\r\n value = value || '';\r\n\r\n switch (columnDef.id) {\r\n case '_ContextMenu':\r\n // ΠœΠ΅Ρ‚ΠΎΠ΄ openContextMenu находится Π² ΠΏΠ»Π°Π³ΠΈΠ½Π΅ gridPlugins.ContextMenuPlugin.\r\n return '';\r\n case '_Checkbox':\r\n // Для этой ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ спСц. ΠΏΠ»Π°Π³ΠΈΠ½ gridPlugins.CheckboxPlugin.\r\n break;\r\n default:\r\n var href = GetObjectCardUrl(createReferenceRecordObj(recID));\r\n // Подсказка.\r\n var hint = {\r\n classes: '',\r\n data: ''\r\n };\r\n\r\n if (columnDef.hint) {\r\n var columnRecId = dataContext[columnDef.id];\r\n hint.classes = 'hint';\r\n hint.data = 'data-hint=\"' + columnDef.hint.replace('%REC_ID%', recID).replace('%REQ_ID%', columnRecId) + '\"';\r\n }\r\n\r\n var style = \"\";\r\n if (dataContext['styleRules']) {\r\n style = global.getReferenceRecordStyle(JSON.parse(dataContext['styleRules']));\r\n }\r\n\r\n var target = \"Ref\" + recID;\r\n\r\n return cellTemplate.render({\r\n style: style,\r\n hint: hint,\r\n value: value,\r\n href: href,\r\n target: target\r\n });\r\n }\r\n };\r\n\r\n var referenceGrid = new DV.Grid('#main_container', dataSource, columns, {\r\n getRowAdditionalInfo: getReferenceRecordRowAdditionalInfo,\r\n cellTemplate: referenceRecordsCellTemplate,\r\n plugins: plugins,\r\n selectListDataProviderSettings: {\r\n referenceName: referenceName,\r\n referenceView: referenceView,\r\n filter: state.GlobalPageFilterLikeQuery,\r\n queryInstanceID: state.QueryInstanceID,\r\n queryContext: state.QueryContext\r\n }\r\n });\r\n\r\n // Для Ρ€Π°Π±ΠΎΡ‚Ρ‹ клиСнтской ОМ.\r\n var notifyObjectList = function () {\r\n WA.ObjectListInit.done(function () {\r\n WA.CR.objectList.fire('itemsChange');\r\n });\r\n };\r\n referenceGrid.bind(WA.CMP.DV.Grid.EVENT.AFTER_DATA_LOADED, notifyObjectList).bind(WA.CMP.DV.Grid.EVENT.SELECTED_ROWS_CHANGED, notifyObjectList);\r\n\r\n referenceGrid.bind(WA.CMP.DV.Grid.EVENT.AFTER_DATA_LOADED, function () {\r\n // Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌ подсказки ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ систСмы.\r\n InitTooltips();\r\n });\r\n referenceGrid.bind(WA.CMP.DV.Grid.EVENT.VIEWPORT_CHANGED, function () {\r\n // Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌ подсказки ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ систСмы ΠΏΡ€ΠΈ скроллингС.\r\n InitTooltips();\r\n });\r\n\r\n referenceGrid.bind(WA.CMP.DV.Grid.EVENT.PAGE_CHANGE, function () {\r\n // Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌ подсказки ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ систСмы ΠΏΡ€ΠΈ скроллингС.\r\n InitTooltips();\r\n });\r\n\r\n\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n // ΠŸΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹.\r\n global.reference = referenceGrid;\r\n global.referenceInit.resolve();\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n });\r\n });\r\n }\r\n\r\n})(window.Core.grid);\r\n","(function detailsDataProviderInitLambda(global) {\r\n\r\n\r\n /** \r\n * Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ Π΄Π°Π½Π½Ρ‹Ρ… для Π³Ρ€ΠΈΠ΄Π°.\r\n * @since 5.2.0.1300\r\n */\r\n var DetailsDataProvider = WA.CMP.dataViews.BaseDataProvider.extend({\r\n _DetailSectionNumber: null,\r\n _DFMName: null,\r\n\r\n init: function (initialState) {\r\n var me = this;\r\n\r\n me._super(initialState);\r\n me._cacheID = generateUniqueID();\r\n me._DetailSectionNumber = initialState.DetailSectionNumber;\r\n me._DFMName = initialState.DFMName;\r\n \r\n me.defaults = {\r\n ObjectLink: new WA.Link().toLinkModel() \r\n }\r\n \r\n $.extend(me.defaults, initialState);\r\n },\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n _makeKey: function () {\r\n var me = this;\r\n var code;\r\n if (WA.CR.Type === OBJECT_TYPE.EDOCUMENT) {\r\n code = \"\" + WA.CR.CardTypeCode;\r\n }\r\n\r\n if (WA.CR.Type === OBJECT_TYPE.REFERENCE_RECORD) {\r\n code = \"\" + WA.CR.getReferenceCode();\r\n }\r\n return $.toJSON([code, \"\"+WA.CR.getReferenceView(), \"\"+me._DetailSectionNumber]).replaceAll(' ','');\r\n },\r\n\r\n /**\r\n * @since 5.2.0.1300\r\n */\r\n makeParams: function (loadOptions) {\r\n var me = this;\r\n loadOptions.CacheID = me._cacheID;\r\n return me.extendDefaults(loadOptions);\r\n },\r\n\r\n /**\r\n * Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ список записСй.\r\n *\r\n * @method load\r\n * @param {Object} loadOptions ΠžΠΏΡ†ΠΈΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ.\r\n * @return {Deferred} Π—Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹Π΅ записи.\r\n * @since 5.2.0.1300\r\n * @see https://api.jquery.com/category/deferred-object/\r\n */\r\n load: function (loadOptions) {\r\n var me = this;\r\n var result = new $.Deferred();\r\n WA.SRV.call('/CardForm.asmx/GetDetailsData', me.makeParams(loadOptions)).always((data) => {\r\n let rowsList = data.Error ? [] : $.parseJSON(data);\r\n result.resolve({ Rows: rowsList });\r\n });\r\n return result.promise();\r\n },\r\n\r\n /**\r\n * Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ состояниС.\r\n *\r\n * @method loadState\r\n * @return {Deferred} БостояниС.\r\n * @see https://api.jquery.com/category/deferred-object/\r\n */\r\n loadState: function () {\r\n var me = this;\r\n var result = $.Deferred();\r\n var jTable = $('#'+me._DFMName);\r\n\r\n var data = jTable.data('state');\r\n if (data && data[\"ObjectLink\"]) delete data[\"ObjectLink\"]; //Π’ ΠΏΡ€ΠΎΡ„ΠΈΠ»Π΅ ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π½Π΅Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½Π°Ρ ссылка\r\n result.resolve(data);\r\n\r\n return result;\r\n },\r\n\r\n /**\r\n * Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ состояниС.\r\n *\r\n * @param {Object} loadOptions ΠžΠΏΡ†ΠΈΠΈ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ.\r\n * @param {boolean} forceSaveToServer ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ ΠΏΡ€ΠΈΠ½ΡƒΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ Π½Π° сСрвСр.\r\n * @return {Deferred}\r\n * @see https://api.jquery.com/category/deferred-object/\r\n */\r\n saveState: function (loadOptions, forceSaveToServer) {\r\n var me = this;\r\n var result = $.Deferred(); \r\n clearTimeout(me._saveSateTimeout);\r\n WA.cache.serverCache.setItem(me._makeKey(), me.makeParams(loadOptions)).done(function () {\r\n result.resolve();\r\n }).fail(function () {\r\n result.reject();\r\n });\r\n return result.promise();\r\n }\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n });\r\n\r\n\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n // ΠŸΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹.\r\n global.DetailsDataProvider = DetailsDataProvider;\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n})(window.Core.grid);","(function detailsGridInitLambda(global) {\r\n\r\n $(function () {\r\n\r\n var Initiializer = WebAccess.components.wrappers.details.DetailsInitiializer;\r\n var detailsInitiializer = new Initiializer('div.Reference_Detail', global.DetailsDataProvider, {}, WA.components.dataViews.gridPlugins.DetailsContextMenu, WA.CR);\r\n detailsInitiializer.bind(Initiializer.EVENT.COMPLETE, function (initiializer) {\r\n global.details = initiializer.gridInstances;\r\n initiializer.waitForData().done(function () {\r\n WA._DetailsGridInit.resolve();\r\n });\r\n });\r\n });\r\n\r\n $.when(WA.FormControlsInit, WA.FormInit, WA.DetailsInit).then(function () {\r\n if (!WA.CR.form.isExist()) return;\r\n\r\n // Π›ΠΎΠ³ΠΈΠΊΠ° Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π²Π΅Π΄ΡƒΡ‰ΠΈΡ…/Π²Π΅Π΄ΠΎΠΌΡ‹Ρ… Π² Π΄Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π°Π·Π΄Π΅Π»Π°Ρ….\r\n WA.CR.bindLeaderDrivenLogic();\r\n\r\n //УдаляСм пустыС строки ΠΏΠ΅Ρ€Π΅Π΄ сохранСниСм\r\n WA.CR.form.bind(\"prepareSave\", function removeEmptyRows() {\r\n for (var tableName in WA.CR.form.controls.tables) {\r\n var table = WA.CR.form.controls.tables[tableName];\r\n var rows = table.rows.toArray();\r\n var lastRow = rows[rows.length - 1];\r\n\r\n if (rows.length && lastRow && !lastRow.hasFilledRequisites() && !lastRow._locked) {\r\n table.deleteRow(lastRow.getRowId(), true);\r\n }\r\n }\r\n });\r\n\r\n });\r\n\r\n\r\n})(window.Core.grid);","(function (global) {\r\n\r\n var getGrid = function () {\r\n return Core.grid.reference;\r\n };\r\n\r\n var getReferenceName = function () {\r\n return getGrid()._dataSource.referenceName;\r\n };\r\n\r\n var reloadFiltersAndData = function (params) {\r\n var grid = getGrid();\r\n\r\n var newState = {};\r\n if (typeof params['PageIndex'] !== 'undefined') {\r\n newState.PageIndex = params['PageIndex'];\r\n }\r\n if (typeof params['CurrentFilter'] !== 'undefined') {\r\n newState.CurrentFilter = params['CurrentFilter'];\r\n }\r\n if (typeof params['UnselectAllRecords'] !== 'undefined' && params['UnselectAllRecords'] === true) {\r\n grid.grid.setSelectedRows([]); // Π‘Π±Ρ€ΠΎΡΠΈΡ‚ΡŒ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ записСй справочника\r\n }\r\n if (typeof params['IsEnabled'] !== 'undefined') {\r\n var currentFilter = newState.CurrentFilter || grid.state.CurrentFilter;\r\n $.extend(newState, {\r\n CurrentFilter: $.extend({}, currentFilter, {\r\n IsEnabled: params['IsEnabled']\r\n })\r\n });\r\n }\r\n\r\n // ОбновляСм ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ….\r\n grid.updateState(newState);\r\n\r\n if (!!grid.updateFilter) grid.updateFilter();\r\n if (!!grid.updateFooter) grid.updateFooter();\r\n\r\n grid.reloadData(newState).always(function (data) {\r\n // ОбновляСм ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ….\r\n grid.updateState({\r\n SavedFilters: data.State.SavedFilters\r\n });\r\n global.Filters.setupFiltersState();\r\n });\r\n };\r\n\r\n /**\r\n * Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰ΠΈΠ΅ Π·Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ с ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠΌΠΈ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°ΠΌΠΈ\r\n * @namespace Filters\r\n * @ignore\r\n */\r\n global.Filters = {\r\n isChanged: false,\r\n currentID: \"0\",\r\n contextMenuElementSelector: '#filters_menu_caption',\r\n contextMenuSettings: { width: 270, shiftY: 37 },\r\n referenceName: WA.CR.getReferenceCode(),\r\n referenceView: WA.CR.getReferenceView(),\r\n placementContext: ''\r\n };\r\n\r\n /**\r\n * БохраняСт список элСмСнтов контСкстного мСню.\r\n * @function Filters.initFilterMenuItems\r\n * @ignore\r\n */\r\n Filters.initFilterMenuItems = function (items, opt_referenceName, opt_referenceView, opt_placementContext) {\r\n Filters.menuItems = items;\r\n Filters.referenceName = opt_referenceName || WA.CR.getReferenceCode();\r\n Filters.referenceView = opt_referenceView || WA.CR.getReferenceView();\r\n Filters.placementContext = opt_placementContext;\r\n if (!Filters.placementContext) {\r\n $.when(WA.SideBarInit).then(function () {\r\n Filters.placementContext = Core.grid.getPlacementContext();\r\n });\r\n }\r\n };\r\n\r\n /**\r\n * Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ контСстного мСню для Π²Ρ‹Π±ΠΎΡ€Π° Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π° справочника(ΠΌΠΈΠ½ΠΈΡ‚ΡƒΠ»Π±Π°Ρ€, справа)\r\n * @function Filters.createReferenceMenu\r\n * @param {string} selector сСлСктор ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹\r\n * @param {Array.} data доступныС ΠΏΡƒΠ½ΠΊΡ‚Ρ‹ мСню\r\n * @ignore\r\n */\r\n Filters.createReferenceMenu = function (selector, data) {\r\n //Π—Π΄Π΅ΡΡŒ сдСлаСм Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ с идСксом 0 послСдним Π² спискС.\r\n var autoFilter = null;\r\n var saveFilterItemIndex = data.length - 1;\r\n for (var i = 0; i < data.length; i++) {\r\n if (data[i][\"name\"] == \"0\") {\r\n autoFilter = data[i];\r\n data.splice(i, 1);\r\n };\r\n if (data[i][\"name\"] == \"save_filter\") {\r\n saveFilterItemIndex = i;\r\n }\r\n };\r\n if (!!autoFilter) {\r\n // Π£Π±ΠΈΡ€Π°Π΅ΠΌ с послСднСго Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π° Π±ΠΎΡ€Π΄Π΅Ρ€ снизу, Ρ‚.Π΅. Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ Π°Π²Ρ‚ΠΎΡ„ΠΈΠ»ΡŒΡ‚Ρ€ послСдний.\r\n var prevLast = data[saveFilterItemIndex - 1];\r\n if (prevLast['name'] !== '-1') {\r\n prevLast.bottomSeparator = false;\r\n }\r\n autoFilter.bottomSeparator = true;\r\n // ДобавялСм ΠΏΠ΅Ρ€Π΅Π΄ \"Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€\" ΠΈΠ»ΠΈ Π² самый ΠΊΠΎΠ½Π΅Ρ†.\r\n data.splice(saveFilterItemIndex, 0, autoFilter);\r\n }\r\n\r\n try {\r\n var settings = $.extend({}, Filters.contextMenuSettings, selectToolbarBtnOnShowContextMenu(selector));\r\n Filters.currentMenu = new WA.components.menus.BaseContextMenu(selector, data, settings);\r\n Filters.currentMenu.render();\r\n Filters.currentMenu.bind(\"itemSelect\", function (item) {\r\n switch (item.name) {\r\n case 'save_filter':\r\n window.Filters.saveCurrentFilter($(selector));\r\n break;\r\n case 'save_filter_as':\r\n window.Filters.saveCurrentFilterAs($(selector));\r\n break;\r\n case 'delete_filter':\r\n window.Filters.deleteFilter($(selector));\r\n break;\r\n default:\r\n WA.SRV.reference.setFilter(Filters.referenceName, item.name, Filters.referenceView, Filters.placementContext).success(function (newCurrentFilter) {\r\n if (newCurrentFilter.ID !== \"-1\") newCurrentFilter.IsEnabled = true;\r\n reloadFiltersAndData({\r\n CurrentFilter: newCurrentFilter,\r\n PageIndex: 0,\r\n UnselectAllRecords: true\r\n });\r\n // Π‘Π½ΠΈΠΌΠ°Π΅ΠΌ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ с ΠΊΠ½ΠΎΠΏΠΊΠΈ Ρ‚ΡƒΠ»Π±Π°Ρ€, Ссли Π²Ρ‹Π±Ρ€Π°Π»ΠΈ \"Π‘Π΅Π· Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°\".\r\n if (item.name === \"-1\") {\r\n $(selector).removeClass('selected');\r\n } else {\r\n $(selector).addClass('selected');\r\n }\r\n });\r\n };\r\n });\r\n } catch (ex) {\r\n }\r\n };\r\n\r\n\r\n Filters.saveCurrentFilter = function (el) {\r\n Filters.saveFilter(el, false);\r\n };\r\n\r\n Filters.saveCurrentFilterAs = function (el) {\r\n Filters.saveFilter(el, true)\r\n };\r\n\r\n\r\n /**\r\n * Π‘ΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π° Π² Π½ΠΎΠ²Ρ‹ΠΉ\r\n * @function Filters.saveFilter\r\n * @ignore\r\n */\r\n Filters.saveFilter = function (el, createNew) {\r\n if ($(el).hasClass(\"disabled\")) return;\r\n var CP = WA.components;\r\n\r\n var filters = Filters.currentMenu.items;\r\n var options = {};\r\n\r\n for (var i = 0; i < filters.length; i++) {\r\n if (filters[i].name != \"-1\" && filters[i].name != \"0\" && filters[i].name != \"save_filter\" && filters[i].name != \"save_filter_as\" && filters[i].name != \"delete_filter\") {\r\n options[filters[i].name] = filters[i].label;\r\n }\r\n };\r\n\r\n if (Filters.currentID == \"0\" && !$(\".resetFilterState\").is(\":visible\")) {\r\n return ShowMessage(L(\"FILTER_IS_EMPTY\"), L(\"NOTHING_TO_SAVE\"));\r\n };\r\n\r\n var form = new CP.forms.FormBuilder(\"filter_save_modal\")\r\n .setOrientation(\"horizontal\")\r\n .addPick(\"FILTER_NAME\", options, null, null, true, { \"isRequired\": true });\r\n form.displayErrors = \"tip\";\r\n\r\n var dialog = new CP.dialogs.BaseDialog();\r\n dialog.title = createNew ? L(\"SAVE_NEW_FILTER\") : L(\"SAVE_FILTER\");\r\n dialog.html = form.render();\r\n dialog.isShowCancelButton = true;\r\n dialog.ok = function () {\r\n if (form.isValid() === false) return false;\r\n var filterID = form.getValue(\"FILTER_NAME\");\r\n var filterName = form.getDisplayValue(\"FILTER_NAME\");\r\n if (!createNew) {\r\n if (Filters.currentID != \"0\")\r\n WA.SRV.reference.saveFilter(Filters.referenceName, Filters.currentID, filterName, Filters.referenceView, Filters.placementContext).success(function (newCurrentFilter) {\r\n reloadFiltersAndData({\r\n CurrentFilter: newCurrentFilter\r\n });\r\n });\r\n else\r\n if (filterID == \"\") {\r\n WA.SRV.reference.createNewFilter(Filters.referenceName, filterName, Filters.referenceView, Filters.placementContext).success(function (newCurrentFilter) {\r\n reloadFiltersAndData({\r\n CurrentFilter: newCurrentFilter\r\n });\r\n });\r\n } else {\r\n WA.SRV.reference.saveFilter(Filters.referenceName, filterID, filterName, Filters.referenceView, Filters.placementContext).success(function (newCurrentFilter) {\r\n reloadFiltersAndData({\r\n CurrentFilter: newCurrentFilter\r\n });\r\n });\r\n }\r\n } else {\r\n WA.SRV.reference.createNewFilter(Filters.referenceName, filterName, Filters.referenceView, Filters.placementContext).success(function (newCurrentFilter) {\r\n reloadFiltersAndData({\r\n CurrentFilter: newCurrentFilter\r\n });\r\n });\r\n };\r\n };\r\n //$(\"#save_filter\").addClass(\"disabled\").attr(\"title\", L(\"FILTER_NOT_CHANGED\"));\r\n dialog.bind(\"onOpen\", function () {\r\n var autoFilterName;\r\n var index = getElementIndexByAttr(filters, \"name\", \"0\");\r\n if (parseInt(index, 10) >= 0) {\r\n autoFilterName = filters[index].label;\r\n } else {\r\n if (!createNew) {\r\n index = getElementIndexByAttr(filters, \"name\", Filters.currentID);\r\n autoFilterName = filters[index].label;\r\n } else {\r\n var maxFilterID = _(_(filters).map(function (f) {\r\n return +f.name; // ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΡƒΠ΅ΠΌ Π² число, Ρ‡Ρ‚ΠΎ Π±Ρ‹ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ max.\r\n })).max();\r\n autoFilterName = L('AUTO_FILTER_LABEL') + ' ' + Math.max(maxFilterID + 1, 1); //Если Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΠΎΠ² Π½Π΅Ρ‚, Ρ‚ΠΎ max Π²Π΅Ρ€Π½Π΅Ρ‚ -Infinity, Π° имя Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π° сдСлаСм с Π½ΠΎΠΌΠ΅Ρ€ΠΎΠΌ 1.\r\n }\r\n }\r\n form.setValue(\"FILTER_NAME\", '-1', autoFilterName);\r\n\r\n $(\"#filter_name\").keypress(function (ev) {\r\n if (ev.keyCode == 13) {\r\n dialog.ok();\r\n dialog.close();\r\n };\r\n });\r\n });\r\n dialog.show();\r\n\r\n BindHelpIcoClickOnModalWindow('SaveFilter');\r\n };\r\n\r\n /**\r\n * Π£Π΄Π°Π»Π΅Π½ΠΈΠ΅ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°\r\n * @function Filters.removeReferenceMenu\r\n * @ignore\r\n */\r\n Filters.deleteFilter = function (el) {\r\n if ($(el).hasClass(\"disabled\")) return;\r\n var selected = Filters.currentMenu.getSelectedItem();\r\n var dialog = new WA.components.dialogs.BaseDialog();\r\n dialog.title = L(\"CONFIRMATION\");\r\n dialog.height = 'auto',\r\n dialog.isShowCancelButton = true;\r\n dialog.setHtml(format('{0} \"{1}\"?', L(\"FILTER_DELETE_CONFIRMATION\"), escapeHtml(selected.label)));\r\n dialog.bind(\"ok\", function () {\r\n WA.SRV.reference.removeFilter(Filters.referenceName, selected.name, Filters.referenceView, Filters.placementContext).success(function (result) {\r\n clearFilter();\r\n });\r\n });\r\n dialog.show();\r\n };\r\n\r\n /**\r\n * ОбновлСниС Π²ΠΈΠ·ΡƒΠ°Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ отвСтствСнных Π·Π° Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Ρ‹.\r\n * Π—Π΄Π΅ΡΡŒ ΠΆΠ΅, происходит Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π° Π² мСню.\r\n * @function Filters.setupFiltersState\r\n * @ignore\r\n */\r\n Filters.setupFiltersState = function () {\r\n var grid = getGrid();\r\n var selectedID = \"-1\";\r\n var filterID = '' + grid.state.CurrentFilter.ID;\r\n Filters.currentID = filterID;\r\n\r\n var filters = grid.state.SavedFilters;\r\n if (!!filters) {\r\n var emptyItem = {\r\n \"name\": \"-1\",\r\n \"label\": L(\"DEFAULT_EMPTY_FILTER\"),\r\n \"bottomSeparator\": true,\r\n 'selected': (filterID === '-1')\r\n };\r\n var wellFormedFilters = [emptyItem];\r\n for (var filterName in filters) {\r\n var item = {\r\n \"name\": filterName,\r\n \"label\": filters[filterName]\r\n };\r\n if (filterName == filterID) {\r\n item.selected = true;\r\n selectedID = filterID;\r\n }\r\n item['stataction'] = \"SetSavedFilter\";\r\n wellFormedFilters.push(item);\r\n };\r\n\r\n // ДобавляСм ΠΊΠ½ΠΎΠΏΠΊΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ, Ссли Π΅ΡΡ‚ΡŒ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π° для управлСния Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°ΠΌΠΈ.\r\n if ($(\"#filters_menu_caption\").length === 0) {\r\n // Π£ послСднСго Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π° рисуСм ниТнюю Π³Ρ€Π°Π½ΠΈΡ†Ρƒ.\r\n wellFormedFilters[wellFormedFilters.length - 1]['bottomSeparator'] = true;\r\n\r\n var btnsDisabled = (selectedID === '-1' || typeof grid === \"undefined\"); //Π—Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅ β„–69912\r\n //TODO Если задизэйблСны, Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ Π΅Ρ‰Π΅ ΠΈ подсказку ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ, Π½ΠΎ контСкстноС мСню этого Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚.\r\n wellFormedFilters.push({ name: 'save_filter', label: L('SAVE_CURRENT_FILTER'), icon: 'filterSave-16', disabled: btnsDisabled, \"tooltip\": format(\"{0}.\\n{1}.\", L(\"SAVE_CURRENT_FILTER\"), L(\"AVAILABLE_ONLY_IF_FILTER_EXIST\")) });\r\n wellFormedFilters.push({ name: 'save_filter_as', label: L('SAVE_CURRENT_FILTER_AS'), disabled: btnsDisabled, \"tooltip\": format(\"{0}\\n{1}.\", L(\"SAVE_CURRENT_FILTER_AS\"), L(\"AVAILABLE_ONLY_IF_SAVED_FILTER_EXIST\")) });\r\n wellFormedFilters.push({ name: 'delete_filter', label: L('DELETE_CURRENT_FILTER'), icon: 'delete-16', disabled: btnsDisabled, \"tooltip\": format(\"{0}.\\n{1}.\", L(\"DELETE_CURRENT_FILTER\"), L(\"AVAILABLE_ONLY_IF_FILTER_EXIST\")) });\r\n }\r\n\r\n Filters.menuItems = wellFormedFilters;\r\n\r\n if (!!Filters.contextMenuElementSelector)\r\n Filters.createReferenceMenu(Filters.contextMenuElementSelector, wellFormedFilters);\r\n\r\n // ОбновляСм ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρƒ ΡƒΠΏΡ€Π°Π²Π»ΡŽΡ‰ΡƒΡŽ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°ΠΌΠΈ.\r\n Filters.updateFilterMenuWidget(filters, selectedID);\r\n\r\n // УстанавливаСм Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ/Π½Π΅Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΊΠΈ Π»Π΅Π½Ρ‚Ρ‹ \"Π’Π΅ΠΊΡƒΡ‰ΠΈΠΉ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€\".\r\n Core.toolBars.reference.SetCurrentFilterState();\r\n };\r\n };\r\n /**\r\n * ОбновляСм ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρƒ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰ΡƒΡŽ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°ΠΌΠΈ.\r\n * @function Filters.updateFilterMenuWidget\r\n * @ignore\r\n */\r\n Filters.updateFilterMenuWidget = function (filters, selectedID) {\r\n var jFilterMenuWidget = $(\"#filters_menu_caption\");\r\n if (jFilterMenuWidget.length > 0 && !!filters) {\r\n jFilterMenuWidget.text(filters[selectedID]);\r\n\r\n if (selectedID == \"-1\") {\r\n jFilterMenuWidget.text(L(\"DEFAULT_EMPTY_FILTER\"));\r\n emptyItem.selected = true;\r\n } else {\r\n jFilterMenuWidget.text(filters[selectedID].trunc(50));\r\n }\r\n\r\n //ΠžΡ‚ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΎΠΊ\r\n //-1 - <ΠžΡ‚ΡΡƒΡ‚ΡΠ²ΡƒΠ΅Ρ‚>\r\n if (selectedID === '-1') {\r\n enableFilterActions();\r\n } else {\r\n disableFilterActions();\r\n }\r\n }\r\n };\r\n\r\n /// \r\n /// ΠžΡ‡ΠΈΡ‰Π°Π΅Ρ‚ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€.\r\n /// \r\n /// \r\n Filters.resetFilter = function () {\r\n var grid = getGrid();\r\n //ΠΠ²Ρ‚ΠΎΡ„ΠΈΠ»ΡŒΡ‚Ρ€ придСтся Ρ‚ΠΎΠΆΠ΅ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ\r\n if (grid) {\r\n WA.SRV.reference.removeFilter(Filters.referenceName, \"0\", Filters.referenceView, Filters.placementContext).success(function (result) {\r\n clearFilter();\r\n });\r\n } else {\r\n clearFilter();\r\n }\r\n }\r\n\r\n /// \r\n /// Π’ΠΊΠ»./Π²Ρ‹ΠΊΠ» Ρ„ΠΈΠ»ΡŒΡ‚Ρ€.\r\n /// \r\n /// \r\n Filters.changeFilterState = function (isEnabled) {\r\n var data = {\r\n IsEnabled: isEnabled,\r\n PageIndex: 0 // ΠŸΠ΅Ρ€Π΅ΠΊΠΈΠ½ΡƒΡ‚ΡŒ Π½Π° ΠΏΠ΅Ρ€Π²ΡƒΡŽ страницу\r\n };\r\n getGrid().grid.setSelectedRows([]); // Π‘Π±Ρ€ΠΎΡΠΈΡ‚ΡŒ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ записСй справочника\r\n reloadFiltersAndData(data);\r\n };\r\n\r\n function clearFilter() {\r\n var grid = getGrid();\r\n var currentFilter = grid.state.CurrentFilter;\r\n\r\n var newSavedFilters = grid.state.SavedFilters;\r\n delete newSavedFilters[currentFilter.ID];\r\n\r\n reloadFiltersAndData({\r\n CurrentFilter: $.extend({}, currentFilter, {\r\n ID: '-1',\r\n Name: '',\r\n DisplayValue: '',\r\n DisplayHint: '',\r\n Expression: '',\r\n ColumnsFilter: {}\r\n }),\r\n SavedFilters: newSavedFilters,\r\n PageIndex: 0\r\n });\r\n };\r\n\r\n function enableFilterActions() {\r\n $(\"#delete_filter, #save_filter_as, #save_filter\").removeClass(\"disabled\");\r\n $(\"#delete_filter\").attr('title', L(\"DELETE_CURRENT_FILTER\"));\r\n $(\"#save_filter_as\").attr('title', L(\"SAVE_CURRENT_FILTER_AS\"));\r\n $(\"#save_filter\").attr('title', L(\"SAVE_CURRENT_FILTER\"));\r\n };\r\n function disableFilterActions() {\r\n $(\"#delete_filter, #save_filter_as, #save_filter\").addClass(\"disabled\");\r\n $(\"#delete_filter\").attr('title', L(\"DELETE_CURRENT_FILTER\") + \"\\n\" + L(\"AVAILABLE_ONLY_IF_FILTER_EXIST\"));\r\n $(\"#save_filter_as\").attr('title', L(\"SAVE_CURRENT_FILTER_AS\") + \"\\n\" + L(\"AVAILABLE_ONLY_IF_SAVED_FILTER_EXIST\"));\r\n $(\"#save_filter\").attr('title', L(\"SAVE_CURRENT_FILTER\") + \"\\n\" + L(\"AVAILABLE_ONLY_IF_FILTER_EXIST\"));\r\n };\r\n\r\n})(window);\r\n","\"use strict\";\r\n\r\n(function (global) {\r\n\r\n /** \r\n * ΠœΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Π·Π°ΠΏΡƒΡΠΊΠ°ΡŽΡ‰ΠΈΠΉ JS Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΈΠ· массива handlers ΠΊΠΎΠ³Π΄Π° происходит смСна вСрсии Π²Π΅Π±-доступа;\r\n * @namespace Core.migration\r\n * @since 5.2.0.1100\r\n * @return {boolean}\r\n * @example @see localStorage.js\r\n */\r\n global.migration = {\r\n handlers: [],\r\n\r\n init: function () {\r\n var newVersion = g_Version;\r\n var oldVersion = WA.cache.getItem('version');\r\n \r\n if (newVersion != oldVersion) {\r\n log.warning('DEFAULT', 'Version is changed. Running migration scripts');\r\n for (var handler in this.handlers) {\r\n this.handlers[handler].call(this, oldVersion, newVersion);\r\n };\r\n WA.cache.setItem('version', newVersion);\r\n };\r\n }\r\n };\r\n\r\n\r\n})(window.Core);\r\n\r\n","(function (global) {\r\n\r\n /**\r\n * НСкоторыС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² localStorage ΡƒΡΡ‚Π°Ρ€Π΅Π²Π°ΡŽΡ‚ ΠΎΡ‚ вСрсии ΠΊ вСрсии. здСсь ΠΌΠΎΠΆΠ½ΠΎ \r\n * ΠΈΡ… ΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ.\r\n */\r\n var clearOldCache = function (oldVersion, newVersion) {\r\n log.info('MIGRATION', 'Removing some items from localStorage');\r\n\r\n WA.cache.removeItem('themes/light.css');\r\n WA.cache.removeItem('themes/dark.css');\r\n\r\n };\r\n\r\n global.handlers.push(clearOldCache);\r\n\r\n})(Core.migration);","(function (global) {\r\n\r\n /**\r\n * НСкоторыС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² localStorage ΡƒΡΡ‚Π°Ρ€Π΅Π²Π°ΡŽΡ‚ ΠΎΡ‚ вСрсии ΠΊ вСрсии. здСсь ΠΌΠΎΠΆΠ½ΠΎ \r\n * ΠΈΡ… ΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ.\r\n */\r\n var clearOldTemplates = function (oldVersion, newVersion) {\r\n log.info('MIGRATION', 'Removing old templates from localStorage');\r\n\r\n for (var k in localStorage) {\r\n // Π¨Π°Π±Π»ΠΎΠ½Ρ‹ ΠΏΠΎΠΊΠ° Π½ΠΈ ΠΊΠ°ΠΊ Π½Π΅ ΠΎΡ‚Π»ΠΈΡ‡Π°ΡŽΡ‚ΡΡ ΠΎΡ‚ Π΄Ρ€ΡƒΠ³ΠΈΡ… элСмСнтов Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π°, ΠΎΡ‚Π»ΠΈΡ‡ΠΈΡ‚ΡŒ ΠΈΡ… ΠΌΠΎΠΆΠ½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π°ΠΊ.\r\n if (k.indexOf('.html') !== -1) {\r\n WA.cache.removeItem(k);\r\n }\r\n }\r\n\r\n };\r\n\r\n global.handlers.push(clearOldTemplates);\r\n\r\n})(Core.migration);","\"use strict\";\r\n\r\n(function (global) {\r\n var reportPage = {};\r\n\r\n /**\r\n * Π‘Π°Π·ΠΎΠ²Ρ‹ΠΉ Π΄ΠΈΠ°Π»ΠΎΠ³ ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΎΠ² для Π²Ρ‹Π²ΠΎΠ΄Π° ошибок ΠΈ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… сообщСний.\r\n */\r\n reportPage.ReportDialog = WA.CMP.dialogs.MessageBox.extend({\r\n init() {\r\n this.ok = WA.CR.window.reload;\r\n this.setWidth(500);\r\n this.modal = true;\r\n this.bind(this.class.EVENT.BEFORE_CLOSE_BY_CROSS, () => {\r\n WA.CR.window.close();\r\n });\r\n this.bind(this.class.EVENT.AFTER_CLOSE_BY_OK, () => {\r\n WA.CR.window.reload();\r\n });\r\n this.spinner = new WA.CMP.notifications.Spinner();\r\n }\r\n });\r\n\r\n reportPage.getSpinnerDialog = (reportName) => {\r\n let dialog = new WA.CMP.dialogs.BaseDialog;\r\n dialog.isShowOkButton = false;\r\n dialog.width = 'auto';\r\n dialog.height = 'auto';\r\n dialog.closeOnEscape = false;\r\n\r\n // НСвидимая ΠΊΠ½ΠΎΠΏΠΊΠ° для Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ сработал setScope ΠΈ нСльзя Π±Ρ‹Π»ΠΎ Π½Π° ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π΅ ΠΏΠΎ страницС Π³ΡƒΠ»ΡΡ‚ΡŒ.\r\n dialog.modalWindowButtons.push({\r\n id: 'hiddenButton',\r\n text: '',\r\n click: buttonClick = () => { \r\n return false; \r\n },\r\n Class: 'dialog_hidden_button'\r\n });\r\n\r\n dialog.setSpinner(L('PLEASE_WAIT_DONT_CLOSE_PAGE'));\r\n dialog.setTitle(format(L('PLEASE_WAIT_REPORT'), reportName));\r\n\r\n return dialog;\r\n }\r\n\r\n /**\r\n * ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ модального ΠΎΠΊΠ½Π° с тСкстом ошибки.\r\n * ΠŸΡ€ΠΈ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ ΠΎΠΊΠ½Π° страница пСрСзагруТаСтся.\r\n * @param {string} text ВСкст ошибки.\r\n */\r\n reportPage.showError = (text) => {\r\n (new reportPage.ReportDialog).show(\r\n text,\r\n null,\r\n L('ERR'),\r\n 'error',\r\n );\r\n };\r\n\r\n /**\r\n * ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π΄ΠΈΠ°Π»ΠΎΠ³Π° Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ ΠΎΡ‚Ρ‡Π΅Ρ‚Π°.\r\n */\r\n reportPage.showFinishDialog = () => {\r\n (new reportPage.ReportDialog).show(\r\n L('COMPLETING_WORKING_WITH_REPORT_MESSAGE'),\r\n null,\r\n L('COMPLETING_WORKING_WITH_REPORT'),\r\n 'info',\r\n );\r\n };\r\n\r\n /**\r\n * ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ спиннСра.\r\n */\r\n reportPage.showSpinner = () => {\r\n WA.CR.spinner.show();\r\n };\r\n\r\n /**\r\n * Π‘ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ спиннСра.\r\n */\r\n reportPage.hideSpinner = () => {\r\n WA.CR.spinner.hide();\r\n };\r\n\r\n global.reportPage = reportPage;\r\n}(window.Core));\r\n\r\n/**\r\n * Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ ΠΎΡ‚Ρ‡Π΅Ρ‚Π°.\r\n */\r\nWebAccess.ready(() => {\r\n if (WA.getLocation() === 'report') {\r\n // ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π½ΠΈ ΠΈ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° ΠΎΡ‚Ρ‡Π΅Ρ‚Π° сдСлано Ρ‚Π°ΠΊ ΠΈΠ·-Π·Π°\r\n // Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ ASP .Net добавляСт прСфиксы\r\n const reportName = $('[id*=_ReportName]').val();\r\n\r\n let report = WA.FC.reports(reportName);\r\n let spinnerDialog = Core.reportPage.getSpinnerDialog(reportName);\r\n\r\n // ΠŸΠ΅Ρ€Π΅Π΄ нСпосрСдствСнным Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ ΠΎΡ‚Ρ‡Π΅Ρ‚Π° Π½ΡƒΠΆΠ½ΠΎ Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒ ΠΊΡ€ΡƒΡ‚ΠΈΡ‚ΡŒ спиннСр.\r\n report.bind(report['class'].EVENT.BEFORE_EXECUTING, () => {\r\n spinnerDialog.show();\r\n });\r\n\r\n // ΠŸΡ€ΠΈ ΠΏΠΎΠΊΠ°Π·Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΏΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ΅ ΠžΡ‚ΠΌΠ΅Π½Π° Π½ΡƒΠΆΠ½ΠΎ Π·Π°ΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ ΠΎΠΊΠ½ΠΎ.\r\n report.bind(report['class'].EVENT.ABORT_FILLING_PARAMS, () => {\r\n WA.CR.window.close();\r\n });\r\n\r\n // ΠΠ°Ρ‡Π°Ρ‚ΡŒ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΡ‚Ρ‡Π΅Ρ‚Π°.\r\n report.queryParamsAndExecute(true, true).always(() => {\r\n spinnerDialog.close();\r\n }).done((report) => {\r\n report.open();\r\n Core.reportPage.showFinishDialog();\r\n }).fail((ex) => {\r\n Core.reportPage.showError(ex);\r\n });\r\n }\r\n});\r\n","\"use strict\";\r\n\r\n(function (global) {\r\n /**\r\n * Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰ΠΈΠ΅ Π·Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ с Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°ΠΌΠΈ.\r\n * @namespace Core.requisites\r\n * @since 5.5.0.1000\r\n */\r\n global.requisites = {};\r\n})(window.Core);\r\n","(function ($, global) {\r\n\r\n /**\r\n * Π’ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° Π²Ρ‹Π±ΠΎΡ€Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.\r\n * @since 5.5.0.1000\r\n */\r\n var BaseSelectRequisite = Class.extend({\r\n className: 'BaseSelectRequisite',\r\n\r\n _jInput: null,\r\n\r\n // Π˜Π” поля ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹.\r\n controlId: '',\r\n // Π‘Ρ‚Ρ€Π°Π½ΠΈΡ†Π° для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π² парсингС ссылок. doc.asp ΠΈΠ»ΠΈ reference.asp\r\n linkPageName: '',\r\n // ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²Π΅Π½Π½Ρ‹ΠΉ Π²Ρ‹Π±ΠΎΡ€ ΠΈΠ»ΠΈ Π½Π΅Ρ‚.\r\n isMultiSelect: false,\r\n\r\n // ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€.\r\n init: function (options) {\r\n var me = this;\r\n $.extend(me, options);\r\n\r\n if ($(\"input#\" + me.controlId).length) {\r\n me._initControl();\r\n } else\r\n $(function () {\r\n setTimeout(me._initControl.bind(me), 0);\r\n });\r\n },\r\n\r\n _initControl: function () {\r\n var me = this;\r\n\r\n me._jInput = $(\"input#\" + me.controlId);\r\n me._jHidden = $('#hSelID_' + me.controlId);\r\n\r\n me._bindOnPaste();\r\n },\r\n\r\n // Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρƒ.\r\n _bindOnPaste: function () {\r\n var me = this;\r\n me._jInput.on('paste', me._onPaste.bind(me));\r\n },\r\n\r\n // ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° вставки ссылки.\r\n _onPaste: function (event) {\r\n var me = this;\r\n\r\n var clipboardData = event.originalEvent.clipboardData || window.clipboardData;\r\n var pastedData = clipboardData.getData('text');\r\n\r\n if (pastedData) {\r\n var links = me._parsePastedDataAndGetLinks(pastedData);\r\n if (links && links.length > 0) {\r\n me._loadExtendedDataForLinks(links).done(function (extendedLinks) {\r\n me._setValueByLinks(extendedLinks);\r\n }).fail(function (err) {\r\n // Если Π½Π΅Ρ‚ ΠΏΡ€Π°Π² ΠΈΠ»ΠΈ какая-Ρ‚ΠΎ ошибка, просто вставим Π² ΠΏΠΎΠ»Π΅ тСкст ΠΈΠ· Π±ΡƒΡ„Π΅Ρ€Π° (Ρ‚Π°ΠΊ Π² Π±ΠΈΠ»Π΄Π΅Ρ€Π΅).\r\n me._jInput.val(pastedData);\r\n });\r\n } else {\r\n // Если Π½Π΅Ρ‚ ссылок, просто вставим Π² ΠΏΠΎΠ»Π΅ тСкст ΠΈΠ· Π±ΡƒΡ„Π΅Ρ€Π°.\r\n me._jInput.val(pastedData);\r\n }\r\n }\r\n\r\n event.preventDefault();\r\n event.stopPropagation();\r\n },\r\n\r\n /**\r\n * Π—Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ для ссылок. НапримСр, Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ»ΠΈ Π²Π΅Π΄ΡƒΡ‰ΠΈΠ΅ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹.\r\n *\r\n * @method _loadExtendedDataForLinks\r\n * @param {Array} links Бписок ссылок.\r\n * @return {Deferred>} Бписок ссылок с Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹ΠΌΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ.\r\n * @private\r\n * @see https://api.jquery.com/category/deferred-object/\r\n */\r\n _loadExtendedDataForLinks: function (links) {\r\n //Надо ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ Π² ΠΏΠΎΡ‚ΠΎΠΌΠΊΠ°Ρ….\r\n var d = $.Deferred();\r\n d.resolve(links.map(function (link) {\r\n link.name = link.id;\r\n return link;\r\n }));\r\n return d.promise();\r\n },\r\n\r\n // УстанавливаСт Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹ Π²Ρ‹Π±ΠΎΡ€Π° Π½Π° основС распарсСнных ссылок.\r\n _setValueByLinks: function (extendedLinks) {\r\n var me = this;\r\n if (me.isMultiSelect) {\r\n var values = extendedLinks.map(function (extendedLink) {\r\n return me._convertLinkToReferenceSelectValue(extendedLink);\r\n });\r\n me._jInput.SetValues(values, true);\r\n } else {\r\n me._jInput.SetValue(me._convertLinkToReferenceSelectValue(extendedLinks[0]), true);\r\n }\r\n },\r\n\r\n // ΠšΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ ссылку Π² Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹ Π²Ρ‹Π±ΠΎΡ€Π°.\r\n _convertLinkToReferenceSelectValue: function (extendedLink) {\r\n //TODO Надо значСния Π²Π΅Π΄ΡƒΡ‰ΠΈΡ… Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ².\r\n return [extendedLink.id, extendedLink.name.escapeHtml(), extendedLink.name, '{}'];\r\n },\r\n\r\n // ΠŸΠ°Ρ€ΡΠΈΡ‚ тСкст, вставлСнный ΠΈΠ· Π±ΡƒΡ„Π΅Ρ€Π°, ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΏΠ΅Ρ€Π²ΡƒΡŽ ссылку Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.\r\n _parsePastedDataAndGetLinks: function (pastedData, isMultiSelect) {\r\n var me = this;\r\n var pastedLines = pastedData.split('\\n');\r\n var links = [];\r\n for (var i = 0; i < pastedLines.length; i++) {\r\n var line = pastedLines[i];\r\n var link = me._parsePastedLine(line);\r\n if (link) {\r\n links.push(link);\r\n if (!isMultiSelect) {\r\n break;\r\n }\r\n }\r\n }\r\n return links;\r\n },\r\n\r\n // ΠŸΠ°Ρ€ΡΠΈΡ‚ ΠΎΠ΄Π½Ρƒ строку, Π²ΡΡ‚Π°Π²Π»Π΅Π½Π½ΡƒΡŽ ΠΈΠ· Π±ΡƒΡ„Π΅Ρ€Π°.\r\n _parsePastedLine: function (line) {\r\n var me = this;\r\n var lineLowered = line.toLowerCase();\r\n\r\n me._webServerNameLowered = me._webServerNameLowered || g_WebServerName.toLowerCase();\r\n me._sysCodeLowered = me._sysCodeLowered || g_SysCode.toLowerCase();\r\n\r\n //NOTE Π¨Π°ΠΌΠΎΠ² А.: НС сдСлал рСгуляркой, ΠΏΠΎΡ‚ΠΎΠΌΡƒ Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΡΠΊΡ€Π°Π½ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ спСц.символы Π² _webServerNameLowered ΠΈ _sysCodeLowered ΠΈ ΠΎΠ½Π° получаСтся слоТнСС.\r\n\r\n if (lineLowered.indexOf(me._webServerNameLowered) !== -1 &&\r\n lineLowered.indexOf(me._sysCodeLowered) !== -1 &&\r\n lineLowered.indexOf('/' + me.linkPageName) !== -1) {\r\n return me._parseSuitableUrl(line);\r\n }\r\n return null;\r\n },\r\n\r\n // ΠŸΠ°Ρ€ΡΠΈΠ½Π³ подходящСй строки Π² ссылку.\r\n _parseSuitableUrl: function (url) {\r\n //Надо ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ Π² ΠΏΠΎΡ‚ΠΎΠΌΠΊΠ°Ρ….\r\n return null;\r\n },\r\n\r\n });\r\n\r\n global.BaseSelectRequisite = BaseSelectRequisite;\r\n\r\n})(jQuery, window.Core.requisites);\r\n","((globalCore) => {\r\n\r\n /**\r\n * Π€ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΎΡ‚Π²Π΅Ρ‡Π°ΡŽΡ‰ΠΈΠ΅ Π·Π° Ρ€Π°Π±ΠΎΡ‚Ρƒ с ΠΏΡ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌΠΈ Π΄Π°Ρ‚Π°ΠΌΠΈ.\r\n * @namespace Core.requisites\r\n * @since 5.8.2.9000\r\n */\r\n globalCore.datePeriodRequisite = {\r\n\r\n DATE_TYPE: {\r\n DIFFERENT: {\r\n DAY: 0, // Π—Π° дСнь.\r\n RANGE: 1 // Π—Π° ΠΏΠ΅Ρ€ΠΈΠΎΠ΄.\r\n },\r\n PRESET: {\r\n TODAY: 2, // БСгодня.\r\n YESTERDAY: 3, // Π’Ρ‡Π΅Ρ€Π°.\r\n TOMORROW: 4, // Π—Π°Π²Ρ‚Ρ€Π°.\r\n THIS_WEEK: 5, // На этой Π½Π΅Π΄Π΅Π»Π΅.\r\n THIS_MONTH: 6, // Π’ этом мСсяцС.\r\n THIS_YEAR: 7, // Π’ этом Π³ΠΎΠ΄Ρƒ.\r\n LAST_MONTH: 8, // Π’ ΠΏΡ€ΠΎΡˆΠ»ΠΎΠΌ мСсяцС.\r\n LAST_WEEK: 9, // На ΠΏΡ€ΠΎΡˆΠ»ΠΎΠΉ Π½Π΅Π΄Π΅Π»Π΅.\r\n NEXT_WEEK: 10, // На ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Π½Π΅Π΄Π΅Π»Π΅.\r\n NEXT_MONTH: 11 // Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ мСсяцС.\r\n }\r\n },\r\n\r\n /**\r\n * Ѐункция Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΎΠ±Π΅Ρ€Ρ‚ΠΊΡƒ Π½Π°Π΄ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΎΠΌ Π²Ρ‹Π±ΠΎΡ€Π° ΠΏΠ΅Ρ€ΠΈΠΎΠ΄Π°.\r\n * since 5.8.2.9000\r\n * @method Core.requisites.datePeriodRequisite.getDateWrapper\r\n * @param {object} el Π’Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ элСмСнт.\r\n */\r\n _getDateWrapper: (el) => {\r\n return $(el).parents('.Search_Date_Row');\r\n },\r\n\r\n /**\r\n * Ѐункция ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ Π²Ρ‹Π·ΠΎΠ² списка ΠΏΡ€Π΅Π΄ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.\r\n * since 5.8.2.9000\r\n * @method Core.requisites.datePeriodRequisite.clickOnToggle\r\n * @param {object} el Π’Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ элСмСнт.\r\n */\r\n clickOnToggle: (el) => {\r\n let jDateCriteriaList = Core.requisites.datePeriodRequisite._getDateWrapper(el).find('.date-criteria-list');\r\n if (jDateCriteriaList.length > 0) {\r\n let dateCriteriaList = jDateCriteriaList[0];\r\n\r\n //пСрСсчСт высоты Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π³ΠΎ списка, Ссли ΠΎΠ½ Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΡ‚ Π·Π° Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ ΠΏΠΎ высотС.\r\n const searchCriteriaTop = $(el).position().top + 82;\r\n const containerHeight = $('#left_container').height();\r\n const dateCriteriaListHeight = jDateCriteriaList.height();\r\n const heightDiff = searchCriteriaTop + dateCriteriaListHeight - containerHeight;\r\n if (heightDiff > 0) {\r\n jDateCriteriaList.height(dateCriteriaListHeight - heightDiff);\r\n jDateCriteriaList.css('overflow-y', 'scroll');\r\n }\r\n\r\n dateCriteriaList.style.top = searchCriteriaTop + 'px';\r\n if (!dateCriteriaList.classList.contains('active')) {\r\n dateCriteriaList.classList.add('active');\r\n }\r\n\r\n let jActiveDateCriteriaList = $('div.date-criteria-list.active');\r\n if (jActiveDateCriteriaList.length > 0) {\r\n jActiveDateCriteriaList.attr('tabindex', -1).focusout(() => {\r\n jActiveDateCriteriaList[0].classList.remove('active');\r\n });\r\n jActiveDateCriteriaList.focus();\r\n }\r\n }\r\n },\r\n\r\n /**\r\n * Ѐункция ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ Π²Ρ‹Π±ΠΎΡ€ ΠΏΡ€Π΅Π΄ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ значСния.\r\n * since 5.8.2.9000\r\n * @method Core.requisites.datePeriodRequisite.selectPreset\r\n * @param {object} el Π’Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ элСмСнт.\r\n */\r\n selectPreset: (el) => {\r\n const jSearchDateRow = Core.requisites.datePeriodRequisite._getDateWrapper(el);\r\n\r\n let jIsSingleDateActiveElement = jSearchDateRow.find('.isSingleDateActive');\r\n if (jIsSingleDateActiveElement.length > 0 && jIsSingleDateActiveElement.val() === 'true') {\r\n //Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Π²Ρ‹Π±ΠΎΡ€Π° ΠΎΠ΄ΠΈΠ½ΠΎΡ‡Π½ΠΎΠΉ Π΄Π°Ρ‚Ρ‹ нСльзя Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΏΡ€Π΅Π΄ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.\r\n return;\r\n }\r\n\r\n const jDates = jSearchDateRow.find('.Search_Date_TD');\r\n\r\n let jDateCriteriaList = jSearchDateRow.find('.date-criteria-list');\r\n if (jDateCriteriaList.length > 0) {\r\n jDateCriteriaList[0].classList.remove('active');\r\n }\r\n\r\n if (jDates.length > 0) {\r\n let jStartDateInput = $(jDates[0]).find('input');\r\n let jEndDateInput = $(jDates[1]).find('input');\r\n if (jStartDateInput.length > 0 && jEndDateInput.length > 0) {\r\n let today = new Date();\r\n const dayNum = today.getDay();\r\n const dayOfWeek = dayNum === 0 ? 7 : dayNum;\r\n\r\n const presetValue = parseInt(el.attributes['data-key'].value, 10);\r\n switch (presetValue) {\r\n // БСгодня.\r\n case Core.requisites.datePeriodRequisite.DATE_TYPE.PRESET.TODAY:\r\n jStartDateInput[0].value = formatDate(today);\r\n jEndDateInput[0].value = formatDate(today);\r\n break\r\n // Π’Ρ‡Π΅Ρ€Π°.\r\n case Core.requisites.datePeriodRequisite.DATE_TYPE.PRESET.YESTERDAY:\r\n const yesterday = (new Date(today.getFullYear(), today.getMonth(), today.getDate() - 1));\r\n jStartDateInput[0].value = formatDate(yesterday);\r\n jEndDateInput[0].value = formatDate(yesterday);\r\n break\r\n // Π—Π°Π²Ρ‚Ρ€Π°.\r\n case Core.requisites.datePeriodRequisite.DATE_TYPE.PRESET.TOMORROW:\r\n const tomorrow = (new Date(today.getFullYear(), today.getMonth(), today.getDate() + 1));\r\n jStartDateInput[0].value = formatDate(tomorrow);\r\n jEndDateInput[0].value = formatDate(tomorrow);\r\n break\r\n // На этой Π½Π΅Π΄Π΅Π»Π΅.\r\n case Core.requisites.datePeriodRequisite.DATE_TYPE.PRESET.THIS_WEEK:\r\n jStartDateInput[0].value = formatDate(new Date(today.getFullYear(), today.getMonth(), today.getDate() - dayOfWeek + 1));\r\n jEndDateInput[0].value = formatDate(today);\r\n break\r\n // Π’ этом мСсяцС.\r\n case Core.requisites.datePeriodRequisite.DATE_TYPE.PRESET.THIS_MONTH:\r\n let thisMonth = new Date();\r\n thisMonth.setDate(1);\r\n jStartDateInput[0].value = formatDate(thisMonth);\r\n jEndDateInput[0].value = formatDate(today);\r\n break\r\n // Π’ этом Π³ΠΎΠ΄Ρƒ.\r\n case Core.requisites.datePeriodRequisite.DATE_TYPE.PRESET.THIS_YEAR:\r\n let thisYear = new Date();\r\n thisYear.setDate(1);\r\n thisYear.setMonth(0);\r\n jStartDateInput[0].value = formatDate(thisYear);\r\n jEndDateInput[0].value = formatDate(today);\r\n break\r\n // Π’ ΠΏΡ€ΠΎΡˆΠ»ΠΎΠΌ мСсяцС.\r\n case Core.requisites.datePeriodRequisite.DATE_TYPE.PRESET.LAST_MONTH:\r\n jStartDateInput[0].value = formatDate(new Date(today.getFullYear(), today.getMonth() - 1, 1));\r\n jEndDateInput[0].value = formatDate(new Date(today.getFullYear(), today.getMonth(), 0));\r\n break\r\n // На ΠΏΡ€ΠΎΡˆΠ»ΠΎΠΉ Π½Π΅Π΄Π΅Π»Π΅.\r\n case Core.requisites.datePeriodRequisite.DATE_TYPE.PRESET.LAST_WEEK:\r\n jStartDateInput[0].value = formatDate(new Date(today.getFullYear(), today.getMonth(), today.getDate() - 7 - dayOfWeek + 1));\r\n jEndDateInput[0].value = formatDate(new Date(today.getFullYear(), today.getMonth(), today.getDate() - dayOfWeek));\r\n break\r\n // На ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ Π½Π΅Π΄Π΅Π»Π΅.\r\n case Core.requisites.datePeriodRequisite.DATE_TYPE.PRESET.NEXT_WEEK:\r\n jStartDateInput[0].value = formatDate(new Date(today.getFullYear(), today.getMonth(), today.getDate() + 7 - dayOfWeek + 1));\r\n jEndDateInput[0].value = formatDate(new Date(today.getFullYear(), today.getMonth(), today.getDate() + 14 - dayOfWeek));\r\n break\r\n // Π’ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ мСсяцС.\r\n case Core.requisites.datePeriodRequisite.DATE_TYPE.PRESET.NEXT_MONTH:\r\n jStartDateInput[0].value = formatDate(new Date(today.getFullYear(), today.getMonth() + 1, 1));\r\n jEndDateInput[0].value = formatDate(new Date(today.getFullYear(), today.getMonth() + 2, 0));\r\n break\r\n }\r\n }\r\n }\r\n },\r\n\r\n /**\r\n * Ѐункция ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ измСнСния Ρ‚ΠΈΠΏΠ° ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠΉ Π΄Π°Ρ‚Ρ‹.\r\n * since 5.8.2.9000\r\n * @method Core.requisites.datePeriodRequisite.changeType\r\n * @param {object} el Π’Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ элСмСнт.\r\n */\r\n changeType: (el) => {\r\n const jSearchDateRow = Core.requisites.datePeriodRequisite._getDateWrapper(el);\r\n if (jSearchDateRow.length > 0) {\r\n let jDateCriteriaList = jSearchDateRow.find('.date-criteria-list');\r\n let jPresetItems = jDateCriteriaList.find('.preset-item');\r\n if (jDateCriteriaList.length > 0) {\r\n jDateCriteriaList[0].classList.remove('active');\r\n }\r\n\r\n const searchDateRow = jSearchDateRow[0];\r\n let jIsSingleDateActiveElement = jSearchDateRow.find('.isSingleDateActive');\r\n\r\n const differentValue = parseInt(el.attributes['data-key'].value, 10);\r\n switch (differentValue) {\r\n case Core.requisites.datePeriodRequisite.DATE_TYPE.DIFFERENT.DAY:\r\n jIsSingleDateActiveElement.val('true');\r\n if (!searchDateRow.classList.contains('singleDate')) {\r\n searchDateRow.classList.add('singleDate');\r\n };\r\n if (!jPresetItems.hasClass('disabled')) {\r\n jPresetItems.addClass('disabled');\r\n }\r\n break\r\n case Core.requisites.datePeriodRequisite.DATE_TYPE.DIFFERENT.RANGE:\r\n jIsSingleDateActiveElement.val('false');\r\n if (searchDateRow.classList.contains('singleDate')) {\r\n searchDateRow.classList.remove('singleDate');\r\n };\r\n if (jPresetItems.hasClass('disabled')) {\r\n jPresetItems.removeClass('disabled');\r\n }\r\n break\r\n }\r\n }\r\n },\r\n\r\n /**\r\n * Ѐункция ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ измСнСния Ρ‚ΠΈΠΏΠ° ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠΉ Π΄Π°Ρ‚Ρ‹.\r\n * since 5.8.2.9000\r\n * @method Core.requisites.datePeriodRequisite.pickSingleDate\r\n * @param {string} dateText Π‘Ρ‚Ρ€ΠΎΠΊΠΎΠ²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ΅ Π² Π΄Π°Ρ‚Π°ΠΏΠΈΠΊΠ΅Ρ€Π΅.\r\n * @param {object} el Π’Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ элСмСнт.\r\n */\r\n pickSingleDate: (el) => {\r\n const dateText = el.querySelector(\".Req_Input\").value;\r\n const jHiddenDates = Core.requisites.datePeriodRequisite._getDateWrapper(el).find('.Search_Date_TD');\r\n let jHiddenStartDateInput = $(jHiddenDates[0]).find('input');\r\n let jHiddenEndDateInput = $(jHiddenDates[1]).find('input');\r\n if (jHiddenStartDateInput.length > 0 && jHiddenEndDateInput.length > 0) {\r\n jHiddenStartDateInput[0].value = dateText;\r\n jHiddenEndDateInput[0].value = dateText;\r\n }\r\n },\r\n\r\n };\r\n\r\n})(window.Core.requisites);","(function ($, global) {\r\n\r\n /**\r\n * Π’ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° \"Π”ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚\".\r\n * @since 5.5.0.1000\r\n */\r\n var DocumentSelectRequisite = global.BaseSelectRequisite.extend({\r\n className: 'DocumentSelectRequisite',\r\n\r\n // Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρƒ.\r\n _initControl: function () {\r\n var me = this;\r\n me._super();\r\n\r\n var jInput = me._jInput;\r\n\r\n jInput.parent().hover(\r\n function () { me._showAdditionalButtons(this, jInput, me.isAccessDenied); },\r\n function () { me._hideAdditionalButtons(this, jInput); }\r\n );\r\n\r\n jInput.on('contextmenu', function (e) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n return false;\r\n });\r\n\r\n var referenceSelectPluginSettings = me.referenceSelectPluginSettings || jInput.data('settings');\r\n referenceSelectPluginSettings = $.extend(referenceSelectPluginSettings, {\r\n hidd: me._jHidden,\r\n dataProvider: window.Core.requisites.DocumentSelectDataProvider\r\n });\r\n jInput.ReferenceSelect(referenceSelectPluginSettings, jInput.parent().parent().find('div.Req_Icon'));\r\n\r\n jInput.result(function (event, data) {\r\n me._attachResult(\r\n jInput,\r\n data,\r\n me.afterSelectCallback,\r\n me.isNeedCallAfterSelectCallbackOnClear\r\n );\r\n });\r\n },\r\n\r\n /**\r\n * Π—Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ для ссылок. НапримСр, Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ»ΠΈ Π²Π΅Π΄ΡƒΡ‰ΠΈΠ΅ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹.\r\n *\r\n * @method _loadExtendedDataForLinks\r\n * @param links Массив ссылок.\r\n * @return {Deferred} Бсылка с Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹Π΅ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ.\r\n * @private\r\n * @see https://api.jquery.com/category/deferred-object/\r\n */\r\n _loadExtendedDataForLinks: function (links) {\r\n var d = $.Deferred();\r\n\r\n var link = links[0]; // мноТСствСнный Π²Ρ‹Π±ΠΎΡ€ ΠΏΠΎΠΊΠ° Ρ‡Ρ‚ΠΎ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌ Π½Π΅ ΠΌΡ‹, Π½Π΅ Π±ΠΈΠ»Π΄Π΅Ρ€.\r\n\r\n //setTimeout Π½ΡƒΠΆΠ΅Π½ для IE11, Ρ‚.ΠΊ. этот ΠΌΠ΅Ρ‚ΠΎΠ΄ вызываСтся Π² событии onPaste ΠΈ IE Π±Π»ΠΎΠΊΠΈΡ€ΡƒΠ΅Ρ‚ запросы Π² Π½Π΅ΠΌ. РСшСниС ΠΎΡ‚ сюда https://stackoverflow.com/questions/26910691/jquery-ajax-request-ie11-access-is-denied\r\n setTimeout((function (_link) {\r\n return function () {\r\n WA.SRV.document.getNameById([_link.id]).done(function (documentName) {\r\n _link.name = documentName;\r\n d.resolve([_link]);\r\n }).fail(function (err) {\r\n d.reject(err);\r\n });\r\n };\r\n })(link), 1);\r\n\r\n return d.promise();\r\n },\r\n\r\n // ΠŸΠ°Ρ€ΡΠΈΠ½Π³ подходящСй строки Π² ссылку.\r\n _parseSuitableUrl: function (url) {\r\n var idIndex = url.toLowerCase().indexOf('&id=');\r\n if (idIndex !== -1) {\r\n var idStr = url.substr(idIndex + 4); //+4 это пропуск \"&id=\", parseInt отбрасываСт всё Π½Π΅Π½ΡƒΠΆΠ½ΠΎ послС ΠΏΠ΅Ρ€Π²Ρ‹Ρ… Ρ†ΠΈΡ„Ρ€, поэтому Π½Π°ΠΌ Π½Π΅ Π²Π°ΠΆΠ½ΠΎ Π³Π΄Π΅ кончаСтся id. НапримСр, parseInt('123¶m=value') -> 123\r\n var id = parseInt(idStr, 10);\r\n return new WA.Link(id, OBJECT_TYPE.EDOCUMENT);\r\n }\r\n return null;\r\n },\r\n\r\n // ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π²Ρ‹Π±ΠΎΡ€Π° Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° Π² Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅ΠΌ спискС.\r\n _attachResult: function (inp, data, afterSelectFunc, isNeedCallFuncOnClear) {\r\n if (data) {\r\n if ($.isFunction(afterSelectFunc)) afterSelectFunc(data[0]);\r\n } else {\r\n //Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Ссли ΠΏΠΎΠ»Π΅ ΠΎΡ‡ΠΈΡ‰Π΅Π½ΠΎ\r\n if (isNeedCallFuncOnClear) afterSelectFunc(null);\r\n inp.SetValue(null);\r\n }\r\n inp.change();\r\n },\r\n\r\n // ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ.\r\n _showAdditionalButtons: function (container, inp, isAccessDenied) {\r\n var jIcons = $(container).find('.Req_AdditionalIcons');\r\n jIcons.show();\r\n\r\n var jOpenIco = jIcons.find('.OpenCardIco');\r\n var jOpenBodyIco = jIcons.find('.OpenBodyIco');\r\n\r\n var selVal = $('#hSelID_' + inp.attr('id')).val();\r\n if (selVal != null && selVal !== '*' && !isAccessDenied && (inp.data('selected') == \"true\" || inp.data('selected') == \"selected\" || inp.data('selected') === true) && /^\\d+$/.test(selVal)) {\r\n jOpenIco.show();\r\n jOpenBodyIco.show();\r\n } else {\r\n jOpenIco.hide();\r\n jOpenBodyIco.hide();\r\n }\r\n },\r\n\r\n // Π‘ΠΊΡ€Ρ‹Ρ‚ΡŒ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ.\r\n _hideAdditionalButtons: function (container, inp) {\r\n $(container).find('.Req_AdditionalIcons').hide().find('p').hide();\r\n }\r\n\r\n }, {\r\n // Π’ΡƒΡ‚ статичСскиС ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹.\r\n\r\n // ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΡƒ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°.\r\n openSelected: function (jOpenIco, inputId) {\r\n var selVal = $('#hSelID_' + inputId).val();\r\n var link = new WA.Link(+selVal, OBJECT_TYPE.EDOCUMENT);\r\n link.open();\r\n },\r\n\r\n // ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ Ρ‚Π΅Π»ΠΎ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°.\r\n openSelectedBody: function (jOpenIco, inputId) {\r\n var docId = +$('#hSelID_' + inputId).val();\r\n\r\n if (g_defaultListAction === 'open') {\r\n OpenWithAgent({ id: docId }, true);\r\n return;\r\n } else if (g_defaultListAction === 'viewineditor') {\r\n OpenWithAgent({ id: docId }, false);\r\n return;\r\n }\r\n\r\n // Если Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ, Ρ‚ΠΎ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ прСдпросмотр.\r\n ExportEDoc(docId, true, 0, true);\r\n\r\n }\r\n });\r\n\r\n global.DocumentSelectRequisite = DocumentSelectRequisite;\r\n\r\n})(jQuery, window.Core.requisites);\r\n","(function ($, global) {\r\n\r\n /**\r\n * ΠŸΡ€ΠΎΠ²Π°ΠΉΠ΄Π΅Ρ€ Π΄Π°Π½Π½Ρ‹Ρ… для Π²Ρ‹Π±ΠΎΡ€Π° ΠΈΠ· справочника.\r\n * @since 5.5.0.1000\r\n */\r\n var DocumentSelectDataProvider = {\r\n /**\r\n * ΠžΡ‚ΠΏΡ€Π°Π²Π»ΡΠ΅Ρ‚ запрос Π½Π° сСрвСр ΠΈ ΠΎΠ±Ρ€Π°Π±Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹.\r\n * @param {string} url АдрСс Π²Π΅Π±-сСрвиса ΠΈΠ»ΠΈ Π²Π΅Π±-хэндлСра.\r\n * @param {Object} params Бписок ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Π²Π΅Π±-сСрвиса ΠΈΠ»ΠΈ Π²Π΅Π±-хэндлСра.\r\n * @param {successCallback} OnSuccess Ѐункция, вызываСмая ΠΏΡ€ΠΈ ΡƒΠ΄Π°Ρ‡Π½ΠΎΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ запроса ΠΎΡ‚ сСрвСра.\r\n * @param {errorCallback} OnError Ѐункция, вызываСмая ΠΏΡ€ΠΈ НЕ ΡƒΠ΄Π°Ρ‡Π½ΠΎΠΌ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ запроса ΠΎΡ‚ сСрвСра.\r\n * @returns {jqXHR} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ запроса Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌΠΎΠΉ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠ΅ΠΉ jQuery.ajax.\r\n */\r\n sendQuery: function (url, params, OnSuccess, OnError) {\r\n var me = this;\r\n\r\n return WA.SRV.call('/api/LinkQuery.asmx/GetDocumentsFromQueryContext', {\r\n queryContext: $.parseJSON(params.queryContext),\r\n queryString: params.q,\r\n pageSize: params.limit,\r\n pageNumber: params.page,\r\n sortRequisite: 'ISBEDocTextModifyDate',\r\n sortDirection: -1\r\n }, null, null, true, true).done(function (data) {\r\n var entities = $.parseJSON(data).map(function (docLink) {\r\n var iconName = g_ImgsByDocExt[docLink.ext.toLowerCase()];\r\n if (!iconName) iconName = 'documentUnknown';\r\n var editorIcon = ' ';\r\n var signIcon = '';\r\n switch (docLink.sign) {\r\n case 'APPR':\r\n signIcon = '';\r\n case 'AUTH':\r\n signIcon = '';\r\n }\r\n var icon = '' + editorIcon + signIcon + '';\r\n return {\r\n id: docLink.id,\r\n encodedTitle: icon + docLink.name.escapeHtml(),\r\n title: docLink.name,\r\n leadingRequisitesValue: \"{}\"\r\n };\r\n });\r\n\r\n if (OnSuccess) OnSuccess(1000000, entities);\r\n\r\n }).fail(function (errorMessage) {\r\n if (OnError) OnError(errorMessage, false);\r\n });\r\n }\r\n };\r\n\r\n global.DocumentSelectDataProvider = DocumentSelectDataProvider;\r\n\r\n})(jQuery, window.Core.requisites);\r\n","(function ($, global) {\r\n\r\n /**\r\n * Π’ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° \"Π’Ρ‹Π±ΠΎΡ€ ΠΈΠ· справочника\".\r\n * @since 5.5.0.1000\r\n */\r\n var ReferenceRecordSelectRequisite = global.BaseSelectRequisite.extend({\r\n className: 'ReferenceRecordSelectRequisite',\r\n\r\n /**\r\n * Π—Π°Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Π½Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅ для ссылок. НапримСр, Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠ»ΠΈ Π²Π΅Π΄ΡƒΡ‰ΠΈΠ΅ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Ρ‹.\r\n *\r\n * @method _loadExtendedDataForLinks\r\n * @param {Array} links Бписок ссылок.\r\n * @return {Deferred>} Бписок ссылок с Π·Π°Π³Ρ€ΡƒΠΆΠ΅Π½Π½Ρ‹ΠΌΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ Π΄Π°Π½Π½Ρ‹ΠΌΠΈ.\r\n * @private\r\n * @see https://api.jquery.com/category/deferred-object/\r\n */\r\n _loadExtendedDataForLinks: function (links) {\r\n //Надо ΠΏΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡ‚ΡŒ Π² ΠΏΠΎΡ‚ΠΎΠΌΠΊΠ°Ρ….\r\n var d = $.Deferred();\r\n d.resolve(links.map(function (link) {\r\n link.name = '' + link.id;\r\n return link;\r\n }));\r\n return d.promise();\r\n },\r\n\r\n // ΠŸΠ°Ρ€ΡΠΈΠ½Π³ подходящСй строки Π² ссылку.\r\n _parseSuitableUrl: function (url) {\r\n // ΠŸΡ€ΠΈΠΌΠ΅Ρ€ ссылки http://irwebaccess:83/reference.asp?sys=DIR55WebAccess&compcode=%ce%d0%c3&id=134049\r\n\r\n var idIndex = url.toLowerCase().indexOf('&id=');\r\n if (idIndex !== -1) {\r\n var idStr = url.substr(idIndex + 4); //+4 это пропуск \"&id=\", parseInt отбрасываСт всё Π½Π΅Π½ΡƒΠΆΠ½ΠΎ послС ΠΏΠ΅Ρ€Π²Ρ‹Ρ… Ρ†ΠΈΡ„Ρ€, поэтому Π½Π°ΠΌ Π½Π΅ Π²Π°ΠΆΠ½ΠΎ Π³Π΄Π΅ кончаСтся id. НапримСр, parseInt('123¶m=value') -> 123\r\n var id = parseInt(idStr, 10);\r\n //TODO\r\n var compcode = '';\r\n return new WA.Link(id, OBJECT_TYPE.REFERENCE_RECORD, compcode);\r\n }\r\n return null;\r\n }\r\n });\r\n\r\n global.ReferenceRecordSelectRequisite = ReferenceRecordSelectRequisite;\r\n\r\n})(jQuery, window.Core.requisites);\r\n","var lastFocusedInputId = null;\r\n\r\n/**\r\n* Π‘Π°Π·ΠΎΠ²Ρ‹ΠΉ класс Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° Ρ‚ΠΈΠΏΠ° Π²Ρ‹Π±ΠΎΡ€ записи справочника.\r\n* @namespace Core.requisites\r\n* @since 5.5.0.1000\r\n*/\r\nvar ReferenceSelectBase = Class.extend({\r\n // HTML элСмСнты.\r\n inp: null, // Π³Π»Π°Π²Π½Ρ‹ΠΉ input\r\n container: null, // Π³Π»Π°Π²Π½Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ΡŽ\r\n results: null, // Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ поиска.\r\n table: null,\r\n img: null,\r\n title: null,\r\n footer: null,\r\n hidd: null,\r\n inpParent: null,\r\n selectedItems: null,\r\n selectedItemsCont: null,\r\n fakeInp: null,\r\n\r\n contId: '',\r\n\r\n // Π’Π°ΠΉΠΌΠ°ΡƒΡ‚Ρ‹.\r\n spinner_timeout: null, // Π½Π° спинСр\r\n deleteItemsTimeout: null,\r\n\r\n // Настройка.\r\n url: null, // url for ajax request\r\n refcodes: {},\r\n refcodesCount: 0, //Ρƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ length нСльзя.\r\n selectedRefCode: null,\r\n selectedRefIsClosed: false,\r\n extraParams: null,\r\n max: 25, // max result rows\r\n minChars: 1,\r\n mustMatch: false,\r\n showNoMatchText: true,\r\n cellIDIndex: 0,\r\n cellToInput: 2,\r\n multiselect: false,\r\n referenceCodesAndReqNamesInDetailSection: null,\r\n allowlike: true,\r\n useadditional: true,\r\n isCustomSelect: false,\r\n selected: false,\r\n currentPage: 1,\r\n maxPages: 1,\r\n mainReferenceCode: '',\r\n dataProvider: null,\r\n sendQueryOnlyOnEnter: false,\r\n\r\n suggestInProcess: false,\r\n suggestLastMode: 'show',\r\n NoMatchText: L(\"NO_RECORDS_FOUND\"),\r\n CancelText: L(\"CANCEL_ACTION\"),\r\n SelectText: L(\"SELECT_X_FROM_Y_TEXT\"),\r\n TitleText: L(\"CHOOSE_REFERENCE\"),\r\n\r\n init: function (inp, options, img) {\r\n var self = $.extend(this, options);\r\n self.inp = $(inp);\r\n // ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΠΌ ΠΏΡ€ΠΎΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Π½ Π»ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒ.\r\n if (self.inp.hasClass('rs_InitComplete')) return;\r\n if (self.isCustomSelect) self.inp.addClass('rs_custom');\r\n if (self.color) {\r\n self.inp.css('color', self.color);\r\n }\r\n\r\n self.inp\r\n .addClass('rs_input')\r\n .data('selected', self.selected)\r\n .bind('focus.refselect', function () {\r\n // ΠŸΡ€ΠΈ фокусС скрываСм всС Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠ΅ списки записСй всСх Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ² \"Π’Ρ‹Π±ΠΎΡ€ ΠΈΠ· справочника\".\r\n if (self.inp.attr('id') != lastFocusedInputId) {\r\n // Π—Π°ΠΊΡ€Ρ‹Ρ‚ΡŒ Π½Π°Π΄ΠΎ ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠΉ, Π° Π½Π΅ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΉ.\r\n $('#' + lastFocusedInputId).HideContainer();\r\n };\r\n\r\n self.fakeInp.addClass('refselect-input_focused');\r\n self._hidePlaceholder();\r\n\r\n lastFocusedInputId = self.inp.attr('id');\r\n })\r\n .bind('blur.refselect', function () {\r\n // Если это инициализация Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ потСря фокуса, Ρ‚ΠΎ смСстим Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Π΅ записи Π² самоС Π»Π΅Π²ΠΎ, Ρ‡Ρ‚ΠΎ Π±Ρ‹ Π±Ρ‹Π» Π²ΠΈΠ΄Π΅Π½ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ элСмСнт.\r\n self.changeInpWidthAndPadding();\r\n self.fakeInp.removeClass('refselect-input_focused');\r\n if (!self.hidd.val() && !self.inp.val()) self._showPlaceholder();\r\n })\r\n .bind('SetSelected', function (e, v) {\r\n self.inp.data('selected', v);\r\n self.inp.trigger('onSelected');\r\n self._hidePlaceholder();\r\n })\r\n .bind('ReplaceSelectedItem', function (e, oldID, newValues, onlyLast) {\r\n self.replaceSelectedItem(oldID, newValues, onlyLast);\r\n self._hidePlaceholder();\r\n })\r\n .bind('Clear', function () {\r\n self.deleteAllItems();\r\n self._showPlaceholder();\r\n })\r\n .bind('HideContainer', function () {\r\n self.hideContainer();\r\n })\r\n .bind('SetValue', function (e, newValue, needTriggerResult) {\r\n self.setValue(newValue, needTriggerResult);\r\n self._hidePlaceholder();\r\n })\r\n .bind('SetDisabled', function (e, v) {\r\n if (!!v) {\r\n self.inp.attr('readonly', 'readonly').addClass('Req_Disabled').attr('tabindex', -1);\r\n self.inpParent.find('.fakeInput').addClass('Req_Disabled');\r\n self.selectedItems.find('span').addClass('Req_Disabled');\r\n if (self.img.length) {\r\n self.img.addClass('Req_Icon_Disabled');\r\n }\r\n } else {\r\n self.inp.removeAttr('readonly').removeClass(\"Req_Disabled\").attr('tabindex', 0);\r\n self.inpParent.find('.fakeInput').removeClass(\"Req_Disabled\");\r\n self.selectedItems.find('span').removeClass(\"Req_Disabled\");\r\n if (self.img.length) {\r\n self.img.removeClass(\"Req_Icon_Disabled\");\r\n }\r\n };\r\n\r\n // Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ измСнСния доступности\r\n self.inp.trigger('onAvailabilityChange', v);\r\n });\r\n\r\n self.inpParent = self.inp.parent();\r\n\r\n self.inp.bind('keydown', self, self.process);\r\n // Ρ…Π°ΠΊ для ΠΏΠ»Π°Π½ΡˆΠ΅Ρ‚ΠΎΠ²: создаСм ΠΊΠ½ΠΎΠΏΠΊΡƒ, навСшиваСм Π½Π° Π½Π΅Π΅ ΠΊΠ»ΠΈΠΊ, Π² ΠΊΠ»ΠΈΠΊΠ΅ ставим фокус Π½Π° ΠΏΠΎΠ»Π΅ Π²Π²ΠΎΠ΄Π°\r\n // Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌ ΠΊΠ»ΠΈΠΊ Ρƒ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΠΏΡ€ΠΈ ΠΊΠ»ΠΈΠΊΠ΅ Π½Π° Π΄ΠΈΠ² Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ находится ΠΏΠΎΠ»Π΅ Π²Π²ΠΎΠ΄Π°\r\n if ($.ipad || WA.ENV.isAndroid()) {\r\n if ($('#focusBtn' + self.inp.attr('id')).length === 0) {\r\n var btn = $('')\r\n .unbind('click')\r\n .click(function () {\r\n self.inp.focus();\r\n });\r\n\r\n $('body').append(btn);\r\n } else {\r\n $('#focusBtn' + self.inp.attr('id')).unbind('click').click(function () {\r\n self.inp.focus();\r\n });\r\n }\r\n\r\n self.inp.parent().click(function () {\r\n $('#focusBtn' + self.inp.attr('id')).click();\r\n });\r\n }\r\n\r\n\r\n if (self.allowlike) {\r\n if ($.ipad && WA.ENV.isAndroid()) {\r\n self.oldv = self.inp.val();\r\n var pollTimer = null;\r\n var interval = 500;\r\n function pollInputChanged() {\r\n if (!self.inp.is(':focus')) return;\r\n\r\n try {\r\n self.onInputChanged(self.sendQueryOnlyOnEnter);\r\n self.changeInpWidthAndPadding();\r\n pollTimer = setTimeout(pollInputChanged, interval);\r\n } catch (_) { }\r\n }\r\n self.inp.bind('focus', function () {\r\n pollTimer = setTimeout(pollInputChanged, interval);\r\n }).bind('blur', function () {\r\n if (pollTimer) clearTimeout(pollTimer);\r\n });\r\n };\r\n } else {\r\n self.inp.bind('change', function () {\r\n // ΠŸΠ΅Ρ€Π΅Π΄Π°Π΅ΠΌ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ со Π·Π½Π°ΠΊΠΎΠΌ $, Ρ‡Ρ‚ΠΎ Π±Ρ‹ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΡ‚ΡŒ ΠΎΡ‚ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ ΠΈΠ· справочника.\r\n self.hidd.val('$' + $(this).val());\r\n });\r\n };\r\n\r\n if (img != null) {\r\n self.img = $(img)\r\n .addClass('rs_img')\r\n .bind('click touchstart', function (ev) {\r\n // ΠŸΠΎΠΌΠ΅Ρ‡Π°Π΅ΠΌ Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° \"...\", Ρ‡Ρ‚ΠΎ Π±Ρ‹ ΠΎΠ½ Π½Π΅ закрывался Ρ€Π°Π½ΡŒΡˆΠ΅ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ (Π½Π° событии onFocus, ΠΊΠΎΠ³Π΄Π° lastFocusedInputId = null).\r\n lastFocusedInputId = self.inp.attr('id');\r\n return self.onImgClick(ev);\r\n });\r\n }\r\n\r\n // Π‘ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ΠΎΠ² ΠΏΡ€ΠΈ click Π½Π° любоС Π΄Ρ€ΡƒΠ³ΠΎΠ΅ мСсто.\r\n $('html').bind('click.refselect', function (ev) {\r\n var t = $(ev.target);\r\n if (t && t.length > 0) {\r\n var className = t[0].className;\r\n if (className && className.baseVal) {\r\n className = className.baseVal;\r\n }\r\n if (typeof className === 'string' && className.indexOf('rs_') === -1 && className.indexOf('-icon') === -1) {\r\n if (self.table.find(\"tr\").length === 1 && self.inp.val() !== \"\") {\r\n self.select(true);\r\n }\r\n if (self.container.is(':visible')) self.hideContainer();\r\n }\r\n } else {\r\n if (self.container.is(':visible')) self.hideContainer();\r\n }\r\n });\r\n\r\n self.contId = 'rscont' + (Math.random() * 100 | 0);\r\n self.container = $('
    ').appendTo(\"body\");\r\n self.results = $('
    ').appendTo(self.container);\r\n self.title = $('
    ').prependTo(self.container);\r\n self.table = $('
    ').appendTo(self.results.find('#loller'));\r\n self.footer = $('
    ').appendTo(self.container);\r\n\r\n // ΠšΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ Ρ‡Ρ‚ΠΎ Π±Ρ‹ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Π΅ элСмСнты Π½Π΅ Π½Π°Π»Π΅Π·Π°Π»ΠΈ Π½Π° \"...\".\r\n self.selectedItemsCont = $('
    ');\r\n self.selectedItems = $('
    ');\r\n\r\n self.selectedItemsCont.bind('click.refselect', function () {\r\n self.changeInpWidthAndPadding();\r\n self.inp.focus();\r\n });\r\n if (inp.hasClass('Req_Disabled')) {\r\n self.inp.SetDisabled();\r\n }\r\n\r\n self.selectedItemsCont.append(self.selectedItems);\r\n self.inpParent.prepend(self.selectedItemsCont);\r\n\r\n self.moveInputToSelecetedItem();\r\n\r\n self.initSelecetedItems();\r\n\r\n if (self.hidd.val()) self._hidePlaceholder();\r\n\r\n // Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ Π·Π°ΠΊΠΎΠ½Ρ‡Π΅Π½Π°.\r\n self.inp.addClass('rs_InitComplete');\r\n // ΠŸΠΎΠ΄ΠΎΠ±Ρ€Π°Ρ‚ΡŒ ΡˆΠΈΡ€ΠΈΠ½Ρƒ для значСния Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°\r\n $(function () { self.changeInpWidthAndPadding(); });\r\n },\r\n\r\n isReadonly: function () {\r\n var self = this;\r\n return (self.inp.attr('readonly'));\r\n },\r\n\r\n initSelecetedItems: function (_ids, _names) {\r\n var self = this;\r\n\r\n var hiddVals = self.hidd.val();\r\n var inpVals = self.inp.val();\r\n\r\n var ids = _ids || (hiddVals ? hiddVals.split(';') : []);\r\n var names = _names || (inpVals ? inpVals.split(';') : []);\r\n\r\n var html = '';\r\n for (var i = 0; i < names.length; i++) {\r\n var val = [];\r\n val[self.cellIDIndex] = $.trim(ids[i]);\r\n val[self.cellToInput] = $.trim(names[i]);\r\n if (val[self.cellIDIndex] != '') {\r\n html += self.createNewSelecetedItemHTML(val);\r\n }\r\n }\r\n //TODO Π¨Π°ΠΌΠΎΠ² А.: Когда-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΏΠ΅Ρ€Π΅Π΄Π΅Π»Π°Ρ‚ΡŒ Π½Π° setValues.\r\n self.createNewSelecetedItem(null, $(html));\r\n\r\n // Если это инициализация Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΈΠ»ΠΈ потСря фокуса, Ρ‚ΠΎ смСстим Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Π΅ записи Π² самоС Π»Π΅Π²ΠΎ, Ρ‡Ρ‚ΠΎ Π±Ρ‹ Π±Ρ‹Π» Π²ΠΈΠ΄Π΅Π½ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ элСмСнт.\r\n setTimeout(function () { // CardForm ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ значСния Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ·ΠΆΠ΅, поэтому для Π½Π΅Π³ΠΎ setTimeout.\r\n self.changeInpWidthAndPadding(true);\r\n }, 0);\r\n },\r\n\r\n // Π—Π°Π³Ρ€ΡƒΠ·ΠΊΠ° Π½ΡƒΠΆΠ½ΠΎΠΉ страницы.\r\n loadPage: function (delta) {\r\n var self = this;\r\n var p = self.currentPage;\r\n if (delta == -2) {\r\n p = 1;\r\n } else if (delta == -1) {\r\n p -= 1;\r\n } else if (delta == 1) {\r\n p += 1;\r\n } else if (delta == 2) {\r\n p = self.maxPages;\r\n }\r\n\r\n if (p < 1) p = 1;\r\n if (p > self.maxPages) p = self.maxPages;\r\n\r\n if (self.currentPage != p) {\r\n self.currentPage = p;\r\n self.suggest();\r\n }\r\n },\r\n\r\n onInputChanged: function (disableSendQuery) {\r\n var self = this;\r\n setTimeout(function () { //эта функция вызываСтся Π² keypress ΠΈ Ρ‡Ρ‚ΠΎ Π±Ρ‹ Π² input появился символ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π°ΠΆΠ°Π»ΠΈ, Π΄Π΅Π»Π°Π΅ΠΌ этот setTimeout.\r\n var v = $.trim(self.inp.val());\r\n if (v !== self.oldv) {\r\n // БохраняСм ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ссли Π±ΡƒΠ΄Π΅ΠΌ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ запрос.\r\n if (!disableSendQuery) {\r\n self.oldv = v;\r\n }\r\n var check = v;\r\n check = check.replace(/ /g, \"\");\r\n var len = check.length;\r\n if (len >= self.minChars) {\r\n // Если быстро ввСсти ΠΈ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ символ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π»Π°ΡΡŒ Π²Ρ‹ΠΏΠ°Π΄Π°ΠΉΠΊΠ° со всСми записями,\r\n // Π½ΠΎ тСрялся констСкст ΠΈ ΠΎΠ½Π° Π±Ρ‹Π»Π° Π² Π²Π΅Ρ€Ρ…Π½Π΅ΠΌ Π»Π΅Π²ΠΎΠΌ ΡƒΠ³Π»Ρƒ, поэтому Ссли Π² ΠΈΠ½ΠΏΡƒΡ‚Π΅ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π²Π²Π΅Π΄Π΅Π½ΠΎ Π²Ρ‹ΠΏΠ°Π΄Π°ΠΉΠΊΡƒ Π½Π΅ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ.\r\n if (self.oldv.length > 0) {\r\n self.suggestLastMode = 'show';\r\n self.suggest(function () {\r\n self.results.scrollTop(0);\r\n }, disableSendQuery);\r\n };\r\n } else {\r\n if (v == '' && !self.multiselect) {\r\n self.selectEmpty(true);\r\n }\r\n self.hideContainer();\r\n };\r\n };\r\n }, 100);\r\n },\r\n\r\n // ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π΅Π½ΠΈΠ΅ ΠΏΠΎ справочникам.\r\n moveReference: function (d) {\r\n var self = this;\r\n var refCaptions = $.merge(self.title.children(), self.footer.children());\r\n var selected = refCaptions.filter('.selected');\r\n if (d == 0) {\r\n return selected;\r\n } else {\r\n var nextSelIndex = refCaptions.index(selected.removeClass('selected').get(0)) + d;\r\n if (nextSelIndex == -1) {\r\n nextSelIndex = refCaptions.length - 1;\r\n }\r\n if (nextSelIndex == refCaptions.length) {\r\n nextSelIndex = 0;\r\n }\r\n return $(refCaptions.get(nextSelIndex)).addClass('selected');\r\n }\r\n },\r\n\r\n // ΠžΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ° Π½Π°ΠΆΠ°Ρ‚ΠΈΠΉ Π½Π° клавиши.\r\n process: function (e) {\r\n var self = e.data;\r\n\r\n if (self.inp.attr('readonly') || self.inp.attr('disabled')) return;\r\n\r\n if (!(/^13$|^9$/.test(e.keyCode)) && !self.container.is(':visible')) {\r\n self.inp.data('selected', 'false'); // Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ измСнилось.\r\n }\r\n\r\n // Π‘ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅/раскрытиС записСй справочника.\r\n if (self.refcodesCount > 1 && /^37$|^39$/.test(e.keyCode) && self.container.is(':visible')) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n //left, right\r\n if (e.keyCode == 37 || e.keyCode == 39) {\r\n self.selectReference(self.moveReference(0));\r\n }\r\n }\r\n\r\n if ((/^27$|^38$|^40$/.test(e.keyCode) && (self.container.is(':visible') || self.suggestInProcess)) || (/^13$|^9$/.test(e.keyCode) && self.container.is(':visible') && self.get())) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n switch (e.keyCode) {\r\n case 38: //up\r\n if (self.table.is(':visible')) {\r\n self.prev();\r\n } else {\r\n // Π’Π°Π±Π»ΠΈΡ†Π° с записями скрыта, Π·Π½Π°Ρ‡ΠΈΡ‚ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ справочник.\r\n self.moveReference(-1);\r\n }\r\n break;\r\n case 40: //down\r\n if (self.table.is(':visible')) {\r\n self.next();\r\n } else {\r\n // Π’Π°Π±Π»ΠΈΡ†Π° с записями скрыта, Π·Π½Π°Ρ‡ΠΈΡ‚ Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌ справочник.\r\n self.moveReference(1);\r\n }\r\n break;\r\n case 9: //tab\r\n case 13: //return\r\n if (self.table.is(':visible')) {\r\n // Π’Ρ‹Π±ΠΎΡ€ записи справочника.\r\n var selected_row = self.get();\r\n if (selected_row != null) {\r\n selected_row.click();\r\n } else {\r\n self.select();\r\n }\r\n } else {\r\n // Π’Ρ‹Π±ΠΎΡ€ справочника.\r\n self.selectReference(self.moveReference(0));\r\n }\r\n break;\r\n case 27: // escape\r\n self.hideContainer();\r\n break;\r\n }\r\n } else {\r\n if (e.keyCode !== 9 && self.allowlike) {\r\n\r\n //Если Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ Ρ€Π΅ΠΆΠΈΠΌ поиска Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° Enter, Ρ‚ΠΎ провСряСм ΠΊΠ½ΠΎΠΏΠΊΡƒ.\r\n var disableSendQuery = false;\r\n if (self.sendQueryOnlyOnEnter) {\r\n\r\n // Если ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠΈΠ»ΠΈ Π½Π°Π±ΠΈΡ€Π°Ρ‚ΡŒ, Ρ‚ΠΎ скрываСм ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠ΅ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹.\r\n self._hideAndResetContainer();\r\n\r\n if (e.keyCode === 13) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n disableSendQuery = false;\r\n } else {\r\n disableSendQuery = true;\r\n }\r\n }\r\n\r\n self.onInputChanged(disableSendQuery);\r\n }\r\n }\r\n },\r\n\r\n // ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½ΠΎΠΉ строки Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹.\r\n get: function () {\r\n var self = this;\r\n return self.table.find('.rs_tr_over');\r\n },\r\n\r\n // ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π½Π° ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΡƒΡŽ строку\r\n prev: function () {\r\n this.move(-1);\r\n },\r\n\r\n // ΠŸΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΡƒΡŽ строку\r\n next: function () {\r\n this.move(1);\r\n },\r\n\r\n move: function (delta) {\r\n var self = this;\r\n var current = self.get();\r\n var next = (delta > 0 ? current.next() : current.prev());\r\n var overed;\r\n if (current.length > 0) {\r\n if (next.length > 0) {\r\n current.parent().find('.rs_tr_over').removeClass('rs_tr_over');\r\n overed = next.addClass('rs_tr_over');\r\n }\r\n } else {\r\n overed = self.table.find('tr:first').addClass('rs_tr_over');\r\n }\r\n self.scrollToOver(overed);\r\n },\r\n\r\n scrollToOver: function (overed) {\r\n var self = this;\r\n if (overed && overed.length > 0) {\r\n var overTop = overed.position().top;\r\n if ((overTop + overed.height()) > self.results.height()) {\r\n self.results.scrollTop(self.results.scrollTop() + overTop - overed.height());\r\n }\r\n if (overTop < 0) {\r\n self.results.scrollTop(self.results.scrollTop() + overTop + overed.height() - self.results.height());\r\n }\r\n }\r\n },\r\n\r\n // УдаляСт всС элСмСнты.\r\n deleteAllItems: function (callSelectEmpty) {\r\n var self = this;\r\n if (self.selectedItems !== null) {\r\n var childspan = self.selectedItems.children('span');\r\n if (childspan.length > 0) {\r\n self.selectEmpty(callSelectEmpty !== false);\r\n }\r\n childspan.remove();\r\n }\r\n self.changeHiddenValue();\r\n self.changeInpWidthAndPadding();\r\n },\r\n\r\n // УстанавливаСт 1 Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.\r\n setValue: function (newValue, needTriggerResult) {\r\n var self = this;\r\n var oldHiddVal = self.hidd.val();\r\n\r\n if (newValue != null) {\r\n // Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π½ΠΎΠ²Ρ‹ΠΉ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ элСмСнт.\r\n self.createNewSelecetedItem(newValue);\r\n }\r\n\r\n if (!!needTriggerResult) {\r\n if (self.allowlike) {\r\n self.triggerResultEvent(oldHiddVal, newValue);\r\n } else {\r\n self.inp.trigger('changeOnSelectValue', [newValue]);\r\n }\r\n }\r\n\r\n self.inp.data('selected', '' + (newValue != null));\r\n },\r\n\r\n // Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎ.\r\n select: function (isOne, el) {\r\n var self = this;\r\n var selected_row = el ? el : (isOne ? self.table.find('tr') : self.table.find('.rs_tr_over'));\r\n if (selected_row != null) {\r\n var data = selected_row.data('rowData') || null;\r\n if (data !== null) {\r\n var val = [data.id, data.encodedTitle, data.title, data.leadingRequisitesValue];\r\n self.inp.val(val[self.cellToInput]);\r\n val[0] = (self.isCustomSelect || self.refcodesCount > 1 || self.multiselect ? (self.selectedRefCode + ':') : '') + val[0]; //добавляСм ΠΊΠΎΠ΄ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ справочника.\r\n\r\n self.setValue(val, true);\r\n\r\n self.inp.focus();\r\n self.hideContainer();\r\n }\r\n }\r\n },\r\n\r\n // ΠŸΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅Ρ‚ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ input Π² div с Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΌΠΈ.\r\n moveInputToSelecetedItem: function () {\r\n var self = this;\r\n // Shirobokov_AV: Для исправлСния Π΄Π΅Ρ„Π΅ΠΊΡ‚Π° с Π½Π΅ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΡ‹ΠΌΠΈ тСкстбоксами Π² Ρ…Ρ€ΠΎΠΌΠ΅ ΠΈ сафари (β„– 56018).\r\n if ($('#modal_window form').length != 0) { $('#modal_window form').css(\"position\", \"relative\"); }\r\n\r\n if (self.selectedItems.find('input').length == 0) {\r\n // Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Ρ„ΡΠΉΠΊΠΎΠ²ΡƒΡŽ input для сохранСния красоты.\r\n var placeholder = self.inp.data('placeholder') ? self.inp.data('placeholder') : self.inp.attr('placeholder');\r\n self.fakeInp = $('')\r\n .bind('focus.refselect', function () {\r\n self.inp.focus();\r\n })\r\n .addClass(self.inp.attr('class'))\r\n .attr('placeholder', placeholder);\r\n\r\n if (self.backgroundColor) {\r\n self.fakeInp.css('background-color', self.backgroundColor);\r\n }\r\n\r\n if ($.ipad) {\r\n self.inpParent.bind('click touchstart', function (e) {\r\n self.inp.focus();\r\n if (!WA.ENV.isAndroid()) {\r\n e.stopPropagation();\r\n }\r\n });\r\n }\r\n\r\n self.inpParent.append(self.fakeInp);\r\n self.inpParent.attr('data-stataction', 'Requisite');\r\n\r\n self.fakeInp.on('contextmenu', function (e) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n return false;\r\n });\r\n\r\n // ДобавляСм Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ input Π² div с Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΌΠΈ.\r\n self.selectedItems.append(self.inp);\r\n\r\n self.inp\r\n .addClass('rs_multi_input')\r\n .bind('keyup.refselect', function () {\r\n self.changeInpWidthAndPadding();\r\n })\r\n .bind('click.refselect', function (e) {\r\n // Π—Π°ΠΏΡ€Π΅Ρ‰Π°Π΅ΠΌ всС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ события, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΊΠ»ΠΈΠΊ Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Ρ… записСй.\r\n e.stopPropagation();\r\n });\r\n }\r\n },\r\n\r\n // Π€ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅Ρ‚ HTML строку для Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ элСмСнта.\r\n createNewSelecetedItemHTML: function (val) {\r\n\r\n var self = this;\r\n\r\n if (val[self.cellToInput] == '') return '';\r\n\r\n // ΠŸΠ΅Ρ€Π΅Π΄Π°Π½ΠΎ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ с ΠΊΠΎΠ΄ΠΎΠΌ справочника, Ρ‚ΠΎ Π²Ρ‹Ρ‡Π»Π΅Π½ΠΈΠΌ Π΅Π³ΠΎ.\r\n var refCode = '';\r\n var id = val[self.cellIDIndex];\r\n var idParts = ('' + id).split(':');\r\n // ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΠΊΠΎΠ΄ справочника ΠΈΠ· Π˜Π”, Ссли ΠΎΠ½ Ρ‚Π°ΠΌ Π΅ΡΡ‚ΡŒ, ΠΈΠ½Π°Ρ‡Π΅ Π±Π΅Ρ€Π΅ΠΌ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½Ρ‹ΠΉ ΠΈΠ»ΠΈ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Π² спискС.\r\n if (idParts.length == 2) {\r\n refCode = idParts[0];\r\n id = idParts[1];\r\n } else {\r\n refCode = self.getFirstRefCode();\r\n }\r\n\r\n var refDesc = null;\r\n if (refCode != '' && typeof self.refcodes[refCode] !== 'undefined') {\r\n refDesc = self.refcodes[refCode];\r\n }\r\n\r\n var hintData = self.getHintData(refCode, id, val[self.cellToInput]);\r\n var delIco = $.ipad && !self.isReadonly() ? '' : (self.multiselect ? ';' : '');\r\n var inputText = (val[self.cellToInput] === 'undefined') ? '' : ('' + val[self.cellToInput]).escapeHtml();\r\n var dataText = ' data-text=\"' + inputText + '\" ';\r\n\r\n // Если Π½Π΅Ρ‚ ΠΏΡ€Π°Π² Π½Π° Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚, Ρ‚ΠΎ Π½Π΅ ΠΏΠΎΠ΄Ρ‡Π΅Ρ€ΠΊΠΈΠ²Π°Π΅ΠΌ *.\r\n var spanClass = '';\r\n if (val[self.cellToInput] == '*') {\r\n delIco = '';\r\n spanClass = ' underline-none ';\r\n }\r\n let dataId = val[self.cellIDIndex].toString().escapeHtml();\r\n let spanAttributes = `class=\"${hintData['class']}${spanClass}\" data-id=\"${dataId}\" ${dataText} ${hintData['attr']}`;\r\n if (self.inp.css('color')) {\r\n spanAttributes += ` style=\"color:${self.inp.css('color')}\"`;\r\n }\r\n return `${inputText}${delIco}`;\r\n },\r\n\r\n // Π‘ΠΎΠ·Π΄Π°Π΅Ρ‚ Π½ΠΎΠ²Ρ‹ΠΉ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ элСмСнт.\r\n createNewSelecetedItem: function (val, items) {\r\n var self = this;\r\n var lastItem;\r\n\r\n if (typeof items === 'undefined' || items == null) {\r\n var html = self.createNewSelecetedItemHTML(val);\r\n if (html == '') return;\r\n lastItem = $(html);\r\n } else {\r\n lastItem = items;\r\n }\r\n\r\n if (self.isReadonly()) {\r\n lastItem.addClass('Req_Disabled');\r\n } else {\r\n lastItem.bind('click.refselect', function (e) {\r\n if (self.multiselect) {\r\n // Π—Π°ΠΏΡ€Π΅Ρ‰Π°Π΅ΠΌ всС ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Π΅ события, Ρ‚Π°ΠΊΠΈΠ΅ ΠΊΠ°ΠΊ ΠΊΠ»ΠΈΠΊ Π½Π° ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Ρ… записСй.\r\n e.stopPropagation();\r\n var $this = $(this);\r\n var middleX = $this.offset().left + ($this.outerWidth(true) / 2);\r\n // Если ΠΊΠ»ΠΈΠΊΠ½ΡƒΠ»ΠΈ Π½Π° ΠΏΠ΅Ρ€Π²ΡƒΡŽ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Ρƒ, Ρ‚ΠΎ input ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Ρ‰Π°Π΅ΠΌ слСва, ΠΈΠ½Π°Ρ‡Π΅ справа.\r\n if (e.clientX < middleX) {\r\n $this.before(self.inp);\r\n } else {\r\n $this.after(self.inp);\r\n }\r\n self.changeInpWidthAndPadding();\r\n }\r\n self.inp.focus();\r\n });\r\n lastItem.find('svg').one('click.refselect touchstart', function () { self.deleteOneItem($(this).parent()); });\r\n }\r\n\r\n self.inp.before(lastItem);\r\n\r\n // Подсказки ΠΊ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΌ элСмСнтам.\r\n $.each(lastItem, function () {\r\n if ($(this).hasClass('hint')) {\r\n InitAdditionalInfoTooltip($(this));\r\n }\r\n });\r\n\r\n // ΠžΡ‡ΠΈΡ‰Π°Π΅ΠΌ input, Ρ‚.ΠΊ. ΡƒΠΆΠ΅ Π΄ΠΎΠ±Π°Π²ΠΈΠ»ΠΈ Π½ΠΎΠ²Ρ‹ΠΉ элСмСнт Π²ΠΎ внСшнюю div.\r\n self.inp.val('');\r\n self.oldv = '';\r\n\r\n // ОбновляСм скрытоС ΠΏΠΎΠ»Π΅.\r\n self.changeHiddenValue();\r\n\r\n //ИзмСняСм ΡˆΠΈΡ€ΠΈΠ½Ρƒ input.\r\n self.changeInpWidthAndPadding();\r\n },\r\n\r\n // УдаляСт ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½Ρ‹ΠΉ элСмСнт.\r\n deleteOneItem: function (item, callSelectEmpty, isNeedAnimate) {\r\n var self = this;\r\n if (item.length > 0) {\r\n var removeFunc = function () {\r\n $(item).remove();\r\n var oldval = self.hidd.val();\r\n\r\n self.changeHiddenValue();\r\n\r\n self.triggerResultEvent(oldval, null);\r\n\r\n self.changeInpWidthAndPadding();\r\n //Π’Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ здСсь, Ρ‡Ρ‚ΠΎΠ±Ρ‹ сработала послС Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ, для мноТСствСнного Π²Ρ‹Π±ΠΎΡ€Π° ΠΎΠ΄ΠΈΠ½ Ρ€Π°Π· Π΄ΠΎΠ»ΠΆΠ½Π° ΡΡ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ\r\n if (self.selectedItems.children('span').length == 0) {\r\n self.selectEmpty(callSelectEmpty !== false);\r\n }\r\n };\r\n if (isNeedAnimate) {\r\n item.animate({ width: 0 }, 300, 'linear', removeFunc);\r\n } else {\r\n removeFunc();\r\n }\r\n }\r\n },\r\n\r\n /**\r\n * УдаляСт элСмСнты ΠΏΠ°Ρ‡ΠΊΠΎΠΉ ΠΏΠΎ Ρ‚Π°ΠΉΠΌΠ°ΡƒΡ‚Ρƒ.\r\n *\r\n * @method deleteItems\r\n * @param {Object} item УдаляСмый элСмСнт.\r\n * @private \r\n * @since 5.7.0\r\n */\r\n deleteItems(item) {\r\n if (item.length) {\r\n const oldval = this.hidd.val();\r\n const removeFunc = () => {\r\n // ОТидаСм удалСния ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ элСмСнтов Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠΈ 0,5 с, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ ΠΎΠ΄ΠΈΠ½ запрос Π½Π° сСрвСр.\r\n clearTimeout(this.deleteItemsTimeout);\r\n this.deleteItemsTimeout = setTimeout(() => {\r\n this.changeHiddenValue();\r\n this.triggerResultEvent(oldval, null);\r\n }, 500);\r\n\r\n };\r\n removeFunc();\r\n item.animate({ width: 0 }, 300, 'linear', () => {\r\n $(item).remove();\r\n this.changeInpWidthAndPadding();\r\n });\r\n }\r\n },\r\n\r\n // Π˜Π·ΠΌΠ΅Π½ΡΠ΅Ρ‚ ΡˆΠΈΡ€ΠΈΠ½Ρƒ input ΠΈ сдвигаСт ΠΊΠ°Ρ€Π΅Ρ‚ΠΊΡƒ.\r\n changeInpWidthAndPadding: function () {\r\n var self = this;\r\n\r\n if (self.inpParent !== null) {\r\n // Если inpParent скрыт, Ρ‚ΠΎ Width Ρ€Π°Π±ΠΎΡ‚Π°Ρ‚ΡŒ Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚, поэтому навСшиваСмся Π½Π° любой ΠΊΠ»ΠΈΠΊ для ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° видимости этого элСмСнта.\r\n if (self.inpParent.is(':hidden')) {\r\n var checkVis = function () {\r\n if (self.inpParent.is(':visible')) {\r\n self.changeInpWidthAndPadding();\r\n $('body').unbind('click keyup keydown', checkVis);\r\n }\r\n }\r\n $('body').bind('click keyup keydown', checkVis);\r\n return;\r\n }\r\n\r\n var parentWidth = self.inpParent.width() - 21; //21 - ΠΊΠ°Ρ€Ρ‚ΠΈΠ½ΠΊΠ° с \"...\"\r\n self.selectedItemsCont.css({ 'width': parentWidth });\r\n }\r\n\r\n\r\n // МСняСм Π΄Π»ΠΈΠ½Ρƒ input Π² зависимости ΠΎΡ‚ Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ тСкста.\r\n var inpWidth = 12;\r\n if ($.ipad) {\r\n inpWidth = 70;\r\n }\r\n self.inp.css({ 'width': (inpWidth + self.getTextMetric(self.inp)) });\r\n },\r\n\r\n // ΠžΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅Ρ‚ ΡˆΠΈΡ€ΠΈΠ½Ρƒ Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ тСкста Π² input.\r\n getTextMetric: function (input) {\r\n var body = $('body');\r\n var textMetric = body.find('.textMetric:first');\r\n if (textMetric.length == 0) {\r\n textMetric = $('
    ').addClass('textMetric').css({\r\n position: 'absolute',\r\n left: -1000,\r\n top: -1000,\r\n display: 'none'\r\n });\r\n body.append(textMetric);\r\n\r\n var styles = ['font-size', 'font-style', 'font-weight', 'font-family', 'line-height', 'text-transform', 'letter-spacing'];\r\n $.each(styles, function () {\r\n var s = this.toString();\r\n textMetric.css(s, input.css(s));\r\n });\r\n }\r\n let text = '';\r\n if (input.val()) {\r\n text = input.val().replace(/ /g, ' ').replace(//g, '>');\r\n }\r\n return textMetric.html(text).outerWidth();\r\n },\r\n\r\n // ΠžΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ‚ скрытоС ΠΏΠΎΠ»Π΅ значСниями ΠΈΠ· Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Ρ… Π±Π»ΠΎΠΊΠΎΠ².\r\n changeHiddenValue: function () {\r\n var self = this;\r\n var ids = '';\r\n if (self.selectedItems !== null) {\r\n self.selectedItems.children('span').each(function () {\r\n ids += $(this).data('id') + ';';\r\n });\r\n }\r\n // УдаляСм послСднюю ;\r\n if (ids != '') {\r\n ids = ids.substr(0, ids.length - 1);\r\n self._hidePlaceholder();\r\n }\r\n\r\n self.hidd.val(ids);\r\n },\r\n\r\n // ЗамСняСт Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ элСмСнт Π½Π° Π½ΠΎΠ²Ρ‹Π΅.\r\n replaceSelectedItem: function (oldID, newValues, onlyLast) {\r\n var onlyLast = onlyLast || false;\r\n var self = this;\r\n\r\n var replaced = self.selectedItems.find('span[data-id=\"' + oldID + '\"]');\r\n if (onlyLast) {\r\n replaced = replaced.last();\r\n };\r\n\r\n if (replaced.length > 0) {\r\n replaced.after(self.inp);\r\n self.deleteOneItem(replaced, true, false);\r\n\r\n var html = '';\r\n $.each(newValues, function () {\r\n html += self.createNewSelecetedItemHTML(this);\r\n });\r\n\r\n // Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ сразу всС span Ρ‚Π°ΠΊ быстрСС.\r\n self.createNewSelecetedItem(null, $(html));\r\n\r\n self.inp.focus();\r\n }\r\n },\r\n\r\n // Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΈΠ· прСдставлСнных Π½Π΅ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎ.\r\n selectEmpty: function (AlwaysEmpty) {\r\n var self = this;\r\n if (self.mustMatch || AlwaysEmpty) {\r\n self.inp.val('');\r\n var item = self.selectedItems.find('span');\r\n if (item.length == 1) {\r\n //Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ ΠΎΡΡ‚Π°Π»ΠΎΡΡŒ ΠΏΡ€Π΅ΠΆΠ½ΠΈΠΌ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΌ.\r\n self.inp.data('selected', true);\r\n } else {\r\n //НичСго Ρ€Π°Π½Π΅Π΅ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎ Π½Π΅ Π±Ρ‹Π»ΠΎ ΠΈ сСйчас Π½Π΅ Π²Ρ‹Π±Ρ€Π°Π»ΠΈ, Ρ‚ΠΎ сообщаСм ΠΎΠ± этом Π²Π½Π΅ΡˆΠ½Π΅ΠΌΡƒ интСрфСйсу.\r\n self.callResult();\r\n }\r\n }\r\n },\r\n\r\n // ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ Π²Ρ‹Π±ΠΎΡ€ ΠΈΠ· справочника.\r\n showContainer: function () {\r\n var self = this;\r\n $.each($('.rs_container'), function () {\r\n if ($(this).attr('id') != self.contId) $(this).hide();\r\n });\r\n\r\n // НС ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌ Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΉ список, Ссли открылся ΠΌΠΎΠ΄Π°Π»ΡŒΠ½Ρ‹ΠΉ Π΄ΠΈΠ°Π»ΠΎΠ³ ΠΈ этот Π²Ρ‹Π±ΠΎΡ€ ΠΈΠ· справочника Π½Π΅ Π² Π½Π΅ΠΌ.\r\n if ($('.ui-dialog:visible').length == 0 || self.img.parents('.ui-dialog').length > 0) {\r\n self.setCoordForContainer();\r\n self.container.show();\r\n var firstItem = self.table.find('tr:first');\r\n if (firstItem.data('rowData') && self.table.find('tr.rs_tr_over').length == 0) firstItem.addClass('rs_tr_over');\r\n if ($.scrollActive) {\r\n if (!self.container.data('iscroll')) {\r\n self.container.data('iscroll', new iScroll(self.container.find('.rs_results')[0]));\r\n } else {\r\n self.container.data('iscroll').refresh();\r\n }\r\n }\r\n };\r\n\r\n self.bindScrollLoad();\r\n },\r\n\r\n bindScrollLoad: function () {\r\n var self = this;\r\n self.results.off('scroll.refselect').on('scroll.refselect', function () {\r\n var scroller = $(this);\r\n var table = scroller.find('table:first');\r\n var bottomDistance;\r\n if (!self.suggestInProcess) {\r\n if ($.scrollActive) { // ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° скролл Π½Π° сСнсорных устройствах\r\n bottomDistance = table.height() - scroller.height() - scroller.offset().top + table.offset().top;\r\n } else {\r\n bottomDistance = table.height() - (scroller.scrollTop() + scroller.height());\r\n }\r\n if (bottomDistance < 100) self.loadPage(1);\r\n }\r\n });\r\n },\r\n\r\n // Π‘ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ Π²Ρ‹Π±ΠΎΡ€ ΠΈΠ· справочника ΠΈ ΠΎΡ‡ΠΈΡ‰Π°Π΅Ρ‚ ΠΏΠΎΠ»Π΅ Π²Π²ΠΎΠ΄Π° Ссли Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π²Ρ‹Π±Ρ€Π°Π½ΠΎ.\r\n hideContainer: function () {\r\n var self = this;\r\n if (self.inp.data('selected') == 'false') {\r\n self.selectEmpty(true);\r\n }\r\n self._hideAndResetContainer();\r\n },\r\n\r\n // Π‘ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ Π²Ρ‹Π±ΠΎΡ€ ΠΈΠ· справочника.\r\n _hideAndResetContainer: function () {\r\n var self = this;\r\n self.selectedRefCode = null;\r\n self.selectedRefIsClosed = false;\r\n self.results.off('scroll.refselect');\r\n self.table.empty().removeData('refcode');\r\n self.currentPage = 1;\r\n self.oldv = '';\r\n $('.rs_container').hide();\r\n },\r\n\r\n showSpinner: function () {\r\n var self = this;\r\n if (self.spinner_timeout != null) clearTimeout(self.spinner_timeout);\r\n self.spinner_timeout = setTimeout(function () {\r\n var spinner = self.img.find('.refselect-input__spinner');\r\n var icon = self.img.find('.refselect-input__icon');\r\n if (spinner.length === 0) {\r\n self.img.append('
    ');\r\n } else {\r\n spinner.show();\r\n }\r\n icon.hide();\r\n }, 100);\r\n\r\n self.suggestInProcess = true;\r\n self.inp.addClass('suggestInProcess');\r\n },\r\n\r\n hideSpinner: function () {\r\n var self = this;\r\n if (self.spinner_timeout != null) clearTimeout(self.spinner_timeout);\r\n if (self.img !== null) {\r\n var spinner = self.img.find('.refselect-input__spinner');\r\n var icon = self.img.find('.refselect-input__icon');\r\n\r\n if (spinner) {\r\n spinner.hide();\r\n icon.show();\r\n }\r\n }\r\n self.suggestInProcess = false;\r\n self.inp.removeClass('suggestInProcess');\r\n },\r\n\r\n // ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π½Ρ‹ΠΉ справочник.\r\n getFirstRefCode: function () {\r\n var self = this;\r\n // ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ элСмСнт ΠΌΠΎΠΆΠ½ΠΎ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π°ΠΊ.\r\n for (var refcode in self.refcodes) {\r\n // Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹ΠΉ справочника, Π° Π½Π΅ псСвдо (#95748).\r\n if (!self.refcodes[refcode].IsPseudoReference) {\r\n return refcode;\r\n }\r\n }\r\n return '';\r\n },\r\n\r\n /**\r\n * Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π²Ρ‹Π±ΠΎΡ€ΠΊΡƒ ΠΈΠ· ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Ρ… справочников\r\n * @param {object} references - информация ΠΎ справочниках {\"ΠžΠ Π“\":{\"Caption\":\r\n * \"ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ\",...},\"РАБ\":{..}}}\r\n * @function setReferences\r\n */\r\n setReferences: function (references) {\r\n this._checkIsReferencesSetProperly(references);\r\n this.refcodes = references;\r\n this.refcodesCount = this._getReferencesCount();\r\n this._makeIconAccessible();\r\n return this;\r\n },\r\n\r\n /**\r\n * К ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌ спраочникам, ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΈΠ΄Π΅Ρ‚ Π²Ρ‹Π±ΠΎΡ€ΠΊΠ°, Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΡƒΠΊΠ°Π·Π°Π½Π½Ρ‹Π΅.\r\n * @param {object} references - информация ΠΎ справочниках {\"ΠžΠ Π“\":{\"Caption\":\r\n * \"ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ\",...},\"РАБ\":{..}}}\r\n * @function addReferences\r\n */\r\n addReferences: function (references) {\r\n this._checkIsReferencesSetProperly(references);\r\n var object = $.extend(this.refcodes, references);\r\n this.refcodesCount = this._getReferencesCount();\r\n this._makeIconAccessible();\r\n return this;\r\n },\r\n\r\n /**\r\n * ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π²Π²Π΅Π΄Π΅Π½Π½Ρ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²\r\n * @private\r\n */\r\n _checkIsReferencesSetProperly: function (references) {\r\n if (!references) WA.raise(\"ERR_NOT_ALL_REQUIRED_ARGUMENTS_HAVE_BEEN_SUPLIED\", \"references\");\r\n if (typeof references !== 'object') {\r\n WA.raise('ERR_AN_INVALID_PARAMETER_WAS_PASSED_TO_FUNCTION');\r\n };\r\n },\r\n\r\n /**\r\n * Π‘Π΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠΊΠΎΠ½ΠΊΡƒ кликабСльной, ΠΈ Π·Π°Π΄Π°Ρ‚ΡŒ Π΅ΠΉ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΡƒΡŽ подпись.\r\n * @private\r\n */\r\n _makeIconAccessible: function () {\r\n this.img.removeClass(\"Req_Icon_AccessDenied\");\r\n this.img.attr(\"title\", this._getToolTip());\r\n },\r\n\r\n /**\r\n * Π‘Ρ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ тСкст ΡΠΏΠ»Ρ‹Π²Π°ΡŽΡ‰Π΅ΠΉ подсказки.\r\n * @private\r\n */\r\n _getToolTip: function () {\r\n var lbl = \"RECORDS_OF_REFERENCE\";\r\n if (this.refcodesCount > 1) lbl = \"RECORDS_OF_REFERENCES\";\r\n var refs = [];\r\n for (var item in this.refcodes) {\r\n refs.push(this.refcodes[item].Caption);\r\n };\r\n return L(lbl, '\"' + refs.join(\", \") + '\"');\r\n },\r\n\r\n /**\r\n * ΠŸΠΎΠ΄ΡΡ‡Π΅Ρ‚ ΠΊΠΎΠ»-Π²Π° справочников ΠΏΠΎ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΈΠ΄Π΅Ρ‚ Π²Ρ‹Π±ΠΎΡ€ΠΊΠ°.\r\n * @private\r\n */\r\n _getReferencesCount: function () {\r\n var count = 0;\r\n for (var k in this.refcodes) {\r\n if (this.refcodes.hasOwnProperty(k)) {\r\n ++count;\r\n }\r\n }\r\n return count;\r\n },\r\n\r\n // Бписок послСдних запросов ΠΊ сСрвСру.\r\n lastRequests: [],\r\n // ВыполняСт поисковый запрос.\r\n suggest: function (afterShowCallback, disableSendQuery) {\r\n var self = this;\r\n\r\n // Π‘Π»ΠΎΠΊΠΈΡ€ΡƒΠ΅ΠΌ поиск Ссли это Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ.\r\n if (!!disableSendQuery) return;\r\n\r\n\r\n function onSearchQueryDoneCallback() {\r\n var refCode;\r\n if (self.refsWithRecords.length == 0) {\r\n refCode = self.getFirstRefCode();\r\n } else {\r\n //НайдСно большС 2 справочников, ΠΏΠΎΠΊΠ°ΠΆΠ΅ΠΌ Π²Ρ‹Π±ΠΎΡ€ ΠΈΠ· ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ справочников с записями.\r\n for (var refcode in self.refcodes) {\r\n if ($.inArray(refcode, self.refsWithRecords) != -1) {\r\n refCode = refcode;\r\n break;\r\n }\r\n }\r\n }\r\n self.selectedRefCode = refCode;\r\n\r\n //Π—Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅ΠΌ послСднСС Π²Π²Π΅Π΄Π΅Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎ Π±Ρ‹ Π½Π΅ Π±Ρ‹Π»ΠΎ зацикливания. Π—Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅ β„–55804.\r\n self.lastQuery = query;\r\n self.suggest(afterShowCallback);\r\n self.hideSpinner();\r\n };\r\n\r\n function onSearchError() {\r\n self.hideSpinner();\r\n };\r\n\r\n function searchInOtherReferences() {\r\n self.refsWithRecords = [];\r\n self.refsWithErrorMessage = {};\r\n var requests = [];\r\n for (var refcode in self.refcodes) {\r\n var OnSuccessFunc = (function (refcode) { //Π­Ρ‚Π° ΠΎΠ±Π΅Ρ€Ρ‚ΠΊΠ° Π½ΡƒΠΆΠ½Π° Ρ‡Ρ‚ΠΎ Π±Ρ‹ Π·Π°ΠΌΡ‹ΠΊΠ°Π½ΠΈΠ΅ ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠΉ refcode сработало ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ, ΠΈΠ½Π°Ρ‡Π΅ Π² refcode Π±ΡƒΠ΄Π΅Ρ‚ всСгда послСднСС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.\r\n return function (maxPages, data) {\r\n // КакиС-Ρ‚ΠΎ записи Π½Π°ΠΉΠ΄Π΅Π½Ρ‹.\r\n if (data.length > 0) {\r\n self.refsWithRecords.push(refcode);\r\n }\r\n }\r\n })(refcode);\r\n var OnErrorFunc = (function (refcode) {\r\n return function (msg, isHttp) {\r\n // Если Ρ‚Π°ΠΌ ошибка ΠΈ ΠΎΠ½Π° Π½Π΅ Ρ‚ΠΎΡ‚ Ρ‡Ρ‚ΠΎ записСй Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ, сохраним Π΅Ρ‘ для Π²Ρ‹Π²ΠΎΠ΄Π° Π² шапкС.\r\n if (msg !== self.NoMatchText) {\r\n // Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ сообщСния Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ ΠΈ ΠΏΡ€ΠΈ раскрытии.\r\n self.refsWithErrorMessage[refcode] = msg.split('^')[0];\r\n }\r\n }\r\n })(refcode);\r\n // ДобавляСм запрос ΠΊ списку, Ρ‡Ρ‚ΠΎ Π±Ρ‹ Π΄ΠΎΠΆΠ΄Π°Ρ‚ΡŒΡΡ выполнСния всСх.\r\n requests.push(self.sendQuery(refcode, query, 1, self.max, OnSuccessFunc, OnErrorFunc));\r\n }\r\n self.lastRequests = $.merge(self.lastRequests, requests);\r\n // Π–Π΄Π΅ΠΌ ΠΏΠΎΠΊΠ° всС запросы выполнятся.\r\n deferred = $.when.apply(this, requests);\r\n deferred.done(onSearchQueryDoneCallback).fail(onSearchError);\r\n };\r\n\r\n // ΠŸΡ€Π΅ΠΊΡ€Π°Ρ‰Π°Π΅ΠΌ всС ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠ΅ запросы.\r\n while (self.lastRequests.length > 0) {\r\n self.lastRequests.pop().abort();\r\n };\r\n\r\n // Если Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ всё, Ρ‚ΠΎ ΠΏΡ€ΠΈ пустом Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΈ input поиск Π½Π΅ выполняСм.\r\n if (self.multiselect && self.suggestLastMode != 'show_all' && self.inp.val() == '') {\r\n self.hideContainer();\r\n self.hideSpinner();\r\n return;\r\n }\r\n\r\n self.showSpinner();\r\n\r\n var query = (self.suggestLastMode == 'show_all' ? '' : self.getQueryValue());\r\n\r\n // Если тСкст запроса измСнился, Ρ‚ΠΎ сбрасываСм страницы Π½Π° ΠΏΠ΅Ρ€Π²ΡƒΡŽ.\r\n if (query != self.lastQuery || self.selectedRefCode != self.lastSelectedRefCode) {\r\n self.currentPage = 1;\r\n self.results.scrollTop(0);\r\n }\r\n\r\n // Если ΡƒΠΊΠ°Π·Π°Π½Ρ‹ нСсколько ΠΊΠΎΠ΄ΠΎΠ² справочника, Ρ‚ΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌ Π²Ρ‹Π±ΠΎΡ€.\r\n // ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡΠΌ измСнился Π»ΠΈ тСкст Π² input Ρ‡Ρ‚ΠΎ Π±Ρ‹ ΠΏΠ΅Ρ€Π΅ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ refsWithRecords. Π—Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅ β„–55804.\r\n if ((query != self.lastQuery || (typeof self.selectedRefCode === 'undefined' || self.selectedRefCode == null)) && self.refcodesCount > 0) {\r\n if (self.refcodesCount > 1) {\r\n self.refsWithRecords = [];\r\n self.refsWithErrorMessage = {};\r\n\r\n if (!!self.mainReferenceCode) {\r\n self.sendQuery(self.mainReferenceCode, query, 1, self.max, function (maxPages, data) {\r\n // КакиС-Ρ‚ΠΎ записи Π½Π°ΠΉΠ΄Π΅Π½Ρ‹.\r\n if (data.length > 0) {\r\n for (var refcode in self.refcodes) {\r\n self.refsWithRecords.push(refcode);\r\n }\r\n onSearchQueryDoneCallback();\r\n } else {\r\n for (var refcode in self.refcodes) {\r\n if (refcode !== self.mainReferenceCode) {\r\n self.refsWithRecords.push(refcode);\r\n }\r\n }\r\n searchInOtherReferences();\r\n }\r\n }, function (msg, isHttp) {\r\n // Если Ρ‚Π°ΠΌ ошибка ΠΈ ΠΎΠ½Π° Π½Π΅ Ρ‚ΠΎΡ‚ Ρ‡Ρ‚ΠΎ записСй Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ, сохраним Π΅Ρ‘ для Π²Ρ‹Π²ΠΎΠ΄Π° Π² шапкС.\r\n if (msg !== self.NoMatchText) {\r\n // Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ сообщСния Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ ΠΈ ΠΏΡ€ΠΈ раскрытии.\r\n self.refsWithErrorMessage[self.mainReferenceCode] = msg.split('^')[0];\r\n }\r\n }).fail(onSearchError);\r\n\r\n } else {\r\n // Π”Π΅Π»Π°Π΅ΠΌ запросы ΠΏΠΎ всСм справочникам, Ρ‡Ρ‚ΠΎ Π±Ρ‹ лишний Ρ€Π°Π· Π½Π΅ Π·Π°ΡΡ‚Π°Π²Π»ΡΡ‚ΡŒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ Π΅Π³ΠΎ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ.\r\n searchInOtherReferences();\r\n }\r\n\r\n return;\r\n } else {\r\n self.selectedRefCode = self.getFirstRefCode();\r\n }\r\n }\r\n\r\n if (Core.isStatisticEnabled) {\r\n // ЗаписываСм статистику.\r\n WA.CR.statistics.write({\r\n page: WA.getLocation(),\r\n action: 'LikeQuery',\r\n area: 'ReferenceRequisite',\r\n target: self.inp.get(0)\r\n });\r\n };\r\n\r\n self.lastRequests.push(self.sendQuery(self.selectedRefCode, query, self.currentPage, self.max, function (maxPages, data) {\r\n //OnSuccess\r\n self.maxPages = maxPages;\r\n if (self.currentPage == 1) self.table.empty().removeData('refcode');\r\n\r\n // Обновим Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Ρ‚Π°Π±ΠΈΠ»ΠΈΡ†Ρ‹ с записями справочника.\r\n self.updateTableVisibility();\r\n var isEmpty = self.createRows(self.selectedRefCode, data, afterShowCallback);\r\n\r\n if (!isEmpty && (self.suggestLastMode == 'show' || self.suggestLastMode == 'show_all')) {\r\n self.showContainer();\r\n if (afterShowCallback) afterShowCallback();\r\n } else {\r\n self.hideContainer();\r\n }\r\n\r\n self.hideSpinner();\r\n }, function (msg, isHttp) {\r\n // OnError\r\n\r\n // Обновим Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Ρ‚Π°Π±ΠΈΠ»ΠΈΡ†Ρ‹ с записями справочника.\r\n self.updateTableVisibility();\r\n\r\n if (msg != 'abort') {\r\n self.showError(isHttp ? L('SERVER_ERROR_OCCURRED') : msg);\r\n }\r\n self.hideSpinner();\r\n }));\r\n\r\n self.lastQuery = query;\r\n self.lastSelectedRefCode = self.selectedRefCode;\r\n },\r\n\r\n sendQuery: function (RefCode, Query, Page, Limit, OnSuccess, OnError) {\r\n var self = this;\r\n\r\n if (!self.refcodes[RefCode]) {\r\n var d = $.Deferred();\r\n d.reject();\r\n return d;\r\n }\r\n\r\n var filter = \"\";\r\n if (self.refcodes[RefCode] && self.refcodes[RefCode]['Filter'] !== null) {\r\n filter = self.refcodes[RefCode]['Filter'];\r\n } else {\r\n filter = self.inp.data('filter');\r\n };\r\n\r\n // НуТно Π»ΠΈ ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°Ρ‚ΡŒ спСц. ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ справочника.\r\n if (self.refcodes[RefCode]) {\r\n var disablespecialprocessing = self.refcodes[RefCode]['DisableSpecialProcessing'];\r\n }\r\n\r\n var queryContext = self.queryContext;\r\n // ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²Π΅Π½Π½Ρ‹ΠΉ Π²Ρ‹Π±ΠΎΡ€ ссылаСтся Π½Π° нСсколько Ρ€Π΅Π²ΠΈΠ·ΠΈΡ‚ΠΎΠ², поэтому мСняСм контСкст.\r\n if (self.referenceCodesAndReqNamesInDetailSection && self.referenceCodesAndReqNamesInDetailSection[RefCode]) {\r\n queryContext = JSON.parse(queryContext);\r\n queryContext.requisiteNumber = self.referenceCodesAndReqNamesInDetailSection[RefCode].number;\r\n queryContext = JSON.stringify(queryContext);\r\n }\r\n\r\n var url = self.url + '&RefCode=' + encodeURI(RefCode);\r\n var params = $.extend({\r\n q: Query || \"\",\r\n limit: Limit,\r\n page: Page,\r\n filter: filter,\r\n sort: self.inp.data('sort'),\r\n useadditional: self.useadditional ? \"1\" : \"0\",\r\n disablespecialprocessing: disablespecialprocessing ? \"1\" : \"0\",\r\n queryContext: queryContext,\r\n }, self.extraParams || {});\r\n\r\n return self.dataProvider.sendQuery(url, params, OnSuccess, OnError);\r\n },\r\n\r\n // ΠžΠ±Π½ΠΎΠ²ΡΠ΅Ρ‚ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡ‚ΡŒ Ρ‚Π°Π±ΠΈΠ»ΠΈΡ†Ρ‹ с записями справочника.\r\n updateTableVisibility: function () {\r\n var self = this;\r\n if ((typeof self.refsWithRecords != 'undefined' && self.refsWithRecords.length == 0) || !self.selectedRefIsClosed) {\r\n self.table.show();\r\n } else {\r\n self.table.hide();\r\n }\r\n // Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΠΌ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ ΠΊΠΎΠ΄ справочника записи ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π±Ρ‹Π»ΠΈ Π²Ρ‹Π±Ρ€Π°Π½Ρ‹.\r\n self.table.data('refcode', self.selectedRefCode);\r\n },\r\n\r\n showError: function (msg, afterShowCallback) {\r\n var self = this;\r\n self.makeTitleAndFooter(afterShowCallback);\r\n\r\n // Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠΉ тСкст ошибки, Ρ‡Π΅ΠΌ Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ справочника.\r\n if (msg.indexOf('^') != -1) {\r\n msg = self.formatMessage(msg);\r\n }\r\n\r\n if (self.inp.offset().top === 0) return; //Π½Π΅ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ Π½ΠΈΡ‡Π΅Π³ΠΎ Ссли ΠΈΠ½ΠΏΡƒΡ‚Π° ΡƒΠΆΠ΅ Π½Π΅Ρ‚\r\n\r\n self.table.html('' + msg + '');\r\n self.showContainer();\r\n if (afterShowCallback) afterShowCallback();\r\n self.hideSpinner();\r\n },\r\n\r\n // Π€ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅Ρ‚ ΡˆΠ°ΠΏΠΊΡƒ ΠΈ ΠΏΠΎΠ΄Π½ΠΎΠΆΠΈΠ΅.\r\n makeTitleAndFooter: function (afterShowCallback) {\r\n var self = this;\r\n\r\n if (self.refcodesCount > 1) {\r\n var beforeRefCodes = [];\r\n var afterRefCodes = [];\r\n var current = beforeRefCodes;\r\n\r\n // ΠžΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅ΠΌ ΠΊΠΎΠ΄Ρ‹ справочника Π΄ΠΎ ΠΈ послС Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ.\r\n for (var refcode in self.refcodes) {\r\n current.push(refcode);\r\n if (refcode == self.selectedRefCode) {\r\n current = afterRefCodes;\r\n }\r\n }\r\n\r\n var makeDivs = function (codes, container) {\r\n if (codes.length == 0) {\r\n container.empty();\r\n } else {\r\n var html = '';\r\n for (var i = 0; i < codes.length; i++) {\r\n if ((typeof self.refsWithRecords != 'undefined' && $.inArray(codes[i], self.refsWithRecords) != -1) ||\r\n (typeof self.refsWithErrorMessage != 'undefined' && typeof self.refsWithErrorMessage[codes[i]] != 'undefined')) {\r\n\r\n var cssClass = '';\r\n if (codes[i] == self.selectedRefCode) cssClass = 'selected';\r\n if (self.selectedRefIsClosed) cssClass += ' closed';\r\n\r\n html += '
    ';\r\n html +=\r\n '

    ' +\r\n ' ' +\r\n ' ' +\r\n ' ' +\r\n '

    ';\r\n html += self.refcodes[codes[i]].Caption;\r\n\r\n if (typeof self.refsWithErrorMessage != 'undefined' && typeof self.refsWithErrorMessage[codes[i]] != 'undefined') {\r\n html += ' (' + $.trim(self.refsWithErrorMessage[codes[i]].toLowerCase()) + ')';\r\n }\r\n\r\n html += '
    ';\r\n }\r\n }\r\n container.html(html).find('div')\r\n .bind('click.refselect', function () { self.selectReference(this, afterShowCallback); })\r\n .hover(\r\n function () { $(this).addClass('hover'); },\r\n function () { $(this).parent().children('.rs_RefCaption').removeClass('hover'); }\r\n );\r\n }\r\n }\r\n\r\n //Π€ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅ΠΌ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ\r\n makeDivs(beforeRefCodes, self.title);\r\n if (beforeRefCodes.length > 0) {\r\n self.title.show();\r\n } else {\r\n self.title.hide();\r\n }\r\n\r\n //Π€ΠΎΡ€ΠΌΠΈΡ€ΡƒΠ΅ΠΌ ΠΏΠΎΠ΄Π½ΠΎΠΆΠΈΠ΅\r\n makeDivs(afterRefCodes, self.footer);\r\n if (afterRefCodes.length > 0) {\r\n self.footer.show();\r\n } else {\r\n self.footer.hide();\r\n }\r\n } else {\r\n self.title.hide();\r\n self.footer.hide();\r\n }\r\n },\r\n\r\n // Π’Ρ‹Π±ΠΈΡ€Π°Π΅Ρ‚ справочник ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚/ΠΏΠΎΠ΄Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ Π΅Π³ΠΎ записи.\r\n selectReference: function (refCaption, afterShowCallback) {\r\n var self = this;\r\n var $this = $(refCaption);\r\n if ($this.hasClass('selected')) {\r\n self.selectedRefIsClosed = !$this.hasClass('closed');\r\n } else {\r\n self.selectedRefIsClosed = false;\r\n }\r\n\r\n // НавСшиваСм/снимаСм ΡΡ‚ΠΈΠ»ΡŒ Π·Π°ΠΊΡ€Ρ‹Ρ‚ΠΎΡ‡ΠΊΠΈ справочника.\r\n if (self.selectedRefIsClosed) {\r\n $this.addClass('closed');\r\n } else {\r\n $this.removeClass('closed');\r\n }\r\n\r\n self.inp.focus();\r\n self.selectedRefCode = $this.data('refcode');\r\n self.suggest(afterShowCallback);\r\n },\r\n\r\n // Π“Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅Ρ‚ data-Π°Ρ‚Ρ€ΠΈΠ±ΡƒΡ‚ ΠΈ Π½ΡƒΠΆΠ½Ρ‹ΠΉ css-класс для html-элСмСнта.\r\n getHintData: function (refcode, id, text) {\r\n var self = this;\r\n // НуТно Π»ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ подсказку.\r\n var hintClass = (self.refcodes[refcode] && self.refcodes[refcode].NeedShowHint ? \"hint \" : \"\");\r\n var hintData;\r\n if (self.refcodes[refcode] && self.refcodes[refcode].NeedShowHint) {\r\n if (id.indexOf('_') != -1) {\r\n var idParts = id.split('_');\r\n refcode = idParts[0];\r\n id = idParts[1];\r\n }\r\n hintData = ' data-hint=\"{ \\'compcode\\' : \\'' + refcode + '\\', \\'id\\' : \\'' + id + '\\' }\" ';\r\n } else {\r\n hintData = ' title=\"' + (('' + text + '').replace(/\"/g, '"')) + '\" ';\r\n }\r\n return {\r\n 'attr': hintData,\r\n 'class': hintClass\r\n };\r\n },\r\n\r\n // Π‘Ρ‚Ρ€ΠΎΠΈΡ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚ΠΈΡ€ΡƒΡŽΡ‰ΡƒΡŽ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ.\r\n createRows: function (refCode, rows, afterShowCallback) {\r\n var self = this;\r\n var tr, td;\r\n var isEmpty;\r\n var table_html = '';\r\n\r\n self.makeTitleAndFooter(afterShowCallback);\r\n\r\n var rowsByUid = {};\r\n\r\n if (rows.length > 0) {\r\n rows.forEach(function (row, i) {\r\n if (isNaN(parseInt(row.id, 10)) || row.id >= 0) {\r\n var rowUid = '' + Math.random();\r\n rowsByUid[rowUid] = row;\r\n var hintData = self.getHintData(refCode, row.id, row.title);\r\n table_html += '';\r\n table_html += '' + self.highlight(row.encodedTitle, self.getQueryValue()) + '';\r\n } else {\r\n table_html += '';\r\n table_html += '
    ' + row.encodedTitle + '
    ';\r\n // Волько 1 сообщСниС ΠΎΠ± ошибкС ΠΈ пустая строка.\r\n if (rows.length == 0) {\r\n self.maxPages = self.currentPage;\r\n }\r\n }\r\n table_html += '';\r\n });\r\n\r\n //Π£Π΄Π°Π»Π΅ΠΌ строку с ошибкой, Ссли ΠΎΠ½Π° Ρ‚Π°ΠΌ Π±Ρ‹Π»Π°.\r\n self.table.find('td.error').parent().remove();\r\n\r\n var newRows = $(table_html);\r\n // БвязываСм HTML строку с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ.\r\n $.each(newRows, function (index, newRow) {\r\n var rowUid = $(newRow).data('rowuid');\r\n $(newRow).data('rowData', rowsByUid[rowUid]);\r\n });\r\n\r\n var trs = self.table.append(newRows).find('tr:not(.rs_tr_error)');\r\n trs.unbind('mouseenter.refselect').bind('mouseenter.refselect', function () { $(this).siblings('.rs_tr_over').removeClass('rs_tr_over'); $(this).addClass('rs_tr_over'); })\r\n .unbind('mouseleave.refselect').bind('mouseleave.refselect', function () { $(this).parent().find('.rs_tr_over').removeClass('rs_tr_over'); })\r\n .unbind('click.refselect').bind('click.refselect', function () { self.select(false, $(this)); });\r\n isEmpty = false;\r\n if (self.refcodes[refCode] && self.refcodes[refCode].NeedShowHint) {\r\n trs.each(function () {\r\n InitAdditionalInfoTooltip($(this));\r\n });\r\n }\r\n\r\n self.inp.trigger('OnRowsCreated', [refCode, trs]);\r\n\r\n } else {\r\n if (self.currentPage == 1) {\r\n isEmpty = !self.showNoMatchText;\r\n self.selectEmpty(false);\r\n if (self.showNoMatchText) {\r\n self.table.html('' + self.NoMatchText + '');\r\n }\r\n } else {\r\n // ИзмСним максимальноС количСство страниц, Ссли записСй ΡƒΠΆΠ΅ Π½Π΅Ρ‚.\r\n self.maxPages = self.currentPage;\r\n }\r\n }\r\n\r\n return isEmpty;\r\n },\r\n\r\n setCoordForContainer: function () {\r\n var self = this;\r\n var c = self.inpParent;\r\n if (c !== null && c.offset()) {\r\n var top = c.offset().top + c.height() + 3;\r\n var height = self.container.outerHeight();\r\n var wh = $(window).height();\r\n if ((top + height) > wh) {\r\n top = c.offset().top - height - 1;\r\n if (top < 0) top = 0;\r\n }\r\n\r\n var width = c.outerWidth(true) - 3;\r\n self.container.css({\r\n left: (c.offset().left),\r\n top: top,\r\n width: width,\r\n minWidth: Math.max(width, 360)\r\n });\r\n }\r\n },\r\n\r\n // Ѐункция ΠΏΠΎΠ΄Ρ†Π²Π΅Ρ‚ΠΊΠΈ искомой строки.\r\n highlight: function (value, term) {\r\n if (term == '') return value;\r\n return value.replace(new RegExp(\"(?![^&;]+;)(?!<[^<>]*)(\" + term.replace(/([\\^\\$\\(\\)\\[\\]\\{\\}\\*\\.\\+\\?\\|\\\\])/gi, \"\\\\$1\") + \")(?![^<>]*>)(?![^&;]+;)\", \"gi\"), \"$1\");\r\n },\r\n\r\n // Π‘ΠΊΡ€Ρ‹Ρ‚ΡŒ плСйсхолдСр\r\n _hidePlaceholder: function () {\r\n var self = this;\r\n $(function () {\r\n if (self.fakeInp)\r\n self.fakeInp.attr(\"placeholder\", \"\");\r\n });\r\n },\r\n\r\n // ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ плСйсхолдСр\r\n _showPlaceholder: function () {\r\n var self = this;\r\n $(function () {\r\n if (self.fakeInp) {\r\n var input = self.fakeInp.parent().before().find('.input');\r\n var placeholder = input.data('placeholder') ? input.data('placeholder') : input.attr('placeholder');\r\n self.fakeInp.attr('placeholder', placeholder);\r\n }\r\n });\r\n }\r\n});","((globalCore) => {\r\n\r\n /**\r\n * Класс Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° мноТСствСнный Π²Ρ‹Π±ΠΎΡ€ записСй справочника.\r\n * @namespace Core.requisites\r\n * @since 5.8.3.9000\r\n */\r\n var ReferenceMultiSelect = ReferenceSelectBase.extend({\r\n /**\r\n * ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€.\r\n * since 5.8.3.9000\r\n * @method Core.requisites.ReferenceMultiSelect.init\r\n */\r\n init: function (inp, options, img) {\r\n var self = this;\r\n this._super(inp, options, img);\r\n\r\n self.inp\r\n .bind('SetValues', function (e, newValues, needTriggerResult) {\r\n self.setValues(newValues, needTriggerResult);\r\n self._hidePlaceholder();\r\n });\r\n\r\n if (self.table) {\r\n self.table.addClass('rs_multiselect_table');\r\n }\r\n },\r\n\r\n /**\r\n * Ѐункция ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΉ Π½Π° клавиши.\r\n * since 5.8.3.9000\r\n * @method Core.requisites.ReferenceMultiSelect.process\r\n * @param {object} e Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ ΠΊΠ»ΠΈΠΊΠ°.\r\n */\r\n process: function (e) {\r\n ReferenceSelectBase.prototype.process.call(this, e);\r\n\r\n var self = e.data;\r\n if (self.inp.attr('readonly') || self.inp.attr('disabled')) return;\r\n\r\n if (!(/^13$|^9$/.test(e.keyCode)) && !self.container.is(':visible')) {\r\n self.inp.data('selected', 'false'); // Π—Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ измСнилось.\r\n }\r\n\r\n // Π’Π»Π΅Π²ΠΎ/Π²ΠΏΡ€Π°Π²ΠΎ ΠΏΡ€ΠΈ мноТСствСнном Π²Ρ‹Π±ΠΎΡ€Π΅\r\n if (self.multiselect && /^46$|^36$|^35$|^37$|^39$/.test(e.keyCode) && $.trim(self.inp.val()) == '') {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n switch (e.keyCode) {\r\n case 46: //del\r\n //Если ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ удаляСт ΠΌΠ½ΠΎΠ³ΠΎ элСмСнтов подряд, Ρ‚ΠΎ ΡƒΠ΄Π°Π»ΠΈΠΌ всС элСмСнты сразу.\r\n if (!self.checkLongDeletion()) {\r\n self.deleteItems(self.inp.next());\r\n } else {\r\n self.deleteAllItems();\r\n };\r\n break;\r\n case 36: //home\r\n self.multiLeft(true);\r\n break;\r\n case 35: //end\r\n self.multiRight(true);\r\n break;\r\n case 37: //left\r\n // Π’Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠ΅Π³ΠΎ списка Π½Π΅Ρ‚, Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ ΠΌΠ΅ΠΆΠ΄Ρƒ элСмСнтами.\r\n if (!self.container.is(':visible')) {\r\n self.multiLeft();\r\n }\r\n break;\r\n case 39: //right\r\n if (!self.container.is(':visible')) {\r\n self.multiRight();\r\n }\r\n break;\r\n };\r\n };\r\n\r\n // Π‘ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅/раскрытиС записСй справочника.\r\n if (self.refcodesCount > 1 && /^37$|^39$/.test(e.keyCode) && self.container.is(':visible')) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n //left, right\r\n if (e.keyCode == 37 || e.keyCode == 39) {\r\n self.selectReference(self.moveReference(0));\r\n }\r\n }\r\n\r\n // Backspace Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ всСгда\r\n if (/^8$/.test(e.keyCode) && self.inp.val() == '') {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n //Если ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ удаляСт ΠΌΠ½ΠΎΠ³ΠΎ элСмСнтов подряд, Ρ‚ΠΎ ΡƒΠ΄Π°Π»ΠΈΠΌ всС элСмСнты сразу.\r\n if (!self.checkLongDeletion()) {\r\n self.deleteItems(self.inp.prev());\r\n } else {\r\n self.deleteAllItems();\r\n };\r\n }\r\n },\r\n\r\n /**\r\n * Ѐункция ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π΄ΠΎΠ»Π³ΠΎΠ³ΠΎ наТатия Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ Del/Backspace.\r\n * since 5.8.3.9000\r\n * @method Core.requisites.ReferenceMultiSelect.checkLongDeletion\r\n * @returns {boolean} True - Π΄ΠΎΠ»Π³ΠΎΠ΅ Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅.\r\n */\r\n checkLongDeletion: function () {\r\n var self = this;\r\n\r\n // Π—Π°ΠΏΠΎΠΌΠ½ΠΈΠΌ врСмя ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ наТатия ΠΊΠ½ΠΎΠΏΠΊΠΈ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ (Del/Backspace).\r\n if (self._startDeleteTime === null) {\r\n self._startDeleteTime = $.now();\r\n };\r\n\r\n //Если ΠΏΡ€ΠΎΡˆΠ»ΠΎ 1.5 с. с ΠΌΠΎΠΌΠ΅Π½Ρ‚Π° ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ наТатия, Ρ‚ΠΎ это Π΄ΠΎΠ»Π³ΠΎΠ΅ Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΊΠΈ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ.\r\n if (($.now() - self._startDeleteTime) > 1500) {\r\n return true;\r\n };\r\n\r\n // Π’Π°ΠΉΠΌΠ΅Ρ€ для сброса Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ ΠΏΠ΅Ρ€Π²ΠΎΠ³ΠΎ наТатия ΠΊΠ½ΠΎΠΏΠΊΠΈ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ.\r\n if (self._deleteTimeout) clearTimeout(self._deleteTimeout);\r\n self._deleteTimeout = setTimeout(function () {\r\n self._startDeleteTime = null;\r\n }, 300);\r\n\r\n //НС Π΄ΠΎΠ»Π³ΠΎΠ΅ Π½Π°ΠΆΠ°Ρ‚ΠΈΠ΅.\r\n return false;\r\n },\r\n\r\n /**\r\n * Ѐункция ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ всС Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Π΅ записи.\r\n * since 5.8.3.9000\r\n * @method Core.requisites.ReferenceMultiSelect.getValues\r\n * @returns {Array} Массив Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Ρ… записСй.\r\n */\r\n getValues: function () {\r\n var self = this;\r\n var v = [];\r\n if (self.selectedItems !== null) {\r\n self.selectedItems.children('span').each(function () {\r\n var item = $(this);\r\n var refcode;\r\n var id = '' + item.data('id');\r\n var idParts = id.split(':');\r\n if (idParts.length == 2) {\r\n refcode = idParts[0];\r\n id = idParts[1];\r\n } else {\r\n refcode = self.getFirstRefCode();\r\n };\r\n v.push({\r\n groupcode: refcode,\r\n id: id,\r\n name: '' + item.data('text')\r\n });\r\n });\r\n }\r\n return v;\r\n },\r\n\r\n /**\r\n * УстанавливаСт 1 Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.\r\n * @param {any} newValue НовоС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.\r\n * @param {any} needTriggerResult ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ нСобходимости Π²Ρ‹Π·ΠΎΠ²Π° события установки значСния.\r\n */\r\n setValue: function (newValue, needTriggerResult) {\r\n var self = this;\r\n ReferenceSelectBase.prototype.setValue.call(this, newValue, needTriggerResult);\r\n self.changeInpWidthAndPadding();\r\n setTimeout(function () { //для IE\r\n self.inp.focus();\r\n }, 100);\r\n },\r\n\r\n /**\r\n * Ѐункция устанавливаСт мноТСство Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. \r\n * Π€ΠΎΡ€ΠΌΠ°Ρ‚ [{groupcode:'ΠΊΠΎΠ΄ справочника', id:'ΠΈΠ΄ записи', name:'Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅'}, ...]\r\n * since 5.8.3.9000\r\n * @method Core.requisites.ReferenceMultiSelect.setValues\r\n * @param {Array} newValues Массив Π½ΠΎΠ²Ρ‹Ρ… Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ.\r\n * @param {boolean} needTriggerResult ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ нСобходимости Π²Ρ‹Π·ΠΎΠ²Π° события установки значСния.\r\n */\r\n setValues: function (newValues, needTriggerResult) {\r\n var self = this;\r\n var oldHiddVal = self.hidd.val();\r\n\r\n self.deleteAllItems(false);\r\n\r\n var html = '';\r\n for (var i = 0; i < newValues.length; i++) {\r\n var val = [];\r\n val[self.cellIDIndex] = $.trim(newValues[i].groupcode + ':' + newValues[i].id);\r\n val[self.cellToInput] = $.trim(newValues[i].name);\r\n if (val[self.cellIDIndex] != '') {\r\n //Для увСличСния скорости Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π½Π΅ Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌ setValue.\r\n html += self.createNewSelecetedItemHTML(val);\r\n }\r\n }\r\n self.createNewSelecetedItem(null, $(html));\r\n if (!!needTriggerResult) {\r\n self.triggerResultEvent(oldHiddVal, newValues);\r\n }\r\n\r\n self.inp.data('selected', '' + (html != ''));\r\n },\r\n\r\n /**\r\n * Ѐункция Π²Ρ‹Π·ΠΎΠ²Π° события установки значСния Π² Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π΅ мноТСствСнного Π²Ρ‹Π±ΠΎΡ€Π°.\r\n * since 5.8.3.9000\r\n * @method Core.requisites.ReferenceMultiSelect.triggerResultEvent\r\n * @param {string} oldHiddVal Π‘Ρ‚Π°Ρ€Ρ‹Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.\r\n * @param {string} val НовыС значСния.\r\n */\r\n triggerResultEvent: function (oldHiddVal, val) {\r\n var self = this;\r\n if (self.hidd.val() != oldHiddVal) {\r\n //Π¨Π°ΠΌΠΎΠ² А.: НС Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌ Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€ result Π²ΠΎ мноТСствСнном Π²Ρ‹Π±ΠΎΡ€Π΅, Ρ‚.ΠΊ. ΠΎΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡˆΠ΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² скрытом ΠΏΠΎΠ»Π΅.\r\n self.inp.trigger(\"resultMulti\", [val, self.getValues()]);\r\n }\r\n },\r\n\r\n /**\r\n * Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ клавиши Π²Π»Π΅Π²ΠΎ ΠΏΡ€ΠΈ мноТСствСнном Π²Ρ‹Π±ΠΎΡ€Π΅.\r\n * since 5.8.3.9000\r\n * @method Core.requisites.ReferenceMultiSelect.multiLeft\r\n * @param {boolean} toBegin ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ пСрСноса фокуса Π² Π½Π°Ρ‡Π°Π»ΠΎ ΠΈΠ½ΠΏΡƒΡ‚Π°.\r\n */\r\n multiLeft: function (toBegin) {\r\n var self = this;\r\n var item;\r\n if (toBegin) {\r\n item = self.selectedItems.children('span:first');\r\n } else {\r\n item = self.inp.prev();\r\n }\r\n item.before(self.inp);\r\n\r\n setTimeout(function () { //для IE\r\n self.inp.focus();\r\n }, 100); \r\n\r\n self.changeInpWidthAndPadding();\r\n },\r\n\r\n /**\r\n * Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ клавиши Π²ΠΏΡ€Π°Π²ΠΎ ΠΏΡ€ΠΈ мноТСствСнном Π²Ρ‹Π±ΠΎΡ€Π΅.\r\n * since 5.8.3.9000\r\n * @method Core.requisites.ReferenceMultiSelect.multiRight\r\n * @param {boolean} toEnd ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ пСрСноса фокуса Π² ΠΊΠΎΠ½Π΅Ρ† ΠΈΠ½ΠΏΡƒΡ‚Π°.\r\n */\r\n multiRight: function (toEnd) {\r\n var self = this;\r\n var item;\r\n if (toEnd) {\r\n item = self.selectedItems.children('span:last');\r\n } else {\r\n item = self.inp.next();\r\n }\r\n item.after(self.inp);\r\n\r\n setTimeout(function () { //для IE\r\n self.inp.focus();\r\n }, 100);\r\n\r\n self.changeInpWidthAndPadding();\r\n },\r\n\r\n /**\r\n * Ѐункция ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ запроса.\r\n * since 5.8.3.9000\r\n * @method Core.requisites.ReferenceMultiSelect.getQueryValue\r\n * @returns {string} Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ запроса.\r\n */\r\n getQueryValue: function () {\r\n var self = this;\r\n var vs = self.inp.val().split(';');\r\n var v = vs[vs.length - 1];\r\n return $.trim(v);\r\n },\r\n\r\n /**\r\n * Ѐункция прСобразования сообщСния.\r\n * since 5.8.3.9000\r\n * @method Core.requisites.ReferenceMultiSelect.formatMessage\r\n * @param {string} msg Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅.\r\n * @returns {string} ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½Π½ΠΎΠ΅ сообщСниС.\r\n */\r\n formatMessage: function (msg) {\r\n return msg.split('^')[1];\r\n },\r\n\r\n /**\r\n * Ѐункция Π²Ρ‹Π·ΠΎΠ²Π° события.\r\n * since 5.8.3.9000\r\n * @method Core.requisites.ReferenceMultiSelect.callResult\r\n */\r\n callResult() {\r\n //Π¨Π°ΠΌΠΎΠ² А.: НС Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌ Ρ‚Ρ€ΠΈΠ³Π³Π΅Ρ€ result Π²ΠΎ мноТСствСнном Π²Ρ‹Π±ΠΎΡ€Π΅, Ρ‚.ΠΊ. ΠΎΠ½ΠΎ ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡˆΠ΅Ρ‚ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π² скрытом ΠΏΠΎΠ»Π΅.\r\n this.inp.trigger(\"resultMulti\", [null]);\r\n }\r\n });\r\n\r\n globalCore.ReferenceMultiSelect = ReferenceMultiSelect;\r\n})(window.Core.requisites);\r\n","((globalCore) => {\r\n\r\n /**\r\n * Класс Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π° Π²Ρ‹Π±ΠΎΡ€ записи справочника.\r\n * @namespace Core.requisites\r\n * since 5.8.3.9000\r\n */\r\n var ReferenceSelect = ReferenceSelectBase.extend({\r\n /**\r\n * ΠšΠΎΠ½ΡΡ‚Ρ€ΡƒΠΊΡ‚ΠΎΡ€.\r\n * since 5.8.3.9000\r\n * @method Core.requisites.ReferenceSelect.init\r\n */\r\n init: function (inp, options, img) {\r\n var self = this;\r\n this._super(inp, options, img);\r\n },\r\n\r\n /**\r\n * Ѐункция ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ наТатия Π½Π° ΠΈΠΊΠΎΠ½ΠΊΡƒ.\r\n * since 5.8.3.9000\r\n * @method Core.requisites.ReferenceSelect.onImgClick\r\n * @param {object} ev Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ ΠΊΠ»ΠΈΠΊΠ°.\r\n */\r\n onImgClick: function (ev) {\r\n var self = this;\r\n ev.preventDefault();\r\n ev.stopPropagation();\r\n if (!self.inp.attr('readonly') && !self.inp.attr('disabled')) {\r\n self.container.hide();\r\n self.table.empty().removeData('refcode');\r\n self.currentPage = 1;\r\n self.clearBlurTimeout();\r\n self.suggestLastMode = 'show_all';\r\n self.suggest(function () {\r\n self.results.scrollTop(0);\r\n });\r\n }\r\n },\r\n\r\n /**\r\n * Ѐункция удалСния Ρ‚Π°ΠΉΠΌΠ°ΡƒΡ‚Π° Π½Π° событии onblur Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ inputa.\r\n * since 5.8.3.9000\r\n * @method Core.requisites.ReferenceSelect.clearBlurTimeout\r\n */\r\n clearBlurTimeout: function () {\r\n var self = this;\r\n clearTimeout(self.close);\r\n self.inp.focus();\r\n },\r\n\r\n /**\r\n * Ѐункция ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΉ Π½Π° клавиши.\r\n * since 5.8.3.9000\r\n * @method Core.requisites.ReferenceSelect.process\r\n * @param {object} e Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ ΠΊΠ»ΠΈΠΊΠ°.\r\n */\r\n process: function (e) {\r\n ReferenceSelectBase.prototype.process.call(this, e);\r\n var self = e.data;\r\n\r\n //alt+down для раскрытия ΠΏΠΎΠ»Π½ΠΎΠ³ΠΎ списка.\r\n if (e.altKey && e.keyCode == 40 && $.trim(self.inp.val()) == '' && !self.container.is(':visible')) {\r\n self.onImgClick(e);\r\n }\r\n\r\n // Π‘ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅/раскрытиС записСй справочника.\r\n if (self.refcodesCount > 1 && /^37$|^39$/.test(e.keyCode) && self.container.is(':visible')) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n //left, right\r\n if (e.keyCode == 37 || e.keyCode == 39) {\r\n self.selectReference(self.moveReference(0));\r\n }\r\n }\r\n\r\n // Backspace Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚ всСгда\r\n if (/^8$/.test(e.keyCode) && self.inp.val() == '') {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n self.deleteItems(self.inp.prev());\r\n }\r\n },\r\n\r\n /**\r\n * Ѐункция устанавливаСт Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π°.\r\n * since 5.8.3.9000\r\n * @method Core.requisites.ReferenceSelect.setValue\r\n * @param {Array} newValues Π½ΠΎΠ²ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.\r\n * @param {boolean} needTriggerResult ΠΏΡ€ΠΈΠ·Π½Π°ΠΊ нСобходимости Π²Ρ‹Π·ΠΎΠ²Π° события установки значСния.\r\n */\r\n setValue: function (newValue, needTriggerResult) {\r\n var self = this;\r\n var oldHiddVal = self.hidd.val();\r\n\r\n try {\r\n self.deleteAllItems(false);\r\n } catch (e) {\r\n console.log(e);\r\n }\r\n\r\n if (newValue != null) {\r\n // Π‘ΠΎΠ·Π΄Π°Π΅ΠΌ Π½ΠΎΠ²Ρ‹ΠΉ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ элСмСнт.\r\n self.createNewSelecetedItem(newValue);\r\n }\r\n\r\n if (!!needTriggerResult) {\r\n if (self.allowlike) {\r\n self.triggerResultEvent(oldHiddVal, newValue);\r\n } else {\r\n self.inp.trigger('changeOnSelectValue', [newValue]);\r\n }\r\n }\r\n\r\n self.inp.data('selected', '' + (newValue != null));\r\n },\r\n\r\n /**\r\n * Ѐункция Π²Ρ‹Π·ΠΎΠ²Π° события установки значСния Π² Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚Π΅ мноТСствСнного Π²Ρ‹Π±ΠΎΡ€Π°.\r\n * since 5.8.3.9000\r\n * @method Core.requisites.ReferenceSelect.triggerResultEvent\r\n * @param {string} oldHiddVal староС Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.\r\n * @param {string} val Π½ΠΎΠ²ΠΎΠ΅ значСния.\r\n */\r\n triggerResultEvent: function (oldHiddVal, val) {\r\n var self = this;\r\n if (self.hidd.val() != oldHiddVal) {\r\n self.inp.trigger(\"result\", [val]);\r\n }\r\n },\r\n\r\n /**\r\n * Ѐункция ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ запроса.\r\n * since 5.8.3.9000\r\n * @method Core.requisites.ReferenceSelect.getQueryValue\r\n */\r\n getQueryValue: function () {\r\n var self = this;\r\n var v = self.inp.val();\r\n return $.trim(v);\r\n },\r\n\r\n /**\r\n * Ѐункция прСобразования сообщСния.\r\n * since 5.8.3.9000\r\n * @method Core.requisites.ReferenceSelect.formatMessage\r\n * @param {string} msg Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅.\r\n * @returns {string} ΠŸΡ€Π΅ΠΎΠ±Ρ€Π°Π·ΠΎΠ²Π°Π½Π½ΠΎΠ΅ сообщСниС.\r\n */\r\n formatMessage: function (msg) {\r\n return msg.replace('^', '. ');\r\n },\r\n\r\n /**\r\n * Ѐункция Π²Ρ‹Π·ΠΎΠ²Π° события.\r\n * since 5.8.3.9000\r\n * @method Core.requisites.ReferenceSelect.callResult\r\n */\r\n callResult() {\r\n this.inp.trigger('result', [null]);\r\n },\r\n });\r\n\r\n globalCore.ReferenceSelect = ReferenceSelect;\r\n})(window.Core.requisites);\r\n","/// \r\n/// \r\n\r\nfunction CreateSubTaskFromListActions(obj, el) {\r\n obj['tr'] = $(el).parents('#' + obj.id);\r\n CreateSubTaskFromContextMenu(obj);\r\n}\r\n\r\nfunction CreateSubTaskFromContextMenu(parent) {\r\n var newCard;\r\n var OnError = function (error) {\r\n newCard.close();\r\n ShowError(error, null, 400);\r\n };\r\n\r\n function DoIt(decryptedKey) {\r\n var newTaskID;\r\n var serviceName;\r\n var serviceParams;\r\n //Π‘ΠΎΠ·Π΄Π°Ρ‘ΠΌ ΠΏΠΎΠ΄Π·Π°Π΄Π°Ρ‡Ρƒ\r\n\r\n if (parent.kind == \"task\") {\r\n serviceName = 'Task.asmx';\r\n serviceParams = { TaskID: parent.id, EncryptionKey: decryptedKey };\r\n } else {\r\n serviceName = 'Job.asmx';\r\n serviceParams = { JobID: parent.id, EncryptionKey: decryptedKey };\r\n }\r\n\r\n CallService(serviceName + '/CreateSubTask', serviceParams,\r\n function (res) {\r\n if (!res.Success) OnError(res.Error);\r\n else {\r\n newTaskID = res.Result;\r\n if (!!newTaskID) {\r\n parent.id = newTaskID;\r\n parent.kind = \"task\";\r\n var params = \"mode=edit\";\r\n newCard.location = GetObjectCardUrl(parent, params);\r\n newCard.focus();\r\n }\r\n }\r\n },\r\n OnError);\r\n }\r\n\r\n var encoding = parent.tr.attr('encoding');\r\n var pleaseWait = new WA.URL('/PleaseWait.aspx');\r\n pleaseWait.setParam('message', L('PLEASE_WAIT_TASK'));\r\n\r\n if (encoding > 0) {\r\n // НС ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅ΠΌ Ρ€Π°Π±ΠΎΡ‚Ρƒ с Π·Π°ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌΠΈ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌΠΈ.\r\n (new WA.CMP.dialogs.MessageBox()).showWarning(L('ERR_ENCODED_OBJECT_ARE_NOT_SUPPORTED'));\r\n\r\n Core.agent.getPlugin('CryptographyPlugin').done((plugin) => {\r\n var pluginName = parent.tr.attr('encpluginname');\r\n switch (encoding) {\r\n case '1':\r\n newCard = pleaseWait.open(parent.kind + parent.id);\r\n if (parent.kind == 'task') {\r\n WebAccess.agent.edms.getTaskDecryptedKey(parent.id, encoding, pluginName, \"\", DoIt, OnError);\r\n } else {\r\n WebAccess.agent.edms.getJobDecryptedKey(parent.id, encoding, pluginName, \"\", DoIt, OnError);\r\n }\r\n break;\r\n case '2':\r\n case '3':\r\n RequestPasswordForDecryption('',\r\n function (password) {\r\n newCard = pleaseWait.open(parent.kind + parent.id);\r\n if (parent.kind == 'task') {\r\n WebAccess.agent.edms.getTaskDecryptedKey(parent.id, encoding, pluginName, password, DoIt, OnError);\r\n } else {\r\n WebAccess.agent.edms.getJobDecryptedKey(parent.id, encoding, pluginName, password, DoIt, OnError);\r\n }\r\n });\r\n break;\r\n }\r\n });\r\n } else {\r\n newCard = pleaseWait.open('sub' + parent.kind + parent.id);\r\n\r\n //IOS Π·Π°ΠΌΠΎΡ€Π°ΠΆΠΈΠ²Π°Π΅Ρ‚ Π²ΠΊΠ»Π°Π΄ΠΊΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ висят Π² Ρ„ΠΎΠ½Π΅, поэтому ΠΊ соТалСнию Ρ„Π°Π±Ρ€ΠΈΠΊΠΈ ΠΈ асинхронныС запросы Π² Π½Π΅ΠΌ ΠΎΡ‚Π΄Ρ‹Ρ…Π°ΡŽΡ‚\r\n if (WA.ENV.os.name.toLowerCase() === 'ios') {\r\n var folderId = WA.CR.getID() || OutboxFolderID;\r\n var page = (parent.kind == 'task' ? 'Task' : 'Job');\r\n var pageUrl = (new WA.URL('/' + page + '.aspx'));\r\n if (parent.kind == 'task') {\r\n pageUrl.setParam('mode', 'newsubtask');\r\n } else {\r\n pageUrl.setParam('op', 'newsubtask');\r\n }\r\n pageUrl.setParam('id', parent.id).setParam('folder', folderId).openIn(newCard);\r\n return;\r\n }\r\n\r\n DoIt(null);\r\n }\r\n}\r\n\r\n\r\n// ΠŸΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅ΠΌΡ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ для Π·Π·Ρƒ.\r\n// id - id Π·Π°Π΄Π°Ρ‡ΠΈ ΠΈΠ»ΠΈ задания.\r\n// type - \"job\" ΠΈΠ»ΠΈ \"task\".\r\nfunction ShowAskableParams(id, type, block = null) {\r\n id = id || GetParamInURL('id');\r\n type = type || (/job\\.aspx/i.test(location.pathname) ? 'job' : 'task');\r\n ShowModalWindow(\"askable_params\", {\r\n title: L(\"CUSTOMWORK_ASKABLE_PARAMS\"),\r\n ok: () => {\r\n const jModalWindow = $('#modal_window');\r\n jModalWindow.data('success', () => {\r\n jModalWindow.data('ok', true);\r\n jModalWindow.dialog('close');\r\n if (WA.CR.Type === OBJECT_TYPE.JOB) {\r\n Core.jobs.performJob(id, block)\r\n } else {\r\n WA.CR.openReactTab(TAB_TYPE.TASK_CARD, true);\r\n }\r\n });\r\n jModalWindow.find('form').submit();\r\n return false;\r\n },\r\n close: () => {\r\n let needRemoveModal = true;\r\n const modal = $('#modal_window');\r\n if (WA.CR.Type === OBJECT_TYPE.TASK) {\r\n if (!modal.data('ok')) {\r\n needRemoveModal = false;\r\n WA.SRV.request('/Task.asmx/SetStandardRoute', {\r\n TaskID: id,\r\n StandardRouteID: 0,\r\n }).done(() => {\r\n modal.dialog('close');\r\n WA.CR.openReactTab(TAB_TYPE.TASK_CARD, true);\r\n //TODO: ΠΏΠ΅Ρ€Π΅Π΄Π΅Π»Π°Ρ‚ΡŒ Π½Π° ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠΈ ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΎΠ² Π½Π° страницС ΠΈ Π²Π΅Ρ€Π½ΡƒΡ‚ΡŒ key Π² Ρ€Π΅Π°ΠΊΡ‚ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρƒ Conversation\r\n const CardTab = WA.CR.CardTab;\r\n if (CardTab) {\r\n CardTab.updateModel(CardTab._model);\r\n }\r\n modal.remove();\r\n });\r\n }\r\n }\r\n if (needRemoveModal) {\r\n modal.remove();\r\n }\r\n },\r\n params: { WorkID: id, WorkType: type, WorkflowBlock: block },\r\n height: \"auto\",\r\n width: 700,\r\n afterOpen() {\r\n setTimeout(() => {\r\n //ΠΈΠ½Π°Ρ‡Π΅ Ρ„ΠΎΡ€ΠΌΠ° Π½Π΅ растягиваСтся ΠΏΡ€ΠΈ ListRequisite\r\n $('#modal_window').css('height', 'auto');\r\n //Π²Ρ‹Π·ΠΎΠ² события послС ΠΏΠΎΠΊΠ°Π·Π° ΠΎΠΊΠ½Π° с Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅ΠΌΡ‹ΠΌΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Π°ΠΌΠΈ\r\n if (type === 'job') {\r\n WebAccess.Job.fire('AfterShow');\r\n }\r\n if (type === 'task') {\r\n WebAccess.Task.fire('AfterShow');\r\n }\r\n\r\n const currentDialog = $('.ui-dialog');\r\n\r\n // Установкаа Π·Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅ΠΌΡ‹Ρ… ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² ΠΏΠΎ\r\n currentDialog.keydown(event => {\r\n if (event.keyCode === 13) {\r\n const jTarget = $(event.target);\r\n\r\n // ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° справочник\r\n if (jTarget.tagName !== 'textarea' && !jTarget.closest('.reference_requisite, .Req_Pick').length) {\r\n this.ok();\r\n }\r\n }\r\n });\r\n\r\n // ΠΏΡ€ΠΈ пСрСтаскивании Π΄ΠΈΠ°Π»ΠΎΠ³Π° слСтаСт высота ΠΈ ΠΊΠ½ΠΎΠΏΠΊΠΈ ОК/ΠžΡ‚ΠΌΠ΅Π½Π° Ρ‚Π°ΠΊΠΆΠ΅ ΠΌΠΎΠ³ΡƒΡ‚ ΡƒΡ…ΠΎΠ΄ΠΈΡ‚ΡŒ Π·Π° Π³Ρ€Π°Π½ΠΈΡ†Ρ‹ Π²ΠΈΠ΄ΠΈΠΌΠΎΠΉ области\r\n currentDialog.on('dragstop', () => {\r\n currentDialog.css('height', 'auto');\r\n });\r\n }, 50);\r\n }\r\n });\r\n $('#modal_window').css('overflow', 'auto');\r\n}\r\n\r\nfunction ClearOpAfterError() {\r\n var id = GetParamInURL('id');\r\n CallService(\"/Task.asmx/SetStandardRoute\", { TaskID: id, StandardRouteID: 0 }, function () {\r\n $('#modal_window').dialog('close');\r\n DoAction(\"-op\")\r\n });\r\n}\r\n\r\nfunction ShowErrorOnAskableParams(text) {\r\n ShowMessage(text, L(\"CUSTOMWORK_ASKABLE_PARAMS\"), ClearOpAfterError, null, null, null, true);\r\n}\r\n\r\n// ΠŸΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΎΠΊΠ½ΠΎ Π²Ρ‹Π±ΠΎΡ€Π° Ρ‚ΠΈΠΏΠΎΠ²ΠΎΠ³ΠΎ ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚Π°.\r\nfunction ChangeStandartRoute() {\r\n ShowModalWindow('standard_route', {\r\n title: L('STANDARD_ROUTE'),\r\n ok: () => {\r\n const jModalWindow = $('#modal_window');\r\n const routeId = jModalWindow.find('#hSelID_route').val();\r\n SetStandardRoute(WA.CR.ID, routeId, null, (errMessage) => {\r\n jModalWindow.data('error')(errMessage);\r\n });\r\n return false;\r\n },\r\n params: {\r\n TaskID: WA.CR.ID,\r\n }\r\n });\r\n}\r\n\r\nfunction SetStandardRoute(TaskID, StandardRouteID, OnSuccess, OnError) {\r\n getStandardRouteCodeByID(StandardRouteID, function (data) {\r\n var standardRouteCode;\r\n var setStandardRouteCallback = function () {\r\n CallService(\"/Task.asmx/SetStandardRoute\", { TaskID: TaskID, StandardRouteID: StandardRouteID }, function (res) {\r\n if (res.Success) {\r\n if (OnSuccess) {\r\n var r = OnSuccess();\r\n if (r === false) {\r\n return;\r\n }\r\n }\r\n if (res.Result) {\r\n //ΠžΠ·Π½Π°Ρ‡ΠΈΠ²Π°Π΅ΠΌ Π² current для доступа Π² Π²Π΅Π± ΠΌΠΎΠ΄ΡƒΠ»Π΅ ΠΈ Π² ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π΅ Task для возмоТности Π²Ρ‹Π·ΠΎΠ²Π° событий Π·Π°Π΄Π°Ρ‡ΠΈ\r\n WA.CR.StandardRouteCode = WA.Task.StandardRouteCode = standardRouteCode;\r\n WA.CR.StandardRouteId = WA.Task.StandardRouteId = StandardRouteID;\r\n\r\n //Ссли Π΅ΡΡ‚ΡŒ события для этой Π·Π°Π΄Π°Ρ‡ΠΈ, Ρ‚ΠΎ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π²Ρ‹Π·Π²Π°Ρ‚ΡŒΡΡ здСсь\r\n if (WA.Events && WA.Events[standardRouteCode] && WA.Events[standardRouteCode].task) {\r\n WA.Task.loadEvents(WA.Events);\r\n }\r\n ShowAskableParams(TaskID, 'task');\r\n } else {\r\n DoAction(\"op=ChangeRoute\");\r\n }\r\n if (OnSuccess) OnSuccess();\r\n } else {\r\n if (OnError) {\r\n OnError(res.Error);\r\n }\r\n }\r\n });\r\n };\r\n\r\n // Ссли запрос выполнился ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ ΠΈ Π²Π΅Ρ€Π½ΡƒΠ» Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½Ρƒ запись (Ссли большС, Ρ‚ΠΎ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ явно Π½Π΅ Ρ‚ΠΎ - ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡƒ Π˜Π” ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½Π° запись).\r\n // Ρ‚Ρ€Π΅Ρ‚ΡŒΠ΅ условиС - Ρ‡Ρ‚ΠΎ вСнрнулся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Код записи.\r\n if (data.Success && data.Result.length == 1 && data.Result[0].Requisites.length == 1) {\r\n standardRouteCode = $.trim(data.Result[0].Requisites[0].Value);\r\n }\r\n\r\n // Если для ВМа с ΠΊΠΎΠ΄ΠΎΠΌ standardRouteCode Π΅ΡΡ‚ΡŒ ΠΎΠ·Π½Π°Ρ‡Π΅Π½Π½Ρ‹Π΅ события, Ρ‚ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΠΌ событиС \"Π”ΠΎ запроса ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ²\".\r\n if (typeof WebAccess.Events[standardRouteCode] != 'undefined') {\r\n WebAccess.Task.fireAll(\"Select\", setStandardRouteCallback, standardRouteCode);\r\n } else {\r\n setStandardRouteCallback();\r\n }\r\n }, function () {\r\n ClearOpAfterError();\r\n });\r\n}\r\n\r\nfunction ShowWarningForTaskRouteException(msg) {\r\n var _showWarningFunc = function (callback) {\r\n ShowMessage(msg, L('WARNING'), null, L('OK'), 600, callback, false);\r\n };\r\n var _isModalShown = IsModalShown();\r\n\r\n HideTopSpinner('', 0, null, _isModalShown);\r\n setTimeout(function () {\r\n if (_isModalShown) {\r\n // ΠžΡ‚ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ горячиС Π³Π»Π°Π²ΠΈΡ‰ΠΈ Π²ΠΎΠΎΠ±Ρ‰Π΅, Ρ‡Ρ‚ΠΎ Π±Ρ‹ Enter Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ΅ ОК Π² ΠΎΠΊΠ½Π΅ ошибки сработал Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ. Для этого ΠΆΠ΅ ΠΈ setTimeout\r\n key.setScope('');\r\n _showWarningFunc(function () {\r\n key.setScope('modalwindow');\r\n });\r\n } else {\r\n _showWarningFunc();\r\n }\r\n }, 100);\r\n}\r\n\r\n// ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Π΅ элСмСнты (Π»ΠΈΠ±ΠΎ Π² Π΄ΠΈΠ°Π»ΠΎΠ³Π΅, Ссли ΠΎΠ½ ΠΏΠΎΠΊΠ°Π·Π°Π½, Π»ΠΈΠ±ΠΎ Π² Π²Ρ‹Π±ΠΎΡ€Π΅ ΠΈΠ· справочника).\r\nfunction GetRouteSelectedItemsCount() {\r\n var inps = [$(\"#CardContrrolRoute\"), $('#CardContrrolObservers')];\r\n var count = 0;\r\n for (var i = 0; i < inps.length; i++) {\r\n var inp = inps[i];\r\n var ms = inp.data('MultiSelectModalWindowInstance');\r\n if (ms && ms.isModalShown()) {\r\n count += ms.dataObject.selectedItems.length;\r\n } else if (inp.length > 0) {\r\n const referenceSelectInstance = inp.data('ReferenceSelectInstance');\r\n if (referenceSelectInstance) {\r\n count += referenceSelectInstance.getValues().length;\r\n }\r\n }\r\n }\r\n return count;\r\n}\r\n\r\n// Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ послС смСны ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚Π° с мноТСствСнным Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ.\r\nfunction TaskRouteChanged(inp, data, UsersRefName, UserGroupsRefName, StandardRoutesRefName, RouteLastObjectsRefName, isInModal) {\r\n var selItem;\r\n var isNeedToAddLastObject = true;\r\n if (!data || data.length == 0)\r\n return;\r\n\r\n if (!$.isPlainObject(data[0])) {\r\n // Π”Π°Π½Π½Ρ‹Π΅ Π²Ρ‹Π±Ρ€Π°Π½Ρ‹ Ρ‡Π΅Ρ€Π΅Π· стандартноС Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰Π΅Π΅ мСню.\r\n var id = data[0];\r\n var idParts = id.split(':');\r\n var refCode = '';\r\n if (idParts.length == 2) {\r\n refCode = idParts[0];\r\n id = idParts[1];\r\n } else {\r\n refCode = UsersRefName;\r\n };\r\n selItem = { groupcode: refCode, id: id, name: data[2] };\r\n } else {\r\n // Π”Π°Π½Π½Ρ‹Π΅ Π²Ρ‹Π±Ρ€Π°Π½Ρ‹ Ρ‡Π΅Ρ€Π΅Π· модальноС ΠΎΠΊΠ½ΠΎ.\r\n selItem = data[0];\r\n // ПослС Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ ОК ΡƒΠΆΠ΅ Π½Π΅ добавляСм Π² послСдниС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹, Ρ‚.ΠΊ. ΡƒΠΆΠ΅ Π±Ρ‹Π»ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ ΠΏΡ€ΠΈ пСрСносС Π² ΠΏΡ€Π°Π²ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ.\r\n isNeedToAddLastObject = !!isInModal;\r\n };\r\n\r\n // Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΠΌ элСмСнт для Π·Π°ΠΌΠ΅Π½Ρ‹, Ρ‚.ΠΊ. Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΌΡ‹ Π΅Π³ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠΌ Π½ΠΈΠΆΠ΅.\r\n var itemToReplace = { groupcode: selItem.groupcode, id: selItem.id, name: selItem.name };\r\n\r\n // Если это псСвдосправочник \"ПослСдниС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π² ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚Π΅\", Ρ‚ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ настоящий справочник ΠΈ Π˜Π” Π²Ρ‹Π±ΠΈΡ€Π°Π΅ΠΌΠΎΠΉ записи.\r\n if (selItem.groupcode === RouteLastObjectsRefName) {\r\n var idParts = selItem.id.split(\"_\");\r\n if (idParts.length == 2) {\r\n selItem.groupcode = idParts[0];\r\n selItem.id = idParts[1];\r\n };\r\n };\r\n\r\n // Ѐункция TaskRouteChanged срабатываСт ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ \"ОК\" Π² модальном Π΄ΠΈΠ°Π»ΠΎΠ³Π΅, Π² этом случаС, Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ послСдниС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ,\r\n // Ρ‚.ΠΊ. ΠΎΠ½ΠΈ ΡƒΠΆΠ΅ Π±Ρ‹Π»ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ‹ ΠΏΡ€ΠΈ пСрСносС Π² ΠΏΡ€Π°Π²ΡƒΡŽ Ρ‡Π°ΡΡ‚ΡŒ.\r\n // ДобавляСм ΠΊ послСдним ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°ΠΌ, Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹Π΅ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρ‹.\r\n if (isNeedToAddLastObject && selItem.id > 0) {\r\n WA.SRV.session.addLastUsedObject(selItem.groupcode, selItem.id, selItem.name);\r\n }\r\n\r\n switch (selItem.groupcode) {\r\n case UsersRefName:\r\n //Π’Π΅ΠΊΡƒΡ‰Π΅Π΅ ΠΊΠΎΠ»-Π²ΠΎ элСмСнтов поля\r\n if (typeof MAX_ROUTE_PARTICIPANT_COUNT !== 'undefined' && MAX_ROUTE_PARTICIPANT_COUNT !== null) {\r\n var CurrentUsersCount = GetRouteSelectedItemsCount();\r\n if (CurrentUsersCount > MAX_ROUTE_PARTICIPANT_COUNT) {\r\n inp.ReplaceLastSelectedItem(itemToReplace.groupcode + ':' + itemToReplace.id, []);\r\n ShowWarningForTaskRouteException(L(\"TO_MANY_ITEMS\"));\r\n } else {\r\n if (!IsModalShown()) {\r\n WA.CMP.NTF.InlineHint.hideAll();\r\n }\r\n };\r\n }\r\n\r\n //Если Π²Ρ‹Π±Ρ€Π°Π»ΠΈ ΠΈΠ· RouteLastObjectsRefName, Ρ‚ΠΎ замСняСм Π½Π° ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.\r\n if (itemToReplace.groupcode === RouteLastObjectsRefName) {\r\n inp.ReplaceSelectedItem(itemToReplace.groupcode + ':' + itemToReplace.id, [[UsersRefName + ':' + selItem.id, selItem.name, selItem.name]]);\r\n }\r\n\r\n break;\r\n case UserGroupsRefName:\r\n ExpandUsersGroup(inp, selItem, UserGroupsRefName, UsersRefName, itemToReplace);\r\n break;\r\n case StandardRoutesRefName:\r\n UnbindBeforeUnload();\r\n inp.SetDisabled();\r\n $('#CardContrrolObservers').SetDisabled();\r\n SetStandardRoute(GetParamInURL('id'), selItem.id, null, function (msg) {\r\n // ΠΏΠΎΠΊΠ°ΠΆΠ΅ΠΌ сообщСниС ΠΎΠ± ошибкС\r\n WA.CR.inlineHint.showError(msg, null, INLINE_HINT_PRIORITY.PRIMARY);\r\n // ΠΈ почистим ReferenceSelect.\r\n inp.Clear();\r\n inp.SetEnabled();\r\n $('#CardContrrolObservers').SetEnabled();\r\n });\r\n break;\r\n };\r\n}\r\n\r\nfunction ExpandUsersGroup(inp, item, UserGroupsRefName, UsersRefName, itemToReplace) {\r\n if (item.groupcode == UserGroupsRefName) {\r\n ShowTopSpinner(L(\"GROUP_EXPANDS\"), false, true);\r\n\r\n var replaceGroup = function (NeedProcessSubGroups) {\r\n // ΠŸΠΎΠ»ΡƒΡ‡ΠΈΠΌ всСх ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Π² Π³Ρ€ΡƒΠΏΠΏΠ΅.\r\n CallService(\"/UserList.asmx/GetUsersInGroup\", { GroupID: item.id, NeedProcessSubGroups: NeedProcessSubGroups, RenderItems: false }, function (res) {\r\n if (res.Success) {\r\n var newValues = [];\r\n //Π’Π΅ΠΊΡƒΡ‰Π΅Π΅ ΠΊΠΎΠ»-Π²ΠΎ элСмСнтов поля\r\n var CurrentUsersCount = GetRouteSelectedItemsCount() - 1; // -1 Π±Π΅Π· вставлСнной Π³Ρ€ΡƒΠΏΠΏΡ‹\r\n\r\n if (MAX_ROUTE_PARTICIPANT_COUNT == null || (CurrentUsersCount + res.Result.length) <= MAX_ROUTE_PARTICIPANT_COUNT) {\r\n if (!IsModalShown()) {\r\n WA.CMP.NTF.InlineHint.hideAll();\r\n }\r\n\r\n $.each(res.Result, function () {\r\n newValues.push([UsersRefName + ':' + this.id, ('' + this.text).escapeHtml(), this.text]);\r\n });\r\n\r\n //ΠŸΠ΅Ρ€Π΅ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρƒ.\r\n inp.ReplaceSelectedItem(itemToReplace.groupcode + ':' + itemToReplace.id, newValues);\r\n\r\n if (newValues.length > 0) {\r\n HideTopSpinner(L(\"GROUP_EXPANDED\"), 3000, null, true);\r\n } else {\r\n HideTopSpinner(L(\"EMPTY_GROUP_WASNT_EXPANDED\"), 3000, null, true);\r\n }\r\n } else {\r\n inp.ReplaceSelectedItem(itemToReplace.groupcode + ':' + itemToReplace.id, []);\r\n ShowWarningForTaskRouteException(L(\"TO_MANY_ITEMS\"));\r\n }\r\n } else {\r\n inp.ReplaceSelectedItem(itemToReplace.groupcode + ':' + itemToReplace.id, []);\r\n ShowWarningForTaskRouteException(res.Error);\r\n };\r\n });\r\n };\r\n\r\n CallService(\"/UserList.asmx/HasGroupUsersAndSubGroups\", { GroupID: item.id }, function (res) {\r\n if (res.Success) {\r\n // Если Π»ΠΈ Π² Π³Ρ€ΡƒΠΏΠΏΠ΅ ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ, ΠΈ Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ?\r\n if (res.Result) {\r\n var isButtonClicked = false;\r\n // Π’Ρ‹Π΄Π°Π΅ΠΌ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Ρ‡Ρ‚ΠΎ Π±ΡƒΠ΄Π΅ΠΌ Π΄ΠΎΠ±Π°Π²Π»ΡΡ‚ΡŒ - ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΉ Π³Ρ€ΡƒΠΏΠΏΡ‹ ΠΈΠ»ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ всСх Π΅Ρ‘ ΠΏΠΎΠ΄Π³Ρ€ΡƒΠΏΠΏ.\r\n var yesBtn = function () {\r\n isButtonClicked = true;\r\n replaceGroup(true);\r\n };\r\n var sett = {\r\n text: format(L('DO_YOU_ALSO_WANT_TO_ADD_USERS_FROM_SUBGROUPS_OF_GROUP'), { 'groupName': item.name }),\r\n close: function () {\r\n if (!isButtonClicked) {\r\n replaceGroup(false);\r\n }\r\n HideTopSpinner('', 3000, null, true);\r\n key.setScope('modalwindow');\r\n }\r\n };\r\n setTimeout(function () {\r\n // ΠžΡ‚ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ горячиС Π³Π»Π°Π²ΠΈΡ‰ΠΈ Π²ΠΎΠΎΠ±Ρ‰Π΅, Ρ‡Ρ‚ΠΎ Π±Ρ‹ Enter Π½Π° ΠΊΠ½ΠΎΠΏΠΊΠ΅ ОК Π² ΠΎΠΊΠ½Π΅ ошибки сработал Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ. Для этого ΠΆΠ΅ ΠΈ setTimeout\r\n key.setScope('');\r\n ConfirmDialogNew(sett, yesBtn, function () { });\r\n }, 100);\r\n } else {\r\n // ДобавляСм всСх ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ всСх ΠΏΠΎΠ΄Π³Ρ€ΡƒΠΏΠΏ.\r\n replaceGroup(true);\r\n };\r\n };\r\n });\r\n }\r\n}\r\n\r\nfunction InitTaskRouteModalWindowsOpts(inp, UsersRefName, UserGroupsRefName, StandardRoutesRefName, customPlaceHolder, RouteLastObjectsRefName) {\r\n return {\r\n excludeGroups: [StandardRoutesRefName, RouteLastObjectsRefName],\r\n treeMode: true,\r\n customPlaceholder: customPlaceHolder,\r\n events: {\r\n 'OnAfterOpen': function () {\r\n var inpId = inp.attr('id');\r\n if (inpId == 'CardContrrolRoute') {\r\n BindHelpIcoClickOnModalWindow('RouteSetup');\r\n } else {\r\n BindHelpIcoClickOnModalWindow('ObserversSetup');\r\n };\r\n },\r\n 'OnSelectedItem': function (eventName, item) {\r\n TaskRouteChanged(inp, [item], UsersRefName, UserGroupsRefName, StandardRoutesRefName, RouteLastObjectsRefName, true);\r\n }\r\n }\r\n };\r\n}\r\n\r\nfunction ShowRouteModalWindowAfterLoad() {\r\n $(function () {\r\n setTimeout(function () {\r\n $(\"#CardContrrolRoute\").ShowMultiSelectModalWindow();\r\n }, 100);\r\n });\r\n};\r\n\r\n// ΠΠ°Π²Π΅ΡˆΠΈΠ²Π°Ρ‚ ΠΊΠ½ΠΎΠΏΠΊΡƒ удалСния послСдних ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ².\r\nfunction BindRemoveLastObjectBtn(RouteLastObjectsRefName, jControl) {\r\n var touchDev = $.ipad || WA.ENV.isAndroid();\r\n\r\n jControl.on('OnRowsCreated', function (ev, refCode, rows) {\r\n if (refCode && refCode.toLowerCase() === RouteLastObjectsRefName.toLowerCase()) {\r\n $.each(rows, function () {\r\n var row = $(this);\r\n if (!row.hasClass('removeLastObjBtnInit')) {\r\n var rowIco = row.find('.rs_ico');\r\n // ΠŸΡ€ΠΎΠΏΡƒΡΠΊΠ°Π΅ΠΌ Π˜Π·Π±Ρ€Π°Π½Π½Ρ‹Ρ…, ΠΈΡ… нСльзя ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ.\r\n if (!rowIco.hasClass('FavoriteUser_16.png') && !rowIco.hasClass('FavoriteUserGroup_16.png')) {\r\n var delBtn = $('

    ' +\r\n '' +\r\n '

    ');\r\n delBtn.on('click', function (ev) {\r\n ev.stopPropagation();\r\n ev.preventDefault();\r\n\r\n //ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ Π½Π°Π±ΠΎΡ€ Π΄Π°Π½Π½Ρ‹Ρ…; Π±Π΅Ρ€Π΅ΠΌ Π˜Π” [0]; для этого справочника Π˜Π” слоТный, поэтому Π±Π΅Ρ€Π΅ΠΌ настоящий Π˜Π” [1]. Π‘Π»ΠΎΠΆΠ½Π½Ρ‹ΠΉ Π˜Π” Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ \"ΠšΠžΠ”Π‘ΠŸΠ _Π˜Π”\"\r\n var id = row.attr('DataRow').split('|')[0].split('_')[1];\r\n WA.SRV.session.removeLastUsedObject(id);\r\n // УдаляСм сразу, Ρ‡Ρ‚ΠΎ Π±Ρ‹ Π½Π΅ ΠΆΠ΄Π°Ρ‚ΡŒ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ запроса ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ сразу ΡƒΠ²ΠΈΠ΄Π΅Π» Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ своСго дСйствия.\r\n row.remove();\r\n\r\n return false;\r\n });\r\n row.find('.rs_td').prepend(delBtn);\r\n\r\n // ΠŸΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅ΠΌ ΠΊΠ½ΠΎΠΏΠΊΡƒ удалСния ΠΏΡ€ΠΈ Π½Π°Π²Π΅Π΄Π΅Π½ΠΈΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… PC.\r\n if (!touchDev) {\r\n row.on('mouseenter.removeLastObj', function () {\r\n $(this).find('.deleteLastObj').removeClass('vishidden');\r\n }).on('mouseleave.removeLastObj', function () {\r\n $(this).find('.deleteLastObj').addClass('vishidden');\r\n });\r\n };\r\n };\r\n\r\n row.addClass('removeLastObjBtnInit');\r\n };\r\n });\r\n }\r\n });\r\n}\r\n\r\n\r\n\r\n(function (global) {\r\n\r\n const getSuitableCertificates = function () {\r\n return WA.SRV.request('/Certificates.asmx/GetSuitableCertificate', {}, {\r\n hideSpinner: true,\r\n hideError: true\r\n });\r\n };\r\n\r\n // ΠžΡ‚ΠΏΡ€Π°Π²Π»ΡΠ΅Ρ‚ запрос ΠΊ Π°Π³Π΅Π½Ρ‚Ρƒ для подписания.\r\n let signingCustomWorkIds = [];\r\n const _sendSignDataToAgent = (type, id, pluginName, pluginVersion, certId, afterSignCallback, tokenPinCode) => {\r\n if (type === 'T') {\r\n WebAccess.agent.edms.signTask(\r\n id,\r\n certId,\r\n pluginName,\r\n null,\r\n null,\r\n null,\r\n null,\r\n afterSignCallback,\r\n pluginVersion,\r\n tokenPinCode);\r\n }\r\n if (type === 'J') {\r\n WebAccess.agent.edms.signJob(\r\n id,\r\n certId,\r\n pluginName,\r\n null,\r\n null,\r\n null,\r\n null,\r\n afterSignCallback,\r\n pluginVersion,\r\n tokenPinCode);\r\n }\r\n };\r\n\r\n const getErrorWithCustomWorkName = function (error, name, type, id) {\r\n if (!error) {\r\n //Бюда ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΉΡ‚ΠΈ Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ссли Π²Ρ‹Π½ΡƒΠ»ΠΈ Ρ‚ΠΎΠΊΠ΅Π½ ΠΏΡ€ΠΈ подписании ΠΈ Π½Π°ΠΆΠ°Π»ΠΈ ΠžΡ‚ΠΌΠ΅Π½Π° Π² ΠΎΠΊΠ½Π΅ с Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠΌ\r\n error = L('CERTIFICATE_FOR_SIGNING_OBJECT_IS_NOT_SPECIFIED_OR_SPECIFIED_INCORRECTLY');\r\n }\r\n if (name) {\r\n let information = L((type === 'T' ? 'TASK' : 'JOB'));\r\n let objectType = L((type === 'T' ? OBJECT_TYPE.TASK : OBJECT_TYPE.JOB));\r\n let objectLink = (new WA.Link(id, objectType)).toURL().asString();\r\n\r\n return `
  • ${information} \"${name}\": ${error}
  • `;\r\n } else {\r\n return `
  • ${error}
  • `;\r\n }\r\n };\r\n\r\n /**\r\n * ПодписаниС Π—Π—Π£.\r\n *\r\n * @function SignCustomWork\r\n * @param {OBJECT_TYPE} type Π’ΠΈΠΏ.\r\n * @param {number} id Π˜Π” Π—Π—Π£.\r\n * @param {string} name НаимСнованиС.\r\n * @param {boolean} [opt_silent = false] True - подписаниС Π±Π΅Π· ΡƒΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΠΉ.\r\n * @return {Deferred}\r\n * @see https://api.jquery.com/category/deferred-object/\r\n */\r\n const SignCustomWork = function (type, id, name, opt_silent) {\r\n var result = $.Deferred();\r\n\r\n if (name) {\r\n name = ('' + name).escapeHtml();\r\n }\r\n if (WA.agent.checkAvailability()) {\r\n Core.agent.getPlugin('CryptographyPlugin').done(plugin => {\r\n getSuitableCertificates().done((res, resp) => {\r\n const certificate = res;\r\n const certArr = certificate.split('###');\r\n models.User._current.DefaultCertificate = {\r\n PluginName: certArr[0],\r\n CertificateID: certArr[1],\r\n PluginVersion: certArr[2],\r\n IsValid: !resp.Warning,\r\n };\r\n\r\n const cert = models.User._current.DefaultCertificate;\r\n if (!cert.IsValid) {\r\n if (!opt_silent) {\r\n ShowError((resp.Warning || '').fromISBuilderToNormal());\r\n }\r\n result.reject(\r\n getErrorWithCustomWorkName((resp.Warning || '').fromISBuilderToNormal(),\r\n name,\r\n type,\r\n id));\r\n return;\r\n }\r\n\r\n // ПодписаниС Π—Π—Π£.\r\n const onSignCallback = function (res) {\r\n if (res.success) {\r\n const successMessageCode = (type === 'T' ? 'TASK_SIGN_SUCCESS' : 'JOB_SIGN_SUCCESS');\r\n if (!opt_silent) {\r\n ShowTopSpinnerResult(L(successMessageCode), 3000);\r\n }\r\n result.resolve();\r\n } else {\r\n if (!!res.message && (res.result === 'ERR_PIN_REQUIRED')) {\r\n const jTokenPinCode = $(\"#task_token_pin_code\");\r\n // Π’Π°ΠΊ ΠΌΡ‹ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌ, Ρ‡Ρ‚ΠΎ Ρƒ нас происходит массовоС совмСстноС подписаниС Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΈ Π—Π—Π£\r\n const jDocsTokenPinCode = $(\"#modal_window\").find(\".token_pin_code\");\r\n\r\n if (signingCustomWorkIds.indexOf(id) === -1) {\r\n signingCustomWorkIds.push(id);\r\n }\r\n\r\n if (jTokenPinCode.length === 0) {\r\n // ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° массового совмСстном подписании Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² ΠΈ Π—Π—Π£\r\n if (jDocsTokenPinCode.length !== 0) {\r\n if (jDocsTokenPinCode.val() !== '') {\r\n\r\n for (const customworkElement of signingCustomWorkIds) {\r\n _sendSignDataToAgent(\r\n type,\r\n customworkElement,\r\n cert.PluginName,\r\n cert.PluginVersion,\r\n cert.CertificateID,\r\n onSignCallback,\r\n jDocsTokenPinCode.val());\r\n }\r\n }\r\n\r\n return;\r\n }\r\n\r\n const formBuilder = new WA.CMP.forms.FormBuilder('taskjobpincode');\r\n const tokenPinCodeId = 'TASK_TOKEN_PIN_CODE';\r\n formBuilder.addInput(tokenPinCodeId, null, null, 'password');\r\n\r\n const dialog = new WA.CMP.dialogs.BaseDialog();\r\n dialog.title = L(\"PIN_CODE_ASK\");\r\n dialog.setHtml(formBuilder.render());\r\n\r\n dialog.isShowCancelButton = true;\r\n dialog.ok = function () {\r\n const pinCodeValue = formBuilder.getValue(tokenPinCodeId);\r\n dialog.close();\r\n for (const customworkElement of signingCustomWorkIds) {\r\n _sendSignDataToAgent(\r\n type,\r\n customworkElement,\r\n cert.PluginName,\r\n cert.PluginVersion,\r\n cert.CertificateID,\r\n onSignCallback,\r\n pinCodeValue);\r\n }\r\n };\r\n dialog.show();\r\n }\r\n return;\r\n }\r\n\r\n if (!!res && !opt_silent) {\r\n if (res.message) {\r\n ShowError(res.message);\r\n } else {\r\n //Бюда ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΉΡ‚ΠΈ Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ссли Π²Ρ‹Π½ΡƒΠ»ΠΈ Ρ‚ΠΎΠΊΠ΅Π½ ΠΏΡ€ΠΈ подписании ΠΈ Π½Π°ΠΆΠ°Π»ΠΈ ΠžΡ‚ΠΌΠ΅Π½Π° Π² ΠΎΠΊΠ½Π΅ с Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠΌ\r\n ShowError(L('CERTIFICATE_FOR_SIGNING_OBJECT_IS_NOT_SPECIFIED_OR_SPECIFIED_INCORRECTLY'));\r\n }\r\n }\r\n result.reject(getErrorWithCustomWorkName(res.message.fromISBuilderToNormal(), name, type, id));\r\n //ΠŸΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ запись Π² ΠΏΡ€ΠΎΡ„ΠΈΠ»Π΅\r\n WA.cache.serverCache.setItem('CertificateIDForCustomworkSign', '');\r\n }\r\n };\r\n _sendSignDataToAgent(\r\n type,\r\n id,\r\n cert.PluginName,\r\n cert.PluginVersion,\r\n cert.CertificateID,\r\n onSignCallback,\r\n null);\r\n }).fail(errMsg => {\r\n //ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π΄ΠΈΠ°Π»ΠΎΠ³ Ссли Π½Π΅ ΡƒΠ΄Π°Π»ΠΎΡΡŒ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ подходящий сСртификат\r\n SignEDoc(id, null, true, type);\r\n });\r\n }).fail(needShowError => {\r\n const err = L(\"ERR_SIGNING_UNSUPPORTED\");\r\n if (!opt_silent && needShowError) {\r\n ShowError(err);\r\n }\r\n //ΠŸΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ запись Π² ΠΏΡ€ΠΎΡ„ΠΈΠ»Π΅\r\n WA.cache.serverCache.setItem('CertificateIDForCustomworkSign', '');\r\n result.reject(getErrorWithCustomWorkName(err.fromISBuilderToNormal(), name, type, id));\r\n });\r\n }\r\n return result;\r\n };\r\n\r\n global.SignTask = function (id, name, opt_silent) {\r\n return SignCustomWork('T', id, name, opt_silent);\r\n };\r\n global.SignJob = function (id, name, opt_silent) {\r\n return SignCustomWork('J', id, name, opt_silent);\r\n };\r\n\r\n\r\n var GetEncryptedCustomWorkTree = function (type, id, encodingType, pluginName) {\r\n Core.agent.getPlugin('CryptographyPlugin').done((plugin) => {\r\n //ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ΠΊΠ»ΡŽΡ‡ для Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΠΈ тСкста Π΄Π΅Π»ΠΎΠ²ΠΎΠ³ΠΎ процСсса\r\n var GetDecryptedKey = function (additionalParams) {\r\n ShowTopSpinner(L(\"PLEASE_WAIT\"), true);\r\n\r\n //Π—Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅ΠΌ Ρ‚ΠΎΠΊΠ΅Π½ Π½Π° Ρ€Π°ΡΡˆΠΈΡ„Ρ€ΠΎΠ²ΠΊΡƒ тСкста Π΄Π΅Π»ΠΎΠ²ΠΎΠ³ΠΎ процСсса\r\n RequestToken(TOKEN_OPERATION.GET_ENCRYPTION_KEY, function (token) {\r\n var requestName = (type == 'T' ? \"GetTaskDecryptedKey\" : \"GetJobDecryptedKey\");\r\n\r\n //ЗаполняСм ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ запроса\r\n var params = { \"EncodeType\": encodingType, \"EncryptionPluginName\": pluginName, \"Token\": token };\r\n if (!!additionalParams) $.extend(params, additionalParams);\r\n if (type == 'T') {\r\n params[\"TaskID\"] = id;\r\n } else {\r\n params[\"JobID\"] = id;\r\n }\r\n\r\n WebAccess.agent.transmitRequest(requestName, \"CryptographyPlugin\", params).done((response) => {\r\n //ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ тСкст Π΄Π΅Π»ΠΎΠ²ΠΎΠ³ΠΎ процСсса\r\n if (type == 'T') {\r\n CallService(\"Task.asmx/GetWorkTreeHtml\", { TaskID: id, EncryptionKey: response.result }, function (response) {\r\n if (response.Success) {\r\n if ($('.ListRequisiteList[kind=att]').length > 0) {\r\n $('span.MainText').append(response.Result);\r\n $('.TaskTree').removeClass('TaskTree__hidden');\r\n $('#Attachments_AttachmentsList_list').removeClass('content-list__area_hidden');\r\n } else {\r\n window.location.reload();\r\n }\r\n } else {\r\n $('span.MainText').append(response.Error);\r\n }\r\n });\r\n } else {\r\n CallService(\"Job.asmx/GetWorkTreeHtml\", { JobID: id, EncryptionKey: response.result }, function (response) {\r\n if (response.Success) {\r\n if ($('.ListRequisiteList[kind=att]').length > 0) {\r\n $('span.MainText').append(response.Result);\r\n $('.TaskTree').removeClass('TaskTree__hidden');\r\n $('#Attachments_AttachmentsList_list').removeClass('content-list__area_hidden');\r\n } else {\r\n window.location.reload();\r\n }\r\n } else {\r\n $('span.MainText').append(response.Error);\r\n }\r\n });\r\n }\r\n }).fail(function (response) {\r\n try {\r\n //FIXME: Π½ΡƒΠΆΠ΅Π½ Π»ΠΈ Π΄Π΅ΠΊΠΎΠ΄ΠΈΠ½Π³?\r\n //resultMessage = decodeURIComponent(response.message);\r\n resultMessage = response.message;\r\n } catch (e) {\r\n resultMessage = L('CUSTOMWORK_DECODING_FAILED');\r\n }\r\n ShowError(resultMessage, function () {\r\n if (encodingType % 2 === 1) {\r\n CloseWindow();\r\n } else {\r\n GetEncryptedCustomWorkTree(type, id, encodingType, pluginName);\r\n }\r\n },\r\n 400,\r\n function () {\r\n CloseWindow();\r\n });\r\n }).always(function (response) {\r\n HideTopSpinner(\"\", 1);\r\n });\r\n }, id);\r\n };\r\n\r\n //Если Π² ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ ΠΏΠ°Ρ€ΠΎΠ»ΡŒ, Ρ‚ΠΎ запросим Π΅Π³ΠΎ Ρƒ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.\r\n if (encodingType >= 2) {\r\n return RequestPasswordForDecryption(null,\r\n function (pass) { GetDecryptedKey({ Password: pass }); },\r\n function () {\r\n if (!!!$(\"#docPassword\").data('entered')) {\r\n CloseWindow();\r\n }\r\n }).cancel = function () {\r\n CloseWindow();\r\n };\r\n } else {\r\n GetDecryptedKey(null);\r\n }\r\n });\r\n };\r\n\r\n global.GetEncryptedTaskTree = function (id, encoding, pluginName) {\r\n return GetEncryptedCustomWorkTree('T', id, !!encoding ? encoding : WebAccess.current.Encoding, !!pluginName ? pluginName : WebAccess.current.PluginName);\r\n };\r\n\r\n global.GetEncryptedJobTree = function (id, encoding, pluginName) {\r\n return GetEncryptedCustomWorkTree('J', id, !!encoding ? encoding : WebAccess.current.Encoding, !!pluginName ? pluginName : WebAccess.current.PluginName);\r\n };\r\n\r\n})(window);\r\n\r\nfunction ShowEncodedObjectError(error) {\r\n var mbox = new WA.CMP.dialogs.MessageBox();\r\n mbox.width = 470;\r\n mbox.showError(error, null, null, function () { WA.CR.window.close(); });\r\n}\r\n\r\nvar clamp = function (val, min, max) {\r\n return Math.min(Math.max(val, min), max);\r\n};\r\n\r\n// Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΠ·ΠΌΠ΅Π½ΡΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΏΠ°Π½Π΅Π»ΠΈ Π²Π»ΠΎΠΆΠ΅Π½ΠΈΠΉ.\r\nfunction InitAttachmentsResize() {\r\n var minX = 850;\r\n var defaultAttachWidth = 260;\r\n\r\n function setWidth(w) {\r\n w = parseInt(w, 10);\r\n var jMainContainer = $('#main_container');\r\n var attd = jMainContainer.find('.attachments_td');\r\n attd.width(w);\r\n\r\n var jCard = jMainContainer.find(\".card:first\");\r\n jCard.css({ \"marginRight\": w });\r\n var jLeftColumn = $('#left_column');\r\n if (jLeftColumn.hasClass('horizontal')) {\r\n jLeftColumn.css({ \"marginRight\": w });\r\n }\r\n\r\n var lr = ListRequisite(attd.find('.ListRequisite').attr('id'));\r\n if (lr.onUpdate) lr.onUpdate();\r\n\r\n // установка Ρ€Π°Π·ΠΌΠ΅Ρ€ΠΎΠ² Ρ€Π΅Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠΈ\r\n const jCardTabContainer = $('.card-tab-container');\r\n jCardTabContainer.find('.card-tab-container__main').css({ 'maxWidth': `calc(100% - ${w}px)` });\r\n jCardTabContainer.find('.card-tab-container__aside').css({ 'minWidth': w });\r\n $(window).trigger('resize');\r\n }\r\n\r\n var res = $.cookie('attwidth');\r\n if (!!res) {\r\n setWidth(res);\r\n } else {\r\n setWidth(defaultAttachWidth);\r\n }\r\n\r\n $('#attachments_dragarea').mousedown(function (ev) {\r\n ev.preventDefault();\r\n var $this = $(this);\r\n var maxX = $(window).width() - defaultAttachWidth;\r\n $this.addClass('dragging').offset({ left: clamp(ev.pageX, minX, maxX) });\r\n $('html').css('cursor', 'col-resize')\r\n .bind('mousemove.attresize', function (ev) {\r\n ev.preventDefault();\r\n $this.offset({ left: clamp(ev.pageX, minX, maxX) });\r\n })\r\n .bind('mouseup.attresize', function (ev) {\r\n ev.preventDefault();\r\n $('html').css('cursor', '').unbind('mousemove.attresize').unbind('mouseup.attresize');\r\n $this.removeClass('dragging').css('left', '');\r\n var w = $(window).width() - clamp(ev.pageX, minX, maxX) + 10;\r\n setWidth(w);\r\n document.cookie = \"attwidth=\" + w;\r\n });\r\n });\r\n}\r\n\r\nfunction InitSavedTextResize() {\r\n if (![OBJECT_TYPE.TASK, OBJECT_TYPE.JOB].includes(WA.CR.Type)) {\r\n return;\r\n }\r\n // провСряСм, Π΅ΡΡ‚ΡŒ Π»ΠΈ Π²ΠΎΠΎΠ±Ρ‰Π΅ видимая ΠΎΠ±Π»Π°ΡΡ‚ΡŒ пСрСписки\r\n if (!$('.bottom_textarea:visible').innerHeight()) {\r\n return;\r\n }\r\n\r\n let jConversation = $('.task-corresponds');\r\n if (!jConversation.length) {\r\n jConversation = $('.conversation-container__main');\r\n }\r\n let jSavedText = jConversation.find('.card_task_savedtext_container');\r\n if (!jSavedText.length) {\r\n jSavedText = jConversation.find('#ctl00');\r\n }\r\n if (jSavedText.length) {\r\n // Π Π°Π·ΠΌΠ΅Ρ€Ρ‹ элСмСнтов\r\n const dragAreaHeight = 12;\r\n const minTextAreaHeight = 140;\r\n\r\n const taskCorrespondsHeight = jConversation.height();\r\n const jTextArea = jConversation.find('.bottom_textarea');\r\n jSavedText.css({ height: taskCorrespondsHeight - jTextArea.height() - dragAreaHeight });\r\n\r\n if (!$.ipad) {\r\n jSavedText.resizable({\r\n handles: {\r\n s: jSavedText.next()\r\n },\r\n helper: 'ui-resizable-helper',\r\n stop: (event, element) => {\r\n let textAreaHeight = Math.max(taskCorrespondsHeight - element.size.height, minTextAreaHeight);\r\n jTextArea.css({ minHeight: textAreaHeight });\r\n jSavedText.css({ width: 'auto', height: taskCorrespondsHeight - textAreaHeight - dragAreaHeight });\r\n },\r\n });\r\n }\r\n }\r\n}\r\n\r\n// ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π² раскрытом Π²ΠΈΠ΄Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π΅Ρ… ΠΏΠΎΠ΄Π·Π°Π΄Π°Ρ‡, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ относятся ΠΊ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌΡƒ заданию.\r\nfunction ShowOnlyCurrentRelatedTasks() {\r\n var jTreeElements = $('.TaskTree').find('[id*=\"Item_\"]');\r\n // Π‘ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ (схлопываниС) ΠΏΠΎΠ΄Π·Π°Π΄Π°Ρ‡, Π½Π΅ содСрТащих Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ Π·Π°Π΄Π°Π½ΠΈΠ΅.\r\n jTreeElements.each(function () {\r\n if (!$(this).find('.ParentForCurrentItemHeader, .CurrentItemHeader').length) {\r\n var jArrow = $(this).find('.ItemExpandCollapse').get(0);\r\n ChangeItemExpandCollapse(jArrow);\r\n }\r\n });\r\n // РаскрытиС всСх ΠΏΠΎΡ‚ΠΎΠΌΠΊΠΎΠ² Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΡ… элСмСнтов.\r\n var jChildrenOfCurrentElement = $('.CurrentItemHeader').eq(0).parents('div:first').children('div');\r\n var jExpandCollapseArrow = jChildrenOfCurrentElement.find('.ItemExpandCollapse');\r\n jExpandCollapseArrow.each(function () {\r\n if ($(this).hasClass('att_plus.png')) {\r\n ChangeItemExpandCollapse($(this));\r\n }\r\n });\r\n // РаскрытиС всСх Π·Π°Π΄Π°Π½ΠΈΠΉ-ΠΏΠΎΡ‚ΠΎΠΌΠΊΠΎΠ² родитСля Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ элСмСнта.\r\n var jChildrenOfParentForCurrentElement = $('.ParentForCurrentItemHeader').eq(0).parents('div:first').children('div');\r\n jChildrenOfParentForCurrentElement.each(function () {\r\n if ($(this).hasClass('Item_Job')) {\r\n var jExpandCollapseArrow = $(this).find('.ItemExpandCollapse');\r\n jExpandCollapseArrow.each(function () {\r\n if ($(this).hasClass('att_plus.png')) {\r\n ChangeItemExpandCollapse($(this));\r\n }\r\n });\r\n }\r\n });\r\n}\r\n\r\n// ΠŸΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠ° Π΄ΠΎ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ задания.\r\nfunction ScrollTreeToCurrentJob() {\r\n const jRightColumn = $('#right_column');\r\n\r\n // НайдСм ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€ пСрСписки\r\n let jSavedText = jRightColumn.find('.card_task_savedtext_container');\r\n\r\n // ToDo: Π² заданиях кривая Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠ°, поэтому Π±ΡƒΠ΄Π΅ΠΌ ΠΈΡΠΊΠ°Ρ‚ΡŒ Π΄Ρ€ΡƒΠ³ΠΎΠΉ элСмСнт.\r\n if (!jSavedText.length) {\r\n jSavedText = $('#ctl00');\r\n }\r\n\r\n if (jSavedText.length) {\r\n jSavedText.scrollTop(0);\r\n\r\n // НайдСм Ρ‚Π΅ΠΊΡƒΡ‰ΡƒΡŽ Π—Π—Π£\r\n const jCurrentCustomWork = jSavedText.find('.CurrentItemHeader,.CurrentItemMark:last').closest('table');\r\n\r\n if (jCurrentCustomWork.length) {\r\n\r\n // ΠŸΠΎΠ»ΡƒΡ‡ΠΈΠΌ расстояниС Π΄ΠΎ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° пСрСписки\r\n const savedTextTop = jSavedText.offset().top;\r\n\r\n // ΠŸΠΎΠ»ΡƒΡ‡ΠΈΠΌ расстояниС Π΄ΠΎ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π—Π—Π£\r\n const currentCustomWorkTop = jCurrentCustomWork.offset().top;\r\n\r\n // ΠŸΡ€ΠΎΡΠΊΡ€ΠΎΠ»ΠΈΠΌ Π΄ΠΎ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Π—Π—Π£\r\n jSavedText.scrollTop(currentCustomWorkTop - savedTextTop);\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * Π”ΠΈΠ°Π»ΠΎΠ³ установки ΠΏΡ€Π°Π² Π½Π° влоТСния.\r\n * @function ShowTaskAttachmentsAssignRightDlg\r\n * @param {string} taskID ΠΈΠ΄ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°\r\n * @param {string} userRights ΠΏΡ€Π°Π²Π° Π½Π° влоТСния\r\n * @param {string} message сообщСниС\r\n * @param {string} isTask ΠΏΡ€ΠΈΠ·Π½Π°ΠΊ являСтся Π»ΠΈ Π·Π°Π΄Π°Ρ‡Π΅ΠΉ\r\n * @param {string} postbackAction дСйствиС postback\r\n * @param {string} resVar Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния задания\r\n */\r\nfunction ShowTaskAttachmentsAssignRightDlg(taskID, userRights, message, isTask, postbackAction, resVar) {\r\n //var title = 'What attachments rights assign to task participants?'\r\n //var msg = 'Some of the task participants do not have minimal necessary attachments rights (to view). Press View, Modify or Full to assign corresponding rights, Ignore if you don\\'t want to change any rights and Cancel to abort task start.'\r\n function ProceedTaskStarting(attachmentsRights) {\r\n UnbindBeforeUnload();\r\n if (isTask) {\r\n CallService(\"/Task.asmx/SetAttachmentsRights\", { TaskID: taskID, Rights: attachmentsRights }, function (res) {\r\n if (res.Success) {\r\n DoAction('__POSTBACK_ACTION=StartTask&IgnoreAttachmentsRights=true', true);\r\n } else {\r\n ShowTaskAttachmentsAssignRightDlg(taskID, res.Result, res.Error, isTask);\r\n };\r\n });\r\n } else {\r\n CallService(\"/Job.asmx/SetAttachmentsRights\", { JobID: taskID, Rights: attachmentsRights }, function (res) {\r\n if (res.Success) {\r\n DoActionForJob(postbackAction, resVar);\r\n } else {\r\n ShowTaskAttachmentsAssignRightDlg(taskID, res.Result, res.Error, isTask);\r\n };\r\n });\r\n }\r\n }\r\n\r\n if (userRights == \"Empty\") {\r\n if (isTask) {\r\n DoAction('__POSTBACK_ACTION=StartTask&IgnoreAttachmentsRights=true', true);\r\n } else {\r\n DoActionForJob(postbackAction, resVar);\r\n }\r\n return;\r\n }\r\n\r\n var mbox = new WA.CMP.dialogs.MessageBox();\r\n if (userRights == \"Full\") {\r\n mbox\r\n .addButton('view_right_btn', L('VIEWING'), function () { ProceedTaskStarting(ACCESS_RIGHTS.VIEW); })\r\n .addButton('modify_right_btn', L('MODIFY'), function () { ProceedTaskStarting(ACCESS_RIGHTS.CHANGE); })\r\n .addButton('full_right_btn', L('FULL'), function () { ProceedTaskStarting(ACCESS_RIGHTS.FULL); })\r\n .addButton('max_right_btn', L('MAXIMALLY_POSSIBLE_RIGHTS'), function () {\r\n if (isTask) {\r\n WA.services.call(\"/Task.asmx/SetMaximallyPossibleRightsOnAttachments\", { TaskID: taskID }).success(function () {\r\n DoAction('__POSTBACK_ACTION=StartTask&IgnoreAttachmentsRights=true', true);\r\n });\r\n } else {\r\n WA.services.call(\"/Job.asmx/SetMaximallyPossibleRightsOnAttachments\", { JobID: taskID }).success(function () {\r\n DoActionForJob(postbackAction, resVar);\r\n });\r\n }\r\n })\r\n .addButton('ignore_button', L('IGNORE'), function () { ProceedTaskStarting(ACCESS_RIGHTS.EMPTY); })\r\n ._setDefaultButton('view_right_btn');\r\n }\r\n if (userRights == \"View\") {\r\n mbox\r\n .addButton('view_right_btn', L('VIEWING'), function () { ProceedTaskStarting(ACCESS_RIGHTS.VIEW); })\r\n .addButton('ignore_button', L('IGNORE'), function () { ProceedTaskStarting(ACCESS_RIGHTS.EMPTY); })\r\n ._setDefaultButton('view_right_btn');\r\n }\r\n if (userRights == \"Change\") {\r\n mbox\r\n .addButton('view_right_btn', L('VIEWING'), function () { ProceedTaskStarting(ACCESS_RIGHTS.VIEW); })\r\n .addButton('modify_right_btn', L('MODIFY'), function () { ProceedTaskStarting(ACCESS_RIGHTS.CHANGE); })\r\n .addButton('max_right_btn', L('MAXIMALLY_POSSIBLE_RIGHTS'), function () {\r\n if (isTask) {\r\n WA.services.call(\"/Task.asmx/SetMaximallyPossibleRightsOnAttachments\", { TaskID: taskID }).success(function () {\r\n DoAction('__POSTBACK_ACTION=StartTask&IgnoreAttachmentsRights=true', true);\r\n });\r\n } else {\r\n WA.services.call(\"/Job.asmx/SetMaximallyPossibleRightsOnAttachments\", { JobID: taskID }).success(function () {\r\n DoActionForJob(postbackAction, resVar);\r\n });\r\n }\r\n })\r\n .addButton('ignore_button', L('IGNORE'), function () { ProceedTaskStarting(ACCESS_RIGHTS.EMPTY); })\r\n ._setDefaultButton('view_right_btn');\r\n }\r\n\r\n if (userRights == \"NoAccess\") {\r\n mbox\r\n .addButton('ignore_button', L('IGNORE'), function () { ProceedTaskStarting(ACCESS_RIGHTS.EMPTY); })\r\n ._setDefaultButton('ignore_button');\r\n }\r\n\r\n mbox.isShowCancelButton = true;\r\n mbox.isShowOkButton = false;\r\n var msg = L('WARN_ASSIGN_TASK_ATTACHMENTS_RIGHTS_DLG_MSG');\r\n\r\n if (typeof message != 'undefined') {\r\n msg = L('WRN_CANNOT_SET_ATTACHMENTS_RIGHTS') + '
    ' + message;\r\n }\r\n\r\n mbox.showQuestion(L('WARN_ASSIGN_TASK_ATTACHMENTS_RIGHTS_DLG_CAPTION'), msg, L('ACCESS_RIGHTS'));\r\n}\r\n\r\n/**\r\n * Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ дСйствиС для Π·Π°Π΄Π°Π½ΠΈΠΉ.\r\n * @function DoActionForJob\r\n * @param {string} postbackAction дСйствиС postback\r\n * @param {string} resVar Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ выполнСния задания\r\n */\r\nfunction DoActionForJob(postbackAction, resVar) {\r\n if (postbackAction) {\r\n //Π’ случаС Ссли ΠΏΠΎ ВМ\r\n if (resVar > -1) {\r\n DoAction(format('__POSTBACK_ACTION={0}&IgnoreAttachmentsRights=true&__RESULT_VAR={1}', postbackAction, resVar), true);\r\n } else {\r\n DoAction(format('__POSTBACK_ACTION={0}&IgnoreAttachmentsRights=true', postbackAction), true);\r\n }\r\n } else {\r\n //Ссли ΠΏΠΎ свободному ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚Ρƒ\r\n DoAction('op=doit&IgnoreAttachmentsRights=true', true);\r\n }\r\n}\r\n\r\n(function (global) {\r\n var encryptTaskWithCert = function (id) {\r\n var encryption = 1;\r\n\r\n var encryptCheckBox = $('#EncryptWithCertCheck');\r\n var rightType = $('input[id*=RightsType][type=text]');\r\n setTimeout(function () {\r\n if (encryption == 1) {\r\n encryptCheckBox.attr('checked', 'chedked').change();\r\n //rightType.data('DropDownListInstance').addDropDownListItem(['M', L('MANUAL'), L('MANUAL'), false]).setValue('M').disable();\r\n } else {\r\n encryptCheckBox.removeAttr('checked').change();\r\n //rightType.data('DropDownListInstance').removeDropDownListItem('M').setPrevValue().enable();\r\n }\r\n }, 100);\r\n $('#TaskEncryptionType').val(encryption);\r\n };\r\n\r\n var setEncryption = function (id, encryption, password, onSuccess, onFail) {\r\n WA.SRV.call('/Task.asmx/SetEncryption', { TaskID: id, Encryption: encryption, Password: password })\r\n .success(function (res) {\r\n HideTopSpinner('task enctypted!');\r\n if (!!onSuccess) onSuccess();\r\n })\r\n .fail(function (error) {\r\n if (!!onFail) onFail(error);\r\n });\r\n };\r\n\r\n global.EncryptTaskWithCert = function (id) {\r\n return encryptTaskWithCert(id);\r\n };\r\n})(window);\r\n\r\nfunction EncryptWithCertCheckbox(el) {\r\n var encryption = $(el).is(':checked') ? 1 : 0;\r\n var rightType = $('input[id*=RightsType][type=text]');\r\n var dropDownList = rightType.data('DropDownListInstance');\r\n if (encryption == 1) {\r\n dropDownList.addDropDownListItem(['M', L('MANUAL'), L('MANUAL'), false]).setValue('M').disable();\r\n if (dropDownList.prevValue != 'M') $.cookie('lastAccessType', dropDownList.prevValue);\r\n } else {\r\n dropDownList.removeDropDownListItem('M');\r\n if (!!$.cookie('lastAccessType')) dropDownList.setValue($.cookie('lastAccessType')).enable();\r\n else dropDownList.setPrevValue().enable();\r\n }\r\n $('#TaskEncryptionType').val(encryption);\r\n}\r\n\r\n$(function () {\r\n WA.ready(function () {\r\n if (WA.getLocation() == 'task') {\r\n var rightType = $('input[id*=RightsType][type=text]');\r\n const dropDownList = rightType.data('DropDownListInstance');\r\n if ($('#TaskEncryptionType').val() == '1') {\r\n if ((rightType.length) && (!!dropDownList)) {\r\n dropDownList.addDropDownListItem(['M', L('MANUAL'), L('MANUAL'), false]).setValue('M').disable();\r\n }\r\n $('#EncryptWithCertCheck').attr('checked', true);\r\n } else {\r\n if (rightType.length && (WA.Task.ID == WA.Task.MainTaskID) && (!!dropDownList)) {\r\n dropDownList.removeDropDownListItem('M').setPrevValue().enable();\r\n }\r\n $('#EncryptWithCertCheck').removeAttr('checked');\r\n }\r\n }\r\n });\r\n});\r\n\r\n/**\r\n * ДобавляСт ссылку Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Π²ΠΎ влоТСния.\r\n * @param {Link} link Бсылка Π½Π° ΠΎΠ±ΡŠΠ΅ΠΊΡ‚.\r\n * @since 5.1.0.1522\r\n */\r\nfunction AddAttachment(link) {\r\n if (!!link) {\r\n var att = ListRequisite('Attachments_AttachmentsList');\r\n var linkModel = link.toLinkModel();\r\n // ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅ΠΌ Ссли ΡƒΠΆΠ΅ такая ссылка.\r\n if (att.CheckObject(linkModel)) {\r\n // Если Π½Π΅Ρ‚, Ρ‚ΠΎ добавляСм.\r\n att.AddObject(linkModel);\r\n att.UpdateList();\r\n }\r\n }\r\n};","/// \r\n/// \r\n\r\nfunction ParseLocalCopyModifyDate(modifyDate) {\r\n var timedateSeparatorIndex = modifyDate.indexOf(\" \");\r\n var timePart = modifyDate.substring(timedateSeparatorIndex + 1);\r\n var datePart = modifyDate.substring(0, timedateSeparatorIndex);\r\n\r\n var monthSeparatorIndex = datePart.indexOf(\"/\");\r\n var daySeparatorIndex = datePart.lastIndexOf(\"/\");\r\n var month = datePart.substring(0, monthSeparatorIndex);\r\n var day = datePart.substring(monthSeparatorIndex+1, daySeparatorIndex);\r\n var year = datePart.substring(daySeparatorIndex+1);\r\n\r\n var hoursSeparatorIndex = timePart.indexOf(\":\");\r\n var minsSeparatorIndex = timePart.lastIndexOf(\":\");\r\n var hours = timePart.substring(0, hoursSeparatorIndex);\r\n var mins = timePart.substring(hoursSeparatorIndex + 1, minsSeparatorIndex);\r\n var secs = timePart.substring(minsSeparatorIndex + 1);\r\n\r\n return new Date(year, month-1, day, hours, mins, secs, 0);\r\n}\r\n\r\n//Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ€Π°Π·ΠΌΠ΅Ρ€ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° Π² Π²ΠΈΠ΄Π΅ строки.\r\nfunction GetDocumentSizeAsString(sizeB) {\r\n var sizeMB = Math.floor(sizeB / (1024 * 1024));\r\n var sizeKB = Math.floor(sizeB / 1024);\r\n if (sizeMB > 0) {\r\n return sizeMB + \" \" + L(\"SIZE_POSTFIX_MBYTES\");\r\n } else if (sizeKB > 0) {\r\n return sizeKB + \" \" + L(\"SIZE_POSTFIX_KBYTES\");\r\n } else {\r\n return sizeB + \" \" + L(\"SIZE_POSTFIX_BYTES\");\r\n }\r\n}\r\n\r\n//ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ модальноС ΠΎΠΊΠ½ΠΎ с Π²Ρ‹Π±ΠΎΡ€ΠΎΠΌ дСйствий ΠΏΡ€ΠΈ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°, Ρƒ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π΅ΡΡ‚ΡŒ локальная копия.\r\nfunction AskForActionOnDocument(Doc, LocalCopies, Lock) {\r\n var hasOnlyOneCopy = LocalCopies.length == 1;\r\n var actions = [L('RECOVER_FROM_LOCAL_COPY'), L('OPEN_DOC_AND_DELETE_LOCAL_COPY'), L('GO_TO_DOCUMENT_RECOVERY')];\r\n var documentVersion = null;\r\n for (var i = 0; i < Doc.Versions.length; ++i) {\r\n if (Doc.Versions[i].Number == LocalCopies[0].Version);\r\n documentVersion = Doc.Versions[i];\r\n }\r\n\r\n var localCopyModifyDate = ParseLocalCopyModifyDate(LocalCopies[0].EditDate);\r\n var documentModifyDate = parseDateTime(documentVersion.LastModifiedText);\r\n var message = format(hasOnlyOneCopy ? (L(\"DOCUMENT_HAS_LOCAL_COPY\").replaceAll(\"\\\\\\\\n\", \"
    \")) : L(\"DOCUMENT_HAS_MULTIPLE_LOCAL_COPIES\"), {\r\n 0: Doc.ClientName,\r\n 1: formatDateTime(documentModifyDate),\r\n 2: formatDateTime(localCopyModifyDate),\r\n 3: GetDocumentSizeAsString(documentVersion.Size),\r\n 4: GetDocumentSizeAsString(LocalCopies[0].Size)\r\n });\r\n var html = '
    ';\r\n html += '
    ';\r\n html += '
    ' + L('LOCAL_COPY_OPTIONS') + '
    ';\r\n html += '
    ';\r\n for (var i = 0; i < actions.length; i++) {\r\n var needCheck = (i == 0 && hasOnlyOneCopy) || (i == 2 && !hasOnlyOneCopy);\r\n html += '
    '\r\n + ''\r\n + '
    ';\r\n }\r\n html += '
    ';\r\n\r\n LocalCopyRecommendedAction[(LocalCopies[0].ID + 'v' + LocalCopies[0].Version)] = localCopyModifyDate > documentModifyDate ? \"RECOVER\" : \"DELETE\";\r\n\r\n var mbox = new WA.CMP.dialogs.MessageBox();\r\n mbox.width = 600;\r\n mbox.okCancelButtons(function () {\r\n var opcode = $('#actionOptions').find('input:checked').attr('opcode');\r\n switch (opcode) {\r\n case \"0\": ReturnLocalCopy(Doc.ID, LocalCopies[0].Version, Doc.Encoding, Doc.PluginName, GetFileNameFromDoc(Doc, LocalCopies[0].Version), LocalCopies[0].EditDate); break;\r\n case \"1\":\r\n DeleteLocalCopy(Doc.ID, LocalCopies[0].Version, function () {\r\n OpenWithAgent({ id: Doc.ID }, Lock);\r\n });\r\n break;\r\n case \"2\": WebAccess.agent.edms.checkDocumentLocalCopies(); break;\r\n }\r\n }, null);\r\n mbox.showWarning(message, html);\r\n BindHelpIcoClickOnModalWindow('RestoreDocuments', $('#dialog_content_' + mbox.id).parents('.ui-dialog'));\r\n}\r\n\r\nfunction GetFileNameFromDoc(Doc, Version) {\r\n var ext = Doc.Editor.Extension; ;\r\n if (!!Version) {\r\n var verIndex = -1;\r\n for (var i = 0; i < Doc.Versions.length; i++) {\r\n if (Doc.Versions[i].Number == Version) { verIndex = i; break; }\r\n }\r\n ext = Doc.Versions[verIndex].Editor.Extension;\r\n }\r\n return Doc.ClientName + '.' + ext.toLowerCase();\r\n}\r\n\r\nfunction ExportCert(el) {\r\n var jEl = $(el);\r\n var certid = jEl.attr('data-certid');\r\n var docId = WA.current.ID;\r\n var verNum = jEl.attr('data-vernum');\r\n if (certid === \"\") {\r\n ShowError(format(L(\"ERR_INVALID_SIGN\"), verNum, WA.current.ClientName));\r\n } else {\r\n window.location.href = \"DynControl.ashx?c=export_certificate&certid=\" + certid + \"&docid=\" + docId + \"&verNum=\" + verNum;\r\n }\r\n}\r\n","(function (global) {\r\n\r\n // РСгистрируСт событиС Π½Π° смСну значСния Ρ‚ΠΈΠΏΠ° ΠΏΠ°ΠΏΠΊΠΈ для мобильной вСрсии.\r\n function registerDisableShowUnreadControlForMobile(kindsToDisable, noKey) {\r\n $(function () {\r\n $('select[id$=\"Kind\"]').change(function () {\r\n disableShowUnreadControl($(this).val(), kindsToDisable, noKey);\r\n });\r\n });\r\n }\r\n\r\n // Π”Π΅Π»Π°Π΅Ρ‚ Π½Π΅Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ ΠΏΠΎΠ»Π΅ \"ΠŸΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ число Π½Π΅ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π½Π½Ρ‹Ρ… Π·Π°Π΄Π°Π½ΠΈΠΉ\", Ссли Π²Ρ‹Π±Ρ€Π°Π½ΠΎ Π½Π΅ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½Π½ΠΎΠ΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅.\r\n function disableShowUnreadControl(selectedKey, kindsToDisable, noKey) {\r\n var jShowUnreadControl = getShowUnreadControl();\r\n var showUnreadPick = jShowUnreadControl.data('DropDownListInstance');\r\n if ($.inArray(selectedKey, kindsToDisable) === -1) {\r\n if (showUnreadPick) {\r\n // Для ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΉ вСрсии.\r\n showUnreadPick.disable();\r\n showUnreadPick.setValue(noKey);\r\n } else {\r\n // Для мобильной вСрсии.\r\n getShowUnreadControl().val(noKey).attr('disabled', true).addClass('Req_Disabled');\r\n }\r\n } else {\r\n if (showUnreadPick) {\r\n // Для ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠΉ вСрсии.\r\n showUnreadPick.enable();\r\n } else {\r\n // Для мобильной вСрсии.\r\n getShowUnreadControl().attr('disabled', false).removeClass('Req_Disabled');\r\n }\r\n }\r\n }\r\n\r\n // ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ» \"ΠŸΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ число Π½Π΅ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π½Π½Ρ‹Ρ… Π·Π°Π΄Π°Π½ΠΈΠΉ\".\r\n function getShowUnreadControl() {\r\n var r = $('.ShowUnreadContainer').find('input.pickField');\r\n if (r.length === 0) {\r\n // Для мобильной вСрсии.\r\n r = $('select[id$=\"ShowUnread\"]');\r\n }\r\n return r;\r\n }\r\n\r\n /**\r\n * Π£ΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π΄ΠΎΡΡ‚ΡƒΠΏΠ½ΠΎΡΡ‚ΡŒ ΠΊΠ½ΠΎΠΏΠΎΠΊ Π½Π° Π»Π΅Π½Ρ‚Π΅ ΠΏΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Ρ„ΠΎΡ€ΠΌΡ‹ ΠΏΠ°ΠΏΠΊΠΈ.\r\n * @since 5.5.2201\r\n */\r\n global.bindButtonsEnablingOnFormChange = () => {\r\n const buttonNames = [ 'Save', 'SaveAndClose' ];\r\n const jMainContainerInputs = $('#main_container').find('input, textarea, select');\r\n const initialSerializedValues = jMainContainerInputs.serialize();\r\n switch (WA.CR.sideBar.tabs.current.name) {\r\n case 'Card':\r\n jMainContainerInputs.bind('change keyup', () => {\r\n if (jMainContainerInputs.serialize() !== initialSerializedValues) {\r\n Core.cards.enableButtonsOnFormChange(buttonNames);\r\n }\r\n });\r\n break;\r\n case 'RightsList':\r\n $('.Rights').on('rightsChange', () => {\r\n Core.cards.enableButtonsOnFormChange(buttonNames);\r\n });\r\n break;\r\n }\r\n };\r\n\r\n // Exports\r\n global.RegisterDisableShowUnreadControlForMobile = registerDisableShowUnreadControlForMobile;\r\n global.DisableShowUnreadControl = disableShowUnreadControl;\r\n\r\n})(window);\r\n","","(function ($) {\r\n function MultiSelectModalWindow(inp, opt) {\r\n this.init(inp, opt);\r\n }\r\n\r\n MultiSelectModalWindow.prototype = {\r\n //Input Π½Π° страницС, Π½Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π°Π²Π΅ΡˆΠΈΠ²Π°Π΅Ρ‚ΡΡ этот ΠΏΠ»Π°Π³ΠΈΠ½.\r\n inp: null,\r\n //Класс ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ \"Π’Ρ‹Π±ΠΎΡ€ ΠΈΠ· справочника\"\r\n rsInstance: null,\r\n\r\n // html Ρ€Π°Π·ΠΌΠ΅Ρ‚ΠΊΠ° для добавлСния Π² модальноС ΠΎΠΊΠ½ΠΎ\r\n html: null,\r\n // ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ со списком записСй ΠΈ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΌΠΈ записями\r\n dataObject: null,\r\n // Π½ΡƒΠΆΠ½Π° Π»ΠΈ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠ° с Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ Π³Ρ€ΡƒΠΏΠΏΡ‹, ΠΊ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΏΡ€ΠΈΠ½Π°Π΄Π»Π΅ΠΆΠΈΡ‚ запись\r\n withGroupColumn: null,\r\n // jquery ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ с Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΌΠΈ записями\r\n selectedRecordsTable: null,\r\n // jquery ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ списка записСй\r\n recordsList: null,\r\n // Input Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°.\r\n filterInput: null,\r\n // Π‘ΠΏΠΈΠ½Π½Π΅Ρ€ Π² строкС Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°.\r\n filterSpinner: null,\r\n // Π‘ΠΎΠΎΠ±Ρ‰Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄ Π΄Π΅Ρ€Π΅Π²ΠΎΠΌ.\r\n groupsListMessageBox: null,\r\n\r\n //REVIEW ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ\r\n navigationKeyCodes: [27, 9, 13, 37, 38, 39, 40],\r\n // ΠŸΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰Π΅Π΅ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°.\r\n lastFilterValue: \"\",\r\n\r\n\r\n /* ΠŸΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΠ΅ΠΌΡ‹Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹ */\r\n defaultRecordIconClass: \"user-tree__icon_default\",\r\n defaultMarkedRecordIconClass: \"user-tree__icon_selected-default\",\r\n // Π“Ρ€ΡƒΠΏΠΏΡ‹, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π΅ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡΡƒΡ‰Π΅ΡΡ‚Π²Π»ΡΡ‚ΡŒΡΡ поиск.\r\n excludeGroups: [],\r\n customPlaceholder: null,\r\n // Π”Π΅Ρ€Π΅Π²ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ.\r\n treeMode: false,\r\n treeUrl: \"/UserList.asmx/GetUsers?isrightslist=false\",\r\n treeModeRecordIconClass: \"user-tree__icon_user\",\r\n treeModeGroupIconClass: \"user-tree__icon_group\",\r\n treeModeMarkedRecordIconClass: \"user-tree__icon_selected-user\",\r\n treeModeMarkedGroupIconClass: \"user-tree__icon_selected-group\",\r\n favoriteUserIconClass: \"user-tree__icon_fav-user\",\r\n favoriteUserGroupIconClass: \"user-tree__icon_fav-group\",\r\n recordsListContextMenu: null,\r\n // Π½ΡƒΠΆΠ½ΠΎ Π»ΠΈ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΎΠΊΠ½ΠΎ ΠΏΠΎ Π½Π°ΠΆΠ°Ρ‚ΠΈΡŽ Π½Π° [...]\r\n bindWindowOnInput: true,\r\n\r\n\r\n // Бписок Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‰ΠΈΡ…ΡΡ запросов, Ρ‡Ρ‚ΠΎ Π±Ρ‹Π»Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡ… досрочно ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ.\r\n _lastRequests: [],\r\n // Для нСбольшой Π·Π°Π΄Π΅Ρ€ΠΆΠΊΠΈ ΠΏΡ€ΠΈ Π²Π²ΠΎΠ΄Π΅ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°, Ρ‡Ρ‚ΠΎ Π±Ρ‹ Π½Π΅ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ слишком ΠΌΠ½ΠΎΠ³ΠΎ запросов.\r\n _filterTimeout: null,\r\n // ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½Ρ‹ Π½Π΅ всС записи?.\r\n _isNotAllRecordsShown: false,\r\n\r\n\r\n //Бписок Π½Π°Π²Π΅ΡˆΠ΅Π½Π½Ρ‹Ρ… событий.\r\n events: null,\r\n // ΠŸΡ€ΠΈΠ²ΡΠ·ΠΊΠ° ΠΊ событиям\r\n bind: function (name, func) {\r\n var me = this;\r\n if (me.events != null) {\r\n me.events[name] = func;\r\n }\r\n },\r\n // Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ событий\r\n fire: function (name) {\r\n var me = this;\r\n if (me.events != null && typeof me.events[name] !== 'undefined') {\r\n var r = me.events[name].apply(me, arguments);\r\n return (typeof r === 'undefined' || r);\r\n }\r\n },\r\n\r\n\r\n // Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.\r\n init: function (inp, opt) {\r\n var me = this;\r\n\r\n me.events = {};\r\n //По-ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ ΠΎΠΊΠ½ΠΎ ΠΏΠΎ Π½Π°ΠΆΠ°Ρ‚ΠΈΡŽ Π½Π° [...]\r\n me.bindWindowOnInput = true;\r\n //Π’Π½Π°Ρ‡Π°Π»Π΅ Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ сообщСниС Ρ‡Ρ‚ΠΎ ΠΏΠΎΠΊΠ°Π·Ρ‹ Π½Π΅ всС записи.\r\n me._isNotAllRecordsShown = false;\r\n\r\n // ΠŸΠ΅Ρ€Π΅ΠΎΠ·Π½Π°Ρ‡ΠΈΠ²Π°Π΅ΠΌ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€Ρ‹.\r\n if (opt) { $.extend(me, opt); };\r\n\r\n // Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ с Π΄Π°Π½Π½Ρ‹ΠΌΠΈ.\r\n me.dataObject = {\r\n groups: {},\r\n selectedItems: [],\r\n };\r\n\r\n if (inp) {\r\n me.inp = inp;\r\n me.rsInstance = inp.data('ReferenceSelectInstance');\r\n if (!!me.rsInstance) {\r\n me.bindThis();\r\n }\r\n }\r\n },\r\n\r\n // ΠΠ°Π²Π΅ΡˆΠΈΠ²Π°Π΅Ρ‚ события Π½Π° ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΈΠ΅ модального ΠΎΠΊΠ½Π°.\r\n bindThis: function () {\r\n var me = this, rs = me.rsInstance;\r\n\r\n // ΠŸΠ΅Ρ€Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π·Π°ΠΌΠ΅Π½Ρ‹ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ элСмСнта Π½Π° Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ Π΄Ρ€ΡƒΠ³ΠΎΠ΅.\r\n me.inp.off('ReplaceSelectedItem').on('ReplaceSelectedItem.MultiSelectModalWindow', function (e, oldID, newValues) {\r\n if (me.isModalShown()) {\r\n var convNewValues = [];\r\n for (var i = 0, len = newValues.length; i < len; i++) {\r\n convNewValues.push(me.convertRefSelectItemToThis(newValues[i]));\r\n };\r\n me.replaceSelectedItem(me.convertRefSelectItemIdToThisId(oldID), convNewValues);\r\n } else {\r\n rs.replaceSelectedItem(oldID, newValues);\r\n };\r\n });\r\n\r\n try {\r\n if (me.bindWindowOnInput) {\r\n rs.img.addClass('MultiselectModalWindowIco').off('click touchstart').on('click.MultiSelectModalWindow touchstart.MultiSelectModalWindow', function () {\r\n me.show();\r\n });\r\n }\r\n else {\r\n rs.img.removeClass('MultiselectModalWindowIco');\r\n }\r\n } catch (e) {\r\n // ВсякоС Π±Ρ‹Π²Π°Π΅Ρ‚.\r\n }\r\n },\r\n\r\n // ΠšΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ Π˜Π” Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ элСмСнта ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ³ΠΎ Π²Ρ‹Π±ΠΎΡ€Π° ΠΈΠ· справочника Π² Π˜Π” Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ элСмСнта модального Π΄ΠΈΠ°Π»ΠΎΠ³Π°.\r\n convertRefSelectItemIdToThisId: function (itemId) {\r\n var me = this, rs = me.rsInstance;\r\n\r\n var groupcode,\r\n id = itemId,\r\n idParts = id.split(':');\r\n\r\n if (idParts.length == 2) {\r\n groupcode = idParts[0];\r\n id = idParts[1];\r\n } else {\r\n groupcode = rs.getFirstRefCode();\r\n };\r\n\r\n return {\r\n id: id,\r\n groupcode: groupcode\r\n };\r\n },\r\n\r\n // ΠšΠΎΠ½Π²Π΅Ρ€Ρ‚ΠΈΡ€ΡƒΠ΅Ρ‚ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ элСмСнт ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ³ΠΎ Π²Ρ‹Π±ΠΎΡ€Π° ΠΈΠ· справочника Π² Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ элСмСнт модального Π΄ΠΈΠ°Π»ΠΎΠ³Π°.\r\n convertRefSelectItemToThis: function (item) {\r\n var res = this.convertRefSelectItemIdToThisId(item[0]);\r\n res['name'] = (res.id > 0 ? item[2] : item[1]);\r\n return res;\r\n },\r\n\r\n // ΠžΡ‚ΠΊΡ€Ρ‹Ρ‚ΠΎ Π»ΠΈ модальноС ΠΎΠΊΠ½ΠΎ.\r\n isModalShown: function () {\r\n return this.recordsList != null && this.recordsList.is(':visible');\r\n },\r\n\r\n // ΠŸΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ записСй всСх справочников.\r\n getData: function (q, OnSuccess, OnError) {\r\n var me = this;\r\n var rs = me.rsInstance;\r\n // ΠŸΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ спиннСр вмСсто ΠΈΠΊΠΎΠ½ΠΊΠΈ с трСмя Ρ‚ΠΎΡ‡ΠΊΠ°ΠΌΠΈ.\r\n me.showSpinner();\r\n\r\n // Π—Π°ΠΏΠΎΠΌΠΈΠ½Π°Π΅ΠΌ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ сдСлали запрос.\r\n me.lastFilterValue = q;\r\n\r\n if (me.treeMode) {\r\n me.requestTree('', q);\r\n }\r\n else {\r\n me.sendRequests(q).done(function () {\r\n me.hideSpinner();\r\n if (OnSuccess) OnSuccess();\r\n }).fail(function () {\r\n // Π‘ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ спиннСр вмСсто ΠΈΠΊΠΎΠ½ΠΊΠΈ с трСмя Ρ‚ΠΎΡ‡ΠΊΠ°ΠΌΠΈ.\r\n rs.hideSpinner();\r\n if (OnError) OnError();\r\n });\r\n }\r\n },\r\n // ΠžΡ‚ΠΏΡ€Π°Π²Π»ΡΠ΅Ρ‚ запросы Π½Π° сСрвСр для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ справочника.\r\n sendRequests: function (q) {\r\n var me = this, rs = me.rsInstance;\r\n var requests = [];\r\n\r\n // ΠŸΡ€Π΅ΠΊΡ€Π°Ρ‰Π°Π΅ΠΌ всС ΠΏΡ€Π΅Π΄Ρ‹Π΄ΡƒΡ‰ΠΈΠ΅ запросы.\r\n while (me._lastRequests.length > 0) {\r\n me._lastRequests.pop().abort();\r\n }\r\n\r\n // ОбновляСм Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ.\r\n me.fillAvailableGroups();\r\n\r\n // Для пустого запроса Π½Π΅ Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌ всС справочники, Π° ΠΏΠΎΠ΄Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌ ΠΈΡ… Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° стрСлочку. Если 1 справочник, Ρ‚ΠΎ Π·Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌ.\r\n if (!q && Object.keys(me.dataObject.groups).length > 1) {\r\n // Π‘Ρ€Π°Π·Ρƒ ΠΆΠ΅ Π·Π°Π²Π΅Ρ€ΡˆΠ°Π΅ΠΌ запросы, Ρ‚.ΠΊ. ΠΏΠΎΠ΄Π³Ρ€ΡƒΠ·ΠΊΠ° Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ осущСствляСтся послС наТатия Π½Π° стрСлочку.\r\n return $.when();\r\n }\r\n\r\n // ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ записи всСх справочников.\r\n for (var groupcode in me.dataObject.groups) {\r\n if (groupcode !== 'length') { //НуТно Π»ΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π³Ρ€ΡƒΠΏΠΏΡƒ ΠΈΠ· ΠΎΠ±Ρ€Π°Ρ‚ΠΊΠΈ.\r\n requests.push(me.sendRequest(q, groupcode));\r\n };\r\n };\r\n me._lastRequests = $.merge(me._lastRequests, requests);\r\n\r\n // Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌ $.Deferred ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ Ρ‡Ρ‚ΠΎ Π±Ρ‹ Π΄ΠΎΠΆΠ΄Π°Ρ‚ΡŒΡΡ Π·Π°Π²Π΅Ρ€ΡˆΠ΅Π½ΠΈΡ всСх запросов ΠΈ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΡ‚ΠΎΠΌ ΠΎΡ‚ΠΊΡ€Ρ‹Ρ‚ΡŒ модальноС ΠΎΠΊΠ½ΠΎ.\r\n return $.when.apply(this, requests);\r\n },\r\n // ΠžΡ‚ΠΏΡ€Π°Π²Π»ΡΠ΅Ρ‚ запрос Π½Π° сСрвСр для ΠΎΠ΄Π½ΠΎΠ³ΠΎ справочника.\r\n sendRequest: function (q, groupcode, OnSuccess, OnError) {\r\n var me = this, rs = me.rsInstance;\r\n var OnSuccessFunc = function (status, data) {\r\n me.onSuccessGetData(groupcode, status, data);\r\n // ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ загруТСнности записСй Π² Π³Ρ€ΡƒΠΏΠΏΠ΅.\r\n me.dataObject.groups[groupcode].isLoaded = true;\r\n if (OnSuccess) OnSuccess();\r\n };\r\n var OnErrorFunc = function (msg, isHttp) {\r\n me.onErrorGetData(groupcode, msg, isHttp);\r\n // ΠŸΡ€ΠΈΠ·Π½Π°ΠΊ загруТСнности записСй Π² Π³Ρ€ΡƒΠΏΠΏΠ΅.\r\n me.dataObject.groups[groupcode].isLoaded = true;\r\n if (OnError) OnError();\r\n };\r\n var limit = (MULTI_SELECT_RECORD_COUNT === -1 ? 300 : MULTI_SELECT_RECORD_COUNT + 1); // Π—Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌ +1 запись, Ρ‡Ρ‚ΠΎ Π±Ρ‹ ΠΏΠΎΡ‚ΠΎΠΌ Π²Ρ‹Π΄Π°Ρ‚ΡŒ сообщСниС \"ΠŸΠΎΠΊΠ°Π·Π°Π½Ρ‹ Π½Π΅ всС\".\r\n return rs.sendQuery(groupcode, q, 1, limit, OnSuccessFunc, OnErrorFunc);\r\n },\r\n //УспСшноС ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ записСй ΠΎΠ΄Π½ΠΎΠ³ΠΎ справочника.\r\n onSuccessGetData(refcode, status, rows) {\r\n if (rows.length) {\r\n for (let row of rows) {\r\n // Иногда ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΡ€ΠΈΠΉΡ‚ΠΈ Π² Π²ΠΈΠ΄Π΅ ΠŸΠžΠ›_123123\r\n let refCode;\r\n let id = row.id;\r\n if (row.id.includes('_')) {\r\n [refCode, id] = row.id.split('_');\r\n }\r\n\r\n this.dataObject.groups[refcode].items.push({\r\n id,\r\n name: row.encodedTitle,\r\n refCode,\r\n });\r\n\r\n // Если ΡƒΠΆΠ΅ достигли ограничСния, Π° Π΅Ρ‰Π΅ ΠΎΡΡ‚Π°Π»ΠΈΡΡŒ, Ρ‚ΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌ сообщСниС \"ΠŸΠΎΠΊΠ°Π·Π°Π½Ρ‹ Π½Π΅ всС\".\r\n if (Object.keys(this.dataObject.groups[refcode].items).length === MULTI_SELECT_RECORD_COUNT && rows.length >= MULTI_SELECT_RECORD_COUNT) {\r\n this._isNotAllRecordsShown = true;\r\n break;\r\n }\r\n }\r\n }\r\n },\r\n //ΠΠ΅ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎΠ΅ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠ΅ записСй ΠΎΠ΄Π½ΠΎΠ³ΠΎ справочника.\r\n onErrorGetData: function (refcode, msg, isHttp) {\r\n var me = this;\r\n // Если Ρ‚Π°ΠΌ ошибка ΠΈ ΠΎΠ½Π° Π½Π΅ Ρ‚ΠΎΡ‚ Ρ‡Ρ‚ΠΎ записСй Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½ΠΎ, сохраним Π΅Ρ‘ для Π²Ρ‹Π²ΠΎΠ΄Π° Π² шапкС.\r\n if (msg !== L('NO_RECORDS_FOUND')) {\r\n // Π’ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… случаях Π½ΡƒΠΆΠ½ΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ Ρ€Π°Π·Π½Ρ‹Π΅ сообщСния Π² Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ ΠΈ ΠΏΡ€ΠΈ раскрытии.\r\n me.dataObject.groups[refcode].error = msg.split('^')[0];\r\n };\r\n },\r\n\r\n //Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ индСкс Π½Π°ΠΉΠ΄Π΅Π½Π½ΠΎΠ³ΠΎ элСмСнта ΠΏΠΎ Π˜Π”.\r\n findSelectedItemById: function (id) {\r\n var me = this,\r\n selItems = me.dataObject.selectedItems;\r\n for (var i = 0, len = selItems.length; i < len; i++) {\r\n if (selItems[i].id === id) {\r\n return i;\r\n };\r\n };\r\n return -1;\r\n },\r\n\r\n // ΠŸΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ спиннСр.\r\n showSpinner: function () {\r\n var me = this, rs = me.rsInstance;\r\n // ΠŸΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ спиннСр Π² строкС Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°.\r\n if (me.filterSpinner) me.filterSpinner.addClass('processing');\r\n // ΠŸΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ спиннСр вмСсто ΠΈΠΊΠΎΠ½ΠΊΠΈ с трСмя Ρ‚ΠΎΡ‡ΠΊΠ°ΠΌΠΈ.\r\n if (rs) rs.showSpinner();\r\n },\r\n // Π‘ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ спиннСр.\r\n hideSpinner: function () {\r\n var me = this, rs = me.rsInstance;\r\n // Π‘ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ спиннСр Π² строкС Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°.\r\n if (me.filterSpinner) me.filterSpinner.removeClass('processing');\r\n // Π‘ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ спиннСр вмСсто ΠΈΠΊΠΎΠ½ΠΊΠΈ с трСмя Ρ‚ΠΎΡ‡ΠΊΠ°ΠΌΠΈ.\r\n if (rs) rs.hideSpinner();\r\n },\r\n\r\n showModalWindow: function () {\r\n var me = this, rs = me.rsInstance;\r\n\r\n // Ссли Π³Ρ€ΡƒΠΏΠΏΠ° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΎΠ΄Π½Π° Ρ‚ΠΎ Π½Π΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌ Π΅Π΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ Π² спискС ΠΈ Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Π½Π΅Ρ‚ ΠΊΠΎΠ»ΠΎΠ½ΠΊΠΈ с названиями Π³Ρ€ΡƒΠΏΠΏ\r\n me.withGroupColumn = Object.keys(me.dataObject.groups).length > 1;\r\n me.html = me.buildHtml();\r\n if (me.html) {\r\n var dialog = new WA.CMP.dialogs.BaseDialog({\r\n title: (rs ? rs.Label : ''),\r\n html: me.html,\r\n okText: L(\"OK\"),\r\n cancelText: L(\"CANCEL\"),\r\n dialogClass: 'stat_MultiselectModalWindow',\r\n width: 890,\r\n height: 500,\r\n isShowCancelButton: !rs.isReadonly(),\r\n onClose: function () {\r\n if (WA.ENV.isAndroid()) {\r\n rs.inp.removeAttr('disabled');\r\n $('.fakeInput').removeAttr('disabled');\r\n }\r\n me.hideContextMenu();\r\n key.setScope('common');\r\n },\r\n ok: function () {\r\n //OK\r\n me.save();\r\n }, cancel: function () { /* Cancel */ }\r\n });\r\n dialog.show();\r\n\r\n key.setScope('modalwindow');\r\n me._InitInternalObjects();\r\n me.fillItemsList();\r\n me.fillSelectedItemsTable();\r\n me._InitEvents();\r\n me._fixSelectedItemsTableBorder();\r\n me._adjustModalWindowIfSmallScreen();\r\n me._disableRefSelectInputIfAndroid();\r\n\r\n // Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ \"ПослС открытия ΠΎΠΊΠ½Π°\".\r\n me.fire('OnAfterOpen');\r\n }\r\n },\r\n\r\n hideContextMenu: function () {\r\n $('#mainContextMenuContainer').css('visibility', 'hidden');\r\n },\r\n\r\n // ЗаполняСт список доступных Π³Ρ€ΡƒΠΏΠΏ.\r\n fillAvailableGroups: function () {\r\n var me = this, rs = me.rsInstance;\r\n me.dataObject.groups = {};\r\n // ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ записи всСх справочников.\r\n var i = 0;\r\n for (var refcode in rs.refcodes) {\r\n if ($.inArray(refcode, me.excludeGroups) === -1) { //НуТно Π»ΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π³Ρ€ΡƒΠΏΠΏΡƒ ΠΈΠ· ΠΎΠ±Ρ€Π°Ρ‚ΠΊΠΈ.\r\n // Пока записСй Π½Π΅Ρ‚.\r\n me.dataObject.groups[refcode] = {\r\n groupname: me.rsInstance.refcodes[refcode].Caption,\r\n isLoaded: false,\r\n items: []\r\n };\r\n i++;\r\n }\r\n }\r\n },\r\n\r\n show: function () {\r\n var me = this, rs = me.rsInstance;\r\n // ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Π΅ элСмСнты.\r\n me.dataObject.selectedItems = rs.getValues();\r\n // ЗаполняСм список доступных Π³Ρ€ΡƒΠΏΠΏ.\r\n me.fillAvailableGroups();\r\n // ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ Π΄Π΅Ρ€Π΅Π²ΠΎ Π±Π΅Π· Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°.\r\n me.getData('', function () {\r\n me.showModalWindow();\r\n });\r\n },\r\n\r\n // БохраняСт Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Π΅ элСмСнты Π² скрытом ΠΏΠΎΠ»Π΅ Π²Ρ‹Π±ΠΎΡ€Π° ΠΈΠ· справочника.\r\n save: function () {\r\n var me = this, rs = me.rsInstance;\r\n // Π‘ΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ \"Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для чтСния\" Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚.\r\n if (!rs.isReadonly()) {\r\n rs.setValues(me.dataObject.selectedItems, true);\r\n me.inp.trigger('change');\r\n }\r\n },\r\n\r\n /*--------------------------------------------*/\r\n\r\n\r\n /* ΠŸΠΎΡΡ‚Ρ€ΠΎΠ΅Π½ΠΈΠ΅ html ΠΏΠΎ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π½ΠΎΠΌΡƒ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ */\r\n\r\n buildHtml: function () {\r\n var me = this;\r\n var html = me.buildLeftArea();\r\n html += me.buildSelectedRecords();\r\n return html;\r\n },\r\n\r\n buildSelectedRecords: function () {\r\n var html = '
    ' + L('SELECTED_RECORDS') + ':
    ';\r\n html += '
    ';\r\n html += this.buildSelectedItemsTable();\r\n html += '
    ';\r\n return html;\r\n },\r\n\r\n buildSelectedItemsTable: function () {\r\n var me = this, rs = me.rsInstance;\r\n var html = '';\r\n // НС добавляСм ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ для удалСния записи, Ссли Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для чтСния.\r\n if (!rs.isReadonly()) {\r\n html += '';\r\n }\r\n html += '';\r\n if (me.withGroupColumn) {\r\n html += '';\r\n }\r\n html += '
    ' + L('NAME') + '' + L('REFERENCE') + '
    ';\r\n return html;\r\n },\r\n\r\n fillSelectedItemsTable: function () {\r\n var me = this,\r\n html = \"\";\r\n var selItems = me.dataObject.selectedItems;\r\n for (var i = 0, len = selItems.length; i < len; i++) {\r\n html += this.buildSelectedItemsTableRow(selItems[i]);\r\n }\r\n me.selectedRecordsTable.append(html);\r\n },\r\n\r\n //REVIEW НазваниС Π½Π΅ говорящСС.\r\n buildSelectedItemsTableRow: function (selectedItem) {\r\n var me = this, rs = me.rsInstance;\r\n var html = '';\r\n // НС добавляСм ΠΊΠΎΠ»ΠΎΠ½ΠΊΡƒ для удалСния записи, Ссли Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для чтСния.\r\n if (!rs.isReadonly()) {\r\n html += '

    ';\r\n }\r\n // ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ прСдставлСниС справочника\r\n var controlId = me.inp.attr('id');\r\n var requisite = WA.CR.form.getRequisiteByControlId(controlId);\r\n\r\n var viewNameParam = \"\";\r\n if (requisite) {\r\n var referenceViewName = requisite.referenceViewName();\r\n if (referenceViewName) viewNameParam = \"&refview=\" + encodeURI(referenceViewName);\r\n }\r\n\r\n // НуТно Π»ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ подсказку.\r\n const href = `/Reference.aspx?sys=${g_SysCode}&ext=${g_ExtName}&compcode=${encodeURI(selectedItem.groupcode)}${viewNameParam}&id=${selectedItem.id}`;\r\n const link = ``;\r\n var hintData = rs.getHintData(selectedItem.groupcode, selectedItem.id, selectedItem.name);\r\n html += '';\r\n if (me.withGroupColumn) {\r\n html += '
    ' + (me.dataObject.groups[selectedItem.groupcode] ? link + me.dataObject.groups[selectedItem.groupcode].groupname + '' : '') + '
    ';\r\n }\r\n html += '';\r\n return html;\r\n },\r\n\r\n buildLeftArea: function () {\r\n var me = this, rs = me.rsInstance;\r\n var tooltip = this._BuildPlaceholderString();\r\n var html = '
    ';\r\n html += '
    ' + L('ALL_RECORDS') + ':
    ';\r\n\r\n var filterDisabledAttr = !rs.isReadonly() ? '' : 'disabled=\"disabled\" readonly=\"readonly\" ';\r\n //Π¨Π°ΠΌΠΎΠ² А.: Для Сдинообразия ΡƒΠ±Ρ€Π°Π» placeholder, Ρ‡Ρ‚ΠΎ Π±Ρ‹ ΠΊΡ€ΡƒΡ‚Ρ‹Π΅ Π±Ρ€Π°ΡƒΠ·Π΅Ρ€Ρ‹ Π½Π΅ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π»ΠΈ Π΅Π³ΠΎ.\r\n html += '

    ';\r\n\r\n html += '
    ';\r\n html += '
    ';\r\n return html;\r\n },\r\n\r\n fillItemsList() {\r\n let html = '';\r\n\r\n if (this._isNotAllRecordsShown) {\r\n this.showGroupsListMessage(L('NOT_ALL_RECORDS_SHOWN'));\r\n } else {\r\n this.hideGroupsListMessage();\r\n }\r\n\r\n let groupNames = Object.keys(this.dataObject.groups);\r\n if (groupNames.length === 1) {\r\n for (let groupName of groupNames) {\r\n html += this.buildItemsList(groupName, this.dataObject.groups[groupName]);\r\n }\r\n } else if (groupNames.length) {\r\n html += this.buildGroupsList(this.dataObject.groups);\r\n }\r\n\r\n if (html) {\r\n this._updateRecordsList(html);\r\n } else {\r\n this.showInfoInGroupsList(this._isFilterEmpty() ? L('ENTER_FILTER_VALUE') : L('EMPTY_WITH_FILTER'));\r\n }\r\n\r\n this.MarkSelectedRecordsInList();\r\n this.recordsList.scrollTop(0);\r\n },\r\n\r\n buildGroupsList: function (groups) {\r\n var me = this;\r\n var html = \"\";\r\n\r\n for (var groupcode in groups) {\r\n // НС ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌ справочники, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π½Π΅ нашли записСй, Π½ΠΎ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌ Ссли Π±Ρ‹Π»Π° какая-Ρ‚ΠΎ ошибка.\r\n if (groupcode != \"length\" && (!groups[groupcode].isLoaded || groups[groupcode].items.length > 0 || typeof groups[groupcode].error !== 'undefined')) {\r\n html += me.buildSingleGroup(groups[groupcode], groupcode);\r\n }\r\n }\r\n return html;\r\n },\r\n\r\n buildSingleGroup: function (group, key) {\r\n var me = this;\r\n var html = \"\";\r\n html += '
    ' +\r\n '

    ' + group.groupname + '
    ';\r\n html += me.buildItemsList(key, group);\r\n html += '
    ';\r\n return html;\r\n },\r\n\r\n //REVIEW НазваниС Π½Π΅ говорящСС -ΠΊΠ°ΠΊΠΈΠ΅ ItemsList? Π² Π΄Π΅Ρ€Π΅Π²Π΅ ΠΈΠ»ΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π΅?.\r\n buildItemsList: function (groupcode, group) {\r\n var me = this, rs = me.rsInstance;\r\n var items = group.items;\r\n var html = \"\";\r\n\r\n if (items.length == 0 && typeof (group.error) != 'undefined') {\r\n g_group = group;\r\n var record = { id: -1, name: group.error };\r\n var text = record.name;\r\n var item = '
    ' + text + '
    ';\r\n html += item;\r\n return html;\r\n }\r\n\r\n for (var j = 0; j < items.length; j++) {\r\n if (items[j].groupname) {\r\n html += this.buildSingleGroup(items[j], items[j].compcode);\r\n }\r\n else {\r\n var record = items[j];\r\n // Π˜Π” ΠΌΠΎΠ³ΡƒΡ‚ Π±Ρ‹Ρ‚ΡŒ ΠΎΡ‚Ρ€ΠΈΡ†Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ - это ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Π΅ сообшСния для ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ справочника.\r\n if (record.id > 0) {\r\n // НуТно Π»ΠΈ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Ρ‚ΡŒ подсказку.\r\n var recordName = record.name.indexOf('

    -1 ? record.name.substr(record.name.indexOf('

    ') + 4) : record.name;\r\n var hintData = rs.getHintData(groupcode, \"\" + record.id, recordName);\r\n var text = '

    ' + recordName + '
    ';\r\n var item = '
    ' + text +\r\n '

    ' +\r\n '' +\r\n '

    ';\r\n html += item;\r\n } else {\r\n //ΠžΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΠΌ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ΅ сообщСниС.\r\n me.showGroupsListMessage(record.name);\r\n };\r\n };\r\n };\r\n\r\n return html;\r\n },\r\n\r\n //ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ сообщСниС Π² Ρ†Π΅Π½Ρ‚Ρ€Π΅ Π΄Π΅Ρ€Π΅Π²Π° Π³Ρ€ΡƒΠΏΠΏ.\r\n showInfoInGroupsList: function (msg) {\r\n var me = this;\r\n var container = me.recordsList.data('iscroll') ? me.recordsList.find('#records_scroller') : me.recordsList;\r\n container.html('
    ' + msg + '
    ');\r\n },\r\n\r\n requestTree: function (folder, filter) {\r\n var me = this, rs = me.rsInstance;\r\n var folderId = folder === '' ? folder : folder.attr('id');\r\n return CallService(me.treeUrl,\r\n { ObjectID: \"-1\", ObjectType: \"-1\", FolderID: \"\" + folderId, Filtrator: \"\" + filter },\r\n function (res) {\r\n if (res.Success) {\r\n // ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ названия всСх справочников.\r\n for (var refcode in rs.refcodes) {\r\n if ($.inArray(refcode, me.excludeGroups) === -1) { //НуТно Π»ΠΈ ΠΈΡΠΊΠ»ΡŽΡ‡ΠΈΡ‚ΡŒ Π³Ρ€ΡƒΠΏΠΏΡƒ ΠΈΠ· ΠΎΠ±Ρ€Π°Ρ‚ΠΊΠΈ.\r\n me.dataObject.groups[refcode] = {\r\n groupname: me.rsInstance.refcodes[refcode].Caption,\r\n items: []\r\n };\r\n }\r\n }\r\n\r\n //Π”Π°Π½Π½Ρ‹Π΅ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Ρ‹, ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ модальноС ΠΎΠΊΠ½ΠΎ, Ρ‡Ρ‚ΠΎ Π±Ρ‹ создались Π½ΡƒΠΆΠ½Ρ‹Π΅ div\r\n if (!me.isModalShown()) me.showModalWindow();\r\n me.hideSpinner();\r\n //Π‘ΠΊΡ€ΠΎΠ΅ΠΌ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½ΠΎΠ΅ сообщСниС.\r\n me.hideGroupsListMessage();\r\n if (folder.length) {\r\n //ΠŸΠΎΠ΄Π³Ρ€ΡƒΠΏΠΏΠ°.\r\n var html = me.fillTree(res.Result);\r\n //var group = me.recordsList.find('#' + folderID);\r\n folder.find('.waiting').remove(); // ΡƒΠ±ΠΈΡ€Π°Π΅ΠΌ спинСр\r\n me._InitRecordsListEvents(folder.append(html), true);\r\n }\r\n else {\r\n if (res.Result.length > 0) {\r\n me._updateRecordsList(me.fillTree(res.Result));\r\n me._InitRecordsListEvents();\r\n if (res.Result.length == 1 && res.Result[0].id == 0 && res.Result[0].isGroup && res.Result[0].children.length == 0) {\r\n me.showGroupsListMessage(L(\"ADD_USER_TO_FAVORITES_WITH_RIGHT_CLICK\"));\r\n }\r\n } else {//Если Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π° Π½Π΅Ρ‚, Ρ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚ скрыта ΠΎΡ€Π³.структура.\r\n //НСвозмоТно ΠΏΡ€ΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ Π΄Π΅Ρ€Π΅Π²ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ. Π’ΠΎΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ΡΡŒ поиском ΠΏΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈΠ»ΠΈ Π³Ρ€ΡƒΠΏΠΏΡ‹.\r\n me.showInfoInGroupsList(me._isFilterEmpty() ? L(\"RIGHTS_SHOWING_TREE_ERROR\") : L('EMPTY_WITH_FILTER'));\r\n };\r\n };\r\n me.MarkSelectedRecordsInList();\r\n };\r\n },\r\n function () { me.hideSpinner(); });\r\n },\r\n\r\n _updateRecordsList: function (html) {\r\n var me = this;\r\n // ΠžΡΡ‚Π°Π²Π»ΡΠ΅ΠΌ div с сообщСниСм. Ссли Π°ΠΊΡ‚ΠΈΠ²Π΅Π½ сколлинг, Ρ‚ΠΎ ΡƒΠ±ΠΈΡ€Π°Π΅ΠΌ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π° для скрола\r\n var container = me.recordsList.data('iscroll') ? me.recordsList.find('#records_scroller') : me.recordsList;\r\n container.children('div:not(.groupsListMessageBox)').remove();\r\n // ДобавляСм Π² Π½Π°Ρ‡Π°Π»ΠΎ Π½ΠΎΠ²Ρ‹Π΅ Π΄Π°Π½Π½Ρ‹Π΅.\r\n container.prepend(html);\r\n },\r\n\r\n fillTree: function (nodes) {\r\n var html = \"\";\r\n for (var i = 0; i < nodes.length; i++) {\r\n if (nodes[i].id >= 0) {\r\n html += this.buildTreeNodeHTML(nodes[i]);\r\n } else {\r\n this.showGroupsListMessage(nodes[i].text);\r\n }\r\n }\r\n return html;\r\n },\r\n\r\n buildTreeNodeHTML: function (node) {\r\n var html = node.text;\r\n if (node.children.length > 0) {\r\n html = $(html).append(this.fillTree(node.children));\r\n return html[0].outerHTML;\r\n }\r\n return html;\r\n },\r\n\r\n // ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅Ρ‚ сообщСниС ΠΏΠΎΠ΄ Π΄Π΅Ρ€Π΅Π²ΠΎΠΌ.\r\n showGroupsListMessage: function (msg) {\r\n var me = this;\r\n var msgBox = me.recordsList.find('.groupsListMessageBox');\r\n if (msgBox.length == 0) {\r\n msgBox = me.groupsListMessageBox.clone();\r\n me.recordsList.append(msgBox);\r\n };\r\n msgBox.text(msg).show();\r\n },\r\n // Π‘ΠΊΡ€Ρ‹Π²Π°Π΅Ρ‚ сообщСниС ΠΏΠΎΠ΄ Π΄Π΅Ρ€Π΅Π²ΠΎΠΌ.\r\n hideGroupsListMessage: function () {\r\n var me = this;\r\n me.recordsList.find('.groupsListMessageBox').text('').hide();\r\n },\r\n\r\n /* ---------------------------------- */\r\n\r\n /* Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ΠΈ событий */\r\n\r\n _InitInternalObjects: function () {\r\n var me = this;\r\n me.selectedRecordsTable = $('#selectedRecordsScrollArea').children('table');\r\n me.recordsList = $('#recordsList');\r\n me.groupsListMessageBox = $('.groupsListMessageBox', me.recordsList);\r\n me.filterInput = $('#filterInput');\r\n //if ($.ipad && !WA.ENV.isAndroid()) me.filterInput.css('width', '100%');\r\n me.filterSpinner = me.filterInput.find('p');\r\n },\r\n\r\n _isFilterEmpty: function () {\r\n return this.filterInput.val().replace(/ /g, \"\") === '';\r\n },\r\n\r\n _InitScrollForTouchScreens: function () {\r\n if ($.scrollActive) {\r\n if (this.recordsList.data('iscroll')) {\r\n //logDebug('refreshScroll');\r\n this.recordsList.data('iscroll').refresh();\r\n // вычитаСтся 20 пиксСлСй Ρ‡Ρ‚ΠΎΠ±Ρ‹ послСдний элСмСнт Π² спискС Π±Ρ‹Π»ΠΎ Π²ΠΈΠ΄Π½ΠΎ ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠ΅\r\n this.recordsList.data('iscroll').maxScrollY -= 20;\r\n } else {\r\n //logDebug('initScroll');\r\n this.recordsList.children().wrapAll('
    ');\r\n var recordsListScroll = new iScroll('recordsList', { useTransform: true });\r\n // вычитаСтся 20 пиксСлСй Ρ‡Ρ‚ΠΎΠ±Ρ‹ послСдний элСмСнт Π² спискС Π±Ρ‹Π»ΠΎ Π²ΠΈΠ΄Π½ΠΎ ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‚ΠΊΠ΅\r\n recordsListScroll.maxScrollY -= 20;\r\n this.recordsList.data('iscroll', recordsListScroll);\r\n }\r\n }\r\n },\r\n\r\n _InitEvents: function () {\r\n var me = this;\r\n if (me.html != null) {\r\n me._InitSelectedRecordsEvents();\r\n me._InitLeftAreaEvents();\r\n }\r\n },\r\n\r\n _InitLeftAreaEvents: function () {\r\n this._InitRecordsListEvents();\r\n this._InitFilterInputEvents();\r\n },\r\n\r\n _InitRecordsListEvents: function (block, isNeedProcessChild) {\r\n var me = this, rs = me.rsInstance;\r\n var HoverItem = function () { me.HoverItem(this); };\r\n var UnhoverItem = function () { me.UnhoverItem(this); };\r\n\r\n var items = $([]); // = block ? block.find('div.item') : me.recordsList.find('div.item');\r\n if (block) {\r\n if (isNeedProcessChild) {\r\n items = block.find('div.item');\r\n } else {\r\n if (block.hasClass('item')) items = block;\r\n }\r\n } else {\r\n items = me.recordsList.find('div.item');\r\n }\r\n\r\n // Если Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° Ρ‡Ρ‚Π΅Π½ΠΈΠ΅, Ρ‚ΠΎ Π·Π°ΠΏΡ€Π΅Ρ‰Π°Π΅ΠΌ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ записи.\r\n if (!rs.isReadonly()) {\r\n items.find('span > div, p[data-name=\"ArrowRight\"]').off('click.MultiSelectModalWindow').on('click.MultiSelectModalWindow', function (ev) {\r\n me.SelectItem($(this).parent().parent());\r\n });\r\n\r\n var groups = $(); // = block ? block.find('.recordGroup > span') : me.recordsList.find('.recordGroup > span');\r\n if (block) {\r\n if (isNeedProcessChild) {\r\n groups = block.find('.recordGroup > span');\r\n } else {\r\n if (block.hasClass('recordGroup')) groups = block.children('span');\r\n }\r\n } else {\r\n groups = me.recordsList.find('.recordGroup > span');\r\n }\r\n if (me.treeMode) {\r\n groups.find('p:first').off('click.MultiSelectModalWindow').on('click.MultiSelectModalWindow', function () {\r\n me.ShowHideRecordsGroup($(this).parent());\r\n });\r\n\r\n me._InitItemsListContextMenu(groups.not('#0'));\r\n me._InitItemsListContextMenu(items);\r\n // Если Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π½Π° Ρ‡Ρ‚Π΅Π½ΠΈΠ΅, Ρ‚ΠΎ Π·Π°ΠΏΡ€Π΅Ρ‰Π°Π΅ΠΌ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ Π³Ρ€ΡƒΠΏΠΏΡ‹ Π² Π΄Π΅Ρ€Π΅Π²Π΅.\r\n groups.find('div, p[data-name=\"ArrowRight\"]').off('click.MultiSelectModalWindow').on('click.MultiSelectModalWindow', function () {\r\n me.SelectItem($(this).parent().parent());\r\n });\r\n } else {\r\n groups.off('click.MultiSelectModalWindow').on('click.MultiSelectModalWindow', function () {\r\n me.ShowHideRecordsGroup(this);\r\n });\r\n }\r\n if (!$.ipad && !WA.ENV.isAndroid()) { // для Π°ΠΉΠΏΠ°Π΄Π° ΠΎΡ‚ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ Ρ…ΠΎΠ²Π΅Ρ€Ρ‹\r\n items.hover(HoverItem, UnhoverItem);\r\n groups.hover(function () { me.HoverGroup($(this).parent()); }, function () { me.UnhoverGroup($(this).parent()); });\r\n }\r\n\r\n //REVIEW ΠœΠΎΠΆΠ΅Ρ‚ это Π² Π²Π΅Ρ‚ΠΊΠ΅ else ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ?\r\n me._InitScrollForTouchScreens();\r\n }\r\n\r\n // ΠΠ°Π²Π΅ΡˆΠΈΠ²Π°Π΅Ρ‚ события для отобраТСния подсказок.\r\n me._initHintEvents(items);\r\n },\r\n\r\n // добавляСт ΠΊΠ½ΠΎΠΏΠΎΡ‡ΠΊΡƒ для контСкстного мСню Π½Π° ΠΏΠ»Π°Π½ΡˆΠ΅Ρ‚Π°Ρ… ΠΈ Π½Π°Π²Π΅ΡˆΠΈΠ²Π°Π΅Ρ‚ ΠΊΠ»ΠΈΠΊ\r\n _InitItemsListContextMenu: function (items) {\r\n var me = this;\r\n var favoritesGroup = $('#0');\r\n var ShowContextMenu = function (e, currObj) {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n\r\n var pos = { x: e.pageX, y: e.pageY };\r\n if (currObj) {\r\n //для ΠΏΠ»Π°Π½ΡˆΠ΅Ρ‚ΠΎΠ²\r\n pos.x = currObj.offset().left;\r\n pos.y = currObj.offset().top + 50; //смСщаСм Ρ‡Ρ‚ΠΎ Π±Ρ‹ Π±Ρ‹Π»ΠΎ Π²ΠΈΠ΄Π½ΠΎ элСмСнт, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π²Ρ‹Π·Π²Π°Π»ΠΈ мСню.\r\n };\r\n\r\n currObj = currObj ? currObj : $(this);\r\n if (!currObj.attr('id')) currObj = currObj.parent();\r\n var menu = me._GetContextMenu(currObj, favoritesGroup);\r\n menu.showAt({ 'left': pos.x, 'top': pos.y });\r\n };\r\n var ShowContextMenuTablet = function (e) {\r\n var a = $(this).parent().parent().parent();\r\n ShowContextMenu(e, a);\r\n };\r\n\r\n if (!$.ipad && !WA.ENV.isAndroid()) {\r\n items.bind('contextmenu', ShowContextMenu);\r\n favoritesGroup.children('span').unbind('contextmenu');\r\n } else { // для ΠΏΠ»Π°Π½ΡˆΠ΅Ρ‚ΠΎΠ²\r\n var contextMenuBtn = items.find('.tabletcontextm');\r\n if (contextMenuBtn.length > 0) {\r\n contextMenuBtn.off('touchstart.multiselect').on('touchstart.multiselect', ShowContextMenuTablet);\r\n } else {\r\n var contextmenuButton = '';\r\n items.find('p.ico').before(contextmenuButton).prev().off('touchstart.multiselect').on('touchstart.multiselect', ShowContextMenuTablet);\r\n }\r\n favoritesGroup.children('span').find('.tabletcontextm').off('touchstart.multiselect').remove();\r\n }\r\n },\r\n\r\n _InitSelectedRecordsEvents: function () {\r\n var me = this, rs = me.rsInstance;\r\n\r\n var cols = [];\r\n\r\n // Колонка для удалСния Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΉ записи.\r\n if (!rs.isReadonly()) {\r\n var colWidth = $.ipad || WA.ENV.isAndroid() || WA.ENV.browser.name.toLowerCase() == 'safari' ? '35px' : '15px';\r\n cols.push({ \"sWidth\": colWidth, \"bVisible\": true, \"bSortable\": false });\r\n }\r\n\r\n // Колонка \"НаимСнованиС\"\r\n var colWidth = me.withGroupColumn ? '300px' : '400px';\r\n cols.push({ \"bVisible\": true, \"sWidth\": colWidth, \"bSortable\": false });\r\n\r\n // Колонка \"Π‘ΠΏΡ€Π°Π²ΠΎΡ‡Π½ΠΈΠΊ\"\r\n if (me.withGroupColumn) {\r\n cols.push({ \"bVisible\": true, \"bSortable\": false });\r\n }\r\n\r\n me.selectedRecordsTable.dataTable({\r\n \"sScrollY\": (me.selectedRecordsTable.parent().height() - 33) + 'px',\r\n \"sScrollX\": \"100%\",\r\n \"bAutoWidth\": false,\r\n \"bDeferRender\": true,\r\n \"bPaginate\": false,\r\n \"bSortable\": false,\r\n \"oLanguage\": { \"sZeroRecords\": L(\"EMPTY\") },\r\n 'aoColumns': cols\r\n });\r\n var tableWidth;\r\n if (!$.ipad) {\r\n tableWidth = '100%';\r\n }\r\n if (WA.ENV.isAndroid()) tableWidth = 489; // Ρ…Π°ΠΊΠΈ Ρ‡Ρ‚ΠΎΠ±Ρ‹ Ρ‚Π°Π±Π»ΠΈΡ†Π° Π½Π΅ ΠΏΡ€ΠΎΠΊΡ€ΡƒΡ‡ΠΈΠ²Π°Π»Π°ΡΡŒ ΠΏΠΎ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΠΈ\r\n me.selectedRecordsTable.css('width',tableWidth); // просто Ρ‡Π΅Ρ€Π΅Π· width Π² Firefox ΠΈ IE ΡˆΠΈΡ€ΠΈΠ½Π° Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ ΡƒΡΡ‚Π°Π½Π°Π²Π»ΠΈΠ²Π°Π»Π°ΡΡŒ (v5.5)\r\n me.selectedRecordsTable.find('th:last-child').width('auto');\r\n me.selectedRecordsTable.parent().width(tableWidth).attr('id', 'selectedRecordsWrapper');\r\n $('.dataTables_scrollHeadInner').width(tableWidth)\r\n .children('table').css('width',tableWidth)\r\n .find('th:last-child').width('auto');\r\n me.selectedRecordsTable.find('tr').each(function () { me._InitSingleSelectedRecordEvents(this); });\r\n },\r\n\r\n _InitSingleSelectedRecordEvents(row) {\r\n let rs = this.rsInstance;\r\n row = $(row);\r\n\r\n if(!$.ipad && !WA.ENV.isAndroid()) {\r\n row.hover(\r\n () => row.addClass('over').find('.removeFromSelect').css('visibility', 'visible'),\r\n () => row.removeClass('over').find('.removeFromSelect').css('visibility', 'hidden')\r\n );\r\n }\r\n else {\r\n row.find('.removeFromSelect').css('visibility', 'visible');\r\n }\r\n row.find('.removeFromSelect').on('click.MultiSelectModalWindow', this, function (e) {\r\n e.data.DeleteItemFromSelection(this);\r\n });\r\n\r\n // ΠΠ°Π²Π΅ΡˆΠΈΠ²Π°Π΅Ρ‚ события для отобраТСния подсказок.\r\n this._initHintEvents(row);\r\n },\r\n\r\n // ΠΠ°Π²Π΅ΡˆΠΈΠ²Π°Π΅Ρ‚ события для отобраТСния подсказок.\r\n _initHintEvents: function (el) {\r\n if (!$.ipad && !WA.ENV.isAndroid()) {\r\n el.find('.hint').each(function () {\r\n InitAdditionalInfoTooltip($(this));\r\n });\r\n };\r\n },\r\n\r\n // ΠΠ°Π²Π΅ΡˆΠΈΠ²Π°Π΅Ρ‚ события Π½Π° ΠΏΠΎΠ»Π΅ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΠΈ\r\n _InitFilterInputEvents: function () {\r\n var me = this;\r\n var eventName = 'keydown';\r\n //if ($.browser.mozilla) eventName = 'keypress'; ΡƒΠ±Ρ€Π°Π»ΠΈ Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΡˆΠΈΡ„Ρ‚+Ρ‚Π°Π± Π½Π΅ Ρ€Π°Π±ΠΎΡ‚Π°Π» Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎ\r\n me.filterInput.on(eventName + '.MultiSelectModalWindow blur.MultiSelectModalWindow', me, me._KeyPressEventHandler);\r\n me._InitKeyNavigation();\r\n },\r\n\r\n _KeyPressEventHandler: function (ev) {\r\n var me = ev.data;\r\n if ($.inArray(ev.keyCode, me.navigationKeyCodes) > -1) {\r\n if (ev.keyCode == 9) {\r\n $(this).blur();\r\n var firstItem = me.recordsList.find('div:first');\r\n firstItem.hasClass('item') ? me.HoverItem(firstItem) : me.HoverGroup(firstItem);\r\n me.recordsList.scrollTop(0);\r\n return false;\r\n }\r\n //me._NavigationKeyPressHandler(ev);\r\n } else {\r\n me.MakeFilterRequest();\r\n }\r\n },\r\n\r\n _InitKeyNavigation: function () {\r\n var me = this, rs = me.rsInstance;\r\n if (!rs.isReadonly()) {\r\n if (!me.rsInstance.inp.hasClass('modalWindowKeyNavigationActive')) {\r\n var scope = 'modalwindow';\r\n key('down', scope, function () { me.upDownKeyNavigation(true); return false; });\r\n key('up', scope, function () { me.upDownKeyNavigation(false); return false; });\r\n key('right', scope, function () { me.RightArrowKeyPress(); return false; });\r\n key('left', scope, function () { me.LeftArrowKeyPress(); return false; });\r\n key('delete', scope, function () { me.DeleteKeyPress(); return false; });\r\n key('shift+tab', scope, function () {\r\n me.filterInput.focus();\r\n me.UnhoverItem(me.recordsList.find('.over'));\r\n me.UnhoverGroup(me.recordsList.find('.groupOver'));\r\n return false;\r\n });\r\n var selector = '.item.over';\r\n if (this.treeMode) { selector += ',.recordGroup.groupOver'; }\r\n key('enter', scope, function () {\r\n var item = me.recordsList.find(selector).first();\r\n if (item.length) me.SelectItem(item); return false;\r\n });\r\n key.setScope(scope);\r\n me.rsInstance.inp.addClass('modalWindowKeyNavigationActive');\r\n }\r\n }\r\n },\r\n\r\n _BuildPlaceholderString: function () {\r\n var me = this;\r\n if (me.customPlaceholder === null) {\r\n let str = (Object.keys(me.dataObject.groups).length === 1 ? L('MULTI_SEARCH_IN_REFERENCE') : L('MULTI_SEARCH_IN_REFERENCES'));\r\n var i = 0;\r\n var names = [];\r\n for (var key in me.dataObject.groups) {\r\n if (key != 'length') {\r\n names[i] = '"' + me.dataObject.groups[key].groupname + '"';\r\n i++;\r\n }\r\n }\r\n str += names.join(', ');\r\n return str;\r\n } else {\r\n return me.customPlaceholder;\r\n }\r\n },\r\n\r\n // Π‘Ρ‚Ρ€ΠΎΠΈΡ‚ контСкстноС мСню Π² зависимости ΠΎΡ‚ элСмСнта\r\n _GetContextMenu: function (item, favoritesGroup) {\r\n var menuItems = [];\r\n var addMenuItemText;\r\n var addClickHandler;\r\n var favoritesMenuItemText;\r\n var favoritesClickHandler;\r\n var favoritesIcon;\r\n var actionIcon;\r\n var itemID = item.attr('id');\r\n var me = this;\r\n\r\n if (favoritesGroup.children('#' + itemID).length > 0 || item.hasClass('favorite')) {\r\n favoritesMenuItemText = L(\"REMOVE_FROM_FAVORITES\");\r\n favoritesClickHandler = function () {\r\n me.addOrRemoveFavorites(item, itemID, false, favoritesGroup);\r\n };\r\n favoritesIcon = \"deleteFromFavourites-16\";\r\n } else {\r\n favoritesMenuItemText = L(\"ADD_TO_FAVORITES\");\r\n favoritesClickHandler = function () {\r\n me.addOrRemoveFavorites(item, itemID, true, favoritesGroup);\r\n };\r\n favoritesIcon = \"folderFavorites-16\";\r\n }\r\n if (me.findSelectedItemById(itemID) !== -1) {\r\n // Ρ‚ΠΎ элСмСнт ΡƒΠΆΠ΅ Π²Ρ‹Π±Ρ€Π°Π½\r\n addMenuItemText = L(\"USERGROUP_EXCLUDE\");\r\n addClickHandler = function () {\r\n me.selectedRecordsTable.find('tr#' + itemID).find('p:first').click();\r\n };\r\n actionIcon = \"unchooseRecord-16\";\r\n } else {\r\n addMenuItemText = L(\"USERGROUP_INCLUDE\");\r\n addClickHandler = function () {\r\n me.SelectItem(item);\r\n };\r\n actionIcon = \"chooseRecord-16\";\r\n }\r\n\r\n menuItems.push({ text: addMenuItemText, onClick: addClickHandler, icon: actionIcon, name: 'addMenuItem' });\r\n menuItems.push({ text: favoritesMenuItemText, onClick: favoritesClickHandler, icon: favoritesIcon, name: 'favoritesMenuItem' });\r\n\r\n return new ContextMenu(menuItems, { width: \"auto\", targetElement: item });\r\n },\r\n\r\n // Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΈΠ· ΠΈΠ·Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ\r\n // item - элСмСнт, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π½Π°Π΄ΠΎ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ\r\n // needToAdd - Π½ΡƒΠΆΠ½ΠΎ Π»ΠΈ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΈΠ»ΠΈ ΡƒΠ΄Π°Π»ΠΈΡ‚ΡŒ\r\n addOrRemoveFavorites: function (item, itemId, needToAdd, favoritesGroup) {\r\n var me = this;\r\n CallService(\"/UserList.asmx/AddOrRemoveFavorites\", { PrincipalID: itemId, IsGroup: item.hasClass('recordGroup'), NeedToAdd: needToAdd },\r\n function (res) {\r\n if (res.Success) {\r\n if (needToAdd) {\r\n if (favoritesGroup.children('#' + itemId).length == 0) {\r\n var clone = item.clone();\r\n me._InitRecordsListEvents(clone, false);\r\n me._InitRecordsListEvents(clone, true); // для ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ событий Ρƒ Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΡ… элСмСнтов\r\n clone.appendTo(favoritesGroup);\r\n if (clone.hasClass('recordGroup')) { // Ссли Π³Ρ€ΡƒΠΏΠΏΠ°, Ρ‚ΠΎ свСрнСм Π΅Π΅\r\n me.HideRecordsGroup(clone.children('span'));\r\n me.HideRecordsGroup(clone.find('.recordGroup > span'));\r\n }\r\n me.markUnmarkItemAsFavorite(itemId, needToAdd);\r\n favoritesGroup.removeClass('emptyGroup');\r\n }\r\n }\r\n else {\r\n favoritesGroup.children('#' + itemId).remove();\r\n me.markUnmarkItemAsFavorite(itemId, needToAdd);\r\n // Если скрыта оргструктура (ΠΊΡ€ΠΎΠΌΠ΅ ΠΈΠ·Π±Ρ€Π°Π½Π½ΠΎΠ³ΠΎ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ отобраТаСтся) ΠΈ Π² ΠΈΠ·Π±Ρ€Π°Π½Π½ΠΎΠΌ Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅Ρ‚, Ρ‚ΠΎ ΠΏΠΎΠΊΠ°ΠΆΠ΅ΠΌ сообщСниС,\r\n // Ρ‡Ρ‚ΠΎ Π½ΡƒΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ поиском\r\n if (favoritesGroup.length != 0 && favoritesGroup.children('div').length == 0) {\r\n if (res.Warning == \"orghidden\") {\r\n me.showGroupsListMessage(L(\"ADD_USER_TO_FAVORITES_WITH_RIGHT_CLICK\"));\r\n }\r\n favoritesGroup.addClass('emptyGroup');\r\n }\r\n }\r\n }\r\n });\r\n },\r\n\r\n // ΠŸΠΎΠΌΠ΅Ρ‡Π°Π΅Ρ‚ ΠΈΠ»ΠΈ снимаСт ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΊΡƒ ΠΈΠ·Π±Ρ€Π°Π½Π½Ρ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΈΠ»ΠΈ Π³Ρ€ΡƒΠΏΠΏ\r\n // isFavorite - ΠΏΡ€ΠΈΠ·Π½Π°ΠΊ ΠΏΠΎΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ ΠΊΠ°ΠΊ ΠΈΠ·Π±Ρ€Π°Π½Π½ΠΎΠ΅ ΠΈΠ»ΠΈ Π½Π΅Ρ‚\r\n markUnmarkItemAsFavorite: function (id, isFavorite) {\r\n if (id) {\r\n var me = this;\r\n // Ссли Π°ΠΉΠΏΠ°Π΄, Ρ‚ΠΎ Π² recordsList добавляСтся Π΄ΠΈΠ² для скролла\r\n var favGroup = $.scrollActive ? me.recordsList.children().children('#0') : me.recordsList.children('#0');\r\n var item = favGroup.length > 0 ? favGroup.siblings().find('#' + id) : me.recordsList.find('#' + id);\r\n item = item.add(favGroup.siblings('#' + id));\r\n item = item.add(favGroup.children().find('#' + id));\r\n var icon = item.children('span').find('p.ico');\r\n var iconClass = me.treeModeRecordIconClass;\r\n if (isFavorite) {\r\n if (item.hasClass('item')) { // Ссли это ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ\r\n if (!item.hasClass('selected')) { // Ρƒ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Ρ… записСй ΠΈΠΊΠΎΠ½ΠΊΠΈ Π½Π΅ мСняСм\r\n icon.removeClass(iconClass).addClass(me.favoriteUserIconClass);\r\n }\r\n } // Ссли это Π³Ρ€ΡƒΠΏΠΏΠ°\r\n else {\r\n icon.removeClass(me.treeModeGroupIconClass).addClass(me.favoriteUserGroupIconClass);\r\n }\r\n item.addClass('favorite');\r\n }\r\n else {\r\n if (item.hasClass('item')) { // Ссли это ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ\r\n if (!item.hasClass('selected')) { // Ρƒ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Ρ… записСй ΠΈΠΊΠΎΠ½ΠΊΠΈ Π½Π΅ мСняСм\r\n icon.removeClass(me.favoriteUserIconClass).addClass(iconClass);\r\n }\r\n } // Ссли это Π³Ρ€ΡƒΠΏΠΏΠ°\r\n else {\r\n icon.removeClass(me.favoriteUserGroupIconClass).addClass(me.treeModeGroupIconClass);\r\n }\r\n item.removeClass('favorite');\r\n }\r\n }\r\n },\r\n\r\n /* ------------------------------------- */\r\n\r\n /* ДСйствия с записями */\r\n\r\n //REVIEW НазваниС Π½Π΅ говорящСС + ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ (Ρ‡Ρ‚ΠΎ Π·Π° курсор?)\r\n MoveCursor: function (down) {\r\n var me = this;\r\n if (me.recordsList) {\r\n var currentItem = me.recordsList.find('.item.over, .groupOver').first();\r\n if (currentItem.length) { // Ссли ΡƒΠΆΠ΅ Π΅ΡΡ‚ΡŒ Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΉ элСмСнт, Ρ‚ΠΎ ΠΈΡ‰Π΅ΠΌ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ\r\n var obj = me.GetNextItemToSelect(currentItem, down);\r\n if (obj.NextItem.length) {\r\n if (currentItem.hasClass('item')) { // Ссли Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π±Ρ‹Π»ΠΎ Π½Π° элСмСнтС Π³Ρ€ΡƒΠΏΠΏΡ‹\r\n me.ScrollListToHoveredItem(currentItem, down);\r\n me.UnhoverItem(currentItem);\r\n }\r\n else { // Ссли Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π΅ Π²Ρ‹Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π±Ρ‹Π»ΠΎ Π½Π° Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ΅ Π³Ρ€ΡƒΠΏΠΏΡ‹\r\n me.ScrollListToHoveredItem(currentItem.children(':first'), down);\r\n me.UnhoverGroup(currentItem);\r\n }\r\n // Ссли ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ элСмСнт - Π³Ρ€ΡƒΠΏΠΏΠ°, Ρ‚ΠΎ Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌ соотв-Ρ‰ΠΈΠΉ Ρ…ΠΎΠ²Π΅Ρ€\r\n obj.IsGroup ? me.HoverGroup(obj.NextItem) : me.HoverItem(obj.NextItem);\r\n }\r\n }\r\n else { // Ссли Π² спискС Π½Π΅ Π±Ρ‹Π»ΠΎ Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ элСмСнта\r\n var item;\r\n var isGroup = true;\r\n // ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π²Π½ΠΈΠ· выдСляСм Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΠΏΠ΅Ρ€Π²ΠΎΠΉ Π³Ρ€ΡƒΠΏΠΏΡ‹\r\n if (down) {\r\n item = me.recordsList.find('.recordGroup:first');\r\n if (item.length == 0) { // Ссли Π³Ρ€ΡƒΠΏΠΏΡƒ Π½Π΅ нашли Ρ‚ΠΎ выдСялСм ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ элСмСнт\r\n item = me.recordsList.find('.item:visible:first');\r\n isGroup = false;\r\n }\r\n }\r\n else { // ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π²Π²Π΅Ρ€Ρ… выдСляСм послСдний Π²ΠΈΠ΄ΠΈΠΌΡ‹ΠΉ элСмСнт\r\n item = me.recordsList.find('.item:visible:last');\r\n isGroup = false;\r\n if (item.length == 0) { // Ссли элСмСнт Π½Π΅ нашли, выдСляСм Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ послСднСй свСрнутой Π³Ρ€ΡƒΠΏΠΏΡ‹\r\n item = me.recordsList.find('.hiddengroup:last');\r\n isGroup = true;\r\n }\r\n }\r\n // Ссли Π½Π°ΠΆΠ°Π»ΠΈ Π²Π½ΠΈΠ· ΠΈ Π½Π΅Ρ‚ Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ элСмСнта, Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ ΠΊ самому ΠΏΠ΅Ρ€Π²ΠΎΠΌΡƒ\r\n me.recordsList.scrollTop(down ? 0 : 1000000); //REVIEW Π·Π°Ρ‡Π΅ΠΌ? - для пСрСмСщСния скрола Π² ΠΊΠΎΠ½Π΅Ρ† ΠΈΠ»ΠΈ Π½Π°Ρ‡Π°Π»ΠΎ списка\r\n isGroup ? me.HoverGroup(item) : me.HoverItem(item);\r\n }\r\n }\r\n },\r\n\r\n upDownKeyNavigation: function (down) {\r\n var me = this;\r\n var currentItem = me.recordsList.find('div.item.over:visible,div.recordGroup.groupOver:visible');\r\n if (currentItem.length) {\r\n // ΠΎΡ‚ Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ элСмСнта Π΄Π΅Π»Π°Π΅ΠΌ поиск Π² 3-Ρ… направлСниях: Π² Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΡ… элСмСнтах, Π² ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΡ… элСмСнтах Π½Π° ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ Π²Ρ‹ΡˆΠ΅ ΠΈ Π² элСмСнтах Ρ‚ΠΎΠ³ΠΎ ΠΆΠ΅ уровня\r\n var nextItem;\r\n if (down) {\r\n nextItem = currentItem.find('.item:visible:first,.recordGroup:visible:first').first();\r\n if (nextItem.length == 0) { // Ссли Π½Π΅ нашли Π²Π½ΠΈΠ·Ρƒ\r\n nextItem = me.findSiblingOrParent(currentItem, down);\r\n }\r\n if (nextItem.html() == currentItem.parent().html()) {\r\n nextItem = currentItem;\r\n }\r\n }\r\n else {\r\n nextItem = me.findSiblingOrParent(currentItem, down);\r\n }\r\n if (nextItem.length) {\r\n currentItem.hasClass('item') ? me.UnhoverItem(currentItem) : me.UnhoverGroup(currentItem);\r\n nextItem.hasClass('item') ? me.HoverItem(nextItem) : me.HoverGroup(nextItem);\r\n me.scrollListToHoveredItem(nextItem, down);\r\n }\r\n }\r\n else {\r\n if (down) {\r\n var item = me.recordsList.find('.item:visible:first,.recordGroup:visible:first').first();\r\n item.hasClass('item') ? me.HoverItem(item) : me.HoverGroup(item);\r\n me.recordsList.scrollTop(0);\r\n }\r\n else {\r\n var item = me.recordsList.find('.item:visible:last,.recordGroup:visible:last').last();\r\n item.hasClass('item') ? me.HoverItem(item) : me.HoverGroup(item);\r\n me.recordsList.scrollTop(100000);\r\n }\r\n }\r\n },\r\n\r\n findSiblingOrParent: function (item, down) {\r\n var nextItem;\r\n if (down) {\r\n nextItem = item.next('div:visible:first'); // ΠΈΡ‰Π΅ΠΌ слСд элСмСнт Π½Π° этом ΠΆΠ΅ ΡƒΡ€ΠΎΠ²Π½Π΅\r\n if (nextItem.length == 0) { // Ссли Π½Π΅ нашли\r\n if (!item.parent('#recordsList').length) { // ΠΈ Ссли Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ элСмСнт это Π½Π΅ всС Π΄Π΅Ρ€Π΅Π²ΠΎ, ΠΈ Π·Π½Π°Ρ‡ΠΈΡ‚ Π΅ΡΡ‚ΡŒ ΠΊΡƒΠ΄Π° ΠΏΠΎΠ΄Π½ΠΈΠΌΠ°Ρ‚ΡŒΡΡ Π²Ρ‹ΡˆΠ΅\r\n nextItem = this.findSiblingOrParent(item.parents('div:visible:first'), down); // ΠΈΡ‰Π΅ΠΌ сиблингов Ρƒ родитСля ΠΈΠ»ΠΈ Π΅Π³ΠΎ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΉ\r\n }\r\n else {\r\n nextItem = item;\r\n }\r\n }\r\n }\r\n else { // Π΄Π²ΠΈΠΆΠ΅Π½ΠΈΠ΅ Π²Π²Π΅Ρ€Ρ…\r\n nextItem = item.prev('div:visible:first'); // ΠΈΡ‰Π΅ΠΌ спСрва сиблинга\r\n var sibling = true;\r\n if (nextItem.length == 0) { // Ссли Π΅Π³ΠΎ Π½Π΅ нашли ΠΈ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΡΠΊΠΈΠΉ элСмСнт Π½Π΅ само Π΄Π΅Ρ€Π΅Π²ΠΎ, ΠΈ Π·Π½Π°Ρ‡ΠΈΡ‚ Π΅ΡΡ‚ΡŒ ΠΊΡƒΠ΄Π° ΠΏΠΎΠ΄Π½ΠΈΠΌΠ°Ρ‚ΡŒΡΡ Π²Ρ‹ΡˆΠ΅\r\n if (!item.parent('#recordsList').length) {\r\n nextItem = item.parents('div:visible:first'); // Ρ‚ΠΎ Π±Π΅Ρ€Π΅ΠΌ родитСля\r\n sibling = false;\r\n if (nextItem.length == 0) { // Ссли Π΅Π³ΠΎ Π½Π΅ нашли, Ρ‚ΠΎ пытаСмся Π½Π°ΠΉΡ‚ΠΈ сиблинга родитСля ΠΈΠ»ΠΈ Π΅Π³ΠΎ Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΉ\r\n nextItem = this.findSiblingOrParent(item.parents('div:visible:first'), down);\r\n }\r\n }\r\n else { // Ссли Ρ€ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒ - это всС Π΄Π΅Ρ€Π΅Π²ΠΎ, Ρ‚ΠΎ ΠΌΡ‹ Π½Π° ΠΊΡ€Π°ΠΉΠ½Π΅ΠΌ элСмСнтС ΠΈ Π½ΠΈΠΊΡƒΠ΄Π° Π½Π΅ двигаСмся\r\n nextItem = item;\r\n sibling = false;\r\n }\r\n }\r\n if (sibling) { // Ссли нашли сиблинга, Ρ‚ΠΎ провСряСм Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Π΄ΠΎΡ‡Π΅Ρ€Π½ΠΈΡ… ΡƒΠ·Π»ΠΎΠ² ΠΈ ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ΠΈΠΌ ΠΊ Π½ΠΈΠΌ\r\n var subItem = nextItem.find('.item:visible:last,.recordGroup:visible:last').last();\r\n if (subItem.length) {\r\n nextItem = subItem;\r\n }\r\n }\r\n }\r\n if (nextItem.length && !nextItem.hasClass('item') && !nextItem.hasClass('recordGroup')) {\r\n nextItem = item;\r\n }\r\n return nextItem;\r\n },\r\n\r\n scrollListToHoveredItem: function (item, down) {\r\n var me = this;\r\n if (me.getItemsListHeight() > me.recordsList.height()) {\r\n var itemHeight = 20;\r\n var height = 0;\r\n var currentID = item.attr('id');\r\n var items = me.recordsList.find('div.item:visible,div.recordGroup:visible');\r\n\r\n if (down) {\r\n for (var i = items.length - 1; i >= 0; i--) {\r\n if ($(items[i]).attr('id') == currentID) {\r\n height += (i + 1) * itemHeight;\r\n break;\r\n }\r\n }\r\n if (me.recordsList.height() - height < 50) {\r\n me.recordsList.scrollTop(me.recordsList.scrollTop() + itemHeight);\r\n }\r\n }\r\n else {\r\n for (var i = 0; i < items.length; i++) {\r\n if ($(items[i]).attr('id') == currentID) {\r\n height += (i + 1) * itemHeight;\r\n break;\r\n }\r\n }\r\n if (height - me.recordsList.scrollTop() < 50) {\r\n me.recordsList.scrollTop(me.recordsList.scrollTop() - itemHeight);\r\n }\r\n }\r\n }\r\n },\r\n\r\n getItemsListHeight: function () {\r\n var height = 0;\r\n var items = this.recordsList.children();\r\n for (var i = 0; i < items.length; i++) {\r\n height += $(items[i]).height();\r\n }\r\n return height;\r\n },\r\n\r\n // ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰ΠΈΠΉ элСмСнт для выдСлСния ΠΏΡ€ΠΈ Π½Π°Π²ΠΈΠ³Π°Ρ†ΠΈΠΈ стрСлочками\r\n GetNextItemToSelect: function (currentItem, down) {\r\n var me = this;\r\n var nextItem;\r\n var isGroup = false;\r\n if (currentItem.hasClass('item')) {\r\n nextItem = down ? currentItem.next('.item:visible') : currentItem.prev('.item:visible');\r\n if (nextItem.length == 0) { // Ссли Π½Π΅ нашлись записи Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΠΌ курсор Π½Π° Π³Ρ€ΡƒΠΏΠΏΡƒ\r\n nextItem = down ? currentItem.parent('.recordGroup').next() : currentItem.parent('.recordGroup');\r\n isGroup = true;\r\n }\r\n }\r\n else {\r\n // здСсь nextItem - это Π³Ρ€ΡƒΠΏΠΏΠ°\r\n nextItem = down ? currentItem.children('.item:visible:first') : currentItem.prev().children('.item:visible:last');\r\n if (nextItem.length == 0) { // Ссли Π½Π΅ нашлись записи Ρ‚ΠΎ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ΠΈΠΌ курсор Π½Π° Π³Ρ€ΡƒΠΏΠΏΡƒ\r\n nextItem = down ? currentItem.next() : currentItem.prev();\r\n isGroup = true;\r\n }\r\n }\r\n return { NextItem: nextItem, IsGroup: isGroup };\r\n },\r\n\r\n ScrollListToHoveredItem: function (currentItem, down) {\r\n var me = this;\r\n if (down) {\r\n if (Math.abs(currentItem.position().top - me.recordsList.height()) < 55) { //REVIEW Ρ‡Ρ‚ΠΎ Π·Π° магичСскиС числа? - вычислСнныС ΡΠΊΡΠΏΠ΅Ρ€ΠΈΠΌΠ΅Π½Ρ‚Π°Π»ΡŒΠ½Ρ‹ΠΌ ΠΏΡƒΡ‚Π΅ΠΌ\r\n var scroll = me.recordsList.scrollTop();\r\n me.recordsList.scrollTop(scroll + currentItem.height());\r\n }\r\n }\r\n else {\r\n if (Math.abs(currentItem.position().top) < 104) { //REVIEW Ρ‡Ρ‚ΠΎ Π·Π° магичСскиС числа?\r\n var scroll = me.recordsList.scrollTop();\r\n me.recordsList.scrollTop(scroll - currentItem.height());\r\n }\r\n }\r\n },\r\n\r\n RightArrowKeyPress: function () {\r\n var me = this;\r\n var title = me.recordsList.find('.groupOver');\r\n // пустыС ΠΈΠ»ΠΈ Π³Ρ€ΡƒΠΏΠΏΡ‹ со скрытой структурой Π½Π΅ ΠΎΡ‚ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ\r\n if (title.length > 0 && !title.hasClass('emptyGroup')) {\r\n me.HoverGroup(title);\r\n me.ShowRecordsGroup(title.children(':first'));\r\n }\r\n },\r\n\r\n LeftArrowKeyPress: function () {\r\n var me = this;\r\n var title = me.recordsList.find('.item.over,.recordGroup.groupOver').parent(':not(#recordsList)');\r\n if (!title.length) { title = me.recordsList.find('.groupOver'); }\r\n if (title.length) {\r\n me.HoverGroup(title);\r\n me.HideRecordsGroup(title.children(':first'));\r\n me.ScrollListToHoveredItem(title.children(':first'), true);\r\n }\r\n },\r\n\r\n DeleteKeyPress: function () {\r\n var me = this;\r\n var idToRemove = me.recordsList.find('.item.over').attr('id');\r\n if (idToRemove) {\r\n var rowDeleteButton = me.selectedRecordsTable.find('tr[id=' + idToRemove + ']').find('.removeFromSelect');\r\n me.DeleteItemFromSelection(rowDeleteButton);\r\n }\r\n },\r\n\r\n ShowHideRecordsGroup: function (groupTitle) {\r\n groupTitle = $(groupTitle);\r\n var gr = groupTitle.parent();\r\n // Π“Ρ€ΡƒΠΏΠΏΡ‹ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ нСльзя Ρ€Π°ΡΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ, Π½Π΅ расскрываСм.\r\n if (!gr.hasClass('emptyGroup')) {\r\n if (groupTitle.parent().hasClass('hiddengroup')) {\r\n this.ShowRecordsGroup(groupTitle);\r\n }\r\n else {\r\n this.HideRecordsGroup(groupTitle);\r\n };\r\n this._InitScrollForTouchScreens();\r\n };\r\n },\r\n\r\n ShowRecordsGroup: function (groupTitle) {\r\n var me = this;\r\n groupTitle.parent().removeClass('hiddengroup');\r\n groupTitle.children().first().removeClass('closedgroup').addClass('openedgroup');\r\n if (me.treeMode) {\r\n if (groupTitle.siblings().length == 0) {\r\n groupTitle.parent().append($('

    '));\r\n me.requestTree(groupTitle.parent(), \"\");\r\n }\r\n } else {\r\n var grEl = groupTitle.parent();\r\n var groupcode = grEl.attr('compcode');\r\n var group = me.dataObject.groups[groupcode];\r\n // Π—Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌ, Ссли Π΅Ρ‰Π΅ Π½Π΅ Π·Π°Π³Ρ€ΡƒΠΆΠ°Π»ΠΈ.\r\n if (!group.isLoaded) {\r\n if (grEl.find('.waiting').length == 0) {\r\n grEl.append($('

    '));\r\n };\r\n me.sendRequest('', groupcode, function () {\r\n // ΠŸΠΎΡΡ‚Ρ€ΠΎΠΈΠΌ элСмСнты Π³Ρ€ΡƒΠΏΠΏΡ‹.\r\n groupTitle.siblings('.waiting').remove();\r\n grEl.append(me.buildItemsList(groupcode, group));\r\n me._InitRecordsListEvents(grEl, true);\r\n me.MarkSelectedRecordsInList();\r\n }, function () {\r\n // ПокаТСм сообщСниС ΠΎΠ± ошибкС.\r\n groupTitle.siblings('.waiting').remove();\r\n grEl.append(me.buildItemsList(groupcode, group));\r\n });\r\n }\r\n };\r\n },\r\n\r\n HideRecordsGroup: function (groupTitle) {\r\n groupTitle.parent().addClass('hiddengroup');\r\n groupTitle.find('.openedgroup').removeClass('openedgroup').addClass('closedgroup');\r\n },\r\n\r\n MakeFilterRequest: function () {\r\n var me = this;;\r\n if (me.filterInput) {\r\n // Π’Π°ΠΉΠΌΠ°ΡƒΡ‚ - Ρ‡Ρ‚ΠΎ Π±Ρ‹ ΡΠΎΠΊΡ€Π°Ρ‚ΠΈΡ‚ΡŒ количСство ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠΉ ΠΊ сСрвСру\r\n if (me._filterTimeout) clearTimeout(me._filterTimeout);\r\n me._filterTimeout = setTimeout(function () {\r\n var changedValue = me._CheckFilterValue();\r\n if (changedValue !== false) {\r\n me.getData(changedValue, function () {\r\n // Success\r\n me.fillItemsList();\r\n me._InitRecordsListEvents();\r\n });\r\n }\r\n }, 400);\r\n }\r\n },\r\n\r\n _CheckFilterValue: function () {\r\n var me = this;\r\n var currentValue;\r\n currentValue = $.trim(me.filterInput.val());\r\n var whiteSpaceCheck = currentValue.replace(/ /g, \"\"); // ΡƒΠ±ΠΈΡ€Π°Π΅ΠΌ всС ΠΏΡ€ΠΎΠ±Π΅Π»Ρ‹ Π² строкС ΠΈΠ· поля Π²Π²ΠΎΠ΄Π° для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π½Π° строку ΠΈΠ· ΠΏΡ€ΠΎΠ±Π΅Π»ΠΎΠ².\r\n if (currentValue !== me.lastFilterValue) {\r\n if (whiteSpaceCheck !== \"\") {\r\n return currentValue;\r\n } else {\r\n return \"\";\r\n };\r\n } else {\r\n return false;\r\n };\r\n },\r\n\r\n SelectItem(item) {\r\n // Если Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для чтСния Π·Π°ΠΏΡ€Π΅Ρ‰Π°Π΅ΠΌ Π²Ρ‹Π±ΠΈΡ€Π°Ρ‚ΡŒ.\r\n if (!this.rsInstance.isReadonly()) {\r\n const jItem = $(item);\r\n const id = jItem.attr('id');\r\n if (!id) {\r\n return ;\r\n }\r\n let groupCode;\r\n if (this.treeMode) {\r\n groupCode = jItem.data('groupcode');\r\n } else if (Object.keys(this.dataObject.groups).length > 1) {\r\n groupCode = jItem.parents('.recordGroup').first().attr('compcode');\r\n } else {\r\n groupCode = this.rsInstance.getFirstRefCode();\r\n }\r\n\r\n const name = item.find('> span div').text();\r\n\r\n // ΠŸΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ элСмСнт ΠΈΠ· списка\r\n const listItem = this.dataObject.groups[groupCode].items.find(el => el.id === id);\r\n const newItem = {\r\n groupcode: (!!listItem) ? listItem.refCode || groupCode : groupCode,\r\n id,\r\n name,\r\n };\r\n\r\n this._addItemCollectionToSelectedTable([newItem]);\r\n\r\n this.fire('OnSelectedItem', newItem);\r\n }\r\n },\r\n\r\n // ДобавляСт Π½ΠΎΠ²Ρ‹Π΅ строки Π² Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Ρ… ΠΈ ΠΏΠΎΠΌΠ΅Ρ‡Π°Π΅Ρ‚ Π³Π°Π»ΠΎΡ‡ΠΊΠΎΠΉ Π² Π΄Π΅Ρ€Π΅Π²Π΅.\r\n _addItemCollectionToSelectedTable: function (items) {\r\n var me = this;\r\n var html = \"\";\r\n for (var i = 0; i < items.length; i++) {\r\n if (me.findSelectedItemById(items[i].id) !== -1) continue;\r\n html += me.buildSelectedItemsTableRow(items[i]);\r\n me.dataObject.selectedItems.push(items[i]);\r\n me.MarkRecord(items[i].id, true);\r\n }\r\n if (html != \"\") {\r\n me.selectedRecordsTable.find('td.dataTables_empty').parent().remove();\r\n me.selectedRecordsTable.append(html);\r\n me.selectedRecordsTable.find('tr').each(function () { me._InitSingleSelectedRecordEvents(this); });\r\n me._fixSelectedItemsTableBorder();\r\n me.selectedRecordsTable.parent().scrollTop(1000000);\r\n }\r\n },\r\n\r\n // ЗамСняСт Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π½Ρ‹ΠΉ элСмСнт Π½Π° Π΄Ρ€ΡƒΠ³ΠΈΠ΅.\r\n replaceSelectedItem: function (oldId, newItems) {\r\n var me = this, rs = me.rsInstance;\r\n // Если Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для чтСния, Π·Π°ΠΏΡ€Π΅Ρ‰Π°Π΅ΠΌ Π·Π°ΠΌΠ΅Π½ΡΡ‚ΡŒ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Π΅ записи.\r\n if (!rs.isReadonly()) {\r\n // УдаляСм элСмСнт ΠΏΠΎ Π˜Π”.\r\n me.DeleteItemFromSelection(me.selectedRecordsTable.find('tr[id=\"' + oldId.id + '\"]').find('p.removeFromSelect'));\r\n // ДобавляСм Π½ΠΎΠ²Ρ‹Π΅ элСмСнты Π² Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ.\r\n me._addItemCollectionToSelectedTable(newItems);\r\n }\r\n },\r\n\r\n DeleteItemFromSelection: function (item) {\r\n var me = this, rs = me.rsInstance;\r\n // Если Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для чтСния, Π·Π°ΠΏΡ€Π΅Ρ‰Π°Π΅ΠΌ ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹Π΅ записи.\r\n if (!rs.isReadonly()) {\r\n var row = $(item).parent().parent();\r\n var id = row.attr('id');\r\n\r\n var idx = me.findSelectedItemById(id);\r\n if (idx !== -1) {\r\n me.dataObject.selectedItems.splice(idx, 1);\r\n };\r\n\r\n row.remove();\r\n me.MarkRecord(id, false);\r\n me._fixSelectedItemsTableBorder();\r\n me.checkEmptyTable();\r\n }\r\n },\r\n\r\n HoverGroup: function (group) {\r\n this.UnhoverGroup(this.recordsList.find('.groupOver'));\r\n $(group).addClass('groupOver');\r\n this.UnhoverItem(this.recordsList.find('.over'));\r\n },\r\n\r\n UnhoverGroup: function (group) {\r\n $(group).removeClass('groupOver').addClass('fake');\r\n },\r\n\r\n HoverItem: function (item) {\r\n var me = this;\r\n me.UnhoverItem(this.recordsList.find('.over'));\r\n me.UnhoverGroup(this.recordsList.find('.groupOver'));\r\n $(item).addClass('over').find('.treeview_img_action').css('visibility', 'visible');\r\n },\r\n\r\n UnhoverItem: function (item) {\r\n $(item).removeClass('over').find('.treeview_img_action').css('visibility', 'hidden');\r\n },\r\n\r\n MarkSelectedRecordsInList: function () {\r\n var me = this,\r\n selItems = me.dataObject.selectedItems;\r\n for (var i = 0, len = selItems.length; i < len; i++) {\r\n me.MarkRecord(selItems[i].id, true);\r\n }\r\n },\r\n\r\n MarkRecord: function (id, mark) {\r\n if (id) {\r\n var item = this.recordsList.find('.item[id=' + id + '],.recordGroup[id=' + id + ']');\r\n var icon = item.find('p.ico');\r\n var isGroup = item.hasClass('recordGroup');\r\n var iconClass;\r\n var favoritesItem;\r\n if (this.treeMode) {\r\n favoritesItem = this.recordsList.find('#0').children('#' + id);\r\n if (item.hasClass('favorite')) { // Ссли Π΅ΡΡ‚ΡŒ Π² ΠΈΠ·Π±Ρ€Π°Π½Π½Ρ‹Ρ…\r\n iconClass = isGroup ? this.favoriteUserGroupIconClass : this.favoriteUserIconClass;\r\n }\r\n else {\r\n iconClass = isGroup ? this.treeModeGroupIconClass : this.treeModeRecordIconClass;\r\n }\r\n //Ссли Π³Ρ€ΡƒΠΏΠΏΠ° ΠΈΠ·Π±Ρ€Π°Π½Π½ΠΎΠ΅\r\n if (item.find('div[title=\"Favorites\"]').length > 0) {\r\n iconClass = this.favoriteUserGroupIconClass;\r\n }\r\n }\r\n else {\r\n iconClass = this.defaultRecordIconClass;\r\n }\r\n var markedIconClass = this.treeMode ? (isGroup ? this.treeModeMarkedGroupIconClass : this.treeModeMarkedRecordIconClass) : this.defaultMarkedRecordIconClass;\r\n if (mark) {\r\n item.addClass('selected');\r\n if (this.treeMode) { icon.removeClass(this.treeModeRecordIconClass).removeClass(this.favoriteUserIconClass); }\r\n icon.removeClass(iconClass).addClass(markedIconClass);\r\n }\r\n else {\r\n if (!this.selectedRecordsTable.find('#' + id).length) {\r\n item.removeClass('selected');\r\n icon.removeClass(markedIconClass).addClass(iconClass);\r\n }\r\n // Π² Π³Ρ€ΡƒΠΏΠΏΠ΅ ΠΈΠ·Π±Ρ€Π°Π½Π½ΠΎΠ΅ ΠΈΠΊΠΎΠ½ΠΊΠΈ со Π·Π²Π΅Π·Π΄ΠΎΡ‡ΠΊΠΎΠΉ замСняСм Π½Π° ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Π΅. Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ iconClass опрСдСляСтся Π²Ρ‹ΡˆΠ΅ Π² if(this.treeMode)\r\n if (this.treeMode) {\r\n favoritesItem.find('p.ico').removeClass(iconClass).addClass(isGroup ? this.treeModeGroupIconClass : this.treeModeRecordIconClass);\r\n }\r\n }\r\n }\r\n },\r\n\r\n // Π”ΠΎΠ±Π°Π²Π»Π΅ΠΌ Π±ΠΎΡ€Π΄Π΅Ρ€ ΠΊ div Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ находится Ρ‚Π°Π±Π»ΠΈΡ†Π°.\r\n _fixSelectedItemsTableBorder: function () {\r\n var me = this;\r\n var p = me.selectedRecordsTable.parent();\r\n if (me.selectedRecordsTable.height() > p.height()) {\r\n p.addClass('fixBorderBottom');\r\n } else {\r\n p.removeClass('fixBorderBottom');\r\n };\r\n },\r\n\r\n _adjustModalWindowIfSmallScreen: function () {\r\n var me = this;\r\n if ($(window).width() < 1000) {\r\n me.recordsList.parents('[role=dialog]').css('left', 50).css('top', 200);\r\n $(window).scrollLeft(0);\r\n }\r\n },\r\n\r\n _disableRefSelectInputIfAndroid: function () {\r\n if (WA.ENV.isAndroid()) {\r\n this.rsInstance.inp.attr('disabled', true);\r\n $('.fakeInput').attr('disabled', true);\r\n }\r\n },\r\n\r\n checkEmptyTable: function () {\r\n var rows = this.selectedRecordsTable.children('tbody').find('tr');\r\n if (rows.length == 0) {\r\n var emptyRow = $('' + L('EMPTY') + '');\r\n this.selectedRecordsTable.append(emptyRow);\r\n this._InitSingleSelectedRecordEvents(emptyRow);\r\n }\r\n }\r\n\r\n };\r\n\r\n $.fn.extend({\r\n MultiSelectModalWindow: function (opt) {\r\n this.data('MultiSelectModalWindowInstance', new MultiSelectModalWindow(this, opt));\r\n return this;\r\n },\r\n ShowMultiSelectModalWindow: function () {\r\n var ms = this.data('MultiSelectModalWindowInstance');\r\n if (ms) ms.show();\r\n return this;\r\n }\r\n });\r\n})(jQuery);\r\n\r\n// ΠžΡΡ‚Π°Π²Π»Π΅Π½ΠΎ для ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π°. Π½Π΅ ΡƒΠ΄Π°Π»ΡΡ‚ΡŒ!\r\n//var data = {\r\n// groups:\r\n// {\r\n// length: 2,\r\n// 'ΠŸΠžΠ›': {\r\n// groupname: \"ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ\",\r\n// isLoaded: true,\r\n// items: [\r\n// { id: \"1\", name: \"ΠŸΡƒΠΏΠΊΠΈΠ½ АндрСй Борисович 1\" },\r\n// { id: \"2\", name: \"ΠŸΡƒΠΏΠΊΠΈΠ½ АндрСй Борисович 2\" },\r\n// { id: \"3\", name: \"ΠŸΡƒΠΏΠΊΠΈΠ½ АндрСй Борисович 3\" }\r\n// ]\r\n// },\r\n// \"Π“ΠŸΠ›\": {\r\n// groupname: \"Π“Ρ€ΡƒΠΏΠΏΡ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ\",\r\n// isLoaded: true,\r\n// items: [\r\n// { id: \"100\", name: \"Π“Ρ€ΡƒΠΏΠΏΠ° 1\" },\r\n// { id: \"101\", name: \"Π“Ρ€ΡƒΠΏΠΏΠ° 2\" },\r\n// { id: \"102\", name: \"Π“Ρ€ΡƒΠΏΠΏΠ° 3\"}//,\r\n// //{ groupname: \"БухгалтСрия\", compcode: \"ΠŸΠžΠ›\", items: [{ id: \"1\", name: \"ΠŸΡƒΠΏΠΊΠΈΠ½ АндрСй Борисович 1\" }, { id: \"4\", name: \"Π‘ΡƒΡ…Π³Π°Π»Ρ‚Π΅Ρ€ 1\" }, { id: \"5\", name: \"Π‘ΡƒΡ…Π³Π°Π»Ρ‚Π΅Ρ€ 2\"}] }\r\n// ]\r\n// }\r\n// },\r\n// selectedItems:\r\n// [\r\n// { groupcode: \"ΠŸΠžΠ›\", id: \"111\", name: \"ΠŸΡƒΠΏΠΊΠΈΠ½ АндрСй Борисович\" },\r\n// { groupcode: \"ΠŸΠžΠ›\", id: \"112\", name: \"Иванов Иван Π˜Π²Π°Π½ΠΎΠ²ΠΈΡ‡\" },\r\n// { groupcode: \"ΠŸΠžΠ›\", id: \"113\", name: \"ΠŸΠ΅Ρ‚Ρ€ΠΎΠ² ΠŸΠ΅Ρ‚Ρ€ ΠŸΠ΅Ρ‚Ρ€ΠΎΠ²ΠΈΡ‡\" }\r\n// ]\r\n//};\r\n","// ΠšΠΎΠΌΠ°Π½Π΄Ρ‹ CardForm.\r\nvar c_CardFormCmd_AddDetailItem = 1;\r\nvar c_CardFormCmd_DeleteDetailItem = 2;\r\n\r\n(function () {\r\n var startMonitoringTime = $.now();\r\n\r\n window.CardForm = function () {\r\n if (typeof console !== 'undefined' && typeof console.warn !== 'undefined') {\r\n log.warn('DEFAULT','Cardform is marked as deprecated since WebAccess 5.0.0.7100 version, use WebAccess.current.form instead');\r\n }\r\n WA.include('/js/cardform.js');\r\n window.CardForm = CardForm;\r\n if (typeof (window.formData) !== 'undefined') CardForm().init(formData);\r\n\r\n var someWait = $.Deferred();\r\n setTimeout(function () { someWait.resolve(); }, 200);\r\n $.when(WA.FormInit, WA.FormControlsInit, someWait).done(function () {\r\n $('html').trigger('CardFormInit');\r\n });\r\n return window.CardForm();\r\n };\r\n\r\n var CardFormInitMonitor = function () {\r\n // ΠœΠ°ΠΊΡΠΈΠΌΡƒΠΌ ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠΌ 3 сСк.\r\n if ($.now() - startMonitoringTime > 3000) return;\r\n // ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅ΠΌ навСсился Π»ΠΈ ΠΊΡ‚ΠΎ-Ρ‚ΠΎ Π½Π° CardFormInit, Ссли Π΄Π°, Ρ‚ΠΎ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅ΠΌ CardForm.\r\n if (typeof (jQuery.event.global['CardFormInit']) !== 'undefined' && typeof (window.formData) !== 'undefined') {\r\n window.CardForm();\r\n } else {\r\n setTimeout(CardFormInitMonitor, 100);\r\n }\r\n };\r\n CardFormInitMonitor();\r\n\r\n})();\r\n","// ΠŸΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ всС записи Π² истории\r\nfunction ShowAll() {\r\n DoAction('showall=1', false);\r\n return false;\r\n}","\"use strict\";\r\n\r\n/**\r\n * ΠŸΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΠ΅Ρ‚ инструмСнты для Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Π±ΡƒΡ„Π΅Ρ€ΠΎΠΌ ΠΎΠ±ΠΌΠ΅Π½Π° Ρ‡Π΅Ρ€Π΅Π· АгСнт Π²Π΅Π±-доступа. НапримСр, ΡΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ссылки Π² Π±ΡƒΡ„Π΅Ρ€ ΠΎΠ±ΠΌΠ΅Π½Π°.\r\n *\r\n * @namespace window.Core.clipboard\r\n * @since 5.4.0.1000\r\n */\r\n(function (global) {\r\n global.clipboard = {};\r\n\r\n /**\r\n * ΠšΠΎΠΏΠΈΡ€ΡƒΠ΅Ρ‚ ссылки Π² Π±ΡƒΡ„Π΅Ρ€ ΠΎΠ±ΠΌΠ΅Π½Π°\r\n * @param {Array} links Массив ссылок Π²ΠΈΠ΄Π° {ID:..., Type:..., CompCode:..., Description}}\r\n */\r\n function copyLinksToClientBuffer(links) {\r\n var textHtml = \"\";\r\n var textPlain = MakeHrefsFromLinks(links);\r\n links.forEach(function(link) {\r\n textHtml += '} links Массив ссылок Π²ΠΈΠ΄Π° {ID:..., Type:..., CompCode:..., Description}}\r\n * @return {Deferred} Π Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ копирования\r\n * @see https://api.jquery.com/category/deferred-object/\r\n */\r\n function copyLinksInSessionStorage(links) {\r\n var d = $.Deferred();\r\n CallService(\"/Session.asmx/CopyLinks\", { Links: convertAgentLinksToLinkModels(links) }, function (res) {\r\n if (res.Success) {\r\n d.resolve(res);\r\n }\r\n else {\r\n d.reject(res);\r\n }\r\n });\r\n return d.promise();\r\n }\r\n\r\n /**\r\n * Π‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ массив ссылок Π² Π±ΡƒΡ„Π΅Ρ€ ΠΎΠ±ΠΌΠ΅Π½Π°.\r\n *\r\n * @method window.Core.clipboard#copyLinksToClipboard\r\n * @param {Array} links Массив ссылок Π²ΠΈΠ΄Π° {ID:..., Type:..., CompCode:..., Description}}\r\n * @return {Deferred} ΠšΠΎΠ»ΠΈΡ‡Π΅ΡΡ‚Π²ΠΎ скопированных ссылок.\r\n * @see https://api.jquery.com/category/deferred-object/\r\n */\r\n global.clipboard.copyLinksToClipboard = function (links) {\r\n var d = $.Deferred();\r\n var copiedLinksCount = 0;\r\n\r\n //Если Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ скопировано, Ρ‚ΠΎ сразу Π²Ρ‹Ρ…ΠΎΠ΄ΠΈΠΌ\r\n if (!(links) || !(links.length > 0)) {\r\n d.resolve(copiedLinksCount);\r\n return;\r\n }\r\n\r\n //Если ΠΌΡ‹ Π² IE\r\n if (WA.ENV.browser.name === 'IE') {\r\n WebAccess.agent.isPluginAvailable(\"Clipboard\").always(function(isAvailableResponse) {\r\n //Если Π°Π³Π΅Π½Ρ‚ доступСн, ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅ΠΌ Ρ‡Π΅Ρ€Π΅Π· Π½Π΅Π³ΠΎ\r\n if (isAvailableResponse) {\r\n copyLinksInSessionStorage(links);\r\n WebAccess.agent.clipboard.copyLinksToClipboard(links).done(function (res) {\r\n d.resolve(res);\r\n }).fail(function (res) {\r\n d.reject(res.Error);\r\n });\r\n } else {\r\n //Если Π°Π³Π΅Π½Ρ‚ Π½Π΅ доступСн, Ρ‚ΠΎ хотя Π±Ρ‹ Π² сСссию ΠΊΠΎΠΏΠΈΡ€ΡƒΠ΅ΠΌ + HTML5 скопируСт адрСс ΠΊ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Ρƒ\r\n copiedLinksCount = copyLinksToClientBuffer(links);\r\n copyLinksInSessionStorage(links).done(function(res) {\r\n d.resolve(res.Result);\r\n }).fail(function(res) {\r\n d.reject(res.Error);\r\n });\r\n }\r\n });\r\n } else {\r\n //ΠšΠΎΠΏΠΈΡ€ΡƒΠ΅ΠΌ ссылки Ρ‡Π΅Ρ€Π΅Π· HTML5 + сСрвСрныС инструмСнты\r\n copiedLinksCount = copyLinksToClientBuffer(links);\r\n copyLinksInSessionStorage(links).done(function (res) {\r\n d.resolve(res.Result);\r\n }).fail(function (res) {\r\n d.reject(res.Error);\r\n });\r\n }\r\n \r\n return d.promise();\r\n },\r\n \r\n /**\r\n * Π‘ΠΊΠΎΠΏΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ тСкст Π² Π±ΡƒΡ„Π΅Ρ€ ΠΎΠ±ΠΌΠ΅Π½Π°.\r\n *\r\n * @method window.Core.clipboard#copyLinksToClipboard\r\n * @param {string} text ВСкст для помСщСния Π² Π±ΡƒΡ„Π΅Ρ€ ΠΎΠ±ΠΌΠ΅Π½Π°\r\n */\r\n global.clipboard.copyTextToClipboard = function(text) {\r\n clipboard.copy({\r\n \"text/plain\": text\r\n });\r\n }\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ массив ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ссылок ΠΈΠ· Π±ΡƒΡ„Π΅Ρ€Π° ΠΎΠ±ΠΌΠ΅Π½Π°.\r\n * @method window.Core.clipboard#getLinksFromClipboard\r\n * @return {array} Массив ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ссылок.\r\n */\r\n global.clipboard.getLinksFromClipboard = function () {\r\n return WebAccess.agent.clipboard.getLinksFromClipboard();\r\n }\r\n\r\n //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~//\r\n\r\n})(window.Core);","\r\n(function (global) {\r\n\r\n var pleaseWaitMessage = {\r\n _topSpinner: null,\r\n _pleaseWaitText: $('#SignPleaseWait'),\r\n _pleaseWaitCounter: 0,\r\n show: function () {\r\n this._topSpinner = WA.CR.spinner.show();\r\n this._pleaseWaitText.show();\r\n this._pleaseWaitCounter += 1;\r\n },\r\n hide: function () {\r\n this._pleaseWaitCounter -= 1;\r\n if (this._pleaseWaitCounter === 0) {\r\n this._topSpinner.hide();\r\n this._pleaseWaitText.hide();\r\n }\r\n }\r\n };\r\n\r\n /**\r\n * ΠŸΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ Π΄ΠΈΠ°Π»ΠΎΠ³ подписания Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°.\r\n * @global\r\n * @param {number} id Π˜Π” подписываСмого Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°.\r\n * @param {number} [versionNumber] Π½ΠΎΠΌΠ΅Ρ€ подписываСмой вСрсии Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°.\r\n * @param {boolean} [isSignCustomwork = false] TRUE Ссли подписаниС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π—Π—Π£, ΠΈΠ½Π°Ρ‡Π΅ FAlSE.\r\n * @param {string} objectType Ρ‚ΠΈΠΏ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° (для Π—Π—Π£)\r\n */\r\n global.SignEDoc = (id, versionNumber, isSignCustomwork = false, objectType) => {\r\n if (WA.agent.checkAvailability()) {\r\n id = id || GetParamInURL('id');\r\n\r\n const signingCertificateId = localStorage.getItem('signingCertificateId');\r\n\r\n Core.agent.getPlugin('CryptographyPlugin').done(plugin => {\r\n ShowModalWindow('sign', {\r\n title: L('EDOCUMENT_SIGN'),\r\n afterOpen: () => {\r\n BindHelpIcoClickOnModalWindow('Sign');\r\n const jModalWnd = $('#modal_window');\r\n\r\n // Если подписаниС Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ρ‚ΠΎ Π² модальном ΠΎΠΊΠ½Π΅ Π½Π΅ ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‚ΡΡ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Ρ‹ для Π²Ρ‹Π±ΠΎΡ€Π° сСртификата,\r\n //Π° Ρ‚ΠΎΠ»ΡŒΠΊΠΎ сообщСниС ΠΎΠ± ошибкС\r\n const isControlsInited = jModalWnd.find('#sign_certificate').length;\r\n if (isControlsInited) {\r\n //Ссли подписаниС Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ρ‚ΠΎ Π΄ΠΎΠΊΡ€ΡƒΡ‡ΠΈΠ²Π°Π΅ΠΌ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Ρ‹ ΠΌΠΎΠ΄Π°Π»ΠΊΠΈ\r\n if (versionNumber) {\r\n jModalWnd.find(`input[type=radio][value=${versionNumber}]`).click();\r\n }\r\n key.setScope('baseDialog');\r\n\r\n const jTokenPinMessage = jModalWnd.find('#new_error_container');\r\n const jTokenPinInput = jModalWnd.find('.token_pin_code');\r\n\r\n if (jTokenPinMessage.length) {\r\n // ΠžΠ±Π΅Ρ€Π½ΡƒΡ‚ΡŒ сообщСниС ΠΈ ΠΏΠΎΠ»Π΅ Π²Π²ΠΎΠ΄Π° для ΠΏΠΈΠ½-ΠΊΠΎΠ΄Π° нСльзя Π²Π²ΠΈΠ΄Ρƒ особСнностСй Ρ€Π΅Π½Π΄Π΅Ρ€Π° Π΄ΠΈΠ°Π»ΠΎΠ³Π°.\r\n jTokenPinMessage.parent().hide();\r\n jTokenPinInput.parent().parent().hide();\r\n }\r\n } else {\r\n // Π‘ΠΊΡ€Ρ‹Π²Π°Π΅ΠΌ ΠΊΠ½ΠΎΠΏΠΊΡƒ Canсel ΠΈ оставляСм Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΠΉ ОК, Ссли Π² Π΄Π°Π»ΠΎΠ³Π΅ отобраТаСтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ сообщСниС ΠΎΠ± ошибкС\r\n jModalWnd.data('enable_ok')();\r\n $('.ui-dialog').find('.ui-dialog-buttonpane').find('[data-name=\"CancelButton\"]').hide();\r\n }\r\n },\r\n ok: () => {\r\n // Π”ΠΈΠ·Π΅ΠΉΠ±Π»ΠΈΠΌ ΠΎΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π΅ \"ускорял процСсс подписания\".\r\n const jWindow = $('#modal_window');\r\n const disableFunction = jWindow.data('disable_ok');\r\n if (typeof disableFunction === 'function' || disableFunction instanceof Function) {\r\n disableFunction();\r\n }\r\n const handler = jWindow.data('ok');\r\n if (handler && (typeof handler === 'function' || handler instanceof Function)) {\r\n return handler();\r\n }\r\n },\r\n cancel: () => {\r\n const handler = $('#modal_window').data('cancel');\r\n if (handler && (typeof handler === 'function' || handler instanceof Function)) {\r\n return handler();\r\n }\r\n },\r\n params: {\r\n EDocID: id,\r\n IsSignCustomwork: isSignCustomwork,\r\n ObjectType: objectType,\r\n UseAgent: true,\r\n SigningCertificateId: signingCertificateId || '',\r\n },\r\n height: 'auto',\r\n drag: () => { $('#modal_window').parent().css('height', 'auto'); },\r\n close: () => {\r\n const handler = $('#modal_window').data('close');\r\n clearAllModalDivs();\r\n if (handler) return handler();\r\n },\r\n position: [\r\n 'center',\r\n (windowHeight() / 2) - 200,\r\n ],\r\n });\r\n }).fail(needShowError => {\r\n if (needShowError) {\r\n ShowError(L('ERR_SIGNING_UNSUPPORTED'));\r\n }\r\n });\r\n }\r\n };\r\n\r\n /**\r\n * Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈ для Π΄ΠΈΠ°Π»ΠΎΠ³Π° ΠΎΠΊΠ½Π° подписания Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°.\r\n * @global\r\n * @param {Array} documentId Π˜Π” подписываСмого Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° ΠΈΠ»ΠΈ массив Π˜Π” Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ².\r\n * @param {string} cardTypeCode Ρ‚ΠΈΠΏ ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°.\r\n * @param {boolean} isMultiple TRUE Ссли мноТСствСнноС подписаниС, ΠΈΠ½Π°Ρ‡Π΅ - FALSE.\r\n * @param {boolean} isSignCustomwork TRUE Ссли подписаниС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π—Π—Π£, ΠΈΠ½Π°Ρ‡Π΅ - FALSE.\r\n * @param {string} ObjType Ρ‚ΠΈΠΏ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° (для Π—Π—Π£).\r\n * @param {Array} taskIds ΠΈΠ΄ Π·Π°Π΄Π°Ρ‡ для мноТСствСнного подписания.\r\n * @param {Array} jobIds ΠΈΠ΄ Π·Π°Π΄Π°Π½ΠΈΠΉ для мноТСствСнного подписания.\r\n * @param {Array} taskNames Ρ‚Π΅ΠΌΡ‹ Π·Π°Π΄Π°Ρ‡ для мноТСствСнного подписания.\r\n * @param {Array} jobNames Ρ‚Π΅ΠΌΡ‹ Π·Π°Π΄Π°Π½ΠΈΠΉ для мноТСствСнного подписания.\r\n */\r\n global.SignEDoc_InitControls = function (documentId, cardTypeCode, isMultiple, isSignCustomwork, ObjType, taskIds, jobIds, taskNames, jobNames) {\r\n\r\n const jModalWindow = $('#modal_window');\r\n let verData = {};\r\n let certData = {};\r\n let addInfo = {};\r\n\r\n // БохраняСм Ρ„ΡƒΠ½ΠΊΡ†ΠΈΡŽ Π² data, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π±Ρ‹Π» доступ ΠΊ Π½Π΅ΠΉ Π² глобальной области видимости (Π½ΡƒΠΆΠ½ΠΎ для ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π΅ΠΉ Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠ²)\r\n jModalWindow.data('checkConditions', () => {\r\n checkConditions(jModalWindow, certData, verData, addInfo);\r\n });\r\n jModalWindow.data('certSelect', () => {\r\n certSelect(jModalWindow, certData, verData, addInfo);\r\n });\r\n\r\n // Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ наТатия Π½Π° чСкбокс \"ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Ρ‚ΡŒ Π·Π°\".\r\n jModalWindow.find('#sign_substitute').change((event) => {\r\n if ($(event.target).is(':checked')) {\r\n\r\n // Π—Π°Π³Ρ€ΡƒΠΆΠ°Π΅ΠΌ ΠΊΠΎΠ΄Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Ρ‚ΡŒ.\r\n pleaseWaitMessage.show();\r\n\r\n let versionNumber = getSelectedVersionNumber(jModalWindow);\r\n getSubstitutedUserCodes(\r\n jModalWindow,\r\n documentId,\r\n isMultiple,\r\n verData,\r\n versionNumber).always(users => {\r\n const curUserCodes = (verData[versionNumber]) ? verData[versionNumber][getIsApproving(jModalWindow) ? 'app' : 'vis'] : users;\r\n if (curUserCodes && curUserCodes.length && curUserCodes !== 'loading') {\r\n $('#sign_user').SetEnabled();\r\n //ΠŸΡ€ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΈ Π·Π°ΠΌΠ΅Ρ‰Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.\r\n $('#sign_user').change(function () {\r\n checkConditions(jModalWindow, certData, verData, addInfo);\r\n });\r\n\r\n if (isMultiple) {\r\n jModalWindow.data('enable_ok')();\r\n setAllowedUserCodes(jModalWindow, curUserCodes);\r\n } else {\r\n checkConditions(jModalWindow, certData, verData, addInfo);\r\n }\r\n } else {\r\n if (getIsApproving(jModalWindow)) {\r\n jModalWindow.data('error')(L('YOU_CANT_SIGN_THIS_DOCUMENT_IN_THE_NAME_OF_SUBSTITUTED_USER_APPROV'));\r\n } else {\r\n jModalWindow.data('error')(L('YOU_CANT_SIGN_THIS_DOCUMENT_IN_THE_NAME_OF_SUBSTITUTED_USER_INLINE'));\r\n }\r\n jModalWindow.data('disable_ok')();\r\n }\r\n pleaseWaitMessage.hide();\r\n });\r\n\r\n } else {\r\n $('#sign_user').SetDisabled();\r\n checkConditions(jModalWindow, certData, verData, addInfo);\r\n }\r\n });\r\n\r\n // Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ наТатия Π½Π° чСкбокс \"ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π°ΡŽΡ‰Π°Ρ подпись\".\r\n jModalWindow.find('#sign_approving').change(() => {\r\n let versionNumber = getSelectedVersionNumber(jModalWindow);\r\n if (getIsSubstitute(jModalWindow)) {\r\n pleaseWaitMessage.show();\r\n getSubstitutedUserCodes(\r\n jModalWindow,\r\n documentId,\r\n isMultiple,\r\n verData,\r\n versionNumber).always(() => {\r\n checkConditions(jModalWindow, certData, verData, addInfo);\r\n pleaseWaitMessage.hide();\r\n });\r\n } else {\r\n checkConditions(jModalWindow, certData, verData, addInfo);\r\n }\r\n });\r\n\r\n // Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ Π²Ρ‹Π±ΠΎΡ€Π° вСрсии.\r\n jModalWindow.find('input[type=\"radio\"]').change((event) => {\r\n const jVersionSelect = $(event.target);\r\n if (jVersionSelect.is(':checked')) {\r\n verSelect(jModalWindow, documentId, isMultiple, certData, verData, jVersionSelect.val(), addInfo);\r\n }\r\n }).change(); // ΠΈΠ·Π½Π°Ρ‡Π°Π»ΡŒΠ½ΠΎ вСрсия Π²Ρ‹Π±Ρ€Π°Π½Π°.\r\n\r\n certSelect(jModalWindow, certData, verData, addInfo); // запускаСм ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ сСртификата.\r\n\r\n // ΠŸΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ ОК - подписываСм Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚.\r\n jModalWindow.data('ok', opt_customWorkSignResults => {\r\n // БохраняСм Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ Ρ‚ΠΈΠΏ подписи Π² ΠΏΡ€ΠΎΡ„ΠΈΠ»Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ\r\n saveDialogParams(jModalWindow);\r\n\r\n /**\r\n * ПодписаниС мноТСства Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ²\r\n */\r\n if (isMultiple) {\r\n const signMultiple = function (signResults) {\r\n $.whenAllDone(...signResults).then(() => {\r\n UnlockDocIfNeed(jModalWindow, documentId, isMultiple);\r\n jModalWindow.dialog('close');\r\n (new WA.CMP.NTF.Toast).show(L('MULTIPLE_SIGN_COMFIRMATION'));\r\n jModalWindow.remove();\r\n }).fail((...args) => {\r\n // ToDo: Π΄Π°Π½Π½Ρ‹ΠΉ Ρ…Π°ΠΊ ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½ для кСйса, ΠΊΠΎΠ³Π΄Π° Π²ΠΎ Π²Π»ΠΎΠΆΠ΅Π½ΠΈΠΈ выбираСтся ΠΎΠ΄ΠΈΠ½ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ ΠΈ вызываСтся ΠΎΠΊΠ½ΠΎ\r\n // подписания. БчитаСтся, Ρ‡Ρ‚ΠΎ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² Π±Ρ‹Π»ΠΎ нСсколько, поэтому выводится ΠΎΠΊΠ½ΠΎ подписания мноТСства\r\n // Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ². Π­Ρ‚Π° функция Π½Π΅ Π±Ρ‹Π»Π° Π³ΠΎΡ‚ΠΎΠ²Π° ΠΊ Ρ‚Π°ΠΊΠΎΠΌΡƒ ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚Ρƒ событий. МоТно Π±ΡƒΠ΄Π΅Ρ‚ ΡƒΠ±Ρ€Π°Ρ‚ΡŒ, ΠΊΠΎΠ³Π΄Π° исправят\r\n // ΠΏΠΎΠΆΠ΅Π»Π°Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π»ΠΎΡΡŒ ΠΎΠΊΠ½ΠΎ подписания Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°.\r\n if (args.length === 1) {\r\n args[0] = args[0][0];\r\n }\r\n jModalWindow.dialog('close');\r\n jModalWindow.remove();\r\n\r\n const dialog = new WA.CMP.dialogs.MessageBox({ width: 600 });\r\n const details = new WA.CMP.forms.FormBuilder('signingDetails');\r\n details.setOrientation(ORIENTATION.VERTICAL);\r\n details.addTextFrame('NOT_ALL_OBJECTS_SIGNED_INFORMATION_MESSAGE', `
      ${args.join('')}
    `);\r\n\r\n details.renderAsync().done(data => {\r\n dialog.showError(L('MULTIPLE_SIGN_SUCCESS_WITH_ERROR'), data);\r\n });\r\n });\r\n };\r\n\r\n if (isSignCustomwork) {\r\n let signResults = [];\r\n for (let taskId in taskIds) {\r\n signResults.push(sign(jModalWindow, taskIds[taskId], null, null, taskNames[taskId], true, true, 'T'));\r\n }\r\n for (let jobId in jobIds) {\r\n signResults.push(sign(jModalWindow, jobIds[jobId], null, null, jobNames[jobId], true, true, 'J'));\r\n }\r\n if (opt_customWorkSignResults) {\r\n signResults = signResults.concat(opt_customWorkSignResults);\r\n }\r\n signMultiple(signResults);\r\n }\r\n else {\r\n const selectedVersion = getSelectedVersionNumber(jModalWindow);\r\n\r\n const signVersions = function (versions) {\r\n let signResults = [];\r\n for (let docId in versions) {\r\n signResults.push(sign(jModalWindow, docId, versions[docId][3], versions[docId][0], versions[docId][2], true));\r\n }\r\n for (let taskId in taskIds) {\r\n signResults.push(sign(jModalWindow, taskIds[taskId], null, null, taskNames[taskId], true, true, 'T'));\r\n }\r\n for (let jobId in jobIds) {\r\n signResults.push(sign(jModalWindow, jobIds[jobId], null, null, jobNames[jobId], true, true, 'J'));\r\n }\r\n if (opt_customWorkSignResults) {\r\n signResults = signResults.concat(opt_customWorkSignResults);\r\n }\r\n signMultiple(signResults);\r\n };\r\n\r\n switch (selectedVersion) {\r\n default:\r\n WA.SRV.request('/EDocument.asmx/GetLastVersionForMultipleDocs', {\r\n EDocID: documentId,\r\n OnlyActual: selectedVersion === 'last_actual',\r\n }, { hideSpinner: true }).done(versions => {\r\n signVersions(versions);\r\n }).error(error => {\r\n jModalWindow.dialog('close');\r\n $.when(WA.FormControlsInit).then(() => {\r\n WA.CMP.NTF.InlineHint.hideAll();\r\n });\r\n const dialog = new WA.CMP.dialogs.MessageBox({ width: 600 });\r\n dialog.showError(error);\r\n });\r\n break;\r\n case 'ask':\r\n WA.SRV.request('/EDocument.asmx/GetLastVersionForMultipleDocs', {\r\n EDocID: documentId,\r\n OnlyActual: false,\r\n }, { hideSpinner: true }).done(versions => {\r\n let docsWithManyVersions = [];\r\n for (docId in versions) {\r\n if (versions[docId][1] > 1) {\r\n docsWithManyVersions.push(docId);\r\n }\r\n }\r\n\r\n const askFinished = $.Deferred();\r\n\r\n //Π—Π°ΠΏΡ€Π°ΡˆΠΈΠ²Π°Π΅ΠΌ Π²Π΅Ρ€ΡΠΈΡŽ для всСх Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ²\r\n if (docsWithManyVersions.length) {\r\n\r\n const getSelectedVersionNumber = function (jDialog) {\r\n return jDialog.find('input[type=\"radio\"]:checked').val();\r\n };\r\n\r\n const buildNextDialog = function () {\r\n const docId = docsWithManyVersions.shift();\r\n if (!docId) {\r\n askFinished.resolve(versions);\r\n return;\r\n }\r\n\r\n const dialog = new WA.CMP.dialogs.BaseDialog();\r\n dialog.setSpinner();\r\n dialog.setTitle(L('VERSION_SELECT'));\r\n dialog.width = 600;\r\n dialog.isShowOkButton = true;\r\n dialog.isShowCancelButton = true;\r\n dialog.show();\r\n\r\n dialog.ok = () => {\r\n const version = getSelectedVersionNumber($('#dialog_content_' + dialog.id));\r\n versions[docId][0] = version;\r\n buildNextDialog();\r\n };\r\n\r\n dialog.cancel = () => {\r\n // ΠŸΡ€ΠΎΠΏΡƒΡΠΊΠ°Π΅ΠΌ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚, Ρ‚.ΠΊ. Π²Π΅Ρ€ΡΠΈΡŽ Ρ‚Π°ΠΊ ΠΈ Π½Π΅ Π²Ρ‹Π±Ρ€Π°Π»ΠΈ.\r\n delete versions[docId];\r\n buildNextDialog();\r\n };\r\n\r\n WA.SRV.request('/EDocument.asmx/GetVersionListControl', {\r\n EDocID: docId,\r\n OnlyActual: false,\r\n }, { hideSpinner: true }).done(html => {\r\n dialog.setHtml(L('SELECT_FROM_EDOC_VERSION_LIST_CAPTION', ('' + versions[docId][2]).escapeHtml()) + '

    ' + html);\r\n });\r\n };\r\n\r\n buildNextDialog();\r\n } else {\r\n askFinished.resolve(versions);\r\n }\r\n\r\n askFinished.done(versions => {\r\n signVersions(versions);\r\n });\r\n }).error(error => {\r\n jModalWindow.dialog('close');\r\n $.when(WA.FormControlsInit).then(() => {\r\n WA.CMP.NTF.InlineHint.hideAll();\r\n });\r\n const dialog = new WA.CMP.dialogs.MessageBox({ width: 600 });\r\n dialog.showError(error);\r\n });\r\n break;\r\n }\r\n }\r\n } else {\r\n if ((!isSignCustomwork) && (!ObjType)) {\r\n let versionNumber = getSelectedVersionNumber(jModalWindow);\r\n // Π’Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΡƒ, просмотрСн Π»ΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚\r\n runWithCheckReadByUser(jModalWindow, documentId, versionNumber, wrap(function () {\r\n sign(jModalWindow, documentId, cardTypeCode, versionNumber, '', isMultiple);\r\n }, jModalWindow));\r\n } else {\r\n sign(jModalWindow, documentId, null, null, null, isMultiple, isSignCustomwork, ObjType);\r\n }\r\n }\r\n return false; // Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅ΠΌ false, Ρ‡Ρ‚ΠΎΠ± ΠΎΠΊΠ½ΠΎ Π½Π΅ Π·Π°ΠΊΡ€Ρ‹Π»ΠΎΡΡŒ.\r\n });\r\n\r\n jModalWindow.data('close', () => {\r\n UnlockDocIfNeed(jModalWindow, documentId, isMultiple);\r\n });\r\n\r\n jModalWindow.data('disable_ok')(); // Π½Π΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠ°Π΅ΠΌ Π½ΠΈΠΊΡƒΠ΄Π° Π½Π°ΠΆΠΈΠΌΠ°Ρ‚ΡŒ, ΠΏΠΎΠΊΠ° всС Π½Π΅ ΠΏΡ€ΠΎΠ³Ρ€ΡƒΠ·ΠΈΠ»ΠΎΡΡŒ.\r\n };\r\n\r\n /**\r\n * ΠŸΠΎΠΊΠ°Π·Ρ‹Π²Π°Π΅Ρ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ» запроса ΠΏΠΈΠ½-ΠΊΠΎΠ΄Π°.\r\n * @inner\r\n * @param {object} jModalWindow - модальноС ΠΎΠΊΠ½ΠΎ Ρ„ΠΎΡ€ΠΌΡ‹ подписания.\r\n * @param {boolean} withAnimation - ΠΏΡ€ΠΈΠ·Π½Π°ΠΊ ΠΏΠΎΠΊΠ°Π·Π° Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ.\r\n */\r\n function showTokenPinControls(jModalWindow, withAnimation) {\r\n // Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π° ΠΏΠΎ запросу ΠΏΠΈΠ½-ΠΊΠΎΠ΄Π° для Ρ‚ΠΎΠΊΠ΅Π½Π°.\r\n var jTokenPinMessage = jModalWindow.find('#new_error_container');\r\n var jTokenPinInput = jModalWindow.find('.token_pin_code');\r\n // ΠžΠ±Π΅Ρ€Π½ΡƒΡ‚ΡŒ сообщСниС ΠΈ ΠΏΠΎΠ»Π΅ Π²Π²ΠΎΠ΄Π° для ΠΏΠΈΠ½-ΠΊΠΎΠ΄Π° нСльзя Π²Π²ΠΈΠ΄Ρƒ особСнностСй Ρ€Π΅Π½Π΄Π΅Ρ€Π° Π΄ΠΈΠ°Π»ΠΎΠ³Π°.\r\n var tokenPinMessageHeight = jTokenPinMessage.parent().height();\r\n var tokenPinInputHeight = jTokenPinInput.parent().parent().height();\r\n\r\n if (jTokenPinMessage.length > 0 && !jTokenPinMessage.is(':visible')) {\r\n jTokenPinMessage.parent().show();\r\n jTokenPinInput.parent().parent().show();\r\n\r\n var pinPadding = 20; // Π”ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ отступ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ появлялся скролл.\r\n var newHeight = jModalWindow.height() + tokenPinMessageHeight + tokenPinInputHeight + pinPadding;\r\n\r\n if (withAnimation) {\r\n jModalWindow.animate({\r\n height: newHeight\r\n }, 300, function () {\r\n $('.token_pin_code').focus();\r\n });\r\n } else {\r\n jModalWindow.height(newHeight);\r\n $('.token_pin_code').focus();\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Π‘ΠΊΡ€Ρ‹Π²Ρ‹Π΅Ρ‚ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ» запроса ΠΏΠΈΠ½-ΠΊΠΎΠ΄Π°.\r\n * @inner\r\n * @param {object} jModalWindow - модальноС ΠΎΠΊΠ½ΠΎ Ρ„ΠΎΡ€ΠΌΡ‹ подписания.\r\n * @param {boolean} withAnimation - ΠΏΡ€ΠΈΠ·Π½Π°ΠΊ ΠΏΠΎΠΊΠ°Π·Π° Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ.\r\n */\r\n function hideTokenPinControls(jModalWindow, withAnimation) {\r\n // Π˜Π½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·Π°Ρ†ΠΈΡ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π° ΠΏΠΎ запросу ΠΏΠΈΠ½-ΠΊΠΎΠ΄Π° для Ρ‚ΠΎΠΊΠ΅Π½Π°.\r\n var jTokenPinMessage = jModalWindow.find('#new_error_container');\r\n var jTokenPinInput = jModalWindow.find('.token_pin_code');\r\n // ΠžΠ±Π΅Ρ€Π½ΡƒΡ‚ΡŒ сообщСниС ΠΈ ΠΏΠΎΠ»Π΅ Π²Π²ΠΎΠ΄Π° для ΠΏΠΈΠ½-ΠΊΠΎΠ΄Π° нСльзя Π²Π²ΠΈΠ΄Ρƒ особСнностСй Ρ€Π΅Π½Π΄Π΅Ρ€Π° Π΄ΠΈΠ°Π»ΠΎΠ³Π°.\r\n var tokenPinMessageHeight = jTokenPinMessage.parent().height();\r\n var tokenPinInputHeight = jTokenPinInput.parent().parent().height();\r\n\r\n if ((jTokenPinMessage.length != 0) && (jTokenPinMessage.parent().is(':visible'))) {\r\n var newHeight = jModalWindow.height() - tokenPinMessageHeight - tokenPinInputHeight;\r\n\r\n if (withAnimation) {\r\n jModalWindow.animate({\r\n height: newHeight\r\n }, 500, function () {\r\n jTokenPinMessage.parent().hide();\r\n jTokenPinInput.parent().parent().hide();\r\n jTokenPinInput.val('');\r\n });\r\n } else {\r\n jModalWindow.height(newHeight);\r\n jTokenPinMessage.parent().hide();\r\n jTokenPinInput.parent().parent().hide();\r\n jTokenPinInput.val('');\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π½ΠΎΠΌΠ΅Ρ€ Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΉ вСрсии.\r\n * @inner\r\n * @param {object} jModalWindow - модальноС ΠΎΠΊΠ½ΠΎ Ρ„ΠΎΡ€ΠΌΡ‹ подписания.\r\n * @return {number} НомСр вСрсии, Π²Ρ‹Π±Ρ€Π°Π½Π½ΠΎΠΉ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ.\r\n */\r\n function getSelectedVersionNumber(jModalWindow) {\r\n return jModalWindow.find('input[type=\"radio\"]:checked').val();\r\n }\r\n\r\n /**\r\n * Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΏΡ€ΠΈΠ·Π½Π°ΠΊ ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π°ΡŽΡ‰Π΅ΠΉ подписи.\r\n * @inner\r\n * @param {object} jModalWindow - модальноС ΠΎΠΊΠ½ΠΎ Ρ„ΠΎΡ€ΠΌΡ‹ подписания.\r\n */\r\n function getIsApproving(jModalWindow) {\r\n return jModalWindow.find('#sign_approving').is(':checked');\r\n }\r\n\r\n /**\r\n * Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ ΠΏΡ€ΠΈΠ·Π½Π°ΠΊ подписания Π·Π° Π·Π°ΠΌΠ΅Ρ‰Π°Π΅ΠΌΠΎΠ³ΠΎ.\r\n * @inner\r\n * @param {object} jModalWindow -модальноС ΠΎΠΊΠ½ΠΎ Ρ„ΠΎΡ€ΠΌΡ‹ подписания.\r\n */\r\n function getIsSubstitute(jModalWindow) {\r\n return jModalWindow.find('#sign_substitute').is(':checked');\r\n }\r\n\r\n /**\r\n * Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π²Ρ‹Π±Ρ€Π°Π½Π½Ρ‹ΠΉ сСртификат.\r\n * @inner\r\n * @param {object} jModalWindow модальноС ΠΎΠΊΠ½ΠΎ Ρ„ΠΎΡ€ΠΌΡ‹ подписания.\r\n * @return {object} ΠžΠ±ΡŠΠ΅ΠΊΡ‚ с ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΎ сСртификатС {id: , id_base64: , plugin: , plugin_version: , plugin_version_base64: }\r\n */\r\n function getSelectedCertificate(jModalWindow) {\r\n const certInfo = jModalWindow.find('input[name=\"sign_certificate\"]').val().split('###');\r\n return {\r\n id: certInfo[2],\r\n id_base64: certInfo[1],\r\n plugin: certInfo[0],\r\n plugin_version: certInfo[3],\r\n plugin_version_base64: certInfo[4]\r\n };\r\n }\r\n\r\n /**\r\n * Π’ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π˜Π” ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Π·Π° ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ выполняСтся подписаниС.\r\n * @inner\r\n * @param {object} jModalWindow -модальноС ΠΎΠΊΠ½ΠΎ Ρ„ΠΎΡ€ΠΌΡ‹ подписания.\r\n */\r\n function getSelectedUser(jModalWindow) {\r\n return $.trim(jModalWindow.find('#hSelID_sign_user').val());\r\n }\r\n\r\n /**\r\n * УстанавливаСт ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Ρ‚ΡŒ.\r\n * @inner\r\n * @param {object} jModalWindow -модальноС ΠΎΠΊΠ½ΠΎ Ρ„ΠΎΡ€ΠΌΡ‹ подписания.\r\n * @param {array} codes - массив ΠΊΠΎΠ΄ΠΎΠ² ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ.\r\n */\r\n function setAllowedUserCodes(jModalWindow, codes) {\r\n jModalWindow.find('#hLeadSelID_sign_user').val('SUBS_' + codes.join(';'));\r\n }\r\n\r\n /**\r\n * ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅Ρ‚ список Π·Π°ΠΌΠ΅Ρ‰Π°Π΅ΠΌΡ‹Ρ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ доступно подписаниС.\r\n *\r\n * @inner\r\n * @function getSubstitutedUserCodes\r\n * @param {Object} jModalWindow -модальноС ΠΎΠΊΠ½ΠΎ Ρ„ΠΎΡ€ΠΌΡ‹ подписания.\r\n * @param {number} edocid - ΠΈΠ΄ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° ΠΈΠ»ΠΈ массив ΠΈΠ΄ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² для мноТСствСнного подписания\r\n * @param {boolean} isMultiple - ΠΏΡ€ΠΈΠ·Π½Π°ΠΊ мноТСствСнного подписания\r\n * @param {Object} verData - ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, содСрТащий ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ вСрсии:\r\n * verData[verNumber].vis = array[] - массив ΠΊΠΎΠ΄ΠΎΠ² ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Ρ‚ΡŒ Π²ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΉ подписью\r\n * verData[verNumber].app = array[] - массив ΠΊΠΎΠ΄ΠΎΠ² ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Ρ‚ΡŒ ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π°ΡŽΡ‰Π΅ΠΉ подписью\r\n * verData[verNumber].data.canApprovingSign - возмоТносит подписания ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π°ΡŽΡ‰Π΅ΠΉ подписью\r\n * verData[verNumber].data.signatures - подписи\r\n * @param {number} opt_verNumber - Π½ΠΎΠΌΠ΅Ρ€ вСрсии.\r\n * @return {Deferred}\r\n * @see https://api.jquery.com/category/deferred-object/\r\n */\r\n function getSubstitutedUserCodes(jModalWindow, edocid, isMultiple, verData, opt_verNumber) {\r\n\r\n var def = $.Deferred();\r\n var signTypeVal = { vis: false, app: true };\r\n var signType = 'vis';\r\n if (getIsApproving(jModalWindow)) {\r\n signType = 'app';\r\n }\r\n\r\n if (isMultiple) {\r\n CallService('/EDocument.asmx/GetSubstitutedUserCodesForMultipleDocuments', { EDocID: edocid, IsApprovingSignType: signTypeVal[signType] }, function (res) {\r\n res = $.trim(res.substr(5));\r\n def.resolve((res === '' ? [] : res.split(';')));\r\n }, function () {\r\n def.reject();\r\n });\r\n return def;\r\n }\r\n\r\n if (verData[opt_verNumber][signType] !== 'loading') {\r\n def.resolve();\r\n } else {\r\n // Π“Ρ€ΡƒΠ·ΠΈΠΌ список ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΡ‹ ΠΌΠΎΠΆΠ΅ΠΌ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Ρ‚ΡŒ эту Π²Π΅Ρ€ΡΠΈΡŽ.\r\n CallService('/EDocument.asmx/GetSubstitutedUserCodes', { EDocID: edocid, VersionNum: opt_verNumber, IsApprovingSignType: signTypeVal[signType] }, function (res) {\r\n res = $.trim(res.substr(5)); // сСрвис Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Π² ΡƒΠ±ΠΎΠ³ΠΎΠΌ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅\r\n verData[opt_verNumber][signType] = (res === '' ? [] : res.split(';'));\r\n def.resolve();\r\n }, function () {\r\n def.reject();\r\n });\r\n }\r\n\r\n return def;\r\n }\r\n\r\n /**\r\n * Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ Π²Ρ‹Π±ΠΎΡ€Π° вСрсии.\r\n * @inner\r\n * @param {object} jModalWindow -модальноС ΠΎΠΊΠ½ΠΎ Ρ„ΠΎΡ€ΠΌΡ‹ подписания.\r\n * @param {number} edocid - ΠΈΠ΄ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° ΠΈΠ»ΠΈ массив ΠΈΠ΄ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ² для мноТСствСнного подписания\r\n * @param {boolean} isMultiple - ΠΏΡ€ΠΈΠ·Π½Π°ΠΊ мноТСствСнного подписания\r\n * @param {object} verData - ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, содСрТащий ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ вСрсии:\r\n verData[verNumber].vis = array[] - массив ΠΊΠΎΠ΄ΠΎΠ² ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Ρ‚ΡŒ Π²ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΉ подписью\r\n verData[verNumber].app = array[] - массив ΠΊΠΎΠ΄ΠΎΠ² ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Ρ‚ΡŒ ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π°ΡŽΡ‰Π΅ΠΉ подписью\r\n verData[verNumber].data.canApprovingSign - возмоТносит подписания ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π°ΡŽΡ‰Π΅ΠΉ подписью\r\n verData[verNumber].data.signatures - подписи\r\n * @param {number} verNumber - Π½ΠΎΠΌΠ΅Ρ€ вСрсии.\r\n * @param {object} addInfo - информация ΠΎ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ ΠΈ Π²ΠΈΠ΄Π΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°.\r\n * @return {number} - Π½ΠΎΠΌΠ΅Ρ€ вСрсии\r\n */\r\n function verSelect(jModalWindow, edocid, isMultiple, certData, verData, verNumber, addInfo) {\r\n if (isMultiple) {\r\n if (getIsSubstitute(jModalWindow)) {\r\n getSubstitutedUserCodes(jModalWindow, edocid, isMultiple, verData);\r\n }\r\n return verNumber;\r\n }\r\n\r\n pleaseWaitMessage.show();\r\n if (!verData.hasOwnProperty(verNumber)) {\r\n addInfo.userID = addInfo.userID || 'loading';\r\n addInfo.docKind = addInfo.docKind || 'loading';\r\n\r\n verData[verNumber] = { vis: 'loading', app: 'loading', data: 'loading' }; // Π² Π½Π°Ρ‡Π°Π»Π΅ всС \"loading\", ΠΏΠΎΡ‚ΠΎΠΌ замСнятся Π½Π° Π½ΠΎΡ€ΠΌ. Π΄Π°Π½Π½Ρ‹Π΅, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΈ подгрузятся с сСрвСра.\r\n\r\n if (getIsSubstitute(jModalWindow)) {\r\n getSubstitutedUserCodes(jModalWindow, edocid, isMultiple, verData, verNumber);\r\n }\r\n\r\n // Π“Ρ€ΡƒΠ·ΠΈΠΌ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ состоянии подписСй ΠΊ вСрсии.\r\n CallService('/EDocument.asmx/GetSignState', { EDocID: edocid, VersionNum: verNumber }, function (res) {\r\n if (res.Error) {\r\n verData[verNumber].error = res.Error;\r\n } else {\r\n addInfo.userID = res.UserID;\r\n addInfo.docKind = res.Kind;\r\n verData[verNumber].data = { canApprovingSign: res.CanApprovingSign, signatures: res.SignsInfo };\r\n }\r\n checkConditions(jModalWindow, certData, verData, addInfo);\r\n pleaseWaitMessage.hide();\r\n });\r\n } else {\r\n checkConditions(jModalWindow, certData, verData, addInfo);\r\n pleaseWaitMessage.hide();\r\n }\r\n }\r\n\r\n /**\r\n * Π‘ΠΎΠ±Ρ‹Ρ‚ΠΈΠ΅ Π²Ρ‹Π±ΠΎΡ€Π° сСртификата.\r\n * @inner\r\n * @param {object} jModalWindow -модальноС ΠΎΠΊΠ½ΠΎ Ρ„ΠΎΡ€ΠΌΡ‹ подписания.\r\n * @param {object} certData - ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ с ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΎ сСртификатах ΠΈ ΠΈΡ… валидности.\r\n * @param {object} verData - ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, содСрТащий ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ вСрсии:\r\n verData[verNumber].vis = array[] - массив ΠΊΠΎΠ΄ΠΎΠ² ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Ρ‚ΡŒ Π²ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΉ подписью\r\n verData[verNumber].app = array[] - массив ΠΊΠΎΠ΄ΠΎΠ² ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Ρ‚ΡŒ ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π°ΡŽΡ‰Π΅ΠΉ подписью\r\n verData[verNumber].data.canApprovingSign - возмоТносит подписания ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π°ΡŽΡ‰Π΅ΠΉ подписью\r\n verData[verNumber].data.signatures - подписи\r\n * @param {object} addInfo - информация ΠΎ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ ΠΈ Π²ΠΈΠ΄Π΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°.\r\n */\r\n function certSelect(jModalWindow, certData, verData, addInfo) {\r\n hideTokenPinControls(jModalWindow, false);\r\n pleaseWaitMessage.show();\r\n var curCert = getSelectedCertificate(jModalWindow);\r\n if (!certData.hasOwnProperty(curCert.sid)) {\r\n certData[curCert.id] = 'loading';\r\n CallService('/Certificates.asmx/IsCertificateValid', { CertificateID: curCert.id_base64 }, function (res) {\r\n certData[curCert.id] = { valid: res.Result };\r\n checkConditions(jModalWindow, certData, verData, addInfo);\r\n pleaseWaitMessage.hide();\r\n });\r\n }\r\n else {\r\n checkConditions(jModalWindow, certData, verData, addInfo);\r\n pleaseWaitMessage.hide();\r\n }\r\n }\r\n\r\n /**\r\n * ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° возмоТности подписания.\r\n * @inner\r\n * @param {object} jModalWindow - модальноС ΠΎΠΊΠ½ΠΎ Ρ„ΠΎΡ€ΠΌΡ‹ подписания.\r\n * @param {object} certData - ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ с ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ ΠΎ сСртификатах ΠΈ ΠΈΡ… валидности.\r\n * @param {object} verData - ΠΎΠ±ΡŠΠ΅ΠΊΡ‚, содСрТащий ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ для ΠΊΠ°ΠΆΠ΄ΠΎΠΉ вСрсии:\r\n verData[verNumber].vis = array[] - массив ΠΊΠΎΠ΄ΠΎΠ² ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Ρ‚ΡŒ Π²ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΉ подписью\r\n verData[verNumber].app = array[] - массив ΠΊΠΎΠ΄ΠΎΠ² ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Ρ‚ΡŒ ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π°ΡŽΡ‰Π΅ΠΉ подписью\r\n verData[verNumber].data.canApprovingSign - возмоТносит подписания ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π°ΡŽΡ‰Π΅ΠΉ подписью\r\n verData[verNumber].data.signatures - подписи.\r\n * @param {object} addInfo - информация ΠΎ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ ΠΈ Π²ΠΈΠ΄Π΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°.\r\n */\r\n function checkConditions(jModalWindow, certData, verData, addInfo) {\r\n\r\n var verNumber = getSelectedVersionNumber(jModalWindow);\r\n var ver = verData[verNumber];\r\n var error = null;\r\n var isApproving = getIsApproving(jModalWindow);\r\n var isSubstitute = getIsSubstitute(jModalWindow);\r\n var curCert = getSelectedCertificate(jModalWindow);\r\n if (ver) {\r\n try {\r\n if (ver.error) // Ссли ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»Π° ошибка ΠΏΡ€ΠΈ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΠΈ Π΄Π°Π½Π½Ρ‹Ρ… с сСрвСра.\r\n throw new Error(ver.error);\r\n if (isSubstitute) {\r\n // ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° наличия ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Ρ‚ΡŒ ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π°ΡŽΡ‰Π΅ΠΉ подписью.\r\n if (isApproving) {\r\n if (ver.app == 'loading')\r\n throw new Error('loading');\r\n if (!ver.app.length)\r\n throw new Error('w#' + L('YOU_CANT_SIGN_THIS_DOCUMENT_IN_THE_NAME_OF_SUBSTITUTED_USER_APPROV'));\r\n setAllowedUserCodes(jModalWindow, ver.app);\r\n }\r\n // ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° наличия ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, Π·Π° ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Ρ‚ΡŒ Π²ΠΈΠ·ΠΈΡ€ΡƒΡŽΡ‰Π΅ΠΉ подписью.\r\n if (!isApproving) {\r\n if (ver.vis == 'loading')\r\n throw new Error('loading');\r\n if (!ver.vis.length)\r\n throw new Error('w#' + L('YOU_CANT_SIGN_THIS_DOCUMENT_IN_THE_NAME_OF_SUBSTITUTED_USER'));\r\n setAllowedUserCodes(jModalWindow, ver.vis);\r\n }\r\n }\r\n if (ver.data != 'loading' && addInfo.docKind != 'loading') {\r\n // ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° возмоТности подписания ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π°ΡŽΡ‰Π΅ΠΉ подписью.\r\n if (isApproving && !ver.data.canApprovingSign) {\r\n throw new Error('w#' + L('HAVENT_RIGHTS_FOR_APPR_SIGN', addInfo.docKind.Name));\r\n }\r\n // ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΊΠ° Π½Π° Ρ‚ΠΎ, Ρ‡Ρ‚ΠΎ вСрсия ΡƒΠΆΠ΅ подписана Ρ‚Π΅ΠΌ ΠΆΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ ΠΈ сСртификатом.\r\n let signErr = 'w#';\r\n let curUserID;\r\n let curUserName;\r\n if (isSubstitute) {\r\n // ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅ΠΌ подписи ΠΎΡ‚ ΠΈΠΌΠ΅Π½ΠΈ Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.\r\n curUserID = $.trim(jModalWindow.find('#hSelID_sign_user').val());\r\n // ΠŸΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°Π΅ΠΌΠΎΠ΅ имя Π·Π°ΠΌΠ΅Ρ‰Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.\r\n let selectedSubstituteUser = jModalWindow.find('#sign_user').data('ReferenceSelectInstance').selectedItems[0];\r\n if (selectedSubstituteUser) {\r\n curUserName = $.trim(selectedSubstituteUser.textContent);\r\n }\r\n } else {\r\n // ΠŸΡ€ΠΎΠ²Π΅Ρ€ΡΠ΅ΠΌ подписи Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.\r\n curUserID = addInfo.userID;\r\n }\r\n $.each(ver.data.signatures, function () {\r\n var sign = this;\r\n if (isApproving === (sign.SignatureType === '2') &&\r\n sign.ByUserID == curUserID) {\r\n if (sign.PluginName === curCert.plugin &&\r\n sign.CertificateID === curCert.id_base64) {\r\n\r\n if (isApproving && !isSubstitute)\r\n signErr = L('EDOC_VERSION_ALREADY_APPROVINGLY_SIGNED', verNumber);\r\n else if (!isApproving && !isSubstitute)\r\n signErr = L('EDOC_VERSION_ALREDY_SIGNED', verNumber);\r\n else if (isApproving && isSubstitute)\r\n signErr = L('EDOC_VERSION_ALREADY_APPROVINGLY_SIGNED_BY_USER', verNumber, curUserName);\r\n else if (!isApproving && isSubstitute)\r\n signErr = L('EDOC_VERSION_ALREDY_SIGNED_BY_USER', verNumber, curUserName);\r\n signErr = 'w#' + signErr;\r\n return false;\r\n } else {\r\n //Если подписана Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΌ, Π½ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΠΌ сСртификатом.\r\n signErr = \"info#\" + L('INFO_EDOC_VERSION_ALREDY_SIGNED', verNumber);\r\n }\r\n }\r\n });\r\n if (signErr != 'w#') throw new Error(signErr);\r\n } else {\r\n throw new Error('loading');\r\n }\r\n } catch (ex) {\r\n error = ex.message;\r\n }\r\n }\r\n\r\n var cert = certData[curCert.id];\r\n if (!error && cert && cert != 'loading') {\r\n if (!cert.valid) {\r\n error = L('CERTIFICATE_WITH_ID_IS_NOT_VALID', curCert.id);\r\n }\r\n }\r\n\r\n //ΠžΡ‡ΠΈΡ‰Π°Π΅ΠΌ ΠΎΡˆΠΈΠ±ΠΊΡƒ ΠΈ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΡƒΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ Π°ΠΊΡ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ΅\r\n jModalWindow.data('info')(null);\r\n jModalWindow.data('warning')(null);\r\n jModalWindow.data('error')(null);\r\n\r\n if (error !== null) {\r\n let disableOk = true;\r\n if (error != 'loading') {\r\n if (error.indexOf('w#') == 0) {\r\n jModalWindow.data('warning')(error.substr(2));\r\n } else if (error.indexOf('info#') == 0) {\r\n jModalWindow.data('info')(error.substring(5));\r\n disableOk = false;\r\n } else {\r\n jModalWindow.data('error')(error);\r\n }\r\n }\r\n if (disableOk) {\r\n jModalWindow.data('disable_ok')();\r\n } else {\r\n jModalWindow.data('enable_ok')();\r\n }\r\n return false;\r\n } else {\r\n jModalWindow.data('enable_ok')();\r\n return true;\r\n }\r\n }\r\n\r\n /**\r\n * ОбновлСниС ΠΈΠΊΠΎΠ½ΠΊΠΈ наличия подписи.\r\n * @inner\r\n * @param {number} docID - Π˜Π” Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°.\r\n * @param {boolean} isApproving - ΠΏΡ€ΠΈΠ·Π½Π°ΠΊ ΡƒΡ‚Π²Π΅Ρ€ΠΆΠ΄Π°ΡŽΡ‰Π΅ΠΉ подписи.\r\n */\r\n function updateSignIco(docID, isApproving) {\r\n var item = $('div#' + docID);\r\n log.info('DOCUMENT_SIGNING', 'Updating icon for document #' + docID);\r\n\r\n if (item.length) {\r\n var signatureIcon = (item.find('.sign_ico'));\r\n if (signatureIcon.length == 0 || (isApproving && signatureIcon.find('use').attr('xlink:href') != '#signRed-16')) {\r\n signatureIcon.remove();\r\n var signIco = '' +\r\n '' +\r\n '';\r\n item.find('.object-list-item__column_type_icon').append(signIco);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * ВызываСтся, Ссли подписаниС ΠΏΡ€ΠΎΡˆΠ»ΠΎ ΡƒΡΠΏΠ΅ΡˆΠ½ΠΎ.\r\n * @inner\r\n * @param {object} jModalWindow модальноС ΠΎΠΊΠ½ΠΎ Ρ„ΠΎΡ€ΠΌΡ‹ подписания.\r\n * @param {number} docID Π˜Π” Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°.\r\n * @param {boolean} isMultiple TRUE Ссли мноТСствСнноС подписаниС, ΠΈΠ½Π°Ρ‡Π΅ - FALSE.\r\n * @param {boolean} isSignCustomwork TRUE Ссли подписаниС Π—Π—Π£, ΠΈΠ½Π°Ρ‡Π΅ - FALSE.\r\n * @param {string} ObjType Ρ‚ΠΈΠΏ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π°.\r\n */\r\n function success(jModalWindow, docID, isMultiple, isSignCustomwork, ObjType) {\r\n const isApproving = getIsApproving(jModalWindow);\r\n\r\n if (!isMultiple) {\r\n jModalWindow.dialog('close');\r\n let successMessageCode = 'EDOCUMENT_SIGN_SUCCESS';\r\n if (isSignCustomwork) {\r\n successMessageCode = (ObjType === 'T' ? 'TASK_SIGN_SUCCESS' : 'JOB_SIGN_SUCCESS');\r\n }\r\n ShowTopSpinnerResult(L(successMessageCode), 3000);\r\n }\r\n\r\n if (WA.getLocation() === 'doc') {\r\n if (GetParamInURL('view').toLowerCase() === 'showverlist') {\r\n setTimeout(function () { ReloadVersionList(); }, 500);\r\n } else {\r\n window.location.reload();\r\n }\r\n }\r\n\r\n // ΠžΠ±Π½ΠΎΠ²ΠΈΡ‚ΡŒ ΠΈΠΊΠΎΠ½ΠΊΡƒ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚ подписания.\r\n if ((!isSignCustomwork) && (!ObjType)) {\r\n updateSignIco(docID, getIsApproving(jModalWindow));\r\n\r\n if (isMultiple) {\r\n updateSignIco(docID, isApproving);\r\n }\r\n }\r\n }\r\n\r\n /**\r\n * ВызываСтся, Ссли ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»Π° ошибка ΠΏΡ€ΠΈ подписании.\r\n * @inner\r\n * @param {object} jModalWindow - модальноС ΠΎΠΊΠ½ΠΎ Ρ„ΠΎΡ€ΠΌΡ‹ подписания.\r\n * @param {string} err - тСкст ошибки.\r\n */\r\n function fail(jModalWindow, err) {\r\n if (jModalWindow.data('error')) {\r\n jModalWindow.data('error')(err);\r\n jModalWindow.data('enable_ok')();\r\n } else {\r\n var d = new WA.CMP.dialogs.MessageBox();\r\n d.showError(err);\r\n }\r\n }\r\n\r\n /**\r\n * Запуск подписания с ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΎΠΉ, посмотрСл Π»ΠΈ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π²Π΅Ρ€ΡΠΈΡŽ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°.\r\n * @inner\r\n * @param {object} jModalWindow - модальноС ΠΎΠΊΠ½ΠΎ Ρ„ΠΎΡ€ΠΌΡ‹ подписания.\r\n * @param {number} docID - Π˜Π” Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°.\r\n * @param {number} versionNum - НомСр вСрсии Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°.\r\n * @param {object} callback - функция .\r\n */\r\n function runWithCheckReadByUser(jModalWindow, docId, versionNum, callback) {\r\n // Если Π΄ΠΈΠ°Π»ΠΎΠ³ подтвСрТдСния Π±Ρ‹Π» ΡƒΠΆΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½, Ρ‚ΠΎ Π½Π΅ Π½Π°Π΄ΠΎ ΠΏΠΎΠΊΠ°Π·Ρ‹Π²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π΅Ρ‰Π΅ Ρ€Π°Π·\r\n var confirmed = jModalWindow.data('signConfirmed');\r\n if (confirmed) {\r\n callback();\r\n } else {\r\n WA.SRV.call('/EDocument.asmx/CheckReadByUserState', { EDocID: docId, VersionNum: versionNum }).done(function (res) {\r\n if (res) {\r\n callback();\r\n } else {\r\n // Если послСдниС измСнСния Π½Π΅ просмотрСны, ΠΏΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ Π΄ΠΈΠ°Π»ΠΎΠ³ подтвСрТдСния\r\n confirmSignDialog(function () {\r\n jModalWindow.data('signConfirmed', true);\r\n callback();\r\n });\r\n }\r\n }).fail(function () {\r\n callback();\r\n });\r\n }\r\n }\r\n\r\n /**\r\n * Π‘ΠΎΡ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Ρ‚ΠΈΠΏΠ° подписи Π² ΠΏΡ€ΠΎΡ„ΠΈΠ»Π΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ\r\n * @inner\r\n * @param {object} jModalWindow - модальноС ΠΎΠΊΠ½ΠΎ Ρ„ΠΎΡ€ΠΌΡ‹ подписания.\r\n */\r\n function saveDialogParams(jModalWindow) {\r\n WA.SRV.request('Session.asmx/SetUserProfileSettings', {\r\n ParamName: 'DefaultSignType',\r\n ParamValue: getIsApproving(jModalWindow) ? 'approve' : '',\r\n }, { hideSpinner: true });\r\n }\r\n\r\n /**\r\n * Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ ΠΎ сСртификатС для подписания Π—Π—Π£\r\n * @innner\r\n * @function saveSignCustomworkInfo\r\n * @param {certId} ΠΈΠ΄ сСртификата\r\n */\r\n function saveSignCustomworkInfo(certId) {\r\n //Π­Ρ‚ΠΎΡ‚ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π½Π° сСрвСрС, поэтому Π½Π΅ Π½Π°Π΄ΠΎ Π·Π°ΠΏΠΈΡΡ‹Π²Π°Ρ‚ΡŒ Π΅Π³ΠΎ Π² json\r\n WA.SRV.request('/Session.asmx/SetUserProfileSettings', {\r\n ParamName: 'CertificateIDForCustomworkSign',\r\n ParamValue: certId,\r\n }, { hideSpinner: true });\r\n }\r\n\r\n /**\r\n * Π”ΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π² тСкст ошибки наимСнования Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° ΠΈ Π˜Π” Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°\r\n * @inner\r\n * @param {string} error тСкст ошибки.\r\n * @param {string} docName Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°.\r\n * @param {number} docId Π˜Π” Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°.\r\n * @param {string} objtype Ρ‚ΠΈΠΏ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° (для Π—Π—Π£).\r\n */\r\n function getErrorWithDocName(error, docName, docId, objtype) {\r\n let objLink = (new WA.Link(docId, OBJECT_TYPE.EDOCUMENT)).toURL().asString();\r\n let objTypeName = L('DOCUMENT');\r\n if (objtype) {\r\n if (objtype === 'J') {\r\n objLink = (new WA.Link(docId, OBJECT_TYPE.JOB)).toURL().asString();\r\n objTypeName = L('JOB');\r\n } else {\r\n objLink = (new WA.Link(docId, OBJECT_TYPE.TASK)).toURL().asString();\r\n objTypeName = L('TASK');\r\n }\r\n }\r\n if (!error) {\r\n //Бюда ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΉΡ‚ΠΈ Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ссли Π²Ρ‹Π½ΡƒΠ»ΠΈ Ρ‚ΠΎΠΊΠ΅Π½ ΠΏΡ€ΠΈ подписании ΠΈ Π½Π°ΠΆΠ°Π»ΠΈ ΠžΡ‚ΠΌΠ΅Π½Π° Π² ΠΎΠΊΠ½Π΅ с Ρ‚ΠΎΠΊΠ΅Π½ΠΎΠΌ\r\n error = L('CERTIFICATE_FOR_SIGNING_OBJECT_IS_NOT_SPECIFIED_OR_SPECIFIED_INCORRECTLY');\r\n }\r\n\r\n return `
  • ${objTypeName} \"${docName}\": ${error}
  • `;\r\n }\r\n\r\n /**\r\n * Π’Ρ‹Π²ΠΎΠ΄ Π΄ΠΈΠ°Π»ΠΎΠ³Π° подтвСрТдСния подписания Π½Π΅ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π½Π½ΠΎΠΉ вСрсии Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°\r\n * @inner\r\n * @param {object} okAction - функция Π²Ρ‹Π·Ρ‹Π²Π°ΡŽΡ‰Π°ΡΡΡ ΠΏΡ€ΠΈ Π½Π°ΠΆΠ°Ρ‚ΠΈΠΈ Ok .\r\n */\r\n function confirmSignDialog(okAction) {\r\n var confirmDialog = new WA.CMP.dialogs.MessageBox();\r\n confirmDialog.yesNoButtons(okAction);\r\n\r\n var mainText = L('EDOC_CONTINUE_SIGNING');\r\n var additionalText = L('EDOC_VERSION_IS_NOT_READ');\r\n var title = L('CONFIRMATION');\r\n var icon = 'info';\r\n confirmDialog.show(mainText, additionalText, title, icon);\r\n }\r\n\r\n /**\r\n * Π”Π΅ΠΊΠΎΡ€Π°Ρ‚ΠΎΡ€ для Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ.\r\n * @inner\r\n * @param {object} func - функция для дСкорирования.\r\n * @param {object} jModalWindow - модальноС ΠΎΠΊΠ½ΠΎ Ρ„ΠΎΡ€ΠΌΡ‹ подписания.\r\n * @return {boolean} Если Π² Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΡ€ΠΎΠΈΠ·ΠΎΡˆΠ»Π° ошибка (Π±Ρ€ΠΎΡˆΠ΅Π½ΠΎ ΠΈΡΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅), Ρ‚ΠΎ Π²Ρ‹Π·Ρ‹Π²Π°Π΅Ρ‚ fail ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ false. Π˜Π½Π°Ρ‡Π΅ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ true.\r\n */\r\n function wrap(func, jModalWindow) {\r\n return function () {\r\n try {\r\n func.apply(this, arguments);\r\n return true;\r\n } catch (ex) {\r\n var msg = ex.message;\r\n if (msg.indexOf('E_CANT_LOAD_PLUGIN') != -1) {\r\n msg = L('SIGN_PLUGIN_NOT_FOUND');\r\n }\r\n fail(jModalWindow, msg);\r\n return false;\r\n }\r\n };\r\n }\r\n\r\n /**\r\n * ПодписаниС вСрсии Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°.\r\n *\r\n * @inner\r\n * @function sign\r\n * @param {Object} jModalWindow модальноС ΠΎΠΊΠ½ΠΎ Ρ„ΠΎΡ€ΠΌΡ‹ подписания.\r\n * @param {number} documentId Π˜Π” Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°.\r\n * @param {string} cardTypeCode Ρ‚ΠΈΠΏ ΠΊΠ°Ρ€Ρ‚ΠΎΡ‡ΠΊΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°\r\n * @param {number} versionNum Π½ΠΎΠΌΠ΅Ρ€ подписываСмой вСрсии.\r\n * @param {string} docName Π½Π°ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°.\r\n * @param {boolean} isMultiple TRUE Ссли мноТСствСнноС подписаниС, ΠΈΠ½Π°Ρ‡Π΅ FAlSE.\r\n * @param {boolean} isSignCustomwork TRUE Ссли подписаниС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° Π—Π—Π£, ΠΈΠ½Π°Ρ‡Π΅ FAlSE.\r\n * @param {string} objtype Ρ‚ΠΈΠΏ ΠΎΠ±ΡŠΠ΅ΠΊΡ‚Π° (для Π—Π—Π£)\r\n * @return {Deferred}\r\n * @see https://api.jquery.com/category/deferred-object/\r\n */\r\n function sign(jModalWindow, documentId, cardTypeCode, versionNum, docName, isMultiple, isSignCustomwork, objtype) {\r\n docName = ('' + docName).escapeHtml();\r\n\r\n const d = $.Deferred();\r\n // Π”ΠΈΠ·Π΅ΠΉΠ±Π»ΠΈΠΌ ΠΎΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ Π½Π΅ Ρ‚Ρ‹ΠΊΠ°Π» ΠΊΡƒΠ΄Π° ΠΏΠΎΠΏΠ°Π»ΠΎ.\r\n jModalWindow.data('disable_ok')();\r\n if (isMultiple) {\r\n if (getIsSubstitute(jModalWindow) && !getSelectedUser(jModalWindow)) {\r\n return d.reject(L('VALUE_OF_REQUIRED_REQUISITE_USER_MUST_BE_SPECIFIED'));\r\n }\r\n } else {\r\n if (getIsSubstitute(jModalWindow) && !getSelectedUser(jModalWindow)) {\r\n throw new Error((L('VALUE_OF_REQUIRED_REQUISITE_USER_MUST_BE_SPECIFIED')));\r\n }\r\n }\r\n\r\n // ВСрсия Π½Π΅ ΠΏΠ΅Ρ€Π΅Π΄Π°Π½Π° ΠΈΠ»ΠΈ Π΅Ρ‘ Π½ΠΎΠΌΠ΅Ρ€ Π½Π΅ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹ΠΉ.\r\n if ((+versionNum < 1) && (!isSignCustomwork) && (!objtype)) {\r\n if (isMultiple) {\r\n return d.reject(getErrorWithDocName(L('ERR_NO_VERSIONS_AVAILABLE_WITHOUT_DOCUMENT_NAME'), docName, documentId, objtype));\r\n } else {\r\n throw new Error(format(L('ERR_NO_VERSIONS_AVAILABLE'), docName));\r\n }\r\n }\r\n\r\n const cert = getSelectedCertificate(jModalWindow);\r\n if (WA.agent.checkAvailability()) {\r\n Core.agent.getPlugin('CryptographyPlugin').done(plugin => {\r\n const onSignCallback = function (res) {\r\n if (res.success) {\r\n success(jModalWindow, documentId, isMultiple, isSignCustomwork, objtype);\r\n log.info('DOCUMENT_SIGNING', 'Signing success for document ' + docName);\r\n d.resolve();\r\n } else {\r\n if (!!res.message && (res.result === 'ERR_PIN_REQUIRED')) {\r\n showTokenPinControls(jModalWindow, true);\r\n jModalWindow.data('enable_ok')();\r\n return;\r\n }\r\n //ΠŸΠΎΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ запись Π² ΠΏΡ€ΠΎΡ„ΠΈΠ»Π΅\r\n WA.cache.serverCache.setItem('CertificateIDForCustomworkSign', '');\r\n\r\n log.info('DOCUMENT_SIGNING', 'Signing failed for document ' + docName);\r\n if (!res.message) {\r\n return; //Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π°Π³Π΅Π½Ρ‚ отвалился\r\n }\r\n d.reject(getErrorWithDocName(res.message.fromISBuilderToNormal(), docName, documentId, objtype));\r\n\r\n if (!isMultiple) {\r\n if (!!res.message && res.message !== 'CONNECTION_NOT_AVAILABLE') {\r\n fail(jModalWindow, L(res.message));\r\n }\r\n }\r\n }\r\n if (!isMultiple) {\r\n UnlockDocIfNeed(jModalWindow, documentId, isMultiple);\r\n }\r\n };\r\n if ((isSignCustomwork) || (objtype)) {\r\n //Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ Π² ΠΏΡ€ΠΎΡ„ΠΈΠ»ΡŒ ΠΎ сСртификатС\r\n saveSignCustomworkInfo(cert.id);\r\n\r\n if (objtype === 'J') {\r\n WebAccess.agent.edms.signJob(\r\n documentId,\r\n cert.id_base64,\r\n cert.plugin,\r\n null,\r\n null,\r\n null,\r\n null,\r\n onSignCallback,\r\n cert.plugin_version_base64,\r\n jModalWindow.find('.token_pin_code').val());\r\n } else {\r\n WebAccess.agent.edms.signTask(\r\n documentId,\r\n cert.id_base64,\r\n cert.plugin,\r\n null,\r\n null,\r\n null,\r\n null,\r\n onSignCallback,\r\n cert.plugin_version_base64,\r\n jModalWindow.find('.token_pin_code').val());\r\n }\r\n }\r\n else {\r\n const edocVersion = getSelectedVersionNumber(jModalWindow);\r\n\r\n WA.SRV.request('/EDocument.asmx/GetAdditionalInfo', { EdocId: documentId }, { hideSpinner: true, sync: true }).done(additionalInfo => {\r\n WA.SRV.document.sign(documentId,\r\n cardTypeCode,\r\n versionNum || edocVersion,\r\n cert.id_base64,\r\n cert.plugin,\r\n jModalWindow.find('#sign_comment').val(),\r\n getIsApproving(jModalWindow),\r\n getIsSubstitute(jModalWindow),\r\n getSelectedUser(jModalWindow),\r\n onSignCallback,\r\n additionalInfo,\r\n cert.plugin_version,\r\n jModalWindow.find('.token_pin_code').val()).done(result => {\r\n if (result) {\r\n localStorage.setItem('signingCertificateId', cert.id);\r\n }\r\n }).fail((message) => {\r\n // jModalWindow.parentNode провСряСт, Π±Ρ‹Π» Π»ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ DOM-элСмСнт\r\n if (jModalWindow.parentNode) {\r\n jModalWindow.data('error')(message);\r\n }\r\n });\r\n });\r\n }\r\n }).fail(needShowError => {\r\n if (needShowError) {\r\n ShowError(L('ERR_SIGNING_UNSUPPORTED'));\r\n }\r\n });\r\n }\r\n return d.promise();\r\n }\r\n\r\n /**\r\n * Π Π°Π·Π±Π»ΠΎΠΊΠΈΡ€ΠΎΠ²ΠΊΠ° Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°\r\n * @inner\r\n * @param {object} jModalWindow - модальноС ΠΎΠΊΠ½ΠΎ Ρ„ΠΎΡ€ΠΌΡ‹ подписания.\r\n * @param {number|Array} edocid - Π˜Π” Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π° ΠΈΠ»ΠΈ массив ΠΈΠ· Π˜Π” Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ².\r\n * @param {boolean} isMultiple - ΠΏΡ€ΠΈΠ·Π½Π°ΠΊ мноТСствСнного подписания.\r\n */\r\n function UnlockDocIfNeed(jModalWindow, edocid, isMultiple) {\r\n if (jModalWindow.find('#was_locked').val() == 'True') {\r\n var method = isMultiple ? 'MultipleDocsUnlock' : 'DocUnlock';\r\n CallService('/EDocument.asmx/' + method, { EDocID: edocid });\r\n }\r\n }\r\n\r\n})(window);","/**\r\n * ΠŸΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ поиск Π½Π΅ пуст.\r\n *\r\n * @global\r\n * @function CheckIsSearchNotEmpty\r\n * @param {object} el jQuery-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ поиска.\r\n * @param {string} emptyCriteriaWarningMessage ΠŸΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅, Π²Ρ‹Π²ΠΎΠ΄ΠΈΠΌΠΎΠ΅ Π² случаС, ΠΊΠΎΠ³Π΄Π° поиск Π½ΠΈΡ‡Π΅Π³ΠΎ Π½Π΅ Π²Π΅Ρ€Π½ΡƒΠ».\r\n * @param {function} callback Callback-функция, вызываСмая ΠΏΠΎ ΠΎΠΊΠΎΠ½Ρ‡Π°Π½ΠΈΠΈ поиска.\r\n * @returns {boolean} True - поиск Π²Π΅Ρ€Π½ΡƒΠ» Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Ρ‹, ΠΈΠ½Π°Ρ‡Π΅ False.\r\n * @constructor\r\n */\r\nfunction CheckIsSearchNotEmpty(el, emptyCriteriaWarningMessage, callback) {\r\n var isAnyCriteriaFilled = false;\r\n var criteriaContainer = $(el).parents('.Search_Table');\r\n const criterionInputs = criteriaContainer.find(':text:enabled, input[type=hidden], select');\r\n $.each(criterionInputs, (i, criterionInput) => {\r\n // Π˜ΡΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌ ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΉ архивности\r\n if (!criterionInput.id.endsWith('ArchiveTaginp') && !criterionInput.id.endsWith('ArchiveTag')) {\r\n // Ρ…Π°ΠΊ для reference-ΠΏΠΎΠ»Π΅ΠΉ, Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌ событиС, Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΠ»Π΅ ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½ΠΎ заполнилось/ΠΎΡ‡ΠΈΡΡ‚ΠΈΠ»ΠΎΡΡŒ (bug#22966)\r\n const jCriterionInput = $(criterionInput);\r\n jCriterionInput.click();\r\n isAnyCriteriaFilled = !!jCriterionInput.val().trim();\r\n if (isAnyCriteriaFilled) {\r\n return false;\r\n };\r\n };\r\n });\r\n if (!isAnyCriteriaFilled) {\r\n var dialog = new WA.CMP.dialogs.MessageBox();\r\n dialog.showWarning(emptyCriteriaWarningMessage, null, null, function () {\r\n return false;\r\n });\r\n } else {\r\n callback();\r\n return true;\r\n }\r\n}\r\n\r\n/**\r\n * НаТатиС Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡƒ Enter запускаСт поиск.\r\n *\r\n * @global\r\n * @function BindOnEnterToSearchCrit\r\n */\r\nfunction BindOnEnterToSearchCrit() {\r\n $('div.Search_Table').children().children(':not(.Search_Date_Row)').find('input[type=text]').keyup(function (event) {\r\n if (event.keyCode == 13 && $('div.rs_container:visible').length == 0) {\r\n $('input.Search_Btn:visible:first').click();\r\n }\r\n });\r\n}\r\n\r\n/**\r\n * ΠžΡ‡ΠΈΡΡ‚ΠΈΡ‚ΡŒ ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΈ поиска.\r\n *\r\n * @global\r\n * @function ClearSearch\r\n * @param {string} searchName Имя поиска.\r\n */\r\nfunction ClearSearch(searchName) {\r\n CustomSearch(searchName);\r\n}\r\n\r\n/**\r\n * Π’ΠΎΡΡΡ‚Π°Π½ΠΎΠ²ΠΈΡ‚ΡŒ значСния поиска ΠΏΠΎ-ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ.\r\n *\r\n * @function _restoreSearchDefaultValues\r\n * @param {string} searchName Имя поиска.\r\n * @private\r\n */\r\nfunction _restoreSearchDefaultValues(searchName) {\r\n let jSearch = $('#Search');\r\n jSearch.children().remove();\r\n jSearch.append(window.searches[searchName]);\r\n ChangePositionSearchButtons(searchName);\r\n $(\"#tree_container\").redraw();\r\n}\r\n\r\n/**\r\n * Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ поиск.\r\n *\r\n * @global\r\n * @function CustomSearch\r\n * @param {string} name Имя поиска\r\n * @param {object} el jQuery-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ поиска.\r\n */\r\nfunction CustomSearch(name, el) {\r\n $('.explorer-header__logo').hide();\r\n $('.show-folder-link').show();\r\n\r\n ClearSelectedElements(el);\r\n SetElementToolBar(el);\r\n $('#Search').show();\r\n $('.quick-search').addClass('disabled');\r\n LoadSearch(name, $('#Search'));\r\n $('#Tree').hide();\r\n $(\"#tree_container\").redraw();\r\n}\r\n\r\n/**\r\n * ΠžΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ поиск Π·Π°Π΄Π°Π½ΠΈΠΉ.\r\n *\r\n * @global\r\n * @function JobSearch\r\n * @param {object} el jQuery-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ поиска.\r\n */\r\nfunction JobSearch(el) {\r\n CustomSearch(\"JOB_SEARCH\", el);\r\n $(\"#tree_container\").redraw();\r\n}\r\n\r\n/**\r\n * ΠžΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ поиск Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚ΠΎΠ².\r\n *\r\n * @global\r\n * @function SearchEDoc\r\n * @param {object} el jQuery-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ поиска.\r\n */\r\nfunction SearchEDoc(el) {\r\n CustomSearch(\"EDOCUMENT_SEARCH\", el);\r\n $(\"#tree_container\").redraw();\r\n}\r\n\r\n/**\r\n * ΠžΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ поиск Π·Π°Π΄Π°Ρ‡.\r\n *\r\n * @global\r\n * @function TaskSearch\r\n * @param {object} el jQuery-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ поиска.\r\n */\r\nfunction TaskSearch(el) {\r\n CustomSearch(\"TASK_SEARCH\", el);\r\n $(\"#tree_container\").redraw();\r\n}\r\n\r\n/**\r\n * ΠžΡ‚ΠΎΠ±Ρ€Π°Π·ΠΈΡ‚ΡŒ ΠΎΠ±Ρ‰ΠΈΠΉ поиск.\r\n *\r\n * @global\r\n * @function GeneralSearch\r\n * @param {object} el jQuery-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ поиска.\r\n */\r\nfunction GeneralSearch(el) {\r\n CustomSearch(\"GENERAL_SEARCH\", el);\r\n $(\"#tree_container\").redraw();\r\n}\r\n\r\n/**\r\n * Π—Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ поиск.\r\n *\r\n * @global\r\n * @function LoadSearch\r\n * @param {string} SearchName Имя поиска\r\n * @param {object} obj jQuery-ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ поиска.\r\n */\r\nfunction LoadSearch(SearchName, obj) {\r\n let jSearch = $(`#${SearchName}`);\r\n if (window.searches && window.searches[SearchName]) {\r\n _restoreSearchDefaultValues(SearchName);\r\n } else {\r\n window.searches = window.searches || {};\r\n\r\n $.ajax({\r\n type: 'GET',\r\n dataType: 'html',\r\n url: `DynControl.ashx?c=search&name=${SearchName}`,\r\n cache: false,\r\n success: (res) => {\r\n // Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΠΌ исходноС состояниС поиска. ΠŸΡ€ΠΈΠΌΠ΅Π½ΡΠ΅Ρ‚ΡΡ Π½ΠΈΠΆΠ΅ ΠΏΡ€ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠΌ\r\n // Π²Ρ‹Π±ΠΎΡ€Π΅ поиска с Ρ†Π΅Π»ΡŒΡŽ очистки ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠ΅Π² поиска.\r\n window.searches[SearchName] = res;\r\n\r\n if (!CheckForLoginPage(res)) {\r\n obj.children().remove();\r\n obj.append(res);\r\n $('#spinner').hide().redraw();\r\n $('#main_container').redraw();\r\n ChangePositionSearchButtons(SearchName);\r\n }\r\n if (SearchName === 'SrchGeneral') {\r\n DisableIsAllCheckboxNotChecked('', 'input.Search_Btn:first');\r\n }\r\n $(\"#tree_container\").redraw();\r\n }\r\n });\r\n }\r\n}\r\n\r\n/**\r\n * Π˜Π·ΠΌΠ΅Π½ΡΠ΅Ρ‚ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠ½ΠΎΠΏΠΎΠΊ поиска.\r\n *\r\n * @global\r\n * @function ChangePositionSearchButtons\r\n * @param {string} SearchName Имя поиска.\r\n */\r\nfunction ChangePositionSearchButtons(SearchName) {\r\n setTimeout(function () {\r\n if (typeof SearchName === 'string' || SearchName instanceof String) {\r\n var jSearch = $('#' + SearchName);\r\n var heightNew = windowHeight() - $('#header').height() - $('#toolbar_container').height() - jSearch.find('.LastSearch').height() * 2 - jSearch.find('.Search_Btn_Td').height() * 2 - 13;\r\n var jsearchCriterias = jSearch.find('.Search_Criterias');\r\n var jsearchCriteriasDiv = jSearch.find('.Search_Criterias>div');\r\n var searchCriteriasDivHeight = jsearchCriteriasDiv.height();\r\n var searchCriteriasHeight = jsearchCriterias.height();\r\n if ((searchCriteriasHeight > heightNew) || (jsearchCriteriasDiv.height() > searchCriteriasHeight)) {\r\n jsearchCriterias.css({\r\n height: heightNew,\r\n 'margin-right': '-10px',\r\n 'padding-right': '10px',\r\n overflow: 'scroll',\r\n '-ms-overflow-style': 'scrollbar',\r\n 'overflow-x': 'hidden',\r\n });\r\n }\r\n if (searchCriteriasDivHeight && searchCriteriasDivHeight < heightNew) {\r\n jsearchCriterias.css({\r\n height: jsearchCriteriasDiv.height(),\r\n overflow: 'hidden',\r\n });\r\n }\r\n if ($.ipad || WA.ENV.isAndroid()) {\r\n jsearchCriterias.css({\r\n height: 'inherit',\r\n });\r\n }\r\n }\r\n }, 10);\r\n}\r\n\r\n/**\r\n * ВыполняСтся послС поиска.\r\n *\r\n * @global\r\n * @function AfterSearch\r\n * @private\r\n */\r\nfunction AfterSearch() {\r\n var searchId = $('.Search_Table:visible').parent().attr('id');\r\n if (searchId != undefined) {\r\n ChangePositionSearchButtons(searchId);\r\n if (searchId === \"SrchGeneral\") {\r\n DisableIsAllCheckboxNotChecked(\"\", 'input.Search_Btn:first');\r\n }\r\n }\r\n}\r\n\r\n/**\r\n * Π—Π°ΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ поиск.\r\n *\r\n * @global\r\n * @function ExecuteSearch\r\n * @param {string} name Имя поиска.\r\n * @param {string} sort Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ°.\r\n *\r\n * @example\r\n * ExecuteSearch(searchName, '-MODIFIED');\r\n */\r\nfunction ExecuteSearch(name, sort) {\r\n var f = $(\"form:first\");\r\n var url = f.attr('action');\r\n ShowTopSpinner(L(\"SEARCHING\"));\r\n url = ChangeParamInURL(url, 'searchname', name);\r\n url = ChangeParamInURL(url, 'mode', 'search');\r\n url = RemoveParamInURL(url, 'show');\r\n if (name == 'SrchGeneral') {\r\n url = ChangeParamInURL(url, 'sort', '-RANK');\r\n } if (sort) {\r\n url = ChangeParamInURL(url, 'sort', sort);\r\n } else {\r\n url = RemoveParamInURL(url, 'sort');\r\n }\r\n url = RemoveParamInURL(url, 'uid');\r\n url = RemoveParamInURL(url, 'refcode');\r\n url = RemoveParamInURL(url, 'treeitem');\r\n f.attr('action', url);\r\n f.submit();\r\n}\r\n\r\n/**\r\n * ЗапускаСт поиск послСдних ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ взаимодСйствовал ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ.\r\n * @global\r\n * @param {String} searchName - имя поиска\r\n * @param {String} objType - Ρ‚ΠΈΠΏ искомых ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ²\r\n * @function showLastObjects\r\n */\r\nfunction showLastObjects(searchName, objType) {\r\n switch (objType) {\r\n case \"EDOC\":\r\n executeLastActedObjectsSearch(searchName, 'SrchDocPseudoReader', 'SrchDocPseudoReadedstartDate', '-MODIFIED');\r\n break;\r\n case \"JOB\":\r\n executeLastActedObjectsSearch(searchName, 'SrchJobPseudoModifier', 'SrchJobPseudoModifiedstartDate', '-CREATED');\r\n break;\r\n case \"TASK\":\r\n executeLastActedObjectsSearch(searchName, 'SrchTaskPseudoModifier', 'SrchTaskPseudoModifiedstartDate', '-MODIFIED');\r\n break;\r\n case \"FOL\":\r\n executeLastActedObjectsSearch(searchName, 'SrchFolPseudoModifier', 'SrchFolPseudoModifiedstartDate', 'NAME');\r\n break;\r\n case \"REF\":\r\n DoAction('mode=lastobjects&sort=-MODIFIED&objtype=REF&searchname=' + searchName + '&-uid', false);\r\n break;\r\n }\r\n}\r\n\r\n/**\r\n * ЗаполняСт ΠΊΡ€ΠΈΡ‚Π΅Ρ€ΠΈΠΈ для поиска послСдних ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ², с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ взаимодСйствовал ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒ, ΠΈ запускаСт поиск Π½Π° Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅.\r\n * @global\r\n * @param {String} searchName - имя поиска\r\n * @param {String} actedByRequisiteId - Π˜Π” ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π° с Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠΌ, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ выполняСтся поиск\r\n * @param {String} actedDateRequisiteId - Π˜Π” ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π° с Ρ€Π΅ΠΊΠ²ΠΈΠ·ΠΈΡ‚ΠΎΠΌ, ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΡΡŽΡ‰ΠΈΠΌ Π΄Π°Ρ‚Ρƒ, Π·Π° ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ трСбуСтся произвСсти поиск\r\n * @param {string} sortBy Π‘ΠΎΡ€Ρ‚ΠΈΡ€ΠΎΠ²ΠΊΠ°.\r\n * @function executeLastActedObjectsSearch\r\n */\r\nfunction executeLastActedObjectsSearch(searchName, actedByRequisiteId, actedDateRequisiteId, sortBy) {\r\n ClearSearch(searchName);\r\n setTimeout(() => {\r\n //УстанавливаСм Ρ‚Π΅ΠΊΡƒΡ‰Π΅Π³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ\r\n $.when(WA.UserInfoInit).then(() => {\r\n let jRequisite = $('#' + actedByRequisiteId);\r\n jRequisite.Clear();\r\n let newValue = [\r\n `${Constants.usersReference.REFERENCE_NAME}:${WA.current.user.ID}`,\r\n WA.current.user.fullName,\r\n WA.current.user.fullName,\r\n ];\r\n jRequisite.SetValue(newValue, false);\r\n\r\n //УстанавливаСм ΠΏΠ΅Ρ€ΠΈΠΎΠ΄ поиска Π·Π° послСдниС 2 Π½Π΅Π΄Π΅Π»ΠΈ\r\n let lastWeek = (new Date()).getTime() - 2 * 7 * 24 * 60 * 60 * 1000;\r\n let fromDate = new Date(lastWeek);\r\n\r\n $('#Search')\r\n .find(`input[id$=${actedDateRequisiteId}]`)\r\n .val(formatDate(fromDate));\r\n\r\n ExecuteSearch(searchName, sortBy);\r\n });\r\n }, 0);\r\n}"]}