Projekt

Allgemein

Profil

GX-Task #44419 » Zwischenstand__44419.patch

Alexandros Tselegidis, 19.02.2016 19:30

Unterschiede anzeigen:

src/templates/Honeygrid/styles/modules/_product_info.scss (revision )
514 514
.product-info-share {
515 515
  padding: 0 ($grid-gutter-width / 2) 10px;
516 516
  @include clearfix();
517
  .product-info-share-item {
518
    margin: 0 ($grid-gutter-width / 2) $grid-gutter-width 0;
519
    float: left;
520
    img {
521
      cursor: pointer;
522
    }
523
  }
524 517
}
525 518

  
526 519

  
development_tools/gulp_tasks/honeygrid/gulp_honeygrid_vendor.js (revision )
52 52
				'respond',
53 53
				'Swiper',
54 54
		        'blueimp-file-upload',
55
				'honeygrid-modernizr'
55
				'honeygrid-modernizr',
56
				'shariff'
56 57
			],
57 58
			overrides = {
58 59
				'jQuery-rwdImageMaps': {
src/templates/Honeygrid/javascript/engine/widgets/social_share.js (revision )
1 1
/* --------------------------------------------------------------
2
 social_share.js 2015-10-15 gm
2
 social_share.js 2016-02-19
3 3
 Gambio GmbH
4 4
 http://www.gambio.de
5
 Copyright (c) 2015 Gambio GmbH
5
 Copyright (c) 2016 Gambio GmbH
6 6
 Released under the GNU General Public License (Version 2)
7 7
 [http://www.gnu.org/licenses/gpl-2.0.html]
8 8
 --------------------------------------------------------------
......
11 11
/**
12 12
 * Widget that enables the social sharing support
13 13
 * (e.g.: Facebook, Twitter, Google+)
14
 * 
15
 * https://github.com/heiseonline/shariff
14 16
 */
15 17
gambio.widgets.module(
16 18
	'social_share',
17 19

  
18
	['xhr'],
20
	[],
19 21

  
20 22
	function(data) {
21 23

  
......
24 26
// ########## VARIABLE INITIALIZATION ########## 
25 27

  
26 28
		var $this = $(this),
27
			defaults = {
28
				// URL from where the social share markup gets delivered.
29
				url: jse.core.registry.get('tplPath') + 'social_sharing/get.php'
30
			},
29
			defaults = {},
31 30
			options = $.extend(true, {}, defaults, data),
32 31
			module = {};
33 32

  
34 33

  
35
// ########## EVENT HANDLER ##########
36

  
37 34
		/**
38
		 * Click handler for the social sharing buttons / links
39
		 * @private
35
		 * Init function of the widget
36
		 * @constructor
40 37
		 */
41
		var _clickHandler = function() {
42
			var $self = $(this),
43
				dataset = $self.data();
38
		module.init = function(done) {
39
			$this.addClass('shariff'); 
44 40
			
45
			// Get the current configuration
46
			dataset = dataset.social_share || $self.parseModuleData('social_share');
41
			var config = {
42
				url: 'og:url',
43
				theme: 'standard',
44
				lang: jse.core.config.get('languageCode'),
45
				services: []
46
			};
47 47
			
48
			// Collect data for the backend
49
			dataset.url = location.href;
50
			dataset.title = document.title;
51
			dataset.product_image = $('#product_image_swiper .swiper-slide img').first().attr('src');
48
			if (options.facebook !== undefined) {
49
				config.services.push('facebook'); 
50
			}
52

  
51
			
53
			// Get the markup
54
			jse.libs.xhr.ajax({url: options.url, data: dataset, dataType: 'html'}).done(function(result) {
55
				var $button = $(result),
56
					iframe = $button.is('iframe'),
57
					$preloader = $('<div class="preloader" ></div>');
52
			if (options.twitter !== undefined) {
53
				config.services.push('twitter');
54
			}
58

  
55
			
59
				// Appends a click handler if the new state is "off"
60
				if (dataset.state !== 'on') {
61
					$self.one('click', _clickHandler);
62
					dataset.state = 'on';
56
			if (options.googleplus !== undefined) {
57
				config.services.push('googleplus');
63
				}
64

  
58
			}
59
			
65
				if (iframe) {
66
					// If it is an iframe, show a preloader
67
					// and remove it, after the iframe has loaded
68
					$button.one('load', function() {
69
						$preloader.remove();
70
					});
71

  
72
					$self
73
						.data('social_share', dataset)
74
						.empty()
75
						.append($preloader)
76
						.append($button);
77

  
78
				} else {
79
					// Else just append the button
80
					$self
81
						.data('social_share', dataset)
82
						.empty()
83
						.append($button);
60
			if (options.pinterest !== undefined) {
61
				config.services.push('pinterest');
84
				}
85

  
62
			}
63
			
86
			});
87
		};
88

  
89

  
90
// ########## INITIALIZATION ##########
91

  
92
		/**
93
		 * Init function of the widget
94
		 * @constructor
95
		 */
96
		module.init = function(done) {
97

  
98
			// In first instance perform the
99
			// action that will be performed
100
			// on click also
101
			$this
102
				.find('[data-social_share-service]')
103
				.each(_clickHandler);
64
			new Shariff($this, config);
104

  
65
			
105 66
			done();
106 67
		};
107 68

  
src/templates/Honeygrid/snippets/product_info/social_share.html (revision )
1 1
{if $SHOW_FACEBOOK || $SHOW_TWITTER || $SHOW_GOOGLEPLUS || $SHOW_PINTEREST}
2
	<div data-gambio-widget="social_share">
3
		{if $SHOW_FACEBOOK}
4
			<div data-social_share-service="facebook" data-social_share-state="off" class="product-info-share-item"></div>
5
		{/if}
6
		{if $SHOW_TWITTER}
7
			<div data-social_share-service="twitter" data-social_share-state="off" class="product-info-share-item"></div>
8
		{/if}
9
		{if $SHOW_GOOGLEPLUS}
10
			<div data-social_share-service="googleplus" data-social_share-state="off" class="product-info-share-item"></div>
11
		{/if}
12
		{if $SHOW_PINTEREST}
13
			<div data-social_share-service="pinterest" data-social_share-state="off" class="product-info-share-item"></div>
14
		{/if}
2
	<div data-gambio-widget="social_share"
3
	     {if $SHOW_FACEBOOK}data-social_share-facebook{/if}
4
	     {if $SHOW_TWITTER}data-social_share-twitter{/if}
5
	     {if $SHOW_GOOGLEPLUS}data-social_share-googleplus{/if}
6
	     {if $SHOW_PINTEREST}data-social_share-pinterest{/if}>
15 7
	</div>
16 8
{/if}
bower.json (revision )
30 30
    "spectrum": "~1.8.0",
31 31
    "codemirror": "CodeMirror#~5.10.0",
32 32
    "datetimepicker": "~2.4.5",
33
    "honeygrid-modernizr": "https://sources.gambio-server.net/gambio/honeygrid-modernizr.git"
33
    "honeygrid-modernizr": "https://sources.gambio-server.net/gambio/honeygrid-modernizr.git",
34
    "shariff": "^1.23.0"
34 35
  },
35 36
  "devDependencies": {},
36 37
  "resolutions": {
37
    "jquery": ">=1.6"
38
    "jquery": "~1.11.3"
38 39
  }
39 40
}
    (1-1/1)