|
@@ -0,0 +1,873 @@
|
|
|
|
|
+var vstartdate = [];
|
|
|
|
|
+var datefor = null;
|
|
|
|
|
+var testcal = "";
|
|
|
|
|
+
|
|
|
|
|
+define(['angularAMD', 'angular-route', 'angular-animate', 'angular-bootstrap', 'moment', 'angularTreeview','angularjs-dropdown-multiselect'], function (angularAMD) {
|
|
|
|
|
+ var app = angular.module("tti", ['ngRoute', 'ui.bootstrap', 'angularTreeview','angularjs-datetime-picker','angularjs-dropdown-multiselect']);
|
|
|
|
|
+
|
|
|
|
|
+ app.config(function ($routeProvider) {
|
|
|
|
|
+ $routeProvider
|
|
|
|
|
+ .when("/login", angularAMD.route({
|
|
|
|
|
+ templateUrl: 'module/login/login.html', controller: 'LoginCtrl', controllerUrl: 'module/login/js/login', languageUrl: "language/logdata"
|
|
|
|
|
+ }))
|
|
|
|
|
+ .when("/user", angularAMD.route({
|
|
|
|
|
+ templateUrl: 'module/user/user.html', controller: 'UserCtrl', controllerUrl: 'module/user/js/user', languageUrl: "language/userdata"
|
|
|
|
|
+ }))
|
|
|
|
|
+ .when("/dealer", angularAMD.route({
|
|
|
|
|
+ templateUrl: 'module/dealer/dealer.html', controller: 'DealerCtrl', controllerUrl: 'module/dealer/js/dealer', languageUrl: "language/dealerdata"
|
|
|
|
|
+ }))
|
|
|
|
|
+ .when("/question", angularAMD.route({
|
|
|
|
|
+ templateUrl: 'module/question/question.html', controller: 'QuestionCtrl', controllerUrl: 'module/question/js/question', languageUrl: "language/questiondata"
|
|
|
|
|
+ }))
|
|
|
|
|
+ .when("/assessment", angularAMD.route({
|
|
|
|
|
+ templateUrl: 'module/assessment/assessment.html', controller: 'AssessmentCtrl', controllerUrl: 'module/assessment/js/assessment', languageUrl: "language/assessmentdata"
|
|
|
|
|
+ }))
|
|
|
|
|
+ .when("/content", angularAMD.route({
|
|
|
|
|
+ templateUrl: 'module/content/content.html', controller: 'ContentCtrl', controllerUrl: 'module/content/js/content', languageUrl: "language/contentdata"
|
|
|
|
|
+ }))
|
|
|
|
|
+ .when("/training", angularAMD.route({
|
|
|
|
|
+ templateUrl: 'module/training/training.html', controller: 'TrainingCtrl', controllerUrl: 'module/training/js/training', languageUrl: "language/trainingdata"
|
|
|
|
|
+ }))
|
|
|
|
|
+ .when("/survey", angularAMD.route({
|
|
|
|
|
+ templateUrl: 'module/survey/survey.html', controller: 'SurveyCtrl', controllerUrl: 'module/survey/js/survey', languageUrl: "language/surveydata"
|
|
|
|
|
+ }))
|
|
|
|
|
+ .when("/bulletin", angularAMD.route({
|
|
|
|
|
+ templateUrl: 'module/bulletin/bulletin.html', controller: 'BulletinCtrl', controllerUrl: 'module/bulletin/js/bulletin', languageUrl: "language/bulletindata"
|
|
|
|
|
+ }))
|
|
|
|
|
+ .when("/redeem", angularAMD.route({
|
|
|
|
|
+ templateUrl: 'module/redeem/redeem.html', controller: 'RedeemCtrl', controllerUrl: 'module/redeem/js/redeem', languageUrl: "language/redeemdata"
|
|
|
|
|
+ }))
|
|
|
|
|
+ .when("/user-registartion", angularAMD.route({
|
|
|
|
|
+ templateUrl: 'module/report/user-registration/user-registration.html', controller: 'UserRegistrationCtrl', controllerUrl: 'module/report/user-registration/js/user-registration', languageUrl: "language/user-registration-data"
|
|
|
|
|
+ }))
|
|
|
|
|
+ .when("/user-report", angularAMD.route({
|
|
|
|
|
+ templateUrl: 'module/report/user-report/user-report.html', controller: 'UserReportCtrl', controllerUrl: 'module/report/user-report/js/user-report', languageUrl: "language/user-report-data"
|
|
|
|
|
+ }))
|
|
|
|
|
+ .when("/content-report", angularAMD.route({
|
|
|
|
|
+ templateUrl: 'module/report/content-report/content-report.html', controller: 'ContentReportCtrl', controllerUrl: 'module/report/content-report/js/content-report', languageUrl: "language/user-content-data"
|
|
|
|
|
+ }))
|
|
|
|
|
+ .when("/assessment-report", angularAMD.route({
|
|
|
|
|
+ templateUrl: 'module/report/assessment-report/assessment-report.html', controller: 'AssessmentReportCtrl', controllerUrl: 'module/report/assessment-report/js/assessment-report', languageUrl: "language/user-assessment-data"
|
|
|
|
|
+ }))
|
|
|
|
|
+ .when("/sales-report", angularAMD.route({
|
|
|
|
|
+ templateUrl: 'module/report/sales-report/sales-report.html', controller: 'SalesReportCtrl', controllerUrl: 'module/report/sales-report/js/sales-report', languageUrl: "language/user-sales-data"
|
|
|
|
|
+ }))
|
|
|
|
|
+ .when("/certification-report", angularAMD.route({
|
|
|
|
|
+ templateUrl: 'module/report/certification-report/certification-report.html', controller: 'CertificationReportCtrl', controllerUrl: 'module/report/certification-report/js/certification-report', languageUrl: "language/user-certification-data"
|
|
|
|
|
+ }))
|
|
|
|
|
+ .when("/setsales-report", angularAMD.route({
|
|
|
|
|
+ templateUrl: 'module/report/setsales-report/setsales-report.html', controller: 'SetsalesReportCtrl', controllerUrl: 'module/report/setsales-report/js/setsales-report', languageUrl: "language/user-setsales-data"
|
|
|
|
|
+ }))
|
|
|
|
|
+ .when("/redeem-report", angularAMD.route({
|
|
|
|
|
+ templateUrl: 'module/report/redeem-report/redeem-report.html', controller: 'RedeemReportCtrl', controllerUrl: 'module/report/redeem-report/js/redeem-report', languageUrl: "language/redeem-report-data"
|
|
|
|
|
+ }))
|
|
|
|
|
+ .when("/attrition-report", angularAMD.route({
|
|
|
|
|
+ templateUrl: 'module/report/attrition-report/attrition-report.html', controller: 'AttritionReportCtrl', controllerUrl: 'module/report/attrition-report/js/attrition-report', languageUrl: "language/attrition-data"
|
|
|
|
|
+ }))
|
|
|
|
|
+ .when("/customer-experience-report", angularAMD.route({
|
|
|
|
|
+ templateUrl: 'module/report/customer-experience-report/customer-experience-report.html', controller: 'ExperienceReportCtrl', controllerUrl: 'module/report/customer-experience-report/js/customer-experience-report', languageUrl: "language/experience-data"
|
|
|
|
|
+ }))
|
|
|
|
|
+ .when("/current-login-report", angularAMD.route({
|
|
|
|
|
+ templateUrl: 'module/report/current-login-report/current-login-report.html', controller: 'CurrentloginReportCtrl', controllerUrl: 'module/report/current-login-report/js/current-login-report', languageUrl: "language/user-current-login-report-data"
|
|
|
|
|
+ }))
|
|
|
|
|
+ .when("/bulletin-report", angularAMD.route({
|
|
|
|
|
+ templateUrl: 'module/report/bulletin-report/bulletin-report.html', controller: 'BulletinReportCtrl', controllerUrl: 'module/report/bulletin-report/js/bulletin-report', languageUrl: "language/user-bulletin-report-data"
|
|
|
|
|
+ }))
|
|
|
|
|
+ .when("/enquiry-report", angularAMD.route({
|
|
|
|
|
+ templateUrl: 'module/report/enquiry-report/enquiry-report.html', controller: 'EnquiryReportCtrl', controllerUrl: 'module/report/enquiry-report/js/enquiry-report', languageUrl: "language/user-enquiry-report-data"
|
|
|
|
|
+ }))
|
|
|
|
|
+ .when("/notification", angularAMD.route({
|
|
|
|
|
+ templateUrl: 'module/report/notification/notification.html', controller: 'NotificationCtrl', controllerUrl: 'module/report/notification/js/notification', languageUrl: "language/notification"
|
|
|
|
|
+ }))
|
|
|
|
|
+ .when("/ilearning", angularAMD.route({
|
|
|
|
|
+ templateUrl: 'module/ilearning/ilearning.html', controller: 'IlearningCtrl', controllerUrl: 'module/ilearning/js/ilearning', languageUrl: "language/ilearning"
|
|
|
|
|
+ }))
|
|
|
|
|
+ .when("/sales", angularAMD.route({
|
|
|
|
|
+ templateUrl: 'module/import/sales/sales.html', controller: 'SalesCtrl', controllerUrl: 'module/import/sales/js/sales', languageUrl: "language/sales"
|
|
|
|
|
+ }))
|
|
|
|
|
+ .when("/dsesales", angularAMD.route({
|
|
|
|
|
+ templateUrl: 'module/import/dsesales/dsesales.html', controller: 'DSESalesCtrl', controllerUrl: 'module/import/dsesales/js/dsesales', languageUrl: "language/dsesales"
|
|
|
|
|
+ }))
|
|
|
|
|
+ .otherwise({ redirectTo: "/login" });
|
|
|
|
|
+ });
|
|
|
|
|
+ app.run(function ($rootScope, $templateCache, $location, $route) {
|
|
|
|
|
+ // alert($rootScope.is_logged)
|
|
|
|
|
+ $rootScope.modalLogShown = false;
|
|
|
|
|
+ $rootScope.cofirmWindow = false;
|
|
|
|
|
+ $rootScope.selLanguage = "en_us";
|
|
|
|
|
+ $rootScope.is_logged = true;
|
|
|
|
|
+ $rootScope.sidemenuhigh = window.innerHeight - (180);
|
|
|
|
|
+ $rootScope.logoutfn = function () {
|
|
|
|
|
+ $rootScope.log = false;
|
|
|
|
|
+ // console.log($rootScope.log)
|
|
|
|
|
+ $rootScope.cofirmWindow = true;
|
|
|
|
|
+ $rootScope.modalLogShown = true;
|
|
|
|
|
+ $rootScope.message = "Are you sure you want to logout ?";
|
|
|
|
|
+ }
|
|
|
|
|
+ $rootScope.$on("cofirm", function () {
|
|
|
|
|
+ $rootScope.cofirmWindow = false;
|
|
|
|
|
+ $rootScope.modalLogShown = false;
|
|
|
|
|
+ $rootScope.is_logged = false;
|
|
|
|
|
+ // console.log($rootScope.log)
|
|
|
|
|
+ $location.path("/login");
|
|
|
|
|
+
|
|
|
|
|
+ })
|
|
|
|
|
+ });
|
|
|
|
|
+
|
|
|
|
|
+ app.directive('modalDialog', function ($rootScope) {
|
|
|
|
|
+ return {
|
|
|
|
|
+ templateUrl: "module/alert.html",
|
|
|
|
|
+ restrict: 'E',
|
|
|
|
|
+ transclude: true,
|
|
|
|
|
+ replace: true,
|
|
|
|
|
+ backdrop: 'static',
|
|
|
|
|
+ scope: {
|
|
|
|
|
+ show: '=',
|
|
|
|
|
+ type: '=',
|
|
|
|
|
+ },
|
|
|
|
|
+ replace: true, // Replace with the template below
|
|
|
|
|
+ transclude: true, // we want to insert custom content inside the directive
|
|
|
|
|
+ link: function ($scope, element, attrs) {
|
|
|
|
|
+ $('#' + attrs.id).css('display', 'block');
|
|
|
|
|
+
|
|
|
|
|
+ $scope.dialogStyle = {};
|
|
|
|
|
+ if (attrs.width)
|
|
|
|
|
+ $scope.dialogStyle.width = attrs.width;
|
|
|
|
|
+ if (attrs.height)
|
|
|
|
|
+ $scope.dialogStyle.height = attrs.height;
|
|
|
|
|
+ $scope.hideModal = function () {
|
|
|
|
|
+
|
|
|
|
|
+ $scope.show = false;
|
|
|
|
|
+ $scope.type = false;
|
|
|
|
|
+ };
|
|
|
|
|
+ $scope.okClickModal = function () {
|
|
|
|
|
+ // console.log(attrs.id)
|
|
|
|
|
+ $rootScope.$broadcast('confirmDelete');
|
|
|
|
|
+ $scope.show = false;
|
|
|
|
|
+ $scope.type = false;
|
|
|
|
|
+ };
|
|
|
|
|
+ }
|
|
|
|
|
+ };
|
|
|
|
|
+ });
|
|
|
|
|
+
|
|
|
|
|
+ app.directive('modalPublishForm', function ($rootScope) {
|
|
|
|
|
+ return {
|
|
|
|
|
+ templateUrl: "module/publish_form.html",
|
|
|
|
|
+ restrict: 'E',
|
|
|
|
|
+ transclude: true,
|
|
|
|
|
+ replace: true,
|
|
|
|
|
+ backdrop: 'static',
|
|
|
|
|
+ scope: {
|
|
|
|
|
+ show: '=',
|
|
|
|
|
+ type: '=',
|
|
|
|
|
+ },
|
|
|
|
|
+ replace: true, // Replace with the template below
|
|
|
|
|
+ transclude: true, // we want to insert custom content inside the directive
|
|
|
|
|
+ link: function ($scope, element, attrs) {
|
|
|
|
|
+ $('#' + attrs.id).css('display', 'block');
|
|
|
|
|
+ // console.log(attrs.id)
|
|
|
|
|
+ $scope.dialogStyle = {};
|
|
|
|
|
+ if (attrs.width)
|
|
|
|
|
+ $scope.dialogStyle.width = attrs.width;
|
|
|
|
|
+ if (attrs.height)
|
|
|
|
|
+ $scope.dialogStyle.height = attrs.height;
|
|
|
|
|
+ $scope.hideModal = function () {
|
|
|
|
|
+ $scope.show = false;
|
|
|
|
|
+ $scope.type = false;
|
|
|
|
|
+ $rootScope.num = 1;
|
|
|
|
|
+ // console.log($rootScope.num)
|
|
|
|
|
+ };
|
|
|
|
|
+ $scope.okModal = function () {
|
|
|
|
|
+ // console.log("here")
|
|
|
|
|
+ $rootScope.$broadcast('confirmPublish');
|
|
|
|
|
+ $scope.show = false;
|
|
|
|
|
+ $scope.type = false;
|
|
|
|
|
+ };
|
|
|
|
|
+ }
|
|
|
|
|
+ };
|
|
|
|
|
+ });
|
|
|
|
|
+ app.directive('modalLogpopup', function ($rootScope) {
|
|
|
|
|
+ return {
|
|
|
|
|
+ templateUrl: "module/logout.html",
|
|
|
|
|
+ restrict: 'E',
|
|
|
|
|
+ transclude: true,
|
|
|
|
|
+ replace: true,
|
|
|
|
|
+ backdrop: 'static',
|
|
|
|
|
+ scope: {
|
|
|
|
|
+ show: '=',
|
|
|
|
|
+ type: '=',
|
|
|
|
|
+ },
|
|
|
|
|
+ replace: true, // Replace with the template below
|
|
|
|
|
+ transclude: true, // we want to insert custom content inside the directive
|
|
|
|
|
+ link: function ($scope, element, attrs) {
|
|
|
|
|
+ $('#' + attrs.id).css('display', 'block');
|
|
|
|
|
+ $scope.dialogStyle = {};
|
|
|
|
|
+ if (attrs.width) {
|
|
|
|
|
+ $scope.dialogStyle.width = attrs.width;
|
|
|
|
|
+ }
|
|
|
|
|
+ if (attrs.height) {
|
|
|
|
|
+ $scope.dialogStyle.height = attrs.height;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ $scope.$watch(function (value) {
|
|
|
|
|
+ $scope.title = $rootScope.popuptitle;
|
|
|
|
|
+ });
|
|
|
|
|
+ $scope.hideModal = function () {
|
|
|
|
|
+ $scope.show = false;
|
|
|
|
|
+ $scope.type = false;
|
|
|
|
|
+ };
|
|
|
|
|
+ $scope.okModal = function () {
|
|
|
|
|
+
|
|
|
|
|
+ $rootScope.$broadcast('cofirm');
|
|
|
|
|
+ $scope.show = false;
|
|
|
|
|
+ $scope.type = false;
|
|
|
|
|
+ };
|
|
|
|
|
+ }
|
|
|
|
|
+ };
|
|
|
|
|
+ });
|
|
|
|
|
+ app.directive('ngDatepickermin', function ($rootScope) {
|
|
|
|
|
+ return {
|
|
|
|
|
+ restrict: 'A',
|
|
|
|
|
+ require: '?ngModel',
|
|
|
|
|
+ scope: {
|
|
|
|
|
+
|
|
|
|
|
+ },
|
|
|
|
|
+ link: function ($scope, element, attrs, ngModel) {
|
|
|
|
|
+
|
|
|
|
|
+ if (attrs.isblockdate == "true") {
|
|
|
|
|
+ element.datepicker({
|
|
|
|
|
+ dateFormat: 'yy-mm-dd',
|
|
|
|
|
+ minDate: '01-01-1900',
|
|
|
|
|
+ maxDate: '+3m',
|
|
|
|
|
+ onSelect: function (date) {
|
|
|
|
|
+
|
|
|
|
|
+ if (attrs.name == "dob") {
|
|
|
|
|
+ $scope.$parent.formData.date_of_join = date;
|
|
|
|
|
+ } else if (attrs.name == "start_date") {
|
|
|
|
|
+ $scope.$parent.formData.publisheddate = date;
|
|
|
|
|
+ } else if (attrs.name == "clsstartdate") {
|
|
|
|
|
+ $scope.$parent.formData.startdate = date;
|
|
|
|
|
+ }
|
|
|
|
|
+ $scope.$parent.$apply();
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+ } else if (attrs.isblockdate == "false") {
|
|
|
|
|
+ //console.log("Yes calender 2",attrs.isblockdate)
|
|
|
|
|
+ element.datepicker({
|
|
|
|
|
+ minDate: '01-01-16',
|
|
|
|
|
+ dateFormat: 'dd-mm-yy',
|
|
|
|
|
+ /*onSelect: function (date) {
|
|
|
|
|
+
|
|
|
|
|
+ testcal=date;
|
|
|
|
|
+
|
|
|
|
|
+ //vstartdate = String(date).split("-");
|
|
|
|
|
+ datefor = date;
|
|
|
|
|
+ //datefor = new Date("2016-7-20");
|
|
|
|
|
+ //datefor = new Date(vstartdate[2],vstartdate[1]-1,vstartdate[0]);
|
|
|
|
|
+ $scope.$parent.$apply();
|
|
|
|
|
+ }*/
|
|
|
|
|
+ onSelect: function (selected) {
|
|
|
|
|
+
|
|
|
|
|
+ /*var date2 = $('#vechcal1').datepicker('getDate');
|
|
|
|
|
+ date2.setDate(date2.getDate()+4);
|
|
|
|
|
+
|
|
|
|
|
+ $("#vechcal2").datepicker("option","maxDate", date2)
|
|
|
|
|
+ $("#vechcal2").datepicker("option","minDate", selected)*/
|
|
|
|
|
+ $rootScope.startdate = selected;
|
|
|
|
|
+
|
|
|
|
|
+ //$scope.vstdate = selected;
|
|
|
|
|
+ //$scope.$parent.formData.enddates = selected;
|
|
|
|
|
+ //$scope.$parent.$apply();
|
|
|
|
|
+ //console.log(vstdate)
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+ })
|
|
|
|
|
+ app.directive('ngDatepickermax', function ($rootScope) {
|
|
|
|
|
+ return {
|
|
|
|
|
+ restrict: 'A',
|
|
|
|
|
+ require: '?ngModel',
|
|
|
|
|
+ scope: {
|
|
|
|
|
+
|
|
|
|
|
+ },
|
|
|
|
|
+ link: function ($scope, element, attrs, ngModel) {
|
|
|
|
|
+ if (attrs.isblockdate == "true") {
|
|
|
|
|
+ element.datepicker({
|
|
|
|
|
+ dateFormat: 'yy-mm-dd',
|
|
|
|
|
+ minDate: 0,
|
|
|
|
|
+ maxDate: '+3m',
|
|
|
|
|
+ onSelect: function (date) {
|
|
|
|
|
+ if (attrs.name == "clspublishdate") {
|
|
|
|
|
+ $scope.$parent.formData.publishdate = date;
|
|
|
|
|
+ } else if (attrs.name == "clsenddate") {
|
|
|
|
|
+ $scope.$parent.formData.enddate = date;
|
|
|
|
|
+ } else if (attrs.name == "clsstartdate") {
|
|
|
|
|
+ $scope.$parent.formData.start_date = date;
|
|
|
|
|
+ } else if (attrs.name == "clsend_date") {
|
|
|
|
|
+ $scope.$parent.formData.end_date = date;
|
|
|
|
|
+ }
|
|
|
|
|
+ $scope.$parent.$apply();
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+ }
|
|
|
|
|
+ else if (attrs.isblockdate == "false") {
|
|
|
|
|
+ //console.log("Yes calender 2",attrs.isblockdate)
|
|
|
|
|
+ element.datepicker({
|
|
|
|
|
+
|
|
|
|
|
+ dateFormat: 'dd-mm-yy',
|
|
|
|
|
+ /*onSelect: function (date) {
|
|
|
|
|
+ console.log(datefor)
|
|
|
|
|
+ $scope.$parent.$apply();
|
|
|
|
|
+ }
|
|
|
|
|
+ */
|
|
|
|
|
+ onSelect: function (selected) {
|
|
|
|
|
+ /*var date1 = $('#vechcal2').datepicker('getDate');
|
|
|
|
|
+ date1.setDate(date1.getDate()-5);
|
|
|
|
|
+ $("#vechcal1").datepicker({"minDate": date1});*/
|
|
|
|
|
+ $scope.$parent.vendtdate = selected;
|
|
|
|
|
+ //$scope.$parent.formData.publishdates = selected;
|
|
|
|
|
+ //console.log($scope.$parent.vendtdate);
|
|
|
|
|
+ $rootScope.enddate = selected;
|
|
|
|
|
+ //$scope.$parent.$apply();
|
|
|
|
|
+ //$rootScope.vendtdate = selected;
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ })
|
|
|
|
|
+ /////////////// Report datepicker /////////////
|
|
|
|
|
+ app.directive('ngReportpickermin', function ($rootScope) {
|
|
|
|
|
+ return {
|
|
|
|
|
+ restrict: 'A',
|
|
|
|
|
+ require: '?ngModel',
|
|
|
|
|
+ scope: {
|
|
|
|
|
+
|
|
|
|
|
+ },
|
|
|
|
|
+ link: function ($scope, element, attrs, ngModel) {
|
|
|
|
|
+
|
|
|
|
|
+ if (attrs.isblockdate == "true") {
|
|
|
|
|
+ element.datepicker({
|
|
|
|
|
+ dateFormat: 'yy-mm-dd',
|
|
|
|
|
+ // minDate: '0',
|
|
|
|
|
+ maxDate: '0',
|
|
|
|
|
+ onSelect: function (date) {
|
|
|
|
|
+ // console.log(date)
|
|
|
|
|
+
|
|
|
|
|
+ if (attrs.name == "fromdate") {
|
|
|
|
|
+ $scope.$parent.formData.from_date = date;
|
|
|
|
|
+ if((new Date($scope.$parent.formData.from_date).getTime() > new Date($scope.$parent.formData.to_date).getTime())){
|
|
|
|
|
+ $scope.$parent.formData.to_date = '';
|
|
|
|
|
+ }
|
|
|
|
|
+ var datearr = date.split('-');
|
|
|
|
|
+ // console.log(datearr, (Number(datearr[0]) + 1) + "-" + datearr[1] + "-" + datearr[2])
|
|
|
|
|
+ $("#todate").datepicker("option", "maxDate", 0);
|
|
|
|
|
+ $('#todate').datepicker("option", 'minDate', datearr[0] + "-" + datearr[1] + "-" + (Number(datearr[2]) + 1));
|
|
|
|
|
+ // $scope.$parent.formData.to_date = ''
|
|
|
|
|
+ } else if (attrs.name == "todate") {
|
|
|
|
|
+
|
|
|
|
|
+ // $("#todate").datepicker("option", "maxDate", (Number(datearr[0]) + 1) + "-" + datearr[1] + "-" + datearr[2]);
|
|
|
|
|
+ $scope.$parent.formData.to_date = date;
|
|
|
|
|
+ if((new Date($scope.$parent.formData.from_date).getTime() > new Date($scope.$parent.formData.to_date).getTime())){
|
|
|
|
|
+ $scope.$parent.formData.from_date = '';
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ $scope.$parent.$apply();
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+ } else if (attrs.isblockdate == "false") {
|
|
|
|
|
+ //console.log("Yes calender 2",attrs.isblockdate)
|
|
|
|
|
+ element.datepicker({
|
|
|
|
|
+ minDate: '01-01-16',
|
|
|
|
|
+ dateFormat: 'dd-mm-yy',
|
|
|
|
|
+ /*onSelect: function (date) {
|
|
|
|
|
+
|
|
|
|
|
+ testcal=date;
|
|
|
|
|
+
|
|
|
|
|
+ //vstartdate = String(date).split("-");
|
|
|
|
|
+ datefor = date;
|
|
|
|
|
+ //datefor = new Date("2016-7-20");
|
|
|
|
|
+ //datefor = new Date(vstartdate[2],vstartdate[1]-1,vstartdate[0]);
|
|
|
|
|
+ $scope.$parent.$apply();
|
|
|
|
|
+ }*/
|
|
|
|
|
+ onSelect: function (selected) {
|
|
|
|
|
+
|
|
|
|
|
+ /*var date2 = $('#vechcal1').datepicker('getDate');
|
|
|
|
|
+ date2.setDate(date2.getDate()+4);
|
|
|
|
|
+
|
|
|
|
|
+ $("#vechcal2").datepicker("option","maxDate", date2)
|
|
|
|
|
+ $("#vechcal2").datepicker("option","minDate", selected)*/
|
|
|
|
|
+ $rootScope.startdate = selected;
|
|
|
|
|
+
|
|
|
|
|
+ //$scope.vstdate = selected;
|
|
|
|
|
+ //$scope.$parent.formData.enddates = selected;
|
|
|
|
|
+ //$scope.$parent.$apply();
|
|
|
|
|
+ //console.log(vstdate)
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+ })
|
|
|
|
|
+ app.directive('ngReportpickermax', function ($rootScope) {
|
|
|
|
|
+ return {
|
|
|
|
|
+ restrict: 'A',
|
|
|
|
|
+ require: '?ngModel',
|
|
|
|
|
+ scope: {
|
|
|
|
|
+
|
|
|
|
|
+ },
|
|
|
|
|
+ link: function ($scope, element, attrs, ngModel) {
|
|
|
|
|
+
|
|
|
|
|
+ if (attrs.isblockdate == "true") {
|
|
|
|
|
+ element.datepicker({
|
|
|
|
|
+ dateFormat: 'yy-mm-dd',
|
|
|
|
|
+ minDate: 0,
|
|
|
|
|
+ maxDate: '+3m',
|
|
|
|
|
+ onSelect: function (date) {
|
|
|
|
|
+ if (attrs.name == "clspublishdate") {
|
|
|
|
|
+ $scope.$parent.formData.publishdate = date;
|
|
|
|
|
+ } else if (attrs.name == "clsenddate") {
|
|
|
|
|
+ $scope.$parent.formData.enddate = date;
|
|
|
|
|
+ } else if (attrs.name == "clsstartdate") {
|
|
|
|
|
+ $scope.$parent.formData.start_date = date;
|
|
|
|
|
+ } else if (attrs.name == "clsend_date") {
|
|
|
|
|
+ $scope.$parent.formData.end_date = date;
|
|
|
|
|
+ }
|
|
|
|
|
+ $scope.$parent.$apply();
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+ }
|
|
|
|
|
+ else if (attrs.isblockdate == "false") {
|
|
|
|
|
+ //console.log("Yes calender 2",attrs.isblockdate)
|
|
|
|
|
+ element.datepicker({
|
|
|
|
|
+
|
|
|
|
|
+ dateFormat: 'dd-mm-yy',
|
|
|
|
|
+ /*onSelect: function (date) {
|
|
|
|
|
+ console.log(datefor)
|
|
|
|
|
+ $scope.$parent.$apply();
|
|
|
|
|
+ }
|
|
|
|
|
+ */
|
|
|
|
|
+ onSelect: function (selected) {
|
|
|
|
|
+ /*var date1 = $('#vechcal2').datepicker('getDate');
|
|
|
|
|
+ date1.setDate(date1.getDate()-5);
|
|
|
|
|
+ $("#vechcal1").datepicker({"minDate": date1});*/
|
|
|
|
|
+ $scope.$parent.vendtdate = selected;
|
|
|
|
|
+ //$scope.$parent.formData.publishdates = selected;
|
|
|
|
|
+ //console.log($scope.$parent.vendtdate);
|
|
|
|
|
+ $rootScope.enddate = selected;
|
|
|
|
|
+ //$scope.$parent.$apply();
|
|
|
|
|
+ //$rootScope.vendtdate = selected;
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ })
|
|
|
|
|
+ app.directive('ngMonthPick', function ($rootScope) {
|
|
|
|
|
+ return {
|
|
|
|
|
+ restrict: 'A',
|
|
|
|
|
+ require: '?ngModel',
|
|
|
|
|
+ scope: {
|
|
|
|
|
+ date: "=",
|
|
|
|
|
+ onSubmit: "&onSelect"
|
|
|
|
|
+ },
|
|
|
|
|
+ link: function (scope, element, attrs, ngModel) {
|
|
|
|
|
+ element.datepicker({
|
|
|
|
|
+ changeMonth: true,
|
|
|
|
|
+ changeYear: true,
|
|
|
|
|
+ showButtonPanel: true,
|
|
|
|
|
+ viewMode: "months",
|
|
|
|
|
+ minViewMode: "months",
|
|
|
|
|
+ pickTime: false,
|
|
|
|
|
+ dateFormat: 'MM yy',
|
|
|
|
|
+ maxDate:0,
|
|
|
|
|
+ onChangeMonthYear:function(){
|
|
|
|
|
+ $('.ui-datepicker-calendar').css({
|
|
|
|
|
+ display: "none"
|
|
|
|
|
+ })
|
|
|
|
|
+ },
|
|
|
|
|
+ onClose: function(dateText, inst) {
|
|
|
|
|
+
|
|
|
|
|
+ $('.ui-datepicker-calendar').css({
|
|
|
|
|
+ display: "none"
|
|
|
|
|
+ })
|
|
|
|
|
+ function isDonePressed(){
|
|
|
|
|
+ return ($('#ui-datepicker-div').html().indexOf('ui-datepicker-close ui-state-default ui-priority-primary ui-corner-all ui-state-hover') > -1);
|
|
|
|
|
+ }
|
|
|
|
|
+ if (isDonePressed()){
|
|
|
|
|
+ var month = $("#ui-datepicker-div .ui-datepicker-month :selected").val();
|
|
|
|
|
+ var year = $("#ui-datepicker-div .ui-datepicker-year :selected").val();
|
|
|
|
|
+ $(this).datepicker('setDate', new Date(year, month, 1)).trigger('change');
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+ },
|
|
|
|
|
+ beforeShow: function(input, ele) {
|
|
|
|
|
+ var rect = input.getBoundingClientRect();
|
|
|
|
|
+ setTimeout(function () {
|
|
|
|
|
+ ele.dpDiv.css({ top: rect.top + 40, left: rect.left + 0 });
|
|
|
|
|
+ }, 0);
|
|
|
|
|
+ $('.ui-datepicker-calendar').css({
|
|
|
|
|
+ display: "none"
|
|
|
|
|
+ })
|
|
|
|
|
+
|
|
|
|
|
+ if ((datestr = $(this).val()).length > 0) {
|
|
|
|
|
+ year = datestr.substring(datestr.length - 4, datestr.length);
|
|
|
|
|
+ month = jQuery.inArray(datestr.substring(0, datestr.length - 5), $(this).datepicker('option', 'monthNames'));
|
|
|
|
|
+ $(this).datepicker('option', 'defaultDate', new Date(year, month, 1));
|
|
|
|
|
+ $(this).datepicker('setDate', new Date(year, month, 1));
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ var other = this.id == "from" ? "#to" : "#from";
|
|
|
|
|
+ var option = this.id == "from" ? "maxDate" : "minDate";
|
|
|
|
|
+ if ((selectedDate = $(other).val()).length > 0) {
|
|
|
|
|
+ year = selectedDate.substring(selectedDate.length - 4, selectedDate.length);
|
|
|
|
|
+ month = jQuery.inArray(selectedDate.substring(0, selectedDate.length - 5), $(this).datepicker('option', 'monthNames'));
|
|
|
|
|
+ $(this).datepicker("option", option, new Date(year, month, 1));
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ })
|
|
|
|
|
+ .on("click",function(e){
|
|
|
|
|
+
|
|
|
|
|
+ $('.ui-datepicker-calendar').css({
|
|
|
|
|
+ display: "none"
|
|
|
|
|
+ })
|
|
|
|
|
+ })
|
|
|
|
|
+ $('.custom_month').focusin(function(){
|
|
|
|
|
+
|
|
|
|
|
+ $('.ui-datepicker-calendar').css("display","none");
|
|
|
|
|
+ });
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ })
|
|
|
|
|
+ app.directive('monthPick', function ($rootScope) {
|
|
|
|
|
+ return {
|
|
|
|
|
+ restrict: 'A',
|
|
|
|
|
+ require: '?ngModel',
|
|
|
|
|
+ scope: {
|
|
|
|
|
+
|
|
|
|
|
+ },
|
|
|
|
|
+ link: function (scope, element, attrs, ngModel) {
|
|
|
|
|
+ // console.log(element)
|
|
|
|
|
+ element.datepicker({
|
|
|
|
|
+ changeMonth: true,
|
|
|
|
|
+ changeYear: true,
|
|
|
|
|
+ showButtonPanel: true,
|
|
|
|
|
+ dateFormat: 'MM yy',
|
|
|
|
|
+ maxDate:0,
|
|
|
|
|
+ onClose: function(dateText, inst) {
|
|
|
|
|
+ // console.log("inst-->",inst)
|
|
|
|
|
+ $(this).datepicker('setDate', new Date(inst.selectedYear, inst.selectedMonth, 1));
|
|
|
|
|
+ }
|
|
|
|
|
+ })
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ });
|
|
|
|
|
+ // app.directive('datetimez', function ($rootScope) {
|
|
|
|
|
+ // return {
|
|
|
|
|
+ // restrict: 'A',
|
|
|
|
|
+ // require: 'ngModel',
|
|
|
|
|
+ // link: function (scope, element, attrs, ngModelCtrl) {
|
|
|
|
|
+ // element.datetimepicker({
|
|
|
|
|
+ // format: "MM-yyyy",
|
|
|
|
|
+ // viewMode: "months",
|
|
|
|
|
+ // minViewMode: "months",
|
|
|
|
|
+ // pickTime: false,
|
|
|
|
|
+ // }).on('changeDate', function (e) {
|
|
|
|
|
+ // $('.bootstrap-datetimepicker-widget').css({
|
|
|
|
|
+ // display: "none"
|
|
|
|
|
+ // })
|
|
|
|
|
+ // console.log(e, e.date.getMonth(), attrs)
|
|
|
|
|
+ // ngModelCtrl.$setViewValue(e.date);
|
|
|
|
|
+ // scope.$apply();
|
|
|
|
|
+ // });
|
|
|
|
|
+ // }
|
|
|
|
|
+ // };
|
|
|
|
|
+ // });
|
|
|
|
|
+ app.service("AppData", function ($rootScope, $http, $httpParamSerializerJQLike) {
|
|
|
|
|
+ $http.defaults.transformRequest.unshift($httpParamSerializerJQLike);
|
|
|
|
|
+ $rootScope.loadingCont = false;
|
|
|
|
|
+ //EDIT 20 Sept
|
|
|
|
|
+ var url_str =window.location.href;
|
|
|
|
|
+ if(url_str.indexOf('.cygnusa.in') !== -1)
|
|
|
|
|
+ {
|
|
|
|
|
+ var url_arr=url_str.split("cygnusa.in/");
|
|
|
|
|
+ $rootScope.static_url = url_arr[0]+"cygnusa.in/";
|
|
|
|
|
+ }else{
|
|
|
|
|
+ // $rootScope.static_url = "https://hyper-m-dev.cygnusa.in/";
|
|
|
|
|
+ $rootScope.static_url = "https://hyper-m.cygnusa.in/";
|
|
|
|
|
+ }
|
|
|
|
|
+ var data = {};
|
|
|
|
|
+ data.sendData = sendData;
|
|
|
|
|
+ data.checkArrayValue = checkArrayValue;
|
|
|
|
|
+ function rand() {
|
|
|
|
|
+ return (new Date()).getTime();
|
|
|
|
|
+ }
|
|
|
|
|
+ function checkArrayValue(arr, type, value) {
|
|
|
|
|
+ var obj = {};
|
|
|
|
|
+ obj.cont = false;
|
|
|
|
|
+ for (var id = 0; id < arr.length; id++) {
|
|
|
|
|
+ if (arr[id][type] == value) {
|
|
|
|
|
+ obj.cont = true;
|
|
|
|
|
+ obj.mid = id;
|
|
|
|
|
+ break;
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ return obj;
|
|
|
|
|
+ }
|
|
|
|
|
+ function sendData(urllink, data, returnFun) {
|
|
|
|
|
+ // console.log(urllink)
|
|
|
|
|
+ $rootScope.loadingCont = true;
|
|
|
|
|
+ var req = {
|
|
|
|
|
+ method: 'POST',
|
|
|
|
|
+ url: $rootScope.static_url + urllink + rand(),
|
|
|
|
|
+ // url: urllink + rand(),
|
|
|
|
|
+ headers: { "Connection": "Keep-Alive", 'Content-Type': 'application/x-www-form-urlencoded' },
|
|
|
|
|
+ data: data
|
|
|
|
|
+ }
|
|
|
|
|
+ $http(req).then(function (res) {
|
|
|
|
|
+ $rootScope.loadingCont = false
|
|
|
|
|
+ if (returnFun != undefined) {
|
|
|
|
|
+ returnFun(res.data);
|
|
|
|
|
+ }
|
|
|
|
|
+ }, function () {
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ });
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ return data;
|
|
|
|
|
+
|
|
|
|
|
+ })
|
|
|
|
|
+ app.directive('setHeight', function ($window) {
|
|
|
|
|
+ return {
|
|
|
|
|
+ link: function (scope, element, attrs) {
|
|
|
|
|
+ element.css('height', $window.innerHeight - 105 + 'px');
|
|
|
|
|
+ //element.height($window.innerHeight/3);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ })
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ app.directive('uibPagination', function ($rootScope) {
|
|
|
|
|
+ return {
|
|
|
|
|
+ templateUrl: "module/pagination.html",
|
|
|
|
|
+ restrict: 'E',
|
|
|
|
|
+ transclude: true,
|
|
|
|
|
+ replace: true,
|
|
|
|
|
+ backdrop: 'static',
|
|
|
|
|
+ scope: {
|
|
|
|
|
+ show: '=',
|
|
|
|
|
+ type: '=',
|
|
|
|
|
+ },
|
|
|
|
|
+ replace: true, // Replace with the template below
|
|
|
|
|
+ transclude: true, // we want to insert custom content inside the directive
|
|
|
|
|
+ link: function ($scope, element, attrs) {
|
|
|
|
|
+ // console.log(attrs)
|
|
|
|
|
+ $('#' + attrs.id).css('display', 'block');
|
|
|
|
|
+ $scope.dialogStyle = {};
|
|
|
|
|
+ if (attrs.width) {
|
|
|
|
|
+ $scope.dialogStyle.width = attrs.width;
|
|
|
|
|
+ }
|
|
|
|
|
+ if (attrs.height) {
|
|
|
|
|
+ $scope.dialogStyle.height = attrs.height;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ $scope.$watch(function (value) {
|
|
|
|
|
+ });
|
|
|
|
|
+ $scope.hideModal = function () {
|
|
|
|
|
+ $scope.show = false;
|
|
|
|
|
+ $scope.type = false;
|
|
|
|
|
+ };
|
|
|
|
|
+ $scope.okModal = function () {
|
|
|
|
|
+
|
|
|
|
|
+ $rootScope.$broadcast('cofirm');
|
|
|
|
|
+ $scope.show = false;
|
|
|
|
|
+ $scope.type = false;
|
|
|
|
|
+ };
|
|
|
|
|
+ }
|
|
|
|
|
+ };
|
|
|
|
|
+ });
|
|
|
|
|
+ app.directive('multipleAutocomplete', [
|
|
|
|
|
+ '$filter',
|
|
|
|
|
+ '$http',
|
|
|
|
|
+ function ($filter, $http) {
|
|
|
|
|
+ return {
|
|
|
|
|
+ restrict: 'EA',
|
|
|
|
|
+ scope: {
|
|
|
|
|
+ suggestionsArr: '=?',
|
|
|
|
|
+ modelArr: '=ngModel',
|
|
|
|
|
+ apiUrl: '@',
|
|
|
|
|
+ beforeSelectItem: '=?',
|
|
|
|
|
+ afterSelectItem: '=?',
|
|
|
|
|
+ beforeRemoveItem: '=?',
|
|
|
|
|
+ afterRemoveItem: '=?'
|
|
|
|
|
+ },
|
|
|
|
|
+ templateUrl: 'multiple-autocomplete-tpl.html',
|
|
|
|
|
+ link: function (scope, element, attr) {
|
|
|
|
|
+ scope.objectProperty = attr.objectProperty;
|
|
|
|
|
+ scope.selectedItemIndex = 0;
|
|
|
|
|
+ scope.name = attr.name;
|
|
|
|
|
+ scope.isRequired = attr.required;
|
|
|
|
|
+ scope.errMsgRequired = attr.errMsgRequired;
|
|
|
|
|
+ scope.isHover = false;
|
|
|
|
|
+ scope.isFocused = false;
|
|
|
|
|
+ var getSuggestionsList = function () {
|
|
|
|
|
+ var url = scope.apiUrl;
|
|
|
|
|
+ $http({
|
|
|
|
|
+ method: 'GET',
|
|
|
|
|
+ url: url
|
|
|
|
|
+ }).then(function (response) {
|
|
|
|
|
+ scope.suggestionsArr = response.data;
|
|
|
|
|
+ }, function (response) {
|
|
|
|
|
+ });
|
|
|
|
|
+ };
|
|
|
|
|
+
|
|
|
|
|
+ if (scope.suggestionsArr == null || scope.suggestionsArr == "") {
|
|
|
|
|
+ if (scope.apiUrl != null && scope.apiUrl != "")
|
|
|
|
|
+ getSuggestionsList();
|
|
|
|
|
+ else {
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ // console.log("scope.modelArr ", scope.modelArr)
|
|
|
|
|
+ if (scope.modelArr == null || scope.modelArr == "" || scope.modelArr == undefined) {
|
|
|
|
|
+ scope.modelArr = [];
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+ // console.log(scope.modelArr)
|
|
|
|
|
+ scope.onFocus = function () {
|
|
|
|
|
+ scope.isFocused = true
|
|
|
|
|
+ };
|
|
|
|
|
+
|
|
|
|
|
+ scope.onMouseEnter = function () {
|
|
|
|
|
+ scope.isHover = true
|
|
|
|
|
+ };
|
|
|
|
|
+
|
|
|
|
|
+ scope.onMouseLeave = function () {
|
|
|
|
|
+ scope.isHover = false;
|
|
|
|
|
+ };
|
|
|
|
|
+
|
|
|
|
|
+ scope.onBlur = function () {
|
|
|
|
|
+ scope.isFocused = false;
|
|
|
|
|
+ };
|
|
|
|
|
+
|
|
|
|
|
+ scope.onChange = function () {
|
|
|
|
|
+ scope.selectedItemIndex = 0;
|
|
|
|
|
+ };
|
|
|
|
|
+
|
|
|
|
|
+ scope.keyParser = function ($event) {
|
|
|
|
|
+ var keys = {
|
|
|
|
|
+ 38: 'up',
|
|
|
|
|
+ 40: 'down',
|
|
|
|
|
+ 8: 'backspace',
|
|
|
|
|
+ 13: 'enter',
|
|
|
|
|
+ 9: 'tab',
|
|
|
|
|
+ 27: 'esc'
|
|
|
|
|
+ };
|
|
|
|
|
+ var key = keys[$event.keyCode];
|
|
|
|
|
+ if (key == 'backspace' && scope.inputValue == "") {
|
|
|
|
|
+ if (scope.modelArr.length != 0) {
|
|
|
|
|
+ scope.removeAddedValues(scope.modelArr[scope.modelArr.length - 1]);
|
|
|
|
|
+ //scope.modelArr.pop();
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ else if (key == 'down') {
|
|
|
|
|
+ var filteredSuggestionArr = $filter('filter')(scope.suggestionsArr, scope.inputValue);
|
|
|
|
|
+ filteredSuggestionArr = $filter('filter')(filteredSuggestionArr, scope.alreadyAddedValues);
|
|
|
|
|
+ if (scope.selectedItemIndex < filteredSuggestionArr.length - 1)
|
|
|
|
|
+ scope.selectedItemIndex++;
|
|
|
|
|
+ }
|
|
|
|
|
+ else if (key == 'up' && scope.selectedItemIndex > 0) {
|
|
|
|
|
+ scope.selectedItemIndex--;
|
|
|
|
|
+ }
|
|
|
|
|
+ else if (key == 'esc') {
|
|
|
|
|
+ scope.isHover = false;
|
|
|
|
|
+ scope.isFocused = false;
|
|
|
|
|
+ }
|
|
|
|
|
+ else if (key == 'enter') {
|
|
|
|
|
+ var filteredSuggestionArr = $filter('filter')(scope.suggestionsArr, scope.inputValue);
|
|
|
|
|
+ filteredSuggestionArr = $filter('filter')(filteredSuggestionArr, scope.alreadyAddedValues);
|
|
|
|
|
+ if (scope.selectedItemIndex < filteredSuggestionArr.length)
|
|
|
|
|
+ scope.onSuggestedItemsClick(filteredSuggestionArr[scope.selectedItemIndex]);
|
|
|
|
|
+ }
|
|
|
|
|
+ };
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+ scope.onSuggestedItemsClick = function (selectedValue) {
|
|
|
|
|
+ if (scope.modelArr == null || scope.modelArr == "" || scope.modelArr == undefined) {
|
|
|
|
|
+ scope.modelArr = [];
|
|
|
|
|
+
|
|
|
|
|
+ }
|
|
|
|
|
+ if (scope.beforeSelectItem && typeof (scope.beforeSelectItem) == 'function')
|
|
|
|
|
+ scope.beforeSelectItem(selectedValue);
|
|
|
|
|
+
|
|
|
|
|
+ scope.modelArr.push(selectedValue);
|
|
|
|
|
+ // console.log(scope.modelArr)
|
|
|
|
|
+
|
|
|
|
|
+ if (scope.afterSelectItem && typeof (scope.afterSelectItem) == 'function')
|
|
|
|
|
+ scope.afterSelectItem(selectedValue);
|
|
|
|
|
+ scope.inputValue = "";
|
|
|
|
|
+ };
|
|
|
|
|
+
|
|
|
|
|
+ var isDuplicate = function (arr, item) {
|
|
|
|
|
+ var duplicate = false;
|
|
|
|
|
+ if (arr == null || arr == "")
|
|
|
|
|
+ return duplicate;
|
|
|
|
|
+
|
|
|
|
|
+ for (var i = 0; i < arr.length; i++) {
|
|
|
|
|
+ duplicate = angular.equals(arr[i], item);
|
|
|
|
|
+ if (duplicate)
|
|
|
|
|
+ break;
|
|
|
|
|
+ }
|
|
|
|
|
+ return duplicate;
|
|
|
|
|
+ };
|
|
|
|
|
+
|
|
|
|
|
+ scope.alreadyAddedValues = function (item) {
|
|
|
|
|
+ var isAdded = true;
|
|
|
|
|
+ isAdded = !isDuplicate(scope.modelArr, item);
|
|
|
|
|
+ //if(scope.modelArr != null && scope.modelArr != ""){
|
|
|
|
|
+ // isAdded = scope.modelArr.indexOf(item) == -1;
|
|
|
|
|
+ // console.log("****************************");
|
|
|
|
|
+ // console.log(item);
|
|
|
|
|
+ // console.log(scope.modelArr);
|
|
|
|
|
+ // console.log(isAdded);
|
|
|
|
|
+ //}
|
|
|
|
|
+ return isAdded;
|
|
|
|
|
+ };
|
|
|
|
|
+
|
|
|
|
|
+ scope.removeAddedValues = function (item) {
|
|
|
|
|
+ if (scope.modelArr != null && scope.modelArr != "") {
|
|
|
|
|
+ var itemIndex = scope.modelArr.indexOf(item);
|
|
|
|
|
+ if (itemIndex != -1) {
|
|
|
|
|
+ if (scope.beforeRemoveItem && typeof (scope.beforeRemoveItem) == 'function')
|
|
|
|
|
+ scope.beforeRemoveItem(item);
|
|
|
|
|
+
|
|
|
|
|
+ scope.modelArr.splice(itemIndex, 1);
|
|
|
|
|
+
|
|
|
|
|
+ if (scope.afterRemoveItem && typeof (scope.afterRemoveItem) == 'function')
|
|
|
|
|
+ scope.afterRemoveItem(item);
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+ };
|
|
|
|
|
+
|
|
|
|
|
+ scope.mouseEnterOnItem = function (index) {
|
|
|
|
|
+ scope.selectedItemIndex = index;
|
|
|
|
|
+ };
|
|
|
|
|
+ }
|
|
|
|
|
+ };
|
|
|
|
|
+ }
|
|
|
|
|
+ ]);
|
|
|
|
|
+
|
|
|
|
|
+ return angularAMD.bootstrap(app);
|
|
|
|
|
+});
|