PageSourceSearch

https://0hh.ru/assets/js/foruvkgroupproducts.js?

js 0hh.ru collected 2026-10-09 04:34:31 UTC 14,796 bytes, 1 lines download raw bytes

1angular.module("YepCom").directive("foruvkgroupproducts",function($state,Website,$httpParamSerializer,$location,$templateCache,$localStorage,Layout,ExtraBlock,$compile,ThemeLayer,Shopsitecategories,Previewshopsiteitems,ngDialog,Previewshopsitecategories,Shopsite,Socialtoken,VkInfo,$injector,$timeout,toaster,$sce,$sanitize,$translate){return{restrict:"EA",replace:!0,template:'<div class="foruvkgroupproducts extrablockngnew" extraname="forublockvkgroupproducts" elementid="elforuvkgroupproductsouter" ng-style="sitecontent.elforuvkgroupproductsouter.style" ng-class="sitecontent.elforuvkgroupproductsouter.classes"></div>',link:function(scope,element,attrs){var i,j,key,keys,len,len1,ref,templ;if($translate.onReady(function(){scope.rub=$translate.instant("rub"),scope.poAlfavituAya=$translate.instant("po_alfavitu_aya"),scope.poAlfavituYaa=$translate.instant("po_alfavitu_yaa"),scope.poVozrastaniyuTseny=$translate.instant("po_vozrastaniyu_tseny"),scope.poUbyvaniyuTseny=$translate.instant("po_ubyvaniyu_tseny"),scope.poisk=$translate.instant("poisk"),scope.poDannomuZaprosuTovarNeNayden=$translate.instant("po_dannomu_zaprosu_tovar_ne_nayden"),scope.rabotaetTolkoDlyaOpublikovannogoSayt=$translate.instant("rabotaet_tolko_dlya_opublikovannogo_sayt__"),scope.futbolkiIPolo=$translate.instant("futbolki_i_polo"),scope.verhnyayaOdezhda=$translate.instant("verhnyaya_odezhda"),scope.aksessuary=$translate.instant("aksessuary"),scope.futbolka=$translate.instant("futbolka"),scope.kurtka=$translate.instant("kurtka"),scope.sharf=$translate.instant("sharf"),scope.vse=$translate.instant("vse"),scope.oshibka=$translate.instant("oshibka"),scope.dostupZakryt=$translate.instant("dostup_zakryt"),scope.sortList=[{name:scope.poAlfavituAya,icon:"glyphicon glyphicon-sort-by-alphabet",order:"name"},{name:scope.poAlfavituYaa,icon:"glyphicon glyphicon-sort-by-alphabet-alt",order:"-name"},{name:scope.poVozrastaniyuTseny,icon:"glyphicon glyphicon-sort-by-attributes",order:"price"},{name:scope.poUbyvaniyuTseny,icon:"glyphicon glyphicon-sort-by-attributes-alt",order:"-price"}],$localStorage.currentvkshoporder?scope.currentSort=$localStorage.currentvkshoporder:scope.currentSort=scope.sortList[0]}),scope.previewstate=!1,scope.showaddvkmessage=!0,scope.vktoken=void 0,scope.vkgroupselected=void 0,scope.vknoaddedgroups=!1,scope.vkgroups=[],scope.vkmaininfo=[],scope.chosengroupid=void 0,scope.forushopitems=[],scope.forushopcategories=[],scope.selectedcategory=void 0,scope.demoMode=!1,scope.selectedGroupId=void 0,scope.wailtLoad=!0,scope.editMode=!0,"templatepreview"!==$state.current.name&&"previewimage"!==$state.current.name&&"templateframe"!==$state.current.name||(scope.demoMode=!0,scope.forushopitems=[{name:scope.futbolka.toUpperCase()+" № 1",category_id:1,price:"100",publicated:!0,sku:"0000",images:[{compact_image:"/defaultshopimages/tshirts/p1.jpg",large_image:"/defaultshopimages/tshirts/p1.jpg"}]},{name:scope.futbolka.toUpperCase()+" № 2",category_id:1,price:"100",publicated:!0,sku:"0000",images:[{compact_image:"/defaultshopimages/tshirts/p2.jpg",large_image:"/defaultshopimages/tshirts/p2.jpg"}]},{name:scope.futbolka.toUpperCase()+" № 3",category_id:1,price:"100",publicated:!0,sku:"0000",images:[{compact_image:"/defaultshopimages/tshirts/p3.jpg",large_image:"/defaultshopimages/tshirts/p3.jpg"}]},{name:scope.futbolka.toUpperCase()+" № 4",category_id:1,price:"100",publicated:!0,sku:"0000",images:[{compact_image:"/defaultshopimages/tshirts/p4.jpg",large_image:"/defaultshopimages/tshirts/p4.jpg"}]},{name:scope.kurtka+" № 1",category_id:2,price:"100",publicated:!0,sku:"0000",images:[{compact_image:"/defaultshopimages/outerwear/p1.jpg",large_image:"/defaultshopimages/outerwear/p1.jpg"}]},{name:scope.kurtka+" № 2",category_id:2,price:"100",publicated:!0,sku:"0000",images:[{compact_image:"/defaultshopimages/outerwear/p2.jpg",large_image:"/defaultshopimages/outerwear/p2.jpg"}]},{name:scope.kurtka+" № 3",category_id:2,price:"100",publicated:!0,sku:"0000",images:[{compact_image:"/defaultshopimages/outerwear/p3.jpg",large_image:"/defaultshopimages/outerwear/p3.jpg"}]},{name:scope.kurtka+" № 4",category_id:2,price:"100",publicated:!0,sku:"0000",images:[{compact_image:"/defaultshopimages/outerwear/p4.jpg",large_image:"/defaultshopimages/outerwear/p4.jpg"}]},{name:scope.sharf+" № 1",category_id:3,price:"100",publicated:!0,sku:"0000",images:[{compact_image:"/defaultshopimages/accessories/p1.jpg",large_image:"/defaultshopimages/accessories/p1.jpg"}]},{name:scope.sharf+" № 2",category_id:3,price:"100",publicated:!0,sku:"0000",images:[{compact_image:"/defaultshopimages/accessories/p2.jpg",large_image:"/defaultshopimages/accessories/p2.jpg"}]},{name:scope.sharf+" № 3",category_id:3,price:"100",publicated:!0,sku:"0000",images:[{compact_image:"/defaultshopimages/accessories/p3.jpg",large_image:"/defaultshopimages/accessories/p3.jpg"}]},{name:scope.sharf+" № 4",category_id:3,price:"100",publicated:!0,sku:"0000",images:[{compact_image:"/defaultshopimages/accessories/p4.jpg",large_image:"/defaultshopimages/accessories/p4.jpg"}]}],scope.forushopcategories=[{name:scope.futbolkiIPolo,id:1},{name:scope.verhnyayaOdezhda,id:2},{name:scope.aksessuary,id:3}],scope.selectedcategory=scope.forushopcategories[0].id),scope.setVkGroupBlockSitecontentPublic=function(group_id){var list=[];return scope.wailtLoad=!0,VkInfo.getVkgodsPublic(list,0,group_id).then(function(res){if(scope.wailtLoad=!1,424===(null!=res?res.status:void 0)?scope.showaddvkmessage=!0:0<list.length&&scope.prepareProducts(list),scope.blockid)return scope.$emit("postLoadDraw",scope.blockid)},function(error){if(424===(null!=error?error.status:void 0))return scope.showaddvkmessage=!0})}
1,scope.pageChanged=function(number){return $timeout(function(){return $(".fancybox").fancybox()},100)},"preview2"!==$state.current.name&&"localpreview"!==$state.current.name&&"templatepreview"!==$state.current.name&&"previewimage"!==$state.current.name||(scope.previewstate=!0,scope.editMode=!1,scope.showaddvkmessage=!1,null!=(ref=scope.sitecontent)&&null!=(ref=ref.elforuvkgroup)&&ref.group_id&&(scope.selectedGroupId=scope.sitecontent.elforuvkgroup.group_id,scope.setVkGroupBlockSitecontentPublic(scope.sitecontent.elforuvkgroup.group_id))),scope.updateExtraTemplate=function(name){var id=scope.elemdata.extrablock_id.$oid;return Layout.updateTemplate(id,name).then(function(templ){return element.html(""),scope.elemdata.templatename=name,scope.elemdata.templatehtml=templ,$compile(ThemeLayer.rewriteNgStyle(templ,scope.elemdata.templatename,scope.sitecontent,scope))(scope,function(newelem){element.html(newelem),scope.initBaseDropZone()})})},scope.$on("setLayoutelforuvkgroup",function(evt,template,yelemid,classes){if(null==classes&&(classes=null),yelemid===scope.yeid)return scope.sitecontent.elforuvkgroupouter.classes=classes||template,scope.updateExtraTemplate(template)}),scope.getShopsite=function(){return Website.getWebSite(scope.siteid).then(function(res){return scope.shopsite=res.shopsite,scope.shopsite?scope.getForuShopCategoriesList():Shopsite.createShopFromSite(scope.siteid).then(function(res){return scope.shopsite=res,scope.getForuShopCategoriesList(),scope.$emit("setShopSiteTrue")})})},scope.getAllVkContent=function(){return Socialtoken.gettokens().then(function(res){for(var token,i=0,len=res.length;i<len;i++)(token=res[i]).vkontakte&&(scope.vktoken=token.vkontakte.token);if(scope.sitecontent.elforuvkgroupcontainer){if(scope.showaddvkmessage=!1,scope.sitecontent.elforuvkgroup&&scope.sitecontent.elforuvkgroup.group_id)return scope.selectedGroupId=scope.sitecontent.elforuvkgroup.group_id,scope.setVkGroupBlockSitecontent(scope.sitecontent.elforuvkgroup.group_id)}else if(scope.vktoken&&(scope.showaddvkmessage=!1,scope.sitecontent.elforuvkgroup)&&scope.sitecontent.elforuvkgroup.template)return scope.sitecontent.elforuvkgroup.group_id?(scope.selectedGroupId=scope.sitecontent.elforuvkgroup.group_id,scope.setVkGroupBlockSitecontent(scope.sitecontent.elforuvkgroup.group_id)):scope.getVkGroups()})},scope.getVkGroups=function(){return VkInfo.getVkGroups().then(function(res){return scope.vkgroups=res,scope.rebuildsitecontent(),scope.tojsoncontent()},function(error){if(424===(null!=error?error.status:void 0))return scope.showaddvkmessage=!0})},scope.getImages=function(sizes){var large_image=_.maxBy(sizes,"width"),compact_image=_.findLast(sizes,function(n){return n.width<150&&90<n.width}),sizes=_.findLast(sizes,function(n){return n.width<150&&90<n.width});return{compact_image:compact_image.url||large_image.url,large_image:large_image.url,thumb_image:sizes.url||compact_image.url||large_image.url}},scope.prepareProducts=function(items){for(var ref2,categoriesRaw=[{id:void 0,name:scope.vse}],i=0,len=items.length;i<len;i++){var item,images=[];if(0<(null!=(item=items[i])&&null!=(ref2=item.photos)?ref2.length:void 0))try{images=scope.getImages(null!=item?item.photos[0].sizes:void 0)}catch(e){images=[]}scope.forushopitems.push({id:item.owner_id+"_"+item.id,images:[images],amount:1,name:item.title,price:item.price.amount/100,category_id:item.category.name}),categoriesRaw.push({id:item.category.name,name:item.category.name})}return scope.forushopcategories=_.uniqBy(categoriesRaw,"id")},scope.setVkGroupBlockSitecontent=function(group_id){var list=[];return scope.wailtLoad=!0,VkInfo.getVkgodsEditor(list,0,group_id,"group").then(function(res){return scope.wailtLoad=!1,424===(null!=res?res.status:void 0)?scope.showaddvkmessage=!0:400===(null!=res?res.status:void 0)&&"11"===(null!=res&&null!=(res=res.data)?res.retval:void 0)?(toaster.pop({type:"error",title:scope.oshibka,body:scope.dostupZakryt}),scope.showaddvkmessage=!1,scope.selectedGroupId=!1,scope.vkgroupselected=!1,scope.vknoaddedgroups=!1):0<list.length?scope.prepareProducts(list):void 0},function(error){if(424===(null!=error?error.status:void 0))return scope.showaddvkmessage=!0})},scope.setSelectedVkGroup=function(group_id){return scope.chosengroupid=group_id},scope.setCurrentImage=function(image){return scope.currentimage=image,scope.$broadcast("changedCurrentImageEvent",image)},scope.openMoreInfoProductModal=function(e,product){if(e.preventDefault(),e.stopPropagation(),("preview2"===$state.current.name||"localpreview"===$state.current.name||"templatepreview"===$state.current.name||"previewimage"===$state.current.name)&&(VkInfo.getMoreInfoProduct(product.id,scope.sitecontent.elforuvkgroup.group_id).then(function(res){var i,len,photo,ref19,ref2;if(scope.currentproduct={},scope.currentimage="/img/no-image.png",scope.currentproduct.id=(null!=res&&null!=(ref2=res.response)&&null!=(ref2=ref2.items[0])?ref2.owner_id:void 0)+"_"+(null!=res&&null!=(ref2=res.response)&&null!=(ref2=ref2.items[0])?ref2.id:void 0),scope.currentproduct.sku="vk"+(null!=res&&null!=(ref2=res.response)&&null!=(ref2=ref2.items[0])?ref2.id:void 0),scope.currentproduct.description=null!=res&&null!=(ref2=res.response)&&null!=(ref2=ref2.items[0])?ref2.description:void 0,scope.currentproduct.name=null!=res&&null!=(ref2=res.response)&&null!=(ref2=ref2.items[0])?ref2.title:void 0,scope.currentproduct.price=(null!=res&&null!=(ref2=res.response)&&null!=(ref2=ref2.items[0])&&null!=(ref2=ref2.price)?ref2.amount:void 0)/100,scope.currentproduct.images=[],0<(null!=res&&null!=(ref2=res.response)&&null!=(ref2=ref2.items[0])?ref2.photos.length:void 0))for(i=0,len=(ref19=null!=res&&null!=(ref2=res.response)&&null!=(res=ref2.items[0])?res.photos:void 0).length;i<len;i++)photo=ref19[i],scope.currentproduct.images.push(scope.getImages(photo.sizes));return scope.currentimage=scope.currentproduct.images[0],ngDialog.open({template:"/assets/templates-public/preview/productinfo-modal/productinfo-modal.html?"+(window.yepbuildversion||Math.floor(1e8*Math.random())),className:"t-modal t-modal--shop-product-info",showClose:!0,closeByEscape:!1,closeByDocument:!0,scope:scope})},function(error){}),424===("undefined"!=typeof error&&null!==error?error.status:void 0)))return scope.showaddvkmessage=!0},scope.addProductToCart=function(e,product){var index;if(e.preventDefault(),e.stopPropagation(),"preview2"===$state.current.name||"localpreview"===$state.current.name||"templatepreview"===$state.current.name||"previewimage"===$state.current.name)return $localStorage.vkCartItems||($localStorage.vkCartItems=[]),-1<(index=_.findIndex($localStorage.vkCartItems,function(o){return o.id===product.id}))?$localStorage.vkCartItems[index].amount++:$localStorage.vkCartItems.push({id:product.id,product:product,amount:1}
1),$timeout(function(){var dialoglist;if(scope.$emit("showCartEvent"),scope.currentproduct)return dialoglist=ngDialog.getOpenDialogs(),index=dialoglist.length-1,ngDialog.close(dialoglist[index])},300)},scope.showCatProducts=function(category_id){return scope.selectedcategory=category_id},scope.createVkGroupProductsBlock=function(group_id){var groups=scope.vkgroups;return scope.vkgroupselected=groups.filter(function(obj){return obj.id===group_id})[0],scope.sitecontent.elforuvkgroup.group_id=group_id,scope.selectedGroupId=scope.sitecontent.elforuvkgroup.group_id,scope.setVkGroupBlockSitecontent(group_id),scope.getShopsite()},scope.addVk=function(){return scope.$emit("addVkEvent")},scope.$on("updateTokenVk",function(evt){return scope.getAllVkContent()}),scope.trustAsHtml=function(string){string=$sanitize(string);return $sce.trustAsHtml(string)},scope.setProductSort=function(order){return scope.currentSort=order,$localStorage.currentvkshoporder=order},scope.previewstate){if($injector.has("angularUtils.directives.dirPagination")){for(templ=scope.elemdata.templatehtml.replace(/\&\#39\;/g,"'"),i=0,len=(keys=Object.keys(scope.sitecontent)).length;i<len;i++)key=keys[i],scope.sitecontent[key]&&scope.sitecontent[key].text&&(templ=templ.replace("ng-model=\"sitecontent['"+key+"']['text']\"",'fomce="true" ng-bind-html="trustAsHtml(sitecontent[\''+key+"']['text'])\""));return $compile(ThemeLayer.rewriteNgStyle(templ,scope.elemdata.templatename,scope.sitecontent,scope))(scope,function(newelem){element.html(newelem),scope.initBaseDropZone()})}for(templ=scope.elemdata.templatehtml.replace(/\&\#39\;/g,"'"),j=0,len1=(keys=Object.keys(scope.sitecontent)).length;j<len1;j++)key=keys[j],scope.sitecontent[key]&&scope.sitecontent[key].text&&(templ=templ.replace("ng-model=\"sitecontent['"+key+"']['text']\"",'fomce="true" ng-bind-html="trustAsHtml(sitecontent[\''+key+"']['text'])\""));return $compile(ThemeLayer.rewriteNgStyle(templ,scope.elemdata.templatename,scope.sitecontent,scope))(scope,function(newelem){element.html(newelem),scope.initBaseDropZone()})}return scope.elemdata&&scope.elemdata.templatename&&(scope.updateExtraTemplate(scope.elemdata.templatename),scope.sitecontent.elforuvkgroup)&&(scope.sitecontent.elforuvkgroup.template=scope.elemdata.templatename),scope.getAllVkContent()}}});

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.