blob: 29c5443dc13f9da59a90c79ca5d72b7419e709fe [file] [log] [blame]
// Copyright (c) 2000-2017 Ericsson Telecom AB //
// All rights reserved. This program and the accompanying materials are made available under the //
// terms of the Eclipse Public License v2.0 which accompanies this distribution, and is available at //
// https://www.eclipse.org/org/documents/epl-2.0/EPL-2.0.html //
///////////////////////////////////////////////////////////////////////////////////////////////////////
function CViewModel_AutoGUI(aViewModel, aOptions)
{
"use strict";
/** private members */
var mViewModel;
var mBinder;
var mReponseDataPaths;
/** constructor */
mViewModel = aViewModel;
mReponseDataPaths = [];
/** public functions - Interface for parent */
this.setSelectionToControl = function(aSelection)
{};
this.setReponseDataPath = function(aExpectedReponseDataIndex, aReponseDataPath)
{
mReponseDataPaths[aExpectedReponseDataIndex] = aReponseDataPath;
};
this.setBinder = function(aBinder)
{
mBinder = aBinder;
};
/** public functions - Interface for views */
this.getResponseElement = function()
{
return mViewModel.getResponseElement(mReponseDataPaths[0]);
};
this.command = function(aCklickedExpandedGetData, aOrigGetData, aValue, aIsContainer, aIsText)
{
function dataHasBeenSet(aData)
{
mBinder.notifyChange();
}
if (aCklickedExpandedGetData !== undefined && aOrigGetData.children !== undefined)
{
if (aOrigGetData.selection !== undefined)
{
if (aIsContainer)
aOrigGetData.selection = undefined;
else if (aOrigGetData.selection[0] === aCklickedExpandedGetData.idxInList)
aOrigGetData.selection = [];
else if (aCklickedExpandedGetData.idxInList != null)
aOrigGetData.selection = [aCklickedExpandedGetData.idxInList];
}
else
{
if (aIsContainer)
aOrigGetData.selection = [];
else if (aCklickedExpandedGetData.idxInList != null)
aOrigGetData.selection = [aCklickedExpandedGetData.idxInList];
}
mBinder.notifyChange("Autogui changes");
}
else if (aCklickedExpandedGetData !== undefined && aOrigGetData.children === undefined && aIsText)
{
var newVal = prompt("Please enter new value", aValue);
if (newVal != null)
{
var lIndxList = [];
if (aCklickedExpandedGetData.idxInList !== undefined)
lIndxList[0] = aCklickedExpandedGetData.idxInList;
mViewModel.getDsRestAPI().setData(dataHasBeenSet, aCklickedExpandedGetData.source, aCklickedExpandedGetData.element, newVal, aCklickedExpandedGetData.tp, aCklickedExpandedGetData.params, aCklickedExpandedGetData.ptcname, lIndxList);
}
}
};
}
CViewModel_AutoGUI.getHelp = function() {
return "This viewmodel is used with the same named view to visualize the response tree.";
}
CViewModel_AutoGUI.providesInterface = function() {
return ["getResponseElement", "command"];
};
CViewModel_AutoGUI.getCustomDataSchema = function() {
return {
"$schema": "http://json-schema.org/draft-04/schema#",
"title": "Custom data for CViewModel_AutoGUI",
"type": "object",
"properties": {},
"additionalProperties": false
};
};
//# sourceURL=CustomizableApp\ViewModels\ViewModel_AutoGUI.js