1app.pointsItemComponent={components:{pointIcon:app.pointIconComponent,},props:['point'],template:` 2 <div class="pointItem" :data-id="point.cartId"> 3 4 <div class="pointItem__value" :class="'pointItem__value--'+point.action.color"> 5 {{point.action.value}} 6 <point-icon variant="history"></point-icon> 7 </div> 8 9 <div class="pointItem__date"> 10 {{point.date}} 11 </div> 12 <div class="pointItem__name">{{point.action.name}}</div> 13 14 <div v-if="point.dateOnhold" class="pointItem__onhold">{{point.dateOnhold}}</div> 15 16 </div> 17 `};app.pointsMainComponent={components:{pointItem:app.pointsItemComponent,spinner:app.commonSpinnerComponent,},props:['loc','isWeb'],data(){return{loading:!0,loaded:!1,list:[]}},mounted(){this.fetch()},computed:{isEmpty(){return!this.list.length},locEmpty(){return this.loc['points/empty']}},methods:{fetch(){this.loading=!0;app.fetch('/points/history',{},(res)=>{if(res.error){this.$emit('error',res.message);return} 18this.list=res.result||[];this.loading=!1;this.$emit('contentLoaded');setTimeout(()=>{this.loaded=!0},30)})}},template:` 19 20 <div class="mcPoints" :class="{'mcPoints--web': isWeb}"> 21 22 <spinner v-if="loading"/> 23 24 <div 25 v-else 26 class="mcPoints__content" 27 :class="{'mcPoints__content--loaded': loaded}"> 28 29 <div v-if="isEmpty" class="mcPoints__empty"> 30 {{locEmpty}} 31 </div> 32 33 <div v-else class="mcPoints__list"> 34 <pointItem 35 v-for="point in list" 36 :point="point"/> 37 </div> 38 39 </div> 40 41 42 43 </div> 44 45 `};app.addModule(()=>{PubSub.subscribe('showProfilePoints',()=>{if(!app.store.state.user){PubSub.publish('showLoginModalWindow',{returnTo:'profile'});return} 46app.openViewer({mobile:{withTick:!0,maxHeight:'calc(100dvh - 20px)'},desktop:{maxWidth:'400px'},component:{components:{profileHeader:app.profileHeaderComponent,pointsMain:app.pointsMainComponent},computed:{...Vuex.mapState(['loc']),locTitle(){return this.loc['profile/log/title']}},methods:{close(){this.$emit('close')},onError(message){app.growl(message,'danger');this.close()},},store:app.store,template:` 47 <div> 48 <profileHeader :title="locTitle"/> 49 <pointsMain 50 :loc="loc" 51 @close="close" 52 :isWeb="true" 53 @error="onError"/> 54 </div> 55`}})})});
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.