From 046441d2547abc8aa7dcbbb0cfd8ba352b86b376 Mon Sep 17 00:00:00 2001 From: Youssef ABIDI Date: Fri, 18 Aug 2017 02:52:13 +0100 Subject: [PATCH 01/12] adding & removing the multiple type question from the builder --- src/app/pages/surveys/SurveysPageCtrl.js | 29 +++++-- src/app/pages/surveys/surveys.html | 86 +-------------------- src/app/pages/surveys/widgets/multiple.html | 83 ++++++++++++++++++++ 3 files changed, 108 insertions(+), 90 deletions(-) create mode 100644 src/app/pages/surveys/widgets/multiple.html diff --git a/src/app/pages/surveys/SurveysPageCtrl.js b/src/app/pages/surveys/SurveysPageCtrl.js index 3dabb2f..2110177 100644 --- a/src/app/pages/surveys/SurveysPageCtrl.js +++ b/src/app/pages/surveys/SurveysPageCtrl.js @@ -6,15 +6,22 @@ 'use strict'; angular.module('BlurAdmin.pages.surveys') - .controller('SurveysPageCtrl', SurveysPageCtrl); + .controller('SurveysPageCtrl', SurveysPageCtrl) + .directive('multiple', function() { + return { + templateUrl: 'app/pages/surveys/widgets/multiple.html' + }; + }); /** @ngInject */ - function SurveysPageCtrl($scope, $timeout) { + function SurveysPageCtrl($scope, $compile, $timeout) { $scope.isUnfolded = false; + $scope.actualId = 0; + $scope.survey = {}; $scope.survey.name = ''; $scope.survey.description = ''; - $scope.survey.elements.length = 0; + $scope.survey.elements = []; $scope.progressFunction = function() { return $timeout(function() {}, 3000); @@ -31,14 +38,24 @@ }; $scope.addElement = function(type){ - var element = createEmptyElement(type, $scope.survey.elements.length + 1); + $scope.actualId = $scope.survey.elements.length + 1; + var element = $scope.createEmptyElement(type, $scope.survey.elements.length + 1); $scope.activeElement=element; $scope.survey.elements.push(element); + var compiledeHTML = $compile("
")($scope); + $("#newElem").append(compiledeHTML); + console.log($scope.survey.elements); }; - function createEmptyElement(type,orderNo){ + $scope.removeElement = function(index){ + console.log("#q-"+index, index); + $scope.survey.elements.splice(index,1); + $("#q-"+index).remove(); + }; + + $scope.createEmptyElement = function(type,orderNo){ return { - id: 1, // TODO : generate the ID + id: $scope.survey.elements.length+1, // TODO : generate the ID orderNo: orderNo, type: type }; diff --git a/src/app/pages/surveys/surveys.html b/src/app/pages/surveys/surveys.html index 1c8a94a..ea89712 100644 --- a/src/app/pages/surveys/surveys.html +++ b/src/app/pages/surveys/surveys.html @@ -77,89 +77,7 @@

Page Title

Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum

-
-
-

Question 1

-
- - - - - - -
-
-
-
-
- -
- -
-
-
- -
- -
- -
- -
-
- - - -
-
- -
- -
- -
-
- - - -
-
-
- - -
- - -
- -
-
- -
- -
- -
- -
- -
-
- -
- -
-
- -
-
-
+
@@ -170,7 +88,7 @@
  • Textbox
  • -
  • Multiple Choices
  • +
  • Multiple Choices
  • Star Rating
  • Drop Down
  • Slider
  • diff --git a/src/app/pages/surveys/widgets/multiple.html b/src/app/pages/surveys/widgets/multiple.html new file mode 100644 index 0000000..b154706 --- /dev/null +++ b/src/app/pages/surveys/widgets/multiple.html @@ -0,0 +1,83 @@ +
    +
    +

    Question {{actualId}}

    +
    + + + + + + +
    +
    +
    +
    +
    + +
    + +
    +
    +
    + +
    + +
    + +
    + +
    +
    + + +
+
+
+ +
+ +
+ +
+
+ + + +
+
+ + + +
+ + +
+ +
+
+ +
+ +
+ +
+ +
+ +
+
+ +
+ +
+
+ + + + \ No newline at end of file From 8739f29e614c740299eb96415cc390e76fec3d94 Mon Sep 17 00:00:00 2001 From: Youssef ABIDI Date: Fri, 18 Aug 2017 18:08:53 +0100 Subject: [PATCH 02/12] building the json & other stuff --- src/app/pages/surveys/SurveysPageCtrl.js | 66 -------- src/app/pages/surveys/SurveysPageCtrl.js.bak | 142 ++++++++++++++++++ src/app/pages/surveys/create/create.html | 116 ++++++++++++++ src/app/pages/surveys/create/create.module.js | 22 +++ src/app/pages/surveys/create/createTabCtrl.js | 142 ++++++++++++++++++ .../{ => create}/widgets/multiple.html | 68 +++++---- src/app/pages/surveys/surveys.html | 11 +- src/app/pages/surveys/surveys.module.js | 16 +- src/sass/theme/_layout.scss | 18 +++ 9 files changed, 500 insertions(+), 101 deletions(-) delete mode 100644 src/app/pages/surveys/SurveysPageCtrl.js create mode 100644 src/app/pages/surveys/SurveysPageCtrl.js.bak create mode 100644 src/app/pages/surveys/create/create.html create mode 100644 src/app/pages/surveys/create/create.module.js create mode 100644 src/app/pages/surveys/create/createTabCtrl.js rename src/app/pages/surveys/{ => create}/widgets/multiple.html (50%) diff --git a/src/app/pages/surveys/SurveysPageCtrl.js b/src/app/pages/surveys/SurveysPageCtrl.js deleted file mode 100644 index 2110177..0000000 --- a/src/app/pages/surveys/SurveysPageCtrl.js +++ /dev/null @@ -1,66 +0,0 @@ -/** - * @author v.lugovsky - * created on 16.12.2015 - */ -(function () { - 'use strict'; - - angular.module('BlurAdmin.pages.surveys') - .controller('SurveysPageCtrl', SurveysPageCtrl) - .directive('multiple', function() { - return { - templateUrl: 'app/pages/surveys/widgets/multiple.html' - }; - }); - - /** @ngInject */ - function SurveysPageCtrl($scope, $compile, $timeout) { - - $scope.isUnfolded = false; - $scope.actualId = 0; - $scope.survey = {}; - $scope.survey.name = ''; - $scope.survey.description = ''; - $scope.survey.elements = []; - - $scope.progressFunction = function() { - return $timeout(function() {}, 3000); - }; - - $scope.panelFoldToggle = function() { - $scope.isUnfolded = !$scope.isUnfolded; - console.log($scope.isUnfolded); - }; - - $scope.getTheFoldingClass = function() { - var $className = ( $scope.isUnfolded ) ? "fa fa-compress" : "fa fa-expand"; - return $className; - }; - - $scope.addElement = function(type){ - $scope.actualId = $scope.survey.elements.length + 1; - var element = $scope.createEmptyElement(type, $scope.survey.elements.length + 1); - $scope.activeElement=element; - $scope.survey.elements.push(element); - var compiledeHTML = $compile("
")($scope); - $("#newElem").append(compiledeHTML); - console.log($scope.survey.elements); - }; - - $scope.removeElement = function(index){ - console.log("#q-"+index, index); - $scope.survey.elements.splice(index,1); - $("#q-"+index).remove(); - }; - - $scope.createEmptyElement = function(type,orderNo){ - return { - id: $scope.survey.elements.length+1, // TODO : generate the ID - orderNo: orderNo, - type: type - }; - } - - } - -})(); diff --git a/src/app/pages/surveys/SurveysPageCtrl.js.bak b/src/app/pages/surveys/SurveysPageCtrl.js.bak new file mode 100644 index 0000000..1fb7712 --- /dev/null +++ b/src/app/pages/surveys/SurveysPageCtrl.js.bak @@ -0,0 +1,142 @@ +/** + * @author v.lugovsky + * created on 16.12.2015 + */ +(function () { + 'use strict'; + + angular.module('BlurAdmin.pages.surveys') + .controller('SurveysPageCtrl', SurveysPageCtrl) + .directive('multiple', function() { + return { + templateUrl: 'app/pages/surveys/widgets/multiple.html' + }; + }) + .directive("contenteditable", function() { + return { + require: "ngModel", + link: function(scope, element, attrs, ngModel) { + + function read() { + ngModel.$setViewValue(element.html()); + } + + ngModel.$render = function() { + element.html(ngModel.$viewValue || ""); + }; + + element.bind("blur keyup change", function() { + scope.$apply(read); + }); + } + }; + }); + + /** @ngInject */ + function SurveysPageCtrl($scope, $http, $compile, $timeout) { + + $scope.editmode = true; + $scope.survey = {}; + $scope.survey.name = 'Page Title'; + $scope.survey.description = 'Page Description'; + $scope.survey.elements = []; + + $scope.progressFunction = function() { + return $timeout(function() {}, 3000); + }; + + $scope.panelFoldToggle = function(index) { + $scope.survey.elements[index].isUnfolded = !$scope.survey.elements[index].isUnfolded; + console.log($scope.survey.elements[index].isUnfolded); + }; + + $scope.getTheFoldingClass = function() { + var $className = ( $scope.isUnfolded ) ? "fa fa-compress" : "fa fa-expand"; + return $className; + }; + + $scope.addElement = function(type){ + var element = $scope.createEmptyElement(type, $scope.survey.elements.length + 1); + $scope.activeElement=element; + $scope.survey.elements.push(element); + $scope.updateBuilder(); + console.log($scope.survey.elements); + }; + + $scope.removeElement = function(index){ + $scope.survey.elements.splice(index,1); + $scope.updateBuilder(); + }; + + $scope.createEmptyElement = function(type,orderNo){ + var item = { + id: 1, + orderNo: 1, + value: null + }; + return { + id: $scope.survey.elements.length+1, // TODO : generate the ID + orderNo: orderNo, + text: "", + type: type, + required: false, + multiAnswers: false, + isUnfolded: false, + comment: false, + commentLabel: '', + tags:[], + items: (type == 'multiple') ? [item] : [], + }; + } + + $scope.addNewItem=function(index){ + + var item = { + id: $scope.survey.elements[index].length + 1, + orderNo: $scope.survey.elements[index].length + 1, + value: null + }; + + $scope.survey.elements[index]['items'].push(item); + $scope.updateBuilder(); + }; + + $scope.removeItem=function(index, itemIndex){ + + console.log(index, itemIndex, $scope.survey.elements); + if(itemIndex != 0) { + $scope.survey.elements[index]['items'].splice(itemIndex,1); + $scope.updateBuilder(); + } + + + }; + + $scope.submitSurvey=function(){ + $scope.json = angular.toJson($scope.survey); + var url = "/" + var parameter = JSON.stringify($scope.json); + $http.post(url, parameter). + success(function(data, status, headers, config) { + // this callback will be called asynchronously + // when the response is available + console.log(data); + }). + error(function(data, status, headers, config) { + // called asynchronously if an error occurs + // or server returns response with an error status. + console.log("error",data); + }); + + }; + + $scope.updateBuilder=function(){ + var compiledeHTML = $compile("
")($scope); + $("#newElem").html(compiledeHTML); + console.log($scope.survey.elements); + + }; + + } + +})(); diff --git a/src/app/pages/surveys/create/create.html b/src/app/pages/surveys/create/create.html new file mode 100644 index 0000000..e403e0f --- /dev/null +++ b/src/app/pages/surveys/create/create.html @@ -0,0 +1,116 @@ +
+ +
+
+

Survey Title

+
+

Page Title

+

Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum

+ +
+ +
+
+ + + +
+
+
+ +
+
+ +
+
+
+
+
+
+
+ diff --git a/src/app/pages/surveys/create/create.module.js b/src/app/pages/surveys/create/create.module.js new file mode 100644 index 0000000..1a73b61 --- /dev/null +++ b/src/app/pages/surveys/create/create.module.js @@ -0,0 +1,22 @@ +/** + * @author v.lugovsky + * created on 16.12.2015 + */ +(function () { + 'use strict'; + + angular.module('BlurAdmin.pages.surveys.create', []) + .directive('tagInput', tagInput); + + function tagInput() { + return { + restrict: 'A', + link: function( $scope, elem, attr) { + $(elem).tagsinput({ + tagClass: 'label label-' + attr.tagInput + }); + } + }; + } + +})(); diff --git a/src/app/pages/surveys/create/createTabCtrl.js b/src/app/pages/surveys/create/createTabCtrl.js new file mode 100644 index 0000000..71d4ea2 --- /dev/null +++ b/src/app/pages/surveys/create/createTabCtrl.js @@ -0,0 +1,142 @@ +/** + * @author v.lugovsky + * created on 16.12.2015 + */ +(function () { + 'use strict'; + + angular.module('BlurAdmin.pages.surveys.create') + .controller('CreateTabCtrl', CreateTabCtrl) + .directive('multiple', function() { + return { + templateUrl: 'app/pages/surveys/create/widgets/multiple.html' + }; + }) + .directive("contenteditable", function() { + return { + require: "ngModel", + link: function(scope, element, attrs, ngModel) { + + function read() { + ngModel.$setViewValue(element.html()); + } + + ngModel.$render = function() { + element.html(ngModel.$viewValue || ""); + }; + + element.bind("blur keyup change", function() { + scope.$apply(read); + }); + } + }; + }); + + /** @ngInject */ + function CreateTabCtrl($scope, $http, $compile, $timeout) { + + $scope.editmode = true; + $scope.survey = {}; + $scope.survey.name = 'Page Title'; + $scope.survey.description = 'Page Description'; + $scope.survey.elements = []; + + $scope.progressFunction = function() { + return $timeout(function() {}, 3000); + }; + + $scope.panelFoldToggle = function(index) { + $scope.survey.elements[index].isUnfolded = !$scope.survey.elements[index].isUnfolded; + console.log($scope.survey.elements[index].isUnfolded); + }; + + $scope.getTheFoldingClass = function() { + var $className = ( $scope.isUnfolded ) ? "fa fa-compress" : "fa fa-expand"; + return $className; + }; + + $scope.addElement = function(type){ + var element = $scope.createEmptyElement(type, $scope.survey.elements.length + 1); + $scope.activeElement=element; + $scope.survey.elements.push(element); + $scope.updateBuilder(); + console.log($scope.survey.elements); + }; + + $scope.removeElement = function(index){ + $scope.survey.elements.splice(index,1); + $scope.updateBuilder(); + }; + + $scope.createEmptyElement = function(type,orderNo){ + var item = { + id: 1, + orderNo: 1, + value: null + }; + return { + id: $scope.survey.elements.length+1, // TODO : generate the ID + orderNo: orderNo, + text: "", + type: type, + required: false, + multiAnswers: false, + isUnfolded: false, + comment: false, + commentLabel: '', + tags:[], + items: (type == 'multiple') ? [item] : [], + }; + } + + $scope.addNewItem=function(index){ + + var item = { + id: $scope.survey.elements[index].length + 1, + orderNo: $scope.survey.elements[index].length + 1, + value: null + }; + + $scope.survey.elements[index]['items'].push(item); + $scope.updateBuilder(); + }; + + $scope.removeItem=function(index, itemIndex){ + + console.log(index, itemIndex, $scope.survey.elements); + if(itemIndex != 0) { + $scope.survey.elements[index]['items'].splice(itemIndex,1); + $scope.updateBuilder(); + } + + + }; + + $scope.submitSurvey=function(){ + $scope.json = angular.toJson($scope.survey); + var url = "/" + var parameter = JSON.stringify($scope.json); + $http.post(url, parameter). + success(function(data, status, headers, config) { + // this callback will be called asynchronously + // when the response is available + console.log(data); + }). + error(function(data, status, headers, config) { + // called asynchronously if an error occurs + // or server returns response with an error status. + console.log("error",data); + }); + + }; + + $scope.updateBuilder=function(){ + var compiledeHTML = $compile("
")($scope); + $("#newElem").html(compiledeHTML); + console.log($scope.survey.elements); + + }; + + } + +})(); diff --git a/src/app/pages/surveys/widgets/multiple.html b/src/app/pages/surveys/create/widgets/multiple.html similarity index 50% rename from src/app/pages/surveys/widgets/multiple.html rename to src/app/pages/surveys/create/widgets/multiple.html index b154706..7508f52 100644 --- a/src/app/pages/surveys/widgets/multiple.html +++ b/src/app/pages/surveys/create/widgets/multiple.html @@ -1,48 +1,39 @@ -
+ + + + +
-

Question {{actualId}}

+

Question {{$index+1}}

- + - +
-
+
-
- +

-
- + +
+
- +
- - - -
-
- -
- -
- -
-
- - - + +
@@ -56,20 +47,27 @@
+
+ +
+
-
+
-
- +
+
@@ -78,6 +76,16 @@
+
+ + +
+ +
+ +
+
+
\ No newline at end of file diff --git a/src/app/pages/surveys/surveys.html b/src/app/pages/surveys/surveys.html index ea89712..e403e0f 100644 --- a/src/app/pages/surveys/surveys.html +++ b/src/app/pages/surveys/surveys.html @@ -74,8 +74,8 @@

Survey Title

-

Page Title

-

Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum

+

Page Title

+

Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum

@@ -94,7 +94,14 @@
  • Slider
  • +
    +
    + +
    +


    diff --git a/src/app/pages/surveys/surveys.module.js b/src/app/pages/surveys/surveys.module.js index 9fe5dba..04088ff 100644 --- a/src/app/pages/surveys/surveys.module.js +++ b/src/app/pages/surveys/surveys.module.js @@ -5,7 +5,9 @@ (function () { 'use strict'; - angular.module('BlurAdmin.pages.surveys', []) + angular.module('BlurAdmin.pages.surveys', [ + 'BlurAdmin.pages.surveys.create', + ]) .config(routeConfig); /** @ngInject */ @@ -13,12 +15,20 @@ $stateProvider .state('surveys', { url: '/surveys', - templateUrl: 'app/pages/surveys/surveys.html', - controller: 'SurveysPageCtrl', + template : '', title: 'Surveys', sidebarMeta: { + icon: 'ion-gear-a', order: 1500, }, + }).state('surveys.create', { + url: '/create', + templateUrl: 'app/pages/surveys/create/create.html', + controller: "CreateTabCtrl", + title: 'Create a Survey', + sidebarMeta: { + order: 0, + }, }); } diff --git a/src/sass/theme/_layout.scss b/src/sass/theme/_layout.scss index 6562bcb..9b79ac7 100644 --- a/src/sass/theme/_layout.scss +++ b/src/sass/theme/_layout.scss @@ -246,4 +246,22 @@ a { #surveys #survey-builder .new-question-options-container .panel-heading .btn-group{ margin-top: -25px; +} + +#surveys [contenteditable='true']:hover{ + cursor:pointer; + border: 1px dashed; + padding: 5px; + position:relative; +} +#surveys [contenteditable='true']:after{ + content: "\f040"; + font-family: FontAwesome; + opacity: 0; + position: absolute; + right: 10px; + top: 5px; +} +#surveys [contenteditable='true']:hover:after{ + opacity: 1; } \ No newline at end of file From c679d54adc0855540d9a321b74d87fd00f778edb Mon Sep 17 00:00:00 2001 From: Youssef ABIDI Date: Fri, 18 Aug 2017 18:10:25 +0100 Subject: [PATCH 03/12] removing unused files --- src/app/pages/surveys/SurveysPageCtrl.js.bak | 142 ------------------- src/app/pages/surveys/surveys.html | 2 +- 2 files changed, 1 insertion(+), 143 deletions(-) delete mode 100644 src/app/pages/surveys/SurveysPageCtrl.js.bak diff --git a/src/app/pages/surveys/SurveysPageCtrl.js.bak b/src/app/pages/surveys/SurveysPageCtrl.js.bak deleted file mode 100644 index 1fb7712..0000000 --- a/src/app/pages/surveys/SurveysPageCtrl.js.bak +++ /dev/null @@ -1,142 +0,0 @@ -/** - * @author v.lugovsky - * created on 16.12.2015 - */ -(function () { - 'use strict'; - - angular.module('BlurAdmin.pages.surveys') - .controller('SurveysPageCtrl', SurveysPageCtrl) - .directive('multiple', function() { - return { - templateUrl: 'app/pages/surveys/widgets/multiple.html' - }; - }) - .directive("contenteditable", function() { - return { - require: "ngModel", - link: function(scope, element, attrs, ngModel) { - - function read() { - ngModel.$setViewValue(element.html()); - } - - ngModel.$render = function() { - element.html(ngModel.$viewValue || ""); - }; - - element.bind("blur keyup change", function() { - scope.$apply(read); - }); - } - }; - }); - - /** @ngInject */ - function SurveysPageCtrl($scope, $http, $compile, $timeout) { - - $scope.editmode = true; - $scope.survey = {}; - $scope.survey.name = 'Page Title'; - $scope.survey.description = 'Page Description'; - $scope.survey.elements = []; - - $scope.progressFunction = function() { - return $timeout(function() {}, 3000); - }; - - $scope.panelFoldToggle = function(index) { - $scope.survey.elements[index].isUnfolded = !$scope.survey.elements[index].isUnfolded; - console.log($scope.survey.elements[index].isUnfolded); - }; - - $scope.getTheFoldingClass = function() { - var $className = ( $scope.isUnfolded ) ? "fa fa-compress" : "fa fa-expand"; - return $className; - }; - - $scope.addElement = function(type){ - var element = $scope.createEmptyElement(type, $scope.survey.elements.length + 1); - $scope.activeElement=element; - $scope.survey.elements.push(element); - $scope.updateBuilder(); - console.log($scope.survey.elements); - }; - - $scope.removeElement = function(index){ - $scope.survey.elements.splice(index,1); - $scope.updateBuilder(); - }; - - $scope.createEmptyElement = function(type,orderNo){ - var item = { - id: 1, - orderNo: 1, - value: null - }; - return { - id: $scope.survey.elements.length+1, // TODO : generate the ID - orderNo: orderNo, - text: "", - type: type, - required: false, - multiAnswers: false, - isUnfolded: false, - comment: false, - commentLabel: '', - tags:[], - items: (type == 'multiple') ? [item] : [], - }; - } - - $scope.addNewItem=function(index){ - - var item = { - id: $scope.survey.elements[index].length + 1, - orderNo: $scope.survey.elements[index].length + 1, - value: null - }; - - $scope.survey.elements[index]['items'].push(item); - $scope.updateBuilder(); - }; - - $scope.removeItem=function(index, itemIndex){ - - console.log(index, itemIndex, $scope.survey.elements); - if(itemIndex != 0) { - $scope.survey.elements[index]['items'].splice(itemIndex,1); - $scope.updateBuilder(); - } - - - }; - - $scope.submitSurvey=function(){ - $scope.json = angular.toJson($scope.survey); - var url = "/" - var parameter = JSON.stringify($scope.json); - $http.post(url, parameter). - success(function(data, status, headers, config) { - // this callback will be called asynchronously - // when the response is available - console.log(data); - }). - error(function(data, status, headers, config) { - // called asynchronously if an error occurs - // or server returns response with an error status. - console.log("error",data); - }); - - }; - - $scope.updateBuilder=function(){ - var compiledeHTML = $compile("
    ")($scope); - $("#newElem").html(compiledeHTML); - console.log($scope.survey.elements); - - }; - - } - -})(); diff --git a/src/app/pages/surveys/surveys.html b/src/app/pages/surveys/surveys.html index e403e0f..bb2b5ed 100644 --- a/src/app/pages/surveys/surveys.html +++ b/src/app/pages/surveys/surveys.html @@ -19,7 +19,7 @@ Last Question - + From 89bb2d504ed0de3078cbcad58691a208d0e8cb2d Mon Sep 17 00:00:00 2001 From: Youssef ABIDI Date: Sat, 19 Aug 2017 00:29:14 +0100 Subject: [PATCH 04/12] members layout --- src/app/pages/pages.module.js | 1 + src/app/pages/teams/members/MembersTabCtrl.js | 28 ++++++ src/app/pages/teams/members/members.html | 88 +++++++++++++++++++ src/app/pages/teams/members/members.module.js | 22 +++++ src/app/pages/teams/teams.module.js | 35 ++++++++ 5 files changed, 174 insertions(+) create mode 100644 src/app/pages/teams/members/MembersTabCtrl.js create mode 100644 src/app/pages/teams/members/members.html create mode 100644 src/app/pages/teams/members/members.module.js create mode 100644 src/app/pages/teams/teams.module.js diff --git a/src/app/pages/pages.module.js b/src/app/pages/pages.module.js index 80d9be9..e841b29 100644 --- a/src/app/pages/pages.module.js +++ b/src/app/pages/pages.module.js @@ -17,6 +17,7 @@ 'BlurAdmin.pages.maps', 'BlurAdmin.pages.profile', 'BlurAdmin.pages.surveys', + 'BlurAdmin.pages.teams', ]) .config(routeConfig); diff --git a/src/app/pages/teams/members/MembersTabCtrl.js b/src/app/pages/teams/members/MembersTabCtrl.js new file mode 100644 index 0000000..fa7e877 --- /dev/null +++ b/src/app/pages/teams/members/MembersTabCtrl.js @@ -0,0 +1,28 @@ +/** + * @author v.lugovsky + * created on 16.12.2015 + */ +(function () { + 'use strict'; + + angular.module('BlurAdmin.pages.teams.members') + .controller('MembersTabCtrl', MembersTabCtrl); + + /** @ngInject */ + function MembersTabCtrl($scope, fileReader, $filter, $uibModal) { + $scope.picture = $filter('profilePicture')('Nasta'); + + $scope.removePicture = function () { + $scope.picture = $filter('appImage')('theme/no-photo.png'); + $scope.noPicture = true; + }; + + $scope.uploadPicture = function () { + var fileInput = document.getElementById('uploadFile'); + fileInput.click(); + + }; + + } + +})(); \ No newline at end of file diff --git a/src/app/pages/teams/members/members.html b/src/app/pages/teams/members/members.html new file mode 100644 index 0000000..067888e --- /dev/null +++ b/src/app/pages/teams/members/members.html @@ -0,0 +1,88 @@ +
    + + + +
    +
    +

    Survey Title

    +
    + +
    +
    + + +
    +
    +
    + +
    + + Change Profile Picture + +
    +
    +
    +
    + +
    +
    + + +
    + +
    +
    +
    + + +
    + +
    +
    +
    + +
    +
    + + +
    + +
    +
    + +
    + + +
    + +
    +
    +
    + +
    +
    +
    + + +
    \ No newline at end of file diff --git a/src/app/pages/teams/members/members.module.js b/src/app/pages/teams/members/members.module.js new file mode 100644 index 0000000..6954cd0 --- /dev/null +++ b/src/app/pages/teams/members/members.module.js @@ -0,0 +1,22 @@ +/** + * @author v.lugovsky + * created on 16.12.2015 + */ +(function () { + 'use strict'; + + angular.module('BlurAdmin.pages.teams.members', []) + .directive('tagInput', tagInput); + + function tagInput() { + return { + restrict: 'A', + link: function( $scope, elem, attr) { + $(elem).tagsinput({ + tagClass: 'label label-' + attr.tagInput + }); + } + }; + } + +})(); diff --git a/src/app/pages/teams/teams.module.js b/src/app/pages/teams/teams.module.js new file mode 100644 index 0000000..97f05c9 --- /dev/null +++ b/src/app/pages/teams/teams.module.js @@ -0,0 +1,35 @@ +/** + * @author v.lugovsky + * created on 16.12.2015 + */ +(function () { + 'use strict'; + + angular.module('BlurAdmin.pages.teams', [ + 'BlurAdmin.pages.teams.members', + ]) + .config(routeConfig); + + /** @ngInject */ + function routeConfig($stateProvider) { + $stateProvider + .state('teams', { + url: '/teams', + template : '', + title: 'Teams', + sidebarMeta: { + icon: 'ion-gear-a', + order: 1500, + }, + }).state('teams.members', { + url: '/create', + templateUrl: 'app/pages/teams/members/members.html', + controller: "MembersTabCtrl", + title: 'Manage Members', + sidebarMeta: { + order: 0, + }, + }); + } + +})(); From ebf208efbf354c36032c679ff59bd95131867b4a Mon Sep 17 00:00:00 2001 From: Youssef ABIDI Date: Sat, 19 Aug 2017 11:59:31 +0100 Subject: [PATCH 05/12] Members lisiting and details --- .DS_Store | Bin 0 -> 6148 bytes src/.DS_Store | Bin 0 -> 6148 bytes src/app/.DS_Store | Bin 0 -> 6148 bytes src/app/pages/.DS_Store | Bin 0 -> 6148 bytes src/app/pages/components/.DS_Store | Bin 0 -> 6148 bytes src/app/pages/surveys/.DS_Store | Bin 0 -> 6148 bytes src/app/pages/teams/.DS_Store | Bin 0 -> 6148 bytes src/app/pages/teams/members/MembersTabCtrl.js | 25 +- .../teams/members/composeBox/compose.html | 26 ++ .../members/composeBox/composeBoxCtrl.js | 18 ++ .../teams/members/composeBox/composeModal.js | 36 +++ .../teams/members/detail/MailDetailCtrl.js | 18 ++ .../teams/members/detail/memberDetail.html | 82 ++++++ .../teams/members/list/MembersListCtrl.js | 19 ++ .../pages/teams/members/list/membersList.html | 59 +++++ src/app/pages/teams/members/members.html | 124 +++------ src/app/pages/teams/members/members.module.js | 36 ++- .../pages/teams/members/membersMessages.js | 250 ++++++++++++++++++ src/app/pages/teams/teams.module.js | 19 +- 19 files changed, 592 insertions(+), 120 deletions(-) create mode 100644 .DS_Store create mode 100644 src/.DS_Store create mode 100644 src/app/.DS_Store create mode 100644 src/app/pages/.DS_Store create mode 100644 src/app/pages/components/.DS_Store create mode 100644 src/app/pages/surveys/.DS_Store create mode 100644 src/app/pages/teams/.DS_Store create mode 100644 src/app/pages/teams/members/composeBox/compose.html create mode 100644 src/app/pages/teams/members/composeBox/composeBoxCtrl.js create mode 100644 src/app/pages/teams/members/composeBox/composeModal.js create mode 100644 src/app/pages/teams/members/detail/MailDetailCtrl.js create mode 100644 src/app/pages/teams/members/detail/memberDetail.html create mode 100644 src/app/pages/teams/members/list/MembersListCtrl.js create mode 100644 src/app/pages/teams/members/list/membersList.html create mode 100644 src/app/pages/teams/members/membersMessages.js diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..9a874b5768f336915163bb88cd434575b859f936 GIT binary patch literal 6148 zcmeH~Jr2S!425ml0g0s}V-^m;4I%_5-~tF3k&vj^b9A16778<}(6eNJu~Vz<8=6`~ zboab&MFtUB!i}=AFfm2m$tVxGT*u4pe81nUlA49C} z?O@64YO)2RT{MRe%{!}2F))pG(Sih~)xkgosK7*lF7m<7{{#Hn{6A@7N(HFEpDCdI z{R_M(RA8jQJo4Vo|2_QM{6A`8N(HFEpDCc- z?y%e9rSfe3cs;8hvuf)G2mNw{x1Rtcb`-DRZrCrj0Bf=ZQGxMCz-3^d0zXyY1qdw> AZU6uP literal 0 HcmV?d00001 diff --git a/src/app/.DS_Store b/src/app/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..51707bc4eafe75f6d920425142e71d07f06b518f GIT binary patch literal 6148 zcmeH~J&pn~427RrkdU^a+%gRZ;06(5PrwD(1w@0yN@)8WooB}l12r0r2wyw<3^dk@$ KG>E`U3ETkUhZBha literal 0 HcmV?d00001 diff --git a/src/app/pages/.DS_Store b/src/app/pages/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..6c0c687b47e7b13ffbb244590c130922ea4a1d36 GIT binary patch literal 6148 zcmeHKF-`+P3>-rc5i}_&_Y3@B6@?e@0U${iIK&Yoy6gBhW3Ll|j%z7kEZKAMdc3+R z&M^R6?l;%K0>GT^hz}2A^KeXwjp?6SnkM^rPyZ6VAQB8XX?-%y{H)`t|Oi z>vn96bGF;#1#fKrj{b1u9nW~z7WZTy)6S4d0VyB_q<|EV0uu`4pqyV$oGUE_q`?1G zz`qZL?pPCthVkiOh!uc1V>*n_u}ct(Cx|t1XvhrB8kN|nmMexeI`bv#YU0qa(P6oK zSl(>8p;+9`{w2y`wV|REkOJQo@ZFoX@cDm3pVW~vIYIqf#4$mIH2r?wa*e@u>x3=Er<$CqZN!+ z^)bZi-VT;LSCcIm?V>q+Xg*nOih*ggixwm>tquk%Km|Gl4v|lG|DWMM&Hr5sQz}3O z{+R+gESF`*OXb~q_j*>pX4TdW4*GF~Z$AM@>?%IO-LPM50oG&-q5|WOfXl!@1%6e5 EPvjXArT_o{ literal 0 HcmV?d00001 diff --git a/src/app/pages/surveys/.DS_Store b/src/app/pages/surveys/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..5008ddfcf53c02e82d7eee2e57c38e5672ef89f6 GIT binary patch literal 6148 zcmeH~Jr2S!425mzP>H1@V-^m;4Wg<&0T*E43hX&L&p$$qDprKhvt+--jT7}7np#A3 zem<@ulZcFPQ@L2!n>{z**++&mCkOWA81W14cNZlEfg7;MkzE(HCqgga^y>{tEnwC%0;vJ&^%eQ zLs35+`xjp>T0vIYIqf#4$mIH2r?wa*e@u>x3=Er<$CqZN!+ z^)bZi-VT;LSCcIm?V>q+Xg*nOih*ggixwm>tquk%Km|Gl4v|lG|DWMM&Hr5sQz}3O z{+R+gESF`*OXb~q_j*>pX4TdW4*GF~Z$AM@>?%IO-LPM50oG&-q5|WOfXl!@1%6e5 EPvjXArT_o{ literal 0 HcmV?d00001 diff --git a/src/app/pages/teams/members/MembersTabCtrl.js b/src/app/pages/teams/members/MembersTabCtrl.js index fa7e877..c3cd69a 100644 --- a/src/app/pages/teams/members/MembersTabCtrl.js +++ b/src/app/pages/teams/members/MembersTabCtrl.js @@ -6,23 +6,22 @@ 'use strict'; angular.module('BlurAdmin.pages.teams.members') - .controller('MembersTabCtrl', MembersTabCtrl); + .controller('MembersTabCtrl', MembersTabCtrl); /** @ngInject */ - function MembersTabCtrl($scope, fileReader, $filter, $uibModal) { - $scope.picture = $filter('profilePicture')('Nasta'); - - $scope.removePicture = function () { - $scope.picture = $filter('appImage')('theme/no-photo.png'); - $scope.noPicture = true; - }; - - $scope.uploadPicture = function () { - var fileInput = document.getElementById('uploadFile'); - fileInput.click(); + function MembersTabCtrl(composeModal, mailMessages) { + var vm = this; + vm.navigationCollapsed = true; + vm.showCompose = function(subject, to , text){ + composeModal.open({ + subject : subject, + to: to, + text: text + }) }; + vm.tabs = mailMessages.getTabs(); } -})(); \ No newline at end of file +})(); diff --git a/src/app/pages/teams/members/composeBox/compose.html b/src/app/pages/teams/members/composeBox/compose.html new file mode 100644 index 0000000..4337188 --- /dev/null +++ b/src/app/pages/teams/members/composeBox/compose.html @@ -0,0 +1,26 @@ +
    + + New message + + + + + + +
    +
    + + +
    + + +
    +
    + \ No newline at end of file diff --git a/src/app/pages/teams/members/composeBox/composeBoxCtrl.js b/src/app/pages/teams/members/composeBox/composeBoxCtrl.js new file mode 100644 index 0000000..9c46092 --- /dev/null +++ b/src/app/pages/teams/members/composeBox/composeBoxCtrl.js @@ -0,0 +1,18 @@ +/** + * @author a.demeshko + * created on 24/12/15 + */ +(function () { + 'use strict'; + + angular.module('BlurAdmin.pages.components.mail') + .controller('composeBoxCtrl', composeBoxCtrl); + + /** @ngInject */ + function composeBoxCtrl(subject, to, text) { + var vm = this; + vm.subject = subject; + vm.to = to; + vm.text = text; + } +})(); \ No newline at end of file diff --git a/src/app/pages/teams/members/composeBox/composeModal.js b/src/app/pages/teams/members/composeBox/composeModal.js new file mode 100644 index 0000000..3921c0f --- /dev/null +++ b/src/app/pages/teams/members/composeBox/composeModal.js @@ -0,0 +1,36 @@ +/** + * @author a.demeshko + * created on 12/24/15 + */ +(function () { + 'use strict'; + + angular.module('BlurAdmin.pages.components.mail') + .service('composeModal', composeModal); + + /** @ngInject */ + function composeModal($uibModal) { + this.open = function(options){ + return $uibModal.open({ + animation: false, + templateUrl: 'app/pages/components/mail/composeBox/compose.html', + controller: 'composeBoxCtrl', + controllerAs: 'boxCtrl', + size: 'compose', + resolve: { + subject: function () { + return options.subject; + }, + to: function () { + return options.to; + }, + text: function () { + return options.text; + } + } + }); + } + + } + +})(); \ No newline at end of file diff --git a/src/app/pages/teams/members/detail/MailDetailCtrl.js b/src/app/pages/teams/members/detail/MailDetailCtrl.js new file mode 100644 index 0000000..6891060 --- /dev/null +++ b/src/app/pages/teams/members/detail/MailDetailCtrl.js @@ -0,0 +1,18 @@ +/** + * @author a.demeshko + * created on 28.12.2015 + */ +(function () { + 'use strict'; + + angular.module('BlurAdmin.pages.teams.members') + .controller('MemberDetailCtrl', MemberDetailCtrl); + + /** @ngInject */ + function MemberDetailCtrl($stateParams, mailMessages) { + var vm = this; + vm.mail = mailMessages.getMessageById($stateParams.id); + vm.label = $stateParams.label; + } + +})(); diff --git a/src/app/pages/teams/members/detail/memberDetail.html b/src/app/pages/teams/members/detail/memberDetail.html new file mode 100644 index 0000000..0e6b7b0 --- /dev/null +++ b/src/app/pages/teams/members/detail/memberDetail.html @@ -0,0 +1,82 @@ +
    +
    +
    +
    + +
    + +
    +
    +
    + + +
    +

    {{detailCtrl.mail.name.split(' ')[0]}}

    + +

    {{detailCtrl.mail.name.split(' ')[1]}}

    + +
    + {{detailCtrl.mail.tag}} +
    +
    +
    +
    +
    +
    + + 777-777-7777 +
    +
    + + +
    +
    +
    + +
    +
    +
    + {{detailCtrl.mail.position}} +
    +
    + 12 Nezavisimosti st. Vilnius, Lithuania +
    +
    +
    +
    +
    +
    +
    +
    + {{detailCtrl.mail.subject}} + • {{detailCtrl.mail.date | date : 'h:mm a MMMM d '}} +
    +
    +
    + +
    +
    +
    + 1 Attachment - View | Download +
    + + {{detailCtrl.mail.attachment}} +
    +
    +
    +
    + + + + + +
    + +
    +
    +
    Nothing to show
    +
    +
    \ No newline at end of file diff --git a/src/app/pages/teams/members/list/MembersListCtrl.js b/src/app/pages/teams/members/list/MembersListCtrl.js new file mode 100644 index 0000000..96d83d2 --- /dev/null +++ b/src/app/pages/teams/members/list/MembersListCtrl.js @@ -0,0 +1,19 @@ +/** + * @author a.demeshko + * created on 28.12.2015 + */ +(function () { + 'use strict'; + + angular.module('BlurAdmin.pages.teams.members') + .controller('MembersListCtrl', MembersListCtrl); + + /** @ngInject */ + function MembersListCtrl($stateParams, mailMessages) { + var vm = this; + console.log($stateParams.label); + vm.messages = mailMessages.getMessagesByLabel($stateParams.label); + vm.label = $stateParams.label; + } + +})(); diff --git a/src/app/pages/teams/members/list/membersList.html b/src/app/pages/teams/members/list/membersList.html new file mode 100644 index 0000000..659d4d0 --- /dev/null +++ b/src/app/pages/teams/members/list/membersList.html @@ -0,0 +1,59 @@ +
    +
    +
    + +
    + + + +
    +
    + + + + + + + + + +
    +
    + +
    +
    +
    +
    {{m.name}}
    +
    {{m.tag}}
    +
    +
    +
    + {{m.email}} +
    +
    + {{m.position}} + + + +
    +
    +
    \ No newline at end of file diff --git a/src/app/pages/teams/members/members.html b/src/app/pages/teams/members/members.html index 067888e..e9b716f 100644 --- a/src/app/pages/teams/members/members.html +++ b/src/app/pages/teams/members/members.html @@ -1,88 +1,42 @@ -
    - +
    +
    +
    +
    +
    +
    + +
    +
    + {{t.name}}{{t.newMails}} +
    +
    +
    - -
    -
    -

    Survey Title

    -
    - -
    -
    - - -
    -
    -
    - -
    - - Change Profile Picture - -
    -
    -
    -
    - -
    -
    - - -
    - -
    -
    -
    - - -
    - -
    -
    -
    - -
    -
    - - -
    - -
    -
    - -
    - - -
    - -
    -
    -
    - -
    -
    +
    +
    +
    + Work +
    +
    + Family +
    +
    + Friend +
    +
    + Study +
    +
    +
    +
    + Add new label +
    +
    + +
    - - +
    \ No newline at end of file diff --git a/src/app/pages/teams/members/members.module.js b/src/app/pages/teams/members/members.module.js index 6954cd0..d889690 100644 --- a/src/app/pages/teams/members/members.module.js +++ b/src/app/pages/teams/members/members.module.js @@ -6,17 +6,35 @@ 'use strict'; angular.module('BlurAdmin.pages.teams.members', []) - .directive('tagInput', tagInput); + .config(routeConfig); - function tagInput() { - return { - restrict: 'A', - link: function( $scope, elem, attr) { - $(elem).tagsinput({ - tagClass: 'label label-' + attr.tagInput + /** @ngInject */ + function routeConfig($stateProvider,$urlRouterProvider) { + $stateProvider + .state('teams.members', { + url: '/members', + abstract: true, + templateUrl: 'app/pages/teams/members/members.html', + controller: "MembersTabCtrl", + controllerAs: "tabCtrl", + title: 'Members', + sidebarMeta: { + order: 0, + }, + }).state('teams.members.label', { + url: '/:label', + templateUrl: 'app/pages/teams/members/list/membersList.html', + title: 'Mail', + controller: "MailListCtrl", + controllerAs: "listCtrl" + }).state('teams.members.detail', { + url: '/:label/:id', + templateUrl: 'app/pages/teams/members/detail/memberDetail.html', + title: 'Detail', + controller: "MemberDetailCtrl", + controllerAs: "detailCtrl" }); - } - }; + $urlRouterProvider.when('/teams/members','/teams/members/inbox'); } })(); diff --git a/src/app/pages/teams/members/membersMessages.js b/src/app/pages/teams/members/membersMessages.js new file mode 100644 index 0000000..1078a04 --- /dev/null +++ b/src/app/pages/teams/members/membersMessages.js @@ -0,0 +1,250 @@ +/** + * @author a.demeshko + * created on 12/29/15 + */ +(function () { + 'use strict'; + + angular.module('BlurAdmin.pages.teams.members') + .service('membersMessages', membersMessages); + + /** @ngInject */ + function membersMessages($sce) { + var messages = [ + { + "id": "4563faass", + "name": "Nasta Linnie", + "subject": "Great text", + "date": "2015-08-28T07:57:09", + "body": $sce.trustAsHtml("

    Hey John,

    Check out this cool text.

    "), + "pic": "img/Nasta.png", + "email": "petraramsey@mail.com", + "attachment": "poem.txt", + "position": "Great Employee", + "tag": "friend", + "labels": ['inbox'] + }, + { + "id": "4563fdfvd", + "name": "Nasta Linnie", + "subject": "Lores ipsum", + "date": "2015-11-19T03:30:45", + "important": false, + "body": $sce.trustAsHtml("

    Hey John,


    Lorem ipsum dolor sit amet, consectetur adipiscing elit. Mauris ex mauris, ultrices vel lectus quis, scelerisque hendrerit ipsum. Suspendisse ullamcorper turpis neque, eget dapibus magna placerat ac. Suspendisse rhoncus ligula ac mi tempus varius ut sed lacus. Sed et commodo nulla, et placerat leo. Nam rhoncus vulputate sem non pharetra. Praesent fringilla massa in laoreet convallis. Aliquam lobortis dui a congue facilisis. Aenean dapibus semper semper. Quisque aliquam, nibh dapibus interdum condimentum, ex velit tempor tortor, at vestibulum magna leo quis leo. Morbi pulvinar varius erat ac rutrum. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; In hac habitasse platea dictumst.

    " + + "

    Cras rhoncus quam ipsum, vel dignissim nisl egestas sed. Aliquam erat volutpat. Integer eu nisl elit. Donec malesuada diam vitae tellus luctus tincidunt. Donec tempus blandit neque, rutrum egestas ipsum sagittis tempor. Curabitur volutpat ligula enim, nec vehicula purus molestie at. Sed a facilisis enim, nec molestie magna. Donec in augue non est viverra dapibus vel tempus risus. Nam porttitor purus sit amet hendrerit ullamcorper. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos.

    "), + "pic": "img/Nasta.png", + "email": "petraramsey@mail.com", + "position": "Great Employee", + "tag": "study", + "labels": ['inbox'] + }, + { + "id": "4563zxcss", + "name": "Nasta Linnie", + "subject": "Lores ipsum", + "date": "2015-10-19T03:30:45", + "important": false, + "body": $sce.trustAsHtml("

    Hey Nasta,

    Lorem ipsum dolor sit amet, consectetur adipiscing elit

    "), + "pic": "img/Nasta.png", + "email": "petraramsey@mail.com", + "position": "Great Employee", + "tag": "work", + "labels": ['sent', 'important'] + }, + { + "id": "8955sddf", + "name": "Nick Cat", + "subject": "New Design", + "date": "2015-05-05T12:59:45", + "body": $sce.trustAsHtml("

    Hey John, Consectetur adipiscing elit


    " + + "

    Cras rhoncus quam ipsum, vel dignissim nisl egestas sed. Aliquam erat volutpat. Integer eu nisl elit. Donec malesuada diam vitae tellus luctus tincidunt. Donec tempus blandit neque, rutrum egestas ipsum sagittis tempor. Curabitur volutpat ligula enim, nec vehicula purus molestie at. Sed a facilisis enim, nec molestie magna. Donec in augue non est viverra dapibus vel tempus risus. Nam porttitor purus sit amet hendrerit ullamcorper. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos.

    "), + "pic": "img/Nick.png", + "email": "barlowshort@mail.com", + "position": "Graphical designer", + "attachment": "design.psd", + "tag": "work", + "labels": ['inbox'] + }, + { + "id": "8955sdfcc", + "name": "Nick Cat", + "subject": "Gift card", + "date": "2015-07-18T10:19:01", + "body": $sce.trustAsHtml("

    Hey John,


    Consectetur adipiscing elit, Lorem ipsum dolor sit amet

    "), + "pic": "img/Nick.png", + "email": "barlowshort@mail.com", + "position": "Graphical designer", + "tag": "study", + "labels": ['inbox'] + }, + { + "id": "8955asewf", + "name": "Nick Cat", + "subject": "Some news", + "date": "2015-09-23T03:04:10", + "body": $sce.trustAsHtml("

    Hey John,


    Integer eu nisl elit. Donec malesuada diam vitae tellus luctus tincidunt. Donec tempus blandit neque, rutrum egestas ipsum sagittis tempor. Curabitur volutpat ligula enim, nec vehicula purus molestie at. Sed a facilisis enim, nec molestie magna. Donec in augue non est viverra dapibus vel tempus risus. Nam porttitor purus sit amet hendrerit ullamcorper. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos.

    "), + "pic": "img/Nick.png", + "email": "barlowshort@mail.com", + "position": "Graphical designer", + "tag": "work", + "labels": ['inbox', 'important'] + }, + { + "id": "2334uudsa", + "name": "Kostya Danovsky", + "subject": "Street Art", + "date": "2015-11-22T10:05:09", + "body": $sce.trustAsHtml("

    Hey John,

    Aliquam eu facilisis eros, quis varius est.

    " + + "

    Consectetur adipiscing elit. Aliquam sodales sem in nibh pellentesque, ac dignissim mi dapibus.

    " + + "

    Lorem ipsum dolor sit amet! Nullam imperdiet justo a ipsum laoreet euismod.

    " + + "

    Cras tincidunt fermentum lectus, quis scelerisque lorem volutpat sed." + + "Sed quis orci sed nisl sagittis viverra id at mauris. Nam venenatis mi nibh. Sed fringilla mattis vehic

    "), + "pic": "img/Kostya.png", + "email": "schwart@mail.com", + "position": "Technical Chef", + "attachment": "file.doc", + "tag": "family", + "labels": ['inbox', 'important'] + }, + { + "id": "2334aefvv", + "name": "Kostya Danovsky", + "subject": "New product", + "date": "2015-06-22T06:26:10", + "body": $sce.trustAsHtml("

    Hello John,

    Lorem ipsum dolor sit amet!

    " + + "

    Consectetur adipiscing elit. Aliquam sodales sem in nibh pellentesque, ac dignissim mi dapibus.

    " + + "

    Aliquam eu facilisis eros, quis varius est. Nullam imperdiet justo a ipsum laoreet euismod.

    " + + "

    Nulla facilisi. Nulla congue, arcu eget blandit lacinia, leo ante ullamcorper lectus, vel pulvinar justo ipsum vitae justo." + + "Cras tincidunt fermentum lectus, quis scelerisque lorem volutpat sed. Sed quis orci sed nisl sagittis viverra id at mauris. Nam venenatis mi nibh. Sed fringilla mattis vehic

    "), + "pic": "img/Kostya.png", + "email": "schwart@mail.com", + "position": "Technical Chef", + "tag": "family", + "labels": ['inbox', 'important'] + }, + { + "id": "2334cvdss", + "name": "Kostya Danovsky", + "subject": "Old product", + "date": "2015-06-22T06:26:10", + "body": $sce.trustAsHtml("

    Hello John,

    " + + "

    Consectetur adipiscing elit. Aliquam sodales sem in nibh pellentesque, ac dignissim mi dapibus.

    " + + "
    "+ + "

    Cras tincidunt fermentum lectus, quis scelerisque lorem volutpat sed. Sed quis orci sed nisl sagittis viverra id at mauris. Nam venenatis mi nibh. Sed fringilla mattis vehic

    "), + "pic": "img/Kostya.png", + "email": "schwart@mail.com", + "position": "Technical Chef", + "tag": "study", + "labels": ['trash'] + }, + { + "id": "8223xzxfn", + "name": "Andrey Hrabouski", + "subject": "Skype moji", + "date": "2015-07-16T06:47:53", + "body": $sce.trustAsHtml("

    Hello John,

    Aliquam sodales sem in nibh pellentesque

    " + + "

    Lorem ipsum dolor I find moji in skype sit amet!.

    "), + "pic": "img/Andrey.png", + "email": "lakeishaphillips@mail.com", + "position": "Mobile Developer", + "tag": 'family', + "labels": ['trash'] + }, + { + "id": "8223sdffn", + "name": "Andrey Hrabouski", + "subject": "My App", + "date": "2015-06-20T07:05:02", + "body": $sce.trustAsHtml("

    Hey Vlad.

    Lorem ipsum dolor sit amet!

    " + + "

    Consectetur My Falasson App elit. Aliquam sodales sem in nibh pellentesque, ac dignissim mi dapibus.

    "), + "pic": "img/Andrey.png", + "email": "lakeishaphillips@mail.com", + "position": "Mobile Developer", + "tag": 'family', + "labels": ['spam'] + }, + { + "id": "9391xdsff", + "name": "Vlad Lugovsky", + "subject": "Cool", + "date": "2015-03-31T11:52:58", + "body": $sce.trustAsHtml("

    Hey Vlad.

    Aliquam sodales sem in nibh pellentesque

    " + + "

    Cras tincidunt fermentum lectus, quis scelerisque lorem volutpat sed.

    "), + "pic": "img/Vlad.png", + "email": "carlsongoodman@mail.com", + "position": "Fullstack man", + "tag": "study", + "labels": ['draft'] + }, + { + "id": "8223xsdaa", + "name": "Andrey Hrabouski", + "subject": "Car rent", + "date": "2015-02-25T10:58:58", + "body": $sce.trustAsHtml("

    Hey Andrey.

    " + + "

    Cras tincidunt fermentum lectus, quis scelerisque lorem volutpat sed. Sed quis orci sed nisl sagittis viverra id at mauris. Nam venenatis mi nibh. Sed fringilla mattis vehic

    "), + "pic": "img/Andrey.png", + "email": "lakeishaphillips@mail.com", + "position": "Mobile Developer", + "tag": "family", + "labels": ['draft'] + }, + { + "id": "9391xdsff", + "name": "Vlad Lugovsky", + "subject": "What next", + "date": "2015-03-31T11:52:58", + "body": $sce.trustAsHtml("

    Hey Vlad.

    Lorem ipsum dolor sit amet!

    " + + "

    Esse esse labore tempor ullamco ullamco. Id veniam laborum c.

    "), + "pic": "img/Vlad.png", + "email": "carlsongoodman@mail.com", + "position": "Fullstack man", + "tag": "study", + "labels": ['sent'] + } + ].sort(function (a, b) { + if (a.date > b.date) return 1; + if (a.date < b.date) return -1; + }).reverse(); + var tabs = [{ + label: 'inbox', + name: 'Inbox', + newMails: 7 + }, { + label: 'sent', + name: 'Sent Mail' + }, { + label: 'important', + name: 'Important' + }, { + label: 'draft', + name: 'Draft', + newMails: 2 + }, { + label: 'spam', + name: 'Spam' + }, { + label: 'trash', + name: 'Trash' + }]; + + return{ + getTabs : function(){ + return tabs + }, + getMessagesByLabel : function(label){ + console.log('label',$stateParams.label); + return messages.filter(function(m){ + return m.labels.indexOf(label) != -1; + }); + }, + getMessageById : function(id){ + return messages.filter(function(m){ + return m.id == id; + })[0]; + } + } + + } + +})(); \ No newline at end of file diff --git a/src/app/pages/teams/teams.module.js b/src/app/pages/teams/teams.module.js index 97f05c9..8b42866 100644 --- a/src/app/pages/teams/teams.module.js +++ b/src/app/pages/teams/teams.module.js @@ -1,6 +1,6 @@ /** - * @author v.lugovsky - * created on 16.12.2015 + * @author k.danovsky + * created on 15.01.2016 */ (function () { 'use strict'; @@ -16,18 +16,11 @@ .state('teams', { url: '/teams', template : '', - title: 'Teams', + abstract: true, + title: 'teams', sidebarMeta: { - icon: 'ion-gear-a', - order: 1500, - }, - }).state('teams.members', { - url: '/create', - templateUrl: 'app/pages/teams/members/members.html', - controller: "MembersTabCtrl", - title: 'Manage Members', - sidebarMeta: { - order: 0, + icon: 'ion-gear-a', + order: 100, }, }); } From 49bae15bbf7532530cb58a5028825904ecdca6e0 Mon Sep 17 00:00:00 2001 From: Youssef ABIDI Date: Sun, 20 Aug 2017 05:58:07 +0100 Subject: [PATCH 06/12] finilising team UI --- src/app/pages/components/mail/mailMessages.js | 2 +- src/app/pages/teams/.DS_Store | Bin 6148 -> 6148 bytes src/app/pages/teams/members/MembersTabCtrl.js | 14 +-- .../teams/members/composeBox/compose.html | 80 +++++++++++++++--- .../members/composeBox/composeBoxCtrl.js | 27 ++++-- .../teams/members/composeBox/composeModal.js | 14 +-- ...{MailDetailCtrl.js => MemberDetailCtrl.js} | 4 +- .../teams/members/detail/memberDetail.html | 47 +++------- .../teams/members/list/MembersListCtrl.js | 7 +- .../pages/teams/members/list/membersList.html | 6 +- src/app/pages/teams/members/members.html | 22 ++--- src/app/pages/teams/members/members.module.js | 6 +- .../pages/teams/members/membersMessages.js | 71 ++++++++-------- src/app/pages/teams/teams.module.js | 2 +- src/sass/app/_email.scss | 40 ++++++--- 15 files changed, 197 insertions(+), 145 deletions(-) rename src/app/pages/teams/members/detail/{MailDetailCtrl.js => MemberDetailCtrl.js} (70%) diff --git a/src/app/pages/components/mail/mailMessages.js b/src/app/pages/components/mail/mailMessages.js index c6af52c..ac953e8 100644 --- a/src/app/pages/components/mail/mailMessages.js +++ b/src/app/pages/components/mail/mailMessages.js @@ -22,7 +22,7 @@ "attachment": "poem.txt", "position": "Great Employee", "tag": "friend", - "labels": ['inbox'] + "labels": ['hr'] }, { "id": "4563fdfvd", diff --git a/src/app/pages/teams/.DS_Store b/src/app/pages/teams/.DS_Store index f04238f87b16526ea4c1f96ecc676dd978fe3119..ee46a348ad8fcd837a73dc8b20113e545343ea82 100644 GIT binary patch delta 117 zcmZoMXfc=|&e%3FQH+&?fq{WzVxq`IcR?P8RE8pk;*{d#oTU7TiRzOLL|DYx8FGQb zxeQ6jlKD9s6BF4%@|(FicsLl_HYR>&p3E7T764rA6%POa diff --git a/src/app/pages/teams/members/MembersTabCtrl.js b/src/app/pages/teams/members/MembersTabCtrl.js index c3cd69a..0b163bc 100644 --- a/src/app/pages/teams/members/MembersTabCtrl.js +++ b/src/app/pages/teams/members/MembersTabCtrl.js @@ -9,19 +9,21 @@ .controller('MembersTabCtrl', MembersTabCtrl); /** @ngInject */ - function MembersTabCtrl(composeModal, mailMessages) { + function MembersTabCtrl(composeModal, membersList) { var vm = this; vm.navigationCollapsed = true; - vm.showCompose = function(subject, to , text){ + vm.showCompose = function(id){ + if (id != '') + vm.message = membersList.getMemberById(id); + else + vm.message = {}; composeModal.open({ - subject : subject, - to: to, - text: text + message : vm.message }) }; - vm.tabs = mailMessages.getTabs(); + vm.tabs = membersList.getTabs(); } })(); diff --git a/src/app/pages/teams/members/composeBox/compose.html b/src/app/pages/teams/members/composeBox/compose.html index 4337188..d229ab5 100644 --- a/src/app/pages/teams/members/composeBox/compose.html +++ b/src/app/pages/teams/members/composeBox/compose.html @@ -1,26 +1,80 @@
    - New message + New member - -
    - - -
    - - -
    + + + +
    +
    +
    + +
    +
    +
    + +
    + + Change Profile Picture + +
    +
    + +
    +
    + + +
    + +
    +
    +
    + + +
    + +
    +
    +
    + + +
    + +
    +
    + +
    + + +
    + +
    +
    +
    + + +
    +
    + + + + +
    \ No newline at end of file diff --git a/src/app/pages/teams/members/composeBox/composeBoxCtrl.js b/src/app/pages/teams/members/composeBox/composeBoxCtrl.js index 9c46092..c44e704 100644 --- a/src/app/pages/teams/members/composeBox/composeBoxCtrl.js +++ b/src/app/pages/teams/members/composeBox/composeBoxCtrl.js @@ -5,14 +5,31 @@ (function () { 'use strict'; - angular.module('BlurAdmin.pages.components.mail') + angular.module('BlurAdmin.pages.teams.members') .controller('composeBoxCtrl', composeBoxCtrl); /** @ngInject */ - function composeBoxCtrl(subject, to, text) { + function composeBoxCtrl(message,fileReader, $filter) { var vm = this; - vm.subject = subject; - vm.to = to; - vm.text = text; + vm.message = message; + vm.picture = (message.pic && message.pic != "") ? $filter('profilePicture')(message.name.split(' ')[0]) : $filter('appImage')('theme/no-photo.png'); + + vm.removePicture = function () { + vm.picture = $filter('appImage')('theme/no-photo.png'); + vm.noPicture = true; + }; + + vm.uploadPicture = function () { + var fileInput = document.getElementById('uploadFile'); + fileInput.click(); + + }; + + vm.getFile = function () { + fileReader.readAsDataUrl(vm.file, vm) + .then(function (result) { + vm.picture = result; + }); + }; } })(); \ No newline at end of file diff --git a/src/app/pages/teams/members/composeBox/composeModal.js b/src/app/pages/teams/members/composeBox/composeModal.js index 3921c0f..50a3b01 100644 --- a/src/app/pages/teams/members/composeBox/composeModal.js +++ b/src/app/pages/teams/members/composeBox/composeModal.js @@ -5,7 +5,7 @@ (function () { 'use strict'; - angular.module('BlurAdmin.pages.components.mail') + angular.module('BlurAdmin.pages.teams.members') .service('composeModal', composeModal); /** @ngInject */ @@ -13,19 +13,13 @@ this.open = function(options){ return $uibModal.open({ animation: false, - templateUrl: 'app/pages/components/mail/composeBox/compose.html', + templateUrl: 'app/pages/teams/members/composeBox/compose.html', controller: 'composeBoxCtrl', controllerAs: 'boxCtrl', size: 'compose', resolve: { - subject: function () { - return options.subject; - }, - to: function () { - return options.to; - }, - text: function () { - return options.text; + message: function () { + return options.message; } } }); diff --git a/src/app/pages/teams/members/detail/MailDetailCtrl.js b/src/app/pages/teams/members/detail/MemberDetailCtrl.js similarity index 70% rename from src/app/pages/teams/members/detail/MailDetailCtrl.js rename to src/app/pages/teams/members/detail/MemberDetailCtrl.js index 6891060..7416201 100644 --- a/src/app/pages/teams/members/detail/MailDetailCtrl.js +++ b/src/app/pages/teams/members/detail/MemberDetailCtrl.js @@ -9,9 +9,9 @@ .controller('MemberDetailCtrl', MemberDetailCtrl); /** @ngInject */ - function MemberDetailCtrl($stateParams, mailMessages) { + function MemberDetailCtrl($stateParams, membersList) { var vm = this; - vm.mail = mailMessages.getMessageById($stateParams.id); + vm.member = membersList.getMemberById($stateParams.id); vm.label = $stateParams.label; } diff --git a/src/app/pages/teams/members/detail/memberDetail.html b/src/app/pages/teams/members/detail/memberDetail.html index 0e6b7b0..bf92c5f 100644 --- a/src/app/pages/teams/members/detail/memberDetail.html +++ b/src/app/pages/teams/members/detail/memberDetail.html @@ -11,69 +11,44 @@
    - +
    -

    {{detailCtrl.mail.name.split(' ')[0]}}

    +

    {{detailCtrl.member.name.split(' ')[0]}}

    -

    {{detailCtrl.mail.name.split(' ')[1]}}

    +

    {{detailCtrl.member.name.split(' ')[1]}}

    - {{detailCtrl.mail.tag}} + {{detailCtrl.member.tag}}
    - - 777-777-7777 + {{detailCtrl.member.position}}
    - +
    -
    - {{detailCtrl.mail.position}} -
    -
    - 12 Nezavisimosti st. Vilnius, Lithuania -
    + {{l}}
    + +
    -
    - {{detailCtrl.mail.subject}} - • {{detailCtrl.mail.date | date : 'h:mm a MMMM d '}} -
    -
    -
    + -
    -
    -
    - 1 Attachment - View | Download -
    - - {{detailCtrl.mail.attachment}} -
    -
    -
    -
    - - - - - -
    +
    diff --git a/src/app/pages/teams/members/list/MembersListCtrl.js b/src/app/pages/teams/members/list/MembersListCtrl.js index 96d83d2..61f26e2 100644 --- a/src/app/pages/teams/members/list/MembersListCtrl.js +++ b/src/app/pages/teams/members/list/MembersListCtrl.js @@ -9,11 +9,12 @@ .controller('MembersListCtrl', MembersListCtrl); /** @ngInject */ - function MembersListCtrl($stateParams, mailMessages) { + function MembersListCtrl($scope, $stateParams, membersList) { var vm = this; - console.log($stateParams.label); - vm.messages = mailMessages.getMessagesByLabel($stateParams.label); + vm.messages = ($stateParams.label == "list") ? membersList.getAllMessages() : membersList.getMembersByLabel($stateParams.label); vm.label = $stateParams.label; + + } })(); diff --git a/src/app/pages/teams/members/list/membersList.html b/src/app/pages/teams/members/list/membersList.html index 659d4d0..fc4f095 100644 --- a/src/app/pages/teams/members/list/membersList.html +++ b/src/app/pages/teams/members/list/membersList.html @@ -38,7 +38,7 @@
    {{m.name}}
    -
    {{m.tag}}
    +
    {{l}}
    @@ -50,8 +50,8 @@ {{m.position}} - - + + diff --git a/src/app/pages/teams/members/members.html b/src/app/pages/teams/members/members.html index e9b716f..c3cade7 100644 --- a/src/app/pages/teams/members/members.html +++ b/src/app/pages/teams/members/members.html @@ -4,30 +4,20 @@
    -
    -
    - {{t.name}}{{t.newMails}} -
    +
    -
    - Work -
    -
    - Family -
    -
    - Friend -
    -
    - Study +
    + {{t.name}} +
    diff --git a/src/app/pages/teams/members/members.module.js b/src/app/pages/teams/members/members.module.js index d889690..01f4eda 100644 --- a/src/app/pages/teams/members/members.module.js +++ b/src/app/pages/teams/members/members.module.js @@ -24,8 +24,8 @@ }).state('teams.members.label', { url: '/:label', templateUrl: 'app/pages/teams/members/list/membersList.html', - title: 'Mail', - controller: "MailListCtrl", + title: 'Members', + controller: "MembersListCtrl", controllerAs: "listCtrl" }).state('teams.members.detail', { url: '/:label/:id', @@ -34,7 +34,7 @@ controller: "MemberDetailCtrl", controllerAs: "detailCtrl" }); - $urlRouterProvider.when('/teams/members','/teams/members/inbox'); + $urlRouterProvider.when('/teams/members','/teams/members/list'); } })(); diff --git a/src/app/pages/teams/members/membersMessages.js b/src/app/pages/teams/members/membersMessages.js index 1078a04..f5ceb35 100644 --- a/src/app/pages/teams/members/membersMessages.js +++ b/src/app/pages/teams/members/membersMessages.js @@ -6,10 +6,10 @@ 'use strict'; angular.module('BlurAdmin.pages.teams.members') - .service('membersMessages', membersMessages); + .service('membersList', membersList); /** @ngInject */ - function membersMessages($sce) { + function membersList($sce, $stateParams) { var messages = [ { "id": "4563faass", @@ -22,7 +22,7 @@ "attachment": "poem.txt", "position": "Great Employee", "tag": "friend", - "labels": ['inbox'] + "labels": ['content'] }, { "id": "4563fdfvd", @@ -36,7 +36,7 @@ "email": "petraramsey@mail.com", "position": "Great Employee", "tag": "study", - "labels": ['inbox'] + "labels": ['content'] }, { "id": "4563zxcss", @@ -49,7 +49,7 @@ "email": "petraramsey@mail.com", "position": "Great Employee", "tag": "work", - "labels": ['sent', 'important'] + "labels": ['product', 'content'] }, { "id": "8955sddf", @@ -63,7 +63,7 @@ "position": "Graphical designer", "attachment": "design.psd", "tag": "work", - "labels": ['inbox'] + "labels": ['shops'] }, { "id": "8955sdfcc", @@ -75,7 +75,7 @@ "email": "barlowshort@mail.com", "position": "Graphical designer", "tag": "study", - "labels": ['inbox'] + "labels": ['innovation'] }, { "id": "8955asewf", @@ -87,7 +87,7 @@ "email": "barlowshort@mail.com", "position": "Graphical designer", "tag": "work", - "labels": ['inbox', 'important'] + "labels": ['shops', 'media'] }, { "id": "2334uudsa", @@ -104,7 +104,7 @@ "position": "Technical Chef", "attachment": "file.doc", "tag": "family", - "labels": ['inbox', 'important'] + "labels": ['hr', 'innovation'] }, { "id": "2334aefvv", @@ -120,7 +120,7 @@ "email": "schwart@mail.com", "position": "Technical Chef", "tag": "family", - "labels": ['inbox', 'important'] + "labels": ['tech', 'product'] }, { "id": "2334cvdss", @@ -135,7 +135,7 @@ "email": "schwart@mail.com", "position": "Technical Chef", "tag": "study", - "labels": ['trash'] + "labels": ['product'] }, { "id": "8223xzxfn", @@ -148,7 +148,7 @@ "email": "lakeishaphillips@mail.com", "position": "Mobile Developer", "tag": 'family', - "labels": ['trash'] + "labels": ['tech'] }, { "id": "8223sdffn", @@ -161,7 +161,7 @@ "email": "lakeishaphillips@mail.com", "position": "Mobile Developer", "tag": 'family', - "labels": ['spam'] + "labels": ['tech'] }, { "id": "9391xdsff", @@ -174,7 +174,7 @@ "email": "carlsongoodman@mail.com", "position": "Fullstack man", "tag": "study", - "labels": ['draft'] + "labels": ['tech'] }, { "id": "8223xsdaa", @@ -187,10 +187,10 @@ "email": "lakeishaphillips@mail.com", "position": "Mobile Developer", "tag": "family", - "labels": ['draft'] + "labels": ['hr'] }, { - "id": "9391xdsff", + "id": "9391xdsfd", "name": "Vlad Lugovsky", "subject": "What next", "date": "2015-03-31T11:52:58", @@ -200,45 +200,48 @@ "email": "carlsongoodman@mail.com", "position": "Fullstack man", "tag": "study", - "labels": ['sent'] + "labels": ['hr'] } ].sort(function (a, b) { if (a.date > b.date) return 1; if (a.date < b.date) return -1; }).reverse(); var tabs = [{ - label: 'inbox', - name: 'Inbox', - newMails: 7 + label: 'hr', + name: 'HR' }, { - label: 'sent', - name: 'Sent Mail' + label: 'tech', + name: 'Tech' }, { - label: 'important', - name: 'Important' + label: 'product', + name: 'Product' }, { - label: 'draft', - name: 'Draft', - newMails: 2 + label: 'finance', + name: 'Finance' }, { - label: 'spam', - name: 'Spam' + label: 'media', + name: 'Media' }, { - label: 'trash', - name: 'Trash' + label: 'shops', + name: 'Shops' + }, { + label: 'innovation', + name: 'Innovation' }]; return{ getTabs : function(){ return tabs }, - getMessagesByLabel : function(label){ - console.log('label',$stateParams.label); + getMembersByLabel : function(label){ return messages.filter(function(m){ return m.labels.indexOf(label) != -1; }); }, - getMessageById : function(id){ + getAllMessages : function(){ + return messages; + }, + getMemberById : function(id){ return messages.filter(function(m){ return m.id == id; })[0]; diff --git a/src/app/pages/teams/teams.module.js b/src/app/pages/teams/teams.module.js index 8b42866..ab07935 100644 --- a/src/app/pages/teams/teams.module.js +++ b/src/app/pages/teams/teams.module.js @@ -17,7 +17,7 @@ url: '/teams', template : '', abstract: true, - title: 'teams', + title: 'Teams', sidebarMeta: { icon: 'ion-gear-a', order: 100, diff --git a/src/sass/app/_email.scss b/src/sass/app/_email.scss index 801cbbe..b6ffce5 100644 --- a/src/sass/app/_email.scss +++ b/src/sass/app/_email.scss @@ -247,31 +247,50 @@ } } +.mail-panel .mail-navigation-container .tag { + font-size: 20px; + font-weight: 300; + width: 159px; + text-transform: capitalize; +} + .mail-panel .tag { text-transform: lowercase; font-size: 11px; font-weight: $font-light; - width: 45px; cursor: pointer; display: inline-block; + margin-right: 3px; &.label { padding: .2em .5em; border-radius: 2px; line-height: 1.1; } - &.work { + &.tech { background-color: $primary; } - &.study { + &.product { background-color: $warning; } - &.family { + &.finance { background-color: $success; } - &.friend { + &.media { + background-color: $danger; + } + + &.hr { + background-color: $danger; + } + + &.shops { + background-color: $danger; + } + + &.innovation { background-color: $danger; } } @@ -667,7 +686,7 @@ .compose-footer { padding: 2px 4px; background-color: $mail-box; - .btn-send { + .btn-send, .btn-danger { background-color: $primary-light; color: white; padding: 2px 10px; @@ -682,7 +701,6 @@ .footer-controls { float: right; - margin: 6px; } .compose-footer-icon { @@ -741,11 +759,9 @@ } .modal .modal-dialog.modal-compose { - max-width: 398px; - position: fixed; - bottom: 0; - right: 0; - max-height: 474px; + display: inline-block; + text-align: left; + vertical-align: middle; .form-control, .bootstrap-tagsinput input { @include placeholderStyle($dropdown-text, 1); From dc12ae0b319fc1df7a9d68161b3ca6418f8a5ce1 Mon Sep 17 00:00:00 2001 From: Youssef ABIDI Date: Sun, 20 Aug 2017 14:04:21 +0100 Subject: [PATCH 07/12] members ui --- src/app/pages/teams/members/MembersTabCtrl.js | 12 +- .../teams/members/composeBox/compose.html | 8 +- .../members/composeBox/composeBoxCtrl.js | 11 +- .../teams/members/composeBox/composeModal.js | 9 +- .../teams/members/list/MembersListCtrl.js | 2 +- .../pages/teams/members/list/membersList.html | 2 +- src/app/pages/teams/members/members.html | 2 +- src/app/pages/teams/members/membersList.js | 182 +++++++++++++ .../pages/teams/members/membersMessages.js | 253 ------------------ src/sass/app/_email.scss | 2 +- 10 files changed, 212 insertions(+), 271 deletions(-) create mode 100644 src/app/pages/teams/members/membersList.js delete mode 100644 src/app/pages/teams/members/membersMessages.js diff --git a/src/app/pages/teams/members/MembersTabCtrl.js b/src/app/pages/teams/members/MembersTabCtrl.js index 0b163bc..3ce2cff 100644 --- a/src/app/pages/teams/members/MembersTabCtrl.js +++ b/src/app/pages/teams/members/MembersTabCtrl.js @@ -14,12 +14,16 @@ var vm = this; vm.navigationCollapsed = true; vm.showCompose = function(id){ - if (id != '') - vm.message = membersList.getMemberById(id); + if (id != ''){ + vm.member = membersList.getMemberById(id); + //vm.actualIndex = membersList.getIndexById(id); + } else - vm.message = {}; + vm.member = {}; + composeModal.open({ - message : vm.message + member : vm.member, + //actualIndex : vm.actualIndex }) }; diff --git a/src/app/pages/teams/members/composeBox/compose.html b/src/app/pages/teams/members/composeBox/compose.html index d229ab5..c90cb3f 100644 --- a/src/app/pages/teams/members/composeBox/compose.html +++ b/src/app/pages/teams/members/composeBox/compose.html @@ -30,14 +30,14 @@
    - +
    - +
    @@ -57,7 +57,7 @@
    - +
    @@ -72,7 +72,7 @@