{"version":3,"sources":["webpack:///./src/components/TableHeaderFilters/LicenseModuleFilter.vue?7092","webpack:///./src/components/TableHeaderFilters/LicenseModuleFilter.vue","webpack:///./src/components/TableHeaderFilters/LicenseModuleFilter.vue?430b","webpack:///./src/components/TableHeaderFilters/LicenseModuleFilter.vue?b02d","webpack:///./src/model/communication/authActions/DeleteInstallationsRequestDownloadCommand.ts","webpack:///../../../src/components/VFileInput/VFileInput.ts","webpack:///../../../src/components/VTextField/index.ts","webpack:///./src/components/TableHeaderFilters/DateRangeFilter.vue?972d","webpack:///./src/components/TableHeaderFilters/DateRangeFilter.vue","webpack:///./src/components/TableHeaderFilters/DateRangeFilter.vue?c57d","webpack:///./src/components/TableHeaderFilters/DateRangeFilter.vue?8f5d","webpack:///./src/components/TableHeaderFilters/ConnectivityStatusFilter.vue?7b6b","webpack:///./src/components/TableHeaderFilters/ConnectivityStatusFilter.vue","webpack:///./src/components/TableHeaderFilters/ConnectivityStatusFilter.vue?00a0","webpack:///./src/components/TableHeaderFilters/ConnectivityStatusFilter.vue?b4ac","webpack:///./src/components/TableHeaderFilters/TableFiltersRow.vue?57ba","webpack:///./src/components/TableHeaderFilters/TableFiltersRow.vue","webpack:///./src/components/TableHeaderFilters/TableFiltersRow.vue?ce06","webpack:///./src/components/TableHeaderFilters/TableFiltersRow.vue?98cb","webpack:///./node_modules/fast-xml-parser/src/xmlparser/OptionsBuilder.js","webpack:///./src/components/PageTemplates/StandardPage.vue?398d","webpack:///./src/components/PageTemplates/StandardPage.vue","webpack:///./src/components/PageTemplates/StandardPage.vue?dd05","webpack:///./src/components/PageTemplates/StandardPage.vue?191b","webpack:///./src/components/TableHeaderFilters/BranchFilter.vue?6bce","webpack:///./node_modules/fast-xml-parser/src/validator.js","webpack:///./src/views/App/Tools/LicensesManagement/LicensesMainTable.vue?b4cb","webpack:///./node_modules/fast-xml-parser/src/fxp.js","webpack:///./node_modules/fast-xml-parser/src/xmlbuilder/json2xml.js","webpack:///./node_modules/fast-xml-parser/src/xmlparser/XMLParser.js","webpack:///./src/views/App/Tools/LicensesManagement/LicenseModuleCheckbox.vue?94a9","webpack:///./node_modules/fast-xml-parser/src/xmlparser/node2json.js","webpack:///./node_modules/fast-xml-parser/src/xmlbuilder/orderedJs2Xml.js","webpack:///./node_modules/fast-xml-parser/src/xmlparser/DocTypeReader.js","webpack:///./src/views/App/Tools/LicensesManagement/index.vue?0c78","webpack:///./src/views/App/Tools/LicensesManagement/LicensesMainTable.vue?fcdc","webpack:///./src/views/App/Tools/LicensesManagement/LicenseModuleCheckbox.vue?e8a7","webpack:///./src/views/App/Tools/LicensesManagement/LicenseModuleCheckbox.vue","webpack:///./src/views/App/Tools/LicensesManagement/LicenseModuleCheckbox.vue?0f28","webpack:///./src/views/App/Tools/LicensesManagement/LicenseModuleCheckbox.vue?2a3b","webpack:///./src/views/App/Tools/LicensesManagement/LicensesConfirmationModal.vue?a71d","webpack:///./src/views/App/Tools/LicensesManagement/LicensesConfirmationModal.vue","webpack:///./src/views/App/Tools/LicensesManagement/LicensesConfirmationModal.vue?7544","webpack:///./src/views/App/Tools/LicensesManagement/LicensesConfirmationModal.vue?b174","webpack:///./src/views/App/Tools/LicensesManagement/DeleteInstallationsConfirmationModal.vue?6fd5","webpack:///./src/components/AuthActions/AuthActionsAlert.vue?3aaa","webpack:///./src/components/AuthActions/InfoButton.vue?4ecd","webpack:///./src/components/AuthActions/InfoButton.vue","webpack:///./src/components/AuthActions/InfoButton.vue?bda0","webpack:///./src/components/AuthActions/InfoButton.vue?4d64","webpack:///./src/components/AuthActions/AuthActionsAlert.vue","webpack:///./src/components/AuthActions/AuthActionsAlert.vue?753c","webpack:///./src/components/AuthActions/AuthActionsAlert.vue?35c0","webpack:///./src/model/communication/license/GetInstallationsEnabledModulesCommand.ts","webpack:///./src/views/App/Tools/LicensesManagement/DeleteInstallationsConfirmationModal.vue","webpack:///./src/views/App/Tools/LicensesManagement/DeleteInstallationsConfirmationModal.vue?929f","webpack:///./src/views/App/Tools/LicensesManagement/DeleteInstallationsConfirmationModal.vue?aa77","webpack:///./src/views/App/Tools/LicensesManagement/LicensesMainTable.vue","webpack:///./src/views/App/Tools/LicensesManagement/LicensesMainTable.vue?95a8","webpack:///./src/views/App/Tools/LicensesManagement/LicensesMainTable.vue?aed9","webpack:///./src/views/App/Tools/LicensesManagement/SummaryTable.vue?241c","webpack:///./src/views/App/Tools/LicensesManagement/SummaryTable.vue","webpack:///./src/views/App/Tools/LicensesManagement/SummaryTable.vue?7477","webpack:///./src/views/App/Tools/LicensesManagement/SummaryTable.vue?f5b8","webpack:///./src/views/App/Tools/LicensesManagement/LicensesStatus.vue?82a1","webpack:///./src/views/App/Tools/LicensesManagement/LicensesStatus.vue","webpack:///./src/views/App/Tools/LicensesManagement/LicensesStatus.vue?fb2c","webpack:///./src/views/App/Tools/LicensesManagement/LicensesStatus.vue?9d44","webpack:///./src/components/AuthActions/UploadAuthActionCard.vue?b561","webpack:///./src/model/data/authActions/AuthActionTypeEnum.ts","webpack:///./src/components/AuthActions/GenericConfirmationModal.vue?fe16","webpack:///./src/model/data/authActions/DeleteInstallations/DeleteInstallationsAuthActionResponse.ts","webpack:///./src/model/data/authActions/AuthActionResponse.ts","webpack:///./src/model/data/authActions/AuthActionResponseContainer.ts","webpack:///./src/model/communication/authActions/UploadAuthActionCommand.ts","webpack:///./src/model/communication/authActions/DeleteInstallationsResData.ts","webpack:///./src/components/AuthActions/GenericConfirmationModal.vue","webpack:///./src/components/AuthActions/GenericConfirmationModal.vue?0fd0","webpack:///./src/components/AuthActions/GenericConfirmationModal.vue?b348","webpack:///./src/components/AuthActions/UploadAuthActionCard.vue","webpack:///./src/components/AuthActions/UploadAuthActionCard.vue?c4ca","webpack:///./src/components/AuthActions/UploadAuthActionCard.vue?1664","webpack:///./src/model/communication/license/EditInstallationsEnabledModulesCommand.ts","webpack:///./src/model/communication/license/DownloadInstallationsEnabledModulesCommand.ts","webpack:///./src/model/data/License/LicenseModuleSummary.ts","webpack:///./src/model/communication/license/GetLicensesDataSummaryResData.ts","webpack:///./src/model/communication/license/GetLicensesDataSummaryCommand.ts","webpack:///./src/model/communication/license/LicenseModulesAssignToAllCommand.ts","webpack:///./src/views/App/Tools/LicensesManagement/index.vue","webpack:///./src/views/App/Tools/LicensesManagement/index.vue?e16c","webpack:///./src/views/App/Tools/LicensesManagement/index.vue?1edb","webpack:///./src/components/InstallationStatusTableHeaderFilter.vue?6412","webpack:///./src/components/InstallationStatusTableHeaderFilter.vue","webpack:///./src/components/InstallationStatusTableHeaderFilter.vue?1604","webpack:///./src/components/InstallationStatusTableHeaderFilter.vue?3252","webpack:///./node_modules/fast-xml-parser/src/xmlparser/OrderedObjParser.js","webpack:///./src/components/TableHeaderFilters/BranchFilter.vue?559f","webpack:///./src/components/TableHeaderFilters/BranchFilter.vue","webpack:///./src/components/TableHeaderFilters/BranchFilter.vue?eb65","webpack:///./src/components/TableHeaderFilters/BranchFilter.vue?04b1","webpack:///./node_modules/fast-xml-parser/src/util.js","webpack:///./src/components/DataTableColumnVisibilityFilter/ColumnVisibilityFilter.vue?32f2","webpack:///./src/components/DataTableColumnVisibilityFilter/ColumnVisibilityFilter.vue","webpack:///./src/components/DataTableColumnVisibilityFilter/ColumnVisibilityFilter.vue?b73e","webpack:///./src/components/DataTableColumnVisibilityFilter/ColumnVisibilityFilter.vue?6f88","webpack:///./src/model/communication/license/GetInstallationsEnabledModulesReqData.ts","webpack:///./node_modules/strnum/strnum.js","webpack:///./node_modules/fast-xml-parser/src/xmlparser/xmlNode.js"],"names":["render","_vm","this","_h","$createElement","_c","_self","attrs","scopedSlots","_u","key","fn","ref","on","selection","value","_g","_l","item","id","staticClass","text","model","callback","$$v","expression","staticRenderFns","extend","data","ignoreSelectionChanges","computed","availableSet","$t","watch","newValue","$emit","mounted","component","VBadge","VBtn","VCheckbox","VList","VListItem","VMenu","ENDPOINT","DeleteInstallationsRequestDownloadCommand","installationNames","endPoint","httpVerb","params","responseType","console","debug","executeCommand","name","prop","event","props","chips","clearable","type","default","counterSizeString","counterString","hideInput","placeholder","prependIcon","readonly","showSize","Boolean","validator","v","includes","smallChips","truncateLength","Number","val","classes","computedCounterValue","fileCount","isMultiple","lazyValue","$vuetify","lang","t","bytes","internalArrayValue","reduce","size","base","internalValue","get","set","isDirty","length","isLabelActive","$attrs","hasOwnProperty","map","file","truncatedText","hasChips","handler","immediate","$refs","input","methods","clearableCallback","genChips","small","genControl","display","genInput","genPrependSlot","icon","genIcon","genSlot","genSelectionText","genSelections","children","$scopedSlots","index","class","genTextFieldSlot","node","click","onInput","files","e","onKeyDown","truncateText","str","charsKeepOneSide","Math","applied","$event","currentDateRange","sendedDataRange","someChanges","onApply","_v","_s","reset","domProps","sendedDataRangeLabel","currentDataRangeLabel","radioGroup","radio","slot","comboboxItems","comboboxSelections","$set","_e","components","VFaIcon","dateRange","description","String","_","radios","combobox","changes","forEach","element","filter","c","today","temp","Date","toISOString","substring","date7DaysAgo","setDate","getDate","date1MonthAgo","setMonth","getMonth","date3MonthsAgo","date6MonthsAgo","date1YearAgo","setFullYear","getFullYear","date2YearsAgo","date2000","sortedArray","sortBy","format","userDateFormat","updateCurrentDateRange","startDate","endDate","push","sortedDates","setUTCHours","datesToReturn","VCard","VCardSubtitle","VDatePicker","VRadio","VRadioGroup","VSelect","VTooltip","connectivityStatusEnumLabel","availableData","Object","values","ConnectivityStatusEnum","x","isNaN","parseInt","toString","VListItemAction","h","align","filters","cf","headerValue","tag","customAttrs","ignoreFilterChanges","headers","Array","computedFilters","required","newFilters","deep","VCol","defaultOptions","preserveOrder","attributeNamePrefix","attributesGroupName","textNodeName","ignoreAttributes","removeNSPrefix","allowBooleanAttributes","parseTagValue","parseAttributeValue","trimValues","cdataPropName","numberParseOptions","hex","leadingZeros","eNotation","tagValueProcessor","tagName","attributeValueProcessor","attrName","stopNodes","alwaysCreateTextNode","isArray","commentPropName","unpairedTags","processEntities","htmlEntities","ignoreDeclaration","ignorePiTags","transformTagName","transformAttributeName","updateTag","jPath","buildOptions","options","assign","exports","_b","title","color","onReload","deviceTreeSelectedObjectItems","_t","mainTableComponent","reqData","onOptionsChanged","onFiltersChanged","DeviceTreeAppPage","dataTableItemsPerPage","currentPaginationOptions","page","itemsPerPage","sortDesc","route","menuRoutes","$store","getters","availableMenu","styleProps","found","resultObj","findIconColorAndTitle","child","path","name_i18n","newReqData","folderIds","DeviceTreeNodeTypeEnum","Device","Folder","offset","queryLimit","orderBy","orderByDescending","mainTable","backToTheFirst","newOptions","needToSendRequest","filterKey","currentSelections","util","isWhiteSpace","char","readPI","xmlData","i","start","tagname","substr","getErrorObject","getLineNumberForPosition","readCommentAndCDATA","angleBracketsCount","validate","tags","tagFound","reachedRoot","err","tagStartPos","closingTag","trim","validateTagName","msg","result","readAttributeStr","attrStr","attrStrStart","isValid","validateAttributeString","code","line","tagClosed","otg","pop","openPos","col","indexOf","afterAmp","validateAmpersand","JSON","stringify","replace","doubleQuote","singleQuote","startChar","validAttrStrRegxp","RegExp","matches","getAllMatches","attrNames","getPositionFromMatch","undefined","validateAttrName","validateNumberAmpersand","re","match","count","message","lineNumber","isName","lines","split","startIndex","XMLParser","XMLBuilder","module","XMLValidator","buildFromOrderedJs","indentBy","suppressEmptyNode","suppressUnpairedNode","suppressBooleanAttributes","a","entities","regex","oneListGroup","Builder","isAttribute","attrPrefixLen","processTextOrObjNode","indentate","tagEndChar","newLine","object","level","j2x","keys","buildTextValNode","buildObjectNode","repeat","startsWith","prototype","build","jObj","arrayNodeName","attr","buildAttrPairStr","newval","replaceEntitiesValue","arrLen","listTagVal","j","Ks","L","closeTag","tagEndExp","piClosingChar","textValue","entity","OrderedObjParser","prettify","externalEntities","validationOption","Error","orderedObjParser","addExternalEntities","orderedResult","parseXml","compress","arr","compressedObj","tagObj","property","propName","newJpath","isLeaf","isLeafTag","assignAttributes","obj","attrMap","jpath","len","atrrName","propCount","EOL","toXml","jArray","indentation","arrToStr","xmlStr","isPreviousElementTag","newJPath","tagText","isStopNode","attStr","attr_to_str","tempInd","piTextNodeName","newIdentation","tagStart","tagValue","endsWith","attrVal","lastIndexOf","readDocType","hasBody","comment","exp","isEntity","entityName","readEntityExp","validateEntityName","regx","isElement","isAttlist","isNotation","isComment","routes","LicensesManagement","loading","installations","paginatedTotalItems","LicensesMainTable","isSaveButtonEnable","sendRequest","onSubmit","onDownload","authActionsEnabled","loadingSummary","assignToAll","onAuthActionExecuted","deleteInstallationsRequestDownloading","availableHeaders","enabled","localInstallations","canDeleteInstallations","confirmationDialog","selectedItems","$tc","deleteInstallationsConfirmationDialog","deleteInstallationsRequestDownload","initialAvailableHeaders","proxy","licenseData","licenseChecksum","agentInfo","lastMessage","moment","utc","version","registration","LicenseModuleEnum","ServiceAndUpdatesManagement","daysToChangeModules","FitnessStatistics","SecurityManagement","CashFlowManagement","PredictiveMaintenance","RemoteLink","OneTimeCode","computedEnabled","disabled","noLicenseAvailable","currentSelection","installationName","state","license","currentInstallation","enabledModules","newLocalInstallations","cloneDeep","availableLicenses","getAvailableLicenses","serverValue","currentServerInstallation","items","defaultLicenseModuleEnumSorting","concat","licenseModule","getHeader","getLicenseModuleIconColor","getLicenseModuleLabel","getCheckBoxValue","titles","moduleEnumValue","sortable","width","res","installation","currentLocalInstallation","localName","localLicenseData","VAlert","VCardActions","VCardTitle","VDataTable","VDivider","VIcon","VRow","VSpacer","onConfirm","dialog","VCardText","VDialog","InfoButton","GetInstallationsResData","Command","AuthActionsAlert","requiredInstallations","licensesDataSummary","licensesDataSummaryLocal","totalLicenses","request","GetInstallationsEnabledModulesReqData","execute","response","responseStatus","ApiResponseStatusEnum","Success","error","LicenseModuleCheckbox","TableFiltersRow","LicensesConfirmationModal","DeleteInstallationsConfirmationModal","GlobalStatusInstallationChip","ColumnVisibilityFilter","ConnectivityStatusChip","ClientPrivileges","BranchFilter","DateRangeFilter","LicenseModuleFilter","ignoreOptionsChanges","ignoreDataChanges","InstallationStatusTableHeaderFilter","ConnectivityStatusFilter","authUser","authMod","currentUser","profile","privileges","and","AuthActions","canBeHidden","log","inst","status","fileURL","window","URL","createObjectURL","Blob","fileLink","document","createElement","href","setAttribute","body","appendChild","VToolbar","VToolbarItems","VToolbarTitle","Intl","NumberFormat","arrayResult","licensesData","areAllExpirationDatesTheSame","content","getStyle","getStatus","licenseModules","modules","nDevices","LicenseModuleStatusEnum","Valid","CloseToExpiration","abs","getExpirationDateDiff","ExpiredRecently","Expired","AuthActionTypeEnum","openFile","showOkAlert","showErrorAlert","showConfirmationDialog","GenericConfirmationModal","actionSuccessfullyExecuted","actionExecutedWithError","executing","action","DeleteInstallations","expirationDate","unparsedParams","parseParams","InstallationNames","InstallationName","responseContent","AuthorizedActionResponse","currentActionType","expiration","Params","signature","reader","FileReader","Promise","resolve","onload","jsonObj","AuthActionResponseContainer","parser","parse","container","AuthorizedActionResponseContainer","parseFromFile_v1","readAsText","sign","Signature","deserialize","atob","Content","parsedContainer","parserOptions","newFormData","FormData","append","deletedInstallationNames","notDeletedInstallationNames","Payload","DeletedInstallationNames","NotDeletedInstallationNames","ServiceResponseData","newFile","loadFile","Response","parsedRes","join","Warning","Message","CReqExecutionResultEnum","SignatureNotValid","parseFromFile","actionContainer","VSkeletonLoader","VFileInput","payload","exportType","Module","TotalLicenses","AssignedLicenses","assignedLicenses","Modules","m","StandardPage","SummaryTable","LicensesStatus","UploadAuthActionCard","isDifferent","serverInstallation","sendLicensesDataSummaryRequest","responseSummary","installationsToSend","installationStatusEnumLabel","InstallationStatusEnum","xmlNode","toNumber","nameRegexp","currentNode","tagsNodeStack","docTypeEntities","lastEntities","ampEntity","parseTextData","resolveNameSpace","buildAttributesMap","isItStopNode","readStopNodeData","saveTextToParentTag","addChild","entKeys","ent","dontTrim","hasAttributes","isLeafNode","escapeEntities","parseValue","trimmedVal","prefix","charAt","attrsRegx","oldVal","aName","newVal","attrCollection","xmlObj","textData","ch","closeIndex","findClosingIndex","colonIndex","lastTagName","propIndex","tagData","readTagExp","childNode","add","tagExp","attrExpPresent","endIndex","lastTag","tagContent","currentTagName","allNodesExp","stopNodePath","stopNodeExp","tagExpWithClosingIndex","closingChar","attrBoundary","errMsg","closingIndex","separatorIndex","search","openTagCount","closeTagName","openTagName","shouldParse","isExist","lastSelectedItemsLength","openMenu","staticStyle","availableBranchNames","availableBranches","application","sortedBranches","b","branch","selected","sort","localeCompare","VProgressCircular","VSheet","VTextField","VTreeview","nameStartChar","nameChar","regexName","string","exec","allmatches","lastIndex","isEmptyObject","merge","target","arrayMode","getValue","currentHeaders","header","onSwitchChange","pageTitle","initialHeaders","syncHeaders","emitChange","getLocalStorageKey","LocalStorageManager","Write","find","actionsIndex","findIndex","splice","migrateUndefinedValue","localStorageKey","readValue","Read","legacyKey","Remove","created","VListItemContent","VListItemTitle","VSwitch","branchNames","globalStatusFilter","connectivityStatusFilter","installationLastMessageDateRange","agentLastMessageDateRange","registrationDateRange","installationPrefix","tagValues","machineModels","GetServerInstallationsEnabledModulesReqData","req","disabledModules","k","hexRegex","numRegex","parseFloat","consider","decimalPoint","trimmedStr","skipLike","test","numTrimmedByZeros","trimZeros","num","numStr","XmlNode"],"mappings":"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","file":"js/chunk_app_licenses_management_view.9c0c5848.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-menu',{attrs:{\"offset-y\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-badge',{attrs:{\"overlap\":\"\",\"content\":1,\"value\":_vm.selection && _vm.selection.value >= 0}},[_c('v-btn',_vm._g({attrs:{\"small\":\"\",\"icon\":\"\"}},on),[_c('v-fa-icon',{attrs:{\"small\":\"\",\"icon\":\"filter\"}})],1)],1)]}}])},[_c('v-list',{attrs:{\"dense\":\"\"}},_vm._l((_vm.availableSet),function(item,id){return _c('v-list-item',{key:id,attrs:{\"dense\":\"\"}},[_c('v-checkbox',{staticClass:\"my-1\",attrs:{\"value\":item,\"label\":item.text,\"dense\":\"\",\"hide-details\":\"\"},model:{value:(_vm.selection),callback:function ($$v) {_vm.selection=$$v},expression:\"selection\"}})],1)}),1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\n\r\nexport default Vue.extend({\r\n data() {\r\n return {\r\n selection: null,\r\n ignoreSelectionChanges: false,\r\n };\r\n },\r\n computed: {\r\n availableSet() {\r\n return [\r\n {\r\n text: this.$t(\"common.all\"),\r\n value: -1,\r\n },\r\n {\r\n text: this.$t(\"common.enabled\"),\r\n value: 1,\r\n },\r\n {\r\n text: this.$t(\"common.disabled\"),\r\n value: 0,\r\n },\r\n ];\r\n },\r\n },\r\n watch: {\r\n selection(newValue) {\r\n if (newValue && newValue.value != null) {\r\n if (!this.ignoreSelectionChanges) this.$emit(\"input\", newValue.value);\r\n this.ignoreSelectionChanges = false;\r\n } else {\r\n this.selection = {\r\n text: this.$t(\"common.all\"),\r\n value: -1,\r\n };\r\n }\r\n },\r\n },\r\n mounted() {\r\n this.ignoreSelectionChanges = true;\r\n this.selection = {\r\n text: this.$t(\"common.all\"),\r\n value: -1,\r\n };\r\n },\r\n});\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LicenseModuleFilter.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LicenseModuleFilter.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LicenseModuleFilter.vue?vue&type=template&id=354986f6&\"\nimport script from \"./LicenseModuleFilter.vue?vue&type=script&lang=ts&\"\nexport * from \"./LicenseModuleFilter.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBadge } from 'vuetify/lib/components/VBadge';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCheckbox } from 'vuetify/lib/components/VCheckbox';\nimport { VList } from 'vuetify/lib/components/VList';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\ninstallComponents(component, {VBadge,VBtn,VCheckbox,VList,VListItem,VMenu})\n","import { AuthAction } from \"@/model/data/authActions/AuthAction\";\r\nimport { AuthActionTypeEnum } from \"@/model/data/authActions/AuthActionTypeEnum\";\r\nimport { AxiosResponse } from \"axios\";\r\nimport { API_PREFIX, API_VERSION, Command, HttpVerbType } from \"../Command\";\r\n\r\nconst ENDPOINT = \"/license/aareq_download/delete_installations\";\r\n\r\nexport class DeleteInstallationsRequestDownloadCommand extends Command {\r\n endPoint: string = API_PREFIX + API_VERSION + ENDPOINT;\r\n httpVerb: HttpVerbType = \"post\";\r\n params: any = null;\r\n\r\n constructor(installationNames: string[]) {\r\n super();\r\n this.params = installationNames;\r\n this.responseType = \"text\";\r\n }\r\n\r\n public async execute(): Promise {\r\n console.debug(\"DeleteInstallationsRequestDownloadCommand.execute()\");\r\n return await this.executeCommand(this.params);\r\n }\r\n}\r\n","// Styles\nimport './VFileInput.sass'\n\n// Extensions\nimport VTextField from '../VTextField'\n\n// Components\nimport { VChip } from '../VChip'\n\n// Types\nimport { PropValidator } from 'vue/types/options'\n\n// Utilities\nimport { deepEqual, humanReadableFileSize, wrapInArray } from '../../util/helpers'\nimport { consoleError } from '../../util/console'\nimport { mergeStyles } from '../../util/mergeData'\n\nexport default VTextField.extend({\n name: 'v-file-input',\n\n model: {\n prop: 'value',\n event: 'change',\n },\n\n props: {\n chips: Boolean,\n clearable: {\n type: Boolean,\n default: true,\n },\n counterSizeString: {\n type: String,\n default: '$vuetify.fileInput.counterSize',\n },\n counterString: {\n type: String,\n default: '$vuetify.fileInput.counter',\n },\n hideInput: Boolean,\n placeholder: String,\n prependIcon: {\n type: String,\n default: '$file',\n },\n readonly: {\n type: Boolean,\n default: false,\n },\n showSize: {\n type: [Boolean, Number],\n default: false,\n validator: (v: boolean | number) => {\n return (\n typeof v === 'boolean' ||\n [1000, 1024].includes(v)\n )\n },\n } as PropValidator,\n smallChips: Boolean,\n truncateLength: {\n type: [Number, String],\n default: 22,\n },\n type: {\n type: String,\n default: 'file',\n },\n value: {\n default: undefined,\n validator: val => {\n return wrapInArray(val).every(v => v != null && typeof v === 'object')\n },\n } as PropValidator,\n },\n\n computed: {\n classes (): object {\n return {\n ...VTextField.options.computed.classes.call(this),\n 'v-file-input': true,\n }\n },\n computedCounterValue (): string {\n const fileCount = (this.isMultiple && this.lazyValue)\n ? this.lazyValue.length\n : (this.lazyValue instanceof File) ? 1 : 0\n\n if (!this.showSize) return this.$vuetify.lang.t(this.counterString, fileCount)\n\n const bytes = this.internalArrayValue.reduce((bytes: number, { size = 0 }: File) => {\n return bytes + size\n }, 0)\n\n return this.$vuetify.lang.t(\n this.counterSizeString,\n fileCount,\n humanReadableFileSize(bytes, this.base === 1024)\n )\n },\n internalArrayValue (): File[] {\n return wrapInArray(this.internalValue)\n },\n internalValue: {\n get (): File[] {\n return this.lazyValue\n },\n set (val: File | File[]) {\n this.lazyValue = val\n this.$emit('change', this.lazyValue)\n },\n },\n isDirty (): boolean {\n return this.internalArrayValue.length > 0\n },\n isLabelActive (): boolean {\n return this.isDirty\n },\n isMultiple (): boolean {\n return this.$attrs.hasOwnProperty('multiple')\n },\n text (): string[] {\n if (!this.isDirty) return [this.placeholder]\n\n return this.internalArrayValue.map((file: File) => {\n const {\n name = '',\n size = 0,\n } = file\n\n const truncatedText = this.truncateText(name)\n\n return !this.showSize\n ? truncatedText\n : `${truncatedText} (${humanReadableFileSize(size, this.base === 1024)})`\n })\n },\n base (): 1000 | 1024 | undefined {\n return typeof this.showSize !== 'boolean' ? this.showSize : undefined\n },\n hasChips (): boolean {\n return this.chips || this.smallChips\n },\n },\n\n watch: {\n readonly: {\n handler (v) {\n if (v === true) consoleError('readonly is not supported on ', this)\n },\n immediate: true,\n },\n value (v) {\n const value = this.isMultiple ? v : v ? [v] : []\n if (!deepEqual(value, this.$refs.input.files)) {\n // When the input value is changed programatically, clear the\n // internal input's value so that the `onInput` handler\n // can be triggered again if the user re-selects the exact\n // same file(s). Ideally, `input.files` should be\n // manipulated directly but that property is readonly.\n this.$refs.input.value = ''\n }\n },\n },\n\n methods: {\n clearableCallback () {\n this.internalValue = this.isMultiple ? [] : undefined\n this.$refs.input.value = ''\n },\n genChips () {\n if (!this.isDirty) return []\n\n return this.text.map((text, index) => this.$createElement(VChip, {\n props: { small: this.smallChips },\n on: {\n 'click:close': () => {\n const internalValue = this.internalValue\n internalValue.splice(index, 1)\n this.internalValue = internalValue // Trigger the watcher\n },\n },\n }, [text]))\n },\n genControl () {\n const render = VTextField.options.methods.genControl.call(this)\n\n if (this.hideInput) {\n render.data!.style = mergeStyles(\n render.data!.style,\n { display: 'none' }\n )\n }\n\n return render\n },\n genInput () {\n const input = VTextField.options.methods.genInput.call(this)\n\n // We should not be setting value\n // programmatically on the input\n // when it is using type=\"file\"\n delete input.data!.domProps!.value\n\n // This solves an issue in Safari where\n // nothing happens when adding a file\n // do to the input event not firing\n // https://github.com/vuetifyjs/vuetify/issues/7941\n delete input.data!.on!.input\n input.data!.on!.change = this.onInput\n\n return [this.genSelections(), input]\n },\n genPrependSlot () {\n if (!this.prependIcon) return null\n\n const icon = this.genIcon('prepend', () => {\n this.$refs.input.click()\n })\n\n return this.genSlot('prepend', 'outer', [icon])\n },\n genSelectionText (): string[] {\n const length = this.text.length\n\n if (length < 2) return this.text\n if (this.showSize && !this.counter) return [this.computedCounterValue]\n return [this.$vuetify.lang.t(this.counterString, length)]\n },\n genSelections () {\n const children = []\n\n if (this.isDirty && this.$scopedSlots.selection) {\n this.internalArrayValue.forEach((file: File, index: number) => {\n if (!this.$scopedSlots.selection) return\n\n children.push(\n this.$scopedSlots.selection({\n text: this.text[index],\n file,\n index,\n })\n )\n })\n } else {\n children.push(this.hasChips && this.isDirty ? this.genChips() : this.genSelectionText())\n }\n\n return this.$createElement('div', {\n staticClass: 'v-file-input__text',\n class: {\n 'v-file-input__text--placeholder': this.placeholder && !this.isDirty,\n 'v-file-input__text--chips': this.hasChips && !this.$scopedSlots.selection,\n },\n }, children)\n },\n genTextFieldSlot () {\n const node = VTextField.options.methods.genTextFieldSlot.call(this)\n\n node.data!.on = {\n ...(node.data!.on || {}),\n click: () => this.$refs.input.click(),\n }\n\n return node\n },\n onInput (e: Event) {\n const files = [...(e.target as HTMLInputElement).files || []]\n\n this.internalValue = this.isMultiple ? files : files[0]\n\n // Set initialValue here otherwise isFocused\n // watcher in VTextField will emit a change\n // event whenever the component is blurred\n this.initialValue = this.internalValue\n },\n onKeyDown (e: KeyboardEvent) {\n this.$emit('keydown', e)\n },\n truncateText (str: string) {\n if (str.length < Number(this.truncateLength)) return str\n const charsKeepOneSide = Math.floor((Number(this.truncateLength) - 1) / 2)\n return `${str.slice(0, charsKeepOneSide)}…${str.slice(str.length - charsKeepOneSide)}`\n },\n },\n})\n","import VTextField from './VTextField'\n\nexport { VTextField }\nexport default VTextField\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-menu',{attrs:{\"offset-y\":\"\",\"close-on-content-click\":false},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-badge',{attrs:{\"overlap\":\"\",\"content\":1,\"value\":_vm.applied}},[_c('v-btn',_vm._g({attrs:{\"small\":\"\",\"icon\":\"\"},on:{\"click\":function($event){_vm.currentDateRange = _vm.sendedDataRange}}},on),[_c('v-fa-icon',{attrs:{\"small\":\"\",\"icon\":\"filter\"}})],1)],1)]}}])},[_c('v-card',{staticClass:\"pb-4 px-3\",attrs:{\"flat\":\"\",\"width\":\"450\"}},[_c('v-card',{attrs:{\"flat\":\"\"}},[_c('v-card',{staticClass:\"d-flex justify-center py-4 mx-4\",attrs:{\"flat\":\"\"}},[_c('v-btn',{staticClass:\"mr-1\",attrs:{\"color\":\"success\",\"width\":\"100%\",\"disabled\":_vm.currentDateRange == null || _vm.currentDateRange.length != 2 || !_vm.someChanges},on:{\"click\":function($event){return _vm.onApply()}}},[_vm._v(\" \"+_vm._s(_vm.$t(\"common.apply\"))+\" \")]),_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-btn',_vm._g({attrs:{\"icon\":\"\",\"disabled\":_vm.sendedDataRange.length == 0,\"color\":\"primary\"},on:{\"click\":function($event){_vm.reset();\n _vm.currentDateRange = [];\n _vm.sendedDataRange = _vm.currentDateRange;\n _vm.$emit('input', _vm.currentDateRange);\n _vm.applied = false;}}},on),[_c('v-fa-icon',{attrs:{\"icon\":\"trash\"}})],1)]}}])},[_c('span',{domProps:{\"textContent\":_vm._s(_vm.$t('common.deleteFilter'))}})])],1),_c('v-card-subtitle',{staticClass:\"pa-0\"},[_c('b',[_vm._v(_vm._s(_vm.$t(\"common.currentDateRangeAppied\"))+\":\")]),_vm._v(\" \"+_vm._s(_vm.sendedDataRangeLabel)+\" \")]),_c('v-card-subtitle',{staticClass:\"pa-0\"},[_c('b',[_vm._v(_vm._s(_vm.$t(\"common.currentDateRange\"))+\":\")]),_vm._v(\" \"+_vm._s(_vm.currentDataRangeLabel)+\" \")]),_c('v-radio-group',{model:{value:(_vm.radioGroup),callback:function ($$v) {_vm.radioGroup=$$v},expression:\"radioGroup\"}},_vm._l((_vm.radios),function(radio){return _c('v-radio',{key:radio.value,attrs:{\"value\":radio.value}},[_c('template',{slot:\"label\"},[_vm._v(\" \"+_vm._s(radio.text)+\" \"),(radio.combobox)?_c('v-card',{staticClass:\"ml-2\",attrs:{\"flat\":\"\",\"width\":\"200\"}},[_c('v-select',{attrs:{\"items\":_vm.comboboxItems,\"outlined\":\"\",\"dense\":\"\",\"hide-details\":\"\",\"disabled\":radio.value != _vm.radioGroup},model:{value:(_vm.comboboxSelections[radio.value]),callback:function ($$v) {_vm.$set(_vm.comboboxSelections, radio.value, $$v)},expression:\"comboboxSelections[radio.value]\"}})],1):_vm._e()],1)],2)}),1),(_vm.radioGroup == 2)?_c('v-card',{staticClass:\"d-flex justify-center\"},[_c('v-date-picker',{attrs:{\"range\":\"\",\"no-title\":\"\"},model:{value:(_vm.currentDateRange),callback:function ($$v) {_vm.currentDateRange=$$v},expression:\"currentDateRange\"}})],1):_vm._e()],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport VFaIcon from \"../VFaIcon.vue\";\r\nimport _ from \"lodash\";\r\nimport { mapGetters } from \"vuex\";\r\nimport moment from \"moment\";\r\n\r\nexport default Vue.extend({\r\n components: { VFaIcon },\r\n data() {\r\n return {\r\n sendedDataRange: [],\r\n currentDateRange: [],\r\n applied: false,\r\n radioGroup: -1,\r\n comboboxSelections: [],\r\n };\r\n },\r\n props: {\r\n dateRange: [],\r\n description: String,\r\n },\r\n computed: {\r\n ...mapGetters([\"userDateFormat\"]),\r\n _() {\r\n return _;\r\n },\r\n\r\n radios() {\r\n return [\r\n {\r\n text: this.$t(\"common.withinTheLast\"),\r\n value: 0,\r\n combobox: true,\r\n },\r\n {\r\n text: this.$t(\"common.moreThan\"),\r\n value: 1,\r\n combobox: true,\r\n },\r\n {\r\n text: this.$t(\"common.selectDateRange\"),\r\n value: 2,\r\n },\r\n ];\r\n },\r\n\r\n someChanges() {\r\n let changes = false;\r\n if (this.sendedDataRange.length != this.currentDateRange.length) changes = true;\r\n this.sendedDataRange.forEach((element) => {\r\n if (this.currentDateRange.filter((c) => c == element).length != 1) changes = true;\r\n });\r\n this.currentDateRange.forEach((element) => {\r\n if (this.sendedDataRange.filter((c) => c == element).length != 1) changes = true;\r\n });\r\n return changes;\r\n },\r\n today() {\r\n let temp: Date = new Date();\r\n return temp.toISOString().substring(0, 10);\r\n },\r\n date7DaysAgo() {\r\n let temp: Date = new Date();\r\n temp.setDate(new Date().getDate() - 7);\r\n return temp.toISOString().substring(0, 10);\r\n },\r\n date1MonthAgo() {\r\n let temp: Date = new Date();\r\n temp.setMonth(new Date().getMonth() - 1);\r\n return temp.toISOString().substring(0, 10);\r\n },\r\n date3MonthsAgo() {\r\n let temp: Date = new Date();\r\n temp.setMonth(new Date().getMonth() - 3);\r\n return temp.toISOString().substring(0, 10);\r\n },\r\n date6MonthsAgo() {\r\n let temp: Date = new Date();\r\n temp.setMonth(new Date().getMonth() - 6);\r\n return temp.toISOString().substring(0, 10);\r\n },\r\n date1YearAgo() {\r\n let temp: Date = new Date();\r\n temp.setFullYear(new Date().getFullYear() - 1);\r\n return temp.toISOString().substring(0, 10);\r\n },\r\n date2YearsAgo() {\r\n let temp: Date = new Date();\r\n temp.setFullYear(new Date().getFullYear() - 2);\r\n return temp.toISOString().substring(0, 10);\r\n },\r\n date2000() {\r\n return \"2000-01-01\";\r\n },\r\n\r\n comboboxItems() {\r\n return [\r\n {\r\n text: this.$t(\"common.1week\"),\r\n value: this.date7DaysAgo,\r\n },\r\n {\r\n text: this.$t(\"common.1month\"),\r\n value: this.date1MonthAgo,\r\n },\r\n {\r\n text: this.$t(\"common.3months\"),\r\n value: this.date3MonthsAgo,\r\n },\r\n {\r\n text: this.$t(\"common.6months\"),\r\n value: this.date6MonthsAgo,\r\n },\r\n {\r\n text: this.$t(\"common.1year\"),\r\n value: this.date1YearAgo,\r\n },\r\n {\r\n text: this.$t(\"common.2years\"),\r\n value: this.date2YearsAgo,\r\n },\r\n ];\r\n },\r\n\r\n sendedDataRangeLabel() {\r\n if (this.sendedDataRange.length != 2) return \"-\";\r\n else {\r\n let sortedArray = _.sortBy(this.sendedDataRange);\r\n return \"from \" + moment(sortedArray[0]).format(this.userDateFormat) + \" to \" + moment(sortedArray[1]).format(this.userDateFormat);\r\n }\r\n },\r\n\r\n currentDataRangeLabel() {\r\n if (this.currentDateRange.length != 2) return \"-\";\r\n else {\r\n let sortedArray = _.sortBy(this.currentDateRange);\r\n return \"from \" + moment(sortedArray[0]).format(this.userDateFormat) + \" to \" + moment(sortedArray[1]).format(this.userDateFormat);\r\n }\r\n },\r\n },\r\n watch: {\r\n radioGroup() {\r\n this.updateCurrentDateRange();\r\n },\r\n\r\n comboboxSelections() {\r\n this.updateCurrentDateRange();\r\n },\r\n },\r\n methods: {\r\n updateCurrentDateRange() {\r\n let startDate = null;\r\n let endDate = null;\r\n\r\n if (this.radioGroup == 0) {\r\n // within\r\n startDate = this.comboboxSelections[this.radioGroup];\r\n endDate = this.today;\r\n } else if (this.radioGroup == 1) {\r\n // more than\r\n startDate = this.date2000;\r\n endDate = this.comboboxSelections[this.radioGroup];\r\n }\r\n\r\n if (startDate && endDate) this.currentDateRange = [startDate, endDate];\r\n },\r\n\r\n reset() {\r\n this.radioGroup = -1;\r\n this.comboboxSelections = [];\r\n this.radios.forEach((radio) => {\r\n if (radio.combobox) this.comboboxSelections.push(this.comboboxItems[0].value);\r\n else this.comboboxSelections.push(null);\r\n });\r\n },\r\n\r\n onApply() {\r\n this.sendedDataRange = this.currentDateRange;\r\n let sortedDates = _.sortBy(this.currentDateRange);\r\n let endDate: Date = new Date(sortedDates[1]);\r\n endDate.setUTCHours(23, 59, 59);\r\n let datesToReturn = [sortedDates[0], endDate];\r\n this.$emit(\"input\", _.sortBy(datesToReturn));\r\n this.applied = true;\r\n },\r\n },\r\n mounted() {\r\n this.reset();\r\n },\r\n});\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DateRangeFilter.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DateRangeFilter.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DateRangeFilter.vue?vue&type=template&id=08456fae&\"\nimport script from \"./DateRangeFilter.vue?vue&type=script&lang=ts&\"\nexport * from \"./DateRangeFilter.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBadge } from 'vuetify/lib/components/VBadge';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardSubtitle } from 'vuetify/lib/components/VCard';\nimport { VDatePicker } from 'vuetify/lib/components/VDatePicker';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\nimport { VRadio } from 'vuetify/lib/components/VRadioGroup';\nimport { VRadioGroup } from 'vuetify/lib/components/VRadioGroup';\nimport { VSelect } from 'vuetify/lib/components/VSelect';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VBadge,VBtn,VCard,VCardSubtitle,VDatePicker,VMenu,VRadio,VRadioGroup,VSelect,VTooltip})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-menu',{attrs:{\"offset-y\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-badge',{attrs:{\"overlap\":\"\",\"content\":_vm.selection.length,\"value\":_vm.selection.length > 0}},[_c('v-btn',_vm._g({attrs:{\"small\":\"\",\"icon\":\"\"}},on),[_c('v-fa-icon',{attrs:{\"small\":\"\",\"icon\":\"filter\"}})],1)],1)]}}])},[_c('v-list',_vm._l((_vm.availableData),function(data,id){return _c('v-list-item',{key:id},[_c('v-list-item-action',[_c('v-checkbox',{attrs:{\"value\":data,\"label\":_vm.$t(_vm.connectivityStatusEnumLabel(data)),\"multiple\":\"\"},model:{value:(_vm.selection),callback:function ($$v) {_vm.selection=$$v},expression:\"selection\"}})],1)],1)}),1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { ConnectivityStatusEnum, connectivityStatusEnumLabel } from \"@/model/data/status/ConnectivityStatusEnum\";\r\n\r\nexport default Vue.extend({\r\n data() {\r\n return {\r\n // InstallationStatusEnum,\r\n selection: [],\r\n };\r\n },\r\n computed: {\r\n availableData() {\r\n return Object.values(ConnectivityStatusEnum).filter((x) => !isNaN(parseInt(x.toString())));\r\n },\r\n },\r\n watch: {\r\n selection() {\r\n this.$emit(\"input\", this.selection);\r\n },\r\n },\r\n methods: {\r\n connectivityStatusEnumLabel,\r\n },\r\n});\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConnectivityStatusFilter.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ConnectivityStatusFilter.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ConnectivityStatusFilter.vue?vue&type=template&id=70985266&\"\nimport script from \"./ConnectivityStatusFilter.vue?vue&type=script&lang=ts&\"\nexport * from \"./ConnectivityStatusFilter.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBadge } from 'vuetify/lib/components/VBadge';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCheckbox } from 'vuetify/lib/components/VCheckbox';\nimport { VList } from 'vuetify/lib/components/VList';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VListItemAction } from 'vuetify/lib/components/VList';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\ninstallComponents(component, {VBadge,VBtn,VCheckbox,VList,VListItem,VListItemAction,VMenu})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('tr',_vm._l((_vm.headers),function(h){return _c('td',{key:h.value},[_c('v-col',{class:h.align == 'center' ? 'pa-0 text-center' : 'pa-0'},[(_vm.filters.filter(function (cf) { return cf.headerValue == h.value; }).length > 0)?_c(_vm.filters.filter(function (cf) { return cf.headerValue == h.value; })[0].component,{tag:\"component\",attrs:{\"description\":_vm.filters.filter(function (cf) { return cf.headerValue == h.value; })[0].description,\"customAttrs\":_vm.filters.filter(function (cf) { return cf.headerValue == h.value; })[0].customAttrs},model:{value:(_vm.filters.filter(function (cf) { return cf.headerValue == h.value; })[0].currentSelections),callback:function ($$v) {_vm.$set(_vm.filters.filter(function (cf) { return cf.headerValue == h.value; })[0], \"currentSelections\", $$v)},expression:\"filters.filter((cf) => cf.headerValue == h.value)[0].currentSelections\"}}):_vm._e()],1)],1)}),0)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\n\r\nexport default Vue.extend({\r\n data() {\r\n return {\r\n filters: [],\r\n ignoreFilterChanges: false,\r\n };\r\n },\r\n props: {\r\n headers: Array,\r\n computedFilters: { required: true },\r\n },\r\n watch: {\r\n filters: {\r\n handler(newFilters) {\r\n if (!this.ignoreFilterChanges) this.$emit(\"filters-changed\", newFilters);\r\n else this.ignoreFilterChanges = false;\r\n },\r\n deep: true,\r\n },\r\n },\r\n mounted() {\r\n this.ignoreFilterChanges = true;\r\n this.filters = this.computedFilters;\r\n },\r\n});\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TableFiltersRow.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TableFiltersRow.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TableFiltersRow.vue?vue&type=template&id=2754d0f4&\"\nimport script from \"./TableFiltersRow.vue?vue&type=script&lang=ts&\"\nexport * from \"./TableFiltersRow.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol})\n","\nconst defaultOptions = {\n preserveOrder: false,\n attributeNamePrefix: '@_',\n attributesGroupName: false,\n textNodeName: '#text',\n ignoreAttributes: true,\n removeNSPrefix: false, // remove NS from tag name or attribute name if true\n allowBooleanAttributes: false, //a tag can have attributes without any value\n //ignoreRootElement : false,\n parseTagValue: true,\n parseAttributeValue: false,\n trimValues: true, //Trim string values of tag and attributes\n cdataPropName: false,\n numberParseOptions: {\n hex: true,\n leadingZeros: true,\n eNotation: true\n },\n tagValueProcessor: function(tagName, val) {\n return val;\n },\n attributeValueProcessor: function(attrName, val) {\n return val;\n },\n stopNodes: [], //nested tags will not be parsed even for errors\n alwaysCreateTextNode: false,\n isArray: () => false,\n commentPropName: false,\n unpairedTags: [],\n processEntities: true,\n htmlEntities: false,\n ignoreDeclaration: false,\n ignorePiTags: false,\n transformTagName: false,\n transformAttributeName: false,\n updateTag: function(tagName, jPath, attrs){\n return tagName\n },\n // skipEmptyListItem: false\n};\n \nconst buildOptions = function(options) {\n return Object.assign({}, defaultOptions, options);\n};\n\nexports.buildOptions = buildOptions;\nexports.defaultOptions = defaultOptions;","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('DeviceTreeAppPage',_vm._b({attrs:{\"pageTitle\":_vm.title,\"icon\":_vm.icon,\"color\":_vm.color},on:{\"installation-edited\":function($event){return _vm.onReload()}},model:{value:(_vm.deviceTreeSelectedObjectItems),callback:function ($$v) {_vm.deviceTreeSelectedObjectItems=$$v},expression:\"deviceTreeSelectedObjectItems\"}},'DeviceTreeAppPage',_vm.$attrs,false),[_vm._t(\"default\"),_c(_vm.mainTableComponent,_vm._b({ref:\"mainTable\",tag:\"component\",attrs:{\"reqData\":_vm.reqData},on:{\"options-changed\":function($event){return _vm.onOptionsChanged($event)},\"filters-changed\":function($event){return _vm.onFiltersChanged($event)},\"download\":function($event){return _vm.$emit('download', $event)},\"submit\":function($event){return _vm.$emit('submit', $event)},\"reload\":function($event){return _vm.onReload()}}},'component',_vm.$attrs,false))],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\n\r\n// Vue Components\r\nimport DeviceTreeAppPage from \"@/components/DeviceTreeAppPage.vue\";\r\n\r\n// Model\r\nimport { dataTableItemsPerPage } from \"@/utility/Constants\";\r\nimport { DeviceTreeNodeTypeEnum } from \"@/model/data/deviceTree/DeviceTreeNodeTypeEnum\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n DeviceTreeAppPage,\r\n },\r\n data() {\r\n return {\r\n dataTableItemsPerPage,\r\n deviceTreeSelectedObjectItems: [],\r\n currentPaginationOptions: {\r\n page: 1,\r\n itemsPerPage: dataTableItemsPerPage[0],\r\n sortBy: [],\r\n sortDesc: [],\r\n },\r\n };\r\n },\r\n props: {\r\n route: {\r\n required: true,\r\n },\r\n reqData: {\r\n required: true,\r\n },\r\n // vedi note scritte alla fine di questo file\r\n mainTableComponent: {\r\n required: true,\r\n },\r\n },\r\n computed: {\r\n menuRoutes() {\r\n return this.$store.getters.availableMenu;\r\n },\r\n\r\n styleProps() {\r\n let found = false;\r\n let resultObj = { icon: null, title: null, color: null };\r\n\r\n let findIconColorAndTitle: Function = (node: any) => {\r\n if (!found) {\r\n if (node.children && node.children.length > 0) {\r\n node.children.forEach((child) => {\r\n findIconColorAndTitle(child);\r\n });\r\n } else if (node.path == this.route) {\r\n resultObj.icon = node.icon;\r\n resultObj.title = this.$t(node.name_i18n);\r\n resultObj.color = node.color;\r\n found = true;\r\n }\r\n }\r\n };\r\n\r\n this.menuRoutes.forEach((route) => {\r\n findIconColorAndTitle(route);\r\n });\r\n\r\n return resultObj;\r\n },\r\n\r\n icon() {\r\n return this.styleProps.icon ? this.styleProps.icon : \"\";\r\n },\r\n\r\n title() {\r\n return this.styleProps.title ? this.styleProps.title : \"\";\r\n },\r\n\r\n color() {\r\n return this.styleProps.color ? this.styleProps.color : \"\";\r\n },\r\n },\r\n watch: {\r\n deviceTreeSelectedObjectItems(newValue) {\r\n let newReqData = { ...this.reqData };\r\n\r\n newReqData.installationNames = null;\r\n newReqData.folderIds = null;\r\n if (newValue) {\r\n if (newValue.filter((c) => c.type == DeviceTreeNodeTypeEnum.Device).length > 0)\r\n newReqData.installationNames = newValue.filter((c) => c.type == DeviceTreeNodeTypeEnum.Device).map((c) => c.id);\r\n if (newValue.filter((c) => c.type == DeviceTreeNodeTypeEnum.Folder).length > 0)\r\n newReqData.folderIds = newValue.filter((c) => c.type == DeviceTreeNodeTypeEnum.Folder).map((c) => c.id);\r\n }\r\n\r\n newReqData.offset = 0;\r\n newReqData.queryLimit = this.currentPaginationOptions.itemsPerPage;\r\n newReqData.orderBy = this.currentPaginationOptions.sortBy;\r\n newReqData.orderByDescending = this.currentPaginationOptions.sortDesc;\r\n\r\n this.$refs.mainTable.backToTheFirst();\r\n console.debug(\"Send request because device tree selection changed\");\r\n this.$emit(\"send-request\", newReqData);\r\n },\r\n },\r\n methods: {\r\n onReload() {\r\n console.debug(\"Send request to reload data\");\r\n this.$emit(\"send-request\", this.reqData);\r\n },\r\n\r\n onOptionsChanged(newOptions) {\r\n let needToSendRequest: boolean = false;\r\n\r\n if (this.currentPaginationOptions != null) {\r\n if (newOptions.page != this.currentPaginationOptions.page || newOptions.itemsPerPage != this.currentPaginationOptions.itemsPerPage) needToSendRequest = true;\r\n if (newOptions.sortBy.length != this.currentPaginationOptions.sortBy.length) needToSendRequest = true;\r\n else {\r\n for (let index = 0; index < newOptions.sortDesc.length; index++) {\r\n if (newOptions.sortDesc[index] != this.currentPaginationOptions.sortDesc[index]) {\r\n needToSendRequest = true;\r\n break;\r\n }\r\n }\r\n }\r\n } else {\r\n needToSendRequest = true;\r\n }\r\n\r\n this.currentPaginationOptions = newOptions;\r\n\r\n if (needToSendRequest) {\r\n let newReqData = { ...this.reqData };\r\n newReqData.offset = (this.currentPaginationOptions.page - 1) * this.currentPaginationOptions.itemsPerPage;\r\n newReqData.queryLimit = this.currentPaginationOptions.itemsPerPage;\r\n newReqData.orderBy = this.currentPaginationOptions.sortBy;\r\n newReqData.orderByDescending = this.currentPaginationOptions.sortDesc;\r\n\r\n console.debug(\"Send request because options changed\");\r\n this.$emit(\"send-request\", newReqData);\r\n }\r\n },\r\n\r\n onFiltersChanged(filters) {\r\n let newReqData = { ...this.reqData };\r\n newReqData.offset = 0;\r\n filters.forEach((filter) => {\r\n newReqData[filter.filterKey] = filter.currentSelections;\r\n });\r\n this.$refs.mainTable.backToTheFirst();\r\n console.debug(\"Send request because filters changed\");\r\n this.$emit(\"send-request\", newReqData);\r\n },\r\n\r\n backToTheFirst() {\r\n this.$refs.mainTable.backToTheFirst();\r\n },\r\n },\r\n});\r\n\r\n/** NOTE UTILI\r\nIl componente mainTableComponent deve:\r\n- avere la prop \"installations\" con la lista di tutte le installazioni da visualizzare\r\n- deve utilizzare il componente TableFiltersRow\r\n- la tabella v-data-table NON deve essere contenuta in uno skeleton o messa in v-if v-else con uno skeleton\r\n */\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StandardPage.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./StandardPage.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./StandardPage.vue?vue&type=template&id=5cebc7c0&\"\nimport script from \"./StandardPage.vue?vue&type=script&lang=ts&\"\nexport * from \"./StandardPage.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BranchFilter.vue?vue&type=style&index=0&id=4f6460ed&prod&scoped=true&lang=css&\"","'use strict';\n\nconst util = require('./util');\n\nconst defaultOptions = {\n allowBooleanAttributes: false, //A tag can have attributes without any value\n unpairedTags: []\n};\n\n//const tagsPattern = new RegExp(\"<\\\\/?([\\\\w:\\\\-_\\.]+)\\\\s*\\/?>\",\"g\");\nexports.validate = function (xmlData, options) {\n options = Object.assign({}, defaultOptions, options);\n\n //xmlData = xmlData.replace(/(\\r\\n|\\n|\\r)/gm,\"\");//make it single line\n //xmlData = xmlData.replace(/(^\\s*<\\?xml.*?\\?>)/g,\"\");//Remove XML starting tag\n //xmlData = xmlData.replace(/()/g,\"\");//Remove DOCTYPE\n const tags = [];\n let tagFound = false;\n\n //indicates that the root tag has been closed (aka. depth 0 has been reached)\n let reachedRoot = false;\n\n if (xmlData[0] === '\\ufeff') {\n // check for byte order mark (BOM)\n xmlData = xmlData.substr(1);\n }\n \n for (let i = 0; i < xmlData.length; i++) {\n\n if (xmlData[i] === '<' && xmlData[i+1] === '?') {\n i+=2;\n i = readPI(xmlData,i);\n if (i.err) return i;\n }else if (xmlData[i] === '<') {\n //starting of tag\n //read until you reach to '>' avoiding any '>' in attribute value\n let tagStartPos = i;\n i++;\n \n if (xmlData[i] === '!') {\n i = readCommentAndCDATA(xmlData, i);\n continue;\n } else {\n let closingTag = false;\n if (xmlData[i] === '/') {\n //closing tag\n closingTag = true;\n i++;\n }\n //read tagname\n let tagName = '';\n for (; i < xmlData.length &&\n xmlData[i] !== '>' &&\n xmlData[i] !== ' ' &&\n xmlData[i] !== '\\t' &&\n xmlData[i] !== '\\n' &&\n xmlData[i] !== '\\r'; i++\n ) {\n tagName += xmlData[i];\n }\n tagName = tagName.trim();\n //console.log(tagName);\n\n if (tagName[tagName.length - 1] === '/') {\n //self closing tag without attributes\n tagName = tagName.substring(0, tagName.length - 1);\n //continue;\n i--;\n }\n if (!validateTagName(tagName)) {\n let msg;\n if (tagName.trim().length === 0) {\n msg = \"Invalid space after '<'.\";\n } else {\n msg = \"Tag '\"+tagName+\"' is an invalid name.\";\n }\n return getErrorObject('InvalidTag', msg, getLineNumberForPosition(xmlData, i));\n }\n\n const result = readAttributeStr(xmlData, i);\n if (result === false) {\n return getErrorObject('InvalidAttr', \"Attributes for '\"+tagName+\"' have open quote.\", getLineNumberForPosition(xmlData, i));\n }\n let attrStr = result.value;\n i = result.index;\n\n if (attrStr[attrStr.length - 1] === '/') {\n //self closing tag\n const attrStrStart = i - attrStr.length;\n attrStr = attrStr.substring(0, attrStr.length - 1);\n const isValid = validateAttributeString(attrStr, options);\n if (isValid === true) {\n tagFound = true;\n //continue; //text may presents after self closing tag\n } else {\n //the result from the nested function returns the position of the error within the attribute\n //in order to get the 'true' error line, we need to calculate the position where the attribute begins (i - attrStr.length) and then add the position within the attribute\n //this gives us the absolute index in the entire xml, which we can use to find the line at last\n return getErrorObject(isValid.err.code, isValid.err.msg, getLineNumberForPosition(xmlData, attrStrStart + isValid.err.line));\n }\n } else if (closingTag) {\n if (!result.tagClosed) {\n return getErrorObject('InvalidTag', \"Closing tag '\"+tagName+\"' doesn't have proper closing.\", getLineNumberForPosition(xmlData, i));\n } else if (attrStr.trim().length > 0) {\n return getErrorObject('InvalidTag', \"Closing tag '\"+tagName+\"' can't have attributes or invalid starting.\", getLineNumberForPosition(xmlData, tagStartPos));\n } else {\n const otg = tags.pop();\n if (tagName !== otg.tagName) {\n let openPos = getLineNumberForPosition(xmlData, otg.tagStartPos);\n return getErrorObject('InvalidTag',\n \"Expected closing tag '\"+otg.tagName+\"' (opened in line \"+openPos.line+\", col \"+openPos.col+\") instead of closing tag '\"+tagName+\"'.\",\n getLineNumberForPosition(xmlData, tagStartPos));\n }\n\n //when there are no more tags, we reached the root level.\n if (tags.length == 0) {\n reachedRoot = true;\n }\n }\n } else {\n const isValid = validateAttributeString(attrStr, options);\n if (isValid !== true) {\n //the result from the nested function returns the position of the error within the attribute\n //in order to get the 'true' error line, we need to calculate the position where the attribute begins (i - attrStr.length) and then add the position within the attribute\n //this gives us the absolute index in the entire xml, which we can use to find the line at last\n return getErrorObject(isValid.err.code, isValid.err.msg, getLineNumberForPosition(xmlData, i - attrStr.length + isValid.err.line));\n }\n\n //if the root level has been reached before ...\n if (reachedRoot === true) {\n return getErrorObject('InvalidXml', 'Multiple possible root nodes found.', getLineNumberForPosition(xmlData, i));\n } else if(options.unpairedTags.indexOf(tagName) !== -1){\n //don't push into stack\n } else {\n tags.push({tagName, tagStartPos});\n }\n tagFound = true;\n }\n\n //skip tag text value\n //It may include comments and CDATA value\n for (i++; i < xmlData.length; i++) {\n if (xmlData[i] === '<') {\n if (xmlData[i + 1] === '!') {\n //comment or CADATA\n i++;\n i = readCommentAndCDATA(xmlData, i);\n continue;\n } else if (xmlData[i+1] === '?') {\n i = readPI(xmlData, ++i);\n if (i.err) return i;\n } else{\n break;\n }\n } else if (xmlData[i] === '&') {\n const afterAmp = validateAmpersand(xmlData, i);\n if (afterAmp == -1)\n return getErrorObject('InvalidChar', \"char '&' is not expected.\", getLineNumberForPosition(xmlData, i));\n i = afterAmp;\n }else{\n if (reachedRoot === true && !isWhiteSpace(xmlData[i])) {\n return getErrorObject('InvalidXml', \"Extra text at the end\", getLineNumberForPosition(xmlData, i));\n }\n }\n } //end of reading tag text value\n if (xmlData[i] === '<') {\n i--;\n }\n }\n } else {\n if ( isWhiteSpace(xmlData[i])) {\n continue;\n }\n return getErrorObject('InvalidChar', \"char '\"+xmlData[i]+\"' is not expected.\", getLineNumberForPosition(xmlData, i));\n }\n }\n\n if (!tagFound) {\n return getErrorObject('InvalidXml', 'Start tag expected.', 1);\n }else if (tags.length == 1) {\n return getErrorObject('InvalidTag', \"Unclosed tag '\"+tags[0].tagName+\"'.\", getLineNumberForPosition(xmlData, tags[0].tagStartPos));\n }else if (tags.length > 0) {\n return getErrorObject('InvalidXml', \"Invalid '\"+\n JSON.stringify(tags.map(t => t.tagName), null, 4).replace(/\\r?\\n/g, '')+\n \"' found.\", {line: 1, col: 1});\n }\n\n return true;\n};\n\nfunction isWhiteSpace(char){\n return char === ' ' || char === '\\t' || char === '\\n' || char === '\\r';\n}\n/**\n * Read Processing insstructions and skip\n * @param {*} xmlData\n * @param {*} i\n */\nfunction readPI(xmlData, i) {\n const start = i;\n for (; i < xmlData.length; i++) {\n if (xmlData[i] == '?' || xmlData[i] == ' ') {\n //tagname\n const tagname = xmlData.substr(start, i - start);\n if (i > 5 && tagname === 'xml') {\n return getErrorObject('InvalidXml', 'XML declaration allowed only at the start of the document.', getLineNumberForPosition(xmlData, i));\n } else if (xmlData[i] == '?' && xmlData[i + 1] == '>') {\n //check if valid attribut string\n i++;\n break;\n } else {\n continue;\n }\n }\n }\n return i;\n}\n\nfunction readCommentAndCDATA(xmlData, i) {\n if (xmlData.length > i + 5 && xmlData[i + 1] === '-' && xmlData[i + 2] === '-') {\n //comment\n for (i += 3; i < xmlData.length; i++) {\n if (xmlData[i] === '-' && xmlData[i + 1] === '-' && xmlData[i + 2] === '>') {\n i += 2;\n break;\n }\n }\n } else if (\n xmlData.length > i + 8 &&\n xmlData[i + 1] === 'D' &&\n xmlData[i + 2] === 'O' &&\n xmlData[i + 3] === 'C' &&\n xmlData[i + 4] === 'T' &&\n xmlData[i + 5] === 'Y' &&\n xmlData[i + 6] === 'P' &&\n xmlData[i + 7] === 'E'\n ) {\n let angleBracketsCount = 1;\n for (i += 8; i < xmlData.length; i++) {\n if (xmlData[i] === '<') {\n angleBracketsCount++;\n } else if (xmlData[i] === '>') {\n angleBracketsCount--;\n if (angleBracketsCount === 0) {\n break;\n }\n }\n }\n } else if (\n xmlData.length > i + 9 &&\n xmlData[i + 1] === '[' &&\n xmlData[i + 2] === 'C' &&\n xmlData[i + 3] === 'D' &&\n xmlData[i + 4] === 'A' &&\n xmlData[i + 5] === 'T' &&\n xmlData[i + 6] === 'A' &&\n xmlData[i + 7] === '['\n ) {\n for (i += 8; i < xmlData.length; i++) {\n if (xmlData[i] === ']' && xmlData[i + 1] === ']' && xmlData[i + 2] === '>') {\n i += 2;\n break;\n }\n }\n }\n\n return i;\n}\n\nconst doubleQuote = '\"';\nconst singleQuote = \"'\";\n\n/**\n * Keep reading xmlData until '<' is found outside the attribute value.\n * @param {string} xmlData\n * @param {number} i\n */\nfunction readAttributeStr(xmlData, i) {\n let attrStr = '';\n let startChar = '';\n let tagClosed = false;\n for (; i < xmlData.length; i++) {\n if (xmlData[i] === doubleQuote || xmlData[i] === singleQuote) {\n if (startChar === '') {\n startChar = xmlData[i];\n } else if (startChar !== xmlData[i]) {\n //if vaue is enclosed with double quote then single quotes are allowed inside the value and vice versa\n } else {\n startChar = '';\n }\n } else if (xmlData[i] === '>') {\n if (startChar === '') {\n tagClosed = true;\n break;\n }\n }\n attrStr += xmlData[i];\n }\n if (startChar !== '') {\n return false;\n }\n\n return {\n value: attrStr,\n index: i,\n tagClosed: tagClosed\n };\n}\n\n/**\n * Select all the attributes whether valid or invalid.\n */\nconst validAttrStrRegxp = new RegExp('(\\\\s*)([^\\\\s=]+)(\\\\s*=)?(\\\\s*([\\'\"])(([\\\\s\\\\S])*?)\\\\5)?', 'g');\n\n//attr, =\"sd\", a=\"amit's\", a=\"sd\"b=\"saf\", ab cd=\"\"\n\nfunction validateAttributeString(attrStr, options) {\n //console.log(\"start:\"+attrStr+\":end\");\n\n //if(attrStr.trim().length === 0) return true; //empty string\n\n const matches = util.getAllMatches(attrStr, validAttrStrRegxp);\n const attrNames = {};\n\n for (let i = 0; i < matches.length; i++) {\n if (matches[i][1].length === 0) {\n //nospace before attribute name: a=\"sd\"b=\"saf\"\n return getErrorObject('InvalidAttr', \"Attribute '\"+matches[i][2]+\"' has no space in starting.\", getPositionFromMatch(matches[i]))\n } else if (matches[i][3] !== undefined && matches[i][4] === undefined) {\n return getErrorObject('InvalidAttr', \"Attribute '\"+matches[i][2]+\"' is without value.\", getPositionFromMatch(matches[i]));\n } else if (matches[i][3] === undefined && !options.allowBooleanAttributes) {\n //independent attribute: ab\n return getErrorObject('InvalidAttr', \"boolean attribute '\"+matches[i][2]+\"' is not allowed.\", getPositionFromMatch(matches[i]));\n }\n /* else if(matches[i][6] === undefined){//attribute without value: ab=\n return { err: { code:\"InvalidAttr\",msg:\"attribute \" + matches[i][2] + \" has no value assigned.\"}};\n } */\n const attrName = matches[i][2];\n if (!validateAttrName(attrName)) {\n return getErrorObject('InvalidAttr', \"Attribute '\"+attrName+\"' is an invalid name.\", getPositionFromMatch(matches[i]));\n }\n if (!attrNames.hasOwnProperty(attrName)) {\n //check for duplicate attribute.\n attrNames[attrName] = 1;\n } else {\n return getErrorObject('InvalidAttr', \"Attribute '\"+attrName+\"' is repeated.\", getPositionFromMatch(matches[i]));\n }\n }\n\n return true;\n}\n\nfunction validateNumberAmpersand(xmlData, i) {\n let re = /\\d/;\n if (xmlData[i] === 'x') {\n i++;\n re = /[\\da-fA-F]/;\n }\n for (; i < xmlData.length; i++) {\n if (xmlData[i] === ';')\n return i;\n if (!xmlData[i].match(re))\n break;\n }\n return -1;\n}\n\nfunction validateAmpersand(xmlData, i) {\n // https://www.w3.org/TR/xml/#dt-charref\n i++;\n if (xmlData[i] === ';')\n return -1;\n if (xmlData[i] === '#') {\n i++;\n return validateNumberAmpersand(xmlData, i);\n }\n let count = 0;\n for (; i < xmlData.length; i++, count++) {\n if (xmlData[i].match(/\\w/) && count < 20)\n continue;\n if (xmlData[i] === ';')\n break;\n return -1;\n }\n return i;\n}\n\nfunction getErrorObject(code, message, lineNumber) {\n return {\n err: {\n code: code,\n msg: message,\n line: lineNumber.line || lineNumber,\n col: lineNumber.col,\n },\n };\n}\n\nfunction validateAttrName(attrName) {\n return util.isName(attrName);\n}\n\n// const startsWithXML = /^xml/i;\n\nfunction validateTagName(tagname) {\n return util.isName(tagname) /* && !tagname.match(startsWithXML) */;\n}\n\n//this function returns the line number for the character at the given index\nfunction getLineNumberForPosition(xmlData, index) {\n const lines = xmlData.substring(0, index).split(/\\r?\\n/);\n return {\n line: lines.length,\n\n // column number is last line's length + 1, because column numbering starts at 1:\n col: lines[lines.length - 1].length + 1\n };\n}\n\n//this function returns the position of the first character of match within attrStr\nfunction getPositionFromMatch(match) {\n return match.startIndex + match[1].length;\n}\n","export * from \"-!../../../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--7-oneOf-1-0!../../../../../node_modules/css-loader/dist/cjs.js??ref--7-oneOf-1-1!../../../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../../../node_modules/postcss-loader/src/index.js??ref--7-oneOf-1-2!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LicensesMainTable.vue?vue&type=style&index=0&id=f04a74e2&prod&scoped=true&lang=css&\"","'use strict';\n\nconst validator = require('./validator');\nconst XMLParser = require('./xmlparser/XMLParser');\nconst XMLBuilder = require('./xmlbuilder/json2xml');\n\nmodule.exports = {\n XMLParser: XMLParser,\n XMLValidator: validator,\n XMLBuilder: XMLBuilder\n}","'use strict';\n//parse Empty Node as self closing node\nconst buildFromOrderedJs = require('./orderedJs2Xml');\n\nconst defaultOptions = {\n attributeNamePrefix: '@_',\n attributesGroupName: false,\n textNodeName: '#text',\n ignoreAttributes: true,\n cdataPropName: false,\n format: false,\n indentBy: ' ',\n suppressEmptyNode: false,\n suppressUnpairedNode: true,\n suppressBooleanAttributes: true,\n tagValueProcessor: function(key, a) {\n return a;\n },\n attributeValueProcessor: function(attrName, a) {\n return a;\n },\n preserveOrder: false,\n commentPropName: false,\n unpairedTags: [],\n entities: [\n { regex: new RegExp(\"&\", \"g\"), val: \"&\" },//it must be on top\n { regex: new RegExp(\">\", \"g\"), val: \">\" },\n { regex: new RegExp(\"<\", \"g\"), val: \"<\" },\n { regex: new RegExp(\"\\'\", \"g\"), val: \"'\" },\n { regex: new RegExp(\"\\\"\", \"g\"), val: \""\" }\n ],\n processEntities: true,\n stopNodes: [],\n // transformTagName: false,\n // transformAttributeName: false,\n oneListGroup: false\n};\n\nfunction Builder(options) {\n this.options = Object.assign({}, defaultOptions, options);\n if (this.options.ignoreAttributes || this.options.attributesGroupName) {\n this.isAttribute = function(/*a*/) {\n return false;\n };\n } else {\n this.attrPrefixLen = this.options.attributeNamePrefix.length;\n this.isAttribute = isAttribute;\n }\n\n this.processTextOrObjNode = processTextOrObjNode\n\n if (this.options.format) {\n this.indentate = indentate;\n this.tagEndChar = '>\\n';\n this.newLine = '\\n';\n } else {\n this.indentate = function() {\n return '';\n };\n this.tagEndChar = '>';\n this.newLine = '';\n }\n}\n\nBuilder.prototype.build = function(jObj) {\n if(this.options.preserveOrder){\n return buildFromOrderedJs(jObj, this.options);\n }else {\n if(Array.isArray(jObj) && this.options.arrayNodeName && this.options.arrayNodeName.length > 1){\n jObj = {\n [this.options.arrayNodeName] : jObj\n }\n }\n return this.j2x(jObj, 0).val;\n }\n};\n\nBuilder.prototype.j2x = function(jObj, level) {\n let attrStr = '';\n let val = '';\n for (let key in jObj) {\n if (typeof jObj[key] === 'undefined') {\n // supress undefined node\n } else if (jObj[key] === null) {\n if(key[0] === \"?\") val += this.indentate(level) + '<' + key + '?' + this.tagEndChar;\n else val += this.indentate(level) + '<' + key + '/' + this.tagEndChar;\n // val += this.indentate(level) + '<' + key + '/' + this.tagEndChar;\n } else if (jObj[key] instanceof Date) {\n val += this.buildTextValNode(jObj[key], key, '', level);\n } else if (typeof jObj[key] !== 'object') {\n //premitive type\n const attr = this.isAttribute(key);\n if (attr) {\n attrStr += this.buildAttrPairStr(attr, '' + jObj[key]);\n }else {\n //tag value\n if (key === this.options.textNodeName) {\n let newval = this.options.tagValueProcessor(key, '' + jObj[key]);\n val += this.replaceEntitiesValue(newval);\n } else {\n val += this.buildTextValNode(jObj[key], key, '', level);\n }\n }\n } else if (Array.isArray(jObj[key])) {\n //repeated nodes\n const arrLen = jObj[key].length;\n let listTagVal = \"\";\n for (let j = 0; j < arrLen; j++) {\n const item = jObj[key][j];\n if (typeof item === 'undefined') {\n // supress undefined node\n } else if (item === null) {\n if(key[0] === \"?\") val += this.indentate(level) + '<' + key + '?' + this.tagEndChar;\n else val += this.indentate(level) + '<' + key + '/' + this.tagEndChar;\n // val += this.indentate(level) + '<' + key + '/' + this.tagEndChar;\n } else if (typeof item === 'object') {\n if(this.options.oneListGroup ){\n listTagVal += this.j2x(item, level + 1).val;\n }else{\n listTagVal += this.processTextOrObjNode(item, key, level)\n }\n } else {\n listTagVal += this.buildTextValNode(item, key, '', level);\n }\n }\n if(this.options.oneListGroup){\n listTagVal = this.buildObjectNode(listTagVal, key, '', level);\n }\n val += listTagVal;\n } else {\n //nested node\n if (this.options.attributesGroupName && key === this.options.attributesGroupName) {\n const Ks = Object.keys(jObj[key]);\n const L = Ks.length;\n for (let j = 0; j < L; j++) {\n attrStr += this.buildAttrPairStr(Ks[j], '' + jObj[key][Ks[j]]);\n }\n } else {\n val += this.processTextOrObjNode(jObj[key], key, level)\n }\n }\n }\n return {attrStr: attrStr, val: val};\n};\n\nBuilder.prototype.buildAttrPairStr = function(attrName, val){\n val = this.options.attributeValueProcessor(attrName, '' + val);\n val = this.replaceEntitiesValue(val);\n if (this.options.suppressBooleanAttributes && val === \"true\") {\n return ' ' + attrName;\n } else return ' ' + attrName + '=\"' + val + '\"';\n}\n\nfunction processTextOrObjNode (object, key, level) {\n const result = this.j2x(object, level + 1);\n if (object[this.options.textNodeName] !== undefined && Object.keys(object).length === 1) {\n return this.buildTextValNode(object[this.options.textNodeName], key, result.attrStr, level);\n } else {\n return this.buildObjectNode(result.val, key, result.attrStr, level);\n }\n}\n\nBuilder.prototype.buildObjectNode = function(val, key, attrStr, level) {\n if(val === \"\"){\n if(key[0] === \"?\") return this.indentate(level) + '<' + key + attrStr+ '?' + this.tagEndChar;\n else {\n return this.indentate(level) + '<' + key + attrStr + this.closeTag(key) + this.tagEndChar;\n }\n }else{\n\n let tagEndExp = '' + val + tagEndExp );\n } else if (this.options.commentPropName !== false && key === this.options.commentPropName && piClosingChar.length === 0) {\n return this.indentate(level) + `` + this.newLine;\n }else {\n return (\n this.indentate(level) + '<' + key + attrStr + piClosingChar + this.tagEndChar +\n val +\n this.indentate(level) + tagEndExp );\n }\n }\n}\n\nBuilder.prototype.closeTag = function(key){\n let closeTag = \"\";\n if(this.options.unpairedTags.indexOf(key) !== -1){ //unpaired\n if(!this.options.suppressUnpairedNode) closeTag = \"/\"\n }else if(this.options.suppressEmptyNode){ //empty\n closeTag = \"/\";\n }else{\n closeTag = `>` + this.newLine;\n }else if (this.options.commentPropName !== false && key === this.options.commentPropName) {\n return this.indentate(level) + `` + this.newLine;\n }else if(key[0] === \"?\") {//PI tag\n return this.indentate(level) + '<' + key + attrStr+ '?' + this.tagEndChar; \n }else{\n let textValue = this.options.tagValueProcessor(key, val);\n textValue = this.replaceEntitiesValue(textValue);\n \n if( textValue === ''){\n return this.indentate(level) + '<' + key + attrStr + this.closeTag(key) + this.tagEndChar;\n }else{\n return this.indentate(level) + '<' + key + attrStr + '>' +\n textValue +\n ' 0 && this.options.processEntities){\n for (let i=0; i 0) compressedObj[options.textNodeName] = text;\n if(typeof text === \"string\"){\n if(text.length > 0) compressedObj[options.textNodeName] = text;\n }else if(text !== undefined) compressedObj[options.textNodeName] = text;\n return compressedObj;\n}\n\nfunction propName(obj){\n const keys = Object.keys(obj);\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n if(key !== \":@\") return key;\n }\n}\n\nfunction assignAttributes(obj, attrMap, jpath, options){\n if (attrMap) {\n const keys = Object.keys(attrMap);\n const len = keys.length; //don't make it inline\n for (let i = 0; i < len; i++) {\n const atrrName = keys[i];\n if (options.isArray(atrrName, jpath + \".\" + atrrName, true, true)) {\n obj[atrrName] = [ attrMap[atrrName] ];\n } else {\n obj[atrrName] = attrMap[atrrName];\n }\n }\n }\n}\n\nfunction isLeafTag(obj, options){\n const { textNodeName } = options;\n const propCount = Object.keys(obj).length;\n \n if (propCount === 0) {\n return true;\n }\n\n if (\n propCount === 1 &&\n (obj[textNodeName] || typeof obj[textNodeName] === \"boolean\" || obj[textNodeName] === 0)\n ) {\n return true;\n }\n\n return false;\n}\nexports.prettify = prettify;\n","const EOL = \"\\n\";\n\n/**\n * \n * @param {array} jArray \n * @param {any} options \n * @returns \n */\nfunction toXml(jArray, options) {\n let indentation = \"\";\n if (options.format && options.indentBy.length > 0) {\n indentation = EOL;\n }\n return arrToStr(jArray, options, \"\", indentation);\n}\n\nfunction arrToStr(arr, options, jPath, indentation) {\n let xmlStr = \"\";\n let isPreviousElementTag = false;\n\n for (let i = 0; i < arr.length; i++) {\n const tagObj = arr[i];\n const tagName = propName(tagObj);\n let newJPath = \"\";\n if (jPath.length === 0) newJPath = tagName\n else newJPath = `${jPath}.${tagName}`;\n\n if (tagName === options.textNodeName) {\n let tagText = tagObj[tagName];\n if (!isStopNode(newJPath, options)) {\n tagText = options.tagValueProcessor(tagName, tagText);\n tagText = replaceEntitiesValue(tagText, options);\n }\n if (isPreviousElementTag) {\n xmlStr += indentation;\n }\n xmlStr += tagText;\n isPreviousElementTag = false;\n continue;\n } else if (tagName === options.cdataPropName) {\n if (isPreviousElementTag) {\n xmlStr += indentation;\n }\n xmlStr += ``;\n isPreviousElementTag = false;\n continue;\n } else if (tagName === options.commentPropName) {\n xmlStr += indentation + ``;\n isPreviousElementTag = true;\n continue;\n } else if (tagName[0] === \"?\") {\n const attStr = attr_to_str(tagObj[\":@\"], options);\n const tempInd = tagName === \"?xml\" ? \"\" : indentation;\n let piTextNodeName = tagObj[tagName][0][options.textNodeName];\n piTextNodeName = piTextNodeName.length !== 0 ? \" \" + piTextNodeName : \"\"; //remove extra spacing\n xmlStr += tempInd + `<${tagName}${piTextNodeName}${attStr}?>`;\n isPreviousElementTag = true;\n continue;\n }\n let newIdentation = indentation;\n if (newIdentation !== \"\") {\n newIdentation += options.indentBy;\n }\n const attStr = attr_to_str(tagObj[\":@\"], options);\n const tagStart = indentation + `<${tagName}${attStr}`;\n const tagValue = arrToStr(tagObj[tagName], options, newJPath, newIdentation);\n if (options.unpairedTags.indexOf(tagName) !== -1) {\n if (options.suppressUnpairedNode) xmlStr += tagStart + \">\";\n else xmlStr += tagStart + \"/>\";\n } else if ((!tagValue || tagValue.length === 0) && options.suppressEmptyNode) {\n xmlStr += tagStart + \"/>\";\n } else if (tagValue && tagValue.endsWith(\">\")) {\n xmlStr += tagStart + `>${tagValue}${indentation}`;\n } else {\n xmlStr += tagStart + \">\";\n if (tagValue && indentation !== \"\" && (tagValue.includes(\"/>\") || tagValue.includes(\"`;\n }\n isPreviousElementTag = true;\n }\n\n return xmlStr;\n}\n\nfunction propName(obj) {\n const keys = Object.keys(obj);\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n if (key !== \":@\") return key;\n }\n}\n\nfunction attr_to_str(attrMap, options) {\n let attrStr = \"\";\n if (attrMap && !options.ignoreAttributes) {\n for (let attr in attrMap) {\n let attrVal = options.attributeValueProcessor(attr, attrMap[attr]);\n attrVal = replaceEntitiesValue(attrVal, options);\n if (attrVal === true && options.suppressBooleanAttributes) {\n attrStr += ` ${attr.substr(options.attributeNamePrefix.length)}`;\n } else {\n attrStr += ` ${attr.substr(options.attributeNamePrefix.length)}=\"${attrVal}\"`;\n }\n }\n }\n return attrStr;\n}\n\nfunction isStopNode(jPath, options) {\n jPath = jPath.substr(0, jPath.length - options.textNodeName.length - 1);\n let tagName = jPath.substr(jPath.lastIndexOf(\".\") + 1);\n for (let index in options.stopNodes) {\n if (options.stopNodes[index] === jPath || options.stopNodes[index] === \"*.\" + tagName) return true;\n }\n return false;\n}\n\nfunction replaceEntitiesValue(textValue, options) {\n if (textValue && textValue.length > 0 && options.processEntities) {\n for (let i = 0; i < options.entities.length; i++) {\n const entity = options.entities[i];\n textValue = textValue.replace(entity.regex, entity.val);\n }\n }\n return textValue;\n}\nmodule.exports = toXml;\n","const util = require('../util');\n\n//TODO: handle comments\nfunction readDocType(xmlData, i){\n \n const entities = {};\n if( xmlData[i + 3] === 'O' &&\n xmlData[i + 4] === 'C' &&\n xmlData[i + 5] === 'T' &&\n xmlData[i + 6] === 'Y' &&\n xmlData[i + 7] === 'P' &&\n xmlData[i + 8] === 'E')\n { \n i = i+9;\n let angleBracketsCount = 1;\n let hasBody = false, comment = false;\n let exp = \"\";\n for(;i') { //Read tag content\n if(comment){\n if( xmlData[i - 1] === \"-\" && xmlData[i - 2] === \"-\"){\n comment = false;\n angleBracketsCount--;\n }\n }else{\n angleBracketsCount--;\n }\n if (angleBracketsCount === 0) {\n break;\n }\n }else if( xmlData[i] === '['){\n hasBody = true;\n }else{\n exp += xmlData[i];\n }\n }\n if(angleBracketsCount !== 0){\n throw new Error(`Unclosed DOCTYPE`);\n }\n }else{\n throw new Error(`Invalid Tag instead of DOCTYPE`);\n }\n return {entities, i};\n}\n\nfunction readEntityExp(xmlData,i){\n //External entities are not supported\n // \n\n //Parameter entities are not supported\n // \n\n //Internal entities are supported\n // \n \n //read EntityName\n let entityName = \"\";\n for (; i < xmlData.length && (xmlData[i] !== \"'\" && xmlData[i] !== '\"' ); i++) {\n // if(xmlData[i] === \" \") continue;\n // else \n entityName += xmlData[i];\n }\n entityName = entityName.trim();\n if(entityName.indexOf(\" \") !== -1) throw new Error(\"External entites are not supported\");\n\n //read Entity Value\n const startChar = xmlData[i++];\n let val = \"\"\n for (; i < xmlData.length && xmlData[i] !== startChar ; i++) {\n val += xmlData[i];\n }\n return [entityName, val, i];\n}\n\nfunction isComment(xmlData, i){\n if(xmlData[i+1] === '!' &&\n xmlData[i+2] === '-' &&\n xmlData[i+3] === '-') return true\n return false\n}\nfunction isEntity(xmlData, i){\n if(xmlData[i+1] === '!' &&\n xmlData[i+2] === 'E' &&\n xmlData[i+3] === 'N' &&\n xmlData[i+4] === 'T' &&\n xmlData[i+5] === 'I' &&\n xmlData[i+6] === 'T' &&\n xmlData[i+7] === 'Y') return true\n return false\n}\nfunction isElement(xmlData, i){\n if(xmlData[i+1] === '!' &&\n xmlData[i+2] === 'E' &&\n xmlData[i+3] === 'L' &&\n xmlData[i+4] === 'E' &&\n xmlData[i+5] === 'M' &&\n xmlData[i+6] === 'E' &&\n xmlData[i+7] === 'N' &&\n xmlData[i+8] === 'T') return true\n return false\n}\n\nfunction isAttlist(xmlData, i){\n if(xmlData[i+1] === '!' &&\n xmlData[i+2] === 'A' &&\n xmlData[i+3] === 'T' &&\n xmlData[i+4] === 'T' &&\n xmlData[i+5] === 'L' &&\n xmlData[i+6] === 'I' &&\n xmlData[i+7] === 'S' &&\n xmlData[i+8] === 'T') return true\n return false\n}\nfunction isNotation(xmlData, i){\n if(xmlData[i+1] === '!' &&\n xmlData[i+2] === 'N' &&\n xmlData[i+3] === 'O' &&\n xmlData[i+4] === 'T' &&\n xmlData[i+5] === 'A' &&\n xmlData[i+6] === 'T' &&\n xmlData[i+7] === 'I' &&\n xmlData[i+8] === 'O' &&\n xmlData[i+9] === 'N') return true\n return false\n}\n\nfunction validateEntityName(name){\n if (util.isName(name))\n\treturn name;\n else\n throw new Error(`Invalid entity name ${name}`);\n}\n\nmodule.exports = readDocType;\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('StandardPage',{attrs:{\"route\":_vm.routes.LicensesManagement,\"loading\":_vm.loading,\"reqData\":_vm.reqData,\"installations\":_vm.installations,\"paginatedTotalItems\":_vm.paginatedTotalItems,\"mainTableComponent\":_vm.LicensesMainTable,\"isSaveButtonEnable\":_vm.isSaveButtonEnable},on:{\"send-request\":function($event){return _vm.sendRequest($event)},\"submit\":function($event){return _vm.onSubmit()},\"download\":function($event){return _vm.onDownload($event)}}},[_c('v-row',{staticClass:\"mb-4\"},[_c('v-col',{attrs:{\"cols\":_vm.authActionsEnabled ? 7 : 9}},[_c('SummaryTable',{attrs:{\"isSaveButtonEnable\":_vm.isSaveButtonEnable,\"loading\":_vm.loadingSummary},on:{\"assign-to-all\":function($event){return _vm.assignToAll($event)}}})],1),(_vm.authActionsEnabled)?_c('v-col',{attrs:{\"cols\":\"3\"}},[_c('UploadAuthActionCard',{on:{\"executed\":function($event){return _vm.onAuthActionExecuted()}}})],1):_vm._e(),_c('v-col',{attrs:{\"cols\":_vm.authActionsEnabled ? 2 : 3}},[_c('LicensesStatus')],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',{staticClass:\"thisComponent\",attrs:{\"flat\":\"\",\"outlined\":\"\",\"loading\":_vm.loading || _vm.deleteInstallationsRequestDownloading}},[_c('v-data-table',{attrs:{\"headers\":_vm.availableHeaders.filter(function (v) { return v.enabled; }),\"items\":_vm.localInstallations,\"item-key\":\"name\",\"server-items-length\":_vm.paginatedTotalItems,\"options\":_vm.options,\"footer-props\":{ 'items-per-page-options': _vm.dataTableItemsPerPage },\"show-select\":_vm.canDeleteInstallations,\"dense\":\"\"},on:{\"update:options\":function($event){_vm.options=$event}},scopedSlots:_vm._u([{key:\"top\",fn:function(){return [_c('v-toolbar',{staticClass:\"mb-5\"},[_c('v-fa-icon',{staticClass:\"mr-3\",attrs:{\"icon\":\"list\",\"medium\":\"\",\"color\":\"primary\"}}),_c('v-toolbar-title',[_vm._v(_vm._s(_vm.$t(\"common.installationsList\")))]),_c('v-spacer'),(_vm.isSaveButtonEnable)?_c('v-dialog',{attrs:{\"width\":\"85%\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('v-btn',_vm._g(_vm._b({staticClass:\"mx-2\",attrs:{\"color\":\"success\"}},'v-btn',attrs,false),on),[_vm._v(\" \"+_vm._s(_vm.$t(\"common.save\"))+\" \")])]}}],null,false,2603116275),model:{value:(_vm.confirmationDialog),callback:function ($$v) {_vm.confirmationDialog=$$v},expression:\"confirmationDialog\"}},[_c('LicensesConfirmationModal',{on:{\"close\":function($event){_vm.confirmationDialog = false},\"submit\":function($event){_vm.$emit('submit');\n _vm.confirmationDialog = false;}}})],1):_vm._e(),(!_vm.canDeleteInstallations && _vm.authActionsEnabled)?_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\nreturn [_c('v-btn',_vm._g({staticClass:\"mr-1\",attrs:{\"icon\":\"\",\"color\":\"info\",\"small\":\"\",\"disabled\":_vm.localInstallations == null || _vm.localInstallations.length <= 0},on:{\"click\":function($event){_vm.canDeleteInstallations = true}}},on),[_c('v-fa-icon',{attrs:{\"icon\":\"trash\"}})],1)]}}],null,false,2402306385)},[_c('span',{domProps:{\"textContent\":_vm._s(_vm.$t('licensesManagement.deleteInstallationsMode'))}})]):_vm._e(),(_vm.canDeleteInstallations)?_c('v-badge',{staticClass:\"myBadge\",attrs:{\"color\":\"info darken-2\",\"offset-y\":\"18\",\"offset-x\":\"25\"}},[_c('v-btn',{staticClass:\"ma-0 pa-0\",attrs:{\"slot\":\"badge\",\"small\":\"\",\"icon\":\"\"},on:{\"click\":function($event){_vm.canDeleteInstallations = false}},slot:\"badge\"},[_c('v-fa-icon',{staticClass:\"ma-0 pa-0\",attrs:{\"icon\":\"times\",\"small\":\"\",\"color\":\"white\"}})],1),_c('v-dialog',{attrs:{\"width\":\"65%\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\n var attrs = ref.attrs;\nreturn [_c('v-btn',_vm._g(_vm._b({staticClass:\"mx-2 pr-5 pl-3\",attrs:{\"color\":\"info\",\"disabled\":_vm.selectedItems.length <= 0}},'v-btn',attrs,false),on),[_c('v-fa-icon',{staticClass:\"mr-2\",attrs:{\"icon\":\"trash\",\"small\":\"\"}}),_c('span',{domProps:{\"textContent\":_vm._s(_vm.$tc('licensesManagement.deleteInstallations', [_vm.selectedItems.length]))}})],1)]}}],null,false,2529382420),model:{value:(_vm.deleteInstallationsConfirmationDialog),callback:function ($$v) {_vm.deleteInstallationsConfirmationDialog=$$v},expression:\"deleteInstallationsConfirmationDialog\"}},[_c('v-card',[_c('DeleteInstallationsConfirmationModal',{attrs:{\"installations\":_vm.selectedItems},on:{\"confirmed\":function($event){_vm.deleteInstallationsRequestDownload();\n _vm.canDeleteInstallations = false;},\"close\":function($event){_vm.deleteInstallationsConfirmationDialog = false}}})],1)],1)],1):_vm._e(),_c('v-divider',{staticClass:\"ml-2\",attrs:{\"vertical\":\"\"}}),_c('v-toolbar-items',[_c('ColumnVisibilityFilter',{attrs:{\"pageTitle\":\"licenses\",\"initialHeaders\":_vm.initialAvailableHeaders},on:{\"onValueChange\":function (c) { return (_vm.availableHeaders = c); }}})],1),_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\nreturn [_c('v-btn',_vm._g({staticClass:\"mr-1\",attrs:{\"icon\":\"\",\"color\":\"primary\",\"small\":\"\"},on:{\"click\":function($event){return _vm.$emit('download', 'csv')}}},on),[_c('v-fa-icon',{attrs:{\"icon\":\"file-csv\"}})],1)]}}])},[_c('span',{domProps:{\"textContent\":_vm._s(_vm.$t('common.exportAsCsv'))}})])],1),_c('TableTopScrollbar')]},proxy:true},{key:\"body.prepend\",fn:function(ref){\n var headers = ref.headers;\nreturn [_c('TableFiltersRow',{attrs:{\"headers\":headers,\"computedFilters\":_vm.filters},on:{\"filters-changed\":function($event){return _vm.$emit('filters-changed', $event)}}})]}},{key:\"item.status\",fn:function(ref){\n var item = ref.item;\n var value = ref.value;\nreturn [_c('global-status-installation-chip',{attrs:{\"item\":item,\"status\":value}})]}},{key:\"item.connectivityStatus\",fn:function(ref){\n var value = ref.value;\nreturn [_c('connectivity-status-chip',{attrs:{\"status\":value}})]}},{key:\"item.name\",fn:function(ref){\n var item = ref.item;\n var value = ref.value;\nreturn [(item.licenseData.licenseChecksum == 'invalid')?_c('v-tooltip',{attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\n var on = ref.on;\nreturn [_c('v-btn',_vm._g({attrs:{\"icon\":\"\",\"small\":\"\"}},on),[_c('v-fa-icon',{staticClass:\"mr-2\",attrs:{\"icon\":\"exclamation-circle\",\"color\":\"error\"}})],1)]}}],null,true)},[_c('span',[_vm._v(_vm._s(_vm.$t(\"licensesManagement.dataTampering\")))])]):_vm._e(),_c('span',{domProps:{\"textContent\":_vm._s(value)}})]}},{key:\"item.lastMessage\",fn:function(ref){\n var value = ref.value;\nreturn [(value)?_c('date-moment-tooltip',{attrs:{\"date\":value}}):_c('span',[_vm._v(\"-\")])]}},{key:\"item.agentInfo.lastMessage\",fn:function(ref){\n var item = ref.item;\nreturn [(item.agentInfo && item.agentInfo.lastMessage)?_c('date-moment-tooltip',{attrs:{\"date\":_vm.moment.utc(item.agentInfo.lastMessage).format()}}):_c('span',[_vm._v(\"-\")])]}},{key:\"item.agentInfo.version\",fn:function(ref){\n var item = ref.item;\nreturn [(item.agentInfo && item.agentInfo.version)?_c('span',[_vm._v(\" \"+_vm._s(item.agentInfo.version))]):_c('span',[_vm._v(\"-\")])]}},{key:\"item.licenseData.registration\",fn:function(ref){\n var item = ref.item;\nreturn [(item.licenseData && item.licenseData.registration)?_c('date-moment-tooltip',{attrs:{\"date\":item.licenseData.registration}}):_c('span',[_vm._v(\"-\")])]}},{key:\"item.ServiceAndUpdatesManagement\",fn:function(ref){\n var item = ref.item;\nreturn [_c('LicenseModuleCheckbox',{attrs:{\"installationName\":item.name,\"module\":_vm.LicenseModuleEnum.ServiceAndUpdatesManagement,\"disabled\":item.licenseData.daysToChangeModules <= 0}})]}},{key:\"item.FitnessStatistics\",fn:function(ref){\n var item = ref.item;\nreturn [_c('LicenseModuleCheckbox',{attrs:{\"installationName\":item.name,\"module\":_vm.LicenseModuleEnum.FitnessStatistics,\"disabled\":item.licenseData.daysToChangeModules <= 0}})]}},{key:\"item.SecurityManagement\",fn:function(ref){\n var item = ref.item;\nreturn [_c('LicenseModuleCheckbox',{attrs:{\"installationName\":item.name,\"module\":_vm.LicenseModuleEnum.SecurityManagement,\"disabled\":item.licenseData.daysToChangeModules <= 0}})]}},{key:\"item.CashFlowManagement\",fn:function(ref){\n var item = ref.item;\nreturn [_c('LicenseModuleCheckbox',{attrs:{\"installationName\":item.name,\"module\":_vm.LicenseModuleEnum.CashFlowManagement,\"disabled\":item.licenseData.daysToChangeModules <= 0}})]}},{key:\"item.PredictiveMaintenance\",fn:function(ref){\n var item = ref.item;\nreturn [_c('LicenseModuleCheckbox',{attrs:{\"installationName\":item.name,\"module\":_vm.LicenseModuleEnum.PredictiveMaintenance,\"disabled\":item.licenseData.daysToChangeModules <= 0}})]}},{key:\"item.RemoteLink\",fn:function(ref){\n var item = ref.item;\nreturn [_c('LicenseModuleCheckbox',{attrs:{\"installationName\":item.name,\"module\":_vm.LicenseModuleEnum.RemoteLink,\"disabled\":item.licenseData.daysToChangeModules <= 0}})]}},{key:\"item.OneTimeCode\",fn:function(ref){\n var item = ref.item;\nreturn [_c('LicenseModuleCheckbox',{attrs:{\"installationName\":item.name,\"module\":_vm.LicenseModuleEnum.OneTimeCode,\"disabled\":item.licenseData.daysToChangeModules <= 0}})]}}],null,true),model:{value:(_vm.selectedItems),callback:function ($$v) {_vm.selectedItems=$$v},expression:\"selectedItems\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',[_c('v-checkbox',{staticClass:\"ma-0 pa-0\",attrs:{\"value\":_vm.computedEnabled,\"hide-details\":\"\",\"disabled\":_vm.disabled || (_vm.noLicenseAvailable && !_vm.computedEnabled)},model:{value:(_vm.computedEnabled),callback:function ($$v) {_vm.computedEnabled=$$v},expression:\"computedEnabled\"}})],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport _ from \"lodash\";\r\n\r\n// Vuex\r\nimport { RootState } from \"@/store\";\r\nimport { mapMutations, mapState } from \"vuex\";\r\nimport * as m from \"@/store/modules/LicenseModule/mutations\";\r\n\r\n// Model\r\nimport { LicenseModuleEnum } from \"@/model/data/License/LicenseModuleEnum\";\r\nimport { Installation } from \"@/model/data/Installation\";\r\n\r\nexport default Vue.extend({\r\n data() {\r\n return {\r\n currentSelection: false,\r\n };\r\n },\r\n props: {\r\n // value: {},\r\n installationName: { type: String, required: true },\r\n module: { type: Number, required: true },\r\n disabled: { type: Boolean, required: true },\r\n },\r\n computed: {\r\n ...mapState({\r\n installations: (state: RootState) => state.license.installations,\r\n localInstallations: (state: RootState) => state.license.localInstallations,\r\n }),\r\n\r\n computedEnabled: {\r\n get: function() {\r\n if (this.localInstallations.filter((i: Installation) => i.name == this.installationName).length > 0) {\r\n var currentInstallation: Installation = this.localInstallations.filter((i: Installation) => i.name == this.installationName)[0];\r\n return LicenseModuleEnum[currentInstallation.licenseData.enabledModules & this.module] == LicenseModuleEnum[this.module];\r\n } else return false;\r\n },\r\n set: function(newValue) {\r\n var newLocalInstallations = _.cloneDeep(this.localInstallations);\r\n\r\n if (newValue) {\r\n if (this.availableLicenses > 0) {\r\n this[m.ADD_LICENSE_LOCALLY](this.module);\r\n newLocalInstallations.filter((i: Installation) => i.name == this.installationName)[0].licenseData.enabledModules =\r\n newLocalInstallations.filter((i: Installation) => i.name == this.installationName)[0].licenseData.enabledModules + this.module;\r\n this[m.SET_LOCAL_INSTALLATIONS](newLocalInstallations);\r\n }\r\n } else {\r\n this[m.REMOVE_LICENSE_LOCALLY](this.module);\r\n newLocalInstallations.filter((i: Installation) => i.name == this.installationName)[0].licenseData.enabledModules =\r\n newLocalInstallations.filter((i: Installation) => i.name == this.installationName)[0].licenseData.enabledModules - this.module;\r\n this[m.SET_LOCAL_INSTALLATIONS](newLocalInstallations);\r\n }\r\n },\r\n },\r\n\r\n availableLicenses() {\r\n return this.$store.getters.getAvailableLicenses(this.module);\r\n },\r\n\r\n serverValue() {\r\n if (this.installations && this.installations.length > 0) {\r\n var currentServerInstallation: Installation = this.installations.filter((i: Installation) => i.name == this.installationName)[0];\r\n return LicenseModuleEnum[currentServerInstallation.licenseData.enabledModules & this.module] == LicenseModuleEnum[this.module];\r\n }\r\n return false;\r\n },\r\n\r\n noLicenseAvailable() {\r\n if (this.serverValue != this.computedEnabled) return false;\r\n return this.availableLicenses <= 0;\r\n },\r\n },\r\n methods: {\r\n ...mapMutations([m.ADD_LICENSE_LOCALLY, m.REMOVE_LICENSE_LOCALLY, m.SET_LOCAL_INSTALLATIONS]),\r\n },\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LicenseModuleCheckbox.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LicenseModuleCheckbox.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LicenseModuleCheckbox.vue?vue&type=template&id=2095b86d&\"\nimport script from \"./LicenseModuleCheckbox.vue?vue&type=script&lang=ts&\"\nexport * from \"./LicenseModuleCheckbox.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./LicenseModuleCheckbox.vue?vue&type=style&index=0&id=2095b86d&prod&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCheckbox } from 'vuetify/lib/components/VCheckbox';\ninstallComponents(component, {VCheckbox})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',{staticClass:\"pa-3\",attrs:{\"flat\":\"\"}},[_c('v-alert',{attrs:{\"type\":\"warning\",\"border\":\"left\",\"elevation\":\"2\"}},[_c('b',[_vm._v(_vm._s(_vm.$t(\"licensesManagement.confirmationModalWarning\")))])]),(_vm.items.length >= 20)?_c('v-card-actions',{staticClass:\"py-1\"},[_c('v-spacer'),_c('v-btn',{staticClass:\"mx-2\",attrs:{\"color\":\"error\"},domProps:{\"textContent\":_vm._s(_vm.$t('common.cancel'))},on:{\"click\":function($event){return _vm.$emit('close')}}}),_c('v-btn',{staticClass:\"mx-2\",attrs:{\"color\":\"success\"},domProps:{\"textContent\":_vm._s(_vm.$t('common.save'))},on:{\"click\":function($event){return _vm.$emit('submit')}}}),_c('v-spacer')],1):_vm._e(),_c('v-row',_vm._l((_vm.titles),function(title){return _c('v-col',{key:title,attrs:{\"cols\":\"6\"}},[_c('v-card',{staticClass:\"d-flex justify-center\",attrs:{\"flat\":\"\"}},[_c('v-card-title',{staticClass:\"ma-0 pa-0\",domProps:{\"textContent\":_vm._s(title)}})],1)],1)}),1),_c('v-card',{staticClass:\"mx-10\"},[_c('v-data-table',{attrs:{\"items\":_vm.items,\"headers\":_vm.headers,\"hide-default-footer\":\"\",\"dense\":\"\",\"items-per-page\":_vm.installations.length,\"height\":\"80%\"},scopedSlots:_vm._u([_vm._l((_vm.defaultLicenseModuleEnumSorting().concat( _vm.defaultLicenseModuleEnumSorting())),function(licenseModule,id){return {key:(\"header.\" + (_vm.getHeader(licenseModule,id))),fn:function(ref){return [_c('v-tooltip',{key:(licenseModule, id),attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('span',_vm._g({},on),[_c('v-fa-icon',{attrs:{\"color\":_vm.getLicenseModuleIconColor(licenseModule).color,\"icon\":_vm.getLicenseModuleIconColor(licenseModule).icon}})],1)]}}],null,true)},[_c('span',[_vm._v(\" \"+_vm._s(_vm.$t(_vm.getLicenseModuleLabel(licenseModule)))+\" \")])])]}}}),_vm._l((_vm.defaultLicenseModuleEnumSorting().concat( _vm.defaultLicenseModuleEnumSorting())),function(licenseModule,id){return {key:(\"item.\" + (_vm.getHeader(licenseModule,id))),fn:function(ref){\nvar item = ref.item;\nreturn [_c('span',{key:(licenseModule, id)},[_c('v-icon',[_vm._v(\" \"+_vm._s(_vm.getCheckBoxValue(licenseModule, id, item) ? \"fas fa-check-square\" : \"far fa-square\")+\" \")])],1)]}}}),{key:\"header.divider\",fn:function(ref){return [_c('v-divider',{attrs:{\"vertical\":\"\"}})]}},{key:\"item.divider\",fn:function(ref){return [_c('v-divider',{attrs:{\"vertical\":\"\"}})]}}],null,true)})],1),_c('v-card-actions',{staticClass:\"pt-5 pb-3\"},[_c('v-spacer'),_c('v-btn',{staticClass:\"mx-2\",attrs:{\"color\":\"error\"},domProps:{\"textContent\":_vm._s(_vm.$t('common.cancel'))},on:{\"click\":function($event){return _vm.$emit('close')}}}),_c('v-btn',{staticClass:\"mx-2\",attrs:{\"color\":\"success\"},domProps:{\"textContent\":_vm._s(_vm.$t('common.save'))},on:{\"click\":function($event){return _vm.$emit('submit')}}}),_c('v-spacer')],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\n\r\n// Vuex\r\nimport { RootState } from \"@/store\";\r\nimport { mapState } from \"vuex\";\r\n\r\n// Model\r\nimport { getLicenseModuleLabel, defaultLicenseModuleEnumSorting, LicenseModuleEnum } from \"@/model/data/License/LicenseModuleEnum\";\r\nimport { getLicenseModuleIconColor } from \"@/utility/Constants\";\r\n\r\nexport default Vue.extend({\r\n data() {\r\n return {\r\n LicenseModuleEnum,\r\n };\r\n },\r\n computed: {\r\n ...mapState({\r\n installations: (state: RootState) => state.license.installations,\r\n localInstallations: (state: RootState) => state.license.localInstallations,\r\n }),\r\n\r\n titles() {\r\n return [this.$t(\"licensesManagement.oldModules\"), this.$t(\"licensesManagement.newModules\")];\r\n },\r\n\r\n headers() {\r\n var headers = [];\r\n\r\n headers.push({ text: this.$t(\"common.installationName\"), value: \"name\" });\r\n this.defaultLicenseModuleEnumSorting().forEach((moduleEnumValue) => {\r\n headers.push({\r\n value: LicenseModuleEnum[moduleEnumValue],\r\n sortable: false,\r\n align: \"center\",\r\n });\r\n });\r\n headers.push({ text: \"\", value: \"divider\", sortable: false, width: \"1px\" });\r\n headers.push({ text: this.$t(\"common.installationName\"), value: \"localName\" });\r\n this.defaultLicenseModuleEnumSorting().forEach((moduleEnumValue) => {\r\n headers.push({\r\n value: \"local\" + LicenseModuleEnum[moduleEnumValue],\r\n sortable: false,\r\n align: \"center\",\r\n });\r\n });\r\n\r\n return headers;\r\n },\r\n\r\n items() {\r\n var res = [];\r\n if (this.installations != null && this.installations.length > 0 && this.localInstallations != null && this.localInstallations.length > 0) {\r\n this.installations.forEach((installation) => {\r\n var currentLocalInstallation = this.localInstallations.filter((i) => i.name == installation.name)[0];\r\n if (currentLocalInstallation.licenseData.enabledModules != installation.licenseData.enabledModules)\r\n res.push({\r\n ...installation,\r\n localName: currentLocalInstallation.name,\r\n localLicenseData: { enabledModules: currentLocalInstallation.licenseData.enabledModules },\r\n });\r\n });\r\n }\r\n return res;\r\n },\r\n },\r\n methods: {\r\n defaultLicenseModuleEnumSorting,\r\n getLicenseModuleIconColor,\r\n getLicenseModuleLabel,\r\n\r\n getHeader(licenseModule, id) {\r\n return id >= this.defaultLicenseModuleEnumSorting().length ? \"local\" + LicenseModuleEnum[licenseModule] : LicenseModuleEnum[licenseModule];\r\n },\r\n\r\n getCheckBoxValue(licenseModule, id, item) {\r\n return ((id >= defaultLicenseModuleEnumSorting().length ? item.localLicenseData.enabledModules : item.licenseData.enabledModules) & licenseModule) == licenseModule;\r\n },\r\n },\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LicensesConfirmationModal.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LicensesConfirmationModal.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LicensesConfirmationModal.vue?vue&type=template&id=774863fb&\"\nimport script from \"./LicensesConfirmationModal.vue?vue&type=script&lang=ts&\"\nexport * from \"./LicensesConfirmationModal.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAlert } from 'vuetify/lib/components/VAlert';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VAlert,VBtn,VCard,VCardActions,VCardTitle,VCol,VDataTable,VDivider,VIcon,VRow,VSpacer,VTooltip})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',{staticClass:\"pa-3\",attrs:{\"loading\":_vm.loading,\"flat\":\"\"}},[_c('AuthActionsAlert'),_c('v-row',{staticClass:\"px-3\"},[_c('v-card-title',{staticClass:\"ma-0 px-3 py-2\"},[_vm._v(\" \"+_vm._s(_vm.$t(\"licensesManagement.deleteConfirmationTitle\"))+\" \")]),_c('v-spacer'),(_vm.items.length > 20)?_c('span',[_c('v-btn',{staticClass:\"mx-2\",attrs:{\"color\":\"error\"},on:{\"click\":function($event){return _vm.$emit('close')}}},[_vm._v(\" \"+_vm._s(_vm.$t(\"common.cancel\"))+\" \")]),_c('v-btn',{staticClass:\"mx-2\",attrs:{\"color\":\"success\"},on:{\"click\":function($event){return _vm.onConfirm()}}},[_vm._v(\" \"+_vm._s(_vm.$t(\"common.confirm\"))+\" \")])],1):_vm._e()],1),_c('v-card',{staticClass:\"mx-2 py-1\",attrs:{\"outlined\":\"\"}},[_c('v-data-table',{attrs:{\"items\":_vm.items,\"headers\":_vm.headers,\"hide-default-footer\":\"\",\"dense\":\"\",\"items-per-page\":_vm.items.length},scopedSlots:_vm._u([{key:\"item.lastMessage\",fn:function(ref){\nvar value = ref.value;\nreturn [(value)?_c('date-moment-tooltip',{attrs:{\"date\":value}}):_c('span',[_vm._v(\"-\")])]}},_vm._l(([].concat( _vm.defaultLicenseModuleEnumSorting() )),function(licenseModule,id){return {key:(\"header.\" + (_vm.LicenseModuleEnum[licenseModule])),fn:function(ref){return [_c('v-tooltip',{key:(licenseModule, id),attrs:{\"top\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('span',_vm._g({},on),[_c('v-fa-icon',{attrs:{\"color\":_vm.getLicenseModuleIconColor(licenseModule).color,\"icon\":_vm.getLicenseModuleIconColor(licenseModule).icon}})],1)]}}],null,true)},[_c('span',[_vm._v(\" \"+_vm._s(_vm.$t(_vm.getLicenseModuleLabel(licenseModule)))+\" \")])])]}}}),_vm._l(([].concat( _vm.defaultLicenseModuleEnumSorting() )),function(licenseModule,id){return {key:(\"item.\" + (_vm.LicenseModuleEnum[licenseModule])),fn:function(ref){\nvar item = ref.item;\nreturn [_c('span',{key:(licenseModule, id)},[_c('v-icon',[_vm._v(\" \"+_vm._s((item.licenseData.enabledModules & licenseModule) == licenseModule ? \"fas fa-check-square\" : \"far fa-square\")+\" \")])],1)]}}})],null,true)})],1),_c('v-card-actions',{staticClass:\"pt-5 pb-3\"},[_c('v-spacer'),_c('v-btn',{staticClass:\"mx-2\",attrs:{\"color\":\"error\"},on:{\"click\":function($event){return _vm.$emit('close')}}},[_vm._v(\" \"+_vm._s(_vm.$t(\"common.cancel\"))+\" \")]),_c('v-btn',{staticClass:\"mx-2\",attrs:{\"disabled\":_vm.items.length <= 0,\"color\":\"success\"},on:{\"click\":function($event){return _vm.onConfirm()}}},[_vm._v(\" \"+_vm._s(_vm.$t(\"common.confirm\"))+\" \")]),_c('v-spacer')],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-alert',{attrs:{\"type\":\"warning\",\"border\":\"left\",\"elevation\":\"2\",\"text\":\"\"}},[_c('v-row',[_c('b',[_vm._v(_vm._s(_vm.$t(\"common.attention\"))+\":\")]),_c('span',{staticClass:\"ml-1\",domProps:{\"textContent\":_vm._s(_vm.$t('authActions.info'))}}),_c('InfoButton',{staticClass:\"mx-6\",attrs:{\"color\":\"warning\"}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('span',[_c('v-btn',_vm._b({attrs:{\"small\":\"\"},on:{\"click\":function($event){_vm.dialog = true}}},'v-btn',_vm.$attrs,false),[_c('v-fa-icon',{staticClass:\"mr-2\",attrs:{\"icon\":\"info-circle\",\"small\":\"\"}}),_c('span',{domProps:{\"textContent\":_vm._s(_vm.$t('common.learnMore'))}})],1),_c('v-dialog',{attrs:{\"width\":\"500\"},model:{value:(_vm.dialog),callback:function ($$v) {_vm.dialog=$$v},expression:\"dialog\"}},[_c('v-card',[_c('v-card-title',{staticClass:\"headline grey lighten-2\",domProps:{\"textContent\":_vm._s(_vm.$t('authActions.title'))}}),_c('v-card-text',{staticClass:\"mt-3\",domProps:{\"textContent\":_vm._s(_vm.$t('authActions.description1'))}}),_c('v-card-text',{staticClass:\"mt-3\",domProps:{\"textContent\":_vm._s(_vm.$t('authActions.description2'))}}),_c('v-card-text',{staticClass:\"mt-3\",domProps:{\"textContent\":_vm._s(_vm.$t('authActions.description3'))}}),_c('v-card-text',{staticClass:\"mt-3\",domProps:{\"textContent\":_vm._s(_vm.$t('authActions.description4'))}}),_c('v-divider',{staticClass:\"mx-3\"}),_c('v-card-actions',[_c('v-spacer'),_c('v-btn',{attrs:{\"color\":\"primary\",\"text\":\"\"},domProps:{\"textContent\":_vm._s(_vm.$t('common.close'))},on:{\"click\":function($event){_vm.dialog = false}}})],1)],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nexport default Vue.extend({\r\n data() {\r\n return { dialog: false };\r\n },\r\n});\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InfoButton.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InfoButton.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./InfoButton.vue?vue&type=template&id=2c6f32c9&\"\nimport script from \"./InfoButton.vue?vue&type=script&lang=ts&\"\nexport * from \"./InfoButton.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VCardText } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VBtn,VCard,VCardActions,VCardText,VCardTitle,VDialog,VDivider,VSpacer})\n","\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\n\r\n// Vue components\r\nimport InfoButton from \"./InfoButton.vue\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n InfoButton,\r\n },\r\n});\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AuthActionsAlert.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AuthActionsAlert.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./AuthActionsAlert.vue?vue&type=template&id=e37c2a50&\"\nimport script from \"./AuthActionsAlert.vue?vue&type=script&lang=ts&\"\nexport * from \"./AuthActionsAlert.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAlert } from 'vuetify/lib/components/VAlert';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VAlert,VRow})\n","import { GlobalStatusEnum } from \"@/model/data/status/GlobalStatusEnum\";\r\nimport { Command, HttpVerbType, API_PREFIX, API_VERSION } from \"../Command\";\r\nimport { GetInstallationsResData } from \"../device/GetInstallationsResData\";\r\nimport { ConnectivityStatusEnum } from \"@/model/data/status/ConnectivityStatusEnum\";\r\n\r\nconst ENDPOINT = \"/license/installations_enabled_modules\";\r\n\r\nexport class GetInstallationsEnabledModulesCommand extends Command {\r\n endPoint: string = API_PREFIX + API_VERSION + ENDPOINT;\r\n httpVerb: HttpVerbType = \"post\";\r\n params: GetInstallationsEnabledModulesServerReqData = null;\r\n\r\n constructor(params: GetInstallationsEnabledModulesServerReqData) {\r\n super();\r\n this.params = params;\r\n }\r\n\r\n public async execute(): Promise {\r\n let res = await this.executeCommand(this.params);\r\n return new GetInstallationsResData(res);\r\n }\r\n}\r\n\r\nexport interface GetInstallationsEnabledModulesServerReqData {\r\n // FilterInstallations\r\n installationNames: string[];\r\n folderIds: number[];\r\n branchNames: string[];\r\n\r\n // PaginationFilters\r\n queryLimit: number;\r\n offset: number;\r\n orderBy: string[];\r\n orderByDescending: boolean[];\r\n\r\n // Other filters\r\n globalStatusFilter: GlobalStatusEnum[];\r\n connectivityStatusFilter: ConnectivityStatusEnum[];\r\n installationLastMessageDateRange: string[];\r\n agentLastMessageDateRange: string[];\r\n registrationDateRange: string[];\r\n enabledModules: number;\r\n disabledModules: number;\r\n}\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { mapState } from \"vuex\";\r\nimport { RootState } from \"@/store\";\r\n\r\n// Vue components\r\nimport AuthActionsAlert from \"@/components/AuthActions/AuthActionsAlert.vue\";\r\n\r\n// Model\r\nimport { getLicenseModuleLabel, defaultLicenseModuleEnumSorting, LicenseModuleEnum } from \"@/model/data/License/LicenseModuleEnum\";\r\nimport { getLicenseModuleIconColor } from \"@/utility/Constants\";\r\nimport { GetInstallationsResData } from \"@/model/communication/device/GetInstallationsResData\";\r\nimport { GetInstallationsEnabledModulesCommand } from \"@/model/communication/license/GetInstallationsEnabledModulesCommand\";\r\nimport { GetInstallationsEnabledModulesReqData, GetServerInstallationsEnabledModulesReqData } from \"@/model/communication/license/GetInstallationsEnabledModulesReqData\";\r\nimport { ApiResponseStatusEnum } from \"@/model/communication/ApiResponseStatusEnum\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n AuthActionsAlert,\r\n },\r\n data() {\r\n return {\r\n LicenseModuleEnum,\r\n loading: false,\r\n requiredInstallations: [],\r\n };\r\n },\r\n props: [\"installations\", \"installationNames\"],\r\n computed: {\r\n ...mapState({\r\n licensesDataSummary: (state: RootState) => state.license.licensesDataSummaryLocal,\r\n }),\r\n headers() {\r\n let headers = [];\r\n\r\n headers.push({ text: this.$t(\"common.installationName\"), value: \"name\" });\r\n headers.push({ text: this.$t(\"common.branch\"), value: \"branch.name\" });\r\n headers.push({ text: this.$t(\"common.last_installation_message\"), value: \"lastMessage\" });\r\n\r\n // Moduli di licenza\r\n this.defaultLicenseModuleEnumSorting().forEach((moduleEnumValue) => {\r\n if (\r\n this.licensesDataSummary.filter((c) => c.module == moduleEnumValue).length > 0 &&\r\n this.licensesDataSummary.filter((c) => c.module == moduleEnumValue)[0].totalLicenses > 0\r\n )\r\n headers.push({\r\n value: LicenseModuleEnum[moduleEnumValue],\r\n sortable: false,\r\n align: \"center\",\r\n });\r\n });\r\n\r\n return headers;\r\n },\r\n\r\n items() {\r\n if (this.installations) return this.installations;\r\n else if (this.installationNames) return this.requiredInstallations;\r\n else return [];\r\n },\r\n },\r\n methods: {\r\n getLicenseModuleLabel,\r\n defaultLicenseModuleEnumSorting,\r\n getLicenseModuleIconColor,\r\n\r\n onConfirm() {\r\n this.$emit(\"confirmed\", this.items);\r\n },\r\n },\r\n async mounted() {\r\n // Richiedo le informazioni delle installazioni al server nel caso in cui sia in possesso solamente dei nomi\r\n if (this.installationNames != null && this.installations == null) {\r\n try {\r\n console.debug(\"Send request to get installation informations\");\r\n this.loading = true;\r\n var request: GetInstallationsEnabledModulesReqData = new GetInstallationsEnabledModulesReqData();\r\n request.installationNames = this.installationNames;\r\n var response: GetInstallationsResData = await new GetInstallationsEnabledModulesCommand(GetServerInstallationsEnabledModulesReqData(request)).execute();\r\n this.loading = false;\r\n if (response.responseStatus == ApiResponseStatusEnum.Success) this.requiredInstallations = response.installations;\r\n } catch (e) {\r\n console.error(\"Something went wrong sending GetInstallationsEnabledModules request \", e);\r\n this.loading = false;\r\n }\r\n }\r\n },\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeleteInstallationsConfirmationModal.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./DeleteInstallationsConfirmationModal.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./DeleteInstallationsConfirmationModal.vue?vue&type=template&id=d94089cc&\"\nimport script from \"./DeleteInstallationsConfirmationModal.vue?vue&type=script&lang=ts&\"\nexport * from \"./DeleteInstallationsConfirmationModal.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCardActions } from 'vuetify/lib/components/VCard';\nimport { VCardTitle } from 'vuetify/lib/components/VCard';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VIcon } from 'vuetify/lib/components/VIcon';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VBtn,VCard,VCardActions,VCardTitle,VDataTable,VIcon,VRow,VSpacer,VTooltip})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport moment from \"moment\";\r\n\r\n// Vuex\r\nimport { RootState } from \"@/store\";\r\nimport { mapMutations, mapState } from \"vuex\";\r\nimport * as m from \"@/store/modules/LicenseModule/mutations\";\r\n\r\n// Vue components\r\nimport LicenseModuleCheckbox from \"./LicenseModuleCheckbox.vue\";\r\nimport TableFiltersRow from \"@/components/TableHeaderFilters/TableFiltersRow.vue\";\r\nimport BranchFilter from \"@/components/TableHeaderFilters/BranchFilter.vue\";\r\n\r\nimport DateRangeFilter from \"@/components/TableHeaderFilters/DateRangeFilter.vue\";\r\nimport LicenseModuleFilter from \"@/components/TableHeaderFilters/LicenseModuleFilter.vue\";\r\nimport LicensesConfirmationModal from \"./LicensesConfirmationModal.vue\";\r\nimport DeleteInstallationsConfirmationModal from \"./DeleteInstallationsConfirmationModal.vue\";\r\nimport GlobalStatusInstallationChip from \"@/views/App/Components/chips/GlobalStatusInstallationChip.vue\";\r\nimport ConnectivityStatusChip from \"@/views/App/Components/chips/ConnectivityStatusChip.vue\";\r\nimport InstallationStatusTableHeaderFilter from \"@/components/InstallationStatusTableHeaderFilter.vue\";\r\nimport ColumnVisibilityFilter from \"@/components/DataTableColumnVisibilityFilter/ColumnVisibilityFilter.vue\";\r\nimport ConnectivityStatusFilter from \"@/components/TableHeaderFilters/ConnectivityStatusFilter.vue\";\r\n\r\n// Model\r\nimport { LicenseModuleEnum } from \"@/model/data/License/LicenseModuleEnum\";\r\nimport { dataTableItemsPerPage } from \"@/utility/Constants\";\r\nimport { DeleteInstallationsRequestDownloadCommand } from \"@/model/communication/authActions/DeleteInstallationsRequestDownloadCommand\";\r\nimport { ClientPrivileges } from \"@/model/data/authentication/ClientPrivilegesEnum\";\r\nimport VFaIcon from \"@/components/VFaIcon.vue\";\r\nimport { ClientUser } from \"@/model/data/authentication/ClientUser\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n LicenseModuleCheckbox,\r\n TableFiltersRow,\r\n LicensesConfirmationModal,\r\n DeleteInstallationsConfirmationModal,\r\n GlobalStatusInstallationChip,\r\n VFaIcon,\r\n ColumnVisibilityFilter,\r\n ConnectivityStatusChip,\r\n },\r\n data() {\r\n return {\r\n moment,\r\n ClientPrivileges,\r\n LicenseModuleEnum,\r\n dataTableItemsPerPage,\r\n BranchFilter,\r\n DateRangeFilter,\r\n LicenseModuleFilter,\r\n ignoreOptionsChanges: false,\r\n ignoreDataChanges: false,\r\n confirmationDialog: false,\r\n options: {},\r\n canDeleteInstallations: false,\r\n selectedItems: [],\r\n deleteInstallationsConfirmationDialog: false,\r\n deleteInstallationsRequestDownloading: false,\r\n availableHeaders: [],\r\n filters: [\r\n {\r\n headerValue: \"status\",\r\n filterKey: \"globalStatusFilter\",\r\n component: InstallationStatusTableHeaderFilter,\r\n currentSelections: [],\r\n },\r\n {\r\n headerValue: \"connectivityStatus\",\r\n filterKey: \"connectivityStatusFilter\",\r\n component: ConnectivityStatusFilter,\r\n currentSelections: [],\r\n },\r\n {\r\n headerValue: \"branch.name\",\r\n filterKey: \"branchNames\",\r\n component: BranchFilter,\r\n currentSelections: [],\r\n },\r\n {\r\n headerValue: \"lastMessage\",\r\n filterKey: \"installationLastMessageDateRange\",\r\n component: DateRangeFilter,\r\n currentSelections: [],\r\n description: this.$t(\"common.dateRangeFilter\", { property: this.$t(\"common.last_installation_message\") }),\r\n },\r\n {\r\n headerValue: \"agentInfo.lastMessage\",\r\n filterKey: \"agentLastMessageDateRange\",\r\n component: DateRangeFilter,\r\n currentSelections: [],\r\n description: this.$t(\"common.dateRangeFilter\", { property: this.$t(\"common.last_agent_message\") }),\r\n },\r\n {\r\n headerValue: \"licenseData.registration\",\r\n filterKey: \"registrationDateRange\",\r\n component: DateRangeFilter,\r\n currentSelections: [],\r\n description: this.$t(\"common.dateRangeFilter\", { property: this.$t(\"licensesManagement.registrationDate\") }),\r\n },\r\n {\r\n headerValue: \"ServiceAndUpdatesManagement\",\r\n filterKey: \"ServiceAndUpdatesManagement\",\r\n component: LicenseModuleFilter,\r\n currentSelections: -1,\r\n },\r\n {\r\n headerValue: \"CashFlowManagement\",\r\n filterKey: \"CashFlowManagement\",\r\n component: LicenseModuleFilter,\r\n currentSelections: -1,\r\n },\r\n {\r\n headerValue: \"FitnessStatistics\",\r\n filterKey: \"FitnessStatistics\",\r\n component: LicenseModuleFilter,\r\n currentSelections: -1,\r\n },\r\n {\r\n headerValue: \"SecurityManagement\",\r\n filterKey: \"SecurityManagement\",\r\n component: LicenseModuleFilter,\r\n currentSelections: -1,\r\n },\r\n {\r\n headerValue: \"PredictiveMaintenance\",\r\n filterKey: \"PredictiveMaintenance\",\r\n component: LicenseModuleFilter,\r\n currentSelections: -1,\r\n },\r\n {\r\n headerValue: \"RemoteLink\",\r\n filterKey: \"RemoteLink\",\r\n component: LicenseModuleFilter,\r\n currentSelections: -1,\r\n },\r\n {\r\n headerValue: \"OneTimeCode\",\r\n filterKey: \"OneTimeCode\",\r\n component: LicenseModuleFilter,\r\n currentSelections: -1,\r\n },\r\n ],\r\n };\r\n },\r\n props: {\r\n loading: { required: true, type: Boolean },\r\n paginatedTotalItems: Number,\r\n installations: { required: true, type: Array },\r\n isSaveButtonEnable: { required: true, type: Boolean },\r\n },\r\n computed: {\r\n ...mapState({\r\n // installations: (state: RootState) => state.license.installations,\r\n localInstallations: (state: RootState) => state.license.localInstallations,\r\n authUser: (state: RootState) => state.authMod.currentUser,\r\n licensesDataSummary: (state: RootState) => state.license.licensesDataSummaryLocal,\r\n }),\r\n\r\n authActionsEnabled() {\r\n return (this.authUser as ClientUser).profile.privileges.and(ClientPrivileges.AuthActions) == ClientPrivileges.AuthActions;\r\n },\r\n\r\n initialAvailableHeaders() {\r\n let availableHeaders: Array = [\r\n {\r\n enabled: true,\r\n text: this.$t(\"common.installationStatus\"),\r\n value: \"status\",\r\n sortable: false,\r\n width: \"1px\",\r\n },\r\n {\r\n enabled: true,\r\n text: this.$t(\"common.connectivityStatus\"),\r\n value: \"connectivityStatus\",\r\n },\r\n {\r\n enabled: true,\r\n canBeHidden: false,\r\n text: this.$t(\"common.installationName\"),\r\n value: \"name\",\r\n width: \"13%\",\r\n },\r\n {\r\n enabled: true,\r\n canBeHidden: true,\r\n text: this.$t(\"common.branch\"),\r\n value: \"branch.name\",\r\n width: \"13%\",\r\n },\r\n {\r\n enabled: false,\r\n canBeHidden: true,\r\n text: this.$t(\"common.pcName\"),\r\n value: \"connectedPc\",\r\n sortable: false,\r\n },\r\n {\r\n enabled: true,\r\n canBeHidden: true,\r\n text: this.$t(\"common.last_update\"),\r\n value: \"lastMessage\",\r\n width: \"120px\",\r\n },\r\n {\r\n enabled: true,\r\n canBeHidden: true,\r\n text: this.$t(\"common.last_agent_message\"),\r\n value: \"agentInfo.lastMessage\",\r\n width: \"120px\",\r\n },\r\n { enabled: false, text: this.$t(\"common.agent_ip\"), value: \"agentInfo.ip\", sortable: false },\r\n { enabled: false, text: this.$t(\"device_status.agent_remote_ip\"), value: \"agentInfo.remoteIp\", sortable: false },\r\n {\r\n enabled: false,\r\n canBeHidden: true,\r\n text: this.$t(\"common.agent_version\"),\r\n value: \"agentInfo.version\",\r\n width: \"1px\",\r\n },\r\n {\r\n enabled: true,\r\n canBeHidden: true,\r\n text: this.$t(\"licensesManagement.registrationDate\"),\r\n value: \"licenseData.registration\",\r\n width: \"120px\",\r\n },\r\n ];\r\n for (let license of this.licensesDataSummary) {\r\n if (license.module == LicenseModuleEnum.CashFlowManagement && license.totalLicenses > 0)\r\n availableHeaders.push({\r\n enabled: true,\r\n canBeHidden: false,\r\n text: this.$t(\"common.license_module.cash_flow_management\"),\r\n value: \"CashFlowManagement\",\r\n width: \"8%\",\r\n sortable: false,\r\n align: \"center\",\r\n });\r\n if (license.module == LicenseModuleEnum.ServiceAndUpdatesManagement && license.totalLicenses > 0)\r\n availableHeaders.push({\r\n enabled: true,\r\n canBeHidden: false,\r\n text: this.$t(\"common.license_module.service_and_updates_management\"),\r\n value: \"ServiceAndUpdatesManagement\",\r\n width: \"8%\",\r\n sortable: false,\r\n align: \"center\",\r\n });\r\n if (license.module == LicenseModuleEnum.PredictiveMaintenance && license.totalLicenses > 0)\r\n availableHeaders.push({\r\n enabled: true,\r\n canBeHidden: false,\r\n text: this.$t(\"common.license_module.predictive_maintenance\"),\r\n value: \"PredictiveMaintenance\",\r\n width: \"8%\",\r\n sortable: false,\r\n align: \"center\",\r\n });\r\n if (license.module == LicenseModuleEnum.RemoteLink && license.totalLicenses > 0)\r\n availableHeaders.push({\r\n enabled: true,\r\n canBeHidden: false,\r\n text: this.$t(\"common.license_module.remote_link\"),\r\n value: \"RemoteLink\",\r\n width: \"8%\",\r\n sortable: false,\r\n align: \"center\",\r\n });\r\n if (license.module == LicenseModuleEnum.OneTimeCode && license.totalLicenses > 0)\r\n availableHeaders.push({\r\n enabled: true,\r\n canBeHidden: false,\r\n text: this.$t(\"common.license_module.one_time_code\"),\r\n value: \"OneTimeCode\",\r\n width: \"8%\",\r\n sortable: false,\r\n align: \"center\",\r\n });\r\n if (license.module == LicenseModuleEnum.SecurityManagement && license.totalLicenses > 0)\r\n availableHeaders.push({\r\n enabled: true,\r\n canBeHidden: false,\r\n text: this.$t(\"common.license_module.security_management\"),\r\n value: \"SecurityManagement\",\r\n width: \"8%\",\r\n sortable: false,\r\n align: \"center\",\r\n });\r\n if (license.module == LicenseModuleEnum.FitnessStatistics && license.totalLicenses > 0)\r\n availableHeaders.push({\r\n enabled: true,\r\n canBeHidden: false,\r\n text: this.$t(\"common.license_module.fitness_statistics\"),\r\n value: \"FitnessStatistics\",\r\n width: \"8%\",\r\n sortable: false,\r\n align: \"center\",\r\n });\r\n }\r\n return availableHeaders;\r\n },\r\n },\r\n watch: {\r\n options: {\r\n handler(newOptions) {\r\n if (!this.ignoreOptionsChanges) this.$emit(\"options-changed\", newOptions);\r\n else this.ignoreOptionsChanges = false;\r\n },\r\n deep: true,\r\n },\r\n\r\n installations: {\r\n handler(newValue) {\r\n this[m.SET_LOCAL_INSTALLATIONS](newValue);\r\n this[m.RESET_LICENSE_LOCALLY](newValue);\r\n },\r\n deep: true,\r\n },\r\n\r\n canDeleteInstallations() {\r\n this.selectedItems = [];\r\n },\r\n },\r\n methods: {\r\n ...mapMutations([m.SET_LOCAL_INSTALLATIONS, m.RESET_LICENSE_LOCALLY]),\r\n backToTheFirst() {\r\n if (this.options.page != 1) {\r\n this.ignoreOptionsChanges = true;\r\n this.options.page = 1;\r\n console.debug(\"backToTheFirst, this.options: \", this.options);\r\n }\r\n },\r\n\r\n async deleteInstallationsRequestDownload() {\r\n console.log(\"deleteInstallationsRequestDownload()\");\r\n\r\n try {\r\n this.deleteInstallationsRequestDownloading = true;\r\n const res = await new DeleteInstallationsRequestDownloadCommand(this.selectedItems.map((inst) => inst.name)).execute();\r\n\r\n if (res.status == 200) {\r\n let fileURL = window.URL.createObjectURL(new Blob([res.data]));\r\n let fileLink = document.createElement(\"a\");\r\n fileLink.href = fileURL;\r\n fileLink.setAttribute(\"download\", res.headers[\"content-disposition\"].substring(\"attachment; filename=\".length));\r\n document.body.appendChild(fileLink);\r\n fileLink.click();\r\n this.deleteInstallationsConfirmationDialog = false;\r\n }\r\n this.deleteInstallationsRequestDownloading = false;\r\n } catch (e) {\r\n console.log(\"Something went wrong during AuthActionRequestDownloadCommand execution: \", e);\r\n this.deleteInstallationsRequestDownloading = false;\r\n }\r\n },\r\n },\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LicensesMainTable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LicensesMainTable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LicensesMainTable.vue?vue&type=template&id=f04a74e2&scoped=true&\"\nimport script from \"./LicensesMainTable.vue?vue&type=script&lang=ts&\"\nexport * from \"./LicensesMainTable.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./LicensesMainTable.vue?vue&type=style&index=0&id=f04a74e2&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"f04a74e2\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBadge } from 'vuetify/lib/components/VBadge';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VSpacer } from 'vuetify/lib/components/VGrid';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarItems } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VBadge,VBtn,VCard,VDataTable,VDialog,VDivider,VSpacer,VToolbar,VToolbarItems,VToolbarTitle,VTooltip})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',{attrs:{\"width\":\"100%\",\"height\":\"100%\"}},[_c('v-toolbar',{staticClass:\"mb-4\"},[_c('v-fa-icon',{staticClass:\"mr-3\",attrs:{\"icon\":\"clipboard-list\",\"medium\":\"\",\"color\":\"primary\"}}),_c('v-toolbar-title',[_vm._v(\" \"+_vm._s(_vm.$t(\"common.summaryTable\"))+\" \")])],1),_c('v-card',{staticClass:\"px-2 pb-4\",attrs:{\"flat\":\"\",\"loading\":_vm.loading}},[_c('v-data-table',{attrs:{\"items\":_vm.items,\"headers\":_vm.headers,\"hide-default-footer\":\"\",\"dense\":\"\"},scopedSlots:_vm._u([{key:\"top\",fn:function(){return undefined},proxy:true},{key:\"item.module\",fn:function(ref){\nvar value = ref.value;\nreturn [_c('v-row',{staticClass:\"px-3\",attrs:{\"align\":\"center\"}},[_c('v-col',{staticClass:\"pa-0\",attrs:{\"cols\":\"2\"}},[_c('v-fa-icon',{staticClass:\"mr-5\",attrs:{\"color\":_vm.getLicenseModuleIconColor(value).color,\"icon\":_vm.getLicenseModuleIconColor(value).icon,\"small\":\"\"}})],1),_c('v-col',{staticClass:\"pa-0\",attrs:{\"cols\":\"10\"}},[_vm._v(\" \"+_vm._s(_vm.$t(_vm.getLicenseModuleLabel(value)))+\" \")])],1)]}},{key:\"item.totalLicenses\",fn:function(ref){\nvar value = ref.value;\nreturn [_c('span',[_vm._v(\" \"+_vm._s(new Intl.NumberFormat().format(value))+\" \")])]}},{key:\"item.assignedLicenses\",fn:function(ref){\nvar value = ref.value;\nreturn [_c('span',[_vm._v(\" \"+_vm._s(new Intl.NumberFormat().format(value))+\" \")])]}},{key:\"item.availableLicenses\",fn:function(ref){\nvar item = ref.item;\nreturn [(item.availableLicenses <= 0 && item.totalLicenses != 0)?_c('v-fa-icon',{attrs:{\"icon\":\"exclamation-triangle\",\"color\":\"error\"}}):_vm._e(),_c('span',[_vm._v(\" \"+_vm._s(new Intl.NumberFormat().format(item.availableLicenses))+\" \")])]}},{key:\"item.actions\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('v-btn',{staticClass:\"my-1\",attrs:{\"color\":\"success\",\"small\":\"\",\"disabled\":_vm.loading || _vm.isSaveButtonEnable || item.availableLicenses <= 0},on:{\"click\":function($event){return _vm.$emit('assign-to-all', item.module)}}},[_vm._v(\" \"+_vm._s(_vm.$t(\"licensesManagement.assignToAll\"))+\" \")])]}}],null,true)}),_c('v-divider')],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport _ from \"lodash\";\r\n\r\nimport { RootState } from \"@/store\";\r\nimport { mapState } from \"vuex\";\r\n\r\n// Model\r\nimport { getLicenseModuleLabel, defaultLicenseModuleEnumSorting } from \"@/model/data/License/LicenseModuleEnum\";\r\nimport { getLicenseModuleIconColor } from \"@/utility/Constants\";\r\nimport VFaIcon from \"@/components/VFaIcon.vue\";\r\n\r\nexport default Vue.extend({\r\n components: { VFaIcon },\r\n data() {\r\n return {\r\n headers: [\r\n {\r\n value: \"module\",\r\n text: this.$t(\"licensesManagement.module\"),\r\n sortable: false,\r\n width: \"30%\",\r\n },\r\n {\r\n value: \"totalLicenses\",\r\n text: this.$t(\"licensesManagement.totalLicenses\"),\r\n align: \"center\",\r\n sortable: false,\r\n },\r\n {\r\n value: \"assignedLicenses\",\r\n text: this.$t(\"licensesManagement.assignedLicenses\"),\r\n align: \"center\",\r\n sortable: false,\r\n },\r\n {\r\n value: \"availableLicenses\",\r\n text: this.$t(\"licensesManagement.availableLicenses\"),\r\n align: \"center\",\r\n sortable: false,\r\n },\r\n {\r\n value: \"actions\",\r\n text: \"\",\r\n align: \"center\",\r\n sortable: false,\r\n },\r\n ],\r\n };\r\n },\r\n props: {\r\n loading: {\r\n required: true,\r\n type: Boolean,\r\n },\r\n isSaveButtonEnable: {\r\n required: true,\r\n type: Boolean,\r\n },\r\n },\r\n computed: {\r\n ...mapState({\r\n // licensesDataSummary: (state: RootState) => state.license.licensesDataSummary,\r\n licensesDataSummary: (state: RootState) => state.license.licensesDataSummaryLocal,\r\n localInstallations: (state: RootState) => state.license.localInstallations,\r\n }),\r\n\r\n items() {\r\n let arrayResult = [];\r\n\r\n this.defaultLicenseModuleEnumSorting().forEach((moduleEnumValue) => {\r\n if (\r\n this.licensesDataSummary.filter((c) => c.module == moduleEnumValue).length > 0 &&\r\n this.licensesDataSummary.filter((c) => c.module == moduleEnumValue)[0].totalLicenses > 0\r\n )\r\n arrayResult.push(this.licensesDataSummary.filter((c) => c.module == moduleEnumValue)[0]);\r\n });\r\n\r\n return arrayResult;\r\n },\r\n },\r\n methods: {\r\n getLicenseModuleLabel,\r\n getLicenseModuleIconColor,\r\n defaultLicenseModuleEnumSorting,\r\n },\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SummaryTable.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SummaryTable.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./SummaryTable.vue?vue&type=template&id=2d3bcd9c&\"\nimport script from \"./SummaryTable.vue?vue&type=script&lang=ts&\"\nexport * from \"./SummaryTable.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VBtn,VCard,VCol,VDataTable,VDivider,VRow,VToolbar,VToolbarTitle})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',{attrs:{\"width\":\"100%\",\"height\":\"100%\"}},[_c('v-toolbar',{staticClass:\"mb-4\"},[_c('v-fa-icon',{staticClass:\"mr-3\",attrs:{\"icon\":\"stethoscope\",\"medium\":\"\",\"color\":\"primary\"}}),_c('v-toolbar-title',{domProps:{\"textContent\":_vm._s(_vm.$t('licensesManagement.licenseStatus'))}})],1),(_vm.licensesData.areAllExpirationDatesTheSame())?_c('v-card',{staticClass:\"text-center\",attrs:{\"flat\":\"\"}},[_c('v-row',{attrs:{\"align-center\":\"\"}},[_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-fa-icon',{staticClass:\"my-3\",attrs:{\"icon\":_vm.content.icon,\"color\":_vm.content.color,\"x-large\":\"\"}})],1),_c('v-col',{attrs:{\"cols\":\"12\"}},[_c('v-alert',{staticClass:\"mx-4\",attrs:{\"type\":_vm.content.color,\"text\":\"\"},domProps:{\"textContent\":_vm._s(_vm.content.text)}})],1)],1)],1):_c('span',[_c('v-card',{staticClass:\"px-2 pb-4\",attrs:{\"flat\":\"\"}},[_c('v-data-table',{attrs:{\"items\":_vm.items,\"headers\":_vm.headers,\"hide-default-footer\":\"\",\"dense\":\"\"},scopedSlots:_vm._u([{key:\"item.module\",fn:function(ref){\nvar value = ref.value;\nreturn [_c('v-row',{staticClass:\"pl-1\",attrs:{\"align\":\"center\"}},[_c('v-col',{staticClass:\"pa-0\",attrs:{\"cols\":\"2\"}},[_c('v-fa-icon',{staticClass:\"mr-5\",attrs:{\"color\":_vm.getLicenseModuleIconColor(value).color,\"icon\":_vm.getLicenseModuleIconColor(value).icon,\"small\":\"\"}})],1),_c('v-col',{staticClass:\"pa-0 pl-2\",attrs:{\"cols\":\"10\"}},[_vm._v(\" \"+_vm._s(_vm.$t(_vm.getLicenseModuleLabel(value)))+\" \")])],1)]}},{key:\"item.status\",fn:function(ref){\nvar item = ref.item;\nreturn [_c('v-tooltip',{attrs:{\"left\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nvar attrs = ref.attrs;\nreturn [_c('span',_vm._g(_vm._b({},'span',attrs,false),on),[_c('v-fa-icon',{staticClass:\"my-1\",attrs:{\"icon\":_vm.getStyle(item.getStatus()).icon,\"color\":_vm.getStyle(item.getStatus()).color}})],1)]}}],null,true)},[_c('span',[_vm._v(\" \"+_vm._s(_vm.getStyle(item.getStatus()).text)+\" \")])])]}}],null,true)}),_c('v-divider')],1)],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\n\r\n// Vuex\r\nimport { RootState } from \"@/store\";\r\nimport { mapState } from \"vuex\";\r\n\r\n// Model\r\nimport { LicenseModuleStatusEnum } from \"@/model/data/License/LicenseModuleStatusEnum\";\r\nimport { stretchingWindowAfterExpiration } from \"@/model/data/License/LicenseModule\";\r\nimport { getLicenseModuleIconColor } from \"@/utility/Constants\";\r\nimport { getLicenseModuleLabel, defaultLicenseModuleEnumSorting, LicenseModuleEnum } from \"@/model/data/License/LicenseModuleEnum\";\r\n\r\nexport default Vue.extend({\r\n data() {\r\n return {\r\n headers: [\r\n {\r\n value: \"module\",\r\n text: this.$t(\"licensesManagement.module\"),\r\n sortable: false,\r\n },\r\n {\r\n value: \"status\",\r\n text: this.$t(\"common.status\"),\r\n sortable: false,\r\n align: \"center\",\r\n },\r\n ],\r\n };\r\n },\r\n computed: {\r\n ...mapState({\r\n licensesData: (state: RootState) => state.license.licenseModules,\r\n }),\r\n\r\n items() {\r\n var arrayResult = [];\r\n\r\n this.defaultLicenseModuleEnumSorting().forEach((moduleEnumValue) => {\r\n if (\r\n this.licensesData.modules.filter((c) => c.module == moduleEnumValue).length > 0 &&\r\n this.licensesData.modules.filter((c) => c.module == moduleEnumValue)[0].nDevices > 0\r\n )\r\n arrayResult.push(this.licensesData.modules.filter((c) => c.module == moduleEnumValue)[0]);\r\n });\r\n\r\n return arrayResult;\r\n },\r\n\r\n content() {\r\n return this.getStyle(this.licensesData.modules[0].getStatus());\r\n },\r\n },\r\n methods: {\r\n getLicenseModuleLabel,\r\n defaultLicenseModuleEnumSorting,\r\n getLicenseModuleIconColor,\r\n\r\n getStyle(status: LicenseModuleStatusEnum) {\r\n switch (status) {\r\n case LicenseModuleStatusEnum.Valid:\r\n return { icon: \"thumbs-up\", color: \"success\", text: this.$t(\"license.license_active\") };\r\n case LicenseModuleStatusEnum.CloseToExpiration:\r\n return {\r\n icon: \"exclamation-triangle\",\r\n color: \"warning\",\r\n text: this.$tc(\"license.license_will_expire_in_days\", Math.abs(this.licensesData.modules[0].getExpirationDateDiff())),\r\n };\r\n case LicenseModuleStatusEnum.ExpiredRecently:\r\n return {\r\n icon: \"exclamation-triangle\",\r\n color: \"error\",\r\n text:\r\n this.$t(\"license.license_is_expired\") +\r\n \". \" +\r\n this.$tc(\"license.you_can_still_use_clink_for_days\", stretchingWindowAfterExpiration - Math.abs(this.licensesData.modules[0].getExpirationDateDiff())),\r\n };\r\n case LicenseModuleStatusEnum.Expired:\r\n return { icon: \"times-circle\", color: \"error\", text: this.$t(\"license.license_is_expired\") };\r\n default:\r\n return { icon: \"thumbs-up\", color: \"success\" };\r\n }\r\n },\r\n },\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LicensesStatus.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./LicensesStatus.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./LicensesStatus.vue?vue&type=template&id=b5c5c23a&\"\nimport script from \"./LicensesStatus.vue?vue&type=script&lang=ts&\"\nexport * from \"./LicensesStatus.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAlert } from 'vuetify/lib/components/VAlert';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VDataTable } from 'vuetify/lib/components/VDataTable';\nimport { VDivider } from 'vuetify/lib/components/VDivider';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\nimport { VTooltip } from 'vuetify/lib/components/VTooltip';\ninstallComponents(component, {VAlert,VCard,VCol,VDataTable,VDivider,VRow,VToolbar,VToolbarTitle,VTooltip})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',{staticClass:\"pb-3\",attrs:{\"width\":\"100%\",\"height\":\"100%\"}},[_c('v-toolbar',{staticClass:\"mb-4\"},[_c('v-fa-icon',{staticClass:\"mr-3\",attrs:{\"icon\":\"tools\",\"medium\":\"\",\"color\":\"primary\"}}),_c('v-toolbar-title',{domProps:{\"textContent\":_vm._s(_vm.$t('authActions.authActions'))}})],1),_c('v-card',{staticClass:\"px-5 text-center\",attrs:{\"flat\":\"\"}},[_c('v-fa-icon',{staticClass:\"my-4\",attrs:{\"icon\":\"upload\",\"x-large\":\"\",\"color\":\"info\"}}),_c('v-file-input',{attrs:{\"chips\":\"\",\"accept\":\".aares\",\"label\":_vm.$t('authActions.fileInput')},model:{value:(_vm.file),callback:function ($$v) {_vm.file=$$v},expression:\"file\"}}),(_vm.file)?_c('v-btn',{staticClass:\"ml-3\",attrs:{\"small\":\"\",\"color\":\"success\"},on:{\"click\":function($event){return _vm.openFile()}}},[_c('v-fa-icon',{staticClass:\"mr-2\",attrs:{\"icon\":\"play-circle\",\"small\":\"\"}}),_c('span',{domProps:{\"textContent\":_vm._s(_vm.$t('common.execute'))}})],1):_c('span',[_c('InfoButton',{attrs:{\"color\":\"info\"}}),_c('v-alert',{staticClass:\"mt-2\",attrs:{\"dismissible\":\"\",\"type\":\"success\",\"icon\":false},model:{value:(_vm.showOkAlert),callback:function ($$v) {_vm.showOkAlert=$$v},expression:\"showOkAlert\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"authActions.actionExecutionOk\"))+\" \")]),_c('v-alert',{staticClass:\"mt-2\",attrs:{\"dismissible\":\"\",\"type\":\"error\",\"icon\":false},model:{value:(_vm.showErrorAlert),callback:function ($$v) {_vm.showErrorAlert=$$v},expression:\"showErrorAlert\"}},[_vm._v(\" \"+_vm._s(_vm.$t(\"authActions.actionExecutionError\"))+\" \")])],1)],1),_c('v-dialog',{attrs:{\"width\":\"65%\"},model:{value:(_vm.showConfirmationDialog),callback:function ($$v) {_vm.showConfirmationDialog=$$v},expression:\"showConfirmationDialog\"}},[_c(_vm.GenericConfirmationModal,{tag:\"component\",attrs:{\"file\":_vm.file},on:{\"close\":function($event){_vm.showConfirmationDialog = false},\"action-execution-ok\":function($event){return _vm.actionSuccessfullyExecuted()},\"action-execution-error\":function($event){return _vm.actionExecutedWithError()}}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export enum AuthActionTypeEnum {\r\n DeleteInstallations,\r\n}\r\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-card',{attrs:{\"flat\":\"\"}},[_c('v-skeleton-loader',{attrs:{\"type\":\"table\",\"loading\":_vm.loading}},[_c('span',{attrs:{\"slot\":\"default\"},slot:\"default\"},[_c('v-card',{attrs:{\"flat\":\"\",\"loading\":_vm.executing}},[(_vm.action && _vm.action.type == _vm.AuthActionTypeEnum.DeleteInstallations)?_c('DeleteInstallationsConfirmationModal',{attrs:{\"installationNames\":_vm.action.installationNames},on:{\"confirmed\":function($event){return _vm.onConfirm()},\"close\":function($event){return _vm.$emit('close')}}}):_vm._e()],1)],1)])],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { AuthAction } from \"../AuthAction\";\r\nimport { AuthActionResponse } from \"../AuthActionResponse\";\r\nimport { AuthActionTypeEnum } from \"../AuthActionTypeEnum\";\r\n\r\nexport class DeleteInstallationsAuthActionResponse implements AuthActionResponse {\r\n readonly type: AuthActionTypeEnum = AuthActionTypeEnum.DeleteInstallations;\r\n expirationDate: Date;\r\n installationNames: string[] = [];\r\n\r\n constructor(expirationDate: Date, unparsedParams: any) {\r\n this.expirationDate = new Date(expirationDate);\r\n this.parseParams(unparsedParams);\r\n }\r\n\r\n private parseParams(unparsedParams: any): void {\r\n if (unparsedParams.InstallationNames && unparsedParams.InstallationNames.InstallationName && unparsedParams.InstallationNames.InstallationName.length > 0) {\r\n if (Array.isArray(unparsedParams.InstallationNames.InstallationName)) this.installationNames = unparsedParams.InstallationNames.InstallationName;\r\n else {\r\n this.installationNames = [];\r\n this.installationNames.push(unparsedParams.InstallationNames.InstallationName);\r\n }\r\n }\r\n }\r\n}\r\n","import { AuthActionTypeEnum } from \"./AuthActionTypeEnum\";\r\nimport { DeleteInstallationsAuthActionResponse } from \"./DeleteInstallations/DeleteInstallationsAuthActionResponse\";\r\n\r\nexport abstract class AuthActionResponse {\r\n readonly type: AuthActionTypeEnum;\r\n expirationDate: Date;\r\n\r\n /** Deserializza la risposta (Type e ExpirationDate) e i relativi parametri (Params) a partire da un oggetto non parsato in ts. Restituisce una AuthActionResponse o null. Gestire eventuali eccezioni.*/\r\n public static deserialize(responseContent: any): AuthActionResponse {\r\n let response = responseContent.AuthorizedActionResponse;\r\n console.debug(\"AuthResponse.deserialize() - response: \", response);\r\n\r\n if (response && response.attrs) {\r\n let currentActionType: AuthActionTypeEnum = AuthActionTypeEnum[response.attrs.type as keyof typeof AuthActionTypeEnum];\r\n let expirationDate = response.attrs.expiration;\r\n switch (currentActionType) {\r\n case AuthActionTypeEnum.DeleteInstallations:\r\n return new DeleteInstallationsAuthActionResponse(expirationDate, response.Params);\r\n default:\r\n break;\r\n }\r\n }\r\n return null;\r\n }\r\n}\r\n","import { AuthActionResponse } from \"./AuthActionResponse\";\r\nimport { XMLParser } from \"fast-xml-parser\";\r\n\r\nexport class AuthActionResponseContainer {\r\n version: number;\r\n signature: string;\r\n response: AuthActionResponse;\r\n static parserOptions = {\r\n attributeNamePrefix: \"\",\r\n ignoreAttributes: false,\r\n attributesGroupName: \"attrs\",\r\n parseTagValue: false,\r\n parseAttributeValue: false,\r\n };\r\n static parser: XMLParser = new XMLParser(AuthActionResponseContainer.parserOptions);\r\n\r\n constructor(version: number, signature: string, response: AuthActionResponse) {\r\n this.version = version;\r\n this.signature = signature;\r\n this.response = response;\r\n }\r\n\r\n /** Parsa il file .aares e ritorna un AuthActionResponseContainer o null. Gestire eventuali eccezioni */\r\n public static async parseFromFile(file: File): Promise {\r\n if (file) {\r\n let reader = new FileReader();\r\n\r\n let result: AuthActionResponseContainer = await new Promise((resolve) => {\r\n reader.onload = () => {\r\n let xmlData = reader.result;\r\n let jsonObj = AuthActionResponseContainer.parser.parse(xmlData as string);\r\n console.debug(\"jsonObj from .aares file: \", jsonObj);\r\n let container = jsonObj.AuthorizedActionResponseContainer;\r\n\r\n if (container && container.attrs && container.attrs.v != null) {\r\n // switch on version\r\n switch (+container.attrs.v) {\r\n case 1:\r\n result = AuthActionResponseContainer.parseFromFile_v1(container);\r\n resolve(result);\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n return null;\r\n };\r\n\r\n reader.readAsText(file);\r\n });\r\n\r\n return result;\r\n } else return null;\r\n }\r\n\r\n private static parseFromFile_v1(container: any): AuthActionResponseContainer {\r\n let sign = container.Signature != null ? container.Signature : null;\r\n let response: AuthActionResponse = AuthActionResponse.deserialize(AuthActionResponseContainer.parser.parse(atob(container.Content)));\r\n console.debug(\"Container parseFromFile_v1 | Parsed response: \", response);\r\n let parsedContainer = new AuthActionResponseContainer(1, sign, response);\r\n console.debug(\"parsedContainer: \", parsedContainer);\r\n\r\n return parsedContainer;\r\n }\r\n}\r\n","import { AxiosResponse } from \"axios\";\r\nimport { ApiGenericResponse } from \"../ApiGenericResponse\";\r\nimport { Command, HttpVerbType, API_PREFIX, API_VERSION } from \"../Command\";\r\n\r\nconst ENDPOINT = \"/license/aares_upload\";\r\n\r\nexport class UploadAuthActionCommand extends Command {\r\n endPoint: string = API_PREFIX + API_VERSION + ENDPOINT;\r\n httpVerb: HttpVerbType = \"post\";\r\n\r\n newFormData: FormData = new FormData();\r\n\r\n constructor(files: any) {\r\n super();\r\n this.newFormData = new FormData();\r\n for (var i = 0; i < files.length; i++) {\r\n let file = files[i];\r\n this.newFormData.append(\"files[\" + i + \"]\", file, file.name);\r\n }\r\n }\r\n\r\n public async execute(): Promise {\r\n return await this.executeCommand(this.newFormData, { \"Content-Type\": \"multipart/form-data\" });\r\n }\r\n}\r\n","import { AxiosResponse } from \"axios\";\r\nimport { ServiceResponseData } from \"../ServiceResponseData\";\r\n\r\nexport class DeleteInstallationsResData extends ServiceResponseData {\r\n deletedInstallationNames: string[] = [];\r\n notDeletedInstallationNames: string[] = [];\r\n\r\n constructor(response: AxiosResponse) {\r\n super(response);\r\n this.deletedInstallationNames = [];\r\n if (response.data && response.data.Payload) {\r\n if (response.data.Payload.DeletedInstallationNames != null && response.data.Payload.DeletedInstallationNames.length > 0)\r\n this.deletedInstallationNames = response.data.Payload.DeletedInstallationNames;\r\n if (response.data.Payload.NotDeletedInstallationNames != null && response.data.Payload.NotDeletedInstallationNames.length > 0)\r\n this.notDeletedInstallationNames = response.data.Payload.NotDeletedInstallationNames;\r\n }\r\n }\r\n}\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\n\r\n// Vuex\r\nimport { mapMutations } from \"vuex\";\r\nimport { ADD_ALERT } from \"../../store/modules/AlertModule/mutations\";\r\n\r\n// Vue components\r\nimport DeleteInstallationsConfirmationModal from \"@/views/App/Tools/LicensesManagement/DeleteInstallationsConfirmationModal.vue\";\r\n\r\n// Model\r\nimport { AlertModel, AlertModelType } from \"../../store/modules/AlertModule/types\";\r\nimport { AuthActionTypeEnum } from \"@/model/data/authActions/AuthActionTypeEnum\";\r\nimport { AuthActionResponseContainer } from \"@/model/data/authActions/AuthActionResponseContainer\";\r\nimport { UploadAuthActionCommand } from \"@/model/communication/authActions/UploadAuthActionCommand\";\r\nimport { DeleteInstallationsResData } from \"@/model/communication/authActions/DeleteInstallationsResData\";\r\nimport { AuthAction } from \"@/model/data/authActions/AuthAction\";\r\nimport { CReqExecutionResultEnum } from \"@/model/communication/CReqExecutionResultEnum\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n DeleteInstallationsConfirmationModal,\r\n },\r\n data() {\r\n return {\r\n AuthActionTypeEnum,\r\n action: null,\r\n loading: false,\r\n executing: false,\r\n };\r\n },\r\n props: [\"file\"],\r\n watch: {\r\n file(newFile) {\r\n // console.log(\"GenericConfirmationModal.vue watch() file: \", newFile);\r\n if (newFile) this.loadFile(newFile);\r\n },\r\n },\r\n methods: {\r\n ...mapMutations([ADD_ALERT]),\r\n\r\n async onConfirm() {\r\n if (!this.executing) {\r\n console.debug(\"Send this auth action:\", this.action);\r\n try {\r\n this.executing = true;\r\n const res = await new UploadAuthActionCommand([this.file]).execute();\r\n console.debug(\"UploadAuthActionCommand() res\", res);\r\n this.executing = false;\r\n this.$emit(\"close\");\r\n\r\n if (res.status == 200 && res.data.Response == 0) {\r\n switch ((this.action as AuthAction).type) {\r\n case AuthActionTypeEnum.DeleteInstallations:\r\n var parsedRes: DeleteInstallationsResData = new DeleteInstallationsResData(res);\r\n console.debug(\"res is a DeleteInstallationsResData:\", parsedRes);\r\n if (parsedRes.notDeletedInstallationNames.length == 0) {\r\n // everything fine\r\n this[ADD_ALERT](\r\n new AlertModel(AlertModelType.Success, this.$t(\"authActions.deleteInstallationsOk\") + \": \" + parsedRes.deletedInstallationNames.join(\", \"))\r\n );\r\n this.$emit(\"action-execution-ok\");\r\n } else {\r\n // something went wrong\r\n if (parsedRes.deletedInstallationNames.length > 0) {\r\n this[ADD_ALERT](\r\n new AlertModel(\r\n AlertModelType.Warning,\r\n this.$t(\"authActions.deleteInstallationsOk\") + \": \" + parsedRes.deletedInstallationNames.join(\", \")\r\n )\r\n );\r\n this[ADD_ALERT](\r\n new AlertModel(\r\n AlertModelType.Warning,\r\n this.$t(\"authActions.deleteInstallationsError\") + \": \" + parsedRes.notDeletedInstallationNames.join(\", \")\r\n )\r\n );\r\n } else {\r\n this[ADD_ALERT](\r\n new AlertModel(\r\n AlertModelType.Error,\r\n this.$t(\"authActions.deleteInstallationsError\") + \": \" + parsedRes.notDeletedInstallationNames.join(\", \")\r\n )\r\n );\r\n }\r\n this.$emit(\"action-execution-ok\");\r\n }\r\n break;\r\n\r\n default:\r\n break;\r\n }\r\n } else {\r\n console.error(\"Error: \", res.data.Message);\r\n if (res.data.Message != null) {\r\n switch (res.data.Message as CReqExecutionResultEnum) {\r\n case CReqExecutionResultEnum.SignatureNotValid:\r\n this[ADD_ALERT](new AlertModel(AlertModelType.Error, this.$t(\"authActions.signatureNotValid\")));\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n this.$emit(\"action-execution-error\");\r\n }\r\n } catch (e) {\r\n console.error(\"Something went wrong during UploadAuthActionCommand execution\");\r\n this.$emit(\"action-execution-error\");\r\n this.executing = false;\r\n }\r\n }\r\n },\r\n\r\n async loadFile(file) {\r\n if (file) {\r\n console.debug(\"GenericConfirmationModal.vue loadFile() - Parse .aares file started\");\r\n try {\r\n this.loading = true;\r\n var actionContainer = await AuthActionResponseContainer.parseFromFile(file);\r\n console.log(\"GenericConfirmationModal.vue loadFile() - Parsed .aares file: \", actionContainer);\r\n if (actionContainer) {\r\n this.action = actionContainer.response;\r\n }\r\n this.loading = false;\r\n } catch (e) {\r\n console.error(\"Something went wrong deserializing .aares file. Exception: \", e);\r\n this.loading = false;\r\n }\r\n }\r\n },\r\n },\r\n mounted() {\r\n this.loadFile(this.file);\r\n },\r\n});\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GenericConfirmationModal.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./GenericConfirmationModal.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./GenericConfirmationModal.vue?vue&type=template&id=475e41ac&\"\nimport script from \"./GenericConfirmationModal.vue?vue&type=script&lang=ts&\"\nexport * from \"./GenericConfirmationModal.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VSkeletonLoader } from 'vuetify/lib/components/VSkeletonLoader';\ninstallComponents(component, {VCard,VSkeletonLoader})\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\n\r\n// Vue components\r\nimport InfoButton from \"./InfoButton.vue\";\r\n\r\n// Model\r\nimport GenericConfirmationModal from \"./GenericConfirmationModal.vue\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n InfoButton,\r\n GenericConfirmationModal,\r\n },\r\n data() {\r\n return {\r\n GenericConfirmationModal,\r\n file: null,\r\n action: {},\r\n showConfirmationDialog: false,\r\n showOkAlert: false,\r\n showErrorAlert: false,\r\n };\r\n },\r\n methods: {\r\n openFile() {\r\n this.showConfirmationDialog = true;\r\n },\r\n\r\n actionSuccessfullyExecuted() {\r\n this.file = null;\r\n this.$emit(\"executed\");\r\n },\r\n\r\n actionExecutedWithError() {\r\n this.file = null;\r\n this.showErrorAlert = true;\r\n this.$emit(\"executed\");\r\n },\r\n },\r\n});\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UploadAuthActionCard.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./UploadAuthActionCard.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./UploadAuthActionCard.vue?vue&type=template&id=5b3af414&\"\nimport script from \"./UploadAuthActionCard.vue?vue&type=script&lang=ts&\"\nexport * from \"./UploadAuthActionCard.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VAlert } from 'vuetify/lib/components/VAlert';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VDialog } from 'vuetify/lib/components/VDialog';\nimport { VFileInput } from 'vuetify/lib/components/VFileInput';\nimport { VToolbar } from 'vuetify/lib/components/VToolbar';\nimport { VToolbarTitle } from 'vuetify/lib/components/VToolbar';\ninstallComponents(component, {VAlert,VBtn,VCard,VDialog,VFileInput,VToolbar,VToolbarTitle})\n","import { Command, HttpVerbType, API_PREFIX, API_VERSION } from \"../Command\";\r\nimport { ServiceResponseData } from \"../ServiceResponseData\";\r\n\r\nconst ENDPOINT = \"/license/edit_installations_enabled_modules\";\r\n\r\nexport class EditInstallationsEnabledModulesCommand extends Command {\r\n endPoint: string = API_PREFIX + API_VERSION + ENDPOINT;\r\n httpVerb: HttpVerbType = \"post\";\r\n payload: InstallationsEnabledModules[] = null;\r\n\r\n constructor(payload: InstallationsEnabledModules[]) {\r\n super();\r\n this.payload = payload;\r\n }\r\n\r\n public async execute(): Promise {\r\n var res = await this.executeCommand(this.payload, null, null);\r\n return new ServiceResponseData(res);\r\n }\r\n}\r\n\r\nexport interface InstallationsEnabledModules {\r\n name: string;\r\n enabledModules: number;\r\n}\r\n","import { AxiosResponse } from \"axios\";\r\nimport { API_PREFIX, API_VERSION, Command, HttpVerbType } from \"../Command\";\r\nimport { GetInstallationsEnabledModulesServerReqData } from \"./GetInstallationsEnabledModulesCommand\";\r\n\r\nconst ENDPOINT = \"/license/installations_enabled_modules_csv\";\r\n\r\nexport class DownloadInstallationsEnabledModulesCommand extends Command {\r\n endPoint: string = API_PREFIX + API_VERSION + ENDPOINT;\r\n httpVerb: HttpVerbType = \"post\";\r\n params: any = null;\r\n\r\n constructor(params: GetInstallationsEnabledModulesServerReqData, exportType: string) {\r\n super();\r\n this.params = { exportType, ...params };\r\n this.responseType = \"text\";\r\n this.endPoint = this.endPoint + \"/\" + exportType;\r\n }\r\n\r\n public async execute(): Promise {\r\n console.debug(\"DownloadInstallationsEnabledModulesCommand.execute()\");\r\n return await this.executeCommand(this.params);\r\n }\r\n}\r\n","import { LicenseModuleEnum } from \"./LicenseModuleEnum\";\r\n\r\nexport class LicenseModuleSummary {\r\n module: LicenseModuleEnum;\r\n totalLicenses: number;\r\n assignedLicenses: number;\r\n\r\n get availableLicenses(): number {\r\n return this.totalLicenses - this.assignedLicenses;\r\n }\r\n\r\n public parse(obj: any) {\r\n if (obj.Module != null && Object.values(LicenseModuleEnum).includes(obj.Module)) this.module = obj.Module;\r\n if (obj.TotalLicenses >= 0) this.totalLicenses = obj.TotalLicenses;\r\n if (obj.AssignedLicenses >= 0) this.assignedLicenses = obj.AssignedLicenses;\r\n }\r\n}\r\n","import { LicenseModuleSummary } from \"@/model/data/License/LicenseModuleSummary\";\r\nimport { AxiosResponse } from \"axios\";\r\nimport { ServiceResponseData } from \"../ServiceResponseData\";\r\n\r\nexport class GetLicensesDataSummaryResData extends ServiceResponseData {\r\n modules: LicenseModuleSummary[];\r\n\r\n constructor(response: AxiosResponse) {\r\n super(response);\r\n this.modules = [];\r\n if (response.data && response.data.Payload) {\r\n this.parse(response.data.Payload);\r\n }\r\n }\r\n\r\n parse(obj: any) {\r\n if (obj.Modules && obj.Modules.length > 0) {\r\n obj.Modules.forEach((e) => {\r\n var m: LicenseModuleSummary = new LicenseModuleSummary();\r\n m.parse(e);\r\n this.modules.push(m);\r\n });\r\n }\r\n }\r\n}\r\n","import { API_PREFIX, API_VERSION, Command, HttpVerbType } from \"../Command\";\r\nimport { GetLicensesDataSummaryResData } from \"./GetLicensesDataSummaryResData\";\r\n\r\nconst ENDPOINT = \"/license/summary\";\r\n\r\nexport class GetLicensesDataSummaryCommand extends Command {\r\n endPoint: string = API_PREFIX + API_VERSION + ENDPOINT;\r\n httpVerb: HttpVerbType = \"get\";\r\n\r\n public async execute(): Promise {\r\n var res = await this.executeCommand();\r\n return new GetLicensesDataSummaryResData(res);\r\n }\r\n}\r\n","import { LicenseModuleEnum } from \"@/model/data/License/LicenseModuleEnum\";\r\nimport { AxiosResponse } from \"axios\";\r\nimport { Command, HttpVerbType, API_PREFIX, API_VERSION } from \"../Command\";\r\nimport { ServiceResponseData } from \"../ServiceResponseData\";\r\n\r\nconst ENDPOINT = \"/license/assign_to_all\";\r\n\r\nexport class LicenseModulesAssignToAllCommand extends Command {\r\n endPoint: string = API_PREFIX + API_VERSION + ENDPOINT;\r\n httpVerb: HttpVerbType = \"post\";\r\n payload: AssignToAllReqData = null;\r\n\r\n constructor(payload: AssignToAllReqData) {\r\n super();\r\n this.payload = payload;\r\n }\r\n\r\n public async execute(): Promise {\r\n var res = await this.executeCommand(this.payload, null, null);\r\n return new AssignToAllResData(res);\r\n }\r\n}\r\n\r\nexport interface AssignToAllReqData {\r\n licenseModule: LicenseModuleEnum;\r\n}\r\n\r\nexport class AssignToAllResData extends ServiceResponseData {\r\n installationNames: string[] = [];\r\n\r\n constructor(response: AxiosResponse) {\r\n super(response);\r\n this.installationNames = [];\r\n if (response.data && response.data.Payload && response.data.Payload.length > 0) {\r\n this.installationNames = response.data.Payload;\r\n }\r\n }\r\n}\r\n","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport * as routes from \"@/router/routes\";\r\n\r\n// Vuex\r\nimport { RootState } from \"@/store\";\r\nimport { mapMutations, mapState } from \"vuex\";\r\nimport * as m from \"@/store/modules/LicenseModule/mutations\";\r\nimport * as m_device from \"@/store/modules/DevicesModule/mutations\";\r\n\r\n// Vue components\r\nimport StandardPage from \"@/components/PageTemplates/StandardPage.vue\";\r\nimport LicensesMainTable from \"./LicensesMainTable.vue\";\r\nimport SummaryTable from \"./SummaryTable.vue\";\r\nimport LicensesStatus from \"./LicensesStatus.vue\";\r\nimport UploadAuthActionCard from \"@/components/AuthActions/UploadAuthActionCard.vue\";\r\n\r\n// Model\r\nimport { dataTableItemsPerPage } from \"@/utility/Constants\";\r\nimport { GetInstallationsEnabledModulesReqData, GetServerInstallationsEnabledModulesReqData } from \"@/model/communication/license/GetInstallationsEnabledModulesReqData\";\r\nimport { GetInstallationsEnabledModulesCommand } from \"@/model/communication/license/GetInstallationsEnabledModulesCommand\";\r\nimport { EditInstallationsEnabledModulesCommand } from \"@/model/communication/license/EditInstallationsEnabledModulesCommand\";\r\nimport { DownloadInstallationsEnabledModulesCommand } from \"@/model/communication/license/DownloadInstallationsEnabledModulesCommand\";\r\nimport { GetInstallationsResData } from \"@/model/communication/device/GetInstallationsResData\";\r\nimport { ApiResponseStatusEnum } from \"@/model/communication/ApiResponseStatusEnum\";\r\nimport { ServiceResponseData } from \"@/model/communication/ServiceResponseData\";\r\nimport { GetLicensesDataSummaryResData } from \"@/model/communication/license/GetLicensesDataSummaryResData\";\r\nimport { GetLicensesDataSummaryCommand } from \"@/model/communication/license/GetLicensesDataSummaryCommand\";\r\nimport { AssignToAllResData, LicenseModulesAssignToAllCommand } from \"@/model/communication/license/LicenseModulesAssignToAllCommand\";\r\nimport { ClientPrivileges } from \"@/model/data/authentication/ClientPrivilegesEnum\";\r\nimport { ClientUser } from \"@/model/data/authentication/ClientUser\";\r\n\r\nexport default Vue.extend({\r\n components: {\r\n StandardPage,\r\n SummaryTable,\r\n LicensesStatus,\r\n UploadAuthActionCard,\r\n },\r\n data() {\r\n return {\r\n routes,\r\n dataTableItemsPerPage,\r\n LicensesMainTable,\r\n reqData: null,\r\n installations: [],\r\n paginatedTotalItems: null,\r\n loading: false,\r\n loadingSummary: false,\r\n };\r\n },\r\n computed: {\r\n ...mapState({\r\n localInstallations: (state: RootState) => state.license.localInstallations,\r\n authUser: (state: RootState) => state.authMod.currentUser,\r\n }),\r\n\r\n authActionsEnabled() {\r\n return (this.authUser as ClientUser).profile.privileges.and(ClientPrivileges.AuthActions) == ClientPrivileges.AuthActions;\r\n },\r\n\r\n isSaveButtonEnable() {\r\n var isDifferent = false;\r\n\r\n if (this.installations && this.installations.length > 0 && this.localInstallations && this.localInstallations.length > 0) {\r\n this.installations.forEach((serverInstallation) => {\r\n if (this.localInstallations.filter((i) => i.name == serverInstallation.name).length > 0) {\r\n if (this.localInstallations.filter((i) => i.name == serverInstallation.name)[0].licenseData.enabledModules != serverInstallation.licenseData.enabledModules)\r\n isDifferent = true;\r\n }\r\n });\r\n }\r\n return isDifferent;\r\n },\r\n },\r\n methods: {\r\n ...mapMutations([m.SET_INSTALLATIONS, m.SET_LICENSES_DATA_SUMMARY, m_device.RESET_DEVICE_TREE]),\r\n\r\n async sendRequest(request) {\r\n try {\r\n this.reqData = request;\r\n this.loading = true;\r\n let response: GetInstallationsResData = await new GetInstallationsEnabledModulesCommand(GetServerInstallationsEnabledModulesReqData(request)).execute();\r\n this.loading = false;\r\n\r\n if (response.responseStatus == ApiResponseStatusEnum.Success) {\r\n this.installations = response.installations;\r\n this[m.SET_INSTALLATIONS](this.installations);\r\n this.paginatedTotalItems = response.paginatedTotalItems;\r\n }\r\n } catch (e) {\r\n console.log(\"Something went wrong sending GetInstallationsEnabledModules request \", e);\r\n this.loading = false;\r\n }\r\n },\r\n\r\n async sendLicensesDataSummaryRequest() {\r\n try {\r\n this.loadingSummary = true;\r\n let responseSummary: GetLicensesDataSummaryResData = await new GetLicensesDataSummaryCommand().execute();\r\n this.loadingSummary = false;\r\n\r\n if (responseSummary.responseStatus == ApiResponseStatusEnum.Success) {\r\n this[m.SET_LICENSES_DATA_SUMMARY](responseSummary.modules);\r\n }\r\n } catch (e) {\r\n console.log(\"Something went wrong sending GetLicensesDataSummary request \", e);\r\n this.loadingSummary = false;\r\n }\r\n },\r\n\r\n async onSubmit() {\r\n // mando solo le installazioni che sono state modificate\r\n let installationsToSend = [];\r\n if (this.installations != null && this.installations.length > 0 && this.localInstallations != null && this.localInstallations.length > 0) {\r\n this.installations.forEach((installation) => {\r\n let currentLocalInstallation = this.localInstallations.filter((i) => i.name == installation.name)[0];\r\n if (currentLocalInstallation.licenseData.enabledModules != installation.licenseData.enabledModules)\r\n installationsToSend.push({\r\n name: installation.name,\r\n enabledModules: currentLocalInstallation.licenseData.enabledModules,\r\n });\r\n });\r\n }\r\n\r\n try {\r\n this.loading = true;\r\n let response: ServiceResponseData = await new EditInstallationsEnabledModulesCommand(installationsToSend).execute();\r\n this.loading = false;\r\n\r\n if (response.responseStatus == ApiResponseStatusEnum.Success) {\r\n this.sendLicensesDataSummaryRequest();\r\n this.sendRequest(this.reqData);\r\n }\r\n } catch (e) {\r\n console.log(\"Something went wrong sending EditInstallationsEnabledModules request \", e);\r\n this.loading = false;\r\n }\r\n },\r\n\r\n async assignToAll(licenseModule) {\r\n console.debug(\"Send assignToAll module: \", licenseModule);\r\n\r\n try {\r\n this.loadingSummary = true;\r\n let response: AssignToAllResData = await new LicenseModulesAssignToAllCommand({ licenseModule: licenseModule }).execute();\r\n this.loadingSummary = false;\r\n\r\n console.debug(\"response: \", response);\r\n\r\n if (response.responseStatus == ApiResponseStatusEnum.Success) {\r\n if (response.installationNames != null && response.installationNames.length > 0) {\r\n this.sendLicensesDataSummaryRequest();\r\n this.sendRequest(this.reqData);\r\n }\r\n }\r\n } catch (e) {\r\n console.log(\"Something went wrong sending assignToAll request \", e);\r\n this.loadingSummary = false;\r\n }\r\n },\r\n\r\n async onDownload(exportType) {\r\n console.log(\"Download required, exportType: \", exportType);\r\n if (!this.loading) {\r\n this.loading = true;\r\n try {\r\n const res = await new DownloadInstallationsEnabledModulesCommand(GetServerInstallationsEnabledModulesReqData(this.reqData), exportType).execute();\r\n\r\n let fileURL = window.URL.createObjectURL(new Blob([res.data]));\r\n let fileLink = document.createElement(\"a\");\r\n fileLink.href = fileURL;\r\n fileLink.setAttribute(\"download\", res.headers[\"content-disposition\"].substring(\"attachment; filename=\".length));\r\n document.body.appendChild(fileLink);\r\n fileLink.click();\r\n this.loading = false;\r\n } catch (e) {\r\n console.log(\"Something went wrong during DownloadInstallationsEnabledModulesCommand execution: \", e);\r\n this.loading = false;\r\n }\r\n }\r\n },\r\n\r\n onAuthActionExecuted() {\r\n this.sendLicensesDataSummaryRequest();\r\n this.sendRequest(this.reqData);\r\n // cancello l'albero eventualmente salvato in vuex\r\n this[m_device.RESET_DEVICE_TREE]();\r\n },\r\n },\r\n mounted() {\r\n this.reqData = new GetInstallationsEnabledModulesReqData();\r\n this.reqData.queryLimit = this.dataTableItemsPerPage[0];\r\n this.sendLicensesDataSummaryRequest();\r\n },\r\n});\r\n","import mod from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../../../node_modules/thread-loader/dist/cjs.js!../../../../../node_modules/babel-loader/lib/index.js!../../../../../node_modules/ts-loader/index.js??ref--15-3!../../../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./index.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./index.vue?vue&type=template&id=704e60d8&\"\nimport script from \"./index.vue?vue&type=script&lang=ts&\"\nexport * from \"./index.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VRow } from 'vuetify/lib/components/VGrid';\ninstallComponents(component, {VCol,VRow})\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-menu',{attrs:{\"offset-y\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-badge',{attrs:{\"overlap\":\"\",\"content\":_vm.selection.length,\"value\":_vm.selection.length > 0}},[_c('v-btn',_vm._g({attrs:{\"small\":\"\",\"icon\":\"\"}},on),[_c('v-fa-icon',{attrs:{\"small\":\"\",\"icon\":\"filter\"}})],1)],1)]}}])},[_c('v-list',_vm._l((_vm.availableData),function(data,id){return _c('v-list-item',{key:id},[_c('v-list-item-action',[_c('v-checkbox',{attrs:{\"value\":data,\"label\":_vm.$t(_vm.installationStatusEnumLabel(data)),\"multiple\":\"\"},model:{value:(_vm.selection),callback:function ($$v) {_vm.selection=$$v},expression:\"selection\"}})],1)],1)}),1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { InstallationStatusEnum, installationStatusEnumLabel } from \"@/model/data/status/InstallationStatusEnum\";\r\n\r\nexport default Vue.extend({\r\n data() {\r\n return {\r\n // InstallationStatusEnum,\r\n selection: [],\r\n };\r\n },\r\n computed: {\r\n availableData() {\r\n return Object.values(InstallationStatusEnum).filter((x) => !isNaN(parseInt(x.toString())));\r\n },\r\n },\r\n watch: {\r\n selection() {\r\n this.$emit(\"input\", this.selection);\r\n },\r\n },\r\n methods: {\r\n installationStatusEnumLabel,\r\n },\r\n});\r\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InstallationStatusTableHeaderFilter.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--15-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./InstallationStatusTableHeaderFilter.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./InstallationStatusTableHeaderFilter.vue?vue&type=template&id=f60392a2&\"\nimport script from \"./InstallationStatusTableHeaderFilter.vue?vue&type=script&lang=ts&\"\nexport * from \"./InstallationStatusTableHeaderFilter.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBadge } from 'vuetify/lib/components/VBadge';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCheckbox } from 'vuetify/lib/components/VCheckbox';\nimport { VList } from 'vuetify/lib/components/VList';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VListItemAction } from 'vuetify/lib/components/VList';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\ninstallComponents(component, {VBadge,VBtn,VCheckbox,VList,VListItem,VListItemAction,VMenu})\n","'use strict';\n///@ts-check\n\nconst util = require('../util');\nconst xmlNode = require('./xmlNode');\nconst readDocType = require(\"./DocTypeReader\");\nconst toNumber = require(\"strnum\");\n\nconst regx =\n '<((!\\\\[CDATA\\\\[([\\\\s\\\\S]*?)(]]>))|((NAME:)?(NAME))([^>]*)>|((\\\\/)(NAME)\\\\s*>))([^<]*)'\n .replace(/NAME/g, util.nameRegexp);\n\n//const tagsRegx = new RegExp(\"<(\\\\/?[\\\\w:\\\\-\\._]+)([^>]*)>(\\\\s*\"+cdataRegx+\")*([^<]+)?\",\"g\");\n//const tagsRegx = new RegExp(\"<(\\\\/?)((\\\\w*:)?([\\\\w:\\\\-\\._]+))([^>]*)>([^<]*)(\"+cdataRegx+\"([^<]*))*([^<]+)?\",\"g\");\n\nclass OrderedObjParser{\n constructor(options){\n this.options = options;\n this.currentNode = null;\n this.tagsNodeStack = [];\n this.docTypeEntities = {};\n this.lastEntities = {\n \"apos\" : { regex: /&(apos|#39|#x27);/g, val : \"'\"},\n \"gt\" : { regex: /&(gt|#62|#x3E);/g, val : \">\"},\n \"lt\" : { regex: /&(lt|#60|#x3C);/g, val : \"<\"},\n \"quot\" : { regex: /&(quot|#34|#x22);/g, val : \"\\\"\"},\n };\n this.ampEntity = { regex: /&(amp|#38|#x26);/g, val : \"&\"};\n this.htmlEntities = {\n \"space\": { regex: /&(nbsp|#160);/g, val: \" \" },\n // \"lt\" : { regex: /&(lt|#60);/g, val: \"<\" },\n // \"gt\" : { regex: /&(gt|#62);/g, val: \">\" },\n // \"amp\" : { regex: /&(amp|#38);/g, val: \"&\" },\n // \"quot\" : { regex: /&(quot|#34);/g, val: \"\\\"\" },\n // \"apos\" : { regex: /&(apos|#39);/g, val: \"'\" },\n \"cent\" : { regex: /&(cent|#162);/g, val: \"¢\" },\n \"pound\" : { regex: /&(pound|#163);/g, val: \"£\" },\n \"yen\" : { regex: /&(yen|#165);/g, val: \"¥\" },\n \"euro\" : { regex: /&(euro|#8364);/g, val: \"€\" },\n \"copyright\" : { regex: /&(copy|#169);/g, val: \"©\" },\n \"reg\" : { regex: /&(reg|#174);/g, val: \"®\" },\n \"inr\" : { regex: /&(inr|#8377);/g, val: \"₹\" },\n };\n this.addExternalEntities = addExternalEntities;\n this.parseXml = parseXml;\n this.parseTextData = parseTextData;\n this.resolveNameSpace = resolveNameSpace;\n this.buildAttributesMap = buildAttributesMap;\n this.isItStopNode = isItStopNode;\n this.replaceEntitiesValue = replaceEntitiesValue;\n this.readStopNodeData = readStopNodeData;\n this.saveTextToParentTag = saveTextToParentTag;\n this.addChild = addChild;\n }\n\n}\n\nfunction addExternalEntities(externalEntities){\n const entKeys = Object.keys(externalEntities);\n for (let i = 0; i < entKeys.length; i++) {\n const ent = entKeys[i];\n this.lastEntities[ent] = {\n regex: new RegExp(\"&\"+ent+\";\",\"g\"),\n val : externalEntities[ent]\n }\n }\n}\n\n/**\n * @param {string} val\n * @param {string} tagName\n * @param {string} jPath\n * @param {boolean} dontTrim\n * @param {boolean} hasAttributes\n * @param {boolean} isLeafNode\n * @param {boolean} escapeEntities\n */\nfunction parseTextData(val, tagName, jPath, dontTrim, hasAttributes, isLeafNode, escapeEntities) {\n if (val !== undefined) {\n if (this.options.trimValues && !dontTrim) {\n val = val.trim();\n }\n if(val.length > 0){\n if(!escapeEntities) val = this.replaceEntitiesValue(val);\n \n const newval = this.options.tagValueProcessor(tagName, val, jPath, hasAttributes, isLeafNode);\n if(newval === null || newval === undefined){\n //don't parse\n return val;\n }else if(typeof newval !== typeof val || newval !== val){\n //overwrite\n return newval;\n }else if(this.options.trimValues){\n return parseValue(val, this.options.parseTagValue, this.options.numberParseOptions);\n }else{\n const trimmedVal = val.trim();\n if(trimmedVal === val){\n return parseValue(val, this.options.parseTagValue, this.options.numberParseOptions);\n }else{\n return val;\n }\n }\n }\n }\n}\n\nfunction resolveNameSpace(tagname) {\n if (this.options.removeNSPrefix) {\n const tags = tagname.split(':');\n const prefix = tagname.charAt(0) === '/' ? '/' : '';\n if (tags[0] === 'xmlns') {\n return '';\n }\n if (tags.length === 2) {\n tagname = prefix + tags[1];\n }\n }\n return tagname;\n}\n\n//TODO: change regex to capture NS\n//const attrsRegx = new RegExp(\"([\\\\w\\\\-\\\\.\\\\:]+)\\\\s*=\\\\s*(['\\\"])((.|\\n)*?)\\\\2\",\"gm\");\nconst attrsRegx = new RegExp('([^\\\\s=]+)\\\\s*(=\\\\s*([\\'\"])([\\\\s\\\\S]*?)\\\\3)?', 'gm');\n\nfunction buildAttributesMap(attrStr, jPath, tagName) {\n if (!this.options.ignoreAttributes && typeof attrStr === 'string') {\n // attrStr = attrStr.replace(/\\r?\\n/g, ' ');\n //attrStr = attrStr || attrStr.trim();\n\n const matches = util.getAllMatches(attrStr, attrsRegx);\n const len = matches.length; //don't make it inline\n const attrs = {};\n for (let i = 0; i < len; i++) {\n const attrName = this.resolveNameSpace(matches[i][1]);\n let oldVal = matches[i][4];\n let aName = this.options.attributeNamePrefix + attrName;\n if (attrName.length) {\n if (this.options.transformAttributeName) {\n aName = this.options.transformAttributeName(aName);\n }\n if(aName === \"__proto__\") aName = \"#__proto__\";\n if (oldVal !== undefined) {\n if (this.options.trimValues) {\n oldVal = oldVal.trim();\n }\n oldVal = this.replaceEntitiesValue(oldVal);\n const newVal = this.options.attributeValueProcessor(attrName, oldVal, jPath);\n if(newVal === null || newVal === undefined){\n //don't parse\n attrs[aName] = oldVal;\n }else if(typeof newVal !== typeof oldVal || newVal !== oldVal){\n //overwrite\n attrs[aName] = newVal;\n }else{\n //parse\n attrs[aName] = parseValue(\n oldVal,\n this.options.parseAttributeValue,\n this.options.numberParseOptions\n );\n }\n } else if (this.options.allowBooleanAttributes) {\n attrs[aName] = true;\n }\n }\n }\n if (!Object.keys(attrs).length) {\n return;\n }\n if (this.options.attributesGroupName) {\n const attrCollection = {};\n attrCollection[this.options.attributesGroupName] = attrs;\n return attrCollection;\n }\n return attrs\n }\n}\n\nconst parseXml = function(xmlData) {\n xmlData = xmlData.replace(/\\r\\n?/g, \"\\n\"); //TODO: remove this line\n const xmlObj = new xmlNode('!xml');\n let currentNode = xmlObj;\n let textData = \"\";\n let jPath = \"\";\n for(let i=0; i< xmlData.length; i++){//for each char in XML data\n const ch = xmlData[i];\n if(ch === '<'){\n // const nextIndex = i+1;\n // const _2ndChar = xmlData[nextIndex];\n if( xmlData[i+1] === '/') {//Closing Tag\n const closeIndex = findClosingIndex(xmlData, \">\", i, \"Closing Tag is not closed.\")\n let tagName = xmlData.substring(i+2,closeIndex).trim();\n\n if(this.options.removeNSPrefix){\n const colonIndex = tagName.indexOf(\":\");\n if(colonIndex !== -1){\n tagName = tagName.substr(colonIndex+1);\n }\n }\n\n if(this.options.transformTagName) {\n tagName = this.options.transformTagName(tagName);\n }\n\n if(currentNode){\n textData = this.saveTextToParentTag(textData, currentNode, jPath);\n }\n\n //check if last tag of nested tag was unpaired tag\n const lastTagName = jPath.substring(jPath.lastIndexOf(\".\")+1);\n if(tagName && this.options.unpairedTags.indexOf(tagName) !== -1 ){\n throw new Error(`Unpaired tag can not be used as closing tag: `);\n }\n let propIndex = 0\n if(lastTagName && this.options.unpairedTags.indexOf(lastTagName) !== -1 ){\n propIndex = jPath.lastIndexOf('.', jPath.lastIndexOf('.')-1)\n this.tagsNodeStack.pop();\n }else{\n propIndex = jPath.lastIndexOf(\".\");\n }\n jPath = jPath.substring(0, propIndex);\n\n currentNode = this.tagsNodeStack.pop();//avoid recursion, set the parent tag scope\n textData = \"\";\n i = closeIndex;\n } else if( xmlData[i+1] === '?') {\n\n let tagData = readTagExp(xmlData,i, false, \"?>\");\n if(!tagData) throw new Error(\"Pi Tag is not closed.\");\n\n textData = this.saveTextToParentTag(textData, currentNode, jPath);\n if( (this.options.ignoreDeclaration && tagData.tagName === \"?xml\") || this.options.ignorePiTags){\n\n }else{\n \n const childNode = new xmlNode(tagData.tagName);\n childNode.add(this.options.textNodeName, \"\");\n \n if(tagData.tagName !== tagData.tagExp && tagData.attrExpPresent){\n childNode[\":@\"] = this.buildAttributesMap(tagData.tagExp, jPath, tagData.tagName);\n }\n this.addChild(currentNode, childNode, jPath)\n\n }\n\n\n i = tagData.closeIndex + 1;\n } else if(xmlData.substr(i + 1, 3) === '!--') {\n const endIndex = findClosingIndex(xmlData, \"-->\", i+4, \"Comment is not closed.\")\n if(this.options.commentPropName){\n const comment = xmlData.substring(i + 4, endIndex - 2);\n\n textData = this.saveTextToParentTag(textData, currentNode, jPath);\n\n currentNode.add(this.options.commentPropName, [ { [this.options.textNodeName] : comment } ]);\n }\n i = endIndex;\n } else if( xmlData.substr(i + 1, 2) === '!D') {\n const result = readDocType(xmlData, i);\n this.docTypeEntities = result.entities;\n i = result.i;\n }else if(xmlData.substr(i + 1, 2) === '![') {\n const closeIndex = findClosingIndex(xmlData, \"]]>\", i, \"CDATA is not closed.\") - 2;\n const tagExp = xmlData.substring(i + 9,closeIndex);\n\n textData = this.saveTextToParentTag(textData, currentNode, jPath);\n\n //cdata should be set even if it is 0 length string\n if(this.options.cdataPropName){\n // let val = this.parseTextData(tagExp, this.options.cdataPropName, jPath + \".\" + this.options.cdataPropName, true, false, true);\n // if(!val) val = \"\";\n currentNode.add(this.options.cdataPropName, [ { [this.options.textNodeName] : tagExp } ]);\n }else{\n let val = this.parseTextData(tagExp, currentNode.tagname, jPath, true, false, true);\n if(val == undefined) val = \"\";\n currentNode.add(this.options.textNodeName, val);\n }\n \n i = closeIndex + 2;\n }else {//Opening tag\n let result = readTagExp(xmlData,i, this.options.removeNSPrefix);\n let tagName= result.tagName;\n let tagExp = result.tagExp;\n let attrExpPresent = result.attrExpPresent;\n let closeIndex = result.closeIndex;\n\n if (this.options.transformTagName) {\n tagName = this.options.transformTagName(tagName);\n }\n \n //save text as child node\n if (currentNode && textData) {\n if(currentNode.tagname !== '!xml'){\n //when nested tag is found\n textData = this.saveTextToParentTag(textData, currentNode, jPath, false);\n }\n }\n\n //check if last tag was unpaired tag\n const lastTag = currentNode;\n if(lastTag && this.options.unpairedTags.indexOf(lastTag.tagname) !== -1 ){\n currentNode = this.tagsNodeStack.pop();\n jPath = jPath.substring(0, jPath.lastIndexOf(\".\"));\n }\n if(tagName !== xmlObj.tagname){\n jPath += jPath ? \".\" + tagName : tagName;\n }\n if (this.isItStopNode(this.options.stopNodes, jPath, tagName)) { //TODO: namespace\n let tagContent = \"\";\n //self-closing tag\n if(tagExp.length > 0 && tagExp.lastIndexOf(\"/\") === tagExp.length - 1){\n i = result.closeIndex;\n }\n //unpaired tag\n else if(this.options.unpairedTags.indexOf(tagName) !== -1){\n i = result.closeIndex;\n }\n //normal tag\n else{\n //read until closing tag is found\n const result = this.readStopNodeData(xmlData, tagName, closeIndex + 1);\n if(!result) throw new Error(`Unexpected end of ${tagName}`);\n i = result.i;\n tagContent = result.tagContent;\n }\n\n const childNode = new xmlNode(tagName);\n if(tagName !== tagExp && attrExpPresent){\n childNode[\":@\"] = this.buildAttributesMap(tagExp, jPath, tagName);\n }\n if(tagContent) {\n tagContent = this.parseTextData(tagContent, tagName, jPath, true, attrExpPresent, true, true);\n }\n \n jPath = jPath.substr(0, jPath.lastIndexOf(\".\"));\n childNode.add(this.options.textNodeName, tagContent);\n \n this.addChild(currentNode, childNode, jPath)\n }else{\n //selfClosing tag\n if(tagExp.length > 0 && tagExp.lastIndexOf(\"/\") === tagExp.length - 1){\n if(tagName[tagName.length - 1] === \"/\"){ //remove trailing '/'\n tagName = tagName.substr(0, tagName.length - 1);\n tagExp = tagName;\n }else{\n tagExp = tagExp.substr(0, tagExp.length - 1);\n }\n \n if(this.options.transformTagName) {\n tagName = this.options.transformTagName(tagName);\n }\n\n const childNode = new xmlNode(tagName);\n if(tagName !== tagExp && attrExpPresent){\n childNode[\":@\"] = this.buildAttributesMap(tagExp, jPath, tagName);\n }\n this.addChild(currentNode, childNode, jPath)\n jPath = jPath.substr(0, jPath.lastIndexOf(\".\"));\n }\n //opening tag\n else{\n const childNode = new xmlNode( tagName);\n this.tagsNodeStack.push(currentNode);\n \n if(tagName !== tagExp && attrExpPresent){\n childNode[\":@\"] = this.buildAttributesMap(tagExp, jPath, tagName);\n }\n this.addChild(currentNode, childNode, jPath)\n currentNode = childNode;\n }\n textData = \"\";\n i = closeIndex;\n }\n }\n }else{\n textData += xmlData[i];\n }\n }\n return xmlObj.child;\n}\n\nfunction addChild(currentNode, childNode, jPath){\n const result = this.options.updateTag(childNode.tagname, jPath, childNode[\":@\"])\n if(result === false){\n }else if(typeof result === \"string\"){\n childNode.tagname = result\n currentNode.addChild(childNode);\n }else{\n currentNode.addChild(childNode);\n }\n}\n\nconst replaceEntitiesValue = function(val){\n\n if(this.options.processEntities){\n for(let entityName in this.docTypeEntities){\n const entity = this.docTypeEntities[entityName];\n val = val.replace( entity.regx, entity.val);\n }\n for(let entityName in this.lastEntities){\n const entity = this.lastEntities[entityName];\n val = val.replace( entity.regex, entity.val);\n }\n if(this.options.htmlEntities){\n for(let entityName in this.htmlEntities){\n const entity = this.htmlEntities[entityName];\n val = val.replace( entity.regex, entity.val);\n }\n }\n val = val.replace( this.ampEntity.regex, this.ampEntity.val);\n }\n return val;\n}\nfunction saveTextToParentTag(textData, currentNode, jPath, isLeafNode) {\n if (textData) { //store previously collected data as textNode\n if(isLeafNode === undefined) isLeafNode = Object.keys(currentNode.child).length === 0\n \n textData = this.parseTextData(textData,\n currentNode.tagname,\n jPath,\n false,\n currentNode[\":@\"] ? Object.keys(currentNode[\":@\"]).length !== 0 : false,\n isLeafNode);\n\n if (textData !== undefined && textData !== \"\")\n currentNode.add(this.options.textNodeName, textData);\n textData = \"\";\n }\n return textData;\n}\n\n//TODO: use jPath to simplify the logic\n/**\n * \n * @param {string[]} stopNodes \n * @param {string} jPath\n * @param {string} currentTagName \n */\nfunction isItStopNode(stopNodes, jPath, currentTagName){\n const allNodesExp = \"*.\" + currentTagName;\n for (const stopNodePath in stopNodes) {\n const stopNodeExp = stopNodes[stopNodePath];\n if( allNodesExp === stopNodeExp || jPath === stopNodeExp ) return true;\n }\n return false;\n}\n\n/**\n * Returns the tag Expression and where it is ending handling single-double quotes situation\n * @param {string} xmlData \n * @param {number} i starting index\n * @returns \n */\nfunction tagExpWithClosingIndex(xmlData, i, closingChar = \">\"){\n let attrBoundary;\n let tagExp = \"\";\n for (let index = i; index < xmlData.length; index++) {\n let ch = xmlData[index];\n if (attrBoundary) {\n if (ch === attrBoundary) attrBoundary = \"\";//reset\n } else if (ch === '\"' || ch === \"'\") {\n attrBoundary = ch;\n } else if (ch === closingChar[0]) {\n if(closingChar[1]){\n if(xmlData[index + 1] === closingChar[1]){\n return {\n data: tagExp,\n index: index\n }\n }\n }else{\n return {\n data: tagExp,\n index: index\n }\n }\n } else if (ch === '\\t') {\n ch = \" \"\n }\n tagExp += ch;\n }\n}\n\nfunction findClosingIndex(xmlData, str, i, errMsg){\n const closingIndex = xmlData.indexOf(str, i);\n if(closingIndex === -1){\n throw new Error(errMsg)\n }else{\n return closingIndex + str.length - 1;\n }\n}\n\nfunction readTagExp(xmlData,i, removeNSPrefix, closingChar = \">\"){\n const result = tagExpWithClosingIndex(xmlData, i+1, closingChar);\n if(!result) return;\n let tagExp = result.data;\n const closeIndex = result.index;\n const separatorIndex = tagExp.search(/\\s/);\n let tagName = tagExp;\n let attrExpPresent = true;\n if(separatorIndex !== -1){//separate tag name and attributes expression\n tagName = tagExp.substr(0, separatorIndex).replace(/\\s\\s*$/, '');\n tagExp = tagExp.substr(separatorIndex + 1);\n }\n\n if(removeNSPrefix){\n const colonIndex = tagName.indexOf(\":\");\n if(colonIndex !== -1){\n tagName = tagName.substr(colonIndex+1);\n attrExpPresent = tagName !== result.data.substr(colonIndex + 1);\n }\n }\n\n return {\n tagName: tagName,\n tagExp: tagExp,\n closeIndex: closeIndex,\n attrExpPresent: attrExpPresent,\n }\n}\n/**\n * find paired tag for a stop node\n * @param {string} xmlData \n * @param {string} tagName \n * @param {number} i \n */\nfunction readStopNodeData(xmlData, tagName, i){\n const startIndex = i;\n // Starting at 1 since we already have an open tag\n let openTagCount = 1;\n\n for (; i < xmlData.length; i++) {\n if( xmlData[i] === \"<\"){ \n if (xmlData[i+1] === \"/\") {//close tag\n const closeIndex = findClosingIndex(xmlData, \">\", i, `${tagName} is not closed`);\n let closeTagName = xmlData.substring(i+2,closeIndex).trim();\n if(closeTagName === tagName){\n openTagCount--;\n if (openTagCount === 0) {\n return {\n tagContent: xmlData.substring(startIndex, i),\n i : closeIndex\n }\n }\n }\n i=closeIndex;\n } else if(xmlData[i+1] === '?') { \n const closeIndex = findClosingIndex(xmlData, \"?>\", i+1, \"StopNode is not closed.\")\n i=closeIndex;\n } else if(xmlData.substr(i + 1, 3) === '!--') { \n const closeIndex = findClosingIndex(xmlData, \"-->\", i+3, \"StopNode is not closed.\")\n i=closeIndex;\n } else if(xmlData.substr(i + 1, 2) === '![') { \n const closeIndex = findClosingIndex(xmlData, \"]]>\", i, \"StopNode is not closed.\") - 2;\n i=closeIndex;\n } else {\n const tagData = readTagExp(xmlData, i, '>')\n\n if (tagData) {\n const openTagName = tagData && tagData.tagName;\n if (openTagName === tagName && tagData.tagExp[tagData.tagExp.length-1] !== \"/\") {\n openTagCount++;\n }\n i=tagData.closeIndex;\n }\n }\n }\n }//end for loop\n}\n\nfunction parseValue(val, shouldParse, options) {\n if (shouldParse && typeof val === 'string') {\n //console.log(options)\n const newval = val.trim();\n if(newval === 'true' ) return true;\n else if(newval === 'false' ) return false;\n else return toNumber(val, options);\n } else {\n if (util.isExist(val)) {\n return val;\n } else {\n return '';\n }\n }\n}\n\n\nmodule.exports = OrderedObjParser;\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return (_vm.loading)?_c('v-progress-circular',{attrs:{\"indeterminate\":\"\",\"size\":16,\"width\":\"3\",\"color\":\"primary\"}}):_c('v-menu',{attrs:{\"offset-y\":\"\",\"close-on-content-click\":false},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-badge',{attrs:{\"overlap\":\"\",\"content\":_vm.lastSelectedItemsLength,\"value\":_vm.lastSelectedItemsLength > 0}},[_c('v-btn',_vm._g({attrs:{\"small\":\"\",\"icon\":\"\"}},on),[_c('v-fa-icon',{attrs:{\"small\":\"\",\"icon\":\"filter\"}})],1)],1)]}}]),model:{value:(_vm.openMenu),callback:function ($$v) {_vm.openMenu=$$v},expression:\"openMenu\"}},[_c('v-card',{attrs:{\"max-width\":\"550\"}},[_c('v-sheet',{staticClass:\"pa-4 info lighten-1\"},[_c('v-row',{attrs:{\"no-gutters\":\"\",\"align\":\"center\"}},[_c('v-col',{staticClass:\"py-0\"},[_c('v-text-field',{attrs:{\"label\":_vm.$t('common.searchBranch'),\"dark\":\"\",\"flat\":\"\",\"solo-inverted\":\"\",\"hide-details\":\"\",\"clearable\":\"\",\"clear-icon\":\"fas fa-times\"},model:{value:(_vm.search),callback:function ($$v) {_vm.search=$$v},expression:\"search\"}})],1),_c('v-col',{staticClass:\"ml-2\",attrs:{\"cols\":\"auto\"}},[_c('v-btn',{staticStyle:{\"color\":\"#c9e6ff\",\"min-height\":\"48px\"},attrs:{\"color\":\"info\",\"elevation\":\"0\",\"large\":\"\"},on:{\"click\":_vm.filter}},[_vm._v(\" \"+_vm._s(_vm.$t(\"common.filter\"))+\" \")])],1)],1)],1),_c('v-treeview',{staticClass:\"pa-2 remove-left-padding\",staticStyle:{\"max-height\":\"300px\",\"overflow\":\"auto\"},attrs:{\"items\":_vm.availableBranchNames,\"selectable\":\"\",\"dense\":\"\",\"item-key\":\"name\",\"search\":_vm.search},model:{value:(_vm.selectedItems),callback:function ($$v) {_vm.selectedItems=$$v},expression:\"selectedItems\"}})],1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\n\r\n// Vuex\r\nimport { RootState } from \"@/store\";\r\nimport { mapState, mapActions } from \"vuex\";\r\nimport * as a from \"@/store/modules/ApplicationModule/actions\";\r\nimport { Branch } from \"@/model/data/Branch\";\r\n\r\nexport default Vue.extend({\r\n data() {\r\n return {\r\n loading: false,\r\n selectedItems: [],\r\n lastSelectedItemsLength: 0,\r\n search: \"\",\r\n openMenu: false,\r\n };\r\n },\r\n computed: {\r\n ...mapState({\r\n availableBranches: (state: RootState) => state.application.availableBranches,\r\n }),\r\n\r\n availableBranchNames() {\r\n if (this.availableBranches && this.availableBranches.length > 0) {\r\n let sortedBranches = [];\r\n this.availableBranches\r\n .map((b: Branch) => b.name)\r\n .forEach((branch) => {\r\n sortedBranches.push({ name: branch, selected: this.selectedItems.includes(branch) ? 1 : 0 });\r\n });\r\n sortedBranches.sort((a, b) => {\r\n return b.selected - a.selected || a.name.localeCompare(b.name);\r\n });\r\n return sortedBranches;\r\n } else return [];\r\n },\r\n },\r\n methods: {\r\n ...mapActions([a.GET_AVAILABLE_BRANCHES]),\r\n\r\n filter() {\r\n this.$emit(\"input\", this.selectedItems);\r\n this.lastSelectedItemsLength = this.selectedItems.length;\r\n this.openMenu = false;\r\n this.search = \"\";\r\n },\r\n },\r\n async mounted() {\r\n this.loading = true;\r\n\r\n if (this.availableBranchNames == null || !this.availableBranchNames.length) await this[a.GET_AVAILABLE_BRANCHES]();\r\n this.loading = false;\r\n },\r\n});\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BranchFilter.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./BranchFilter.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./BranchFilter.vue?vue&type=template&id=4f6460ed&scoped=true&\"\nimport script from \"./BranchFilter.vue?vue&type=script&lang=ts&\"\nexport * from \"./BranchFilter.vue?vue&type=script&lang=ts&\"\nimport style0 from \"./BranchFilter.vue?vue&type=style&index=0&id=4f6460ed&prod&scoped=true&lang=css&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"4f6460ed\",\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBadge } from 'vuetify/lib/components/VBadge';\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VCard } from 'vuetify/lib/components/VCard';\nimport { VCol } from 'vuetify/lib/components/VGrid';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\nimport { VProgressCircular } from 'vuetify/lib/components/VProgressCircular';\nimport { VRow } from 'vuetify/lib/components/VGrid';\nimport { VSheet } from 'vuetify/lib/components/VSheet';\nimport { VTextField } from 'vuetify/lib/components/VTextField';\nimport { VTreeview } from 'vuetify/lib/components/VTreeview';\ninstallComponents(component, {VBadge,VBtn,VCard,VCol,VMenu,VProgressCircular,VRow,VSheet,VTextField,VTreeview})\n","'use strict';\n\nconst nameStartChar = ':A-Za-z_\\\\u00C0-\\\\u00D6\\\\u00D8-\\\\u00F6\\\\u00F8-\\\\u02FF\\\\u0370-\\\\u037D\\\\u037F-\\\\u1FFF\\\\u200C-\\\\u200D\\\\u2070-\\\\u218F\\\\u2C00-\\\\u2FEF\\\\u3001-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFFD';\nconst nameChar = nameStartChar + '\\\\-.\\\\d\\\\u00B7\\\\u0300-\\\\u036F\\\\u203F-\\\\u2040';\nconst nameRegexp = '[' + nameStartChar + '][' + nameChar + ']*'\nconst regexName = new RegExp('^' + nameRegexp + '$');\n\nconst getAllMatches = function(string, regex) {\n const matches = [];\n let match = regex.exec(string);\n while (match) {\n const allmatches = [];\n allmatches.startIndex = regex.lastIndex - match[0].length;\n const len = match.length;\n for (let index = 0; index < len; index++) {\n allmatches.push(match[index]);\n }\n matches.push(allmatches);\n match = regex.exec(string);\n }\n return matches;\n};\n\nconst isName = function(string) {\n const match = regexName.exec(string);\n return !(match === null || typeof match === 'undefined');\n};\n\nexports.isExist = function(v) {\n return typeof v !== 'undefined';\n};\n\nexports.isEmptyObject = function(obj) {\n return Object.keys(obj).length === 0;\n};\n\n/**\n * Copy all the properties of a into b.\n * @param {*} target\n * @param {*} a\n */\nexports.merge = function(target, a, arrayMode) {\n if (a) {\n const keys = Object.keys(a); // will return an array of own properties\n const len = keys.length; //don't make it inline\n for (let i = 0; i < len; i++) {\n if (arrayMode === 'strict') {\n target[keys[i]] = [ a[keys[i]] ];\n } else {\n target[keys[i]] = a[keys[i]];\n }\n }\n }\n};\n/* exports.merge =function (b,a){\n return Object.assign(b,a);\n} */\n\nexports.getValue = function(v) {\n if (exports.isExist(v)) {\n return v;\n } else {\n return '';\n }\n};\n\n// const fakeCall = function(a) {return a;};\n// const fakeCallNoReturn = function() {};\n\nexports.isName = isName;\nexports.getAllMatches = getAllMatches;\nexports.nameRegexp = nameRegexp;\n","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('v-menu',{attrs:{\"open-on-hover\":\"\",\"offset-x\":\"\",\"left\":\"\",\"transition\":\"slide-y-transition\",\"close-on-click\":false,\"close-on-content-click\":false},scopedSlots:_vm._u([{key:\"activator\",fn:function(ref){\nvar on = ref.on;\nreturn [_c('v-btn',_vm._g({attrs:{\"icon\":\"\"}},on),[_c('v-fa-icon',{attrs:{\"small\":\"\",\"icon\":\"eye\"}})],1)]}}])},[_c('v-list',_vm._l((_vm.currentHeaders.filter(function (c) { return c.value != 'divider' && c.canBeHidden != false; })),function(header){return _c('v-list-item',{key:header.value},[_c('v-list-item-action',[_c('v-switch',{attrs:{\"input-value\":header.enabled},on:{\"change\":function (e) { return _vm.onSwitchChange(header.value, e); }}})],1),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(\" \"+_vm._s(header.text)+\" \")])],1)],1)}),1)],1)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport Vue from \"vue\";\r\nimport { LocalStorageManager } from \"@/plugins/LocalStorageManager\";\r\n\r\nexport default Vue.extend({\r\n data: () => ({\r\n currentHeaders: [],\r\n }),\r\n props: {\r\n pageTitle: String,\r\n initialHeaders: Array,\r\n },\r\n watch: {\r\n initialHeaders() {\r\n this.syncHeaders();\r\n },\r\n currentHeaders() {\r\n this.emitChange();\r\n },\r\n },\r\n methods: {\r\n emitChange() {\r\n this.$emit(\"onValueChange\", this.currentHeaders);\r\n },\r\n getLocalStorageKey(headerValue: string) {\r\n return this.pageTitle + \"_\" + headerValue + \"_visible_column\";\r\n },\r\n onSwitchChange(headerValue: string, enabled: any) {\r\n LocalStorageManager.Write(this.getLocalStorageKey(headerValue), enabled ? \"true\" : \"false\");\r\n this.currentHeaders.find((c) => c.value == headerValue).enabled = enabled;\r\n },\r\n syncHeaders() {\r\n if (!this.initialHeaders) return;\r\n\r\n // aggiungo quelli che devo aggiungere\r\n this.initialHeaders.forEach((c) => {\r\n if (!this.currentHeaders.map((c) => c.value).includes(c.value)) {\r\n this.currentHeaders.push(c);\r\n }\r\n });\r\n let actionsIndex = this.currentHeaders.findIndex((c) => c.value == \"actions\");\r\n if (actionsIndex > -1) this.currentHeaders.push(this.currentHeaders.splice(actionsIndex, 1)[0]);\r\n\r\n this.currentHeaders.forEach((header) => {\r\n this.migrateUndefinedValue(header.value);\r\n const localStorageKey = this.getLocalStorageKey(header.value);\r\n const readValue = LocalStorageManager.Read(localStorageKey);\r\n\r\n if (readValue) {\r\n header.enabled = readValue == \"true\";\r\n } else {\r\n LocalStorageManager.Write(localStorageKey, header.enabled ? \"true\" : \"false\");\r\n }\r\n });\r\n },\r\n migrateUndefinedValue(headerValue) {\r\n const legacyKey = `undefined_${headerValue}_visible_column`;\r\n const readValue = LocalStorageManager.Read(legacyKey);\r\n if (readValue != null && readValue != undefined) {\r\n LocalStorageManager.Write(this.getLocalStorageKey(headerValue), readValue);\r\n LocalStorageManager.Remove(legacyKey);\r\n }\r\n },\r\n },\r\n created() {\r\n this.syncHeaders();\r\n },\r\n});\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ColumnVisibilityFilter.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--15-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--15-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./ColumnVisibilityFilter.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./ColumnVisibilityFilter.vue?vue&type=template&id=5751f014&\"\nimport script from \"./ColumnVisibilityFilter.vue?vue&type=script&lang=ts&\"\nexport * from \"./ColumnVisibilityFilter.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports\n\n/* vuetify-loader */\nimport installComponents from \"!../../../node_modules/vuetify-loader/lib/runtime/installComponents.js\"\nimport { VBtn } from 'vuetify/lib/components/VBtn';\nimport { VList } from 'vuetify/lib/components/VList';\nimport { VListItem } from 'vuetify/lib/components/VList';\nimport { VListItemAction } from 'vuetify/lib/components/VList';\nimport { VListItemContent } from 'vuetify/lib/components/VList';\nimport { VListItemTitle } from 'vuetify/lib/components/VList';\nimport { VMenu } from 'vuetify/lib/components/VMenu';\nimport { VSwitch } from 'vuetify/lib/components/VSwitch';\ninstallComponents(component, {VBtn,VList,VListItem,VListItemAction,VListItemContent,VListItemTitle,VMenu,VSwitch})\n","import { LicenseModuleEnum } from \"@/model/data/License/LicenseModuleEnum\";\r\nimport { GlobalStatusEnum } from \"@/model/data/status/GlobalStatusEnum\";\r\nimport { IFilterInstallations } from \"../supportObjects/IFilterInstallations\";\r\nimport { IPaginationFilter } from \"../supportObjects/IPaginationFilter\";\r\nimport { TagValues } from \"@/model/data/Tag\";\r\nimport { ConnectivityStatusEnum } from \"@/model/data/status/ConnectivityStatusEnum\";\r\n\r\nexport class GetInstallationsEnabledModulesReqData implements IFilterInstallations, IPaginationFilter {\r\n // FilterInstallations\r\n installationNames: string[] = null;\r\n folderIds: number[] = null;\r\n branchNames: string[] = [];\r\n\r\n // PaginationFilters\r\n queryLimit: number = 0;\r\n offset: number = 0;\r\n orderBy: string[] = null;\r\n orderByDescending: boolean[] = null;\r\n\r\n // Other filters\r\n globalStatusFilter: GlobalStatusEnum[] = [];\r\n connectivityStatusFilter: ConnectivityStatusEnum[] = [];\r\n installationLastMessageDateRange: string[] = [];\r\n agentLastMessageDateRange: string[] = [];\r\n registrationDateRange: string[] = [];\r\n installationPrefix: string = null;\r\n tagValues: TagValues = null;\r\n machineModels: string[] = null;\r\n // enabledModules: number = 0;\r\n // disabledModules: number = 0;\r\n\r\n /**\r\n * Enable or disable single module (column filters)\r\n * -1: All\r\n * 0: Disabled\r\n * 1: Enabled\r\n */\r\n ServiceAndUpdatesManagement: -1 | 0 | 1 = -1;\r\n CashFlowManagement: -1 | 0 | 1 = -1;\r\n FitnessStatistics: -1 | 0 | 1 = -1;\r\n SecurityManagement: -1 | 0 | 1 = -1;\r\n}\r\n\r\nexport function GetServerInstallationsEnabledModulesReqData(req: GetInstallationsEnabledModulesReqData) {\r\n let enabledModules: number = 0;\r\n let disabledModules: number = 0;\r\n\r\n Object.keys(LicenseModuleEnum).forEach((k) => {\r\n if (req[k] != null) {\r\n if (req[k] == 1) {\r\n enabledModules = enabledModules + LicenseModuleEnum[k];\r\n } else if (req[k] == 0) {\r\n disabledModules = disabledModules + LicenseModuleEnum[k];\r\n }\r\n }\r\n });\r\n\r\n let res = {\r\n installationNames: req.installationNames,\r\n folderIds: req.folderIds,\r\n branchNames: req.branchNames,\r\n globalStatusFilter: req.globalStatusFilter,\r\n connectivityStatusFilter: req.connectivityStatusFilter,\r\n queryLimit: req.queryLimit,\r\n offset: req.offset,\r\n orderBy: req.orderBy,\r\n orderByDescending: req.orderByDescending,\r\n installationLastMessageDateRange: req.installationLastMessageDateRange,\r\n agentLastMessageDateRange: req.agentLastMessageDateRange,\r\n registrationDateRange: req.registrationDateRange,\r\n enabledModules: enabledModules,\r\n disabledModules: disabledModules,\r\n };\r\n return res;\r\n}\r\n","const hexRegex = /^[-+]?0x[a-fA-F0-9]+$/;\nconst numRegex = /^([\\-\\+])?(0*)(\\.[0-9]+([eE]\\-?[0-9]+)?|[0-9]+(\\.[0-9]+([eE]\\-?[0-9]+)?)?)$/;\n// const octRegex = /0x[a-z0-9]+/;\n// const binRegex = /0x[a-z0-9]+/;\n\n\n//polyfill\nif (!Number.parseInt && window.parseInt) {\n Number.parseInt = window.parseInt;\n}\nif (!Number.parseFloat && window.parseFloat) {\n Number.parseFloat = window.parseFloat;\n}\n\n \nconst consider = {\n hex : true,\n leadingZeros: true,\n decimalPoint: \"\\.\",\n eNotation: true\n //skipLike: /regex/\n};\n\nfunction toNumber(str, options = {}){\n // const options = Object.assign({}, consider);\n // if(opt.leadingZeros === false){\n // options.leadingZeros = false;\n // }else if(opt.hex === false){\n // options.hex = false;\n // }\n\n options = Object.assign({}, consider, options );\n if(!str || typeof str !== \"string\" ) return str;\n \n let trimmedStr = str.trim();\n // if(trimmedStr === \"0.0\") return 0;\n // else if(trimmedStr === \"+0.0\") return 0;\n // else if(trimmedStr === \"-0.0\") return -0;\n\n if(options.skipLike !== undefined && options.skipLike.test(trimmedStr)) return str;\n else if (options.hex && hexRegex.test(trimmedStr)) {\n return Number.parseInt(trimmedStr, 16);\n // } else if (options.parseOct && octRegex.test(str)) {\n // return Number.parseInt(val, 8);\n // }else if (options.parseBin && binRegex.test(str)) {\n // return Number.parseInt(val, 2);\n }else{\n //separate negative sign, leading zeros, and rest number\n const match = numRegex.exec(trimmedStr);\n if(match){\n const sign = match[1];\n const leadingZeros = match[2];\n let numTrimmedByZeros = trimZeros(match[3]); //complete num without leading zeros\n //trim ending zeros for floating number\n \n const eNotation = match[4] || match[6];\n if(!options.leadingZeros && leadingZeros.length > 0 && sign && trimmedStr[2] !== \".\") return str; //-0123\n else if(!options.leadingZeros && leadingZeros.length > 0 && !sign && trimmedStr[1] !== \".\") return str; //0123\n else{//no leading zeros or leading zeros are allowed\n const num = Number(trimmedStr);\n const numStr = \"\" + num;\n if(numStr.search(/[eE]/) !== -1){ //given number is long and parsed to eNotation\n if(options.eNotation) return num;\n else return str;\n }else if(eNotation){ //given number has enotation\n if(options.eNotation) return num;\n else return str;\n }else if(trimmedStr.indexOf(\".\") !== -1){ //floating number\n // const decimalPart = match[5].substr(1);\n // const intPart = trimmedStr.substr(0,trimmedStr.indexOf(\".\"));\n\n \n // const p = numStr.indexOf(\".\");\n // const givenIntPart = numStr.substr(0,p);\n // const givenDecPart = numStr.substr(p+1);\n if(numStr === \"0\" && (numTrimmedByZeros === \"\") ) return num; //0.0\n else if(numStr === numTrimmedByZeros) return num; //0.456. 0.79000\n else if( sign && numStr === \"-\"+numTrimmedByZeros) return num;\n else return str;\n }\n \n if(leadingZeros){\n // if(numTrimmedByZeros === numStr){\n // if(options.leadingZeros) return num;\n // else return str;\n // }else return str;\n if(numTrimmedByZeros === numStr) return num;\n else if(sign+numTrimmedByZeros === numStr) return num;\n else return str;\n }\n\n if(trimmedStr === numStr) return num;\n else if(trimmedStr === sign+numStr) return num;\n // else{\n // //number with +/- sign\n // trimmedStr.test(/[-+][0-9]);\n\n // }\n return str;\n }\n // else if(!eNotation && trimmedStr && trimmedStr !== Number(trimmedStr) ) return str;\n \n }else{ //non-numeric string\n return str;\n }\n }\n}\n\n/**\n * \n * @param {string} numStr without leading zeros\n * @returns \n */\nfunction trimZeros(numStr){\n if(numStr && numStr.indexOf(\".\") !== -1){//float\n numStr = numStr.replace(/0+$/, \"\"); //remove ending zeros\n if(numStr === \".\") numStr = \"0\";\n else if(numStr[0] === \".\") numStr = \"0\"+numStr;\n else if(numStr[numStr.length-1] === \".\") numStr = numStr.substr(0,numStr.length-1);\n return numStr;\n }\n return numStr;\n}\nmodule.exports = toNumber\n","'use strict';\n\nclass XmlNode{\n constructor(tagname) {\n this.tagname = tagname;\n this.child = []; //nested tags, text, cdata, comments in order\n this[\":@\"] = {}; //attributes map\n }\n add(key,val){\n // this.child.push( {name : key, val: val, isCdata: isCdata });\n if(key === \"__proto__\") key = \"#__proto__\";\n this.child.push( {[key]: val });\n }\n addChild(node) {\n if(node.tagname === \"__proto__\") node.tagname = \"#__proto__\";\n if(node[\":@\"] && Object.keys(node[\":@\"]).length > 0){\n this.child.push( { [node.tagname]: node.child, [\":@\"]: node[\":@\"] });\n }else{\n this.child.push( { [node.tagname]: node.child });\n }\n };\n};\n\n\nmodule.exports = XmlNode;"],"sourceRoot":""}