aboutsummaryrefslogtreecommitdiffstats
path: root/catalog-ui/src/app/view-models/forms/input-form/input-form-view-modal.ts
diff options
context:
space:
mode:
Diffstat (limited to 'catalog-ui/src/app/view-models/forms/input-form/input-form-view-modal.ts')
-rw-r--r--catalog-ui/src/app/view-models/forms/input-form/input-form-view-modal.ts146
1 files changed, 0 insertions, 146 deletions
diff --git a/catalog-ui/src/app/view-models/forms/input-form/input-form-view-modal.ts b/catalog-ui/src/app/view-models/forms/input-form/input-form-view-modal.ts
deleted file mode 100644
index 56542b9694..0000000000
--- a/catalog-ui/src/app/view-models/forms/input-form/input-form-view-modal.ts
+++ /dev/null
@@ -1,146 +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=========================================================
- */
-
-'use strict';
-import {FormState, PROPERTY_TYPES, ValidationUtils, PROPERTY_VALUE_CONSTRAINTS} from "app/utils";
-import {InputModel} from "app/models";
-
-export interface IInputEditModel {
- editInput:InputModel;
-}
-
-export interface IInputFormViewModelScope extends ng.IScope {
- forms:any;
- editForm:ng.IFormController;
- footerButtons:Array<any>;
- isService:boolean;
- modalInstanceInput:ng.ui.bootstrap.IModalServiceInstance;
- isLoading:boolean;
- inputEditModel:IInputEditModel;
- myValue:any;
- maxLength:number;
-
- save():void;
- close():void;
- validateIntRange(value:string):boolean;
- validateJson(json:string):boolean;
- getValidationPattern(type:string):RegExp;
- showSchema():boolean;
-}
-
-export class InputFormViewModel {
-
- static '$inject' = [
- '$scope',
- '$uibModalInstance',
- 'ValidationUtils',
- 'input'
- ];
-
- private formState:FormState;
-
-
- constructor(private $scope:IInputFormViewModelScope,
- private $uibModalInstance:ng.ui.bootstrap.IModalServiceInstance,
- private ValidationUtils:ValidationUtils,
- private input:InputModel) {
- this.initScope();
- this.initMyValue();
- }
-
- private initMyValue = ():void => {
- switch (this.$scope.inputEditModel.editInput.type) {
- case PROPERTY_TYPES.MAP:
- this.$scope.myValue = this.$scope.inputEditModel.editInput.defaultValue ? JSON.parse(this.$scope.inputEditModel.editInput.defaultValue) : {'': null};
- break;
- case PROPERTY_TYPES.LIST:
- this.$scope.myValue = this.$scope.inputEditModel.editInput.defaultValue ? JSON.parse(this.$scope.inputEditModel.editInput.defaultValue) : [];
- break;
- }
- };
-
- private initDefaultValueMaxLength = ():void => {
- switch (this.$scope.inputEditModel.editInput.type) {
- case PROPERTY_TYPES.MAP:
- case PROPERTY_TYPES.LIST:
- this.$scope.maxLength = this.$scope.inputEditModel.editInput.schema.property.type == PROPERTY_TYPES.JSON ?
- PROPERTY_VALUE_CONSTRAINTS.JSON_MAX_LENGTH :
- PROPERTY_VALUE_CONSTRAINTS.MAX_LENGTH;
- break;
- case PROPERTY_TYPES.JSON:
- this.$scope.maxLength = PROPERTY_VALUE_CONSTRAINTS.JSON_MAX_LENGTH;
- break;
- default:
- this.$scope.maxLength = PROPERTY_VALUE_CONSTRAINTS.MAX_LENGTH;
- }
- };
-
- private initScope = ():void => {
- this.$scope.forms = {};
- this.$scope.modalInstanceInput = this.$uibModalInstance;
- this.$scope.inputEditModel = {
- editInput: null
- };
- this.$scope.inputEditModel.editInput = this.input;
- this.initDefaultValueMaxLength();
-
- //scope methods
- this.$scope.save = ():void => {
- if (this.$scope.showSchema()) {
- this.$scope.inputEditModel.editInput.defaultValue = JSON.stringify(this.$scope.myValue);
- }
- };
-
- this.$scope.close = ():void => {
- this.$uibModalInstance.close();
- };
-
- this.$scope.validateIntRange = (value:string):boolean => {
- return !value || this.ValidationUtils.validateIntRange(value);
- };
-
- this.$scope.validateJson = (json:string):boolean => {
- if (!json) {
- return true;
- }
- return this.ValidationUtils.validateJson(json);
- };
-
- this.$scope.showSchema = ():boolean => {
- return ['list', 'map'].indexOf(this.$scope.inputEditModel.editInput.type) > -1;
- };
-
- this.$scope.getValidationPattern = (type:string):RegExp => {
- return this.ValidationUtils.getValidationPattern(type);
- };
-
- // Add the done button at the footer.
- this.$scope.footerButtons = [
- {'name': 'Done', 'css': 'blue', 'callback': this.$scope.save},
- {'name': 'Cancel', 'css': 'grey', 'callback': this.$scope.close}
- ];
-
- this.$scope.$watchCollection("forms.editForm.$invalid", (newVal, oldVal) => {
- this.$scope.footerButtons[0].disabled = this.$scope.forms.editForm.$invalid;
- });
-
- };
-}
-