1
0
Fork 0
mirror of https://github.com/mmumshad/ansible-playable.git synced 2025-02-15 04:42:05 +00:00
ansible-playable/client/app/directives/complexVar/complexVar.controller.js

61 lines
1.7 KiB
JavaScript
Raw Normal View History

2017-06-07 17:36:44 +00:00
'use strict';
const angular = require('angular');
/*@ngInject*/
export function complexVarController($scope,$filter) {
'ngInject';
var loadMembers = function(){
$scope.membersCopy = angular.copy($scope.members);
//var membersArray = $filter('addDotInKey')($filter('dictToKeyValueArray')($scope.membersCopy));
var membersArray = ($filter('dictToKeyValueArraySimple')($scope.membersCopy));
$scope.tabgroup = $scope.tabgroup || 0;
if(membersArray.length)
$scope.membersCopy = membersArray;
else
$scope.membersCopy = [{key:"",value:""}];
$scope.path = $scope.path || "";
angular.forEach($scope.membersCopy,function(member){
if(Object.prototype.toString.call(member.value) === '[object Object]'){
member.type = 'object';
}else if(Object.prototype.toString.call(member.value) === '[object Array]'){
member.type = 'array';
}
})
};
loadMembers();
$scope.setMemberType = function(member,type){
if(type === 'object'){
member.value = {};
member.type = 'object';
}else if(type === 'array'){
member.value = {};
member.type = 'array';
}
};
$scope.$on('membersUpdated',function(){
console.log('On Members Updated');
console.log($scope.members);
loadMembers();
});
$scope.$watch('membersCopy',function(){
if($scope.type === 'object')
$scope.members = $filter('removeDotInKey')($filter('keyValueArrayToDict')($scope.membersCopy));
else if($scope.type === 'array')
$scope.members = $filter('keyValueArrayToArray')($scope.membersCopy);
},true)
}
export default angular.module('webAppApp.complexVarCtrl', [])
.controller('ComplexVarController', complexVarController)
.name;