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

View File

@ -9,7 +9,30 @@
.controller('ListsTabCtrl', ListsTabCtrl); .controller('ListsTabCtrl', ListsTabCtrl);
/** @ngInject */ /** @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; $scope.transparent = baConfig.theme.blur;
var dashboardColors = baConfig.colors.dashboard; var dashboardColors = baConfig.colors.dashboard;
@ -18,18 +41,13 @@
colors.push(dashboardColors[key]); colors.push(dashboardColors[key]);
} }
function getRandomColor() { function getRandomColor() {
var i = Math.floor(Math.random() * (colors.length - 1)); var i = Math.floor(Math.random() * (colors.length - 1));
return colors[i]; 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.tabs = membersList.getTabs();
$scope.searchResult = membersList.getAllMessages(); $scope.searchResult = membersList.getAllMessages();
@ -40,20 +58,24 @@
item.color = getRandomColor(); item.color = getRandomColor();
}); });
$scope.newTodoText = ''; $scope.newTodoText = 'tech';
$scope.listMembers = []; $scope.listMembers = [];
$scope.selectedLabel = "listing"; $scope.selectedLabel = "listing";
$scope.addNewList = function (event, clickPlus) { $scope.addNewList = function (event, clickPlus) {
if (clickPlus || event.which === 13) { if (clickPlus || event.which === 13) {
$scope.Lists.unshift({ /*$scope.Lists.unshift({
name: $scope.newTodoText, name: $scope.newTodoText,
color: getRandomColor(), color: getRandomColor(),
}); });*/
var list = {"name" : $scope.newTodoText};
ListService.create(list);
loadLists();
$scope.newTodoText = ''; $scope.newTodoText = '';
} }
}; };
$scope.updateMembers = function (index) { $scope.updateMembers = function (index) {
//uncheck others lists //uncheck others lists
for(var i = 0; i<$scope.Lists.length; i++) 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', url: '/lists',
//abstract: true, //abstract: true,
templateUrl: 'app/pages/teams/lists/lists.html', templateUrl: 'app/pages/teams/lists/lists.html',
controller: "ListsTabCtrl", controller: "ListsTabCtrl as vm",
controllerAs: "listsTabCtrl",
title: 'Lists', title: 'Lists',
sidebarMeta: { sidebarMeta: {
order: 0, order: 0,

View File

@ -54,7 +54,7 @@
ba-panel ba-panel
ba-panel-title="Add new members" ba-panel-title="Add new members"
ba-panel-class="xmedium-panel feed-comply-panel with-scroll todo-panel"> 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)"> <select class="form-control" selectpicker ng-model="selectedLabel" ng-change="getMemberByLabel(selectedLabel)">
<option selected="true" value="listing">Search by tag ...</option> <option selected="true" value="listing">Search by tag ...</option>
<option ng-repeat="t in tabs" value="{{t.label}}">{{t.name}}</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> <label for="inputFirstName" class="col-sm-3 control-label">Name</label>
<div class="col-sm-9"> <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> </div>
<div class="form-group row clearfix"> <div class="form-group row clearfix">
@ -44,11 +44,8 @@
<label class="col-sm-3 control-label">Department</label> <label class="col-sm-3 control-label">Department</label>
<div class="col-sm-9"> <div class="col-sm-9">
<select class="form-control" selectpicker> <select class="form-control" multiple ng-model="boxCtrl.member.labels">
<option>Web Development</option> <option ng-repeat="t in boxCtrl.Labels" value="{{t.label}}">{{t.name}}</option>
<option>System Development</option>
<option>Sales</option>
<option>Human Resources</option>
</select> </select>
</div> </div>
</div> </div>
@ -72,7 +69,7 @@
</div> </div>
<div class="compose-footer clearfix"> <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"> <div class="footer-controls">
<button type="button" ng-click="$dismiss()" class="btn btn-danger">Cancel</button> <button type="button" ng-click="$dismiss()" class="btn btn-danger">Cancel</button>

View File

@ -9,11 +9,12 @@
.controller('composeBoxCtrl', composeBoxCtrl); .controller('composeBoxCtrl', composeBoxCtrl);
/** @ngInject */ /** @ngInject */
function composeBoxCtrl(member, membersList,fileReader, $filter) { function composeBoxCtrl(member, membersList,MemberService,fileReader, $filter) {
var vm = this; var vm = this;
vm.member = member; vm.member = member;
//vm.actualIndex = actualIndex; //vm.actualIndex = actualIndex;
vm.picture = (member.pic && member.pic != "") ? $filter('profilePicture')(member.name.split(' ')[0]) : $filter('appImage')('theme/no-photo.png'); 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.removePicture = function () {
vm.picture = $filter('appImage')('theme/no-photo.png'); vm.picture = $filter('appImage')('theme/no-photo.png');
@ -36,5 +37,9 @@
vm.updateMember = function () { vm.updateMember = function () {
console.log(membersList.getIndexById(vm.member.id), vm.member); 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); .controller('MemberDetailCtrl', MemberDetailCtrl);
/** @ngInject */ /** @ngInject */
function MemberDetailCtrl($stateParams, membersList) { function MemberDetailCtrl($stateParams, membersList, MemberService, $log) {
var vm = this; var vm = this;
vm.member = membersList.getMemberById($stateParams.id); //vm.member = membersList.getMemberById($stateParams.id);
vm.label = $stateParams.label; //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); .controller('MembersListCtrl', MembersListCtrl);
/** @ngInject */ /** @ngInject */
function MembersListCtrl($scope, $stateParams, membersList) { function MembersListCtrl($scope, $stateParams,MemberService, $log, membersList) {
var vm = this; var vm = this;
vm.members = ($stateParams.label == "listing") ? membersList.getAllMessages() : membersList.getMembersByLabel($stateParams.label); //vm.members = ($stateParams.label == "listing") ? membersList.getAllMessages() : membersList.getMembersByLabel($stateParams.label);
vm.label = $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