summaryrefslogtreecommitdiffstats
path: root/polygerrit-ui/app/elements/admin/gr-project/gr-project.js
diff options
context:
space:
mode:
Diffstat (limited to 'polygerrit-ui/app/elements/admin/gr-project/gr-project.js')
-rw-r--r--polygerrit-ui/app/elements/admin/gr-project/gr-project.js262
1 files changed, 0 insertions, 262 deletions
diff --git a/polygerrit-ui/app/elements/admin/gr-project/gr-project.js b/polygerrit-ui/app/elements/admin/gr-project/gr-project.js
deleted file mode 100644
index 4b4ad64d7b..0000000000
--- a/polygerrit-ui/app/elements/admin/gr-project/gr-project.js
+++ /dev/null
@@ -1,262 +0,0 @@
-// Copyright (C) 2017 The Android Open Source Project
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-(function() {
- 'use strict';
-
- const STATES = {
- active: {value: 'ACTIVE', label: 'Active'},
- readOnly: {value: 'READ_ONLY', label: 'Read Only'},
- hidden: {value: 'HIDDEN', label: 'Hidden'},
- };
-
- const SUBMIT_TYPES = {
- mergeIfNecessary: {
- value: 'MERGE_IF_NECESSARY',
- label: 'Merge if necessary',
- },
- fastForwardOnly: {
- value: 'FAST_FORWARD_ONLY',
- label: 'Fast forward only',
- },
- rebaseAlways: {
- value: 'REBASE_ALWAYS',
- label: 'Rebase Always',
- },
- rebaseIfNecessary: {
- value: 'REBASE_IF_NECESSARY',
- label: 'Rebase if necessary',
- },
- mergeAlways: {
- value: 'MERGE_ALWAYS',
- label: 'Merge always',
- },
- cherryPick: {
- value: 'CHERRY_PICK',
- label: 'Cherry pick',
- },
- };
-
- Polymer({
- is: 'gr-project',
-
- properties: {
- params: Object,
- project: String,
-
- _configChanged: {
- type: Boolean,
- value: false,
- },
- _loading: {
- type: Boolean,
- value: true,
- },
- _loggedIn: {
- type: Boolean,
- value: false,
- observer: '_loggedInChanged',
- },
- /** @type {?} */
- _projectConfig: Object,
- _readOnly: {
- type: Boolean,
- value: true,
- },
- _states: {
- type: Array,
- value() {
- return Object.values(STATES);
- },
- },
- _submitTypes: {
- type: Array,
- value() {
- return Object.values(SUBMIT_TYPES);
- },
- },
- _schemes: {
- type: Array,
- value() { return []; },
- computed: '_computeSchemes(_schemesObj)',
- observer: '_schemesChanged',
- },
- _selectedCommand: {
- type: String,
- value: 'Clone',
- },
- _selectedScheme: String,
- _schemesObj: Object,
- _noteDbEnabled: {
- type: Boolean,
- value: false,
- },
- },
-
- observers: [
- '_handleConfigChanged(_projectConfig.*)',
- ],
-
- attached() {
- this._loadProject();
-
- this.fire('title-change', {title: this.project});
- },
-
- _loadProject() {
- if (!this.project) { return Promise.resolve(); }
-
- const promises = [];
- promises.push(this._getLoggedIn().then(loggedIn => {
- this._loggedIn = loggedIn;
- if (loggedIn) {
- this.$.restAPI.getProjectAccess(this.project).then(access => {
- // If the user is not an owner, is_owner is not a property.
- this._readOnly = !access[this.project].is_owner;
- });
- }
- }));
-
- promises.push(this.$.restAPI.getProjectConfig(this.project).then(
- config => {
- if (!config.state) {
- config.state = STATES.active.value;
- }
- this._projectConfig = config;
- this._loading = false;
- }));
-
- promises.push(this.$.restAPI.getConfig().then(config => {
- this._schemesObj = config.download.schemes;
- this._noteDbEnabled = !!config.note_db_enabled;
- }));
-
- return Promise.all(promises);
- },
-
- _computeLoadingClass(loading) {
- return loading ? 'loading' : '';
- },
-
- _computeDownloadClass(schemes) {
- return !schemes || !schemes.length ? 'hideDownload' : '';
- },
-
- _loggedInChanged(_loggedIn) {
- if (!_loggedIn) { return; }
- this.$.restAPI.getPreferences().then(prefs => {
- if (prefs.download_scheme) {
- // Note (issue 5180): normalize the download scheme with lower-case.
- this._selectedScheme = prefs.download_scheme.toLowerCase();
- }
- });
- },
-
- _formatBooleanSelect(item) {
- if (!item) { return; }
- let inheritLabel = 'Inherit';
- if (item.inherited_value) {
- inheritLabel = `Inherit (${item.inherited_value})`;
- }
- return [
- {
- label: inheritLabel,
- value: 'INHERIT',
- },
- {
- label: 'True',
- value: 'TRUE',
- }, {
- label: 'False',
- value: 'FALSE',
- },
- ];
- },
-
- _isLoading() {
- return this._loading || this._loading === undefined;
- },
-
- _getLoggedIn() {
- return this.$.restAPI.getLoggedIn();
- },
-
- _formatProjectConfigForSave(p) {
- const configInputObj = {};
- for (const key in p) {
- if (p.hasOwnProperty(key)) {
- if (typeof p[key] === 'object') {
- configInputObj[key] = p[key].configured_value;
- } else {
- configInputObj[key] = p[key];
- }
- }
- }
- return configInputObj;
- },
-
- _handleSaveProjectConfig() {
- return this.$.restAPI.saveProjectConfig(this.project,
- this._formatProjectConfigForSave(this._projectConfig)).then(() => {
- this._configChanged = false;
- });
- },
-
- _handleConfigChanged() {
- if (this._isLoading()) { return; }
- this._configChanged = true;
- },
-
- _computeButtonDisabled(readOnly, configChanged) {
- return readOnly || !configChanged;
- },
-
- _computeHeaderClass(configChanged) {
- return configChanged ? 'edited' : '';
- },
-
- _computeSchemes(schemesObj) {
- return Object.keys(schemesObj);
- },
-
- _schemesChanged(schemes) {
- if (schemes.length === 0) { return; }
- if (!schemes.includes(this._selectedScheme)) {
- this._selectedScheme = schemes.sort()[0];
- }
- },
-
- _computeCommands(project, schemesObj, _selectedScheme) {
- const commands = [];
- let commandObj;
- if (schemesObj.hasOwnProperty(_selectedScheme)) {
- commandObj = schemesObj[_selectedScheme].clone_commands;
- }
- for (const title in commandObj) {
- if (!commandObj.hasOwnProperty(title)) { continue; }
- commands.push({
- title,
- command: commandObj[title]
- .replace(/\$\{project\}/gi, encodeURI(project))
- .replace(/\$\{project-base-name\}/gi,
- encodeURI(project.substring(project.lastIndexOf('/') + 1))),
- });
- }
- return commands;
- },
-
- _computeProjectsClass(config) {
- return config ? 'showConfig': '';
- },
- });
-})();