linking to the backend (members, lists)

pull/339/head
Youssef ABIDI 2017-08-22 06:48:41 +01:00
parent fbe7d55b9e
commit 9ee65a7f02
15 changed files with 207 additions and 30 deletions

BIN
src/.DS_Store vendored

Binary file not shown.

View File

@ -7,7 +7,7 @@
angular.module('BlurAdmin.pages.surveys.create')
.controller('CreateTabCtrl', CreateTabCtrl)
.directive('multiple', function() {
.directive('multipleQ', function() {
return {
templateUrl: 'app/pages/surveys/create/widgets/multiple.html'
};
@ -126,7 +126,7 @@
};
$scope.updateBuilder=function(){
var compiledeHTML = $compile("<div multiple></div>")($scope);
var compiledeHTML = $compile("<div multiple-q></div>")($scope);
$("#newElem").html(compiledeHTML);
console.log($scope.survey.elements);

View File

@ -9,7 +9,30 @@
.controller('ListsTabCtrl', ListsTabCtrl);
/** @ngInject */
function ListsTabCtrl($scope, baConfig, membersList) {
function ListsTabCtrl($scope, baConfig, membersList, ListService, $log) {
function loadLists() {
ListService
.list()
.then(function (data){
$scope.Lists = data;
$log.info("Got the survey data",data);
}, function (error){
$log.error(error);
});
}
function activate(){
$scope.Lists = [];
loadLists();
}
activate();
$scope.transparent = baConfig.theme.blur;
var dashboardColors = baConfig.colors.dashboard;
@ -18,18 +41,13 @@
colors.push(dashboardColors[key]);
}
function getRandomColor() {
var i = Math.floor(Math.random() * (colors.length - 1));
return colors[i];
}
$scope.Lists = [
{ name: 'Check me out yeah', deleted : false, members : ['4563faass', '4563fdfvd'] },
{ name: 'Lorem ipsum', deleted : false, members : ['4563zxcss', '8955sddf'] },
{ name: 'Ex has semper', deleted : false, members : ['8955sdfcc', '8955sddf'] },
{ name: 'Vim an eius', deleted : false, members : ['8955sddf', '4563faass'] },
];
$scope.tabs = membersList.getTabs();
$scope.searchResult = membersList.getAllMessages();
@ -40,20 +58,24 @@
item.color = getRandomColor();
});
$scope.newTodoText = '';
$scope.newTodoText = 'tech';
$scope.listMembers = [];
$scope.selectedLabel = "listing";
$scope.addNewList = function (event, clickPlus) {
if (clickPlus || event.which === 13) {
$scope.Lists.unshift({
/*$scope.Lists.unshift({
name: $scope.newTodoText,
color: getRandomColor(),
});
});*/
var list = {"name" : $scope.newTodoText};
ListService.create(list);
loadLists();
$scope.newTodoText = '';
}
};
$scope.updateMembers = function (index) {
//uncheck others lists
for(var i = 0; i<$scope.Lists.length; i++)

View File

@ -0,0 +1,51 @@
/**
* @author ayoub
*/
(function () {
'use strict';
angular.module('BlurAdmin.pages.teams.lists')
.factory('ListService', ListService);
/** @ngInject */
function ListService($http, $q) {
var apiBaseUrl = "http://localhost:9000"
var endpoint = apiBaseUrl + "/lists";
function list(params) {
params = params || {};
var deferred = $q.defer();
$http.get(endpoint)
.success(function(data) {
deferred.resolve(data);
}).error(function(msg, code) {
deferred.reject(msg);
});
return deferred.promise;
return $http.get(endpoint, params);
}
function create(list) {
return $http.post(endpoint, list);
}
function edit(list) {
console.log("edit Member Object", list);
}
function remove(list) {
console.log("remove Member", list);
}
return {
list:list,
create:create,
edit:edit,
remove:remove
}
}
})();

View File

@ -15,8 +15,7 @@
url: '/lists',
//abstract: true,
templateUrl: 'app/pages/teams/lists/lists.html',
controller: "ListsTabCtrl",
controllerAs: "listsTabCtrl",
controller: "ListsTabCtrl as vm",
title: 'Lists',
sidebarMeta: {
order: 0,

View File

@ -54,7 +54,7 @@
ba-panel
ba-panel-title="Add new members"
ba-panel-class="xmedium-panel feed-comply-panel with-scroll todo-panel">
<input type="text" value="" class="form-control task-todo" placeholder="Search" ng-keyup="addNewList($event)" ng-model="newTodoText"/>
<input type="text" value="" class="form-control task-todo" placeholder="Search" ng-keyup="addNewList($event)"/>
<select class="form-control" selectpicker ng-model="selectedLabel" ng-change="getMemberByLabel(selectedLabel)">
<option selected="true" value="listing">Search by tag ...</option>
<option ng-repeat="t in tabs" value="{{t.label}}">{{t.name}}</option>

View File

@ -30,7 +30,7 @@
<label for="inputFirstName" class="col-sm-3 control-label">Name</label>
<div class="col-sm-9">
<input type="text" class="form-control" id="inputFirstName" placeholder="" ng-model="boxCtrl.member.name">
<input type="text" class="form-control" id="inputFirstName" placeholder="" ng-model="boxCtrl.member.firstname">
</div>
</div>
<div class="form-group row clearfix">
@ -44,11 +44,8 @@
<label class="col-sm-3 control-label">Department</label>
<div class="col-sm-9">
<select class="form-control" selectpicker>
<option>Web Development</option>
<option>System Development</option>
<option>Sales</option>
<option>Human Resources</option>
<select class="form-control" multiple ng-model="boxCtrl.member.labels">
<option ng-repeat="t in boxCtrl.Labels" value="{{t.label}}">{{t.name}}</option>
</select>
</div>
</div>
@ -72,7 +69,7 @@
</div>
<div class="compose-footer clearfix">
<button type="button" ng-click="boxCtrl.updateMember()" class="btn btn-send">Save</button>
<button type="button" ng-click="boxCtrl.createMember()" class="btn btn-send">Save</button>
<div class="footer-controls">
<button type="button" ng-click="$dismiss()" class="btn btn-danger">Cancel</button>

View File

@ -9,11 +9,12 @@
.controller('composeBoxCtrl', composeBoxCtrl);
/** @ngInject */
function composeBoxCtrl(member, membersList,fileReader, $filter) {
function composeBoxCtrl(member, membersList,MemberService,fileReader, $filter) {
var vm = this;
vm.member = member;
//vm.actualIndex = actualIndex;
vm.picture = (member.pic && member.pic != "") ? $filter('profilePicture')(member.name.split(' ')[0]) : $filter('appImage')('theme/no-photo.png');
vm.Labels = membersList.getTabs();
vm.removePicture = function () {
vm.picture = $filter('appImage')('theme/no-photo.png');
@ -36,5 +37,9 @@
vm.updateMember = function () {
console.log(membersList.getIndexById(vm.member.id), vm.member);
};
vm.createMember = function () {
MemberService.create(vm.member);
};
}
})();

View File

@ -9,10 +9,43 @@
.controller('MemberDetailCtrl', MemberDetailCtrl);
/** @ngInject */
function MemberDetailCtrl($stateParams, membersList) {
function MemberDetailCtrl($stateParams, membersList, MemberService, $log) {
var vm = this;
vm.member = membersList.getMemberById($stateParams.id);
vm.label = $stateParams.label;
//vm.member = membersList.getMemberById($stateParams.id);
//vm.label = $stateParams.label;
//var vm = this;
//vm.members = ($stateParams.label == "listing") ? membersList.getAllMessages() : membersList.getMembersByLabel($stateParams.label);
function loadMembers() {
MemberService
.list()
.then(function (data){
vm.members = data;
$log.info("Got the members data",data);
vm.member = getMember();
console.log(vm.member);
}, function (error){
$log.error(error);
});
}
function getMember() {
$log.info("getMember",$stateParams.id);
return vm.members.filter(function(m){
return m.id == $stateParams.id;
})[0];
}
function activate(){
vm.members = [];
vm.member = [];
loadMembers();
}
activate();
}
})();

View File

@ -9,10 +9,29 @@
.controller('MembersListCtrl', MembersListCtrl);
/** @ngInject */
function MembersListCtrl($scope, $stateParams, membersList) {
function MembersListCtrl($scope, $stateParams,MemberService, $log, membersList) {
var vm = this;
vm.members = ($stateParams.label == "listing") ? membersList.getAllMessages() : membersList.getMembersByLabel($stateParams.label);
vm.label = $stateParams.label;
//vm.members = ($stateParams.label == "listing") ? membersList.getAllMessages() : membersList.getMembersByLabel($stateParams.label);
function loadMembers() {
MemberService
.list()
.then(function (data){
vm.members = data;
$log.info("Got the members data",data);
}, function (error){
$log.error(error);
});
}
function activate(){
vm.members = [];
loadMembers();
}
activate();
}

View File

@ -0,0 +1,51 @@
/**
* @author ayoub
*/
(function () {
'use strict';
angular.module('BlurAdmin.pages.teams')
.factory('MemberService', MemberService);
/** @ngInject */
function MemberService($http, $q) {
var apiBaseUrl = "http://localhost:9000"
var endpoint = apiBaseUrl + "/members";
function list(params) {
params = params || {};
var deferred = $q.defer();
$http.get(endpoint)
.success(function(data) {
deferred.resolve(data);
}).error(function(msg, code) {
deferred.reject(msg);
});
return deferred.promise;
return $http.get(endpoint, params);
}
function create(member) {
return $http.post(endpoint, member);
}
function edit(member) {
console.log("edit Member Object", member);
}
function remove(member) {
console.log("remove Member", member);
}
return {
list:list,
create:create,
edit:edit,
remove:remove
}
}
})();

BIN
src/assets/.DS_Store vendored Normal file

Binary file not shown.

BIN
src/assets/img/.DS_Store vendored Normal file

Binary file not shown.

BIN
src/assets/img/app/.DS_Store vendored Normal file

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB