PageSourceSearch

https://nauss.edu.sa/Style%20Library/ar-sa/Styles/js/homepage-revamp.js

js nauss.edu.sa collected 2026-10-02 04:22:58 UTC 12,658 bytes, 266 lines download raw bytes

1//function isScrolledIntoView(elem){
2//    var docViewTop = $(window).scrollTop();
3//    var docViewBottom = docViewTop + $(window).height();
4//    var elemTop = $(elem).offset().top;
5//    return ((elemTop <= docViewBottom) && (elemTop >= docViewTop));
6//}
7
8//$(window).scroll(function(){
9//    if ( $('.video-player-section').length ){
10//        if (isScrolledIntoView($('.video-player-section'))){
11//            document.getElementById('movie').play();
12//        } else {
13//            document.getElementById('movie').pause();
14//        }
15//    }
16//});
17
18//$(function () {
19//    $(window).scroll(function () {
20//        var sticky = $('header .navbar'),
21//            scroll = $(window).scrollTop();
22
23//        if (scroll >= 100) sticky.addClass('fixed');
24//        else sticky.removeClass('fixed');
25//    });
26//});
27
28
29
30//$("#btnLogo").click(function(){
31//	window.location.href = "/"+_spPageContextInfo.currentCultureName.toLowerCase();
32	
33//})
34
35$(function () {
36    
37 var months = [
38        { ar: "يناير", en: "January" }, { ar: "فبراير", en: "February" }, { ar: "مارس", en: "March" }, { ar: "إبريل", en: "April" },
39        { ar: "مايو", en: "May" }, { ar: "يونيو", en: "June" }, { ar: "يوليو", en: "July" }, { ar: "أغسطس", en: "August" }, { ar: "سبتمبر", en: "September" },
40        { ar: "أكتوبر", en: "October" }, { ar: "نوفمبر", en: "November" }, { ar: "ديسمبر", en: "December" }
41    ]
42
43    var weeks = [
44        { ar: "الأحد", en: "Sunday" },
45        { ar: "الإثنين", en: "Monday" },
46        { ar: "الثلاثاء", en: "Tuesday" },
47        { ar: "الأربعاء", en: "Wednesday" },
48        { ar: "الخميس", en: "Thursday" },
49        { ar: "الجمعة", en: "Friday" },
50        { ar: "السبت", en: "Saturday" }
51    ];
52    var pagsLibtitle = _spPageContextInfo.currentCultureLCID == 1025 ? '%D8%A7%D9%84%D8%B5%D9%81%D8%AD%D8%A7%D8%AA' : 'Pages';
53    
54    var app = new Vue({
55        el: '#dvHomepage',
56        data: {
57            Slider: [],
58 news: [],
59 Announcments:[],
60 Academics:[],
61 NaussEvents:[],
62 Pubs:[]
63        },
64        methods: {
65        loadNews:function(){
66          var self = this;
67            $.ajax(
68                {
69                    async: false,
70                    type: "GET"
71                    , url: "/" + _spPageContextInfo.currentCultureName.toLowerCase().split('-')[0]  + "/news/_api/web/lists/getByTitle('" + pagsLibtitle +"')/items?$select=id,Title,ArticleStartDate,PublishingPageContent&$expand=FieldValuesAsText&$filter=ID ne 1&$orderby=ArticleStartDate desc&$top=5"
72                    , dataType: "json"
73                    , success: function (result) {
74                        for (var i = 0; i < result.value.length; i++) {
75                            var news = result.value[i];
76                            var newsdte = (new Date(news.ArticleStartDate));
77var dateParts = newsdte.format("yyyy-MM-dd").split('-');
78                            $.ajax(
79                                {
80                                    async: false,
81                                    method: "GET",
82                                    url: "/" + _spPageContextInfo.currentCultureName.toLowerCase().split('-')[0] + "/news/_api/web/lists/getByTitle('" + pagsLibtitle + "')/items(" + news.ID + ")/FieldValuesAsHtml?$select=PublishingRollupImage,ID",
83                                    headers: { "Accept": "application/json;odata=verbose" },
84                                    success: function (r, status, headers, config) {
85                                        var rex = /<img.*?src="(.*?)"/;
86
87                                        if (r.d.PublishingRollupImage)
88                                            self.news.push( {
89                                                title: news.Title,
90                                                date:dateParts[2],
91                                                dateMonth:_spPageContextInfo.currentCultureLCID == 1025 ?months[parseInt(dateParts[1])-1].ar :months[parseInt(dateParts[1])-1].en ,
92                                                dateYear: dateParts[0],
93                                                brief: news.PublishingPageContent.replace(/<[^>]*>/g, "").replaceAll("&quot;", '"').substr(0, 120) + "..."
94,
95                                                url: news.FieldValuesAsText.FileRef,
96                                                image: rex.exec(r.d.PublishingRollupImage)[1]
97                                            });
98                                          
99
100                                    }, function(r, status, headers, config) {
101
102                                    }
103                                }
104                            );
105                        }
106                        
107                    }, error: function () {
108                    }
109                });
110        },
111            loadSlider: function () {
112 
113                var self = this;
114
115                $.ajax(
116                    {
117                        type: "GET"
118                        , url: "/" + _spPageContextInfo.currentCultureName.toLowerCase().split('-')[0] + "/_api/web/lists/getByTitle('"+(_spPageContextInfo.currentCultureLCID == 1025 ? "البانر الرئيسي" : "MainBanner")+"')/items?$select=Title,BannerDescription,Order0,NavigationURL,ID,IsVisible&$expand=FieldValuesAsText&$orderby=Order0 asc"
119                        , dataType: "json"
120                        , success: function (result) {
121                       var   sliders = result.value.filter(function(obj){return obj.FieldValuesAsText?.NavigationURL != "" && obj?.FieldValuesAsText?.FileRef != "" && obj.IsVisible})
122
123                                    self.Slider = sliders 
124                               
125                          
126                            
127                        }, error: function () {
128                        }
129                    });
130
131
132            },
133   loadAnnouncments: function () {
134 
135                var self = this;
136
137                $.ajax(
138                    {
139                        type: "GET"
140                        , url: "/" + _spPageContextInfo.currentCultureName.toLowerCase().split('-')[0] + "/_api/web/lists/getByTitle('" + (_spPageContextInfo.currentCultureLCID == 1025 ? "الاعلانات" : "BannerAnnouncements") + "')/items?$select=Title,BannerDescription,Order0,NavigationURL,ID,IsVisible,PublishFrom&$expand=FieldValuesAsText&$orderby=Order0 asc"
141                        , dataType: "json"
142                        , success: function (result) {
143                       var   Announcments= result.value.filter(function(obj){return obj.IsVisible})
144                            for (var i = 0; i < Announcments.length; i++) {
145                                const date = new Date(Announcments[i].PublishFrom); // الجمعة 10 يناير 2025
146
147                                // Format it
148                                const dayName = _spPageContextInfo.currentCultureLCID == 1025 ? weeks[date.getDay()].ar : weeks[date.getDay()].en;
149                                const day = date.getDate();
150                                const monthName = _spPageContextInfo.currentCultureLCID == 1025 ? months[date.getMonth()].ar : months[date.getMonth()].en;
151                                const year = date.getFullYear();
152
153                                const formattedDate = `${dayName} ${day} ${monthName} ${year}`;
154
155                                 Announcments[i].dateString = formattedDate;
156                            }
157                               
158                          
159
160                            self.Announcments = Announcments 
161                        }, error: function () {
162                        }
163                    });
164
165
166            },
167   loadAcademicPrograms: function () {
168 
169                var self = this;
170
171                $.ajax(
172                    {
173                        type: "GET"
174                        , url: "/" + _spPageContextInfo.currentCultureName.toLowerCase().split('-')[0] + "/academic-programmes/Programmes/_api/web/lists/getByTitle('"+(_spPageContextInfo.currentCultureLCID == 1025 ? "الصفحات" : "Pages")+"')/items?$filter=Faculty ne null and IsVisible eq 1&$select=Title,Brief,College,Department,CoverLnk&$expand=FieldValuesAsText/FileRef"
175                        , dataType: "json"
176                        , success: function (result) {
177                   //    var   academic= .filter(function(obj){return obj.FieldValuesAsText?.NavigationURL != "" && obj?.FieldValuesAsText?.FileRef != "" && obj.IsVisible})
178
179                                    self.Academics= result.value
180                               
181                          
182                            
183                        }, error: function () {
184                        }
185                    });
186
187
188            } ,
189            loadEvents: function () {
190 
191                var self = this;
192
193                $.ajax(
194                    {
195                        type: "GET"
196                        , url: "/" + _spPageContextInfo.currentCultureName.toLowerCase().split('-')[0] + "/scientific-activities/events//_api/web/lists/getByTitle('"+(_spPageContextInfo.currentCultureLCID == 1025 ? "الصفحات" : "Pages")+"')/items?$select=ID,Title,FromDate,
196Location,ToDate,Guide,Report,CoverLnk&$expand=FieldValuesAsText&$filter=Location ne null&$orderby=FromDate desc&$top=10"
197                        , dataType: "json"
198                        , success: function (result) {
199                   //    var   academic= .filter(function(obj){return obj.FieldValuesAsText?.NavigationURL != "" && obj?.FieldValuesAsText?.FileRef != "" && obj.IsVisible})
200 
201                                    self.NaussEvents= result.value
202                               self.NaussEvents.forEach(function( obj,index){
203                               var dateParts = obj.FromDate.split('T')[0].split('-');
204                                   obj.DateStringDay = dateParts[2];
205                                   obj.DateStringMonth = (_spPageContextInfo.currentCultureLCID == 1025 ? months[parseInt(dateParts[1]) - 1].ar : months[parseInt(dateParts[1]) - 1].en);
206                                })
207                            const chunkSize = 2;
208                            const chunks = [];
209                            for (let i = 0; i < self.NaussEvents.length; i += chunkSize) {
210                                chunks.push(self.NaussEvents.slice(i, i + chunkSize));
211                            }
212                            self.NaussEvents = chunks;
213                            
214                        }, error: function () {
215                        }
216                    });
217
218
219            },
220  loadPubs: function () {
221 
222                var self = this;
223
224                $.ajax(
225                    {
226                        type: "GET"
227                        , url: "/" + _spPageContextInfo.currentCultureName.toLowerCase().split('-')[0] + "/research-and-studies/_api/web/lists/getByTitle('Publications')/items?$select=ID,Title,NavigationURL,PublishDate,Source/Title,CoverLnk&$expand=Source&$orderby=PublishDate desc&$top=3"
228                        , dataType: "json"
229                        , success: function (result) {
230 
231 
232                                    self.Pubs= result.value
233                               self.Pubs.forEach(function( obj,index){
234                                  
235                               var dateParts =  new Date(obj.PublishDate).format("yyyy-MM-dd").split('-');
236obj.DateString = dateParts[2]+" "+(_spPageContextInfo.currentCultureLCID == 1025 ?months[parseInt(dateParts[1])-1].ar :months[parseInt(dateParts[1])-1].en)+" "+dateParts[0];
237                               })
238                          
239                            
240                        }, error: function () {
241                        }
242                    });
243
244
245            },
246
247 
248
249
250        },
251        mounted: function () {
252            this.Slider= [];
253             this.loadSlider();
254             this.loadNews();
255             this.loadAnnouncments();
256             this.loadAcademicPrograms();
257               this.loadEvents();
258               this.loadPubs();
259            // get_web().get_lists().getByTitle("My List");
260            $("img[dtlnk]").click(function () {
261                window.location.href = $(this).attr("dt-lnk")
262            })
263        }
264    })
265
266})

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.