{"version":3,"sources":["webpack:///./directives/artifactory.directives.module.js","webpack:///./constants/artifacts_events.constants.js","webpack:///./directives/jf_accordion/jf_accordion.js","webpack:///./directives/jf_footer/jf_footer.js","webpack:///./directives/jf_header/jf_header.js","webpack:///./constants/api.constants.js","webpack:///./constants/artifactory_help.constants.js","webpack:///./constants/jcr_help.constants.js","webpack:///./directives/jf_messages/jf_messages.js","webpack:///./directives/jf_header_search/jf_header_search.js","webpack:///./directives/jf_browse_files/jf_browse_files.js","webpack:///./directives/jf_switch_toggle/jf_switch_toggle.js","webpack:///./directives/jf_dynamic_directive/jf_dynamic_directive.js","webpack:///./directives/jf_deploy/jf_multi_deploy.js","webpack:///./constants/artifact_tooltip.constant.js","webpack:///./directives/jf_deploy/jf_single_deploy.js","webpack:///./directives/jf_print/jf_print.js","webpack:///./directives/jf_autofocus/jf_autofocus.js","webpack:///./directives/jf_body_class/jf_body_class.js","webpack:///./directives/jf_input_text_v2/jf_input_text_v2.js","webpack:///./directives/jf_cron_formatter/jf_cron_formatter.js","webpack:///./directives/jf_breadcrumb/jf_breadcrumb.js","webpack:///./directives/jf_spinner/jf_spinner.js","webpack:///./directives/jf_disable_feature/jf_disable_feature.js","webpack:///./directives/jf_hide_for_aol/jf_hide_for_aol.js","webpack:///./directives/jf_file_drop/jf_file_drop.js","webpack:///./directives/rtfact_storage_viewer/rtfact_storage_viewer.js","webpack:///./directives/rtfact_storage_viewer/special_values.js","webpack:///./directives/rtfact_storage_viewer/rtfact_storage_element.js","webpack:///./directives/rtfact_storage_viewer/storage_types_dictionary.js","webpack:///./directives/rtfact_storage_viewer/rtfact_storage_usage.js","webpack:///./directives/validators/jf_validator_name.js","webpack:///./directives/validators/jf_validator_name_prefix_not_numeric.js","webpack:///./directives/validators/jf_validator_unique_id.js","webpack:///./directives/validators/jf_validator_xml_name.js","webpack:///./directives/validators/jf_validator_cron.js","webpack:///./directives/validators/jf_validator_ldap_url.js","webpack:///./directives/validators/jf_validator_path_pattern.js","webpack:///./directives/validators/jf_validator_int_value.js","webpack:///./directives/validators/jf_validator_max_text_length.js","webpack:///./directives/jf_special_chars/jf_special_chars.js","webpack:///./directives/jf_repokey_validator/jf_repokey_validtaor.js","webpack:///./constants/field_options.constats.js","webpack:///./directives/validators/jf_validator_date_format.js","webpack:///./directives/validators/jf_validator_reverse_proxy_port.js","webpack:///./directives/jf_manage_artifactory_licenses/jf_manage_pro_license.js","webpack:///./directives/jf_manage_artifactory_licenses/jf_manage_ha_licenses.js","webpack:///./directives/jf_news/jf_news.controller.js","webpack:///./directives/jf_xuc_data/jf_xuc_data.js","webpack:///./directives/infection_path_viewer/infection_path_viewer.js"],"names":[],"mappings":"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","file":"artifactory_directives.4089.js","sourcesContent":["/*\n *\n * Artifactory is a binaries repository manager.\n * Copyright (C) 2018 JFrog Ltd.\n *\n * Artifactory is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * Artifactory is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with Artifactory. If not, see .\n *\n */\nimport {jfAccordion} from \"./jf_accordion/jf_accordion\";\nimport {jfFooter} from \"./jf_footer/jf_footer\";\nimport {jfHeader} from \"./jf_header/jf_header\";\nimport {jfMessages} from \"./jf_messages/jf_messages\";\nimport {jfHeaderSearch} from \"./jf_header_search/jf_header_search\";\nimport {jfBrowseFiles} from \"./jf_browse_files/jf_browse_files\";\nimport {jfSwitchToggle} from \"./jf_switch_toggle/jf_switch_toggle\";\nimport dynamicDirective from \"./jf_dynamic_directive/jf_dynamic_directive\";\nimport {jfMultiDeploy} from \"./jf_deploy/jf_multi_deploy\";\nimport {jfSingleDeploy} from \"./jf_deploy/jf_single_deploy\";\nimport {jfPrint} from \"./jf_print/jf_print\";\nimport {jfAutoFocus} from \"./jf_autofocus/jf_autofocus\";\nimport {jfBodyClass} from \"./jf_body_class/jf_body_class\";\nimport {jfInputTextV2} from \"./jf_input_text_v2/jf_input_text_v2\";\nimport {jfCronFormatter} from \"./jf_cron_formatter/jf_cron_formatter\";\nimport {jfBreadcrumb} from \"./jf_breadcrumb/jf_breadcrumb\";\nimport {jfSpinner} from \"./jf_spinner/jf_spinner\";\nimport {jfDisableFeature} from \"./jf_disable_feature/jf_disable_feature\";\nimport {jfHideForAol} from \"./jf_hide_for_aol/jf_hide_for_aol\";\nimport {jfFileDrop} from \"./jf_file_drop/jf_file_drop\";\nimport {rtfactStorageViewer} from \"./rtfact_storage_viewer/rtfact_storage_viewer\";\nimport {rtfactStorageElement} from \"./rtfact_storage_viewer/rtfact_storage_element\";\nimport {rtfactStorageUsage} from \"./rtfact_storage_viewer/rtfact_storage_usage\";\nimport {jfValidatorName} from \"./validators/jf_validator_name\";\nimport {jfValidatorNamePrefixNotNumeric} from \"./validators/jf_validator_name_prefix_not_numeric\";\nimport {jfValidatorUniqueId} from \"./validators/jf_validator_unique_id\";\nimport {jfValidatorXmlName} from \"./validators/jf_validator_xml_name\";\nimport {jfValidatorCron} from \"./validators/jf_validator_cron\";\nimport {jfValidatorLdapUrl} from \"./validators/jf_validator_ldap_url\";\nimport {jfValidatorPathPattern} from \"./validators/jf_validator_path_pattern\";\nimport {jfValidatorIntValue} from \"./validators/jf_validator_int_value\";\nimport {jfValidatorMaxTextLength} from \"./validators/jf_validator_max_text_length\";\nimport {jfSpecialChars} from \"./jf_special_chars/jf_special_chars\";\nimport {jfRepokeyValidator} from \"./jf_repokey_validator/jf_repokey_validtaor\";\nimport {jfValidatorDateFormat} from \"./validators/jf_validator_date_format\";\nimport {jfValidatorReverseProxyPort} from \"./validators/jf_validator_reverse_proxy_port\";\nimport {jfManageProLicense} from './jf_manage_artifactory_licenses/jf_manage_pro_license';\nimport {jfManageHaLicenses} from './jf_manage_artifactory_licenses/jf_manage_ha_licenses';\nimport {jfNews} from './jf_news/jf_news.controller';\nimport {jfXucData} from './jf_xuc_data/jf_xuc_data';\nimport {infectionPathViewer} from './infection_path_viewer/infection_path_viewer';\n\n\nangular.module('artifactory.directives',\n ['artifactory.services', 'artifactory.dao', 'ui.select', 'ngSanitize', 'ui.highlight'])\n .directive({\n 'jfAccordion': jfAccordion,\n 'jfFooter': jfFooter,\n 'jfHeader': jfHeader,\n 'jfMessages': jfMessages,\n 'jfHeaderSearch': jfHeaderSearch,\n // 'jfSidebar': jfSidebar,\n 'jfBrowseFiles': jfBrowseFiles,\n 'dynamicDirective': dynamicDirective,\n 'jfSingleDeploy': jfSingleDeploy,\n 'jfMultiDeploy': jfMultiDeploy,\n 'jfPrint': jfPrint,\n 'jfAutoFocus': jfAutoFocus,\n 'jfBodyClass': jfBodyClass,\n 'jfInputTextV2': jfInputTextV2,\n 'jfSwitchToggle': jfSwitchToggle,\n 'jfCronFormatter': jfCronFormatter,\n 'jfSpecialChars': jfSpecialChars,\n 'jfSpinner': jfSpinner,\n 'jfBreadcrumb': jfBreadcrumb,\n 'jfRepokeyValidator': jfRepokeyValidator,\n 'jfDisableFeature': jfDisableFeature,\n 'jfHideForAol': jfHideForAol,\n 'jfArtFileDrop': jfFileDrop,\n 'rtfactStorageViewer': rtfactStorageViewer,\n 'rtfactStorageElement': rtfactStorageElement,\n 'rtfactStorageUsage': rtfactStorageUsage,\n\n\n 'jfValidatorName': jfValidatorName,\n 'jfValidatorUniqueId': jfValidatorUniqueId,\n 'jfValidatorXmlName': jfValidatorXmlName,\n 'jfValidatorCron': jfValidatorCron,\n 'jfValidatorLdapUrl': jfValidatorLdapUrl,\n 'jfValidatorPathPattern': jfValidatorPathPattern,\n 'jfValidatorIntValue': jfValidatorIntValue,\n 'jfValidatorDateFormat': jfValidatorDateFormat,\n 'jfValidatorMaxTextLength': jfValidatorMaxTextLength,\n 'jfValidatorReverseProxyPort': jfValidatorReverseProxyPort,\n 'jfValidatorNamePrefixNotNumeric': jfValidatorNamePrefixNotNumeric,\n\n 'jfManageProLicense': jfManageProLicense,\n 'jfManageHaLicenses': jfManageHaLicenses,\n 'jfNews': jfNews,\n 'jfXucData': jfXucData,\n 'infectionPathViewer': infectionPathViewer\n })\n\n\n\n// WEBPACK FOOTER //\n// ./directives/artifactory.directives.module.js","/*\n *\n * Artifactory is a binaries repository manager.\n * Copyright (C) 2018 JFrog Ltd.\n *\n * Artifactory is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * Artifactory is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with Artifactory. If not, see .\n *\n */\nlet events = {\n ACTIVATE_TREE_SEARCH: 'tree:search:activate',\n TREE_SEARCH_CHANGE: 'tree:search:change',\n TREE_NODE_SELECT: 'tree:node:select',\n TREE_NODE_OPEN: 'tree:node:open',\n TREE_SEARCH_KEYDOWN: 'tree:search:keydown',\n TREE_SEARCH_CANCEL: 'tree:search:cancel',\n TREE_SEARCH_EDIT: 'tree:search:edit',\n TREE_SEARCH_RUNNING: 'tree:search:running',\n TREE_COMPACT: 'tree:compact',\n TREE_REFRESH: 'tree:refresh',\n TREE_REFRESH_SORTING: 'tree:refresh:sorting',\n TREE_REFRESH_FILTER: 'tree:refresh:filter',\n TREE_REFRESH_FAVORITES: 'tree:refresh:favorites',\n TREE_NODE_CM_REFRESH: 'tree:node:cm:refresh',\n TREE_COLLAPSE_ALL: 'tree:collapse:all',\n TREE_DATA_IS_SET: 'tree:hasdata',\n SEARCH_COLLAPSE: 'search:collapse',\n SEARCH: 'search',\n CLEAR_SEARCH: 'search:clear',\n\n ACTION_WATCH: 'action:watch', // node\n ACTION_UNWATCH: 'action:unwatch', // node\n ACTION_COPY: 'action:copy', // node, target\n ACTION_MOVE: 'action:move', // node, target\n ACTION_COPY_STASH: 'action:copystash', // repoKey\n ACTION_MOVE_STASH: 'action:movestash', // repoKey\n ACTION_DISCARD_STASH: 'action:discardstash', //\n ACTION_DISCARD_FROM_STASH: 'action:discardfromstash', //node\n ACTION_REFRESH_STASH: 'action:refreshstash', //\n ACTION_EXIT_STASH: 'action:exitstash', //\n ACTION_DELETE: 'action:delete', // node\n ACTION_DELETE_CONTENT: 'action:delete:content', // node\n ACTION_REFRESH: 'action:refresh', // node\n ACTION_DEPLOY: 'action:deploy', // repoKey\n ACTION_FAVORITES: 'action:markfavorites',\n DO_FAVORITES: 'action:dofavorites',\n\n BUILDS_TAB_REFRESH: 'builds:tab:refresh',\n\n FOOTER_DATA_UPDATED: 'footer:data:updated',\n\n SHOW_SPINNER: 'spinner:show',\n HIDE_SPINNER: 'spinner:hide',\n CANCEL_SPINNER: 'spinner:cancel',\n\n USER_CHANGED: 'user:changed',\n USER_LOGOUT: 'user:logout', //confirmDiscard (true/false)\n\n TAB_NODE_CHANGED: 'tabs:node:changed',\n\n SEARCH_URL_CHANGED: 'search:url:changed',\n\n FOOTER_REFRESH: 'footer:refresh',\n\n REFRESH_SETMEUP_WIZARD: 'refresh:setmeup:wizard',\n\n REFRESH_PAGE_CONTENT: 'refresh:page:content',\n};\n\nexport default events;\n\n\n\n// WEBPACK FOOTER //\n// ./constants/artifacts_events.constants.js","/*\n *\n * Artifactory is a binaries repository manager.\n * Copyright (C) 2018 JFrog Ltd.\n *\n * Artifactory is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * Artifactory is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with Artifactory. If not, see .\n *\n */\nclass jfAccordionController {\n\n constructor($state, $rootScope,ArtifactoryState,$timeout) {\n this.state = $state;\n this.currentAccordion = '';\n this.artifactoryState = ArtifactoryState;\n this.$timeout = $timeout;\n this.openItemByCurrentState();\n $rootScope.$on('$stateChangeSuccess', () => this.openItemByCurrentState());\n }\n\n openItemByCurrentState() {\n let item = _.find(this.items, (item) => {\n return this.isItemActive(item);\n });\n if (item) item.isOpen = true;\n }\n\n saveState() {\n\n this.artifactoryState.setState('saveAdminState',true);\n/*\n// ACTUAL SAVING OF LAST ADMIN STATE MOVED TO artifactory.states.mudule.js (TO PREVENT SAVING WRONG STATE WHEN CONFIRMATION MODAL IS PRESENTED)\n this.$timeout(()=>{\n this.artifactoryState.setState('lastAdminState',this.state.current);\n this.artifactoryState.setState('lastAdminStateParams', this.state.params);\n });\n*/\n\n }\n\n isItemActive(item) {\n // (Adam) - don't use $state.includes, because it goes by the route hierarchy \n let result = _.contains(this.state.current.name, item.state);\n // (Adam) - if item includes paramsParams, match this params with the current state\n if (result && item.stateParams) {\n let relevantParams = _.pick(this.state.params, Object.keys(item.stateParams));\n result = angular.equals(relevantParams, item.stateParams);\n }\n return result;\n }\n\n}\n\nexport function jfAccordion() {\n\n return {\n restrict: 'EA',\n scope: {items: '='},\n controller: jfAccordionController,\n controllerAs: 'jfAccordion',\n templateUrl: 'directives/jf_accordion/jf_accordion.html',\n bindToController: true\n };\n}\n\n\n\n\n// WEBPACK FOOTER //\n// ./directives/jf_accordion/jf_accordion.js","/*\n *\n * Artifactory is a binaries repository manager.\n * Copyright (C) 2018 JFrog Ltd.\n *\n * Artifactory is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * Artifactory is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with Artifactory. If not, see .\n *\n */\nclass jfFooterController {\n constructor() {\n\n }\n}\n\nexport function jfFooter() {\n return {\n controller: jfFooterController,\n controllerAs: 'jfFooter',\n templateUrl: 'directives/jf_footer/jf_footer.html'\n }\n}\n\n\n\n\n// WEBPACK FOOTER //\n// ./directives/jf_footer/jf_footer.js","/*\n *\n * Artifactory is a binaries repository manager.\n * Copyright (C) 2018 JFrog Ltd.\n *\n * Artifactory is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * Artifactory is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with Artifactory. If not, see .\n *\n */\nimport EVENTS from '../../constants/artifacts_events.constants';\nimport API from '../../constants/api.constants';\nimport HELP from '../../constants/artifactory_help.constants';\nimport HELP_JCR from '../../constants/jcr_help.constants';\n\n\nclass jfHeaderController {\n constructor($scope, $q, User, $state, $stateParams, $timeout, $window, GeneralConfigDao, FooterDao, JFrogEventBus, ArtifactoryFeatures,\n $rootScope, $location, $http, ArtifactoryState, ArtifactoryHttpClient, OnBoardingWizard, GoogleAnalytics) {\n this.$scope = $scope;\n this.$state = $state;\n this.$stateParams = $stateParams;\n this.User = User;\n this.generalConfigDao = GeneralConfigDao;\n this.footerDao = FooterDao;\n this.artifactoryState = ArtifactoryState;\n this.JFrogEventBus = JFrogEventBus;\n this.user = User;\n this.features = ArtifactoryFeatures;\n this.GoogleAnalytics = GoogleAnalytics;\n this.state = $state;\n this.$timeout = $timeout;\n this.$window = $window;\n this.$q = $q;\n this.logoEndPoint = `${API.API_URL}/auth/screen/logo`;\n this.defaultLogoUrl = 'images/artifactory_logo.4089.svg';\n this.HELP = this.features.isJCR() ? HELP_JCR : HELP;\n this.OnBoardingWizard = OnBoardingWizard;\n\n this.ArtifactoryHttpClient = ArtifactoryHttpClient;\n\n //$.getJSON('artifactory_help.json', (jsonRes) => {\n // this.HELP = jsonRes;\n // this._refreshHelpMenu($location.path());\n //})\n // .fail((errRes) => {\n // if (errRes.status != 404) {\n // let body = `Cannot parse the local help links file 'artifactory_help.json'.
The default file will be loaded instead.`;\n // JFrogNotifications.createMessageWithHtml({type: 'error', body: body, timeout: 0});\n // }\n // });\n\n let unregister = $rootScope.$watch(() => {\n return $location.path();\n },\n (currentURL) => {\n this._refreshHelpMenu(currentURL);\n }\n );\n\n $scope.$on('$destroy',()=>{\n unregister();\n })\n\n this._registerEvents();\n $timeout(()=>{\n this._getFooterData();\n })\n }\n\n _registerEvents() {\n this.JFrogEventBus.registerOnScope(this.$scope, EVENTS.FOOTER_DATA_UPDATED, () => this._getFooterData(true)\n )\n ;\n }\n\n _getFooterData(force) {\n this.footerDao.get(force).then(footerData => {\n this.$window.document.title = footerData.serverName ? footerData.serverName : this.features.getGlobalName();\n\n this.helpLinksEnabled = footerData.helpLinksEnabled;\n\n this.samlRedirectEnabled = footerData.samlRedirectEnabled;\n\n if (footerData.userLogo) {\n this.logoUrl = '';\n this.$timeout(()=> {\n this.logoUrl = this.logoEndPoint;\n });\n }\n else if (footerData.logoUrl)\n this.logoUrl = footerData.logoUrl;\n else if (this.features.isJCR()) {\n this.logoUrl = 'images/jcr_logo.4089.svg';\n }\n else if (this.features.isConanCE()) {\n this.logoUrl = 'images/artifactory_conan_ce.4089.svg';\n }\n else if (this.features.isJCR()) {\n // todo:JCR: get proper logo...\n this.logoUrl = this.defaultLogoUrl;\n }\n else if (this.features.isEdgeNode()) {\n this.logoUrl = 'images/artifactory_edge.4089.svg';\n }\n else\n this.logoUrl = this.defaultLogoUrl;\n\n if ((this.user.currentUser.name !== 'anonymous' || this.user.currentUser.anonAccessEnabled) && (footerData.systemMessage || footerData.systemMessageTitle))\n this.artifactoryState.setState('systemMessage', {\n enabled: footerData.systemMessageEnabled,\n color: footerData.systemMessageTitleColor,\n title: footerData.systemMessageTitle,\n message: footerData.systemMessage,\n inAllPages: footerData.showSystemMessageOnAllPages\n });\n else\n this.artifactoryState.setState('systemMessage',undefined);\n });\n }\n\n _refreshHelpMenu(currentURL) {\n this.helpLinks = [];\n\n for (let key in this.HELP)\n if (currentURL == key || (key.indexOf('**') != -1 && currentURL.indexOf(key.replace('**', '')) != -1))\n for (let i = 0; i < this.HELP[key].length; i++)\n this.helpLinks.push(this.HELP[key][i]);\n }\n\n login() {\n\n if (this.samlRedirectEnabled) {\n this.user.getLoginData(this.$stateParams.redirectTo).then((res) => {\n if (res.ssoProviderLink) {\n this.$window.open(res.ssoProviderLink, \"_self\");\n }\n else {\n this.state.go('login');\n }\n });\n }\n else {\n this.state.go('login');\n }\n\n }\n /**\n * Logout is dispatching an event.\n * The handler also checks if the current state is one of the admin states.\n * This is done in order to make sure that logout happens only after all open admin states (windows) are closed.\n * Otherwise the user could be stuck with an unresponsive screen.\n * */\n logout() {\n this.JFrogEventBus.dispatch(EVENTS.USER_LOGOUT, this.state.current.name.startsWith('admin.') || this.state.current.name === 'user_profile');\n\n/*\n this.user.logout()\n .then(() => {\n this.state.go(\"home\");\n });\n*/\n }\n\n initQuickActions(actionsController) {\n\n this.quickActions = actionsController;\n let dictionary = {\n 'quickRepo': {title: 'Quick Setup'},\n 'createLocal': {title: 'Local Repository'},\n 'createRemote': {title: 'Remote Repository'},\n 'createVirtual': {title: 'Virtual Repository'},\n 'createDist': {title: 'Distribution Repository'},\n 'createUser': {title: 'Add User'},\n 'createGroup': {title: 'Add Group'},\n 'createPerm': {title: 'Add Permission'},\n 'userProfile': {title: 'Edit Profile'},\n 'logout': {title: 'Log Out'},\n }\n\n let onEveryAction = (action) => {\n // make sure dropdown is closed (strangely, sometimes it does not)\n this.$timeout(()=>{\n if (this.quickActions.isDropdownOpen) {\n this.quickActions.hideDropdown();\n }\n this.artifactoryState.setState('clearErrorsOnStateChange',true)\n this.GoogleAnalytics.trackEvent('Top Bar' , 'Quick Actions' , action);\n },100)\n };\n\n actionsController.setActionsDictionary(dictionary);\n actionsController.setActions([\n {\n name:'quickRepo',\n icon: 'icon-quicksetup',\n action: () => {\n onEveryAction('Quick Wizard');\n this.launchQuickSetup();\n }\n },\n {\n name:'createLocal',\n icon: 'icon-local-repo',\n action: () => {\n onEveryAction('Local repository');\n this.$state.go('admin.repositories.list.new',{repoType: 'local'});\n }\n },\n {\n name:'createRemote',\n icon: 'icon-remote-repo',\n action: () => {\n onEveryAction('Remote repository');\n this.$state.go('admin.repositories.list.new',{repoType: 'remote'});\n },\n visibleWhen: () => !this.features.isEdgeNode()\n },\n {\n name:'createVirtual',\n icon: 'icon-virtual-repo',\n action: () => {\n onEveryAction('Virtual repository');\n this.$state.go('admin.repositories.list.new',{repoType: 'virtual'});\n }\n },\n {\n name:'createDist',\n icon: 'icon-distribution-repo',\n action: () => {\n onEveryAction('Distribution repository');\n this.$state.go('admin.repositories.list',{repoType: 'distribution', action: 'openCreationDropdowns'});\n },\n visibleWhen: () => !this.features.isEdgeNode()\n },\n {\n name:'createUser',\n action: () => {\n onEveryAction('Add User');\n this.$state.go('admin.security.users.new');\n },\n itemClass: 'top-sep'\n },\n {\n name:'createGroup',\n action: () => {\n onEveryAction('Add Group');\n this.$state.go('admin.security.groups.new');\n }\n },\n {\n name:'createPerm',\n action: () => {\n onEveryAction('Add Permission');\n this.$state.go('admin.security.permissions.new');\n }\n },\n {\n name:'userProfile',\n icon: 'icon-artifactory-edit',\n action: () => {\n onEveryAction('User Profile');\n this.$state.go('user_profile');\n },\n itemClass: 'top-sep'\n },\n {\n name:'logout',\n icon: 'icon-logout',\n action: () => {\n onEveryAction('Logout');\n this.logout();\n }\n }\n ])\n\n $('body').on('click',(e)=>{\n if (!$(e.target).hasClass('user-header-section') && !$(e.target).hasClass('icon-more') && !$(e.target).hasClass('actions-more') && !$(e.target).hasClass('action-button')) {\n actionsController.hideDropdown();\n }\n })\n }\n\n isQuickActionsAvailable() {\n this.currentUser = this.User.getCurrent();\n let initStatus = this.artifactoryState.getState('initStatus');\n return this.currentUser.isAdmin() && initStatus && (initStatus.hasLicenseAlready || this.features.isNonCommercial());\n }\n\n launchQuickSetup() {\n //this.GoogleAnalytics.trackEvent('Homepage','Quick repository setup')\n this.OnBoardingWizard.show(true);\n }\n\n onClickUserHeaderSection(e) {\n if (!this.isQuickActionsAvailable()) return;\n\n if ($(e.target).hasClass('icon-more') || $(e.target).hasClass('actions-more') || $(e.target).hasClass('icon-small-arrow-down')) {\n e.preventDefault();\n e.stopPropagation();\n return;\n }\n\n\n if (!this.quickActions.isDropdownOpen) {\n this.quickActions.showDropdown();\n }\n else {\n this.quickActions.hideDropdown();\n }\n }\n\n onClickUserProfile(e) {\n if (!this.isQuickActionsAvailable()) {\n this.$state.go('user_profile');\n }\n else {\n this.$timeout(()=>$('.user-header-section').click());\n e.preventDefault();\n e.stopPropagation();\n }\n }\n\n isRedirecting() {\n return this.$state.current.name === 'login' && angular.isDefined(this.$stateParams.redirectTo)\n }\n\n isSSOMode() {\n return this.$state.current.name === 'login' && !this.features.isNonCommercial();\n }\n\n}\n\nexport function jfHeader() {\n return {\n scope: {\n hideSearch: '@'\n },\n controller: jfHeaderController,\n controllerAs: 'jfHeader',\n bindToController: true,\n templateUrl: 'directives/jf_header/jf_header.html'\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./directives/jf_header/jf_header.js","/*\n *\n * Artifactory is a binaries repository manager.\n * Copyright (C) 2018 JFrog Ltd.\n *\n * Artifactory is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * Artifactory is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with Artifactory. If not, see .\n *\n */\nexport default {\n \"API_URL\": \"../ui\",\n \"AUTH_LOGIN\": \"/auth/login?_spring_security_remember_me=\",\n \"AUTH_CURRENT\": \"/auth/current\",\n \"AUTH_LOGOUT\": \"/auth/logout\",\n \"AUTH_IS_SAML\": \"/auth/issaml\",\n \"AUTH_REDIRECT\": \"/auth/redirect?redirectTo=\",\n \"AUTH_FORGOT_PASSWORD\": \"/auth/forgotpassword\",\n \"AUTH_VALIDATE_KEY\": '/auth/validatetoken?key=',\n \"AUTH_RESET_PASSWORD\": \"/auth/resetpassword?key=\",\n \"AUTH_LOGIN_DATA\": '/auth/loginRelatedData',\n \"AUTH_CAN_ANNOTATE\": '/auth/canAnnotate?repoKey=',\n \"BASIC_CONFIG\": '/basicConfig',\n \"CRYPTO\": \"/crypto\",\n \"SECURITY_CONFIG\": \"/securityconfig\",\n \"USERS\": \"/users\",\n \"GROUPS\": \"/groups\",\n \"GROUP_PERMISSION\": \"/groupPermission\",\n \"MAIL\": \"/mail\",\n \"REGISTER_PRO\": \"/registerlicense\",\n \"MANAGE_HA_LICENSES\": \"/manageLicenses\",\n \"PROXIES\": \"/proxies\",\n \"REVERSE_PROXIES\": \"/reverseProxies\",\n \"HTTPSSO\": \"/httpsso\",\n \"SSHSERVER\": \"/sshserver\",\n \"LICENSES\": \"/licenses\",\n \"HIGH_AVAILABILITY\": \"/highAvailability\",\n \"XRAY\": \"/xrayRepo\",\n \"XRAY_CONFIG\": \"/xrayConfig\",\n \"SAML_CONFIG\": \"/saml/config\",\n \"SAML_DOWNLOAD_ENCRYPTED_ASSERTION_CERT\": \"/saml/config/key/public\",\n \"SAML_LOGOUT\": \"/saml/logoutRequest\",\n \"OAUTH_LOGIN\": \"/oauth2/loginRequest\",\n \"BINTRAY_SETTING\": \"/bintraysetting\",\n \"PROPERTY_SETS\": \"/propertysets\",\n \"BROWSE_FILESYSTEM\": \"/browsefilesystem\",\n \"BACKUP\": \"/backup\",\n \"SYSTEM_INFO\": \"/systeminfo\",\n \"CONFIG_DESCRIPTOR\": \"/configdescriptor\",\n \"SECURITY_DESCRIPTOR\": \"/securitydescriptor\",\n \"INDEXER\": \"/indexer\",\n \"STORAGE_SUMMARY\": \"/storagesummary\",\n \"TREE_BROWSER\": \"/treebrowser\",\n \"REPO_DATA\": \"/repodata\",\n \"CRON_TIME\": \"/crontime\",\n \"DATE_FORMAT\": \"/validations/dateformat\",\n \"NAME_VALIDATOR\": \"/validations/name\",\n \"UNIQUE_ID_VALIDATOR\": \"/validations/uniqueid\",\n \"XML_NAME_VALIDATOR\": \"/validations/xmlname\",\n \"ARTIFACT_PERMISSIONS\": \"/artifactpermissions\",\n \"ARTIFACT_GENERAL\": \"/artifactgeneral\",\n \"ARTIFACT_GENERAL_BINTRAY\": \"/artifactgeneral/bintray\",\n \"ARTIFACT_GENERAL_BINTRAY_DIST\": \"/artifactgeneral/bintray/dist\",\n \"ARTIFACT_VIEW_SOURCE\": \"/archiveViewSource\",\n \"ARTIFACT_BUILDS\": \"/artifactbuilds\",\n \"ARTIFACT_XRAY\": \"/artifactxray\",\n \"ARTIFACT_ACTIONS\": \"/artifactactions\",\n \"ARTIFACT_PROPERTIES\": \"/artifactproperties\",\n \"PREDEFINE_VALUES\": \"/predefinevalues\",\n \"REPO_PROPERTY_SET\": \"/repopropertyset\",\n \"ARTIFACT_WATCHES\": \"/artifactwatches\",\n \"ARTIFACT_SEARCH\": \"/artifactsearch\",\n \"DEPENDENCY_DECLARATION\": \"/dependencydeclaration\",\n \"ARTIFACT\": \"/artifact\",\n \"FOOTER\":\"/auth/screen/footer\",\n \"VIEWS\":\"/views\",\n \"CROWD\":\"/crowd\",\n \"EXPORT\": \"/artifactexport\",\n \"IMPORT\": \"/artifactimport\",\n \"MAINTENANCE\": \"/maintenance\",\n \"LDAP\": \"/ldap\",\n \"OAUTH\": \"/oauth\",\n \"CHECKSUMS\": \"/checksums\",\n \"FILTERED_RESOURCE\": \"/filteredResource\",\n \"LDAP_GROUPS\": \"/ldapgroups\",\n \"PUSH_TO_BINTRAY\": \"/pushToBintray\",\n \"BINTRAY_DISTRIBUTION\": \"/distribution\",\n \"GENERAL_CONFIG\": \"/generalConfig\",\n \"ONBOARDING\": \"/onboarding\",\n \"SIGNINGKEYS\": \"/signingkeys\",\n \"TRUSTEDKEYS\": \"/security/trustedKeys\",\n \"SSLCERTIFICATES\":\"/admin/security/certificates\",\n \"ACCESSTOKENS\": \"/admin/security/accesstokens\",\n \"KEYSTORE\":\"/keystore\",\n \"USER_PROFILE\": \"/userProfile\",\n \"SSH_CLIENT\": \"/sshClient\",\n \"USER_API_KEY\": \"/userApiKey\",\n \"BUILDS\": \"/builds\",\n \"BUNDLES\": \"/bundles\",\n \"BUILDS_INFO\": \"/buildsinfo\", /// JUST FOR MOCK, WILL BE REMOVED\n \"PERMISSION_TARGETS\": \"/permissiontargets\",\n \"GENERAL_TAB_LICENSES\":\"/generalTabLicenses\",\n \"HOME_PAGE\": \"/home\",\n \"SYSTEM_LOGS\": \"/systemlogs\",\n \"SET_ME_UP\": \"/setMeUp\",\n \"SET_ME_UP_MAVEN\": \"/setMeUp/mavenSettings\",\n \"SET_ME_UP_GRADLE\": \"/setMeUp/gradleSettings\",\n \"SET_ME_UP_IVY\": \"/setMeUp/ivySettings\",\n \"SET_ME_UP_MAVEN_DISTRIBUTION\": \"/setMeUp/mavenDistributionManagement\",\n \"SET_ME_UP_MAVEN_SNIPPET\": \"/setMeUp/mavenSnippet\",\n \"SET_ME_UP_GRADLE_SNIPPET\": \"/setMeUp/gradleSnippet\",\n \"SET_ME_UP_IVY_SNIPPET\": \"/setMeUp/ivySnippet\",\n \"SET_ME_UP_REVERSE_PROXY_DATA\": \"/setMeUp/reverseProxyData\",\n \"REPOSITORIES\":\"/admin/repositories\",\n \"REPOSITORIES_LAYOUTS\":\"/admin/repolayouts\",\n \"STASH_RESULTS\":\"/stashResults\",\n \"SUPPORT_PAGE\":\"/userSupport\",\n \"SERVER_TIME\":\"/system/serverTime\",\n \"LICENSE_DETAILS\":\"/system/license\",\n \"BINARY_PROVIDERS_INFO\":\"/binary/providers/info\",\n \"DOCKER_STATUS\":\"/admin/repositories/getdockerstatus\",\n \"GLOBAL_REPLICATIONS_BLOCK\":\"/global/replications/config\",\n \"SUMOLOGIC\": \"/sumologic\",\n \"JCR_EULA\": \"/jcr/eula\",\n \"JCR_NEWSLETTER\": \"/jcr/subscription\",\n \"MINI_XRAY\": \"/jcr/xray\",\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./constants/api.constants.js","/*\n *\n * Artifactory is a binaries repository manager.\n * Copyright (C) 2018 JFrog Ltd.\n *\n * Artifactory is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * Artifactory is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with Artifactory. If not, see .\n *\n */\nexport default {\n \"/**\": [\n {\n title: \"User Guide\",\n link: \"https://www.jfrog.com/confluence/display/RTF/Artifactory+User+Guide\",\n priority: 0\n },\n {\n title: \"REST API\",\n link: \"https://www.jfrog.com/confluence/display/RTF/Artifactory+REST+API\",\n priority: 0\n }\n ],\n\n \"/home\": [\n {\n title: \"General Information\",\n link: \"https://www.jfrog.com/confluence/display/RTF/General+Information\",\n priority: 1\n }\n ],\n \"/profile\": [\n {\n title: \"Updating Your Profile\",\n link: \"https://www.jfrog.com/confluence/display/RTF/Updating+Your+Profile\",\n priority: 1\n }\n ],\n \"/forgot-password\": [\n {\n title: \"Forgot Password\",\n link: \"https://www.jfrog.com/confluence/display/RTF/Updating+Your+Profile#UpdatingYourProfile-ResettingYourPassword\",\n priority: 1\n }\n ],\n\n \"/artifacts/browse/tree/**\": [\n {\n title: \"Browsing Artifacts\",\n link: \"https://www.jfrog.com/confluence/display/RTF/Browsing+Artifactory#BrowsingArtifactory-TreeBrowsing\",\n priority: 1\n },\n ],\n \"/artifacts/browse/simple/**\": [\n {\n title: \"Browsing Artifacts\",\n link: \"https://www.jfrog.com/confluence/display/RTF/Browsing+Artifactory#BrowsingArtifactory-SimpleBrowsing\",\n priority: 1\n },\n ],\n \"/artifacts/browse/**\": [\n {\n title: \"Deploying Artifacts\",\n link: \"https://www.jfrog.com/confluence/display/RTF/Deploying+Artifacts\",\n priority: 2\n },\n {\n title: \"Set Me Up\",\n link: \"https://www.jfrog.com/confluence/display/RTF/Using+Artifactory#UsingArtifactory-SetMeUp\",\n priority: 5\n },\n {\n title: \"Deploy Artifact with REST API\",\n link: \"https://www.jfrog.com/confluence/display/RTF/Artifactory+REST+API#ArtifactoryRESTAPI-DeployArtifact\",\n priority: 200\n }\n ],\n\n\n \"/artifacts/browse/tree/search/**\": [\n {\n title: \"Searching Artifacts\",\n link: \"https://www.jfrog.com/confluence/display/RTF/Searching+Artifacts\",\n priority: 3\n },\n {\n title: \"Stash Search Results\",\n link: \"https://www.jfrog.com/confluence/display/RTF/Searching+for+Artifacts#SearchingforArtifacts-SavingSearchResultsintheStash\",\n priority: 4\n },\n {\n title: \"Artifactory Query Language\",\n link: \"https://www.jfrog.com/confluence/display/RTF/Artifactory+REST+API#ArtifactoryRESTAPI-ArtifactoryQueryLanguage%28AQL%29\",\n priority: 200\n }\n ],\n\n // Every search type needs a duplicated entry, one under the tree search and one for simple\n\n \"/artifacts/browse/tree/search/quick/**\": [\n {\n title: \"Execute Quick Search with REST API\",\n link: \"https://www.jfrog.com/confluence/display/RTF/Artifactory+REST+API#ArtifactoryRESTAPI-ArtifactSearch%28QuickSearch%29\",\n priority: 200\n }\n ],\n \"/artifacts/browse/simple/search/quick/**\": [\n {\n title: \"Execute Quick Search with REST API\",\n link: \"https://www.jfrog.com/confluence/display/RTF/Artifactory+REST+API#ArtifactoryRESTAPI-ArtifactSearch%28QuickSearch%29\",\n priority: 200\n }\n ],\n \"/artifacts/browse/tree/search/class/**\": [\n {\n title: \"Execute Archive Search with REST API\",\n link: \"https://www.jfrog.com/confluence/display/RTF/Artifactory+REST+API#ArtifactoryRESTAPI-ArchiveEntrySearch%28ClassSearch%29\",\n priority: 200\n }\n ],\n \"/artifacts/browse/simple/search/class/**\": [\n {\n title: \"Execute Archive Search with REST API\",\n link: \"https://www.jfrog.com/confluence/display/RTF/Artifactory+REST+API#ArtifactoryRESTAPI-ArchiveEntrySearch%28ClassSearch%29\",\n priority: 200\n }\n ],\n \"/artifacts/browse/tree/search/gavc/**\": [\n {\n title: \"Execute GAVC Search with REST API\",\n link: \"https://www.jfrog.com/confluence/display/RTF/Artifactory+REST+API#ArtifactoryRESTAPI-GAVCSearch\",\n priority: 200\n }\n ],\n \"/artifacts/browse/simple/search/gavc/**\": [\n {\n title: \"Execute GAVC Search with REST API\",\n link: \"https://www.jfrog.com/confluence/display/RTF/Artifactory+REST+API#ArtifactoryRESTAPI-GAVCSearch\",\n priority: 200\n }\n ],\n \"/artifacts/browse/tree/search/property/**\": [\n {\n title: \"Execute Property Search with REST API\",\n link: \"https://www.jfrog.com/confluence/display/RTF/Artifactory+REST+API#ArtifactoryRESTAPI-PropertySearch\",\n priority: 200\n }\n ],\n \"/artifacts/browse/simple/search/property/**\": [\n {\n title: \"Execute Property Search with REST API\",\n link: \"https://www.jfrog.com/confluence/display/RTF/Artifactory+REST+API#ArtifactoryRESTAPI-PropertySearch\",\n priority: 200\n }\n ],\n \"/artifacts/browse/tree/search/checksum/**\": [\n {\n title: \"Execute Checksum Search with REST API\",\n link: \"https://www.jfrog.com/confluence/display/RTF/Artifactory+REST+API#ArtifactoryRESTAPI-ChecksumSearch\",\n priority: 200\n }\n ],\n \"/artifacts/browse/simple/search/checksum/**\": [\n {\n title: \"Execute Checksum Search with REST API\",\n link: \"https://www.jfrog.com/confluence/display/RTF/Artifactory+REST+API#ArtifactoryRESTAPI-ChecksumSearch\",\n priority: 200\n }\n ],\n //\"/artifacts/browse/tree/search/remote/**\": [\n // {\n // title: \"\",\n // link: \"\",\n // priority: 200\n // }\n //],\n //\"/artifacts/browse/simple/search/remote/**\": [\n // {\n // title: \"\",\n // link: \"\",\n // priority: 200\n // }\n //],\n\n \"/builds/**\": [\n {\n title: \"Build Integration\",\n link: \"https://www.jfrog.com/confluence/display/RTF/Build+Integration\",\n priority: 1\n },\n {\n title: \"Upload Build with REST API\",\n link: \"https://www.jfrog.com/confluence/display/RTF/Artifactory+REST+API#ArtifactoryRESTAPI-BuildUpload\",\n priority: 200\n }\n ],\n\n\n \"/admin/repositories/**\": [\n {\n title: \"Configuring Repositories\",\n link: \"https://www.jfrog.com/confluence/display/RTF/Configuring+Repositories\",\n priority: 100\n },\n {\n title: \"Single Package Type Repositories\",\n link: \"https://www.jfrog.com/confluence/display/RTF/Upgrading+Artifactory#UpgradingArtifactory-SinglePackageTypeRepositories\",\n priority: 101\n },\n {\n title: \"Create Repository with REST API\",\n link: \"https://www.jfrog.com/confluence/display/RTF/Artifactory+REST+API#ArtifactoryRESTAPI-CreateorReplaceRepositoryConfiguration\",\n priority: 200\n }\n ],\n\n \"/admin/repository/**\": [\n {\n title: \"Single Package Type Repositories\",\n link: \"https://www.jfrog.com/confluence/display/RTF/Upgrading+Artifactory#UpgradingArtifactory-SinglePackageTypeRepositories\",\n priority: 101\n },\n {\n title: \"Create Repository with REST API\",\n link: \"https://www.jfrog.com/confluence/display/RTF/Artifactory+REST+API#ArtifactoryRESTAPI-CreateorReplaceRepositoryConfiguration\",\n priority: 200\n }\n ],\n\n \"/admin/repositories/local\": [\n {\n title: \"Local Repositories\",\n link: \"https://www.jfrog.com/confluence/display/RTF/Local+Repositories\",\n priority: 1\n }\n ],\n \"/admin/repository/local/**\": [\n {\n title: \"Local Repositories\",\n link: \"https://www.jfrog.com/confluence/display/RTF/Local+Repositories\",\n priority: 1\n },\n {\n title: \"Repository Replication\",\n link: \"https://www.jfrog.com/confluence/display/RTF/Repository+Replication\",\n priority: 2\n }\n ],\n\n \"/admin/repositories/remote\": [\n {\n title: \"Remote Repositories\",\n link: \"https://www.jfrog.com/confluence/display/RTF/Remote+Repositories\",\n priority: 1\n }\n ],\n \"/admin/repository/remote/**\": [\n {\n title: \"Remote Repositories\",\n link: \"https://www.jfrog.com/confluence/display/RTF/Remote+Repositories\",\n priority: 1\n },\n {\n title: \"Pull Replication\",\n link: \"https://www.jfrog.com/confluence/display/RTF/Repository+Replication#RepositoryReplication-PullReplication\",\n priority: 2\n }\n ],\n\n \"/admin/repositories/virtual\": [\n {\n title: \"Virtual Repositories\",\n link: \"https://www.jfrog.com/confluence/display/RTF/Virtual+Repositories\",\n priority: 1\n },\n {\n title: \"Deploying to a Virtual Repository\",\n link: \"https://www.jfrog.com/confluence/display/RTF/Deploying+Artifacts#DeployingArtifacts-DeployingtoaVirtualRepository\",\n priority: 2\n }\n ],\n \"/admin/repository/virtual/**\": [\n {\n title: \"Virtual Repositories\",\n link: \"https://www.jfrog.com/confluence/display/RTF/Virtual+Repositories\",\n priority: 1\n },\n {\n title: \"Deploying to a Virtual Repository\",\n link: \"https://www.jfrog.com/confluence/display/RTF/Deploying+Artifacts#DeployingArtifacts-DeployingtoaVirtualRepository\",\n priority: 2\n }\n ],\n\n\n \"/admin/repo_layouts**\": [\n {\n title: \"Repository Layouts\",\n link: \"https://www.jfrog.com/confluence/display/RTF/Repository+Layouts\",\n priority: 1\n }\n ],\n\n \"/admin/configuration/licenses\": [\n {\n title: \"License Control\",\n link: \"https://www.jfrog.com/confluence/display/RTF/License+Control\",\n priority: 1\n }\n ],\n \"/admin/configuration/black_duck\": [\n {\n title: \"Black Duck Integration\",\n link: \"https://www.jfrog.com/confluence/display/RTF/Black+Duck+Code+Center+Integration\",\n priority: 1\n }\n ],\n \"/admin/configuration/property_sets**\": [\n {\n title: \"Property Sets\",\n link: \"https://www.jfrog.com/confluence/display/RTF/Properties\",\n priority: 1\n }\n ],\n \"/admin/configuration/proxies**\": [\n {\n title: \"Managing Proxies\",\n link: \"https://www.jfrog.com/confluence/display/RTF/Managing+Proxies\",\n priority: 1\n }\n ],\n \"/admin/configuration/mail\": [\n {\n title: \"Mail Configuration\",\n link: \"https://www.jfrog.com/confluence/display/RTF/Mail+Server+Configuration\",\n priority: 1\n }\n ],\n \"/admin/configuration/ha\": [\n {\n title: \"High Availability\",\n link: \"https://www.jfrog.com/confluence/display/RTF/Artifactory+High+Availability\",\n priority: 1\n }\n ],\n \"/admin/configuration/register_pro\": [\n {\n title: \"Activating License\",\n link: \"https://www.jfrog.com/confluence/display/RTF/Activating+Artifactory+Pro\",\n priority: 1\n }\n ],\n\n \"/admin/security/users**\": [\n {\n title: \"User Management\",\n link: \"https://www.jfrog.com/confluence/display/RTF/Managing+Users\",\n priority: 1\n },\n {\n title: \"Create User with REST API\",\n link: \"https://www.jfrog.com/confluence/display/RTF/Artifactory+REST+API#ArtifactoryRESTAPI-CreateorReplaceUser\",\n priority: 200\n }\n ],\n \"/admin/security/groups**\": [\n {\n title: \"Group Management\",\n link: \"https://www.jfrog.com/confluence/display/RTF/Managing+Users#ManagingUsers-CreatingandEditingGroups\",\n priority: 1\n },\n {\n title: \"Create Group with REST API\",\n link: \"https://www.jfrog.com/confluence/display/RTF/Artifactory+REST+API#ArtifactoryRESTAPI-CreateorReplaceGroup\",\n priority: 200\n }\n ],\n \"/admin/security/permissions**\": [\n {\n title: \"Permission Management\",\n link: \"https://www.jfrog.com/confluence/display/RTF/Managing+Permissions\",\n priority: 1\n },\n {\n title: \"Create Permission with REST API\",\n link: \"https://www.jfrog.com/confluence/display/RTF/Artifactory+REST+API#ArtifactoryRESTAPI-CreateorReplacePermissionTarget\",\n priority: 200\n }\n ],\n\n\n // Remove after fixing the url of the new permission form\n\n \"/admin/security/permission/**\": [\n {\n title: \"Permission Management\",\n link: \"https://www.jfrog.com/confluence/display/RTF/Managing+Permissions\",\n priority: 1\n },\n {\n title: \"Create Permission with REST API\",\n link: \"https://www.jfrog.com/confluence/display/RTF/Artifactory+REST+API#ArtifactoryRESTAPI-CreateorReplacePermissionTarget\",\n priority: 200\n }\n ],\n\n\n\n \"/admin/security/ldap_settings\": [\n {\n title: \"LDAP Settings\",\n link: \"https://www.jfrog.com/confluence/display/RTF/Managing+Security+with+LDAP\",\n priority: 1\n },\n {\n title: \"LDAP Groups\",\n link: \"https://www.jfrog.com/confluence/display/RTF/LDAP+Groups\",\n priority: 2\n }\n ],\n \"/admin/security/ldap_settings/**\": [\n {\n title: \"LDAP Settings\",\n link: \"https://www.jfrog.com/confluence/display/RTF/Managing+Security+with+LDAP\",\n priority: 1\n }\n ],\n \"/admin/security/ldap_groups/**\": [\n {\n title: \"LDAP Groups\",\n link: \"https://www.jfrog.com/confluence/display/RTF/LDAP+Groups\",\n priority: 1\n }\n ],\n \"/admin/security/crowd_integration\": [\n {\n title: \"Crowd Integration\",\n link: \"https://www.jfrog.com/confluence/display/RTF/Atlassian+Crowd+Integration\",\n priority: 1\n }\n ],\n \"/admin/security/saml_integration\": [\n {\n title: \"SAML Integration\",\n link: \"https://www.jfrog.com/confluence/display/RTF/SAML+SSO+Integration\",\n priority: 1\n }\n ],\n \"/admin/security/http_sso\": [\n {\n title: \"HTTP SSO\",\n link: \"https://www.jfrog.com/confluence/display/RTF/Single+Sign-on\",\n priority: 1\n }\n ],\n \"/admin/security/ssh_server\": [\n {\n title: \"SSH Server\",\n link: \"https://www.jfrog.com/confluence/display/RTF/SSH+Integration\",\n priority: 1\n }\n ],\n \"/admin/security/signing_keys\": [\n {\n title: \"Signing Keys\",\n link: \"https://www.jfrog.com/confluence/display/RTF/Master+Key+Encryption\",\n priority: 1\n },\n {\n title: \"Signing Debian Packages\",\n link: \"https://www.jfrog.com/confluence/display/RTF/Debian+Repositories#DebianRepositories-SigningDebianPackages\",\n priority: 2\n }\n ],\n\n \"/admin/services/backups**\": [\n {\n title: \"Backup Management\",\n link: \"https://www.jfrog.com/confluence/display/RTF/Managing+Backups\",\n priority: 1\n }\n ],\n \"/admin/services/indexer\": [\n {\n title: \"Maven Indexer\",\n link: \"https://www.jfrog.com/confluence/display/RTF/Exposing+Maven+Indexes\",\n priority: 1\n }\n ],\n\n \"/admin/import_export**\": [\n {\n title: \"Importing & Exporting\",\n link: \"https://www.jfrog.com/confluence/display/RTF/Importing+and+Exporting\",\n priority: 1\n }\n ],\n \"/admin/import_export/repositories\": [\n {\n title: \"Repository Import with REST API\",\n link: \"https://www.jfrog.com/confluence/display/RTF/Artifactory+REST+API#ArtifactoryRESTAPI-ImportRepositoryContent\",\n priority: 200\n }\n ],\n \"/admin/import_export/system\": [\n {\n title: \"System Import with REST API\",\n link: \"https://www.jfrog.com/confluence/display/RTF/Artifactory+REST+API#ArtifactoryRESTAPI-FullSystemImport\",\n priority: 200\n },\n {\n title: \"System Export with REST API\",\n link: \"https://www.jfrog.com/confluence/display/RTF/Artifactory+REST+API#ArtifactoryRESTAPI-ExportSystem\",\n priority: 200\n }\n ],\n\n \"/admin/advanced/system_info\": [\n {\n title: \"System Info\",\n link: \"https://www.jfrog.com/confluence/display/RTF/System+Information\",\n priority: 1\n },\n {\n title: \"Get Sysmtem Info with REST API\",\n link: \"https://www.jfrog.com/confluence/display/RTF/Artifactory+REST+API#ArtifactoryRESTAPI-SystemInfo\",\n priority: 200\n }\n ],\n \"/admin/advanced/system_logs\": [\n {\n title: \"Artifactory Logs\",\n link: \"https://www.jfrog.com/confluence/display/RTF/Artifactory+Log+Files\",\n priority: 1\n }\n ],\n \"/admin/advanced/maintenance\": [\n {\n title: \"Maintenance\",\n link: \"https://www.jfrog.com/confluence/display/RTF/Regular+Maintenance+Operations\",\n priority: 1\n }\n ],\n \"/admin/advanced/storage_summary\": [\n {\n title: \"Monitoring Storage\",\n link: \"https://www.jfrog.com/confluence/display/RTF/Monitoring+Storage\",\n priority: 1\n }\n ],\n \"/admin/advanced/config_descriptor\": [\n {\n title: \"Configuration Files\",\n link: \"https://www.jfrog.com/confluence/display/RTF/Configuration+Files\",\n priority: 1\n },\n {\n title: \"Get Config Descriptor with REST API\",\n link: \"https://www.jfrog.com/confluence/display/RTF/Artifactory+REST+API#ArtifactoryRESTAPI-GeneralConfiguration\",\n priority: 200\n }\n ],\n \"/admin/advanced/security_descriptor\": [\n {\n title: \"Security Configuration\",\n link: \"https://www.jfrog.com/confluence/display/RTF/Configuring+Security\",\n priority: 1\n }\n ]\n}\n\n\n// WEBPACK FOOTER //\n// ./constants/artifactory_help.constants.js","/*\n *\n * Artifactory is a binaries repository manager.\n * Copyright (C) 2018 JFrog Ltd.\n *\n * Artifactory is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * Artifactory is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with Artifactory. If not, see .\n *\n */\nexport default {\n \"/**\": [\n {\n title: \"User Guide\",\n link: \"https://www.jfrog.com/confluence/display/JCR/Welcome+to+JFrog+Container+Registry\",\n priority: 0\n },\n {\n title: \"REST API\",\n link: \"https://www.jfrog.com/confluence/display/JCR/JFrog+Container+Registry+REST+API\",\n priority: 0\n }\n ],\n\n \"/home\": [\n {\n title: \"General Information\",\n link: \"https://www.jfrog.com/confluence/display/JCR/General+Information\",\n priority: 1\n }\n ],\n \"/profile\": [\n {\n title: \"Updating Your Profile\",\n link: \"https://www.jfrog.com/confluence/display/JCR/Updating+Your+Profile\",\n priority: 1\n }\n ],\n \"/forgot-password\": [\n {\n title: \"Forgot Password\",\n link: \"https://www.jfrog.com/confluence/display/JCR/Updating+Your+Profile#UpdatingYourProfile-ChangingYourPasswordandEmail\",\n priority: 1\n }\n ],\n\n \"/artifacts/browse/tree/**\": [\n {\n title: \"Browsing Artifacts\",\n link: \"https://www.jfrog.com/confluence/display/JCR/Browsing+JFrog+Container+Registry\",\n priority: 1\n },\n ],\n \"/artifacts/browse/simple/**\": [\n {\n title: \"Browsing Artifacts\",\n link: \"https://www.jfrog.com/confluence/display/JCR/Browsing+JFrog+Container+Registry\",\n priority: 1\n },\n ],\n \"/artifacts/browse/**\": [\n {\n title: \"Deploying Artifacts\",\n link: \"https://www.jfrog.com/confluence/display/JCR/Deploying+Artifacts\",\n priority: 2\n },\n {\n title: \"Set Me Up\",\n link: \"https://www.jfrog.com/confluence/display/JCR/User+Guide\",\n priority: 5\n },\n {\n title: \"Deploy Artifact with REST API\",\n link: \"https://www.jfrog.com/confluence/display/JCR/JFrog+Container+Registry+REST+API#JFrogContainerRegistryRESTAPI-DeployArtifact\",\n priority: 200\n }\n ],\n\n\n \"/artifacts/browse/tree/search/**\": [\n {\n title: \"Searching Artifacts\",\n link: \"https://www.jfrog.com/confluence/display/JCR/Searching+for+Artifacts\",\n priority: 3\n },\n {\n title: \"Artifactory Query Language\",\n link: \"https://www.jfrog.com/confluence/display/JCR/Artifactory+Query+Language\",\n priority: 200\n }\n ],\n\n // Every search type needs a duplicated entry, one under the tree search and one for simple\n\n \"/artifacts/browse/tree/search/quick/**\": [\n {\n title: \"Execute Quick Search with REST API\",\n link: \"https://www.jfrog.com/confluence/display/JCR/JFrog+Container+Registry+REST+API#JFrogContainerRegistryRESTAPI-ArtifactSearch(QuickSearch)\",\n priority: 200\n }\n ],\n \"/artifacts/browse/simple/search/quick/**\": [\n {\n title: \"Execute Quick Search with REST API\",\n link: \"https://www.jfrog.com/confluence/display/JCR/JFrog+Container+Registry+REST+API#JFrogContainerRegistryRESTAPI-ArtifactSearch(QuickSearch)\",\n priority: 200\n }\n ],\n \"/artifacts/browse/tree/search/class/**\": [\n {\n title: \"Execute Archive Search with REST API\",\n link: \"https://www.jfrog.com/confluence/display/JCR/JFrog+Container+Registry+REST+API#JFrogContainerRegistryRESTAPI-ArchiveEntriesSearch(ClassSearch)\",\n priority: 200\n }\n ],\n \"/artifacts/browse/simple/search/class/**\": [\n {\n title: \"Execute Archive Search with REST API\",\n link: \"https://www.jfrog.com/confluence/display/JCR/JFrog+Container+Registry+REST+API#JFrogContainerRegistryRESTAPI-ArchiveEntriesSearch(ClassSearch)\",\n priority: 200\n }\n ],\n \"/artifacts/browse/tree/search/property/**\": [\n {\n title: \"Execute Property Search with REST API\",\n link: \"https://www.jfrog.com/confluence/display/JCR/JFrog+Container+Registry+REST+API#JFrogContainerRegistryRESTAPI-PropertySearch\",\n priority: 200\n }\n ],\n \"/artifacts/browse/simple/search/property/**\": [\n {\n title: \"Execute Property Search with REST API\",\n link: \"https://www.jfrog.com/confluence/display/JCR/JFrog+Container+Registry+REST+API#JFrogContainerRegistryRESTAPI-PropertySearch\",\n priority: 200\n }\n ],\n\n \"/builds/**\": [\n {\n title: \"Build Integration\",\n link: \"https://www.jfrog.com/confluence/display/JCR/Build+Integration\",\n priority: 1\n },\n {\n title: \"Upload Build with REST API\",\n link: \"https://www.jfrog.com/confluence/display/JCR/JFrog+Container+Registry+REST+API#JFrogContainerRegistryRESTAPI-BuildUpload\",\n priority: 200\n }\n ],\n\n\n \"/admin/repositories/**\": [\n {\n title: \"Configuring Repositories\",\n link: \"https://www.jfrog.com/confluence/display/JCR/Configuring+Repositories\",\n priority: 100\n }\n ],\n\n \"/admin/repositories/local\": [\n {\n title: \"Local Repositories\",\n link: \"https://www.jfrog.com/confluence/display/JCR/Local+Repositories\",\n priority: 1\n }\n ],\n \"/admin/repository/local/**\": [\n {\n title: \"Local Repositories\",\n link: \"https://www.jfrog.com/confluence/display/JCR/Local+Repositories\",\n priority: 1\n }\n ],\n\n \"/admin/repositories/remote\": [\n {\n title: \"Remote Repositories\",\n link: \"https://www.jfrog.com/confluence/display/JCR/Remote+Repositories\",\n priority: 1\n }\n ],\n \"/admin/repository/remote/**\": [\n {\n title: \"Remote Repositories\",\n link: \"https://www.jfrog.com/confluence/display/JCR/Remote+Repositories\",\n priority: 1\n }\n ],\n\n \"/admin/repositories/virtual\": [\n {\n title: \"Virtual Repositories\",\n link: \"https://www.jfrog.com/confluence/display/JCR/Virtual+Repositories\",\n priority: 1\n },\n {\n title: \"Deploying to a Virtual Repository\",\n link: \"https://www.jfrog.com/confluence/display/JCR/Virtual+Repositories#VirtualRepositories-DeployingtoaVirtualRepository\",\n priority: 2\n }\n ],\n \"/admin/repository/virtual/**\": [\n {\n title: \"Virtual Repositories\",\n link: \"https://www.jfrog.com/confluence/display/JCR/Virtual+Repositories\",\n priority: 1\n },\n {\n title: \"Deploying to a Virtual Repository\",\n link: \"https://www.jfrog.com/confluence/display/JCR/Virtual+Repositories#VirtualRepositories-DeployingtoaVirtualRepository\",\n priority: 2\n }\n ],\n \"/admin/repositories/distribution\": [\n {\n title: \"Distribution Repositories\",\n link: \"https://www.jfrog.com/confluence/display/JCR/Distribution+Repository\",\n priority: 1\n }\n ],\n \"/admin/repositories/distribution/**\": [\n {\n title: \"Distribution Repositories\",\n link: \"https://www.jfrog.com/confluence/display/JCR/Distribution+Repository\",\n priority: 1\n }\n ],\n\n\n \"/admin/repo_layouts**\": [\n {\n title: \"Repository Layouts\",\n link: \"https://www.jfrog.com/confluence/display/JCR/Repository+Layouts\",\n priority: 1\n }\n ],\n\n \"/admin/configuration/property_sets**\": [\n {\n title: \"Property Sets\",\n link: \"https://www.jfrog.com/confluence/display/JCR/Properties\",\n priority: 1\n }\n ],\n \"/admin/configuration/proxies**\": [\n {\n title: \"Managing Proxies\",\n link: \"https://www.jfrog.com/confluence/display/JCR/Managing+Proxies\",\n priority: 1\n }\n ],\n \"/admin/configuration/mail\": [\n {\n title: \"Mail Configuration\",\n link: \"https://www.jfrog.com/confluence/display/JCR/Mail+Server+Configuration\",\n priority: 1\n }\n ],\n\n \"/admin/security/users**\": [\n {\n title: \"User Management\",\n link: \"https://www.jfrog.com/confluence/display/JCR/Users+and+Groups\",\n priority: 1\n }\n ],\n \"/admin/security/groups**\": [\n {\n title: \"Group Management\",\n link: \"https://www.jfrog.com/confluence/display/JCR/Users+and+Groups#UsersandGroups-CreatingandEditingGroups\",\n priority: 1\n }\n ],\n \"/admin/security/permissions**\": [\n {\n title: \"Permission Management\",\n link: \"https://www.jfrog.com/confluence/display/JCR/Permissions\",\n priority: 1\n }\n ],\n\n\n // Remove after fixing the url of the new permission form\n\n \"/admin/security/permission/**\": [\n {\n title: \"Permission Management\",\n link: \"https://www.jfrog.com/confluence/display/JCR/Permissions\",\n priority: 1\n }\n ],\n\n\n\n \"/admin/security/ldap_settings\": [\n {\n title: \"LDAP Settings\",\n link: \"https://www.jfrog.com/confluence/display/JCR/Managing+Security+with+LDAP#ManagingSecuritywithLDAP-Configuration\",\n priority: 1\n }\n ],\n \"/admin/security/ldap_settings/**\": [\n {\n title: \"LDAP Settings\",\n link: \"https://www.jfrog.com/confluence/display/JCR/Managing+Security+with+LDAP#ManagingSecuritywithLDAP-Configuration\",\n priority: 1\n }\n ],\n\n \"/admin/security/ssh_server\": [\n {\n title: \"SSH Server\",\n link: \"https://www.jfrog.com/confluence/display/JCR/SSH+Integration\",\n priority: 1\n }\n ],\n \"/admin/security/signing_keys\": [\n {\n title: \"Signing Keys\",\n link: \"https://www.jfrog.com/confluence/display/JCR/Centrally+Secure+Passwords\",\n priority: 1\n }\n ],\n\n \"/admin/services/backups**\": [\n {\n title: \"Backup Management\",\n link: \"https://www.jfrog.com/confluence/display/JCR/Managing+Backups\",\n priority: 1\n }\n ],\n\n \"/admin/import_export**\": [\n {\n title: \"Importing & Exporting\",\n link: \"https://www.jfrog.com/confluence/display/JCR/Importing+and+Exporting\",\n priority: 1\n }\n ],\n \"/admin/import_export/repositories\": [\n {\n title: \"Repository Import with REST API\",\n link: \"https://www.jfrog.com/confluence/display/JCR/JFrog+Container+Registry+REST+API#JFrogContainerRegistryRESTAPI-ImportRepositoryContent\",\n priority: 200\n }\n ],\n \"/admin/import_export/system\": [\n {\n title: \"System Import with REST API\",\n link: \"https://www.jfrog.com/confluence/display/JCR/JFrog+Container+Registry+REST+API#JFrogContainerRegistryRESTAPI-FullSystemImport\",\n priority: 200\n },\n {\n title: \"System Export with REST API\",\n link: \"https://www.jfrog.com/confluence/display/JCR/JFrog+Container+Registry+REST+API#JFrogContainerRegistryRESTAPI-ExportSystem\",\n priority: 200\n }\n ],\n\n \"/admin/advanced/system_info\": [\n {\n title: \"System Info\",\n link: \"https://www.jfrog.com/confluence/display/JCR/JFrog+Container+Registry+REST+API#JFrogContainerRegistryRESTAPI-SystemInfo\",\n priority: 1\n },\n {\n title: \"Get Sysmtem Info with REST API\",\n link: \"https://www.jfrog.com/confluence/display/JCR/JFrog+Container+Registry+REST+API#JFrogContainerRegistryRESTAPI-SystemInfo\",\n priority: 200\n }\n ],\n \"/admin/advanced/system_logs\": [\n {\n title: \"Jfrog Container Registry Logs\",\n link: \"https://www.jfrog.com/confluence/display/JCR/JFrog+Container+Registry+Log+Files\",\n priority: 1\n }\n ],\n \"/admin/advanced/maintenance\": [\n {\n title: \"Maintenance\",\n link: \"https://www.jfrog.com/confluence/display/JCR/Regular+Maintenance+Operations\",\n priority: 1\n }\n ],\n \"/admin/advanced/storage_summary\": [\n {\n title: \"Monitoring Storage\",\n link: \"https://www.jfrog.com/confluence/display/JCR/Monitoring+Storage\",\n priority: 1\n }\n ],\n \"/admin/advanced/config_descriptor\": [\n {\n title: \"Configuration Files\",\n link: \"https://www.jfrog.com/confluence/display/JCR/Configuration+Files\",\n priority: 1\n },\n {\n title: \"Get Config Descriptor with REST API\",\n link: \"https://www.jfrog.com/confluence/display/JCR/JFrog+Container+Registry+REST+API#JFrogContainerRegistryRESTAPI-GeneralConfiguration\",\n priority: 200\n }\n ],\n \"/admin/advanced/security_descriptor\": [\n {\n title: \"Security Configuration\",\n link: \"https://www.jfrog.com/confluence/display/JCR/Configuring+Security\",\n priority: 1\n }\n ]\n}\n\n\n// WEBPACK FOOTER //\n// ./constants/jcr_help.constants.js","/*\n *\n * Artifactory is a binaries repository manager.\n * Copyright (C) 2018 JFrog Ltd.\n *\n * Artifactory is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * Artifactory is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with Artifactory. If not, see .\n *\n */\nclass jfMessagesController {\n constructor($scope, $state, $window, $location, ArtifactoryState, User, ArtifactoryFeatures, ArtifactoryStorage) {\n\n this.$state = $state;\n this.user = User;\n this.artifactoryState = ArtifactoryState;\n this.$window = $window;\n this.$location = $location;\n this.features = ArtifactoryFeatures;\n this.artifactoryStorage = ArtifactoryStorage;\n\n angular.element(this.$window).on('resize', this.handleSizing.bind(this));\n $scope.$on('$destroy', () => {\n angular.element(this.$window).off('resize');\n });\n\n setTimeout(() => {\n this.handleSizing();\n\n $(document).on('mouseenter', '.message-text a', () => {\n $('.message-container').addClass('pause-animation')\n });\n $(document).on('mouseleave', '.message-text a', () => {\n $('.message-container').removeClass('pause-animation')\n });\n }, 300);\n }\n\n isDismissed(dismissCode){\n let message = this.getDissmisabelMessageByCode(dismissCode);\n return message[0] && message[0].isDismissed;\n }\n\n getDissmisabelMessageByCode(dismissCode){\n return _.filter(this.constantMessages,(msg)=>{\n return (msg.dismissCode && msg.dismissCode == dismissCode);\n });\n }\n\n getConstantMessages() {\n let msgs = this.artifactoryState.getState('constantMessages');\n if (msgs) {\n this.addPasswordExpirationMessages(msgs);\n this.addAOL_DotComMessage(msgs);\n }\n let withDismissableMessages = [];\n for(let i in msgs){\n let msgObj = msgs[i];\n if(msgObj.dismissCode){\n\n let dismissibleItem = this.artifactoryStorage.getItem('dismissibleMessages');\n if(!dismissibleItem){\n this.artifactoryStorage.setItem('dismissibleMessages',{});\n dismissibleItem = this.artifactoryStorage.getItem('dismissibleMessages');;\n }\n\n if(!dismissibleItem[msgObj.dismissCode]){\n dismissibleItem[msgObj.dismissCode] = false;\n this.artifactoryStorage.setItem('dismissibleMessages',dismissibleItem);\n }\n\n msgObj.isDismissed = dismissibleItem[msgObj.dismissCode];\n }\n withDismissableMessages.push(msgObj);\n }\n\n // console.log(withDismissableMessages,msgs);\n this.constantMessages = withDismissableMessages;\n return this.constantMessages;\n }\n\n addPasswordExpirationMessages(msgs) {\n let daysToExpiration = this.user.currentUser.currentPasswordValidFor;\n let profileUpdatable = this.user.currentUser.profileUpdatable;\n if (daysToExpiration <= 2 && this.$state.current.name !== 'user_profile' && !_.findWhere(msgs,{code: 'expiration'})) {\n msgs.push({\n message: `Your password will expire in ${daysToExpiration} days. ${profileUpdatable ? 'Click here to change it now.' : 'Contact your system administrator to change it.'}`,\n type: 'warning',\n code: 'expiration'\n })\n }\n else if (this.$state.current.name === 'user_profile' && _.findWhere(msgs,{code: 'expiration'})) {\n let index = msgs.indexOf(!_.findWhere(msgs,{code: 'expiration'}));\n msgs.splice(index,1);\n }\n }\n\n addAOL_DotComMessage(msgs) {\n\n let endingsMap = {\n com: 'io',\n org: 'info',\n net: 'us'\n };\n\n if (this.features.isAol()) {\n let domain = this.$location.host();\n let domainWithoutEnding = domain.substr(0,domain.lastIndexOf('.'));\n let ending = domain.substr(domain.lastIndexOf('.')+1);\n\n let isDotCom = domainWithoutEnding.endsWith('.artifactoryonline');\n if (isDotCom && !_.findWhere(msgs,{code: 'aol_dot_com'})) {\n let url = this.$location.absUrl();\n let newUrl = url.replace('.artifactoryonline.' + ending, '.jfrog.' + endingsMap[ending]);\n msgs.push({\n message: `artifactoryonline.${ending} has been replaced by jfrog.${endingsMap[ending]}. For more information about adjustments you may need to make, please visit our Knowledge Base.`,\n type: 'warning',\n code: 'aol_dot_com'\n })\n }\n }\n\n }\n\n dismissMessage(dismissCode){\n // Dismiss for next time the message is fiered\n let dismissibleItem = this.artifactoryStorage.getItem('dismissibleMessages', {});\n dismissibleItem[dismissCode] = true;\n this.artifactoryStorage.setItem('dismissibleMessages',dismissibleItem);\n // Hide message for now\n let toDismiss = this.getDissmisabelMessageByCode(dismissCode);\n toDismiss[0].isDismissed = true;\n }\n\n getSystemMessage() {\n let msgObj = this.artifactoryState.getState('systemMessage');\n if (msgObj && msgObj.enabled && (msgObj.inAllPages || this.$state.current.name === 'home')) {\n this.systemMessage = msgObj;\n this.handleSizing();\n }\n else\n this.systemMessage = null;\n\n return this.systemMessage;\n }\n\n handleSizing() {\n if ($('.constant-message.system').length) {\n let maxMessageSize = this.$window.innerWidth - $('.constant-message.system .message-title').width() - ($('.constant-message.system .message-container').offset().left * 2) - 10,\n msgText = $('.constant-message.system .message-text');\n\n if (msgText.find('span').width() > maxMessageSize)\n msgText.css('width', maxMessageSize).addClass('marqueed');\n else\n msgText.css('width', 'auto').removeClass('marqueed');\n }\n }\n}\n\nexport function jfMessages() {\n return {\n controller: jfMessagesController,\n controllerAs: 'jfMessages',\n bindToController: true,\n templateUrl: 'directives/jf_messages/jf_messages.html'\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./directives/jf_messages/jf_messages.js","/*\n *\n * Artifactory is a binaries repository manager.\n * Copyright (C) 2018 JFrog Ltd.\n *\n * Artifactory is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * Artifactory is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with Artifactory. If not, see .\n *\n */\nclass jfHeaderSearchController {\n constructor($element, $scope,$state) {\n this.$scope = $scope;\n this.$element = $element;\n this.$searchTrigger = $('[data-ic-class=\"search-trigger\"]');\n this.$searchInput = $('[data-ic-class=\"search-input\"]');\n\n this.$state=$state;\n this._isFocused = false;\n this.query = {\n search:'quick'\n };\n this._registerEvents();\n }\n\n search() {\n this.$state.go('search',{searchType:'quick', query:btoa(JSON.stringify(this.query))});\n this.query.query = '';\n }\n\n _registerEvents() {\n this.$element.on('mouseenter', () => this._mouseEnter());\n this.$element.on('mouseleave', () => this._mouseLeave());\n this.$searchInput.on('focus', () => this._triggerFocus());\n this.$searchInput.on('blur', () => this._triggerFocus());\n\n this.$scope.$on('$destroy', () => {\n this.$element.off('mouseenter');\n this.$element.off('mouseleave');\n this.$searchInput.off('focus');\n this.$searchInput.off('blur');\n });\n }\n\n _registerBodyEvent() {\n $('body').on('click.outsideSearch', (e) => this._checkClickTarget(e));\n }\n\n _deregisterBodyEvent() {\n $('body').off('click.outsideSearch');\n }\n\n _mouseEnter() {\n this.$searchTrigger.addClass('active');\n this.$searchInput.addClass('active');\n }\n\n _mouseLeave() {\n // do not hide the search bar when it is focused\n if (this._isFocused) {\n return;\n }\n\n this.$searchTrigger.removeClass('active');\n this.$searchInput.removeClass('active');\n }\n\n _triggerFocus() {\n this._registerBodyEvent();\n this._isFocused = !this._isFocused;\n }\n\n _checkClickTarget(e) {\n // check if the clicked element is inside the directive\n if (!$(this.$element).has(e.target).length) {\n this.query.query = '';\n if (!this.$scope.$$phase) this.$scope.$digest();\n this._isFocused = false;\n this._mouseLeave();\n this._deregisterBodyEvent();\n }\n }\n\n\n}\n\nexport function jfHeaderSearch() {\n return {\n controller: jfHeaderSearchController,\n controllerAs: 'jfHeaderSearch',\n templateUrl: 'directives/jf_header_search/jf_header_search.html'\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./directives/jf_header_search/jf_header_search.js","/*\n *\n * Artifactory is a binaries repository manager.\n * Copyright (C) 2018 JFrog Ltd.\n *\n * Artifactory is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * Artifactory is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with Artifactory. If not, see .\n *\n */\nclass jfBrowseFilesController {\n\n constructor($scope, JFrogModal, JFrogEventBus, $timeout) {\n this.root = '/';\n this.modal = JFrogModal;\n this.browseFilesScope = $scope.$new();\n this.initBrowseFileScope();\n this.selectedFile = false;\n this.JFrogEventBus = JFrogEventBus;\n\n this.EVENTS = JFrogEventBus.getEventsDefinition();\n\n this.$timeout = $timeout;\n }\n\n $onInit() {\n this.browseFilesDao = this.browserResource;\n }\n\n initBrowseFileScope() {\n let browseFilesScope = this.browseFilesScope;\n browseFilesScope.folderList = [];\n browseFilesScope.rootsList = [];\n browseFilesScope.fileList = [];\n browseFilesScope.folder = {};\n this.isWindows = false;\n this.browseFilesScope.getDataList = (path)=>this.getDataList(path);\n this.browseFilesScope.setFilePath = path => this.setFilePath(path);\n this.browseFilesScope.setSelectedItem = item => this.setSelectedItem(item);\n this.browseFilesScope.onSelectionChange = item => this.onSelectionChange();\n browseFilesScope.upperFolder = ()=>this.upperFolder();\n browseFilesScope.save = ()=>this.save();\n browseFilesScope.closeModal = ()=>this.closeModal();\n browseFilesScope.onChangeFolder = ()=>this.onChangeFolder();\n browseFilesScope.onChangeRoot = ()=>this.onChangeRoot();\n browseFilesScope.onPathKeyPress = (e)=>this.onPathKeyPress(e);\n browseFilesScope.onPathAutoCompleteSelect = (selection)=>this.onPathAutoCompleteSelect(selection);\n browseFilesScope.onKeyPress = (e)=>this.onKeyPress(e);\n browseFilesScope.selectedItem = null;\n browseFilesScope.baseDirectory = null;\n\n if (!this.browserOptions)\n this.browserOptions = {};\n\n browseFilesScope.modalTitle = this.browserOptions.modalTitle || 'Server File System Browser';\n browseFilesScope.selectionLabel = this.browserOptions.selectionLabel || 'Selected Folder:';\n browseFilesScope.pathLabel = this.browserOptions.pathLabel || 'Path:';\n browseFilesScope.canSelectFiles = this.browserOptions.canSelectFiles === true;\n browseFilesScope.showSelectedItem = this.browserOptions.showSelectedItem !== false;\n browseFilesScope.enableSelectedItem = this.browserOptions.enableSelectedItem !== false;\n browseFilesScope.confirmButtonLabel = this.browserOptions.confirmButtonLabel || 'Select';\n browseFilesScope.createDirHelp = 'To create a new directory,\\nEnter it\\'s name here.';\n\n if (this.isWindows)\n browseFilesScope.mountLabel = this.browserOptions.windowsDriveLabel || 'Drive:';\n else\n browseFilesScope.mountLabel = this.browserOptions.nonWindowsMountLabel || 'Mount Point:';\n }\n\n onPathKeyPress(e) {\n if ((!this.isWindows && e.charCode == 47) || (this.isWindows && e.charCode == 92)) {\n this.$timeout(()=>{\n this._gotoPath(this.browseFilesScope.folder.selectedFolder);\n });\n }\n }\n\n _gotoPath(path) {\n let current = path.endsWith(!this.isWindows ? '/' : '\\\\') ? path.substr(0,path.length-1) : path;\n\n if (this.browseFilesScope.pathAutoComplete.indexOf(current)>=0) {\n let parts = current.split(!this.isWindows ? '/' : '\\\\');\n let lastPart = parts[parts.length-1].trim() || parts[parts.length-2].trim();\n this.getDataList(lastPart);\n this.browseFilesScope.folder.selectedFolder += !this.isWindows ? '/' : '\\\\';\n }\n }\n\n openBrowser() {\n if (!this.startFolder) this.initBrowseFileScope();\n else {\n if (this.startFolder.indexOf('\\\\')>=0 && this.startFolder.indexOf('/')<0) this.isWindows = true;\n this.browseFilesScope.folder.selectedFolder = this.startFolder;\n let parts = this.startFolder.split(!this.isWindows ? '/' : '\\\\');\n let lastPart = parts[parts.length-1].trim() || parts[parts.length-2].trim();\n// this.browseFilesScope.baseDirectory = '/'+_.filter(parts,(p)=>{return p}).join(!this.isWindows ? '/' : '\\\\');\n this.browseFilesScope.folderList = _.filter(parts,(p)=>{return p.trim()});\n this.browseFilesScope.folder.currentRoot = parts[0]+(!this.isWindows ? '/' : '\\\\');\n if (this.isWindows) this.browseFilesScope.folderList.shift();\n this.browseFilesScope.folder.currentFolder = lastPart;\n }\n this.JFrogEventBus.dispatch(this.EVENTS.FORM_CLEAR_FIELD_VALIDATION, true);\n this._getFileList(this.browseFilesScope.folder.selectedFolder || this.root);\n this.modalInstance = this.modal.launchModal(\"browse_files_modal\", this.browseFilesScope, 'sm');\n }\n\n upperFolder() {\n let folderList = this.browseFilesScope.folderList;\n\n if (folderList.length) {\n folderList.pop();\n\n let currentFolder = folderList.pop();\n if (!currentFolder || (this.isWindows && currentFolder === '/')) {\n currentFolder = this.browseFilesScope.folder.currentRoot;\n this.browseFilesScope.folder.selectedFolder = this.browseFilesScope.folder.currentRoot;\n }\n this.getDataList(currentFolder);\n\n this.browseFilesScope.folder.currentFolder = currentFolder;\n this.browseFilesScope.baseDirectory = this.browseFilesScope.folder.selectedFolder;\n }\n }\n\n setSelectedItem(item) {\n this.browseFilesScope.selectedItem = item;\n this.browseFilesScope.folder.currentFolder = item.fileSystemItemName;\n this.browseFilesScope.folder.selectedFolder = (this.browseFilesScope.baseDirectory || '') + (!this.isWindows ? (this.browseFilesScope.baseDirectory == '/' ? '' : '/') : (this.browseFilesScope.baseDirectory ? (!this.browseFilesScope.baseDirectory.endsWith('\\\\') ? '\\\\' : '') : this.browseFilesScope.folder.currentRoot)) + item.fileSystemItemName;\n }\n\n _clearData() {\n this.browseFilesScope.folder.currentFolder = !this.isWindows ? '/' : this.browseFilesScope.folder.currentRoot;\n this.browseFilesScope.folderList = [];\n }\n\n onChangeRoot() {\n this.$timeout(()=>{\n this.onChangeFolder(true);\n });\n }\n\n onChangeFolder(newRoot) {\n if (newRoot) {\n this._clearData();\n }\n let folderLabel = '';\n if (this.browseFilesScope.folder.currentFolder == '/') {\n folderLabel = this.browseFilesScope.folder.currentRoot;\n }\n else {\n folderLabel = this.browseFilesScope.folder.currentFolder;\n }\n let index = 0;\n for (index; this.browseFilesScope.folderList.length > index; index++) {\n if (this.browseFilesScope.folderList[index] == folderLabel) {\n break;\n }\n }\n let indexToCut = this.browseFilesScope.folderList.length - index;\n this.browseFilesScope.folderList = _.dropRight(this.browseFilesScope.folderList, indexToCut);\n this.getDataList(folderLabel);\n }\n\n getDataList(path) {\n let PathSend = '';\n if (path == '/') {\n PathSend = this.browseFilesScope.folder.currentRoot;\n }\n else {\n PathSend = this._selectPath(path);\n }\n this._getFileList(PathSend);\n }\n\n _getFileList(path) {\n path = path.replace('\\\\\\/\\\\','\\\\');\n this.browseFilesDao.query({path: path, includeZip: this.browseFilesScope.canSelectFiles}).$promise.then((result) => {\n if (result) {\n this.browseFilesScope.rootsList = result.roots;\n this.isWindows = result.windows;\n if (this.isWindows && path==='/') {\n this._getFileList(result.roots[0]);\n return;\n }\n\n this.browseFilesScope.fileList = result.fileSystemItems;\n if (!this.browseFilesScope.folder.currentRoot) {\n this.browseFilesScope.folder.currentRoot = result.roots[0];\n this.onChangeRoot();\n }\n if (!this.browseFilesScope.folder.selectedFolder) {\n this.browseFilesScope.folder.selectedFolder = result.roots[0];\n }\n\n if (this.isWindows)\n this.browseFilesScope.mountLabel = this.browserOptions.windowsDriveLabel || 'Drive:';\n else\n this.browseFilesScope.mountLabel = this.browserOptions.nonWindowsMountLabel || 'Mount Point:';\n\n let onlyFolders = _.filter(result.fileSystemItems,(item)=>{return item.folder});\n this.browseFilesScope.pathAutoComplete = _.map(onlyFolders,(item)=>{\n return (this.browseFilesScope.baseDirectory||(!this.isWindows ? '' : this.browseFilesScope.folder.currentRoot)) + (!this.isWindows ? (!this.browseFilesScope.baseDirectory || !this.browseFilesScope.baseDirectory.endsWith('/') ? '/' :'') : ((this.browseFilesScope.baseDirectory && !this.browseFilesScope.baseDirectory.endsWith('\\\\'))?'\\\\':'')) + item.fileSystemItemName;\n });\n\n let filteredSelectionList = this.browseFilesScope.canSelectFiles ? result.fileSystemItems : _.filter(result.fileSystemItems,(item)=>{return item.folder});\n this.browseFilesScope.selectionAutoComplete = _.map(filteredSelectionList,(item)=>{\n return item.fileSystemItemName;\n });\n }\n },\n function (result) {\n });\n }\n\n _selectPath(path, isFile = false) {\n let backslash = '/';\n let windowSlash = \"\\\\\";\n let _path = this.browseFilesScope.folder.currentRoot;\n let PathSend;\n\n if (isFile && this.selectedFile || this.selectedFile)\n this.browseFilesScope.folderList.pop();\n\n if (this.browseFilesScope.folderList.length > 0) {\n this.browseFilesScope.folderList.forEach((pathEntry, index) => {\n if (pathEntry != windowSlash && this.isWindows) {\n _path += pathEntry + windowSlash;\n }\n if (pathEntry != backslash && !this.isWindows) {\n _path += pathEntry + backslash;\n }\n });\n }\n\n if (this.browseFilesScope.folder.currentRoot == path) {\n _path = this.browseFilesScope.folder.currentRoot;\n this.browseFilesScope.folder.selectedFolder = this.browseFilesScope.folder.currentRoot;\n this.browseFilesScope.folderList = [];\n this.browseFilesScope.folderList.push(backslash);\n }\n else {\n if (!isFile) {\n this.browseFilesScope.folderList.push(path);\n this.browseFilesScope.folder.currentFolder = path;\n }\n _path += path;\n this.browseFilesScope.folder.selectedFolder = _path;\n this.browseFilesScope.folder.selectedFolder = this.browseFilesScope.folder.selectedFolder.replace('\\\\\\/\\\\','\\\\');\n this.browseFilesScope.baseDirectory = this.browseFilesScope.folder.selectedFolder;\n this.selectedFile = isFile;\n }\n\n return _path;\n }\n\n setFilePath(path) {\n if (this.browseFilesScope.canSelectFiles)\n this._selectPath(path, true);\n }\n\n save() {\n this.browserUpdateFolder({directory: this.browseFilesScope.folder.selectedFolder});\n this.closeModal();\n }\n\n closeModal() {\n this.modalInstance.close();\n }\n\n onKeyPress(e) {\n if (e.charCode == 13 && this.browseFilesScope.selectedItem)\n this.getDataList(this.browseFilesScope.selectedItem.fileSystemItemName);\n }\n\n onSelectionChange() {\n this.browseFilesScope.folder.selectedFolder = (this.browseFilesScope.baseDirectory || '') + (!this.isWindows ? (!this.browseFilesScope.baseDirectory || !this.browseFilesScope.baseDirectory.endsWith('/') ? '/' :'') : (this.browseFilesScope.baseDirectory ? (!this.browseFilesScope.baseDirectory.endsWith('\\\\')?'\\\\':'') : this.browseFilesScope.folder.currentRoot)) + this.browseFilesScope.folder.currentFolder;\n if (this.isWindows && this.browseFilesScope.folder.selectedFolder.toLowerCase().startsWith(this.browseFilesScope.folder.currentRoot.toLowerCase()+this.browseFilesScope.folder.currentRoot.toLowerCase()))\n this.browseFilesScope.folder.selectedFolder = this.browseFilesScope.folder.selectedFolder.toLowerCase().replace(this.browseFilesScope.folder.currentRoot.toLowerCase()+this.browseFilesScope.folder.currentRoot.toLowerCase(),this.browseFilesScope.folder.currentRoot);\n }\n\n onPathAutoCompleteSelect(selection) {\n this._gotoPath(selection);\n }\n}\n\nexport function jfBrowseFiles() {\n return {\n restrict: 'EA',\n scope: {\n browserUpdateFolder: '&',\n browserResource: '=',\n browserOptions: '=',\n startFolder: '='\n },\n controller: jfBrowseFilesController,\n controllerAs: 'jfBrowseFiles',\n templateUrl: 'directives/jf_browse_files/jf_browse_files.html',\n bindToController: true\n };\n}\n\n\n// WEBPACK FOOTER //\n// ./directives/jf_browse_files/jf_browse_files.js","/*\n *\n * Artifactory is a binaries repository manager.\n * Copyright (C) 2018 JFrog Ltd.\n *\n * Artifactory is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * Artifactory is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with Artifactory. If not, see .\n *\n */\nclass jfSwitchToggleController {\n constructor($element, $transclude, $timeout) {\n $transclude(function(clone) {\n $timeout(function() {\n $element.find('label').prepend(clone);\n }, 0, false);\n });\n }\n}\n\nexport function jfSwitchToggle() {\n return {\n restrict: 'E',\n transclude: true,\n scope: {\n texton: '@?',\n textoff: '@?'\n },\n replace: true,\n controller: jfSwitchToggleController,\n templateUrl: 'directives/jf_switch_toggle/jf_switch_toggle.html'\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./directives/jf_switch_toggle/jf_switch_toggle.js","/*\n *\n * Artifactory is a binaries repository manager.\n * Copyright (C) 2018 JFrog Ltd.\n *\n * Artifactory is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * Artifactory is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with Artifactory. If not, see .\n *\n */\nexport default function ($compile) {\n return {\n link: function ($scope, $element, attrs) {\n let newElement;\n let directiveName;\n newElement = $element.clone();\n directiveName = $scope.$eval(attrs.dynamicDirective);\n newElement.removeAttr('dynamic-directive');\n newElement.attr(directiveName, ''); // assign the directive to it\n newElement = $compile(newElement)($scope); // compile it\n $element.replaceWith(newElement); // replace the original element\n }\n }\n};\n\n\n// WEBPACK FOOTER //\n// ./directives/jf_dynamic_directive/jf_dynamic_directive.js","/*\n *\n * Artifactory is a binaries repository manager.\n * Copyright (C) 2018 JFrog Ltd.\n *\n * Artifactory is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * Artifactory is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with Artifactory. If not, see .\n *\n */\n/**\n * Created by idannaim on 8/6/15.\n */\nimport API from '../../constants/api.constants';\nimport TOOLTIP from '../../constants/artifact_tooltip.constant';\n\nclass jfMultiDeployController {\n\n\n constructor($scope, ArtifactoryUploaderFactory, ArtifactDeployDao, ArtifactoryState,\n JFrogNotifications, GoogleAnalytics) {\n\n this.$scope = $scope;\n this.artifactDeployDao = ArtifactDeployDao;\n this.artifactoryNotifications = JFrogNotifications;\n this.artifactoryState = ArtifactoryState;\n this.GoogleAnalytics = GoogleAnalytics;\n this.artifactoryUploaderFactory = ArtifactoryUploaderFactory;\n this.errorQueue = [];\n this.multiSuccessMessage = '';\n this.multiSuccessMessageCount = 0;\n this.TOOLTIP = TOOLTIP.artifacts.deploy;\n this.originalDeployPath = '';\n }\n\n $onInit() {\n this.comm.setController(this);\n this._initDeploy();\n }\n\n /**\n * create uploader instance,\n * set methods callback\n * set path and file type\n * @private\n */\n _initDeploy() {\n let UPLOAD_REST_URL = `${API.API_URL}/artifact/upload`;\n\n this.deployMultiUploader = this.artifactoryUploaderFactory.getUploaderInstance(this)\n .setUrl(UPLOAD_REST_URL)\n .setOnSuccessItem(this.onSuccessItem)\n .setOnAfterAddingAll(this.onAfterAddingAll)\n .setOnAfterAddingFile(this.onAfterAddingFile)\n .setOnErrorItem(this.onUploadError)\n .setOnCompleteAll(this.onCompleteAll)\n .setOnProgressAll(this.onProgressAll);\n\n this.deployMultiUploader.getUploader().headers = {'X-Requested-With': 'artUI'};\n\n this._setPathAndFileType(this.node.data.path);\n }\n\n /**\n * check if path includes file/archive if yes cut it from the path and set .\n * check if the current repo is local else clean path.\n * Reset garbage deployFile if exists and fields.\n * @param targetPath\n * @private\n */\n _setPathAndFileType(targetPath) {\n if (this.node.data.isInsideArchive()) {\n targetPath = \"\";\n }\n else {\n if (this.node.data.type == \"file\" || this.node.data.type == 'archive') {\n if (targetPath.indexOf('/') > -1) {\n targetPath = targetPath.substr(0, targetPath.lastIndexOf('/'))\n }\n else if (targetPath.indexOf('\\\\') > -1) {\n targetPath = targetPath.substr(0, targetPath.lastIndexOf('\\\\'))\n }\n else {\n targetPath = \"\";\n }\n }\n }\n if (this.firstInit) {\n if (localRepo) {\n this.deployFile = {\n repoDeploy: localRepo,\n targetPath: targetPath\n }\n } else {\n this.deployFile = {\n repoDeploy: this.node.data.type == 'local' ? this.node.this.reposList[0] : '',\n targetPath: targetPath\n }\n }\n } else {\n //Reset garbage deployFile if exists\n if (this.deployFile && this.deployFile.unitInfo && this.deployFile.unitInfo.mavenArtifact) {\n this.deployFile.unitInfo.mavenArtifact = false;\n }\n if (this.deployFile && this.deployFile.unitInfo && this.deployFile.unitInfo.debianArtifact) {\n this.deployFile.unitInfo.debianArtifact = false;\n }\n this.deployFile.unitInfo = {};\n this.deployFile.fileName = '';\n this.deployMultiUploader.clearQueue();\n this.deployFile.targetPath = targetPath;\n }\n this.uploadCompleted = false;\n this.firstInit = false;\n }\n\n onSuccessItem(fileDetails, response) {\n this.deployFile.unitInfo = response.unitInfo;\n this.deployFile.unitConfigFileContent = response.unitConfigFileContent;\n //MavenArtifact causes 'deploy as' checkbox to be lit -> change deployment path according to GAVC\n if (this.deployFile.unitInfo && this.deployFile.unitInfo.mavenArtifact) {\n this.originalDeployPath = this.deployFile.targetPath;\n }\n if (response.repoKey && response.artifactPath) {\n let msg = this.comm.createNotification(response);\n this.multiSuccessMessage += msg.body + '
';\n this.multiSuccessMessageCount++;\n }\n }\n\n /**\n * check if queue have files to upload\n */\n multiUploadItemRemoved() {\n if (!this.deployMultiUploader.getQueue() || !this.deployMultiUploader.getQueue().length) {\n this.uploadCompleted = false;\n }\n }\n\n /**\n * when upload item error push to queue for notifications\n * @param item\n * @param response\n */\n onUploadError(item, response) {\n\n this.errorQueue.push({item: item, response: response});\n\n }\n\n /**\n * upload complete check if 'error queue' if empty if not show all failed files\n * else show success notification\n */\n onCompleteAll() {\n let numberOfUploadedFiles = this.deployMultiUploader.getQueue().length;\n this.uploadCompleted = true;\n this.progress = false;\n let body = '
    ';\n this.artifactoryNotifications.clear();\n if (this.errorQueue.length) {\n this.errorQueue.forEach((error)=> {\n body += '
  • \"' + error.item.file.name + '\" ' + error.response.error + '
  • '\n })\n body += '
';\n this.artifactoryNotifications.createMessageWithHtml({type: 'error', body: body, timeout: 10000});\n this.deployMultiUploader.clearQueue();\n this.errorQueue = [];\n this.GoogleAnalytics.trackEvent('Artifacts' , 'Deploy succeed' , this.node.data.repoPkgType , this.errorQueue.length , this.node.data.repoType , 'multi' , numberOfUploadedFiles)\n }\n else {\n this.artifactoryNotifications.createMessageWithHtml({type: 'success', body: `Successfully deployed ${this.multiSuccessMessageCount} files`});\n this.GoogleAnalytics.trackEvent('Artifacts' , 'Deploy succeed' , this.node.data.repoPkgType , 0 , this.node.data.repoType , 'multi' , numberOfUploadedFiles)\n }\n if (this.onSuccess && typeof this.onSuccess === 'function') {\n this.onSuccess();\n }\n\n }\n\n /**\n * onAfterAddingAll check for only 20 files upload\n * @param fileItems\n */\n onAfterAddingAll(fileItems) {\n if (fileItems.length > 20) {\n this.artifactoryNotifications.create({error: \"You can only deploy up to 20 files at a time\"});\n this.deployMultiUploader.clearQueue();\n return;\n }\n //Enable the \"deploy\" button after all files were added.\n this.uploadCompleted = true;\n let uploadAll = true;\n\n fileItems.forEach((item)=> {\n if (!item.okToUploadFile) {\n\n uploadAll = false;\n return;\n }\n });\n }\n\n /**\n * check if missing fields to disable deploy button\n * @returns {boolean|*}\n */\n isReady() {\n let ok = true;\n if (this.deployFile.unitInfo && this.deployFile.unitInfo.debianArtifact) {\n ok = this.deployFile.unitInfo.distribution && this.deployFile.unitInfo.component && this.deployFile.unitInfo.architecture;\n }\n return ok && this.uploadCompleted && this.deployFile.repoDeploy;\n }\n\n onAfterAddingFile(fileItem) {\n if (fileItem.file.size < 0) {\n fileItem.okToUploadFile = false;\n this.deployMultiUploader.removeFileFromQueue(fileItem);\n }\n else if(this.isExceedingSizeLimit(fileItem)) {\n fileItem.okToUploadFile = false;\n this.cancelFileUploadExceedingLimit(fileItem);\n }\n else {\n // Save original for display\n fileItem.file.originalName = fileItem.file.name;\n // Encode filename to support UTF-8 strings (server does decode)\n fileItem.file.name = encodeURIComponent(fileItem.file.name);\n fileItem.okToUploadFile = true;\n }\n }\n\n /**\n * test if file exceeds the size limit\n * @param fileItem\n */\n isExceedingSizeLimit(fileItem){\n return this.fileSizeLimit > 0 &&\n fileItem.file.size > this.toBytes(this.fileSizeLimit);\n }\n /**\n * cancel an upload of a file that exceeds the size limit\n * @param fileItem\n */\n cancelFileUploadExceedingLimit(fileItem){\n let errorMsg = 'File size exceeds the limit of '+this.fileSizeLimit+' MB';\n this.artifactoryNotifications.create({error: errorMsg});\n\n this.deployMultiUploader.removeFileFromQueue(fileItem);\n }\n\n /**\n * convert file size from MB to Bytes\n * @param fileSizeInMB\n */\n toBytes(fileSizeInMB){\n return fileSizeInMB*1000000;\n }\n\n onProgressAll(progressPercent) {\n if (!this.progress) {\n this.progress = true;\n this.artifactoryNotifications.createMessageWithHtml({\n type: 'success',\n body: '
Deploy in progress... (0%)
' +\n '
',\n timeout: 60 * 60000 * 10\n });\n if (this.onSuccess && typeof this.onSuccess === 'function') {\n this.onSuccess();\n }\n }\n else {\n let percElem = $('#deploy-progress-percent');\n let lineElem = $('#deploy-progress-line');\n percElem.text(`Deploy in progress... (${progressPercent}%)`)\n lineElem.css('width',`${progressPercent}%`);\n }\n }\n\n /**\n * if exist char '&' need to be replace to '%26' before upload\n * @param name\n * @returns {*}\n * @private\n */\n _fixUrlPath(name) {\n name = name.replace(/&/g, '%26');\n var find = '&';\n var re = new RegExp(find, 'g');\n return name.replace(re, '%26');\n }\n\n /**\n * set url to deploy for each file and deploy when ready\n */\n deployArtifacts() {\n\n let DEPLOY_REST_URL = `${API.API_URL}/artifact/deploy/multi`;\n\n if ((!this.deployFile.targetPath.endsWith(\"/\"))) {\n this.deployFile.targetPath += \"/\";\n }\n\n this.deployMultiUploader.getQueue().forEach((item)=> {\n item.url = DEPLOY_REST_URL + '?repoKey=' + this.deployFile.repoDeploy.repoKey + '&path=' +\n (this.deployFile.targetPath || '') + this._fixUrlPath(item.file.name);\n });\n this.deployMultiUploader.getUploader().uploadAll();\n }\n\n\n}\nexport function jfMultiDeploy() {\n return {\n restrict: 'EA',\n scope: {\n node: '=',\n deploy: '&',\n comm: '=',\n deployFile: '=',\n onSuccess: '&',\n fileSizeLimit: '='\n },\n controller: jfMultiDeployController,\n controllerAs: 'jfMultiDeploy',\n bindToController: true,\n templateUrl: 'directives/jf_deploy/jf_multi_deploy.html'\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./directives/jf_deploy/jf_multi_deploy.js","/*\n *\n * Artifactory is a binaries repository manager.\n * Copyright (C) 2018 JFrog Ltd.\n *\n * Artifactory is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * Artifactory is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with Artifactory. If not, see .\n *\n */\nexport default {\n admin: {\n advanced: {\n maintenance: {\n garbageCronExpression: `The Cron expression that determines the frequency of garbage collection.\nFor detailed information, see The CronTrigger Tutorial.`,\n cleanupCronExpression: `The Cron expression that determines the frequency of artifacts cleanup.\nFor detailed information, see The CronTrigger Tutorial.`,\n runNow: `Remove unreferenced binaries from the underlying datastore.\nArtifactory periodically runs garbage collection to remove unused (deleted) binaries from the datastore.\nYou may also run datastore cleanup manually using this button.`,\n enableQuotaControl: `Enable control over the amount of storage space used for binaries to avoid running out of disk space.`,\n storageSpaceLimit: `The maximum percentage of disk capacity that the partition containing the binaries folder is allowed to use.\nOnce this limit has been reached, deployment is rejected with a 413 error (request entity\ntoo large) and an error message is displayed in the UI (visible to admin users only).\nWhen using filesystem storage, the partition checked is the one containing the\n'$ARTIFACTORY_HOME/data/filestore' directory.\nWhen using database BLOB storage, the partition checked is the one containing the\n'$ARTIFACTORY_HOME/data/cache' directory.`,\n storageSpaceWarning: `The percentage of disk space usage, by the partition containing the binaries folder, that will trigger a warning.\nOnce this limit is reached a warning is logged and a warning message is displayed in the UI\n(visible to admin users only).`,\n cronExpressionCleanup: `The Cron expression that determines the frequency at which unused artifacts are cleaned up. For detailed information, see The CronTrigger Tutorial.`,\n runUnusedCachedArtifactsCleanup: `Remove unused artifacts from all remote repository caches\naccording to the 'Keep Unused Artifacts(Hours)' setting for each remote repository.\nArtifactory periodically cleans up unused artifacts from all remote repository caches.\nYou can also run the cleanup manually using this button.`,\n cleanVirtualRepositoriesNow: `Clean up internal data used by virtual repositories.\nCached POM files older than the number of hours defined in the 'virtualCacheCleanup.maxAgeHours' system property will be deleted.\nThe default is 168 hours (one week). Artifacts accessed through virtual repositories will not be affected by this.`,\n compressTheInternetDatabase: `When using the internal Derby database, use this to clean up fragmented space that may remain\nafter delete operations.\nNOTE! It is recommended to run this when Artifactory activity is low because compression may not run its full course when\nstorage is busy (although this has no detrimental effect on the storage).`,\n pruneUnreferencedData: `Running Artifactory with the wrong file system permissions on storage folders, or running out of storage space,\ncan result in unreferenced binary files and empty folders present in the filestore or cache folders. This action\nremoves unreferenced files and empty folders.`\n\n },\n storageSummary: {\n itemsCount: `The total number of items (both files and folders) in your system.`,\n optimization: `The ratio of Binaries Size to Artifacts Size.\nThis reflects how much the usage of storage in your system has been reduced by Artifactory using checksum storage.`,\n artifactsCount: `The total number of artifacts pointing to the physical binaries stored on your system.`,\n storageDirectory: `If Storage Type is \"filesystem\" then this is the path to the physical file store.\nIf Storage Type is \"fullDb\" then this is the path to the directory that caches binaries when they are extracted from the database.\nIf Storage Type is \"S3\" then this is the path to the directory that caches binaries from S3.\n\nIf Storage Type is \"Advanced Configuration\" then these are the paths of the corresponding binary providers, supplied by the advanced configuration.`,\n centralConfigurationDescriptor: ``,\n securityConfigurationDescriptor: ``,\n fileSystemStorage: `The storage percentage represents the used/available space on the mount point where the Artifactory filestore data is stored.`\n }\n },\n configuration: {\n general: {\n serverName: `A name that uniquely identifies this artifactory server instance across the network.`,\n customURLBase: `A hard-coded URL prefix used to calculate relative URLs.`,\n fileUploadMaxSize: `The maximum size (in MB) allowed for artifacts uploaded through the web UI.\nSet to '0' for unlimited size.`,\n bintrayMaxFilesUpload: `The maximum number of files that can be uploaded to Bintray in a single operation.`,\n dateFormat: `The format used to display dates.\nFor a detailed explanation see: Joda DateTimeFormat`,\n globalOfflineMode: `If set, Artifactory does not try to access remote resources to fetch artifacts.\nOnly cached and local artifacts are served`,\n showAvailableAddonsInfo: `When set, Artifactory displays information about available Add-ons. This overrides any user-specific setting to hide information.`,\n folderDownloadMaxFiles: `The maximum amount of artifacts that can be downloaded under one folder.`,\n folderDownloadMaxSize: `The maximum size (in MB) of a folder that is allowed to be downloaded.`,\n folderDownloadMaxParallel: `The maximum amount of folder download requests Artifactory will allow to run together.`,\n retentionPeriodDays: `The maximum number of days to keep artifacts in the trashcan.`,\n allowPermDeletes: `When deleting, users will be given an option to bypass the trash can and delete artifacts permanently.`,\n blockReplications: `When set, replication will not be triggered regardless of configuration.`,\n blockPushReplications: ` When set, push replication will not be triggered regardless of configuration.`,\n blockPullReplications: `When set, pull replication will not be triggered regardless of configuration.`,\n\t releaseBundlesCleanup: `The number of hours to wait before a release bundle is deemed “incomplete” and eligible for cleanup from the temporary folder. A value of 0 means automatic cleanup is disabled. \nNote that only release bundles that were partially distributed are eligible for cleanup.`,\n signedUrlMaxValidForSecs: `The maximum number of seconds a signed URL can be valid.`,\n downloadRedirectFileMinimumSize: `The minimal size of an artifact for which direct download from the cloud is enabled.\nRequests for artifacts smaller than this size are served through Artifactory as usual.`\n },\n licenseForm: {\n licenseKey: `A unique short name identifying the license.`,\n longName: `A descriptive name for the license.`,\n URLs: `A URL (or URLs separated by semicolon) pointing to the license's homepage.`,\n regExp: `A regular expression used to match licenses of this type against license details in artifact module information.\nFor regular expression syntax reference please refer to the Pattern javadoc.`\n\n },\n propertySetsForm: {},\n proxyForm: {\n systemDefault: `Make this proxy the default for new remote repositories and for internal HTTP requests.`,\n redirectingProxyTargetHosts: `An optional list of host names to which the proxy may redirect requests.\nThe credentials of the proxy are reused by requests redirected to any of these hosts.`\n\n },\n reverseProxy: {\n serverName: `The server name that will be used to access Artifactory.\nShould be correlated with the base URL value.`,\n publicAppContext: `The path which will be publicly used to access Artifactory. If Artifactory is accessible on the root of the server leave empty.`,\n artifactoryServerName: `The internal server name for Artifactory which will be used by the web server to access the Artifactory machine.\nIf the web server is installed on the same machine as Artifactory you can use localhost, otherwise use the IP or hostname.`,\n artifactoryAppContext: `The path which will be used to access the Artifactory application. If Artifactory is accessible on the root of the server leave empty.`,\n sslCertificate: `The full path of the certificate file on the web server.`,\n sslKey: `The full path of the key file on the web server.`\n },\n mail: {\n enable: `The activity state of the configuration.`,\n from: `The \"from\" address header to use in all outgoing messages (optional). `,\n subjectPrefix: `A prefix to use for the subject of all outgoing messages.`,\n artifactoryURL: `The Artifactory URL to to link to in all outgoing messages (optional).`\n },\n bintray: {\n bintrayUsername: `The default Bintray user name that will be used by Artifactory in cases where an Artifactory\nuser doesn't have Bintray credentials defined.`,\n bintrayAPIKey: `The default Bintray API Key that will be used by Artifactory in cases where an Artifactory\nuser doesn't have Bintray credentials defined.`\n },\n registerPro: {\n licenseKey: `The license key is required for using Artifactory Add-ons.`\n },\n xray: {\n allowDownloadsBlocked: `Allows download of all artifacts, even those that
have been blocked for download by Xray.`,\n allowWhenXrayUnavilable: `Overrides Artifactory’s default behavior of blocking artifact
download when Xray becomes unavailable.`,\n bypassDefaultProxy: `Bypass the default system proxy configuration.`,\n overrideDefaultProxy: `Choose a Proxy configuration to override the default system proxy.`\n }\n },\n import_export: {\n repositories: {\n createM2CompatibleExport: `Include Maven 2 repository metadata and checksum files as part of the export`,\n outputVerboseLog: `Lowers the log level to debug and redirects the output from the standard log to the import-export log.\nYou can monitor the log in the 'System Logs' page.`,\n targetLocalRepository: `Specifies the repository in which to place imported content.\nWhen importing to a single repository, the file structure within the folder you import from should be similar to:\nSELECTED_DIR\n|\n|--LIB_DIR_1\nBut when importing to all repositories, the file structure within the folder you import from should be similar to:\nSELECTED_DIR\n|\n|--REPOSITORY_NAME_DIR_1\n| |\n| |--LIB_DIR_1\n\nWhen importing to all repositories, make sure the names of the directories representing\nthe repositories in the archive, match the names of the target repositories in Artifactory.`,\n repositoryZipFile: `The archive file from which to import content.\nWhen importing to a single repository, the file structure within the archive should be similar to:\nARCHIVE.ZIP\n|\n|--LIB_DIR_1\nWhen importing to all repositories, the file structure within the archive you import from should be similar to:\nARCHIVE.ZIP\n|\n|--REPOSITORY_NAME_DIR_1\n| |\n| |--LIB_DIR_1\nWhen importing to all repositories, make sure the names of the directories representing\nthe repositories in the archive, match the names of the target repositories in Artifactory.\nNOTE! Uploading the archive, does not import its content.\nTo import, select the Target Local Repository, upload the archive and click Import.`\n },\n system: {\n excludeBuilds: `Exclude all builds from the export.`,\n createM2CompatibleExport: `Include Maven 2 repository metadata and checksum files as part of the export.`,\n outputVerboseLog: `Lowers the log level to debug and redirects the output from the standard log to the import-export log.\nYou can monitor the log in the 'System Logs' page.`\n\n },\n stash: {\n createM2CompatibleExport: `Include Maven 2 repository metadata and checksum files as part of the export.`,\n outputVerboseLog: `Lowers the log level to debug and redirects the output from the standard log to the import-export log.\nYou can monitor the log in the 'System Logs' page.`,\n createArchive: `Export the results as a zip archive.`\n }\n },\n repositories: {\n customURLBase: `A hard-coded URL prefix used to calculate relative URLs.`,\n localForm: {\n publicDescription: `Textual description of the repository. This description is displayed when the repository is selected in the Tree Browser.`,\n internalDescription: `Additional notes that are only displayed in this form.`,\n includesPattern: `List of artifact patterns to include when evaluating artifact requests in the form of x/y/**/z/*. When used, only artifacts matching one of the include patterns are served. By default, all artifacts are included (**/*).`,\n excludedPattern: `List of artifact patterns to exclude when evaluating artifact requests, in the form of x/y/**/z/*. By default no artifacts are excluded.`,\n repositoryLayout: `The layout that the repository should use to store and identify modules.`,\n checksumPolicy: `Checksum policy determines how Artifactory behaves when a client checksum for a deployed resource is missing or conflicts with the locally calculated checksum (bad checksum).\nFor more details, please refer to Checksum Policy.`,\n mavenSnapshotVersionBehavior: `Specifies the naming convention for Maven SNAPSHOT versions.\nThe options are -\nUnique: Version number is based on a time-stamp (default)\nNon-unique: Version number uses a self-overriding naming pattern of artifactId-version-SNAPSHOT.type\nDeployer: Respects the settings in the Maven client that is deploying the artifact.`,\n maxUniqueSnapshots: `The maximum number of unique snapshots of a single artifact to store.\nOnce the number of snapshots exceeds this setting, older versions are removed.\nA value of 0 (default) indicates there is no limit, and unique snapshots are not cleaned up.`,\n maxUniqueTags: `The maximum number of unique tags of a single Docker image to store in this repository.\nOnce the number tags for an image exceeds this setting, older tags are removed. A value of 0 (default) indicates there is no limit.`,\n blackedOut: `When set, the repository does not participate in artifact resolution and new artifacts cannot be deployed.`,\n yumMetadataFolderDepth: `The depth, relative to the repository's root folder, where RPM metadata is created.\nThis is useful when your repository contains multiple RPM repositories under parallel hierarchies.\nFor example, if your RPMs are stored under 'fedora/linux/$releasever/$basearch', specify a depth of 4.`,\n yumGroupFileNames: `A list of XML file names containing RPM group component definitions.\nArtifactory includes the group definitions as part of the calculated RPM metadata, as well as automatically generating a gzipped version of the group files, if required.`,\n allowContentBrowsing: `When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks).`,\n selectPropertySets: `Specifies the Property Sets to be used to construct the list of properties displayed when assigning properties to artifacts in this repository.\nThis is a convenience; not a restrictive measure. You can still assign any property to artifacts from the Properties tab.`,\n cronExpressionReplication: `The Cron expression that determines when the next replication will be triggered. For detailed information, see The CronTrigger Tutorial.`,\n nextReplicationTime: `The next replication time based on the Cron expression.`,\n enableEventReplication: `When set, each event will trigger replication of the artifacts changed in the event (e.g. add, delete, change property).`,\n trivialLayout: `When set, the repository will use the deprecated trivial layout.`,\n forceNugetAuth:'Force basic authentication credentials in order to use this repository.',\n pathPrefix: `Limit replication to artifacts matching this sub-path under the source repository.`,\n syncDeletedArtifacts: `When set, items that were deleted locally should also be deleted remotely (also applies to properties metadata).`,\n syncArtifactProperties: `When set, properties of replicated artifacts and folders will also be replicated.`,\n syncArtifactStatistics: `When set, artifact download statistics will also be replicated. Set to avoid inadvertent cleanup at the target instance when setting up replication for disaster recovery.`,\n dockerBlockPushingSchema1: `When set, Artifactory will block the pushing of Docker images with manifest v2 schema 1 to this repository.`\n },\n remoteForm: {\n publicDescription: `Textual description of the repository.\nThis description is displayed when the repository is selected in the Tree Browser.`,\n internalDescription: `Additional notes that are only displayed in this form. `,\n includesPattern: `List of artifact patterns to include when evaluating artifact requests in the form of x/y/**/z/*. When used, only artifacts matching one of the include patterns are served.\nBy default, all artifacts are included (**/*).`,\n nuGetDownloadContextPath: `The context path prefix through which NuGet downloads are served.\nFor example, the NuGet Gallery download URL is 'https://nuget.org/api/v2/package', so the repository\nURL should be configured as 'https://nuget.org' and the download context path should be configured as 'api/v2/package'.`,\n v3FeedUrl: `The URL to the NuGet v3 feed.\nFor example the feed URL for the official nuget.org repository is (also the default value): \n\"https://api.nuget.org/v3/index.json\"`,\n eagerlyFetchJars: `When marked, the repository attempts to eagerly fetch the jar in the background each time a POM is requested.`,\n eagerlyFetchSources: `When marked, the repository attempts to eagerly fetch the source jar in the background each time a jar is requested.`,\n excludedPattern: `List of artifact patterns to exclude when evaluating artifact requests, in the form of x/y/**/z/*.\nBy default no artifacts are excluded.`,\n dockerEnableTokenAuthentication: `Enable token (Bearer) based authentication.`,\n checksumPolicy: `Checksum policy determines how Artifactory behaves when a client checksum for a deployed resource is missing or conflicts with the locally calculated checksum (bad checksum).\nFor more details, please refer to Checksum Policy.`,\n maxUniqueSnapshots: `The maximum number of unique snapshots of a single artifact to store.\nOnce the number of snapshots exceeds this setting, older versions are removed.\nA value of 0 (default) indicates there is no limit, and unique snapshots are not cleaned up.`,\n listRemoteFolderItems: `Lists the items of remote folders in simple and list browsing. Required for dynamic resolution that depends on remote folder content information, such as remote Ivy version lookups. The remote content is cached according to the value of the\n'Retrieval Cache Period'.`,\n blackedOut: `When set, the repository or its local cache do not participate in artifact resolution.`,\n globalOfflineMode: `If set, Artifactory does not try to access remote resources to fetch artifacts. Only cached and local artifacts are served.`,\n offline: `If set, Artifactory does not try to fetch remote artifacts. Only locally-cached artifacts are retrieved.`,\n shareConfiguration: `If set, the configuration details of this remote repository can be publicly shared with remote clients such as other Artifactory servers.`,\n repositoryLayout: `The layout that the repository should use to store and identify modules.`,\n remoteLayoutMapping: `The layout that best matches that of the remote repository.\nPath-mapping takes place if the remote layout is different from the local layout.\nIn this case, remote module artifacts and descriptors are stored according to the local repository layout (e.g., Maven 1->Maven 2, or Maven 2->Ivy).`,\n localAddress: `The local address to be used when creating connections.\nUseful for specifying the interface to use on systems with multiple network interfaces.`,\n username: `Username for HTTP authentication.`,\n password: `Password for HTTP authentication.`,\n socketTimeout: `Network timeout (in ms) to use when establishing a connection and for unanswered requests.\nTiming out on a network operation is considered a retrieval failure.`,\n lenientHostAuthentication: `Allow credentials of this repository to be used on requests redirected to any other host.`,\n enableCookieManagement: `Enables cookie management if the remote repository uses cookies to manage client state.`,\n keepUnusedArtifacts: `The number of hours to wait before an artifact is deemed \"unused\" and eligible for cleanup from the repository.\nA value of 0 means automatic cleanup of cached artifacts is disabled.`,\n assumedOfflineLimit: `The number of seconds the repository stays in assumed offline state after a connection error. At the end of this time, an online check is attempted in order to reset the offline status.\nA value of 0 means the repository is never assumed offline.`,\n retrievalCachePeriod: `This value refers to the number of seconds to cache metadata files before checking for newer versions on remote server. A value of 0 indicates no caching.`,\n missedRetrievalCachePeriod: `The number of seconds to cache artifact retrieval misses (artifact not found). A value of 0 indicates no caching.`,\n queryParams: `Custom HTTP query parameters that will be automatically included in all remote resource requests.\nFor example: param1=val1&param2=val2&param3=val3`,\n allowContentBrowsing: `When set, you may view content such as HTML or Javadoc files directly from Artifactory.\nThis may not be safe and therefore requires strict content moderation to prevent malicious users from uploading content that may compromise security (e.g., cross-site scripting attacks).`,\n storeArtifactsLocally: `When set, the repository should store cached artifacts locally. When not set, artifacts are not stored locally, and direct repository-to-client streaming is used. This can be useful for multi-server setups over a high-speed LAN, with one Artifactory caching certain data on central storage, and streaming it directly to satellite pass-though Artifactory servers.`,\n synchronizeArtifactoryProperties: `When set, remote artifacts are fetched along with their properties.`,\n selectPropertySets: `Specifies the Property Sets to be used to construct the list of properties displayed when assigning properties to artifacts in this repository.\nThis is a convenience; not a restrictive measure. You can still assign any property to artifacts from the Properties tab.`,\n cronExpression: `The Cron expression that determines artifact cleanup frequency. For detailed information, see The CronTrigger Tutorial.`,\n cronExpressionReplication: `The Cron expression that determines when the next replication will be triggered. For detailed information, see The CronTrigger Tutorial.`,\n syncDeletes: `Delete artifacts and folders that no longer exist in the source repository.`,\n syncProperties: `When set, artifact download statistics will also be replicated. Set to avoid inadvertent cleanup at the target instance when setting up replication for disaster recovery.`,\n pathPrefix: `Limit replication to artifacts matching this sub-path under the source repository.`,\n bowerRegistryURL: `The remote Bower registry URL to communicate with.\nUsually the default value (https://bower.herokuapp.com) will be correct unless the remote resource is an Artifactory instance. In this case the value should match the remote repository URL.`,\n nugetFeedContextPath: `The context path prefix through which the NuGet feeds are served.\nFor example, the NuGet Gallery feed URL is 'https://nuget.org/api/v2', so the repository URL should be configured as 'https://nuget.org' and the feed context path should be configured as 'api/v2'.`,\n nugetDownloadContextPath: `The context path prefix through which NuGet downloads are served.\nFor example, the NuGet Gallery download URL is 'https://nuget.org/api/v2/package', so the repository\nURL should be configured as 'https://nuget.org' and the download context path should be configured as 'api/v2/package'.`,\n smartSyncStatistics: `If set, download statistics for the artifact at the remote Artifactory instance will be updated each time a cached item is downloaded from your repository.`,\n smartSyncProperties: `If set, properties for artifacts that have been cached in this repository will be updated if they are modified in the artifact hosted at the remote Artifactory instance.`,\n smartListRemoteFolderItems: `If set, Artifactory lets you navigate the contents of the repository at the remote Artifactory instance, for all package types, even if the artifacts have not been cached in this repository.`,\n originAbsenceDetection: `If set, Artifactory will check that cached artifacts' sources are available in the origin repository.`,\n propagateQueryParams: `If set, the query params passed with the request to Artifactory, will be passed on to the remote repo.`,\n rejectInvalidJars: `Reject the caching of jar files that are found to be invalid.\nFor example, pseudo jars retrieved behind a \"captive portal\".`,\n enableEventReplication: `When set, in addition to running replication based on its Cron expression, each event on the remote repository will trigger replication of the artifacts changed in the event (e.g. add, delete, change property).\nTo set event replication, the remote replication source must be an Artifactory repository. The Artifactory version must be 5.5 or above.`,\n enableEventReplicationDisabledNoEnterprise: `When set, in addition to running replication based on its Cron expression, each event on the remote repository will trigger replication of the artifacts changed in the event (e.g. add, delete, change property).\nTo set event replication, you need an Enterprise license.`,\n blockMismatchingMimeTypes: `If set, artifacts will fail to download if a mismatch is detected between requested and received mimetype, according to the list specified in the system properties file under blockedMismatchingMimeTypes. You can override by adding mimetypes to the override list below.`,\n bypassHeadRequests: `Before caching an artifact, Artifactory first sends a HEAD request to the remote resource. In some remote resources, HEAD requests are disallowed and therefore rejected, even though downloading the artifact is allowed. When checked, Artifactory will bypass the HEAD request and cache the artifact directly using a GET request.`,\n foreignLayersCachingPatterns: `Optional include patterns to match external URLs. Ant-style path expressions are supported (*, **, ?).\nFor example, specifying **/github.com/** will only allow downloading foreign layers from github.com host.`,\n pypiRepositorySuffix: `Usually should be left as a default for 'simple', unless the remote is a PyPI server that has custom registry suffix, like +simple in DevPI`,\n dockerBlockPushingSchema1: `When set, Artifactory will block the pulling of Docker images with manifest v2 schema 1 from the remote repository (i.e. the upstream). It will be possible to pull images with manifest v2 schema 1 that exist in the cache.`\n },\n virtualForm: {\n publicDescription: `Textual description of the repository.\nThis description is displayed when the repository is selected in the Tree Browser.`,\n internalDescription: `Additional notes that are only displayed in this form. `,\n cleanupRepositoryReferencesinPOM: `(1) Discard Active References - Removes repository elements that are declared directly under project or under a profile in the same POM that is activeByDefault.\n(2) Discard Any References - Removes all repository elements regardless of whether they are included in an active profile or not.\n(3) Nothing - Does not remove any repository elements declared in the POM.`,\n pathSuffix: `An optional sub-path inside the local repository where P2 metadata files reside.\nWhen left empty, P2 metadata files (content, artifacts, compositeContent, etc.) are assumed to reside directly under the repository's root.\nIf you have a Tycho repository deployed as a single archive, specify the archive's root path. For example: 'eclipse-repository.zip!'. `,\n includesPattern: `List of artifact patterns to include when evaluating artifact requests in the form of x/y/**/z/*. When used, only artifacts matching one of the include patterns are served.\nBy default, all artifacts are included (**/*).`,\n excludedPattern: `List of artifact patterns to exclude when evaluating artifact requests, in the form of x/y/**/z/*.\nBy default no artifacts are excluded.`,\n resolvedRepositories: `The resolved list of repositories.\nRepositories starting with an exclamation mark ('!') indicate that not all tokens can be mapped between the layout of this virtual repository and the marked repository.\nPath translations may not work as expected.`,\n artifactoryRequestCanRetrieveRemoteArtifacts: `Determines whether artifact requests coming from other instance of Artifactory can be fulfilled by accessing this virtual repository's remote repositories, or by only accessing its caches (default).`,\n resolveDockerTagsByTimestamp: `When enabled, in cases where the same Docker tag exists in two or more of the aggregated repositories, Artifactory will return the tag that has the latest timestamp.`,\n externalDependenciesPatterns: `Optional include patterns to match external dependencies. Ant-style path expressions are supported (*, **, ?).\nFor example, specifying **/github.com/** will only allow external dependencies from github.com host.`,\n externalDependenciesPatternsGo: `A whitelist of Ant-style path patterns that determine which remote VCS roots Artifactory will follow to download remote modules from, when presented with 'go-import' meta tags in the remote repository response. By default, this is set to '**', which means that remote modules may be downloaded from any external VCS source.`,\n enableGoImportMetaTag: `When checked (default), Artifactory will automatically follow remote VCS roots in 'go-import' meta tags to download remote modules.`,\n cleanupRepositoryReferencesInPOMs: `(1) Discard Active References - Removes repository elements that are declared directly under a project or a profile in the same POM that is activeByDefault.\n(2) Discard Any References - Removes all repository elements regardless of whether they are included in an active profile or not.\n(3) Nothing - Does not remove any repository elements declared in the POM.`,\n virtualRetrievalCachePeriod: `This value refers to the number of seconds to cache metadata files before checking for newer versions on aggregated repositories. A value of 0 indicates no caching.`,\n virtualDebianDefaultArchitectures: `Specifies the architectures which will be indexed for the included remote repositories, For example: i386, arm64.`,\n keyPair: `A named key-pair that is used to sign artifacts automatically.`,\n forceMavenAuth:'User authentication is required when accessing the repository. An anonymous request will display an HTTP 401 error. This is also enforced when aggregated repositories support anonymous requests.'\n\n },\n distributionForm: {\n includesPattern: 'Properties on distributed artifacts with key that matches the list below will be added as a version attributes in Bintray.',\n repositoryVisibility: 'Creating private Bintray repositories is available for premium Bintray accounts.',\n distributeProduct: 'When set, the ${productName} token will be replaced in the distribution rules with the product name configured below. Also, Artifactory will create a Bintray product and link the deployed packages to the product.'\n },\n layoutsForm: {\n artifactPathPattern: `Please refer to: Path Patterns in the Artifactory Wiki documentation.`,\n distinctiveDescriptorPathPattern: `Please refer to: Descriptor Path Patterns in the Artifactory Wiki documentation.`,\n folderIntegrationRevisionRegExp: `A regular expression matching the integration revision string appearing in a folder name\nas part of the artifact's path. For example, 'SNAPSHOT', in Maven.\nNote! Take care not to introduce any regexp capturing groups within this expression.\nIf not applicable use '.*'.`,\n fileIntegrationRevisionRegExp: `A regular expression matching the integration revision string appearing in a file name\nas part of the artifact's path. For example, 'SNAPSHOT|(?:(?:[0-9]{8}.[0-9]{6})-(?:[0-9]+))',\nin Maven.\nNote! Take care not to introduce any regexp capturing groups within this expression.\nIf not applicable use '.*'.`\n },\n reverseProxy: {\n registryPort: `This port will be binded to the Docker registry.`\n },\n rulesPopup:{\n repositoryFilterTooltip:'Repository Filter -(Optional) Rule will only apply to repositories matching the regular expression.' +\n 'You can reuse the capture values in anyone of the Bintray output fields. Click here to read more about this field.',\n pathFilterToolip: 'Path Filter - (Optional) Rule will only apply to artifacts with path matching the regular expression' +\n 'You can reuse the capture values in anyone of the Bintray output fields. Click here to read more about this field.',\n },\n downloadRedirectConfig: `When set, download requests to this repository will redirect the client to download the artifact directly from the cloud storage provider. Available in Enterprise+ and Edge licenses only.`\n },\n security: {\n general: {\n hideExistenceOfUnauthorizedResources: `When set, Artifactory hides the existence of unauthorized resources by sending a 404\nresponse (not found) to requests for resources that are not accessible by the user. Otherwise,\nthe response implies that the resource exists, but is protected, by requesting authentication\nfor anonymous requests (401), or by denying an authenticated request for unauthorized users.`,\n passwordEncryptionPolicy: `Determines the password requirements from users identified to Artifactory from a remote client such as Maven.\nThe options are:\n(1) Supported (default): Users can authenticate using secure encrypted passwords or clear-text passwords.\n(2) Required: Users must authenticate using secure encrypted passwords. Clear-text authentication fails.\n(3) Unsupported: Only clear-text passwords can be used for authentication.`,\n buildGlobalBasicReadAllowed: `When checked, all users can view the published modules for all builds in the system regardless of any specific permissions applied to a particular build.`,\n encrypt: `Artifactory will generate a Master Encryption Key and encrypt all passwords in your configuration.`,\n decrypt: `Artifactory will decrypt all passwords in your configuration.`,\n passwordMaxAge: `The time interval in which users will be obligated to change their password`,\n notifyByMail: `Users will receive an email notification X days before password will expire.\nMail server must be enabled and configured correctly.`\n },\n usersForm: {\n disableInternalPassword: `When set, user's password is cleared which means that only external authentication is allowed (for example via an LDAP server).`\n },\n permissionsForm: {\n repoPatterns: `Simple comma separated wildcard patterns for repository artifact paths (with no leading slash).\nAnt-style path expressions are supported (*, **, ?).\nFor example: \"org/apache/**\"`,\n buildPatterns: {\n includePatterns: `Use Ant-style wildcard patterns to specify build names (i.e. artifact paths) in the build info repository (without a leading slash) that will be included in this permission target.\nAnt-style path expressions are supported (*, **, ?).\nFor example, an \"apache/**\" pattern will include the \"apache\" build info in the permission.`,\n excludePatterns: `Use Ant-style wildcard patterns to specify build names (i.e. artifact paths) in the build info repository (without a leading slash) that will be excluded from this permission target.\nAnt-style path expressions are supported (*, **, ?).\nFor example, an \"apache/**\" pattern will exclude the \"apache\" build info from the permission.`\n },\n adminIcon: {\n user: `Users with admin privileges cannot be added to a Permission Target`,\n group: `Groups with admin privileges cannot be added to a Permission Target`,\n },\n\n repositoriesPermissions: `Read - Allows reading and downloading of artifacts\nAnnotate - Allows annotating artifacts and folders with metadata and properties\nUpload / Cache - Allows uploading artifacts to local repositories and caching artifacts from remote repositories\nDelete / Overwrite - Allows deletion or overwriting of artifacts\nManage - Allows changing repository permission settings for other users on this permission target`,\n buildsPermissions: `Read - Allows reading and downloading of build info artifacts and viewing the corresponding build in the Builds page\nAnnotate - Allows annotating build info artifacts and folders with metadata and properties\nUpload - Allows uploading and promoting build info artifacts\nDelete - Allows deletion of build info artifacts\nManage - Allows changing build info permission settings for other users on this permission target\n`,\n },\n LDAPSettingsForm: {\n LDAPURL: `Location of the LDAP server in the following format:\nldap://myserver:myport/dc=sampledomain,dc=com`,\n allowUserToAccessProfile: `Auto created users will have access to their profile page and will be able to perform actions such as generating an API key.`,\n userDNPattern: `A DN pattern that can be used to log users directly in to LDAP.\nThis pattern is used to create a DN string for 'direct' user authentication where the pattern is relative to the base DN in the LDAP URL.\nThe pattern argument {0} is replaced with the username. This only works if anonymous binding is allowed and a direct user DN can\nbe used, which is not the default case for Active Directory (use User DN search filter instead).\nExample: uid={0},ou=People`,\n autoCreateArtifactoryUsers: `When set, users are automatically created when using LDAP. Otherwise, users are transient\nand associated with auto-join groups defined in Artifactory.`,\n emailAttribute: `An attribute that can be used to map a user's email address to a user created\nautomatically in Artifactory.`,\n searchFilter: `A filter expression used to search for the user DN used in LDAP authentication.\nThis is an LDAP search filter (as defined in 'RFC 2254') with optional arguments.\nIn this case, the username is the only argument, and is denoted by '{0}'.\nPossible examples are:\n(uid={0}) - This searches for a username match on the attribute.\nAuthentication to LDAP is performed from the DN found if successful.`,\n searchBase: `(Optional) A context name to search in relative to the base DN of the LDAP URL. For example, 'ou=users'\nWith the LDAP Group Add-on enabled, it is possible to enter multiple search base entries\nseparated by a pipe ('|') character.`,\n manageDN: `The full DN of the user that binds to the LDAP server to perform user searches.\nOnly used with \"search\" authentication.\n`,\n managerPassword: `The password of the user that binds to the LDAP server to perform the search.\nOnly used with \"search\" authentication.`,\n subTreeSearch: `When set, enables deep search through the sub tree of the LDAP URL + search base.`\n },\n LDAPGroupsForm: {\n settingsName: `LDAP group key.`,\n LDAPSetting: `Select the LDAP setting you want to use for group retrieval`,\n static: `Groups have a multi-value member attribute containing user DNs or User IDs.`,\n dynamic: `Users have a mutli-value member attribute containing DNs or names of imported groups.\nDefault group association strategy for Active Directory.`,\n hierarchy: `User DN contains one or more hierarchical name attributes of imported groups.\nFor example: cn=joe,ou=sales,ou=europe,dc=acme,dc=com implies Joe's membership in the 'sales' and 'europe' groups.`,\n groupMemberAttribute: `A multi-value attribute on the group entry containing user DNs or IDs of the group members (e.g., uniqueMember,member).`,\n groupNameAttribute: `Attribute on the group entry denoting the group name. Used when importing groups.`,\n descriptionAttribute: `An attribute on the group entry which denoting the group description. Used when importing groups.`,\n filter: `The LDAP filter used to search for group entries. Used when importing groups.`,\n searchBase: `A search base for group entry DNs, relative to the DN on the LDAP server's URL (and not relative to the LDAP Setting's \"Search Base\"). Used when importing groups.`\n },\n crowd_integration: {\n sessionValidationInterval: `The time window (min) during which the session does not need to be validated.`,\n useJIRAUserServer: `Authenticate using credentials instead of the default session, token-based authentication.\nThis is required when using the JIRA User Server.`,\n autoCreateArtifactoryUsers: `When set, authenticated users are automatically created in Artifactory.\nWhen not set, for every request from a Crowd user, the user is temporarily associated with default groups (if such groups are defined),\nand the permissions for these groups apply. Without automatic user creation, you must manually create the user in Artifactory to manage\nuser permissions not attached to their default groups.`,\n allowUserToAccessProfile: `Auto created users will have access to their profile page and will be able to perform actions such as generating an API key.`,\n useDefaultProxyConfiguration: `If a default proxy definition exists, it is used to pass through to the Crowd Server.`\n\n },\n SAMLSSOSettings: {\n SAMLLoginURL: `The identity provider login URL (when you try to login, the service provider redirects to this URL).`,\n SAMLLogoutURL: `The identity provider logout URL (when you try to logout, the service provider redirects to this URL).`,\n SAMLServiceProviderName: `The Artifactory name in the SAML federation.`,\n SAMLCertificate: `The certificate for SAML Authentication.\nNOTE! The certificate must contain the public key to allow Artifactory to verify sign-in requests.`,\n autoCreateArtifactoryUsers: `When set, authenticated users are automatically created in Artifactory.\nWhen not set, for every request from a SAML user, the user is temporarily associated with default groups (if such groups are defined),\nand the permissions for these groups apply. Without automatic user creation, you must manually create the user inside Artifactory to manage\nuser permissions not attached to their default groups.`,\n allowUserToAccessProfile: `Auto created users will have access to their profile page and will be able to perform actions such as generating an API key.`,\n useEncryptedAssertion: `When set, an X.509 public certificate will be created by Artifactory. Download this certificate and upload it to your IDP and choose your own encryption algorithm. This process will let you encrypt the assertion section in your SAML response.`,\n autoRedirect: `When set, clicking on the login link will direct users to the configured SAML login URL.`,\n syncGroups: \"When set, in addition to the groups the user is already associated with, he will also be associated with the groups returned in the SAML login \" +\n \"response. Note that the user's association with the returned groups is not persistent. It is only valid for the current login session.\",\n groupAttribute: `The group attribute in the SAML login XML response.`,\n emailAttribute: `If Auto Create Artifactory Users is enabled or an internal user exists, Artifactory will set the user's email to the value in this attribute that is returned by the SAML login XML response.`\n },\n OAuthSSO: {\n id: `Your OAuth2 id, given by the provider.`,\n secret: `Your OAuth2 shared secret, given by the provider.`,\n domain: `Google App domain accepted for authentication.`,\n basicUrl: `The url used to acquire a token via basic auth.`,\n authUrl: `The url used for the initial authentication step.`,\n apiUrl: `The url used for api access, if needed to get user data.`,\n tokenUrl: `The url used to acquire a token from the provider.`,\n allowUserToAccessProfile: `Auto created users will have access to their profile page and will be able to perform actions such as generating an API key.`\n },\n HTTPSSO: {\n artifactoryIsProxiedByASecureHTTPServer: `When set, Artifactory trusts incoming requests and reuses the remote user originally set on the request by the SSO of the HTTP server.\nThis is useful if you want to use existing enterprise SSO integrations, such as the powerful authentication schemes provided by Apache (mod_auth_ldap, mod_auth_ntlm, mod_auth_kerb, etc.).\nWhen Artifactory is deployed as a webapp on Tomcat behind Apache:\nIf using mod_jk, be sure to use the \"JkEnvVar REMOTE_USER\" directive in Apache's configuration.`,\n remoteUserRequestVariable: `The name of the HTTP request variable to use for extracting the user identity.\nDefault is: REMOTE_USER.`,\n autoCreateArtifactoryUsers: `When set, authenticated users are automatically created in Artifactory.\nWhen not set, for every request from an SSO user, the user is temporarily associated with default groups (if such groups are defined),\nand the permissions for these groups apply. Without automatic user creation, you must manually create the user inside Artifactory to manage\nuser permissions not attached to their default groups.`,\n allowUserToAccessProfile: `Auto created users will have access to their profile page and will be able to perform actions such as generating an API key.`,\n autoAssociateLDAPGroups: `When set, the user will be associated with the groups returned in the LDAP login response. Note that the user's association with the returned groups is persistent if the 'Auto Create Artifactory Users' is set.`\n },\n SSHSERVER: {\n enableSshServer: `Enable SSH authentication.`,\n serverPublicKey: `SSH Public Key to identify your server.`,\n serverPrivateKey: `SSH Private Key to identify your server.`,\n sshServerPort: `The port to use for SSH authentication. Default: 1337`,\n customURLBase: `A hard-coded URL prefix used to calculate relative URLs.`\n },\n signingKeys: {\n passPhrase: `Pass phrase required to use the installed keys. It can be saved or supplied with the REST API calls.\nThe \"Verify\" button checks that the keys and pass phrase match, and can be used to verify the pass phrase without saving it.\nIf keys are saved, we highly recommend using the Master Encryption Key feature.`\n }\n\n },\n services: {\n backupsForm: {\n cronExpression: `The Cron expression that determines backup frequency. For detailed information, see The CronTrigger Tutorial`,\n serverPathForBackup: `The directory to which local repository data is backed up as files.\nThe default is $ARTIFACTORY_HOME/backup/[backup_key]`,\n sendMailToAdminsIfThereAreBackupErrors: `Requires properly configured email settings and valid email addresses for admin users.`,\n precalculateSpaceBeforeBackup: `If set, Artifactory will verify that the backup target location has enough disk space available to hold the backed up data. If there is not enough space available, Artifactory will abort the backup and write a message in the log file. Applicable only to non-incremental backups.`,\n excludeBuilds: `Exclude all builds from the backup.`,\n excludeNewRepositories: `Automatically exclude new repositories from the backup.`,\n retentionPeriod: `The maximum number of hours to keep old backups in the destination directory.\nSetting the \"Incremental\" checkbox, indicates that backups are incrementally written\n(delta only) to the same directory: \\${backupDir}/current. This \"in place\" backup is suitable\nfor file-system based backup support. In this mode, cleanup of old backups is inactive.\nThe default is 168 hours (7 days).`,\n backUpToAZipArchive: `When set, the backup output should be a zip archive.\nOtherwise the output is to a directory (default).`\n\n },\n mavenIndexer: {\n cronExpression: `The Cron expression that determines indexer frequency. For detailed information, see The CronTrigger Tutorial`\n }\n },\n logAnalytics: {\n newConnection: \"Use this option if you don't have a Client ID and Secret for Artifactory.\"\n }\n },\n artifacts: {\n deploy: {\n targetRepo: `The target repository to which the artifact should be deployed.`,\n targetPath: `The relative path in the target repository. You can add key-value matrix parameters to deploy the artifacts with properties.\nFor more details, please refer to Introducing Matrix Parameters.`,\n deployAsMaven: `Deploy a Maven artifact where the target deployment path is based on Maven attributes.\nIf you want to specify the target deployment path manually, unset this option.`,\n deployAsDebian: `Deploying a Debian file to a Debian repository requires coordinates. Setting this flag lets you configure the Debian file coordinates`,\n noDeployPermission: `You do not have deploy permission`,\n },\n pushToBintray: {\n bintrayPackageName: `A target package name under the repository. You must create the package in Bintray first if it does not exist.`,\n bintrayPackageVersion: `A target version under the package.If the version does not yet exist in Bintray, it is automatically created.`\n },\n browse: {\n created: `The time this artifact was deployed to or cached in Artifactory.`,\n lastModified: `The time this artifact was modified. If this value is not available, the artifact's 'Created' value is used.\nThis can occur if the artifact is deployed without the 'X-Artifactory-Last-Modified' request header.`,\n licenses: `Scans the archive for a textual license file. The following file names are searched for:\nlicense,LICENSE,license.txt,LICENSE.txt,LICENSE.TXT\n(You can override this list by using the 'artifactory.archive.licenseFile.names' property).`,\n filtered: `Set this to have Artifactory serve the file as a filtered resource.\nA filtered textual resource is processed by the FreeMarker engine before being returned to clients.\nThe context accessible to the template includes:\nProperties ,Security and Request. Javadocs can be found in the Artifactory Public API.`,\n lastReplicationStatus: `Displays the result of the latest run of this repository's scheduled replication.\nCan be one of the following:\nNever ran: Replication has not yet run.\nIncomplete: Replication has not yet completed or was interrupted.\nCompleted with errors: Replication errors were logged.\nCompleted with warnings: Replication warnings were logged.\nCompleted successfully: No errors or warnings logged.\nInconsistent: Replication status cannot be interpreted.`,\n recursive: `When checked, the property will be added to the selected folder and to all of the artifacts, folders and sub-folders under this folder.`\n },\n search: {\n stash: `The Stash lets you store search results for later use.\nOnce it is populated, you can add, subtract or intersect new search results to assemble just the right set of artifacts you need.\nThe Stash Browser displays all the artifacts in your stash and provides a convenient way to perform bulk operations.\nYou can copy or move the entire Stash to a repository, or perform actions on individual items.`\n },\n\n general: {\n /*name: 'Copy this link to navigate directly to this item in the tree browser.',*/\n created: `The time this artifact was deployed to or cached in Artifactory`,\n filtered: `Set this to have Artifactory serve the file as a filtered resource.\nA filtered textual resource is processed by the FreeMarker engine before being returned to clients.\nThe context accessible to the template includes:\nProperties ,Security and Request. Javadocs can be found in the Artifactory Public API.`\n },\n selectTargetPathModal: {\n targetRepoInput: [`Selects the target repository for the transferred items.`,\n`Repositories starting with an exclamation mark (\\'!\\') indicate that not all tokens`,\n`can be mapped between the layouts of the source repository and the marked repository.`,\n`Path translations may not work as expected.`].join(' '),\n copyToCustomCheckbox: {\n copy: [`Enable copying and renaming to a custom target path. WARNING: This will cause`,\n`the operation to suppress cross-layout translation when copying to different layouts.`,\n`This means that your client may not be able to resolve the artifacts even in cases of a same-layout move.`].join(' '),\n move: [`Enable moving and renaming to a custom target path. WARNING: This will cause`,\n`the operation to suppress cross-layout translation when moving to different layouts.`,\n`This means that your client may not be able to resolve the artifacts even in cases of a same-layout move.`].join(' ')\n },\n customPathInput: {\n copy: [`Type the path in the target repository where the selected source should be copied to.`,\n`NOTE: Copy operations are executed using Unix conventions (e.g.copying org/jfrog/example from`,\n`a source repository to org/jfrog/example in a target repository will result in the contents of the source`,\n`being copied to org/jfrog/example/example). To achieve the same path in the target repository, copy`,\n`the source into one folder up in the hierarchy (i.e. copy source org/jfrog/example into target org/jfrog).`,\n`If you leave the Target Path empty, the source will be moved into the target repository\\'s root folder.`].join(' '),\n move: [`Type the path in the target repository where the selected source should be moved to.`,\n`NOTE: Move operations are executed using Unix conventions (e.g. moving org/jfrog/example from`,\n`a source repository to org/jfrog/example in a target repository will result in the contents of the source`,\n`being moved to org/jfrog/example/example). To achieve the same path in the target repository, move`,\n`the source into one folder up in the hierarchy (i.e. move source org/jfrog/example into target org/jfrog).`,\n`If you leave the Target Path empty, the source will be moved into the target repository\\'s root folder.`].join(' ')\n }\n\n }\n },\n builds: {\n summary: `An artifact license can have one of the following statuses:\nUnapproved: The license found is not approved.\nUnknown: License information was found but cannot be related to any license managed in Artifactory.\nNot Found: No license information could be found for the artifact.\nNeutral: The license found is not approved, however another approved license was found for the artifact.\nApproved: The license found is approved.`,\n includePublishedArtifacts: `Include the build's published module artifacts in the license report if they are also used as dependencies for other modules in this build.`,\n IncludeDependenciesOfTheFollowingScopes: `Include the build's published module dependencies in the license report.\nYou can optionally select the dependency scopes to include.`,\n autoFindLicenses: `Automatically extract license data from artifacts' module information.\nWhen an artifact has conflicting licenses already attached, you can select whether\nto override these licenses with the ones found.`,\n name: `The Code Center application name. Click on the link to navigate to this application in Code Center.`\n },\n userProfile: {\n apiKey: `Your API key can be used to authenticate you when using the REST API.\nTo use the API key, add the following header to all REST API calls: 'X-JFrog-Art-Api: <YOUR_API_KEY>'`\n }\n\n}\n\n\n// WEBPACK FOOTER //\n// ./constants/artifact_tooltip.constant.js","/*\n *\n * Artifactory is a binaries repository manager.\n * Copyright (C) 2018 JFrog Ltd.\n *\n * Artifactory is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * Artifactory is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with Artifactory. If not, see .\n *\n */\n/**\n * Created by idannaim on 8/6/15.\n */\nimport API from \"../../constants/api.constants\";\nimport TOOLTIP from \"../../constants/artifact_tooltip.constant\";\n\nclass jfSingleDeployController {\n constructor($scope, ArtifactoryUploaderFactory, ArtifactDeployDao, ArtifactoryState,\n JFrogNotifications, GoogleAnalytics) {\n\n this.$scope = $scope;\n this.artifactDeployDao = ArtifactDeployDao;\n this.GoogleAnalytics = GoogleAnalytics;\n this.artifactoryNotifications = JFrogNotifications;\n this.artifactoryState = ArtifactoryState;\n this.artifactoryUploaderFactory = ArtifactoryUploaderFactory;\n this.errorQueue = [];\n this.multiSuccessMessage = '';\n this.TOOLTIP = TOOLTIP.artifacts.deploy;\n this.originalDeployPath = '';\n this.firstInit = true;\n this.uploadCompleted = false;\n this.isComposerExtention = false;\n\n this.REGEX_REPLACER = '@@@@';\n }\n\n $onInit() {\n this.comm.setController(this);\n this._initDeploy();\n this._initEvent();\n }\n\n /**\n * create uploader instance,\n * set methods callback\n * set path and file type\n * @private\n */\n _initDeploy() {\n let UPLOAD_REST_URL = `${API.API_URL}/artifact/upload`;\n this.deploySingleUploader = this.artifactoryUploaderFactory.getUploaderInstance(this)\n .setUrl(UPLOAD_REST_URL)\n .setOnSuccessItem(this.onSuccessItem)\n .setOnAfterAddingAll(this.onAfterAddingAll)\n .setOnAfterAddingFile(this.onAfterAddingFile)\n .setOnErrorItem(this.onUploadError)\n .setOnCompleteAll(this.onCompleteAll);\n this._setPathAndFileType(this.node ? this.node.data.path : '');\n this.deploySingleUploader.getUploader().headers = {'X-Requested-With': 'artUI', 'X-ARTIFACTORY-REPOTYPE' : this.deployFile.repoDeploy.repoType};\n }\n\n _initEvent() {\n this.$scope.$on('$destroy', this.onRemoveSingle.bind(this));\n }\n\n /**\n * On file successfully uploaded: setting path for deploy.\n * if maven repo set fields and path\n * @param fileDetails\n * @param response\n */\n onSuccessItem(fileDetails, response) {\n if (this.deployFile.repoDeploy.repoType !== 'Maven' && response.unitInfo.artifactType === 'maven') {\n response.unitInfo.artifactType = \"base\";\n }\n response.unitInfo.origArtifactType = response.unitInfo.artifactType;\n response.unitInfo.debianArtifact = response.unitInfo.artifactType==='debian';\n response.unitInfo.mavenArtifact = response.unitInfo.artifactType==='maven';\n response.unitInfo.vagrantArtifact = response.unitInfo.artifactType==='vagrant';\n response.unitInfo.composerArtifact = this.deployFile.repoDeploy.repoType==='Composer' && this.isComposerExtention;\n response.unitInfo.cranArtifact = this.deployFile.repoDeploy.repoType === 'CRAN';\n// response.unitInfo.originalMaven = response.unitInfo.artifactType==='maven';\n\n let tempBundle = this.deployFile.unitInfo ? this.deployFile.unitInfo.bundle : false;\n this.deployFile.unitInfo = response.unitInfo;\n this.deployFile.unitInfo.bundle = tempBundle;\n this.deployFile.unitInfo.type = fileDetails.file.name.substr(fileDetails.file.name.lastIndexOf('.')+1);\n //HA support\n this.deployFile.handlingNode = response.handlingNode;\n this.deployFile.unitConfigFileContent = response.unitConfigFileContent || \"\\n\\n 4.0.0\\n \\n \\n \\n Artifactory auto generated POM\\n\\n\";\n\n //MavenArtifact causes 'deploy as' checkbox to be lit -> change deployment path according to GAVC\n if (this.deployFile.unitInfo && this.deployFile.unitInfo.mavenArtifact) {\n this.originalDeployPath = this.deployFile.targetPath;\n this.updateMavenTargetPath()\n }\n if (this.deployFile.unitInfo && this.deployFile.unitInfo.debianArtifact) {\n this.originalDeployPath = this.deployFile.targetPath;\n this.updateDebianTargetPath()\n }\n if (this.deployFile.unitInfo && this.deployFile.unitInfo.cranArtifact) {\n this.originalDeployPath = this.deployFile.targetPath;\n if (this.deployFile.unitInfo.type === 'gz') {\n this.deployFile.targetPath = 'src/contrib' + this.deployFile.targetPath;\n }\n }\n if (this.comm) {\n this.needToCancel = true;\n }\n }\n\n /**\n * check if path includes file/archive if yes cut it from the path and set .\n * check if the current repo is local else clean path.\n * Reset garbage deployFile and fields if exists.\n * @param targetPath\n * @private\n */\n _setPathAndFileType(targetPath) {\n _.forEach(this.comm.reposList, (item) => {\n if (item.repoType === 'YUM') item.repoText = 'RPM';\n });\n\n if (this.node && this.node.data.isInsideArchive()) {\n targetPath = \"\";\n }\n else {\n if (this.node && (this.node.data.isFile() || this.node.data.isArchive())) {\n if (targetPath.indexOf('/') > -1) {\n targetPath = targetPath.substr(0, targetPath.lastIndexOf('/'))\n }\n else if (targetPath.indexOf('\\\\') > -1) {\n targetPath = targetPath.substr(0, targetPath.lastIndexOf('\\\\'))\n }\n else {\n targetPath = \"\";\n }\n }\n }\n if (this.firstInit) {\n if (this.comm && this.comm.localRepo) {\n this.deployFile = {\n repoDeploy: this.comm.localRepo,\n targetPath: targetPath\n }\n } else {\n this.deployFile = {\n repoDeploy: this.node && this.node.data.type == 'local' ? this.comm.reposList[0] : '',\n targetPath: targetPath\n }\n }\n } else {\n if (this.deployFile && this.deployFile.unitInfo && this.deployFile.unitInfo.mavenArtifact) {\n this.deployFile.unitInfo.mavenArtifact = false;\n }\n if (this.deployFile && this.deployFile.unitInfo && this.deployFile.unitInfo.debianArtifact) {\n this.deployFile.unitInfo.debianArtifact = false;\n }\n this.deployFile.unitInfo = {};\n this.deployFile.fileName = '';\n this.deploySingleUploader.clearQueue();\n this.deployFile.targetPath = targetPath;\n }\n this.uploadCompleted = false;\n this.firstInit = false;\n }\n\n /**\n * if maven file upload\n * update path by gavc (onChange)\n */\n updateMavenTargetPath() {\n let newPath = '';\n if (this.deployFile.unitInfo.groupId) {\n newPath += this.deployFile.unitInfo.groupId.replace(/\\./g, '/');\n }\n newPath += '/' + (this.deployFile.unitInfo.artifactId || '');\n newPath += '/' + (this.deployFile.unitInfo.version || '');\n newPath += '/' + (this.deployFile.unitInfo.artifactId || '');\n newPath += '-' + (this.deployFile.unitInfo.version || '');\n if (this.deployFile.unitInfo.classifier) {\n newPath += '-' + this.deployFile.unitInfo.classifier;\n }\n newPath += '.' + (this.deployFile.unitInfo.type || '');\n\n this.deployFile.targetPath = newPath;\n this._bindToPomXml();\n }\n\n /**\n * bind and update maven xml (depend on updateMavenTargetPath)\n * @private\n */\n _bindToPomXml() {\n if (typeof window.DOMParser != 'undefined' && typeof window.XMLSerializer != 'undefined'\n && this.deployFile.unitConfigFileContent) {\n //Parse the code mirror model into xml object and modify based on input fields\n let parser = new DOMParser();\n let pomXml = parser.parseFromString(this.deployFile.unitConfigFileContent, \"text/xml\");\n let groupId = pomXml.getElementsByTagName('groupId');\n if (groupId.length) {\n if (groupId[0].hasChildNodes()) {\n groupId[0].childNodes[0].nodeValue = this.deployFile.unitInfo.groupId;\n } else {\n groupId[0].textContent = this.deployFile.unitInfo.groupId;\n }\n }\n var artifactId = pomXml.getElementsByTagName('artifactId');\n if (artifactId.length) {\n if (artifactId[0].hasChildNodes()) {\n artifactId[0].childNodes[0].nodeValue = this.deployFile.unitInfo.artifactId;\n } else {\n artifactId[0].textContent = this.deployFile.unitInfo.artifactId;\n }\n }\n var version = pomXml.getElementsByTagName('version');\n if (version.length) {\n if (version[0].hasChildNodes()) {\n version[0].childNodes[0].nodeValue = this.deployFile.unitInfo.version;\n } else {\n version[0].textContent = this.deployFile.unitInfo.version;\n }\n }\n //Serialize updated pom xml back to string and re-set as model\n let backToText = new XMLSerializer();\n this.deployFile.unitConfigFileContent = backToText.serializeToString(pomXml);\n }\n }\n\n /**\n * check if missing fields to disable deploy button\n * @returns {boolean|*}\n */\n isReady() {\n let ok = true;\n if (this.deployFile.unitInfo && this.deployFile.unitInfo.debianArtifact) {\n ok = this.deployFile.unitInfo.distribution && this.deployFile.unitInfo.component && this.deployFile.unitInfo.architecture;\n }\n if (this.deployFile.unitInfo && this.deployFile.unitInfo.cranArtifact\n && (this.deployFile.unitInfo.type === 'zip' || this.deployFile.unitInfo.type === 'tgz')) {\n ok = !!this.deployFile.unitInfo.distribution && !!this.deployFile.unitInfo.rVersion;\n }\n return ok && this.uploadCompleted && this.deployFile.repoDeploy && (!this.layoutTokensForm || this.layoutTokensForm.$valid) && (!this.mavenArtifactForm || this.mavenArtifactForm.$valid);\n }\n\n /**\n * if debian file upload\n * update path onChange\n */\n updateDebianTargetPath() {\n let path;\n if (this.deployFile.targetPath.indexOf(';') != -1) {\n path = this.deployFile.targetPath.substring(0, this.deployFile.targetPath.indexOf(';'));\n }\n else {\n path = this.deployFile.targetPath;\n }\n let newPath = '';\n newPath += ( path || '');\n if (this.deployFile.unitInfo.distribution) {\n let dist=this.deployFile.unitInfo.distribution ? this.deployFile.unitInfo.distribution.split(';').join(';deb.distribution=') : null;\n newPath += \";deb.distribution=\" + (dist || '');\n }\n if (this.deployFile.unitInfo.component) {\n let comp=this.deployFile.unitInfo.component ? this.deployFile.unitInfo.component.split(';').join(';deb.component=') : null;\n newPath += \";deb.component=\" + (comp || '');\n }\n if (this.deployFile.unitInfo.architecture) {\n let arch=this.deployFile.unitInfo.architecture ? this.deployFile.unitInfo.architecture.split(';').join(';deb.architecture=') : null;\n newPath += \";deb.architecture=\" + (arch || '');\n }\n this.deployFile.targetPath = '';\n this.deployFile.targetPath = newPath;\n }\n\n /**\n * if vagrant box file upload\n * update path onChange\n */\n updateVagrantTargetPath() {\n let path;\n if (this.deployFile.targetPath.indexOf(';') != -1) {\n path = this.deployFile.targetPath.substring(0, this.deployFile.targetPath.indexOf(';'));\n }\n else {\n path = this.deployFile.targetPath;\n }\n let newPath = '';\n newPath += ( path || '');\n if (this.deployFile.unitInfo.boxName) {\n let name=this.deployFile.unitInfo.boxName ? this.deployFile.unitInfo.boxName.split(';').join(';box_name=') : null;\n newPath += \";box_name=\" + (name || '');\n }\n if (this.deployFile.unitInfo.boxProvider) {\n let prov=this.deployFile.unitInfo.boxProvider ? this.deployFile.unitInfo.boxProvider.split(';').join(';box_provider=') : null;\n newPath += \";box_provider=\" + (prov || '');\n }\n if (this.deployFile.unitInfo.boxVersion) {\n let ver=this.deployFile.unitInfo.boxVersion ? this.deployFile.unitInfo.boxVersion.split(';').join(';box_version=') : null;\n newPath += \";box_version=\" + (ver || '');\n }\n this.deployFile.targetPath = '';\n this.deployFile.targetPath = newPath;\n }\n\n updateComposerTargetPath() {\n let path;\n if (this.deployFile.targetPath.indexOf(';') != -1) {\n path = this.deployFile.targetPath.substring(0, this.deployFile.targetPath.indexOf(';'));\n }\n else {\n path = this.deployFile.targetPath;\n }\n let newPath = '';\n newPath += ( path || '');\n if (this.deployFile.unitInfo.version) {\n let name=this.deployFile.unitInfo.version ? this.deployFile.unitInfo.version.split(';').join(';composer.version=') : null;\n newPath += \";composer.version=\" + (name || '');\n }\n\n this.deployFile.targetPath = '';\n this.deployFile.targetPath = newPath;\n }\n /**\n *onAfterAddingAll Verifies upload only one file\n * @param fileItems\n */\n onAfterAddingAll(fileItems) {\n if (fileItems.length > 1) {\n this.artifactoryNotifications.create({error: \"You can only deploy one file\"});\n this.deploySingleUploader.clearQueue();\n return;\n }\n\n let uploadAll = true;\n\n fileItems.forEach((item)=> {\n if (!item.okToUploadFile) {\n uploadAll = false;\n return;\n }\n });\n if (uploadAll) {\n this.deploySingleUploader.uploadAll();\n }\n else {\n return;\n }\n }\n\n onAfterAddingFile(fileItem) {\n this.isBundle = _.endsWith(fileItem.file.name, 'zip') ||\n _.endsWith(fileItem.file.name, 'tar') ||\n _.endsWith(fileItem.file.name, 'tgz') ||\n _.endsWith(fileItem.file.name, '7z') ||\n _.endsWith(fileItem.file.name, 'tar.gz') ;\n this.isComposerExtention = (/\\.(zip|gz|tar|rar|phar|tar.gz|xz)$/i).test(fileItem.file.name);\n this.deployFile.fileName = fileItem.file.name;\n if (this.deployFile.targetPath.slice(-1) != \"/\") {\n this.deployFile.targetPath += \"/\";\n }\n this.deployFile.targetPath += fileItem.file.name;\n\n if (fileItem.file.size < 0) {\n fileItem.okToUploadFile = false;\n this.deploySingleUploader.removeFileFromQueue(fileItem);\n } else if (this.isExceedingSizeLimit(fileItem)) {\n fileItem.okToUploadFile = false;\n this.cancelFileUploadExceedingLimit(fileItem);\n } else {\n // Save original for display\n fileItem.file.originalName = fileItem.file.name;\n // Encode filename to support UTF-8 strings (server does decode)\n fileItem.file.name = encodeURIComponent(fileItem.file.name);\n fileItem.okToUploadFile = true;\n // this.deploySingleUploader.getUploader().headers['X-ARTIFACTORY-REPOTYPE'] = this.node.data.repoPkgType;\n }\n }\n\n /**\n * test if file exceeds the size limit\n * @param fileItem\n */\n isExceedingSizeLimit(fileItem){\n return this.fileSizeLimit > 0 &&\n fileItem.file.size > this.toBytes(this.fileSizeLimit);\n }\n /**\n * cancel an upload of a file that exceeds the size limit\n * @param fileItem\n */\n cancelFileUploadExceedingLimit(fileItem){\n let errorMsg = 'File size exceeds the limit of '+this.fileSizeLimit+' MB';\n this.artifactoryNotifications.create({error: errorMsg});\n\n this.deploySingleUploader.removeFileFromQueue(fileItem);\n this.clearPath();\n }\n\n /**\n * convert file size from MB to Bytes\n * @param fileSizeInMB\n */\n toBytes(fileSizeInMB){\n return fileSizeInMB*1000000;\n }\n\n /**\n * when upload item error push to queue for notifications\n * @param item\n * @param response\n */\n onUploadError(item, response) {\n this.errorQueue.push({item: item, response: response});\n this.artifactoryNotifications.create(response);\n this.deploySingleUploader.removeFileFromQueue(item);\n\n this.deployFile.unitInfo = {};\n this.clearPath();\n }\n\n /**\n * trigger if user checked for edit maven gavc\n * if not set artifactType = origArtifactType\n */\n changeMavenFileType() {\n if (!this.deployFile.unitInfo.mavenArtifact) {\n this.deployFile.unitInfo.maven = false;\n this.deployFile.unitInfo.artifactType = this.deployFile.unitInfo.origArtifactType === 'maven' ? 'base' : this.deployFile.unitInfo.origArtifactType;\n if (this.originalDeployPath) {\n this.deployFile.targetPath = angular.copy(this.originalDeployPath);\n }\n this.tempUnitConfigFileContent = this.deployFile.unitConfigFileContent;\n delete this.deployFile.unitConfigFileContent;\n }\n else {\n this.deployFile.unitInfo.maven = true;\n this.deployFile.unitInfo.artifactType = 'maven';\n this.originalDeployPath = angular.copy(this.deployFile.targetPath);\n if (this.tempUnitConfigFileContent) {\n this.deployFile.unitConfigFileContent = this.tempUnitConfigFileContent;\n }\n this.updateMavenTargetPath();\n }\n }\n\n /**\n * trigger if user checked for edit debian\n * if not set artifactType = origArtifactType\n */\n\n changeDebianFileType() {\n if (!this.deployFile.unitInfo.debianArtifact) {\n this.deployFile.unitInfo.artifactType = this.deployFile.unitInfo.origArtifactType === 'debian' ? 'base' : this.deployFile.unitInfo.origArtifactType;\n this.deployFile.unitInfo.debian = false;\n if (this.originalDeployPath) {\n this.deployFile.targetPath = angular.copy(this.originalDeployPath);\n }\n }\n else {\n this.deployFile.unitInfo.debian = true;\n this.deployFile.unitInfo.artifactType = 'debian';\n this.originalDeployPath = angular.copy(this.deployFile.targetPath);\n this.updateDebianTargetPath();\n }\n }\n\n onBundleDeploy() {\n if (this.deployFile.unitInfo.bundle) {\n this.tempPathBeforeBundle = this.deployFile.targetPath;\n if (!this.targetChanged) {\n this.deployFile.targetPath = this.deployFile.targetPath.substr(0,this.deployFile.targetPath.lastIndexOf('/')+1);\n }\n }\n else if (!this.deployFile.unitInfo.bundle) {\n this.deployFile.targetPath = this.tempPathBeforeBundle;\n }\n }\n\n onToggleDeployByLayout() {\n if (this.deployFile.unitInfo.deployByLayout) {\n this.tempPathBeforeUsingLayout = this.deployFile.targetPath;\n if (!this.layoutTokens) {\n this.extractTokensFromLayout();\n }\n this.deployFile.targetPath = this.getPathFromLayoutTokens();\n }\n else {\n this.deployFile.targetPath = this.tempPathBeforeUsingLayout;\n }\n }\n\n onCompleteAll() {\n this.progress = false;\n let body = '
    ';\n this.artifactoryNotifications.clear();\n if (this.errorQueue.length) {\n this.errorQueue.forEach((error)=> {\n body += '
  • \"' + error.item.file.name + '\" ' + error.response.error + '
  • '\n })\n body += '
';\n this.artifactoryNotifications.createMessageWithHtml({type: 'error', body: body, timeout: 10000});\n this.deploySingleUploader.clearQueue();\n this.errorQueue = [];\n }\n else { //only when no errors\n this.uploadCompleted = true;\n }\n }\n\n /**\n * when user removed selected file 'clearPath' is calling\n */\n clearPath() {\n if (this.node && (this.node.data.isFolder() || this.node.data.isRepo())) {\n this.deployFile.targetPath = this.node.data.path;\n } else {\n this.deployFile.targetPath = this.deployFile.targetPath.replace(\"/\" + this.deployFile.fileName, \"\");\n }\n delete this.layoutTokens;\n this.targetChanged = false;\n this.uploadCompleted = false;\n }\n\n /**\n *\n * cancel file upload remove from server stock\n */\n onRemoveSingle() {\n if (this.needToCancel) {\n this.artifactDeployDao.cancelUpload({fileName: this.deployFile.fileName});\n this.needToCancel = false;\n }\n }\n\n /**\n * deploy after adding file to queue\n */\n deployArtifacts() {\n let singleDeploy = {};\n singleDeploy.action = \"deploy\";\n singleDeploy.unitInfo = this.deployFile.unitInfo;\n singleDeploy.unitInfo.path = angular.copy(this.deployFile.targetPath);\n singleDeploy.fileName = this.deployFile.fileName;\n singleDeploy.repoKey = this.deployFile.repoDeploy.repoKey;\n singleDeploy.handlingNode = this.deployFile.handlingNode;\n\n if (this.deployFile.unitInfo.Internal && this.deployFile.unitConfigFileContent) {\n singleDeploy.publishUnitConfigFile = true;\n singleDeploy.unitConfigFileContent = this.deployFile.unitConfigFileContent;\n }\n if (!this.deployFile.unitInfo.bundle) {\n this.artifactDeployDao.post(singleDeploy).$promise.then((result)=> {\n if (result.data) {\n this.deploySuccess(result.data);\n }\n });\n }\n else {\n this.artifactDeployDao.postBundle(singleDeploy).$promise.then((result)=> {\n if (result.data) {\n this.deploySuccess(result.data);\n }\n });\n }\n }\n\n deploySuccess(data) {\n this.artifactoryNotifications.createMessageWithHtml(this.comm.createNotification(data));\n this.needToCancel = false;\n this.onSuccess();\n this.GoogleAnalytics.trackEvent('Artifacts', 'Deploy succeed' , this.node.data.repoPkgType , null , this.node.data.repoType, 'single');\n }\n\n isMavenCheckBoxVisible() {\n// return this.deployFile.unitInfo && (this.deployFile.unitInfo.originalMaven || (this.deployFile.unitInfo.valid && this.deployFile.repoDeploy.repoType === 'Maven'));\n return this.deployFile.unitInfo && (this.deployFile.unitInfo.valid && this.deployFile.repoDeploy.repoType === 'Maven');\n }\n isMavenSectionVisible() {\n return this.deployFile.unitInfo && this.deployFile.unitInfo.mavenArtifact && this.isMavenCheckBoxVisible();// && (this.deployFile.unitInfo.maven || (this.deployFile.unitInfo.valid && this.deployFile.repoDeploy.repoType === 'Maven'));\n }\n\n\n extractTokensFromLayout() {\n let allRegexes;\n\n let extractToken = (tokenMatch,customSegment) => {\n let tokenKey = tokenMatch[1];\n let tokenExact = tokenMatch[0];\n\n if (_.contains(tokenKey,this.REGEX_REPLACER)) {\n tokenKey = tokenKey.replace(this.REGEX_REPLACER,allRegexes[0])\n tokenExact = tokenExact.replace(this.REGEX_REPLACER,allRegexes[0])\n if (customSegment) customSegment.regex = allRegexes[0];\n allRegexes.shift();\n }\n\n let tokenRegex = tokenKey.match(/\\<(.*?)\\>/);\n if (tokenRegex) {\n tokenKey = tokenKey.split(tokenRegex[0]).join('');\n }\n\n if (customSegment) customSegment.tokens.push(tokenKey);\n this.layoutTokens[tokenKey] = {\n exactString: tokenExact,\n customSegment: customSegment,\n regex: tokenKey==='folderItegRev' ? this.deployFile.repoDeploy.layoutFolderItegRevRegex : tokenKey==='fileItegRev' ? this.deployFile.repoDeploy.layoutFileItegRevRegex : tokenRegex ? tokenRegex[1] : undefined,\n value: tokenKey==='ext' ? this.deployFile.unitInfo.type : ''\n };\n };\n\n let pattern = this.deployFile.repoDeploy.layoutPattern;\n this.layoutTokens = {};\n\n //Temporarily remove '[' and ']' inside custom regex\n allRegexes = pattern.match(/\\<(.*?)\\>/g);\n pattern = pattern.replace(/\\<(.*?)\\>/g,this.REGEX_REPLACER);\n //\n\n let nextToken = pattern.match(/\\[(.*?)\\]/);\n while (nextToken) {\n let nextTokenIndex = pattern.search(/\\[(.*?)\\]/);\n let nextCustomSegmentIndex = pattern.search(/\\((.*?)\\)/);\n\n if (nextTokenIndex < nextCustomSegmentIndex || nextCustomSegmentIndex === -1) {\n extractToken(nextToken);\n pattern = pattern.replace(nextToken[0],'');\n nextToken = pattern.match(/\\[(.*?)\\]/);\n }\n else {\n let customSegment = {\n match: pattern.match(/\\((.*?)\\)/),\n tokens: []\n };\n let customPattern = customSegment.match[1];\n let nextCustomToken = customPattern.match(/\\[(.*?)\\]/);\n while (nextCustomToken) {\n extractToken(nextCustomToken,customSegment);\n customPattern = customPattern.replace(nextCustomToken[0],'');\n nextCustomToken = customPattern.match(/\\[(.*?)\\]/);\n }\n pattern = pattern.replace(customSegment.match[0],'');\n nextToken = pattern.match(/\\[(.*?)\\]/);\n }\n }\n\n }\n\n getPathFromLayoutTokens() {\n let pattern = this.deployFile.repoDeploy.layoutPattern;\n for (let token in this.layoutTokens) {\n let customSegment = this.layoutTokens[token].customSegment;\n if (customSegment) {\n let allFilled = true;\n for (let i in customSegment.tokens) {\n if (!this.layoutTokens[customSegment.tokens[i]].value) {\n allFilled = false;\n break;\n }\n }\n if (allFilled) {\n pattern = pattern.split(customSegment.match[0].replace(this.REGEX_REPLACER,customSegment.regex)).join(customSegment.match[1]).replace(this.REGEX_REPLACER,customSegment.regex);\n pattern = pattern.split(this.layoutTokens[token].exactString).join(this.layoutTokens[token].value);\n }\n else {\n pattern = pattern.split(customSegment.match[0].replace(this.REGEX_REPLACER,customSegment.regex)).join('');\n }\n }\n else {\n if (this.layoutTokens[token].value) pattern = pattern.split(this.layoutTokens[token].exactString).join(this.layoutTokens[token].value);\n }\n }\n return pattern;\n }\n\n updatePathFromLayoutTokens() {\n this.deployFile.targetPath = this.getPathFromLayoutTokens();\n }\n\n isTokenValueValid(tokenKey,value) {\n return !value || !this.layoutTokens[tokenKey].regex || (new RegExp('^'+this.layoutTokens[tokenKey].regex+'$')).test(value);\n }\n\n getTokenRegexError(tokenKey) {\n let showErrors = this.layoutTokensForm[`token-${tokenKey}`].showErrors;\n let errObj = this.layoutTokensForm[`token-${tokenKey}`].$error;\n if (showErrors && errObj.tokenRegexValidator && !errObj.required) {\n return `Value do not match regex: ${this.layoutTokens[tokenKey].regex}`\n }\n }\n\n}\nexport function jfSingleDeploy() {\n return {\n restrict: 'EA',\n scope: {\n node: '=',\n deploy: '&',\n comm: '=',\n deployFile: '=',\n onSuccess: '&',\n fileSizeLimit: '='\n },\n controller: jfSingleDeployController,\n controllerAs: 'jfSingleDeploy',\n bindToController: true,\n templateUrl: 'directives/jf_deploy/jf_single_deploy.html'\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./directives/jf_deploy/jf_single_deploy.js","/*\n *\n * Artifactory is a binaries repository manager.\n * Copyright (C) 2018 JFrog Ltd.\n *\n * Artifactory is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * Artifactory is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with Artifactory. If not, see .\n *\n */\nexport function jfPrint () {\n return {\n restrict: 'E',\n scope: {\n content: '@'\n },\n controller: jfPrintController,\n controllerAs: 'jfPrint',\n bindToController: true,\n templateUrl: 'directives/jf_print/jf_print.html'\n }\n}\n\n\nclass jfPrintController {\n\n constructor($element, $window, $scope) {\n this.$element = $element;\n this.$window = $window;\n this.$scope = $scope;\n\n this._registerEvents();\n }\n\n _registerEvents() {\n this.$element.on('click', () => this.print());\n this.$scope.$on('$destroy', () => this.$element.off('click'));\n }\n\n print() {\n let printWindow = this.$window.open('', '_blank', 'height=380,width=750');\n printWindow.document.write('Artifactory');\n printWindow.document.write('
' + this._escapeHTML(this.content) + '
');\n printWindow.document.write('');\n printWindow.print();\n printWindow.close();\n return true;\n }\n\n _escapeHTML(content) {\n let escape = document.createElement('textarea');\n escape.innerHTML = content;\n return escape.innerHTML;\n }\n\n\n}\n\n\n\n// WEBPACK FOOTER //\n// ./directives/jf_print/jf_print.js","/*\n *\n * Artifactory is a binaries repository manager.\n * Copyright (C) 2018 JFrog Ltd.\n *\n * Artifactory is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * Artifactory is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with Artifactory. If not, see .\n *\n */\nexport function jfAutoFocus($timeout) {\n return {\n restrict: 'A',\n link: function(scope, element) {\n $timeout(function() {\n element[0].focus();\n });\n }\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./directives/jf_autofocus/jf_autofocus.js","/*\n *\n * Artifactory is a binaries repository manager.\n * Copyright (C) 2018 JFrog Ltd.\n *\n * Artifactory is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * Artifactory is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with Artifactory. If not, see .\n *\n */\nexport function jfBodyClass() {\n return {\n restrict: 'A',\n controller: jfBodyClassController,\n controllerAs: 'jfBodyClass',\n bindToController: true\n }\n}\n\nclass jfBodyClassController {\n constructor($element, $state, $scope, ArtifactoryFeatures) {\n this.$element = $element;\n this.$state = $state;\n this.$scope = $scope;\n this.features = ArtifactoryFeatures;\n\n this._registerEvents();\n }\n\n $onInit() {\n this.features.whenReady.then(() => {\n if (this.features.isAol()) {\n this.loadWalkMeScript();\n }\n })\n }\n\n _registerEvents() {\n this.$scope.$on('$stateChangeSuccess', () => {\n this._setBodyClass()\n });\n }\n\n _setBodyClass() {\n this.$element.attr('class', this._formatCssClass(this.$state.$current.name) + (this.isLoadCompleted() ? ' load-complete' : ''));\n }\n\n _formatCssClass(stateName) {\n return stateName.replace(/\\./g, '-');\n }\n\n isLoadCompleted() {\n\n return window.angular && angular.element(document.body).injector() && angular.element(document.body).injector().get(\"$http\").pendingRequests.length == 0;\n }\n\n loadWalkMeScript() {\n let scriptTagString = ``;\n let scriptTag = $(scriptTagString);\n $(document.head).append(scriptTag)\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./directives/jf_body_class/jf_body_class.js","/*\n *\n * Artifactory is a binaries repository manager.\n * Copyright (C) 2018 JFrog Ltd.\n *\n * Artifactory is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * Artifactory is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with Artifactory. If not, see .\n *\n */\nclass jfInputTextV2Controller {\n\n constructor($element, $scope, $compile,$timeout) {\n this.$element = $element;\n this.$scope = $scope;\n this.$compile = $compile;\n this.$timeout=$timeout;\n }\n\n $onInit() {\n this._initInput();\n }\n\n _initInput() {\n if (this.ismandatory) {\n $(this.$element.find('input')[0]).attr('required','');\n this.$compile(this.$element.find('input'))(this.$scope);\n }\n if (this.autofocus) {\n this.$timeout($(this.$element.find('input')[0]).focus());\n\n }\n }\n\n isInputEmpty() {\n return this.model !== \"\" &&\n this.model !== undefined &&\n this.model !== null;\n\n }\n}\n\nexport function jfInputTextV2() {\n return {\n scope: {\n type: '@',\n name: '@',\n text: '@',\n autocomplete:'@',\n autofocus: '=',\n ismandatory: '=',\n model: '=',\n form: '='\n\n },\n controller: jfInputTextV2Controller,\n controllerAs: 'jfInputTextV2',\n templateUrl: 'directives/jf_input_text_v2/jf_input_text_v2.html',\n terminal:true,\n priority:1000,\n bindToController: true\n\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./directives/jf_input_text_v2/jf_input_text_v2.js","/*\n *\n * Artifactory is a binaries repository manager.\n * Copyright (C) 2018 JFrog Ltd.\n *\n * Artifactory is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * Artifactory is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with Artifactory. If not, see .\n *\n */\nexport function jfCronFormatter(CronTimeDao, $q, $timeout) {\n return {\n restrict: 'A',\n require: 'ngModel',\n link: function jfCronFormatterLink(scope, element, attrs, ngModel) {\n\n\n let cronTimeDao = CronTimeDao.getInstance();\n ngModel.$formatters.push(formatCron);\n ngModel.$parsers.push(input => ngModel.$modelValue);\n\n // Format the next scheduled time in the server\n function formatCron(input) {\n if (input) {\n return cronTimeDao.get({cron: input}).$promise\n .then(function (result) {\n if (result.error) {\n return $q.reject();\n }\n\n ngModel.$viewValue = result.nextTime;\n ngModel.$render();\n return ngModel.$viewValue;\n });\n }\n\n return input;\n }\n }\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./directives/jf_cron_formatter/jf_cron_formatter.js","/*\n *\n * Artifactory is a binaries repository manager.\n * Copyright (C) 2018 JFrog Ltd.\n *\n * Artifactory is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * Artifactory is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with Artifactory. If not, see .\n *\n */\nimport EVENTS from '../../constants/artifacts_events.constants';\n\nclass jfBreadcrumbController {\n\n constructor($scope, $state, $stateParams, JFrogEventBus, $timeout) {\n\n this.$scope = $scope;\n this.$stateParams = $stateParams;\n this.$state = $state;\n this.JFrogEventBus = JFrogEventBus;\n this.$timeout = $timeout;\n this._registerEvents();\n\n this.updateBreadcrumb();\n }\n\n updateBreadcrumb() {\n this.$timeout(()=>{\n switch(this.$state.current.name) {\n case 'builds.all':\n this._initCrumbs();\n break;\n case 'builds.history':\n this._initCrumbs();\n this.crumbs.push({\n name:this.$stateParams.buildName,\n state:this.$state.current.name + '(' + JSON.stringify(this.$stateParams) + ')'\n });\n break;\n case 'builds.info':\n this._initCrumbs();\n this.crumbs.push({\n name: this.$stateParams.buildName,\n state: 'builds.history' + '(' + JSON.stringify({buildName:this.$stateParams.buildName}) + ')'\n });\n this.crumbs.push({\n name: this.$stateParams.buildNumber,\n state: 'builds.info' + '(' + JSON.stringify({buildName: this.$stateParams.buildName ,buildNumber: this.$stateParams.buildNumber}) + ')' });\n break;\n }\n });\n }\n\n _initCrumbs() {\n this.crumbs = [\n {name:'All Builds',state:'builds.all({})'}\n ];\n }\n\n _registerEvents() {\n this.JFrogEventBus.registerOnScope(this.$scope, EVENTS.BUILDS_BREADCRUMBS, () => {\n this.updateBreadcrumb();\n });\n }\n\n\n}\n\nexport function jfBreadcrumb() {\n\n return {\n restrict: 'E',\n scope: {\n },\n controller: jfBreadcrumbController,\n controllerAs: 'jfBreadcrumb',\n templateUrl: 'directives/jf_breadcrumb/jf_breadcrumb.html',\n bindToController: true\n };\n}\n\n\n\n// WEBPACK FOOTER //\n// ./directives/jf_breadcrumb/jf_breadcrumb.js","/*\n *\n * Artifactory is a binaries repository manager.\n * Copyright (C) 2018 JFrog Ltd.\n *\n * Artifactory is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * Artifactory is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with Artifactory. If not, see .\n *\n */\nimport EVENTS from \"../../constants/artifacts_events.constants\";\n\nclass jfSpinnerController {\n\n constructor($timeout, $scope, $state, JFrogEventBus, $element) {\n this.$scope = $scope;\n this.$state = $state;\n this.$timeout = $timeout;\n this.$element = $element;\n this.show = false;\n this.count = 0;\n this.JFrogEventBus = JFrogEventBus;\n this.intervalPromise = null;\n this.JFrogEventBus.registerOnScope(this.$scope, EVENTS.SHOW_SPINNER, (domain) => {\n this.showSpinner(domain);\n });\n this.JFrogEventBus.registerOnScope(this.$scope, EVENTS.HIDE_SPINNER, () => {\n this.hideSpinner()\n });\n this.JFrogEventBus.registerOnScope(this.$scope, EVENTS.CANCEL_SPINNER, () => {\n this.count--;\n if (this.count<0) this.count = 0;\n });\n }\n\n showSpinner(domain) {\n if ((!domain && this.domain === 'body' && this.$state.current.name === 'login') ||\n (!domain && this.domain === 'content' && this.$state.current.name !== 'login') ||\n (this.domain === domain)) {\n\n this.count++;\n this.show = true;\n this.lastShowTime = (new Date()).getTime();\n }\n }\n\n hideSpinner() {\n\n let doHide = () => {\n this.count--;\n if (this.count<0) this.count = 0;\n if (this.count === 0) {\n this.show = false;\n }\n }\n\n if (!this.lastShowTime) doHide();\n else {\n let timeOn = (new Date()).getTime() - this.lastShowTime;\n if (timeOn > 600) doHide();\n else {\n let addTime = 600 - timeOn;\n this.$timeout(()=>{\n doHide();\n },addTime);\n }\n }\n\n }\n\n isModalOpen() {\n return ($('.modal').length > 0) ? true : false;\n }\n\n getBrowser(){\n let userAgent = navigator.userAgent, temp,\n browserData = userAgent.match(/(opera|chrome|safari|firefox|msie|trident(?=\\/))\\/?\\s*(\\d+)/i) || [];\n if(/trident/i.test(browserData[1])){\n temp= /\\brv[ :]+(\\d+)/g.exec(userAgent) || [];\n return 'IE '+(temp[1] || '');\n }\n if(browserData[1]=== 'Chrome'){\n temp = userAgent.match(/\\b(OPR|Edge)\\/(\\d+)/);\n if(temp!= null) {\n return temp.slice(1).join(' ').replace('OPR', 'Opera');\n }\n }\n browserData = browserData[2]? [browserData[1], browserData[2]]: [navigator.appName, navigator.appVersion, '-?'];\n if((temp= userAgent.match(/version\\/(\\d+)/i))!= null) browserData.splice(1, 1, temp[1]);\n return browserData.join(' ');\n }\n\n}\n\nexport function jfSpinner() {\n\n return {\n restrict: 'E',\n scope: {\n domain: '@'\n },\n controller: jfSpinnerController,\n controllerAs: 'jfSpinner',\n templateUrl: 'directives/jf_spinner/jf_spinner.html',\n bindToController: true\n };\n}\n\n\n\n// WEBPACK FOOTER //\n// ./directives/jf_spinner/jf_spinner.js","/*\n *\n * Artifactory is a binaries repository manager.\n * Copyright (C) 2018 JFrog Ltd.\n *\n * Artifactory is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * Artifactory is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with Artifactory. If not, see .\n *\n */\nexport function jfDisableFeature(ArtifactoryFeatures, $timeout) {\n return {\n restrict: 'A',\n link: function ($scope, $element, $attrs) {\n // console.log($scope, $element, $attrs);\n let feature = $attrs.jfDisableFeature;\n let currentLicense = ArtifactoryFeatures.getCurrentLicense();\n if (!feature) return;\n if (ArtifactoryFeatures.isHidden(feature)) {\n $($element).hide();\n }\n else if (ArtifactoryFeatures.isDisabled(feature)) {\n if (currentLicense === \"OSS\" || currentLicense === \"ConanCE\" || currentLicense === \"JCR\") {\n $timeout(() => {\n $($element).find(\"*\").attr('disabled', true)\n }, 500, false);\n\n let license = ArtifactoryFeatures.getAllowedLicense(feature);\n // Add the correct class:\n $($element).addClass('license-required-' + license);\n $($element).addClass('license-required');\n\n // Add a tooltip with link to the feature page:\n let featureName = ArtifactoryFeatures.getFeatureName(feature);\n let featureLink = ArtifactoryFeatures.getFeatureLink(feature);\n\n let edition = currentLicense === 'ConanCE' ? `
Aritfactory Community Edition for C/C++` : currentLicense === 'JCR' ? 'JCR' : 'OSS';\n let tooltipText = featureLink ? `Learn more about the ${featureName} feature` : `${featureName} feature is not supported in ${edition} version`;\n\n\n let generateTooltip = (element, tooltipText) => {\n element.tooltipster({\n animation: 'fade',\n contentAsHTML : 'true',\n trigger: 'hover',\n onlyOne: 'true',\n interactive: 'true',\n interactiveTolerance: 150,\n position: 'top',\n theme: 'tooltipster-default top',\n content: tooltipText\n });\n };\n\n generateTooltip($($element), tooltipText);\n\n if (feature === 'publishedmodule') {\n setTimeout(() => {\n $($element).tooltipster('destroy');\n $element = $('.ui-grid-row').find('.ui-grid-disable-selection:first');\n generateTooltip($($element), tooltipText);\n }, 200)\n }\n } else if (feature === 'trustedkeys' && currentLicense != 'EDGE' && currentLicense != 'ENTPLUS') {\n return;\n }\n else {\n $($element).hide();\n }\n }\n }\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./directives/jf_disable_feature/jf_disable_feature.js","/*\n *\n * Artifactory is a binaries repository manager.\n * Copyright (C) 2018 JFrog Ltd.\n *\n * Artifactory is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * Artifactory is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with Artifactory. If not, see .\n *\n */\nexport function jfHideForAol() {\n\treturn {\n\t\trestrict: 'A',\n\t\tcontroller: function(ArtifactoryFeatures, $element) {\n\t\t\tif (ArtifactoryFeatures.isAol()) {\n\t\t\t\t$($element).hide();\n\t\t\t}\n\t\t}\n\t}\n}\n\n\n// WEBPACK FOOTER //\n// ./directives/jf_hide_for_aol/jf_hide_for_aol.js","/*\n *\n * Artifactory is a binaries repository manager.\n * Copyright (C) 2018 JFrog Ltd.\n *\n * Artifactory is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * Artifactory is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with Artifactory. If not, see .\n *\n */\nexport function jfFileDrop() {\n return {\n scope: {\n jfFileUploader: '=',\n jfFileDisabled: '=ngDisabled',\n addCallback: '&jfAddingFileCallback',\n showProgressBar: '='\n },\n restrict: 'E',\n templateUrl: 'directives/jf_file_drop/jf_file_drop.html',\n link: ($scope) => {\n $scope.jfFileUploader.onAfterAddingFile = (fileItem) => {\n $scope.jfFileUploader.queue = [fileItem];\n $scope.addCallback({fileItem: fileItem});\n }\n }\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./directives/jf_file_drop/jf_file_drop.js","/*\n *\n * Artifactory is a binaries repository manager.\n * Copyright (C) 2018 JFrog Ltd.\n *\n * Artifactory is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * Artifactory is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with Artifactory. If not, see .\n *\n */\nimport SpecialValues from './special_values';\n\nclass rtfactStorageViewerController {\n constructor($scope,$interval,BinaryProvidersInfoDao) {\n\n this.$scope = $scope;\n this.$interval = $interval;\n this.binaryProvidersInfoDao = BinaryProvidersInfoDao.getInstance();\n\n }\n\n $onInit() {\n if (!this.data) {\n this._getData();\n }\n else {\n this.data = this._transformData(this.data);\n }\n }\n\n _getData() {\n this.binaryProvidersInfoDao.get().$promise.then((data)=>{\n this.data = this._transformData(data);\n\n //debug aid\n if (localStorage._debugStorageViewer === 'true') this._installDebugHooks();\n })\n }\n\n _installDebugHooks() {\n window.setData = ((totals) => {\n this._setTestData(totals);\n this.$scope.$apply();\n }).bind(this);\n window.randomData = (doApply = true) => {\n let totals = [];\n let n = Math.round(Math.random()*15) + 1;\n for (let i = 0; i {\n this.$interval(()=>{\n randomData(false);\n },100)\n }\n }\n\n //debug aid\n _setTestData(totalSizes) {\n\n// let template = this.template = this.template ? this.template : this.data.subElements[0].subElements[0];\n let template = {\n \"data\": {\n \"baseDataDir\": \"/home/danny/workspace-4.2/artifactory/devenv/.artifactory/data\",\n \"period\": \"1\",\n \"usageSpace\": \"211439489024\",\n \"freeSpace\": \"23654612992\",\n \"totalSpace\": \"235094102016\",\n \"fileStoreDir\": \"shard-fs-1\",\n \"type\": \"state-aware\",\n \"binariesDir\": \"/home/danny/workspace-4.2/artifactory/devenv/.artifactory/data/shard-fs-1\",\n \"tempDir\": \"_pre\",\n \"usageSpaceInPercent\": \"89\",\n \"id\": \"shard-fs-3\",\n \"freeSpaceInPercent\": \"11\",\n \"essential\": \"true\"\n },\n \"caches\": [\n\n ]\n };\n\n let subs = [];\n\n for (let i in totalSizes) {\n let ts = totalSizes[i];\n let unsupported = false;\n if (_.isString(ts) && ts.endsWith('*')) {\n ts = ts.substr(0, ts.length - 1);\n unsupported = true;\n }\n let newStorage = angular.copy(template);\n newStorage.data.id = 'test-fs-'+i;\n newStorage.data.totalSpace = ts + '';\n\n if (unsupported) newStorage.data.usageSpace = SpecialValues.UNSUPPORTED_VALUE;\n else newStorage.data.usageSpace = _.isNumber(ts) ? Math.round(Math.random()*ts) + '' : Math.round(100000000000*Math.random()) + '';\n\n subs.push(newStorage);\n }\n\n if (window.storageRef) {\n window.storageRef.data.type = 'sharding';\n window.storageRef.data.id = 'mock-shard';\n window.storageRef.subElements = subs;\n// window.storageRef.data.quotaErrorLimit = 100 * Math.random();\n }\n else {\n window.storageRef = this.data;\n this.data.data.type='sharding';\n this.data.data.id='mock-shard';\n let cacheMock = angular.copy(template);\n cacheMock.data.id = 'cache-mock';\n this.data.caches = [cacheMock];\n this.data.subElements = subs;\n }\n\n\n\n/*\n if (this.debugInterval) {\n this.$interval.cancel(this.debugInterval);\n this.debugInterval = null;\n }\n\n this.debugInterval = this.$interval(()=>{\n subs.forEach((sub)=>{\n if (sub.data.usageSpace !== SpecialValues.UNSUPPORTED_VALUE) {\n sub.data.usageSpace = Math.round(parseFloat(sub.data.usageSpace) + (10000000000*Math.random()-5000000000)) + '';\n if (!SpecialValues.isSpecialValue(sub.data.totalSpace) && parseFloat(sub.data.usageSpace) > parseFloat(sub.data.totalSpace)) sub.data.usageSpace = sub.data.totalSpace;\n if (parseFloat(sub.data.usageSpace) < 0) sub.data.usageSpace = '0';\n if (SpecialValues.isSpecialValue(sub.data.totalSpace)) delete sub.displayWidth;\n }\n })\n },100)\n*/\n\n }\n\n _transformData(root) {\n let transformed = {};\n\n let isEmpty = (element) => {\n if (element.data) return false;\n if (element.subBinaryTreeElements && element.subBinaryTreeElements.length) return false;\n if (element.nextBinaryTreeElement && !isEmpty(element.nextBinaryTreeElement)) return false;\n\n return true;\n };\n\n let caches = [];\n let current = root;\n while (current) {\n let currentObj = {data: current.data};\n if (current.subBinaryTreeElements && current.subBinaryTreeElements.length) {\n currentObj.subElements = current.subBinaryTreeElements;\n for (let i = 0; i < currentObj.subElements.length; i++) {\n currentObj.subElements[i] = this._transformData(currentObj.subElements[i])\n }\n }\n if (currentObj.data && current.nextBinaryTreeElement && !isEmpty(current.nextBinaryTreeElement)) {\n caches.push(currentObj);\n current = current.nextBinaryTreeElement;\n }\n else if (!currentObj.data && current.nextBinaryTreeElement && !isEmpty(current.nextBinaryTreeElement)) {\n current = current.nextBinaryTreeElement;\n }\n else {\n transformed = currentObj;\n transformed.caches = caches;\n current = null;\n }\n }\n return transformed;\n }\n\n}\n\nexport function rtfactStorageViewer() {\n return {\n restrict: 'E',\n scope: {\n data: '=?'\n },\n controller: rtfactStorageViewerController,\n controllerAs: 'StorageViewer',\n templateUrl: 'directives/rtfact_storage_viewer/rtfact_storage_viewer.html',\n bindToController: true\n };\n}\n\n\n\n// WEBPACK FOOTER //\n// ./directives/rtfact_storage_viewer/rtfact_storage_viewer.js","/*\n *\n * Artifactory is a binaries repository manager.\n * Copyright (C) 2018 JFrog Ltd.\n *\n * Artifactory is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * Artifactory is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with Artifactory. If not, see .\n *\n */\nexport default {\n INFINITY_VALUE: 'infinite',\n UNSUPPORTED_VALUE: 'unsupported',\n isSpecialValue: function(val) {\n return val === this.INFINITY_VALUE || val === this.UNSUPPORTED_VALUE;\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./directives/rtfact_storage_viewer/special_values.js","/*\n *\n * Artifactory is a binaries repository manager.\n * Copyright (C) 2018 JFrog Ltd.\n *\n * Artifactory is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * Artifactory is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with Artifactory. If not, see .\n *\n */\nimport SpecialValues from './special_values';\nimport STORAGE_TYPES_DICTIONARY from './storage_types_dictionary.js';\nimport TOOLTIP from '../../constants/artifact_tooltip.constant';\n\nclass rtfactStorageElementController {\n constructor($element, $timeout, $filter) {\n this.SpecialValues = SpecialValues;\n this.$element = $element;\n this.fileSizeFilter = $filter('filesize');\n this.selectedSub = null;\n this.$timeout = $timeout;\n this.TOOLTIP = TOOLTIP.admin.advanced.storageSummary;\n this.MINIMUM_SUB_WIDTH = 10; //percent\n this.DEFAULT_UNKNOWN_WIDTH = 12; //percent\n this.STORAGE_TYPES_DICTIONARY = STORAGE_TYPES_DICTIONARY;\n }\n\n $onInit() {\n if (this.above) {\n this.above.below = this;\n }\n\n if (this.element.subElements && this.element.subElements.length) {\n this.calcSubWidths();\n }\n\n this.thresholds = this.getThresholds();\n }\n\n getSubWidth(sub) {\n if (sub.displayWidth) return sub.displayWidth+'%';\n else {\n this.minimumSubWidth = this.MINIMUM_SUB_WIDTH;\n this.unknownWidth = this.DEFAULT_UNKNOWN_WIDTH;\n this.calcSubWidths();\n return sub.displayWidth+'%';\n }\n }\n\n calcSubWidths() {\n let totalSubsSpace = 0;\n this.element.subElements.forEach((sub) => {\n if(!SpecialValues.isSpecialValue(sub.data.usageSpace)) {\n totalSubsSpace += parseFloat(!SpecialValues.isSpecialValue(sub.data.totalSpace) ? sub.data.totalSpace : sub.data.usageSpace);\n }\n });\n\n let totalPercents = 0;\n let totalPercentsNatural = 0;\n let belowMinimum = 0;\n let unknowns = 0;\n this.element.subElements.forEach((sub) => {\n let width;\n let natural = true;\n if (SpecialValues.isSpecialValue(sub.data.usageSpace)) {\n width = this.unknownWidth;\n unknowns++;\n natural = false;\n sub.unknown = true;\n }\n else {\n width = (parseFloat(!SpecialValues.isSpecialValue(sub.data.totalSpace) ? sub.data.totalSpace : sub.data.usageSpace) / totalSubsSpace)*100;\n if (width < this.minimumSubWidth) {\n width = this.minimumSubWidth;\n belowMinimum++;\n natural = false;\n }\n }\n\n if (natural) totalPercentsNatural += width;\n\n sub.displayWidth = width;\n totalPercents += width;\n });\n\n //normalize\n while ((totalPercents > 100.0001 || totalPercents < 99) && totalPercentsNatural > 0) {\n// console.log('!!');\n let minimumWidth = this.minimumSubWidth * belowMinimum + this.unknownWidth * unknowns;\n let remainingWidth = 100 - minimumWidth;\n let newTotal = 0;\n let newTotalNatural = 0;\n this.element.subElements.forEach((sub) => {\n if (sub.displayWidth === this.minimumSubWidth || sub.unknown) {\n newTotal += sub.displayWidth;\n }\n else {\n let normalWidth = (sub.displayWidth/totalPercentsNatural)*remainingWidth;\n if (normalWidth < this.minimumSubWidth) {\n normalWidth = this.minimumSubWidth;\n belowMinimum++;\n }\n else newTotalNatural += normalWidth;\n sub.displayWidth = normalWidth;\n newTotal += normalWidth;\n }\n });\n totalPercents = newTotal;\n totalPercentsNatural = newTotalNatural;\n }\n\n if (!totalPercentsNatural && totalPercents > 100) {\n this.minimumSubWidth *= 100/totalPercents;\n this.calcSubWidths();\n }\n\n if (totalPercents < 100 && totalPercentsNatural === 0 && unknowns === this.element.subElements.length) {\n this.unknownWidth = 100/unknowns;\n this.calcSubWidths();\n }\n\n }\n\n onClick(e) {\n e.stopImmediatePropagation();\n e.preventDefault();\n\n if (this.level === 'sub') {\n this.parent.onChildClicked(this);\n }\n }\n\n onChildClicked(child) {\n if (this.below) this.below.onChildClicked(null);\n this.selectedSub = this.selectedSub === child ? null : child;\n\n //for debug\n if (child && localStorage._debugStorageViewer === 'true' && window.storageRef) window.storageRef = child.element;\n }\n\n isTextOverflowing() {\n if (this.level !== 'sub') return false;\n let textContent = $(this.$element).find('.text-content');\n return textContent[0].scrollWidth > textContent.innerWidth();\n }\n\n getUsageString(includePercentage = false) {\n\n let usageSpace = this.getUsageSpace();\n let totalSpace = this.getTotalSpace();\n\n if (usageSpace === SpecialValues.UNSUPPORTED_VALUE) return null;\n else {\n let usageString = (usageSpace !== '0' ?\n this.fileSizeFilter(usageSpace) + ' / ' : (includePercentage ? '0 / ' : 'Empty - ')) +\n (!SpecialValues.isSpecialValue(totalSpace) ?\n this.fileSizeFilter(totalSpace) :\n (totalSpace === SpecialValues.INFINITY_VALUE ? '\\u221E' : '?'));\n\n if (includePercentage) {\n usageString += (!SpecialValues.isSpecialValue(totalSpace) ?\n ' (' + (100*usageSpace/totalSpace).toFixed(1) + '%)' : '');\n }\n return usageString;\n }\n }\n\n getThresholds() {\n let thresholds = [];\n\n if (this.element.caches && this.element.caches[0] && this.element.caches[0].data.quotaErrorLimit) {\n this.element.data.quotaErrorLimit = this.element.caches[0].data.quotaErrorLimit;\n delete this.element.caches[0].data.quotaErrorLimit;\n }\n if (this.element.caches && this.element.caches[0] && this.element.caches[0].data.quotaWarningLimit) {\n this.element.data.quotaWarningLimit = this.element.caches[0].data.quotaWarningLimit;\n delete this.element.caches[0].data.quotaWarningLimit;\n }\n\n if (this.element.data && this.element.data.quotaErrorLimit) {\n thresholds.push({\n value: this.element.data.quotaErrorLimit,\n type: 'error'\n })\n }\n if (this.element.data && this.element.data.quotaWarningLimit) {\n thresholds.push({\n value: this.element.data.quotaWarningLimit,\n type: 'warning'\n })\n }\n\n return thresholds;\n }\n\n getUsageSpace() {\n return this.element.data.type === 'cache-fs' ? this.element.data.usageCacheSpace : this.element.data.usageSpace;\n }\n\n getTotalSpace() {\n return this.element.data.type === 'cache-fs' ? this.element.data.maxCacheSize : this.element.data.totalSpace;\n }\n\n wordify(str) {\n return _.words(_.capitalize(str)).join(' ');\n }\n\n prettyTimeDiff(ms) {\n\n if (ms < 1000) return ms + ' milliseconds';\n\n const SEC = 1000;\n const MIN = 60*SEC;\n const HOUR = 60*MIN;\n const DAY = 24*HOUR;\n const YEAR = 365*DAY;\n\n let parts = {};\n\n parts.years = Math.floor(ms/YEAR);\n parts.days = Math.floor((ms-parts.years*YEAR)/DAY);\n parts.hours = Math.floor((ms-(parts.years*YEAR + parts.days*DAY))/HOUR);\n parts.minutes = Math.floor((ms-(parts.years*YEAR + parts.days*DAY + parts.hours*HOUR))/MIN);\n parts.seconds = Math.floor((ms-(parts.years*YEAR + parts.days*DAY + parts.hours*HOUR + parts.minutes*MIN))/SEC);\n\n let formattedParts = [];\n\n let addPart = (part) => {\n if (parts[part]) {\n let formatted = parts[part]+` ${part.substr(0,part.length-1)}` + (parts[part] !== 1 ? 's' : '');\n formattedParts.push(formatted);\n }\n }\n\n for (let part in parts) {\n addPart(part);\n }\n\n if (formattedParts.length >= 2) formattedParts[formattedParts.length-1] = 'and ' + formattedParts[formattedParts.length-1];\n\n return formattedParts.join(', ');\n }\n\n}\n\nexport function rtfactStorageElement(recursiveDirective) {\n return {\n restrict: 'E',\n scope: {\n level: '@', //'top' / 'sub'\n element: '=',\n parent: '=',\n above: '='\n },\n controller: rtfactStorageElementController,\n controllerAs: 'StorageElement',\n templateUrl: 'directives/rtfact_storage_viewer/rtfact_storage_element.html',\n bindToController: true,\n compile: (element) => {\n return recursiveDirective.compile(element);\n }\n };\n}\n\n\n\n// WEBPACK FOOTER //\n// ./directives/rtfact_storage_viewer/rtfact_storage_element.js","/*\n *\n * Artifactory is a binaries repository manager.\n * Copyright (C) 2018 JFrog Ltd.\n *\n * Artifactory is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * Artifactory is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with Artifactory. If not, see .\n *\n */\nexport default {\n 'blob': 'Full DB',\n 'sharding': 'Sharding',\n 's3': 'S3',\n 'google-storage': 'GCS',\n 'eventual': 'Eventual',\n 'external-file': 'External Storage',\n 'external-wrapper': 'External Wrapper',\n 'file-system': 'File System',\n 'cache-fs': 'Cache FS',\n 'state-aware': 'State Aware',\n 'hdfs': 'HDFS',\n 'retry': 'Retry',\n 'tracking': 'Tracking',\n 's3Old': 'S3'\n}\n\n\n// WEBPACK FOOTER //\n// ./directives/rtfact_storage_viewer/storage_types_dictionary.js","/*\n *\n * Artifactory is a binaries repository manager.\n * Copyright (C) 2018 JFrog Ltd.\n *\n * Artifactory is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * Artifactory is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with Artifactory. If not, see .\n *\n */\nimport SpecialValues from './special_values';\n\nclass rtfactStorageUsageController {\n constructor() {\n this.SpecialValues = SpecialValues;\n }\n\n getPercents() {\n if (!SpecialValues.isSpecialValue(this.total)) return ((this.used / this.total) * 100) + '%';\n else return 'calc(100% - 40px)'\n }\n isStorageFull(){\n return (!SpecialValues.isSpecialValue(this.total)\n && (Math.trunc((this.used / this.total)*100) == 100));\n }\n}\n\nexport function rtfactStorageUsage() {\n return {\n restrict: 'E',\n scope: {\n total: '=',\n used: '=',\n thresholds: '='\n },\n controller: rtfactStorageUsageController,\n controllerAs: 'StorageUsage',\n templateUrl: 'directives/rtfact_storage_viewer/rtfact_storage_usage.html',\n bindToController: true\n };\n}\n\n\n\n// WEBPACK FOOTER //\n// ./directives/rtfact_storage_viewer/rtfact_storage_usage.js","/*\n *\n * Artifactory is a binaries repository manager.\n * Copyright (C) 2018 JFrog Ltd.\n *\n * Artifactory is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * Artifactory is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with Artifactory. If not, see .\n *\n */\n/**\n * Validates an input to be valid entiyy name\n */\nexport function jfValidatorName(NameValidatorDao, $q, $timeout) {\n return {\n restrict: 'A',\n require: 'ngModel',\n link: function jfValidatorName(scope, element, attrs, ngModel) {\n\n let nameValidatorDao = NameValidatorDao.getInstance();\n ngModel.$asyncValidators.name = validateName;\n\n function validateName(modelValue, viewValue) {\n var value = modelValue || viewValue;\n\n if (!value) {\n return $q.when();\n }\n\n return nameValidatorDao.get({name: value}).$promise\n .then(function (result) {\n if (result.error) {\n return $q.reject();\n }\n return true;\n });\n }\n }\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./directives/validators/jf_validator_name.js","/*\n *\n * Artifactory is a binaries repository manager.\n * Copyright (C) 2018 JFrog Ltd.\n *\n * Artifactory is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * Artifactory is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with Artifactory. If not, see .\n *\n */\n/**\n * Validates an input to not be a numeric value\n */\nexport function jfValidatorNamePrefixNotNumeric() {\n return {\n restrict: 'A',\n require: 'ngModel',\n link: (scope, element, attrs, ngModel) => {\n ngModel.$validators.notPrefixedWithNumeric = (modelValue, viewValue) => {\n let value = modelValue || viewValue;\n let firstChar = value.charAt(0);\n let firstCharIsNotNumber = !(firstChar >='0' && firstChar <='9');\n let notNumericValue = isNaN(value) && value !='';\n return notNumericValue && firstCharIsNotNumber;\n };\n }\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./directives/validators/jf_validator_name_prefix_not_numeric.js","/*\n *\n * Artifactory is a binaries repository manager.\n * Copyright (C) 2018 JFrog Ltd.\n *\n * Artifactory is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * Artifactory is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with Artifactory. If not, see .\n *\n */\n/**\n * Validates an input to be unique id in the config descriptor\n */\nexport function jfValidatorUniqueId(UniqueIdValidatorDao, $q, $timeout) {\n return {\n restrict: 'A',\n require: 'ngModel',\n link: function jfValidatorUniqueId(scope, element, attrs, ngModel) {\n\n let uniqueIdDao = UniqueIdValidatorDao.getInstance();\n ngModel.$asyncValidators.uniqueId = validateUniqueId;\n\n function validateUniqueId(modelValue, viewValue) {\n // Don't validate disabled fields\n if ($(element).is(':disabled')) return $q.when();\n\n var value = modelValue || viewValue;\n\n if (!value) return $q.when();\n\n return uniqueIdDao.get({id: value}).$promise\n .then(function (result) {\n if (result.error) {\n return $q.reject();\n }\n return true;\n });\n }\n }\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./directives/validators/jf_validator_unique_id.js","/*\n *\n * Artifactory is a binaries repository manager.\n * Copyright (C) 2018 JFrog Ltd.\n *\n * Artifactory is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * Artifactory is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with Artifactory. If not, see .\n *\n */\n/**\n * Validates an input to be valid XMLCName\n */\nexport function jfValidatorXmlName(XmlNameDao, $q, $timeout) {\n return {\n restrict: 'A',\n require: 'ngModel',\n link: function jfValidatorXmlName(scope, element, attrs, ngModel) {\n\n let xmlNameDao = XmlNameDao.getInstance();\n ngModel.$asyncValidators.xmlName = validateXmlName;\n\n function validateXmlName(modelValue, viewValue) {\n var value = modelValue || viewValue;\n\n if (!value) {\n return $q.when();\n }\n\n return xmlNameDao.get({xmlName: value}).$promise\n .then(function (result) {\n if (result.error) {\n return $q.reject();\n }\n return true;\n });\n }\n }\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./directives/validators/jf_validator_xml_name.js","/*\n *\n * Artifactory is a binaries repository manager.\n * Copyright (C) 2018 JFrog Ltd.\n *\n * Artifactory is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * Artifactory is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with Artifactory. If not, see .\n *\n */\nexport function jfValidatorCron(CronTimeDao, $q, $timeout, JFrogNotifications) {\n return {\n restrict: 'A',\n require: 'ngModel',\n /**\n * Register an async validator on cron expressions\n */\n link: function jfCronValidatorLink(scope, element, attrs, ngModel) {\n let cronTimeDao = CronTimeDao.getInstance();\n\n let cache = {};\n\n // Get from server and cache result, or get from cache\n function getFromServer(data) {\n if (!cache[data.cron]) {\n cache[data.cron] = cronTimeDao.get(data).$promise;\n }\n return cache[data.cron];\n }\n\n // This is a factory function that creates a validation function for the cron expression\n // It will be executed per validation key, and return an error only if the server returns\n // an error that matches the key\n function validateCron(key) {\n return function (modelValue, viewValue) {\n var value = modelValue || viewValue;\n\n if (!value) {\n\n return $q.when();\n }\n // No need to check with server if the cron is less than 11 chars\n if (value.length < 11) {\n if (key === 'invalidCron') {\n return $q.reject();\n }\n else {\n return $q.when();\n }\n }\n\n let data = {cron: value};\n if (attrs.jfValidatorCronIsReplication) {\n data.isReplication = true;\n }\n\n // Get from server (or cached result)\n return getFromServer(data)\n .catch(function (result) {\n if (result.data.error === key || (result.data.feedbackMsg && result.data.feedbackMsg.error === key)) {\n // The server responded with error message that matches this validator\n if (key === 'shortCron') {\n // shortCron is not an invalid value, just notify the user about it:\n JFrogNotifications.create({\n warn: \"The current Cron expression will \" +\n \"result in very frequent replications. This will impact system\" +\n \" performance.\"});\n return true;\n }\n return $q.reject();\n }\n return true;\n });\n }\n }\n\n // Message is per key, so need 3 different keys (even though REST is the same)\n // Possible keys: invalid cron expression, next execution is too close in the future, next execution is in the past\n ngModel.$asyncValidators.invalidCron = validateCron('invalidCron');\n ngModel.$asyncValidators.shortCron = validateCron('shortCron');\n ngModel.$asyncValidators.pastCron = validateCron('pastCron');\n }\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./directives/validators/jf_validator_cron.js","/*\n *\n * Artifactory is a binaries repository manager.\n * Copyright (C) 2018 JFrog Ltd.\n *\n * Artifactory is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * Artifactory is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with Artifactory. If not, see .\n *\n */\nexport function jfValidatorLdapUrl() {\n return {\n restrict: 'A',\n require: 'ngModel',\n link: function jfValidatorLdapUrl(scope, element, attrs, ngModel) {\n\n registerTransformers();\n\n function registerTransformers() {\n ngModel.$validators.ldapUrl = validateLdapUrl;\n }\n\n function validateLdapUrl(modelValue, viewValue) {\n //var regex = /^(?:(?:ldaps?):\\/\\/)(?:\\S+(?::\\S*)?@)?(?:(?!10(?:\\.\\d{1,3}){3})(?!127(?:\\.\\d{1,3}){3})(?!169\\.254(?:\\.\\d{1,3}){2})(?!192\\.168(?:\\.\\d{1,3}){2})(?!172\\.(?:1[6-9]|2\\d|3[0-1])(?:\\.\\d{1,3}){2})(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z\\u00a1-\\uffff0-9]+-?)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]+-?)*[a-z\\u00a1-\\uffff0-9]+)*(?:\\.(?:[a-z\\u00a1-\\uffff]{2,})))(?::\\d{2,5})?(?:\\/[^\\s]*)?$/i;\n var regex = /^(?:(?:ldaps?):\\/\\/)(?:\\S+(?::\\S*)?@)?(?:(?!10(?:\\.\\d{1,3}){3})(?!127(?:\\.\\d{1,3}){3})(?!169\\.254(?:\\.\\d{1,3}){2})(?!192\\.168(?:\\.\\d{1,3}){2})(?!172\\.(?:1[6-9]|2\\d|3[0-1])(?:\\.\\d{1,3}){2})(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z\\u00a1-\\uffff0-9]+-?)*[a-z\\u00a1-\\uffff0-9]+)(?:\\.(?:[a-z\\u00a1-\\uffff0-9]+-?)*[a-z\\u00a1-\\uffff0-9]+)*(?:.(?:[a-z\\u00a1-\\uffff]{0,})))(?::\\d{2,5})?(?:\\/[^\\s]*)?$/i;\n return regex.test(viewValue);\n }\n }\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./directives/validators/jf_validator_ldap_url.js","/*\n *\n * Artifactory is a binaries repository manager.\n * Copyright (C) 2018 JFrog Ltd.\n *\n * Artifactory is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * Artifactory is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with Artifactory. If not, see .\n *\n */\nexport function jfValidatorPathPattern() {\n return {\n restrict: 'A',\n require: 'ngModel',\n link: function jfValidatorPathPattern(scope, element, attrs, ngModel) {\n\n registerTransformers();\n\n function registerTransformers() {\n ngModel.$validators.pathPattern = validatePathPattern;\n }\n\n function validatePathPattern(modelValue, viewValue) {\n if (!viewValue) return false;\n\n let ok = true;\n\n let tokens = [\"(org|orgPath)\", \"module\", \"baseRev\"];\n\n for (let i in tokens) {\n let token = tokens[i];\n let regex = new RegExp('\\\\['+token+'\\\\]');\n if (!viewValue.match(regex)) {\n ok = false;\n break;\n }\n }\n\n return ok;\n }\n }\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./directives/validators/jf_validator_path_pattern.js","/*\n *\n * Artifactory is a binaries repository manager.\n * Copyright (C) 2018 JFrog Ltd.\n *\n * Artifactory is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * Artifactory is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with Artifactory. If not, see .\n *\n */\nexport function jfValidatorIntValue() {\n return {\n restrict: 'A',\n require: 'ngModel',\n link: function jfIntegerValueValidator(scope, element, attrs, ngModel) {\n\n registerTransformers();\n\n function registerTransformers() {\n ngModel.$validators.integerValue = validateInteger;\n }\n\n function validateInteger(modelValue, viewValue) {\n return parseInt(viewValue).toString() === viewValue;\n }\n }\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./directives/validators/jf_validator_int_value.js","/*\n *\n * Artifactory is a binaries repository manager.\n * Copyright (C) 2018 JFrog Ltd.\n *\n * Artifactory is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * Artifactory is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with Artifactory. If not, see .\n *\n */\nexport function jfValidatorMaxTextLength() {\n return {\n restrict: 'A',\n require: 'ngModel',\n link: function jfLimitTextLengthValidator(scope, element, attrs, ngModel) {\n\n let limitTo = attrs.maxlength || attrs.jfValidatorMaxTextLength;\n\n registerTransformers();\n\n function registerTransformers() {\n ngModel.$validators.maxlength = validateTextLength;\n }\n\n function validateTextLength(modelValue, viewValue) {\n let ok = !viewValue || viewValue.length <= parseInt(limitTo);\n return ok;\n }\n }\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./directives/validators/jf_validator_max_text_length.js","/*\n *\n * Artifactory is a binaries repository manager.\n * Copyright (C) 2018 JFrog Ltd.\n *\n * Artifactory is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * Artifactory is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with Artifactory. If not, see .\n *\n */\nexport function jfSpecialChars() {\n return {\n restrict: 'A',\n require: 'ngModel',\n link: function jfSpecialCharsLink(scope, element, attrs, ngModel) {\n\n let disallowedSymbols = [ '/', '\\\\', '<', '>', '~', '!', '@', '#', '$',\n '%', '^', '&', '(', ')', '+', '=', '-', '{', '}',\n '[', ']', ';', ',', '`', ',', ' '];\n\n ngModel.$validators.validCharacters = function(modelValue, viewValue) {\n let value = modelValue || viewValue;\n if (!value) {\n return true;\n }\n value = value.split('');\n let valid = true;\n\n for (let i = 0, limit = value.length; i < limit; i++) {\n if (disallowedSymbols.indexOf(value[i]) > -1) {\n valid = false;\n }\n }\n return valid;\n }\n }\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./directives/jf_special_chars/jf_special_chars.js","/*\n *\n * Artifactory is a binaries repository manager.\n * Copyright (C) 2018 JFrog Ltd.\n *\n * Artifactory is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * Artifactory is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with Artifactory. If not, see .\n *\n */\nimport fieldsValuesDictionary from \"../../constants/field_options.constats\";\n\nexport function jfRepokeyValidator(RepositoriesDao, $q, $timeout) {\n return {\n restrict: 'A',\n require: 'ngModel',\n scope:{\n controller:'=jfRepokeyValidator'\n },\n link: function jfRepokeyValidatorLink(scope, element, attrs, ngModel) {\n\n\n ngModel.$asyncValidators.repoKeyValidator = validateRepoKey;\n\n function validateRepoKey(modelValue, viewValue) {\n let repoKey = modelValue || viewValue;\n let repoType = scope.controller.repoType;\n\n if (repoType === 'distribution' && scope.controller.$stateParams.distRepoType === 'ReleaseBundles') repoType = 'releaseBundles';\n\n if (!repoKey) return $q.when();\n\n return RepositoriesDao.repoKeyValidator({repoKey, repoType}).$promise\n .then(function (result) {\n if (result.error) {\n scope.controller.repoKeyValidatorMessage = result.error;\n return $q.reject();\n }\n else if (scope.controller.repoInfo.isType('docker') && repoKey.toLowerCase() !== repoKey) {\n scope.controller.repoKeyValidatorMessage = 'Docker repository key must be in lowercase';\n return $q.reject();\n }\n else if (scope.controller.repoInfo.type === 'localRepoConfig' && repoKey.toLowerCase().endsWith('-cache')) {\n scope.controller.repoKeyValidatorMessage = 'Cannot create local repository with \"-cache\" ending';\n return $q.reject();\n }\n return true;\n });\n }\n }\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./directives/jf_repokey_validator/jf_repokey_validtaor.js","/*\n *\n * Artifactory is a binaries repository manager.\n * Copyright (C) 2018 JFrog Ltd.\n *\n * Artifactory is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * Artifactory is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with Artifactory. If not, see .\n *\n */\nexport default {\n localChecksumPolicy:{\n CLIENT:'Verify against client checksums',\n SERVER:'Trust server generated checksums'\n },\n remoteChecksumPolicy:{\n GEN_IF_ABSENT:'Generate if absent',\n FAIL:'Fail',\n IGNORE_AND_GEN:'Ignore and generate',\n PASS_THRU:'Ignore and pass-through'\n },\n snapshotRepositoryBehavior:{\n UNIQUE:'Unique',\n NONUNIQUE:'Non-unique',\n DEPLOYER:'Deployer'\n },\n pomCleanupPolicy:{\n discard_active_reference:'Discard active references',\n discard_any_reference:'Discard any reference',\n nothing:'Nothing'\n },\n dockerApiVersion:{\n V1:'V1',\n V2:'V2'\n },\n vcsGitProvider:{\n GITHUB:'GitHub',\n BITBUCKET:'BitBucket',\n STASH:'Stash / Private BitBucket',\n OLDSTASH:'Stash / Private BitBucket (prior to 5.1.0)',\n ARTIFACTORY:'Artifactory',\n CUSTOM:'Custom'\n },\n defaultLayouts:{\n maven:'maven-2-default',\n ivy:'ivy-default',\n gradle:'gradle-default',\n nuget:'nuget-default',\n npm:'npm-default',\n bower:'bower-default',\n composer:'composer-default',\n conan:'conan-default',\n puppet: 'puppet-default',\n vcs:'vcs-default',\n sbt:'sbt-default'\n },\n REPO_TYPE:{\n LOCAL:'local',\n REMOTE:'remote',\n VIRTUAL: 'virtual',\n DISTRIBUTION: 'distribution'\n },\n repoPackageTypes:[\n {\n \"serverEnumName\": \"Bower\",\n \"value\": \"bower\",\n \"text\": \"Bower\",\n \"icon\": 'bower',\n \"repoType\": ['local', 'remote', 'virtual'],\n \"description\": 'Bower package manager is optimized for front-end development. A Bower repository will allow you to easily manage your Bower packages and proxy remote Bower repositories.'\n },\n {\n \"serverEnumName\": \"Chef\",\n \"value\": \"chef\",\n \"text\": \"Chef\",\n \"icon\": 'chef',\n \"repoType\": ['local', 'remote', 'virtual'],\n \"description\": 'Chef Description' // TODO\n },\n {\n \"serverEnumName\": \"CocoaPods\",\n \"value\": \"cocoapods\",\n \"text\": \"CocoaPods\",\n \"icon\": 'cocoapods',\n \"repoType\": ['local', 'remote'],\n \"description\": 'CocoaPods is an application level dependency manager for the Objective-C programming language and any other languages that run on the Objective-C runtime, that provides a standard format for managing external libraries.'\n },\n {\n \"serverEnumName\": \"Conan\",\n \"value\": \"conan\",\n \"text\": \"Conan\",\n \"icon\": 'conan',\n \"repoType\": ['local', 'remote', 'virtual'],\n \"description\": 'Conan is a portable package manager, intended for C and C++ developers, but it is able to manage builds from source, dependencies, and precompiled binaries for any language.'\n },\n {\n \"serverEnumName\": \"Conda\",\n \"value\": \"conda\",\n \"text\": \"Conda\",\n \"icon\": 'conda',\n \"repoType\": ['local', 'remote', 'virtual']\n },\n {\n \"serverEnumName\": \"CRAN\",\n \"value\": \"cran\",\n \"text\": \"CRAN\",\n \"icon\": 'cran',\n \"repoType\": ['local', 'remote', 'virtual'],\n \"description\": ''\n },\n {\n \"serverEnumName\": \"Debian\",\n \"value\": \"debian\",\n \"text\": \"Debian\",\n \"icon\": 'debian',\n \"repoType\": ['local', 'remote', 'virtual'],\n \"description\": 'A Debian repository will allow you to host, cache and distribute your packages for Debian based operating systems such as Ubuntu.'\n },\n {\n \"serverEnumName\": \"Docker\",\n \"value\": \"docker\",\n \"text\": \"Docker\",\n \"icon\": 'docker',\n \"repoType\": ['local', 'remote', 'virtual'],\n \"description\": 'Docker allows you to package an application with all of its dependencies into a standardized unit for software development. A Docker repository will allow you to easily and securely manage your Docker images.'\n },\n {\n \"serverEnumName\": \"Gems\",\n \"value\": \"gems\",\n \"text\": \"Gems\",\n \"icon\": 'gems',\n \"repoType\": ['local', 'remote', 'virtual'],\n \"description\": 'A RubyGems repository allows you to easily download, install, and use ruby software packages in your system. Gems can be used to extend or modify functionality in Ruby applications.'\n },\n {\n \"serverEnumName\": \"GitLfs\",\n \"value\": \"gitlfs\",\n \"text\": \"Git LFS\",\n \"icon\": 'git-lfs',\n \"repoType\": ['local', 'remote', 'virtual'],\n \"description\": 'Git LFS replaces large files such as audio samples, videos, datasets, and graphics with text pointers inside Git, while storing the file contents in an Artifactory repository. This allows you to work with the same Git workflow, but with better access control, faster download and more repository space.'\n },\n {\n \"serverEnumName\": \"Go\",\n \"value\": \"go\",\n \"text\": \"Go\",\n \"icon\": 'golang',\n \"repoType\": ['local', 'remote', 'virtual'],\n \"description\": ''\n },\n {\n \"serverEnumName\": \"Gradle\",\n \"value\": \"gradle\",\n \"text\": \"Gradle\",\n \"icon\": 'gradle',\n \"repoType\": ['local', 'remote', 'virtual'],\n \"description\": 'Gradle is a build automation tool which lets model your problem domain declaratively using a powerful and expressive domain-specific language (DSL) implemented in Groovy.'\n },\n {\n \"serverEnumName\": \"Helm\",\n \"value\": \"helm\",\n \"text\": \"Helm\",\n \"icon\": 'helm',\n \"repoType\": ['local', 'remote', 'virtual'],\n \"description\": ''\n },\n {\n \"serverEnumName\": \"Ivy\",\n \"value\": \"ivy\",\n \"text\": \"Ivy\",\n \"icon\": 'ivy',\n \"repoType\": ['local', 'remote', 'virtual'],\n \"description\": 'Apache Ivy is a popular dependency manager focusing on flexibility and simplicity. Ivy offers full integration with ant, and a strong transitive dependency management engine.'\n },\n {\n \"serverEnumName\": \"Maven\",\n \"value\": \"maven\",\n \"text\": \"Maven\",\n \"icon\": 'maven',\n \"repoType\": ['local', 'remote', 'virtual'],\n \"description\": 'Apache Maven is a build automation tool which provides useful project information from your project’s sources.'\n },\n {\n \"serverEnumName\": \"Npm\",\n \"value\": \"npm\",\n \"text\": \"npm\",\n \"icon\": 'npm',\n \"repoType\": ['local', 'remote', 'virtual'],\n \"description\": 'npm package manager makes it easy for JavaScript developers to share, reuse code, and update code. Host your own node.js packages in Artifactory and proxy remote npm repositories. Use npm against a single in-house repository under your control for your all npm needs.'\n },\n {\n \"serverEnumName\": \"NuGet\",\n \"value\": \"nuget\",\n \"text\": \"NuGet\",\n \"icon\": 'nuget',\n \"repoType\": ['local', 'remote', 'virtual'],\n \"description\": 'NuGet is the package manager for Microsoft development platforms including .NET. Host and proxy NuGet packages in Artifactory, and pull libraries from Artifactory into your various Visual Studio .NET applications.'\n },\n {\n \"serverEnumName\": \"Opkg\",\n \"value\": \"opkg\",\n \"text\": \"Opkg\",\n \"icon\": 'opkg',\n \"repoType\": ['local', 'remote'],\n \"description\": 'Opkg is a lightweight package management system based upon ipkg. It is intended for use on embedded Linux devices, and is commonly used for IoT.'\n },\n {\n \"serverEnumName\": \"Composer\",\n \"value\": \"composer\",\n \"text\": \"PHP Composer\",\n \"icon\": 'composer',\n \"repoType\": ['local', 'remote'],\n \"description\": 'Composer is a dependency manager for PHP.'\n },\n {\n \"serverEnumName\": \"P2\",\n \"value\": \"p2\",\n \"text\": \"P2\",\n \"icon\": 'p2',\n \"repoType\": ['remote', 'virtual'],\n \"description\": 'P2 provides a provisioning platform for Eclipse and Equinox-based applications.'\n },\n {\n \"serverEnumName\": \"Pypi\",\n \"value\": \"pypi\",\n \"text\": \"PyPI\",\n \"icon\": 'pypi',\n \"repoType\": ['local', 'remote', 'virtual'],\n \"description\": 'The Python Package Index for the Python programming language. Transparently resolve PyPI distribution locations, whether local or remote. Exercise fine-grained access control to all PyPI resources with comprehensive security measures and full support for pip.'\n },\n {\n \"serverEnumName\": \"Puppet\",\n \"value\": \"puppet\",\n \"text\": \"Puppet\",\n \"icon\": 'puppet',\n \"repoType\": ['local', 'remote', 'virtual'],\n \"description\": 'A repository of puppet modules.'\n },\n {\n \"serverEnumName\": \"SBT\",\n \"value\": \"sbt\",\n \"text\": \"SBT\",\n \"icon\": 'sbt',\n \"repoType\": ['local', 'remote', 'virtual'],\n \"description\": 'Sbt is a build tool for the Scala community and Java projects. Sbt uses advanced concepts to provide flexible and powerful build definitions.'\n },\n {\n \"serverEnumName\": \"Vagrant\",\n \"value\": \"vagrant\",\n \"text\": \"Vagrant\",\n \"icon\": 'vagrant',\n \"repoType\": ['local'],\n \"description\": 'Vagrant provides easy-to-configure, reproducible, and portable work environments built on top of industry-standard technology and controlled by a single consistent workflow.'\n },\n {\n \"serverEnumName\": \"VCS\",\n \"value\": \"vcs\",\n \"text\": \"VCS\",\n \"icon\": 'vcs',\n \"repoType\": ['remote'],\n \"description\": 'A VCS remote repository gives you stable and reliable access to your source code with security and access control, along with smart search capabilities for any of the supported version control systems.'\n },\n {\n \"serverEnumName\": \"YUM\",\n \"value\": \"yum\",\n \"text\": \"RPM\",\n \"icon\": 'rpm',\n \"repoType\": ['local', 'remote', 'virtual'],\n \"description\": 'An RPM repository will allow you to host, cache and distribute your RPM packages.'\n },\n {\n \"serverEnumName\": \"Generic\",\n \"value\": \"generic\",\n \"text\": \"Generic\",\n \"icon\": 'generic',\n \"repoType\": ['local', 'remote', 'virtual'],\n \"description\": 'A generic repository can be used to host and proxy any type of file.'\n },\n {\n \"serverEnumName\": \"BuildInfo\",\n \"value\": \"buildinfo\",\n \"text\": \"Build Info\",\n \"icon\": 'builds-new',\n \"repoType\": []\n },\n {\n \"serverEnumName\": \"Support\",\n \"value\": \"supportbundle\",\n \"text\": \"Support Bundle\",\n \"icon\": 'support',\n \"repoType\": []\n }\n ],\n sslCertificate:{\n subject:'Subject',\n issuer:'Issuer',\n certificate: 'Certificate',\n common_name: 'Common Name',\n organization: 'Organization',\n unit: 'Unit',\n issued_on: 'Issued On',\n valid_until: 'Valid Until',\n fingerprint: 'Fingerprint',\n dateFields:['issued_on','valid_until'],\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./constants/field_options.constats.js","/*\n *\n * Artifactory is a binaries repository manager.\n * Copyright (C) 2018 JFrog Ltd.\n *\n * Artifactory is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * Artifactory is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with Artifactory. If not, see .\n *\n */\nexport function jfValidatorDateFormat(DateFormatDao, $q, $timeout) {\n return {\n restrict: 'A',\n require: 'ngModel',\n link: function jfValidatorDateFormat(scope, element, attrs, ngModel) {\n\n let dateFormatDao = DateFormatDao.getInstance();\n ngModel.$asyncValidators.dateFormatExpression = validateDateFormat;\n\n function validateDateFormat(modelValue, viewValue) {\n var value = modelValue || viewValue;\n\n if (!value) {\n return $q.when();\n }\n\n return dateFormatDao.get({dateformat: value}).$promise\n .then(function (result) {\n if (result.error) {\n return $q.reject();\n }\n return true;\n });\n }\n }\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./directives/validators/jf_validator_date_format.js","/*\n *\n * Artifactory is a binaries repository manager.\n * Copyright (C) 2018 JFrog Ltd.\n *\n * Artifactory is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * Artifactory is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with Artifactory. If not, see .\n *\n */\n/**\n * Validates an input to be valid entiyy name\n */\nexport function jfValidatorReverseProxyPort(ReverseProxiesDao, $q, $timeout) {\n return {\n restrict: 'A',\n require: 'ngModel',\n link: function jfValidatorReverseProxyPort(scope, element, attrs, ngModel) {\n\n let repoKey = attrs.jfValidatorReverseProxyPort;\n\n let portValidatorDao = ReverseProxiesDao;\n ngModel.$asyncValidators.port = validatePort;\n\n function validatePort(modelValue, viewValue) {\n var value = modelValue || viewValue;\n\n if (!value) {\n return $q.when();\n }\n\n return ReverseProxiesDao.checkPort(repoKey ? {repoKey: repoKey} : {},{port: value}).$promise\n .then(function (result) {\n if (!result.portAvailable) {\n return $q.reject();\n }\n return true;\n });\n }\n }\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./directives/validators/jf_validator_reverse_proxy_port.js","/*\n *\n * Artifactory is a binaries repository manager.\n * Copyright (C) 2018 JFrog Ltd.\n *\n * Artifactory is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * Artifactory is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with Artifactory. If not, see .\n *\n */\nimport EVENTS from '../../constants/artifacts_events.constants';\nimport TOOLTIP from '../../constants/artifact_tooltip.constant';\n\nclass jfManageProLicenseController {\n\n constructor(RegisterProDao, JFrogEventBus, User, $state, ArtifactoryModelSaver, ArtifactoryState, JFrogNotifications) {\n this.ArtifactoryState = ArtifactoryState;\n this.registerProDao = RegisterProDao;\n this.$state = $state;\n this.JFrogEventBus = JFrogEventBus;\n this.User=User;\n this.artifactoryNotifications = JFrogNotifications;\n this.TOOLTIP = TOOLTIP.admin.configuration.registerPro;\n this.ArtifactoryModelSaver = ArtifactoryModelSaver.createInstance(this, ['registerDetails']);\n this.getData();\n this.dndHeadingHtml = `Enter your license key below or`+\n ` drop a file \n \n .`;\n this.dndStyle = {'width':\"100%\",'height':\"230px\"};\n this.dndOnError = (errorMessage) =>{\n this.artifactoryNotifications.create({\n error: errorMessage\n });\n };\n }\n\n removeComments(text){\n return text.replace(/#+((?:.)+?)*/g,'');\n }\n\n save(registerDetails) {\n // Remove unnecessary comments\n registerDetails.key = this.removeComments(registerDetails.key);\n // Save\n this.registerProDao.update(registerDetails).$promise.then( (data)=> {\n // Refresh the home page footer with the new license details\n this.JFrogEventBus.dispatch(EVENTS.FOOTER_REFRESH);\n\n // Initialize the 'has licanse already' state\n let initStatus = this.ArtifactoryState.getState('initStatus');\n if (initStatus) initStatus.hasLicenseAlready = true;\n\n this.User.loadUser(true).then(()=>this.getData());\n\n // Upon successful installation display the new license\n // if (data.status === 200) this.registerDetails.key = data.key;\n });\n }\n\n getData() {\n if(this.User.currentUser.isProWithoutLicense()){\n this.registerDetails = {};\n this.ArtifactoryModelSaver.save();\n }\n else {\n this.registerProDao.get(true).$promise.then((data)=>{\n this.registerDetails = data;\n this.ArtifactoryModelSaver.save();\n });\n }\n }\n\n reset() {\n this.ArtifactoryModelSaver.ask(true).then(() => {\n this.getData();\n });\n\n }\n}\n\nexport function jfManageProLicense() {\n\n return {\n restrict: 'E',\n scope: {items: '='},\n controller: jfManageProLicenseController,\n controllerAs: 'jfManageProLicense',\n templateUrl: 'directives/jf_manage_artifactory_licenses/jf_manage_pro_license.html',\n bindToController: true\n };\n}\n\n\n\n// WEBPACK FOOTER //\n// ./directives/jf_manage_artifactory_licenses/jf_manage_pro_license.js","/*\n *\n * Artifactory is a binaries repository manager.\n * Copyright (C) 2018 JFrog Ltd.\n *\n * Artifactory is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * Artifactory is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with Artifactory. If not, see .\n *\n */\nimport EVENTS from '../../constants/artifacts_events.constants';\n\nclass jfManageHaLicensesController {\n\n constructor($timeout,$state, $rootScope, $scope, $window, JFrogModal, User, HaLicensesDao,\n JFrogGridFactory, JFrogEventBus, uiGridConstants, JFrogNotifications, SaveArtifactoryHaLicenses, ArtifactoryState) {\n this.$rootScope = $rootScope;\n this.$scope = $scope;\n this.$window = $window;\n this.gridOption = {};\n this.uiGridConstants = uiGridConstants;\n this.$scope = $scope;\n this.JFrogEventBus = JFrogEventBus;\n this.artifactoryGridFactory = JFrogGridFactory;\n this.modal = JFrogModal;\n this.User = User;\n this.$state = $state;\n this.haLicensesDao = HaLicensesDao;\n this.artifactoryNotifications = JFrogNotifications;\n this.ArtifactoryState = ArtifactoryState;\n this.saveArtifactoryHaLicenses = SaveArtifactoryHaLicenses;\n this.$timeout = $timeout;\n this._createGrid();\n this._initLicenses();\n }\n\n _initLicenses() {\n this.haLicensesDao.getLicenses().$promise.then((result)=> {\n this.licenses = result.data.licenses;\n this.gridOption.setGridData(this.licenses);\n });\n }\n\n launchAddHaLicenseModal() {\n this.modalScope = this.$rootScope.$new();\n this.modalScope.modalTitle = 'Add license';\n this.modalScope.dndStyle = {'width':\"100%\",'height':\"230px\"};\n this.modalScope.newLicenses = {text: ''}; // Whenever two-way binding a primitive (i.e. string) on a scope\n // the primitive should be wrapped with some object\n this.modalScope.helpText = 'For adding more than one license, use a semicolon or a space as a separator between the different keys.';\n\n this.modalScope.dndOnError = (errorMessage) =>{\n this.artifactoryNotifications.create({\n error: errorMessage\n });\n };\n\n this.modalScope.saveLicenses = () => {\n let rawText = this.modalScope.newLicenses.text;\n this.saveArtifactoryHaLicenses.saveLicenses({$suppress_toaster: false}, rawText)\n .then((data)=> {\n if(data.status === 200) {\n // Initialize the 'has licanse already' state\n let initStatus = this.ArtifactoryState.getState('initStatus');\n if (initStatus) {\n initStatus.hasLicenseAlready = true;\n }\n\n this.JFrogEventBus.dispatch(EVENTS.FOOTER_REFRESH);\n\n // If this is the first time a license is provided\n // and the user is not admin then redirect to home and refresh (so changes would become valid)\n let usr = this.User.getCurrent();\n\n if (!usr || !usr.isAdmin()) {\n this.$state.go('home');\n location.reload();\n }\n else{\n this.updateListTable().finally(()=> this.closeModalIfOpen());\n }\n }\n });\n };\n\n this.modalScope.closeModal = () => {\n return this.modalInstance.close();\n };\n\n this.modalInstance = this.modal.launchModal(\"add_ha_licenses_modal\", this.modalScope, \"lg\");\n }\n\n launchReplaceHaLicenseModal() {\n this.modalScope = this.$rootScope.$new();\n this.modalScope.modalTitle = 'Replace licenses';\n this.modalScope.headingText = 'Type the license key(s), or drag a file';\n this.modalScope.newLicenses = {text: ''}; // Whenever two-way binding a primitive (i.e. string) on a scope\n // the primitive should be wrapped with some object\n this.modalScope.helpText = 'For adding more than one license, use a semicolon or a space as a separator between the different keys.';\n\n this.modalScope.saveLicenses = () => {\n this.onSaveReplacedLicenses(this);\n };\n\n this.modalScope.closeModal = () => {\n return this.modalInstance.close();\n };\n\n this.modalInstance = this.modal.launchModal(\"add_ha_licenses_modal\", this.modalScope, \"lg\");\n }\n\n onSaveReplacedLicenses() {\n //Get selected licenses\n let selectedRows = this.gridOption.api.selection.getSelectedGridRows(),\n //Create an array of the selected licenses keys\n oldLicenses = _.map(selectedRows, (row) => {\n return row.entity.licenseHash\n });\n\n // Split text into licenses\n let rawText = this.modalScope.newLicenses.text,\n splittedText = this.saveArtifactoryHaLicenses.splitText(rawText);\n\n // Build two arrays - one for new licenses and another for the old licenses\n let newLicensesObjArray = this.saveArtifactoryHaLicenses.toLicensesObjArray(splittedText, \"licenseHash\"),\n oldLicensesHashCodesObjArray = this.saveArtifactoryHaLicenses.toLicensesObjArray(oldLicenses, \"licenseHash\"),\n numProvidedLicenses = newLicensesObjArray.length,\n numSelectedLicenses = oldLicensesHashCodesObjArray.length;\n\n // Upon user approval - make the swap\n if (numProvidedLicenses === numSelectedLicenses) {\n this.replaceLicenses(oldLicensesHashCodesObjArray, newLicensesObjArray, this);\n }\n else {\n this.artifactoryNotifications.create({\n error: `Failed to replace licenses. You provided ${numProvidedLicenses} license keys while selecting ${numSelectedLicenses} licenses.`\n });\n }\n }\n\n replaceLicenses(oldLicensesHashCodesObjArray, newLicensesObjArray) {\n //Ask for confirmation before replacing\n this.modal.confirm(`Are you sure you want to replace ${oldLicensesHashCodesObjArray.length} licenses?`)\n .then(()=> {\n let replaceLicensesJson = {\n 'licenses': oldLicensesHashCodesObjArray,\n 'newLicenses': newLicensesObjArray\n };\n\n this.haLicensesDao.replace(replaceLicensesJson).$promise.then(() => {\n this.updateListTable(this).finally(() => this.closeModalIfOpen());\n });\n });\n }\n\n _createGrid() {\n this.gridOption = this.artifactoryGridFactory.getGridInstance(this.$scope)\n .setColumns(this.getCloumns())\n .setRowTemplate('default')\n .setMultiSelect()\n .setButtons(this._getActions())\n .setBatchActions(this._getBatchActions());\n }\n\n _getActions() {\n return [\n {\n icon: 'icon icon-clear',\n tooltip: 'Delete',\n callback: (license) => {\n this.deleteLicense(license);\n },\n visibleWhen: (row) => {\n return (row.nodeUrl && row.nodeUrl === 'Not in use' || this.hasFreeLicenseInPool());\n }\n }\n ];\n }\n\n _getBatchActions() {\n return [\n {\n icon: 'clear',\n name: 'Delete',\n // This tooltip will show only when action is disabled\n getDisabledTooltip: () => {\n return !this.hasFreeLicenseInPool() && this.gridOption && this.gridOption.api &&\n this.gridOption.api.selection.getSelectedGridRows().length ?\n 'Attached licenses cannot be deleted from running nodes
when there are no available licenses' : '';\n },\n callback: () => {\n this.deleteSelectedLicenses()\n },\n disabledWhen: () => {\n return !this.hasFreeLicenseInPool();\n }\n }\n // No need for replace functionality for now...\n //,\n // {\n // icon: 'replace',\n // name: 'Replace',\n // callback: () => {\n // this.launchReplaceHaLicenseModal()\n // }\n // },\n ]\n }\n\n hasFreeLicenseInPool(){\n let hasFreeLicense = false;\n if(this.gridOption.data && this.gridOption.data.length){\n this.gridOption.data.forEach((license)=>{\n if(license.nodeUrl && license.nodeUrl === 'Not in use'){\n hasFreeLicense = true;\n }\n });\n }\n return hasFreeLicense;\n }\n\n deleteLicense(license) {\n let hashCode = license.licenseHash;\n this.modal.confirm(`Are you sure you want to delete ${hashCode}?`)\n .then(()=> {\n let licensesHashCodes = this.saveArtifactoryHaLicenses.toLicensesObjArray([hashCode], 'licenseHash');\n let licensesJson = {\n 'licenses': licensesHashCodes\n };\n this.haLicensesDao.delete(licensesJson).$promise.then(()=>this.updateListTable());\n });\n }\n\n deleteSelectedLicenses() {\n //Get All selected licenses\n let selectedRows = this.gridOption.api.selection.getSelectedGridRows();\n //Create an array of the selected licenses keys\n let licensesHashCodes = _.map(selectedRows, (row) => {\n return {\n 'licenseHash': row.entity.licenseHash\n };\n });\n\n //Create Json for the bulk request\n let licensesJson = {\n 'licenses': licensesHashCodes\n };\n\n //Ask for confirmation before delete and if confirmed then delete bulk of licenses\n this.modal.confirm(`Are you sure you want to delete ${selectedRows.length} licenses?`)\n .then(()=> {\n this.haLicensesDao.delete(licensesJson).$promise.then(() => {\n this.refreshTable();\n });\n })\n }\n\n refreshTable(){\n this.updateListTable().finally(()=>{\n this.clearSelectAllButton();\n });\n }\n\n updateListTable() {\n return this.haLicensesDao.getLicenses().$promise.then((licenses)=> {\n this.licenses = licenses.data.licenses;\n this.gridOption.setGridData(this.licenses);\n });\n }\n\n closeModalIfOpen(){\n if (this.modalInstance) {\n this.modalScope.closeModal();\n }\n }\n\n clearSelectAllButton(){\n this.$timeout(()=>{\n let selectAllButton = $('.ui-grid-header-cell-row .ui-grid-selection-row-header-buttons');\n let selectAllButtonIsOn = selectAllButton.is('.ui-grid-all-selected');\n if(selectAllButtonIsOn){\n selectAllButton.trigger('click');\n }\n });\n\n }\n\n getCloumns() {\n return [\n {\n name: \"License Hash\",\n displayName: \"License Hash\",\n field: \"licenseHash\",\n sort: {\n direction: this.uiGridConstants.ASC\n },\n cellTemplate: `
\n {{row.entity.licenseHash}}\n
`,\n width: '25%'\n },\n {\n name: 'Licensed To',\n displayName: 'Licensed To',\n field: \"licensedTo\",\n cellTemplate: `
\n {{row.entity.licensedTo}}\n
`,\n width: '10%'\n\n },\n {\n name: \"Valid Through\",\n displayName: \"Valid Through\",\n field: \"validThrough\",\n cellTemplate: `
\n {{row.entity.validThrough}}\n
\n
\n {{row.entity.validThrough}} (License Expired)\n
`,\n width: '15%'\n },\n {\n name: \"License Type\",\n displayName: \"License Type\",\n field: \"type\",\n cellTemplate: `
\n {{row.entity.type}}\n
`,\n width: '10%'\n },\n {\n name: \"Node ID\",\n displayName: \"Node ID\",\n field: \"nodeId\",\n cellTemplate: `
\n {{row.entity.nodeId}}\n
`,\n width: '10%'\n },\n {\n name: \"Node URL\",\n displayName: \"Node URL\",\n field: \"nodeUrl\",\n cellTemplate: `
\n {{row.entity.nodeUrl}}\n Not in use\n
`,\n width: '30%'\n }\n ]\n }\n\n}\n\n\nexport function jfManageHaLicenses() {\n\n return {\n restrict: 'E',\n scope: {items: '='},\n controller: jfManageHaLicensesController,\n controllerAs: 'jfManageHaLicenses',\n templateUrl: 'directives/jf_manage_artifactory_licenses/jf_manage_ha_licenses.html',\n bindToController: true\n };\n}\n\n\n// WEBPACK FOOTER //\n// ./directives/jf_manage_artifactory_licenses/jf_manage_ha_licenses.js","/*\n *\n * Artifactory is a binaries repository manager.\n * Copyright (C) 2018 JFrog Ltd.\n *\n * Artifactory is free software: you can redistribute it and/or modify\n * it under the terms of the GNU Affero General Public License as published by\n * the Free Software Foundation, either version 3 of the License, or\n * (at your option) any later version.\n *\n * Artifactory is distributed in the hope that it will be useful,\n * but WITHOUT ANY WARRANTY; without even the implied warranty of\n * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n * GNU Affero General Public License for more details.\n *\n * You should have received a copy of the GNU Affero General Public License\n * along with Artifactory. If not, see .\n *\n */\n/**\n * Created by tomere on 27/04/2017.\n */\nclass jfNewsController {\n constructor($timeout,$scope, User) {\n this.$timeout = $timeout;\n this.$scope = $scope;\n this.user = User.getCurrent();\n this.initNewsWidget();\n }\n\n initNewsWidget(){\n this.showNews = false;\n let offlineMode = this.user.offlineMode;\n if (!offlineMode) this.readUpdateHTML();\n }\n\n readUpdateHTML() {\n var xhr = new XMLHttpRequest();\n xhr.open('GET', 'https://service.jfrog.org/artifactory/updatesv4', true);\n xhr.onreadystatechange= ()=>{\n this.updateHTML=xhr.response;\n this.$scope.$apply();\n\n //twitter button javascript !\n !function(d,s,id){\n var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';\n if(!d.getElementById(id)){\n js=d.createElement(s);\n js.id=id;js.src=p+'://platform.twitter.com/widgets.js';\n fjs.parentNode.insertBefore(js,fjs);\n }\n }(document, 'script', 'twitter-wjs');\n\n this.$scope.$on('$destroy', () => {\n let twitter = document.getElementById('twitter-wjs');\n if (twitter) twitter.remove();\n });\n\n if(xhr.response) {\n this.$timeout(()=>{\n this.showNews = true;\n // this.$widgetObject.showSpinner = false;\n },200);\n }\n };\n xhr.send();\n }\n}\nexport function jfNews() {\n return {\n controller: jfNewsController,\n controllerAs: 'jfNews',\n bindToController: true,\n templateUrl: 'directives/jf_news/jf_news.html'\n }\n}\n\n\n\n// WEBPACK FOOTER //\n// ./directives/jf_news/jf_news.controller.js","class jfXucDataController {\n\n constructor(JFrogTableViewOptions, $scope, MiniXrayDao,$q,JFrogModal) {\n this.JFrogTableViewOptions = JFrogTableViewOptions;\n this.$scope = $scope;\n this.$q = $q;\n this.modal = JFrogModal;\n this.miniXrayDao = MiniXrayDao;\n }\n\n $onInit() {\n this.tableViewOptions = new this.JFrogTableViewOptions(this.$scope);\n this.columns = this.getColumns();\n this.tableViewOptions\n .setColumns(this.columns)\n .setRowsPerPage(20)\n .setEmptyTableText(`No Vulnerabilities`)\n .setObjectName('Vulnerability/Vulnerabilities')\n .showFilter(false)\n .sortBy('severity')\n .setData([]);\n this.getData()\n this.showTable = true;\n }\n\n getColumns() {\n\n return [\n {\n header: 'Summary',\n field: 'summary',\n sortable: true,\n filterable: true,\n cellTemplate: ''\n },\n {\n header: 'Severity',\n sortable: true,\n field: 'severity',\n cellTemplate: '
{{row.entity.severity}}
',\n },\n {\n header: 'Component',\n field: 'component',\n cellTemplate: '
{{row.entity.component }}
',\n width: '20%'\n },\n {\n header: 'Infected Version',\n field: 'infected_version',\n cellTemplate: '
{{row.entity.component_versions.vulnerable_versions.join(\", \") }}
',\n width: '10%'\n },\n {\n header: 'Fix Version',\n sortable: false,\n field: 'fix_version',\n cellTemplate: '
{{row.entity.component_versions.fixed_versions.join(\", \") }} N/A
',\n width: '10%'\n }\n ]\n }\n\n hasFixVersion(row) {\n return row.component_versions && row.component_versions.fixed_versions && row.component_versions.fixed_versions.length\n }\n\n getData() {\n const payload = {\n package_id: this.packageId,\n version: this.version\n }\n this.miniXrayDao.getSecurityVulnerabilites(payload).$promise.then((data) => {\n console.log(\"recieved data\", data)\n if (data && data.data) {\n this.tableViewOptions.setData(data.data);\n }\n });\n }\n\n showIssueDetails(row) {\n console.log(\"Need to show data for\", row);\n let version;\n if(this.version){\n version = `:${this.version}`;\n }else{\n version = \"\";\n }\n\n const payload = {\n \"component_id\": this.packageId + version ,\n \"source_comp_id\": row.source_comp_id,\n \"source_name\": row.component,\n \"vulnerability_id\": row.id,\n }\n this.$q.all([this.miniXrayDao.getSecurityImpactGraph(payload).$promise,this.miniXrayDao.getSecurityDetails(payload).$promise]).then((data)=>{\n\n let modalScope = this.$scope.$new();\n let graph = data[0];\n let alert = data[1];\n modalScope.ctrl = this;\n if (alert.versions) {\n if (alert.versions.fixed_versions) {\n\n alert.fixed_versions = alert.versions.fixed_versions;\n }\n alert.versions = alert.versions.vulnerable_versions;\n }\n modalScope.itemClicked = this.itemClicked;\n this.selectedIndex = 0;\n modalScope.wideMode = false;\n modalScope.infected_comp = this.packageId.split(\"://\")[1];\n\n\n modalScope.details = alert;\n modalScope.graph = graph;\n modalScope.details = this.orderDetailsObj(modalScope.details);\n modalScope.graph.component_id = \"TEST MODAL SCOPE GRAPH\"\n if (graph.impact_paths && !graph.impact_paths.length) {\n modalScope.wideMode = true;\n }\n console.log(\"all resolved!\",data)\n\n\n this.modal.launchModal('issue_modal', modalScope).result.then(() => {\n\n });\n });\n\n\n }\n\n orderDetailsObj(detailsObj) {\n\n console.log('details : ', detailsObj);\n let tmpObj = _.cloneDeep(detailsObj);\n let finaObj = {};\n\n finaObj = {\n summary: tmpObj.summary,\n description: tmpObj.description,\n type: tmpObj.type,\n provider: tmpObj.provider,\n severity: tmpObj.severity,\n update: tmpObj.updated,\n cves: tmpObj.cves,\n package_type: tmpObj.package_type,\n references: tmpObj.references,\n infected_component: tmpObj.infected_component,\n source_version: tmpObj.source_version,\n infected_versions: tmpObj.infected_versions,\n fixed_versions: tmpObj.fixed_versions,\n watch_target: tmpObj.watch_target,\n watch_name: tmpObj.watch_name,\n matched_policies: tmpObj.policies\n }\n\n\n return _.omit(finaObj, _.isEmpty);\n }\n itemClicked($index, ctrl) {\n console.log(\"Item Clicked\",$index,ctrl)\n ctrl.selectedIndex = $index;\n\n }\n getNomalizedKey(key) {\n\n if (key.toLowerCase() == 'cves') {\n return 'CVEs';\n }\n return _.startCase(key);\n }\n isLink(str) {\n if (typeof str != 'string' || !str) {\n return false;\n }\n str = str.trim();\n return str && str.startsWith('http://') || str.startsWith('https://') || str.startsWith('www.');\n }\n isArray(o) {\n return _.isArray(o);\n }\n}\n\nexport function jfXucData() {\n\n return {\n restrict: 'E',\n scope: {\n packageId: '=',\n version: '=',\n\n },\n controller: jfXucDataController,\n controllerAs: 'jfXucData',\n templateUrl: 'directives/jf_xuc_data/jf_xuc_data.html',\n bindToController: true\n };\n}\n\n\n\n// WEBPACK FOOTER //\n// ./directives/jf_xuc_data/jf_xuc_data.js","export function infectionPathViewer() {\n\n return {\n restrict: 'E',\n scope: {\n infectionPath: '=',\n caption: '=',\n type: '@?'\n },\n templateUrl: 'directives/infection_path_viewer/infection_path_viewer.html',\n controller: infectionPathViewerController,\n controllerAs: 'InfectionPathViewer',\n bindToController: true\n };\n}\n\nclass infectionPathViewerController {\n\n constructor() {\n this.devider = 1;\n }\n\n $onInit() {\n if (this.infectionPath) {\n if (this.infectionPath.length > 4) {\n this.devider = 1.6;\n }\n }\n }\n}\n\n\n// WEBPACK FOOTER //\n// ./directives/infection_path_viewer/infection_path_viewer.js"],"sourceRoot":""}