elementsCtrl.js 2.57 KB
'use strict';

angular.module('newApp')
  .controller('elementsCtrl', ['$scope', 'applicationService', 'pluginsService', function ($scope, applicationService, pluginsService) {
      $scope.$on('$viewContentLoaded', function () {
        //  applicationService.init();
          // pluginsService.init();
          if ($('#dropzoneFrm .dz-default').length == 0) {
              $("#dropzoneFrm").dropzone({});
          }

          $('.icheck-colors li').click(function () {
              var self = $(this);

              if (!self.hasClass('active')) {
                  self.siblings().removeClass('active');

                  var skin = self.closest('.skin'),
                    color = self.attr('class') ? '-' + self.attr('class') : '',
                    colorTmp = skin.data('color') ? '-' + skin.data('color') : '-blue',
                    colorTmp = (colorTmp === '-black' ? '' : colorTmp);

                  var checkbox_default = 'icheckbox_minimal',
                  radio_default = 'iradio_minimal',
                  checkbox = 'icheckbox_minimal' + colorTmp,
                  radio = 'iradio_minimal' + colorTmp;

                  if (skin.hasClass('skin-square')) {
                      checkbox_default = 'icheckbox_square';
                      radio_default = 'iradio_square';
                      checkbox = 'icheckbox_square' + colorTmp;
                      radio = 'iradio_square' + colorTmp;
                  };

                  if (skin.hasClass('skin-flat')) {
                      checkbox_default = 'icheckbox_flat';
                      radio_default = 'iradio_flat';
                      checkbox = 'icheckbox_flat' + colorTmp;
                      radio = 'iradio_flat' + colorTmp;
                  };

                  if (skin.hasClass('skin-line')) {
                      checkbox_default = 'icheckbox_line';
                      radio_default = 'iradio_line';
                      checkbox = 'icheckbox_line' + colorTmp;
                      radio = 'iradio_line' + colorTmp;
                  };

                  skin.find(':checkbox, :radio').each(function () {
                      var element = $(this).hasClass('state') ? $(this) : $(this).parent();
                      var element_class = element.attr('class').replace(checkbox, checkbox_default + color).replace(radio, radio_default + color);
                      element.attr('class', element_class);
                  });

                  skin.data('color', self.attr('class') ? self.attr('class') : 'black');
                  self.addClass('active');
              };
          });

      });

  }]);