mirror of https://github.com/akveo/blur-admin
linking to the backend (members, lists)
parent
fbe7d55b9e
commit
9ee65a7f02
Binary file not shown.
|
@ -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);
|
||||||
|
|
||||||
|
|
|
@ -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++)
|
||||||
|
|
|
@ -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
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})();
|
|
@ -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,
|
||||||
|
|
|
@ -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>
|
||||||
|
|
|
@ -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>
|
||||||
|
|
|
@ -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);
|
||||||
|
};
|
||||||
}
|
}
|
||||||
})();
|
})();
|
|
@ -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();
|
||||||
}
|
}
|
||||||
|
|
||||||
})();
|
})();
|
||||||
|
|
|
@ -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();
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -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
|
||||||
|
}
|
||||||
|
}
|
||||||
|
})();
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
After Width: | Height: | Size: 10 KiB |
Loading…
Reference in New Issue