PageSourceSearch

https://zapchast-betononasos.ru/scripts/_partials/product-view/services/productViewService.js

js zapchast-betononasos.ru collected 2026-10-05 00:23:00 UTC 2,293 bytes, 72 lines download raw bytes

1; (function (ng) {
2    'use strict';
3
4    var productViewService = function ($http, $q, $cookies, $window) {
5        var service = this,
6            productViewTransformers = {},
7            queue = {},
8            callbacks = {};
9
10        service.getPhotos = function (productId) {
11            return $http.get('product/getphotos', { params: { productId: productId, rnd: Math.random() } }).then(function (response) {
12                return response.data;
13            });
14        };
15
16        service.getView = function (name) {
17
18            var defer = $q.defer();
19
20            if (productViewTransformers[name] == null) {
21                queue[name] = defer;
22            } else {
23                defer.resolve(productViewTransformers[name]);
24            }
25
26            return defer.promise.finally(function () {
27                delete queue[name];
28            });
29        };
30
31        service.addCallback = function (name, func) {
32            callbacks[name] = callbacks[name] || [];
33            callbacks[name].push(func);
34        };
35
36        service.pricessCallback = function (name, data) {
37            if (callbacks[name] != null) {
38                for (var i = 0, len = callbacks[name].length - 1; i <= len; i++) {
39                    callbacks[name][i](data);
40                }
41            }
42        };
43
44        service.setView = function (name, view) {
45
46            if ($window.location.pathname.indexOf('/search') != -1) {
47                $cookies.put('search_viewmode', view);
48            } else {
49                $cookies.put('viewmode', view);
50                $cookies.put('mobile_viewmode', view);
51            }
52
53            productViewTransformers[name] = productViewTransformers[name] || {};
54
55            productViewTransformers[name].viewName = view;
56
57            if (queue[name] != null) {
58                queue[name].resolve(productViewTransformers[name]);
59            }
60
61            service.pricessCallback('setView', productViewTransformers[name]);
62
63            return productViewTransformers[name];
64        };
65    };
66
67    ng.module('productView')
68      .service('productViewService', productViewService);
69
70    productViewService.$inject = ['$http', '$q', '$cookies', '$window'];
71
72})(window.angular);

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.