aboutsummaryrefslogtreecommitdiffstats
path: root/catalog-ui/app/scripts/view-models/wizard/artifact-form-step
diff options
context:
space:
mode:
Diffstat (limited to 'catalog-ui/app/scripts/view-models/wizard/artifact-form-step')
-rw-r--r--catalog-ui/app/scripts/view-models/wizard/artifact-form-step/artifact-form-step-view-model.ts304
-rw-r--r--catalog-ui/app/scripts/view-models/wizard/artifact-form-step/artifact-form-step-view.html147
-rw-r--r--catalog-ui/app/scripts/view-models/wizard/artifact-form-step/artifact-form-step.less45
3 files changed, 0 insertions, 496 deletions
diff --git a/catalog-ui/app/scripts/view-models/wizard/artifact-form-step/artifact-form-step-view-model.ts b/catalog-ui/app/scripts/view-models/wizard/artifact-form-step/artifact-form-step-view-model.ts
deleted file mode 100644
index 459729c179..0000000000
--- a/catalog-ui/app/scripts/view-models/wizard/artifact-form-step/artifact-form-step-view-model.ts
+++ /dev/null
@@ -1,304 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * SDC
- * ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
- * ================================================================================
- * 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.
- * ============LICENSE_END=========================================================
- */
-/// <reference path="../../../references"/>
-module Sdc.ViewModels.Wizard {
- 'use strict';
- import Resource = Sdc.Models.Components.Resource;
-
- export interface IEditArtifactStepModel {
- artifactResource: Models.ArtifactModel;
- artifactTypes: Array<string>;
- artifactsFormList: any;
- artifactFile:any;
- }
-
- export interface IArtifactResourceFormStepViewModelScope extends ng.IScope {
- editForm:ng.IFormController;
- forms:any;
- footerButtons: Array<any>;
- isNew: boolean;
- isPlaceHolderArtifact:boolean;
- isLoading: boolean;
- validationPattern: RegExp;
- urlValidationPattern: RegExp;
- labelValidationPattern: RegExp;
- integerValidationPattern: RegExp;
- commentValidationPattern: RegExp;
- artifactType: string;
- artifactGroupType:string;
- editArtifactResourceModel: IEditArtifactStepModel;
- defaultHeatTimeout: number;
- validExtensions: any;
- originalArtifactName: string;
- modalInstanceArtifact:ng.ui.bootstrap.IModalServiceInstance;
- selectedArtifact:string;
-
- fileExtensions():string;
- save(): void;
- close(): void;
- changeArtifact(selectedArtifact:string):void;
- getOptions(): Array<string>;
- removeInputLabel(): void;
- fileUploadRequired():string;
- isDeploymentHeat():boolean;
- setDefaultTimeout():void;
- getFormTitle():string;
- }
-
- export class ArtifactResourceFormStepViewModel {
-
- static '$inject' = [
- '$scope',
- '$modalInstance',
- 'artifact',
- 'component',
- 'Sdc.Services.CacheService',
- 'ValidationPattern',
- 'UrlValidationPattern',
- 'LabelValidationPattern',
- 'IntegerValidationPattern',
- 'CommentValidationPattern',
- 'ValidationUtils',
- 'ArtifactsUtils',
- '$state',
- '$modal',
- '$templateCache'
- ];
-
- private formState:Utils.Constants.FormState;
- private entityId:string;
-
- constructor(private $scope:IArtifactResourceFormStepViewModelScope,
- private $modalInstance:ng.ui.bootstrap.IModalServiceInstance,
- private artifact:Models.ArtifactModel,
- private component:Models.Components.Component,
- private cacheService:Services.CacheService,
- private ValidationPattern:RegExp,
- private UrlValidationPattern:RegExp,
- private LabelValidationPattern:RegExp,
- private IntegerValidationPattern:RegExp,
- private CommentValidationPattern:RegExp,
- private ValidationUtils:Sdc.Utils.ValidationUtils,
- private ArtifactsUtils:Sdc.Utils.ArtifactsUtils,
- private $state:any,
- private $modal:ng.ui.bootstrap.IModalService,
- private $templateCache:ng.ITemplateCacheService) {
-
-
- this.entityId = this.component.uniqueId;
- this.formState = angular.isDefined(artifact.artifactLabel) ? Utils.Constants.FormState.UPDATE : Utils.Constants.FormState.CREATE;
-
- this.initScope();
- this.initEditArtifactResourceModel();
- this.initComponent();
- this.initArtifactTypes();
- }
-
- private initEditArtifactResourceModel = ():void => {
- this.$scope.editArtifactResourceModel = {
- artifactResource: null,
- artifactTypes: null,
- artifactsFormList: {},
- artifactFile: {}
- }
- };
-
- private initComponent = ():void => {
- this.$scope.editArtifactResourceModel.artifactResource = this.artifact;
- this.$scope.originalArtifactName = this.artifact.artifactName;
- let artifacts:any = Utils.Constants.ArtifactGroupType.INFORMATION === this.artifact.artifactGroupType?
- this.component.artifacts : this.component.deploymentArtifacts;
- this.$scope.editArtifactResourceModel.artifactsFormList = _.pick(artifacts, (artifact:Models.ArtifactModel)=> {
- return artifact.artifactLabel && !artifact.esId;
- });
- this.$scope.editArtifactResourceModel.artifactFile.filename= this.artifact.artifactName?this.artifact.artifactName:'';
-
- if(this.artifact.artifactLabel){//this is edit mode
- this.$scope.editArtifactResourceModel.artifactsFormList[this.artifact.artifactLabel]= this.artifact;
- this.$scope.selectedArtifact = this.artifact.artifactDisplayName;
- }
- };
-
- private initArtifactTypes = ():void => {
- let artifactTypes:any = this.cacheService.get('UIConfiguration');
-
- if (Utils.Constants.ArtifactGroupType.INFORMATION === this.artifact.artifactGroupType) {
- this.$scope.editArtifactResourceModel.artifactTypes = artifactTypes.artifacts.other.map((element:any)=> {
- return element.name;
- });
- _.remove(this.$scope.editArtifactResourceModel.artifactTypes, (item:string)=> {
- return _.has(Utils.Constants.ArtifactType.THIRD_PARTY_RESERVED_TYPES, item) ||
- _.has(Utils.Constants.ArtifactType.TOSCA, item);
- })
- }else if(Utils.Constants.ArtifactGroupType.DEPLOYMENT === this.artifact.artifactGroupType) {
-
- this.$scope.validExtensions = artifactTypes.artifacts.deployment.resourceDeploymentArtifacts;
- if(this.$scope.validExtensions) {
- this.$scope.editArtifactResourceModel.artifactTypes = Object.keys(this.$scope.validExtensions);
- }
- this.$scope.defaultHeatTimeout = artifactTypes.defaultHeatTimeout;
-
- if(!this.$scope.isPlaceHolderArtifact) {
- _.remove(this.$scope.editArtifactResourceModel.artifactTypes, (item:string)=> {
- return Utils.Constants.ArtifactType.HEAT == item.substring(0,4) ||
- _.has(Utils.Constants.ArtifactType.THIRD_PARTY_RESERVED_TYPES, item);
- })
- }
-
- if(this.component.isResource() && (<Resource>this.component).isCsarComponent()) {
- _.remove(this.$scope.editArtifactResourceModel.artifactTypes, (item:string) => {
- return this.ArtifactsUtils.isLicenseType(item);
- })
- }
- }
- };
-
- private initScope = ():void => {
-
- this.$scope.modalInstanceArtifact = this.$modalInstance;
- this.$scope.validationPattern = this.ValidationPattern;
- this.$scope.urlValidationPattern = this.UrlValidationPattern;
- this.$scope.labelValidationPattern = this.LabelValidationPattern;
- this.$scope.integerValidationPattern = this.IntegerValidationPattern;
- this.$scope.commentValidationPattern = this.CommentValidationPattern;
- this.$scope.isLoading = false;
- this.$scope.isPlaceHolderArtifact = true;
- this.$scope.isNew = (this.formState === Utils.Constants.FormState.CREATE);
- this.$scope.artifactGroupType = this.artifact.artifactGroupType;
- this.$scope.selectedArtifact = '?';
-
- this.$scope.fileExtensions = ():string => {
- let type:string = this.$scope.editArtifactResourceModel.artifactResource.artifactType;
- return type && this.$scope.validExtensions && this.$scope.validExtensions[type].acceptedTypes ?
- this.$scope.validExtensions[type].acceptedTypes.join(',') : "";
- };
-
- this.$scope.removeInputLabel = ():void => {
- this.$scope.isPlaceHolderArtifact = true;
- };
-
- this.$scope.fileUploadRequired = ():string => {
- if (this.$scope.isNew===false){
- return 'false'; // This is edit mode
- } else {
- return 'true';
- }
- };
-
- this.$scope.isDeploymentHeat = ():boolean =>{
- return Utils.Constants.ArtifactGroupType.DEPLOYMENT === this.artifact.artifactGroupType
- && this.$scope.editArtifactResourceModel.artifactResource
- && this.$scope.editArtifactResourceModel.artifactResource.artifactType
- && Utils.Constants.ArtifactType.HEAT === this.$scope.editArtifactResourceModel.artifactResource.artifactType.substring(0,4);
- };
-
- this.$scope.getFormTitle =(): string =>{
- let title:string = this.artifact.esId? 'Update':'Add';
- if (Utils.Constants.ArtifactGroupType.DEPLOYMENT === this.artifact.artifactGroupType) {
- title += ' Deployment';
- }
- title += ' Artifact';
- return title;
- };
-
- this.$scope.setDefaultTimeout = ():void => {
- if(!this.$scope.editArtifactResourceModel.artifactResource.timeout) {
- this.$scope.editArtifactResourceModel.artifactResource.timeout = this.$scope.defaultHeatTimeout;
- }
- };
-
- this.$scope.changeArtifact = (selectedArtifact:string):void => {
- let tempArtifact:Models.ArtifactModel = this.$scope.editArtifactResourceModel.artifactResource;
- this.$scope.editArtifactResourceModel.artifactResource = null;
-
- if (selectedArtifact && selectedArtifact != '' && selectedArtifact != '?') {
- let artifactResource = <Models.ArtifactModel>_.find(this.$scope.editArtifactResourceModel.artifactsFormList,{'artifactDisplayName':selectedArtifact});
- this.$scope.editArtifactResourceModel.artifactResource = new Sdc.Models.ArtifactModel(artifactResource);
- this.$scope.originalArtifactName = this.$scope.editArtifactResourceModel.artifactResource.artifactName;
- this.$scope.isPlaceHolderArtifact = true;
- if(this.$scope.isDeploymentHeat()){
- this.$scope.setDefaultTimeout();
- }
- } else if (selectedArtifact === "") {
- //this.$scope.editArtifactResourceModel.artifactFile = {};
- this.$scope.editArtifactResourceModel.artifactResource = <Models.ArtifactModel>{};
- this.$scope.editArtifactResourceModel.artifactResource.artifactGroupType = this.$scope.artifactGroupType;
- this.$scope.isPlaceHolderArtifact = false;
- }
-
- if (_.size(this.$scope.editArtifactResourceModel.artifactFile) && this.$scope.editArtifactResourceModel.artifactResource) {
- this.$scope.editArtifactResourceModel.artifactResource.artifactName = this.$scope.editArtifactResourceModel.artifactFile.filename;
- }
- if(tempArtifact && tempArtifact.description != ''){
- this.$scope.editArtifactResourceModel.artifactResource.description = tempArtifact.description;
- }
-
- this.initArtifactTypes();
- this.$scope.isNew = true;
-
- };
-
-
- this.$scope.save = ():void => {
- this.$scope.isLoading = true;
- this.$scope.editArtifactResourceModel.artifactResource.description =
- this.ValidationUtils.stripAndSanitize(this.$scope.editArtifactResourceModel.artifactResource.description);
-
- if (this.$scope.editArtifactResourceModel.artifactFile) {
- this.$scope.editArtifactResourceModel.artifactResource.payloadData = this.$scope.editArtifactResourceModel.artifactFile.base64;
- this.$scope.editArtifactResourceModel.artifactResource.artifactName = this.$scope.editArtifactResourceModel.artifactFile.filename;
- }
-
- let onFailed = (response) => {
- this.$scope.isLoading = false;
- console.info('onFaild', response);
- this.$scope.editArtifactResourceModel.artifactResource.esId = undefined;
- };
-
- let onSuccess = () => {
- this.$scope.isLoading = false;
- this.$scope.originalArtifactName = "";
- this.$modalInstance.close();
-
- };
-
- this.component.addOrUpdateArtifact(this.$scope.editArtifactResourceModel.artifactResource).then(onSuccess, onFailed);
- };
-
-
- this.$scope.close = ():void => {
- this.$modalInstance.dismiss();
- };
-
- //new form layout for import asset
- this.$scope.forms = {};
- this.$scope.footerButtons = [
- {'name': this.artifact.esId ? 'Update' : 'Add', 'css': 'blue', 'callback': this.$scope.save},
- {'name': 'Cancel', 'css': 'grey', 'callback': this.$scope.close}
- ];
-
- this.$scope.$watch("forms.editForm.$invalid", (newVal, oldVal) => {
- this.$scope.footerButtons[0].disabled = this.$scope.forms.editForm.$invalid;
- });
-
- }
-
- }
-}
diff --git a/catalog-ui/app/scripts/view-models/wizard/artifact-form-step/artifact-form-step-view.html b/catalog-ui/app/scripts/view-models/wizard/artifact-form-step/artifact-form-step-view.html
deleted file mode 100644
index 2643b99c20..0000000000
--- a/catalog-ui/app/scripts/view-models/wizard/artifact-form-step/artifact-form-step-view.html
+++ /dev/null
@@ -1,147 +0,0 @@
-<sdc-modal modal="modalInstanceArtifact" type="classic" class="sdc-add-artifact" buttons="footerButtons" header="{{getFormTitle()}}" show-close-button="true">
-
- <loader data-display="isLoading"></loader>
-
- <form novalidate class="w-sdc-form two-columns" name="forms.editForm">
-
- <!--------------------- ARTIFACT FILE -------------------->
- <div class="i-sdc-form-item">
- <label class="required">Upload File</label>
- <file-upload id="fileUploadElement"
- form-element="forms.editForm"
- element-required="{{fileUploadRequired()}}"
- element-name="myArtifactFile"
- file-model="editArtifactResourceModel.artifactFile"
- extensions="{{fileExtensions()}}"
- data-ng-class="{'error': forms.editForm.myArtifactFile.$dirty && forms.editForm.myArtifactFile.$invalid}"></file-upload>
-
- <div class="input-error-file-upload" data-ng-show="forms.editForm.myArtifactFile.$dirty && forms.editForm.myArtifactFile.$invalid">
- <span ng-show="forms.editForm.myArtifactFile.$error.required && !forms.editForm.myArtifactFile.$error.emptyFile" translate="ADD_ARTIFACT_ERROR_FILE_REQUIRED"></span>
- <span ng-show="forms.editForm.myArtifactFile.$error.maxsize" translate="VALIDATION_ERROR_MAX_FILE_SIZE"></span>
- <span ng-if="'DEPLOYMENT' === artifactGroupType" ng-show="forms.editForm.myArtifactFile.$error.filetype" translate="ADD_ARTIFACT_ERROR_VALID_EXTENSIONS" translate-values="{'extensions': '{{fileExtensions()}}'}"></span>
- <span ng-show="forms.editForm.myArtifactFile.$error.emptyFile" translate="VALIDATION_ERROR_EMPTY_FILE"></span>
- </div>
- </div>
- <!--------------------- ARTIFACT FILE -------------------->
-
- <div class="w-sdc-form-columns-wrapper">
- <div class="w-sdc-form-column">
-
- <div class="i-sdc-form-item" data-ng-class="{error:(forms.editForm.placeHolder.$dirty && forms.editForm.placeHolder.$invalid)}" data-ng-show="isPlaceHolderArtifact">
- <label class="i-sdc-form-label required">Artifact</label>
- <select class="i-sdc-form-select"
- name="placeHolder"
- data-ng-disabled="!isNew"
- data-ng-model="selectedArtifact"
- data-ng-change="changeArtifact(selectedArtifact)"
- data-tests-id="selectArtifact">
- <option disabled value="?">Select Artifact</option>
- <option data-ng-repeat="(key,value) in editArtifactResourceModel.artifactsFormList">{{value.artifactDisplayName}}</option>
- <option value="">Create New Artifact</option>
-
- </select>
-
- <div class="input-error" data-ng-show="forms.editForm.placeHolder.$dirty && forms.editForm.placeHolder.$invalid">
- <span ng-show="forms.editForm.placeHolder.$error.required" translate="ADD_ARTIFACT_ERROR_TYPE_REQUIRED"></span>
- </div>
- </div>
-
- <div class="i-sdc-form-item" data-ng-class="{error:(forms.editForm.artifactLabel.$dirty && forms.editForm.artifactLabel.$invalid)}" data-ng-show="!isPlaceHolderArtifact">
- <label class="i-sdc-form-label required">Artifact Label</label>
- <input class="i-sdc-form-input"
- data-ng-maxlength="25"
- data-ng-model="editArtifactResourceModel.artifactResource.artifactLabel"
- type="text"
- name="artifactLabel"
- data-required
- data-ng-model-options="{ debounce: 200 }"
- data-ng-pattern="labelValidationPattern"
- maxlength="25"
- data-ng-disabled="!isNew || editArtifactResourceModel.artifactResource.mandatory"
- data-tests-id="artifactLabel"
- autofocus/>
- <span class="w-sdc-icon-cancel" data-ng-click="selectedArtifact='?'; removeInputLabel()"></span>
-
- <div class="input-error" data-ng-show="forms.editForm.artifactLabel.$dirty && forms.editForm.artifactLabel.$invalid">
- <span ng-show="forms.editForm.artifactLabel.$error.required" translate="ADD_ARTIFACT_ERROR_LABEL_REQUIRED"></span>
- <span ng-show="forms.editForm.artifactLabel.$error.maxlength" translate="VALIDATION_ERROR_MAX_LENGTH" translate-values="{'max': '25' }"></span>
- <span ng-show="forms.editForm.artifactLabel.$error.pattern" translate="VALIDATION_ERROR_SPECIAL_CHARS_NOT_ALLOWED"></span>
- </div>
- </div>
-
- <div class="i-sdc-form-item" data-ng-class="{error:(forms.editForm.timeout.$dirty && forms.editForm.timeout.$invalid)}"
- data-ng-if="isDeploymentHeat()">
- <label class="i-sdc-form-label">Deployment Timeout (minutes)</label>
- <input class="i-sdc-form-input"
- data-ng-maxlength="25"
- data-ng-model="editArtifactResourceModel.artifactResource.timeout"
- type="number"
- name="timeout"
- min="1"
- max="2147483647"
- data-ng-model-options="{ debounce: 200 }"
- data-ng-pattern="integerValidationPattern"
- data-ng-init="setDefaultTimeout()"
- data-ng-change="setDefaultTimeout()"
- maxlength="25"
- data-tests-id="timeout"/>
-
- <div class="input-error" data-ng-show="forms.editForm.timeout.$dirty && forms.editForm.timeout.$invalid">
- <span ng-show="forms.editForm.timeout.$error.maxlength" translate="VALIDATION_ERROR_MAX_LENGTH" translate-values="{'max': '25' }"></span>
- <span ng-show="forms.editForm.timeout.$error.pattern" translate="ADD_ARTIFACT_ERROR_TIMEOUT_PATTERN"></span>
- <span ng-show="forms.editForm.timeout.$error.min" translate="ADD_ARTIFACT_ERROR_TIMEOUT_MIN"></span>
- </div>
- </div>
- <div class="i-sdc-form-item" data-ng-class="{error:(forms.editForm.type.$dirty && forms.editForm.type.$invalid)}">
- <label class="i-sdc-form-label required">Type</label>
- <select class="i-sdc-form-select"
- data-required
- name="type"
- data-ng-disabled="!isNew || editArtifactResourceModel.artifactResource.mandatory || '?'==selectedArtifact"
- data-ng-model="editArtifactResourceModel.artifactResource.artifactType"
- data-ng-options="type as type for type in editArtifactResourceModel.artifactTypes track by type | uppercase"
- data-tests-id="artifacttype">
- <option value="">Choose Type</option>
- </select>
-
- <div class="input-error" data-ng-show="forms.editForm.type.$dirty && forms.editForm.type.$invalid">
- <span ng-show="forms.editForm.type.$error.required" translate="ADD_ARTIFACT_ERROR_TYPE_REQUIRED"></span>
- </div>
-
- </div>
- </div>
-
- <div class="w-sdc-form-column">
-
- <div class="i-sdc-form-item"
- data-ng-class="{error:(forms.editForm.description.$dirty && forms.editForm.description.$invalid)}">
- <label class="i-sdc-form-label required">Description</label>
- <textarea class="i-sdc-form-textarea"
- data-ng-maxlength="256"
- maxlength="256"
- data-required
- name="description"
- data-ng-model="editArtifactResourceModel.artifactResource.description"
- data-ng-model-options="{ debounce: 200 }"
- data-ng-pattern="commentValidationPattern"
- data-tests-id="description"
- >
- </textarea>
-
- <div class="input-error" data-ng-show="forms.editForm.description.$dirty && forms.editForm.description.$invalid">
- <span ng-show="forms.editForm.description.$error.required" translate="ADD_ARTIFACT_ERROR_DESCRIPTION_REQUIRED"></span>
- <span ng-show="forms.editForm.description.$error.maxlength" translate="VALIDATION_ERROR_MAX_LENGTH" translate-values="{'max': '256' }"></span>
- <span ng-show="forms.editForm.description.$error.pattern" translate="VALIDATION_ERROR_SPECIAL_CHARS_NOT_ALLOWED"></span>
- </div>
-
- </div>
- </div>
- </div>
-
- <span class="w-sdc-form-note" data-ng-show="forms.editForm.$invalid && false" translate="LABEL_ALL_FIELDS_ARE_MANDATORY"></span>
-
- </form>
-
-</sdc-modal>
-
-
diff --git a/catalog-ui/app/scripts/view-models/wizard/artifact-form-step/artifact-form-step.less b/catalog-ui/app/scripts/view-models/wizard/artifact-form-step/artifact-form-step.less
deleted file mode 100644
index a189c12d62..0000000000
--- a/catalog-ui/app/scripts/view-models/wizard/artifact-form-step/artifact-form-step.less
+++ /dev/null
@@ -1,45 +0,0 @@
-.sdc-add-artifact {
-
- .w-sdc-form-note {
- .h_9;
- display: block;
- position: relative;
- top: 13px;
- }
-
- .w-sdc-form {
-
- .i-sdc-form-textarea{
- min-height: 95px;
- }
-
- .i-sdc-form-item.upload input[type="file"] {
- display: none
- }
-
- .w-sdc-icon-cancel {
- position: absolute;
- right: 7px;
- top: 33px;
- .sprite;
- .sprite.small-x-btn-black;
- .hand;
- }
- }
-
- .artifact-info {
- text-align: left;
- color: rgb(140, 140, 140);
- font-size: 13px;
- margin-top: -40px;
- margin-bottom: 5px;
- width: 600px;
- min-height: initial;
-
- span {
- color: #666666;
- padding-left: 4px;
- }
- }
-
-}